[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