at <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r2697/">http://www.mirandabanda.org/files/Cog/VM/VM.r2697/</a><div><br><div><div>CogVM binaries as per VMMaker.oscog-eem.270/r2697</div><div><br></div><div>Fix the become issue where methods that are identical are failing</div>
<div>the code test because their penultimate literals are different objects.</div><div>Add a flag &quot;cmUsesPenultimateLit&quot; to jitted methods, stealing bits</div><div>from stackCheckOffset (which was way larger than needed).</div>
<div>Shrink stackCheckOffset to 12 bits (still an order of magnitude larger</div><div>than needed) and add an error check on assigning it.</div><div>Also add a check for max method size (2^16-1 bytes) and refuse to</div><div>
jit a method that generates too much code.</div><div>When comparing code, use the cmUsesPenultimateLit flag to decide</div><div>if comparison includes penultimate lit or not.</div><div><br></div><div>This is mildly insane, but the VM really doesn&#39;t know about the penultimate</div>
<div>literal and it shouldn&#39;t depend on knowing it can be ignored.  Note that the</div><div>CoInterpreter knows about the last literal; it uses this in supersends.</div><div>With this hack, Pharo&#39;s condenseSources works.</div>
<div><br></div><div>Fix bug in primitiveClone/cloneContext: that causes the copy to be a word short.</div><div>Use isPointerNonInt: and isContextNonInt: in a few places.</div><div><br></div><div>Implement unknownBytecode.  Send unknownBytecode to the activeContext on</div>
<div>unknown bytecode if the selector is in the specialObjectsArray.</div><div><br></div><div>Fix page size bug in platforms/Cross/vm/sqHeapMap.c.</div></div><div><br></div>-- <br>best,<div>Eliot</div>
</div>