[squeak-dev] Moving HydraVM discussions to other list(s)?

John M McIntosh johnmci at smalltalkconsulting.com
Mon Feb 25 05:05:01 UTC 2008


Well as I become one of these older grey bearded smalltalkers I feel  
obligated to reply.
The squeak-developer list (note the developer) started over 10++ years  
back, in checking out of curiosity the oldest, well second oldest  
email in my mail system
is  Hmmm....   a rather deep discussion between Eliot, Dan and Ian about

"Implementing unwind-protect without virtual machine modification"

Certainly any discussion of deep internals is in the original spirit  
of the list.  I'll remind folks that via http://wiki.squeak.org/squeak/608
there are quite a number of more novice lists and special interest  
ones.   There is the developer list, but in general that sees less  
traffic  and
I think there is general interest in the Hydra VM since lots of people  
are running around now with dual cpu machines wanting to exploit their
performance.


Date: Thu, 07 Aug 1997 09:32:39 -0700
From: Eliot & Linda <elcm at pacbell.net>
Subject: Implementing unwind-protect without virtual machine  
modification

> Hmmm....
>
> 	I had also been of the opinion that one needed VM modifications to
> catch unwind-protects.  But I think I'm right in thinking one could  
> use
> the existing cannotReturn mechanism, not that this is efficient or
> without its own complications.  Here's a sketch:
>
> I'll use the VSE/ANSI syntax (its less verbose and more abstact).
>
>
> In the no-VM-modifications scheme ifCurtailed: (valueOnUnwindDo:) and
> ensure: (valueNowOrOnUnwindDo:) must prevent ^-returns from happening,
> and interpret them later.  e.g.
>
> BlockClosure methods for unwind protection
> ifCurtailed: aBlock
>    | savedSender result |
>    savedSender := self home sender.
>    "Set my sender's sender to nil so that any attempt to return
>     from self
>    self home setSender: nil.
>    result := self value.
>    self home setSender: savedSender.
>    ^result
>
>
> Now...
>
> The cannotReturn method needs to search for all ifCurtailed: and  
> ensure:
> contexts along the chain, following the stack through savedCaller,
> presumably by assuming that savedCaller is accessible as a temporary
> with a known index (i.e. in the above aContext tempAt: 2).
>
> The same indirect stack tracing (through savedSender) must be used  
> when
> searching for exception handlers.
>
>
> So Dan's context design looks like its more than sufficient.  However,
> the above implementation would probably cause havoc in an  
> implementation
> that mapped contexts to real stack frames, and is unlikely to be
> efficient.
> _______________,,,^..^,,,_______________
> Eliot



On Feb 24, 2008, at 6:49 PM, Igor Stasenko wrote:

> Hello there,
>
> To all users of this list:
> - do you think that this list is wrong place for discussions around  
> HydraVM?
> - if so, where you think it would be better, at vm-dev list, or at
> separate list?
>
> Currently i'm very active in this area and understand, that not all
> people in this list, interesting  in it. So, maybe it's time to move
> to another place?
>
> -- 
> Best regards,
> Igor Stasenko AKA sig.
>

--
= 
= 
= 
========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
= 
= 
= 
========================================================================





More information about the Squeak-dev mailing list