POPL

Stephen Weeks MLton@sourcelight.com
Tue, 23 Jan 2001 16:03:30 -0800 (PST)


> re  language  support  for  property  lists, are you thinking of some kind of
> weak-pointer thing, or something more than  that?   The  weak-pointer  notion
> (jazzed  up for what property lists need) would make sense, but I don't think
> I would want more than that built in.

No, I was thinking of something so that we don't pay for some or all of

* the ref cell for the list ref
* the list headers
* the indirection for the exception
* the exeption header
* the exception tag

Some amount of flattening would help, but we also need whole-program analysis of
property list length could probably determine a maximum length on some of the
lists and replace them by single slots or arrays.  A really cool analysis might
even remove some exception tags.

> As to Wang, yes, it is all in MLton.  He does CPS-conversion so that there is
> no use of the stack (so that his GC can scan the continuation).

So he heap allocates the stack?

> As  to  the number of object types before the I-cache would cause problems, I
> would guess a MUCH smaller number.  Probably a few hundred.  The size of  the
> L-1 I-cache is only 8 or 16K bytes.

OK.  It could be an issue then.  It would be interesting to get some numbers on
the distribution of objects for large programs.  I'll take a look at Dan's paper
and maybe ping him.