MLton.size bug
Stephen Weeks
MLton@sourcelight.com
Fri, 27 Apr 2001 13:52:19 -0700 (PDT)
> > One thing we have to do is to figure why the hash table size is zero in the
> > compiler -v3 output. I'm not sure whether it's for the same reason as your
> > example above or some other funny interaction with the useless analysis. If the
> > former, then we may need to rethink size altogether.
>
> I believe that it because of the remove-useless pass. I tried the
> following program:
...
> So, by the time the useless analysis is run, we've already forced the
> MLton_size call to return 0.
Makes sense. The only thing I see to do for now is to treat the call to size
as if it destructs -- i.e. treat size like poly equal in remove-unused.
BTW, I noticed a flaw in my other proposed bug fix from yesterday for
remove-unused.
> It should be a simple fix to add the
> constructor argument type to the conInfo field and have decon recur on this
> type.
You will have to memoize the types that have been called by MLton_equal, just as
is done in poly-equal.