"root" of ChunkPerFunc chunk

Stephen Weeks MLton@sourcelight.com
Thu, 2 Nov 2000 09:50:40 -0800 (PST)


> My impression was that he was worrying about the destination (not the source)
> of the add still being alive in the handler.  I.e., if I do
> 	x := y + z
> then the spec says that the raise happens in the + (before the assignment) so
> if anything in a handler is closed over x, it must see the old value.
> If the input to the x86-codegen re-uses registers (so you really have to
> consider assignments as assignments rather than binding forms) then you really
> do have to take this into account, but other wise you don't.
> Am I missing something?

No.  Although the source fragment you show is not exactly the problem, since
right now assignments to references always happen to memory locations.  But
essentially the same problem can happen with variable bindings that get turned
into assignments in the machine IL.