SSA IL

Stephen Weeks MLton@sourcelight.com
Tue, 9 Oct 2001 16:11:39 -0700


> This `leak' is just for the backbone of the vector/list.  Are these lists that
> big?
> No, wait, this is bogus.  The `leak' is only for the backbone, and the backbone
> for a list is exactly twice the size any way.  Well, twice if there is an
> extra indirection.  I guess with really big flat elements it could be worse.
> Is this really what is going on in MLton?

NONONO.  The leak is not a bug in MLton.  Is it a programmer error.  The problem
is that if you are creating a whole new program by, say,

	val functions' = Vector.map (functions, fn f => ...)

then the entire vector, functions, is alive until the new vector, functions', is
created.  Thus both the entire source and entire target program are alive
simultaneously.  The problem is not in the backbone, it is in the elements.