local refs

Stephen Weeks MLton@sourcelight.com
Mon, 3 Dec 2001 10:40:04 -0800


> Although, it shouldn't make a speed difference.  We needed to traverse the
> dominator tree to compute the join points, so the promise has been forced;
> i.e., we aren't doing another dominator calculation.

Ahh.  OK.

> > 2. In the following program, why isn't func (aka global_17) localized?
> > I looked at the diagnostics and global_17's isLocal = true, but for
> > some reason, it still appears in the output.
> 
> It's the handler problem; the current incarnation does not rewrite
> handlers, so if we try to carry a ref in args of a handler block, we punt
> and mark the ref as nonLocal (after having printed the diagnostics). See
> the code marked (* Compensate for handlers *). 

Makes sense.