[squeak-dev] Re: About on:do:

Paolo Bonzini bonzini at gnu.org
Fri Jul 25 11:35:37 UTC 2008


>> BTW, this is a really nice implementation by Andreas and Dan.  In VW 
>> there are bits in the method header because primitives are not stored 
>> in the method header but in the bytecode.  But this means we need a 
>> little bit more machinery.  Using the primitive field is very simple 
>> and just as effective
> 
> Thanks.!

Just to chime in, GNU Smalltalk also uses a similar trick but with 
pragmas.  Methods with pragmas are marked with a special flag value, and 
the #scanForAttribute:ifFound: method on ContextPart looks for that flag 
value before looking for a pragma in the method.  It is probably less 
efficient than Squeak, but applies to all pragmas (at some point I had 
an idea about using pragmas to support security policies).

The handling of unwind methods instead is completely different, 99% of 
it residing in the implementation of the VM's return-from-method bytecode.

Paolo



More information about the Squeak-dev mailing list