[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