RSSA LimitCheck transfer
Stephen Weeks
MLton@sourcelight.com
Mon, 7 Jan 2002 19:00:21 -0800
So your approach is to keep the frontier/limit computation implicit,
but to make the two labels explicit, right? That sounds fine to me.
This would require adding a Runtime variant to Rssa.Block.Kind.t and
making the limit check transfer look like
| LimitCheck of {failure: Label.t, (* of Runtime kind *)
kind: LimitCheck.t,
success: Label.t} (* of Normal kind *)
Here, the failure label goto's the success label.
This is a nice intermediate position that avoids all the complexities
of exposing frontier and limit in MACHINE.