<div dir="ltr"><div>... at <a href="http://www.mirandabanda.org/files/Cog/VM/VM.r3364">http://www.mirandabanda.org/files/Cog/VM/VM.r3364</a></div><div><br></div><div>CogVM binaries as per VMMaker.oscog-eem.1331/r3364</div><div><br></div><div>General:</div><div>Merge with Pharo (with VMMaker.oscog-EstebanLorenzano.1322).  Changes are null</div><div>to Squeak VM.  Pulled in are conditionally compiled changes for directory &amp;</div><div>file creation (added ceration permissions) and to macro used to read image</div><div>file (for iPhone).</div><div><br></div><div>Cogit:</div><div>Test the outerContext and method for sanity in the machine code closure value</div><div>primitive(s).  Spur must check to fail in the presence of forwarders.</div><div><br></div><div>To support the primitive provide TstCqR support on x86 (already exists on ARM),</div><div>and use it to implement genJumpImmediate: et al.</div><div><br></div><div>Use the new genJumpImmediate: et al in various basic access primitives.  Good</div><div>for a 5%-10% increase in 0 tinyBenchmarks on Spur.</div><div><br></div><div>Guard access to the inline cache tag in PICs in</div><div>GC routines by inlineCacheTagsMayBeObjects.</div><div><br></div><div>Spur:</div><div>Spur must follow forwarders in machine code before it follows forwarders in</div><div>stack pages (since stack page parsing examines methods).</div><div><br></div><div>Further, closed PICs that refer to unmarked objects must be discarded in</div><div>freeUnmarkedMachineCode.  And closedPICRefersToUnmarkedObject: should guard</div><div>against an immediate selector.</div><div>-- <br></div><div class="gmail_signature">best,<div>Eliot</div></div>
</div>