[FIX][ENH]Exception handling 'unwind' behaviour fixed
Tim Rowledge
tim at sumeru.stanford.edu
Thu Sep 7 02:08:12 UTC 2000
Ian Piumarta <Ian.Piumarta at inria.fr> is widely believed to have written:
> If your scheme boils down to:
>
> - being able to "mark" any Context needing "special" treatment on
> return by swizzling its return address to point a trap routine
> (saving the original PC for later retrieval in the handler),
>
> and
>
> - never "marking" for "special" treatment any Context that returns
> locally unless it's known with certainty that there's an unwind
> handler involved (or a Context stabilisation or a sender Context
> with a modified pc -- but these don't affect your exception stuff),
>
> then J3's happy.
Good, cos it's easy. Apart from anything else, the latter should never
happen since only non-local returns cause unwind behaviour. The only
trick is in the send code, where the context frames need to be marked if
the method is marked. Given what I can glean from your J3 doc, I guess
that this means that we have to modify that to mean the frame is marked
if (the sender frame is marked) | (the new method is marked)
Seems pretty simple to me.
>
> > The code is completely platform agnostic
>
> You mean... it denies the existence of any kind of platform
> whatsoever? ;-)
That would be platform _atheist_. Agnostic is uncertain or uncaring...
agnostic
adj. uncertain of all claims to knowledge
tim
--
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Strange OpCodes: SARTRE: (Statement has no purpose)
More information about the Squeak-dev
mailing list
|