[Vm-dev] Eliot's BlockClosure model questions

Clément Bera bera.clement at gmail.com
Mon Jul 29 08:54:08 UTC 2013


Hello guys,

I was looking recently at the blockClosure model of Eliot in Pharo/Squeak
and the blockClosure model of VisualWorks and I have a few questions.

- Why Pharo/Squeak does not have compiled block as in VW and has the block
byte code in the enclosing method ? Is it to save memory ? Would it worth
it to implement CompiledBlock in term of speed and memory consumption ?

- Why Pharo/Squeak context have this variable closureOrNil instead of
having the closure in the receiver field as in VW ? Is it an optimization
because there are a lot of access to self and instance variables in the
blocks in Pharo/Squeak ? Because if I'm correct it uses 1 more slot per
stack frame to have this.

- Lastly, does VW have the tempVector optimization for escaping write
temporaries in their blockClosure ? It seems they have not (I don't see any
reference to it in VW 7). Did Pharo/Squeak blocks earns a lot of speed or
memory with this optimization ?

Thank you for any answer.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20130729/310baca1/attachment.htm


More information about the Vm-dev mailing list