local refs

Matthew Fluet fluet@CS.Cornell.EDU
Wed, 5 Dec 2001 21:22:58 -0500 (EST)


> program doesn't terminate.  So, if you really wanted to do (2) in a
> context where Thread primitives existed, you need to do liveness analysis
> of the potentially localizable refs, and forbid localization of any live
> across a block with a thread copy. (Note, this probably wouldn't be too
> bad; there are generally only a few localizable refs, so doing the
> propagation isn't too bad.) 

Ugh, this gets worse.  Not only must you forbid localization of refs live
across a block with a thread copy, you must forbid localization of refs
live across a non tail call to a function which either directly or
indirectly does a Thread_copy.