[Vm-dev] A BlockClosure optimization

Igor Stasenko siguctua at gmail.com
Sun May 16 05:41:00 UTC 2010


And here's a plan, what i wanna try to do, when analysing the block node:

- if block node is inlined,
- check if it having loops (whileTrue/whileFalse)
- check if inside a loop it having a closure
- for any of such closures, define a temp in a block node's scope
(which has to be the scope of outer block, since our block is inlined)
- replace a closure blockNode in AST tree with nodes equivalent to a
following: (temp ifNil: [ temp := <closure blockNode> ])

-- 
Best regards,
Igor Stasenko AKA sig.


More information about the Vm-dev mailing list