[squeak-dev] new Cog VMs available

Eliot Miranda eliot.miranda at gmail.com
Tue Mar 12 00:53:53 UTC 2013


at http://www.mirandabanda.org/files/Cog/VM/VM.r2701/.

CogVM binaries as per VMMaker.oscog-eem.272/r2701.

Fix unknownBytecode processing to leave pc at unknown bytecode.
Fix case of process switch to an interior frame.
Fix some assert function signatures in the stack vm.
Use symbols for types instead of strings in stack page funcs.

Fix the become issue where methods that are identical are failing
the code test because their penultimate literals are different objects.
Add a flag "cmUsesPenultimateLit" to jitted methods, stealing bits
from stackCheckOffset (which was way larger than needed).
Shrink stackCheckOffset to 12 bits (still an order of magnitude larger
than needed) and add an error check on assigning it.
Also add a check for max method size (2^16-1 bytes) and refuse to
jit a method that generates too much code.
When comparing code, use the cmUsesPenultimateLit flag to decide
if comparison includes penultimate lit or not.

This is mildly insane, but the VM really doesn't know about the
penultimate literal and it shouldn't depend on knowing it can be
ignored.  Note that the CoInterpreter knows about the last literal;
it uses this in supersends.  With this hack, Pharo's condenseSources
works.
-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130311/03ce9859/attachment.htm


More information about the Squeak-dev mailing list