Oct. 2, 2008
9:16 p.m.
I can supply a built VM if anyone wants to try it immediately. If not I'll package one up after finishing tidying up. Looking at the bytecodes, they're suppressing context recycling whenever a closure is created. The only reason that closures refer to their surrounding contexts is to support ^ returns from blocks. With two more context creation bytecodes we should allow all contexts to be recycled except the outer method context when there's a block that ^ returns. Such optimisation can wait though, especially as it would involve removing some of Eliot's sanity checking which may be useful when adapting the image to use these bytecodes. Bryce