[LMH]Re: CATCH/THROW?

Steve Krueger stevelisp@grape-krueger.com
Thu Jul 24 17:57:01 2003


Yes, I did remember the VM1 catch/throw/unwind-protect.  Sorry.  That's 
what I get for giving a quick answer off the top of my head instead of 
cracking the manuals.

The description of catch/throw/etc. in SSDN2 is actually quite good.

Allastair, do you think you could send a disassembly of the function in 
question.  Maybe we can work out the actions of %unwind-protect-continue 
and %unwind-protect-cleanup by looking at how they are used in the function.

    -Steve



Paul Fuqua wrote:

>    Date: Wed, 23 Jul 2003 23:04:42 -0500
>    From: Steve Krueger <s-krueger@sbcglobal.net>
>    
>    I think catch/throw/unwind-protect is an area that changed somewhat in 
>    VM2 because the call frame changed.
>
>A lot, actually.  We divorced catch/throw from call/return, though both
>use the stack.
>    
>    A catch is an open (in progress and not yet called) frame on the stack 
>    with the function being a special UCODE-ENTRY.
>
>Um, that's VM1, not VM2.  (VM2 doesn't have open frames.)
>  
>