[Vm-dev] new Cog VMs available

Eliot Miranda eliot.miranda at gmail.com
Tue Mar 5 22:45:15 UTC 2013


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

CogVM binaries as per VMMaker.oscog-eem.270/r2697

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.

Fix bug in primitiveClone/cloneContext: that causes the copy to be a word
short.
Use isPointerNonInt: and isContextNonInt: in a few places.

Implement unknownBytecode.  Send unknownBytecode to the activeContext on
unknown bytecode if the selector is in the specialObjectsArray.

Fix page size bug in platforms/Cross/vm/sqHeapMap.c.

-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20130305/6d826a06/attachment.htm


More information about the Vm-dev mailing list