<div dir="ltr">Hello,<div><br></div><div>If I understand correctly now you have a working StackInterpreter with a Spur image. I wonder, as Spur is both compatible for 32 and 64 bits, how far are we from a Stack VM with a 64 bits image ? It shouldn&#39;t be so much work. I&#39;m not talking about the JIT of course.<br>

<br></div><div>Another question in the same direction, I saw on the Bochs website that their simulator now also supports 64 bits. Do you think if someone try to port Cog on 64bits he should try to use Bochs in 64 bits mode with the same plugin as we have, or he should do another plugin for another simulator ?</div>

<div><br></div><div>Anyway I&#39;m amazed by the speed at which you implement Spur :).</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/12  <span dir="ltr">&lt;<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:<br>
<a href="http://source.squeak.org/VMMaker/VMMaker.oscog-eem.453.mcz" target="_blank">http://source.squeak.org/VMMaker/VMMaker.oscog-eem.453.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: VMMaker.oscog-eem.453<br>
Author: eem<br>
Time: 11 October 2013, 5:19:39.495 pm<br>
UUID: 1510990d-a971-41cc-8a66-bc65a160454a<br>
Ancestors: VMMaker.oscog-eem.452<br>
<br>
Oops.  Some stragglers.   Now gcc3x-interp.c is generated for<br>
StackInterpreter + Spur.<br>
<br>
=============== Diff against VMMaker.oscog-eem.452 ===============<br>
<br>
Item was added:<br>
+ ----- Method: Spur32BitMMLESimulator&gt;&gt;isNonIntegerObject: (in category &#39;object testing&#39;) -----<br>
+ isNonIntegerObject: oop<br>
+       &quot;This list records the valid senders of isNonIntegerObject: as we replace uses of<br>
+         isNonIntegerObject: by isNonImmediate: where appropriate.&quot;<br>
+       (#(     on:do: &quot;from the dbeugger&quot;<br>
+               reverseDisplayFrom:to:<br>
+               primitiveObjectAtPut<br>
+               isCogMethodReference:) includes: thisContext sender method selector) ifFalse:<br>
+               [self halt].<br>
+       ^super isNonIntegerObject: oop!<br>
<br>
Item was added:<br>
+ ----- Method: SpurMemoryManager class&gt;&gt;additionalHeadersDo: (in category &#39;translation&#39;) -----<br>
+ additionalHeadersDo: aBinaryBlock<br>
+       &quot;Evaluate aBinaryBlock with the names and contents of<br>
+        any additional header files that need to be generated.&quot;!<br>
<br>
Item was changed:<br>
  ----- Method: SpurMemoryManager&gt;&gt;isNonIntegerObject: (in category &#39;object testing&#39;) -----<br>
  isNonIntegerObject: oop<br>
-       &quot;This list records the valid senders of isNonIntegerObject: as we replace uses of<br>
-         isNonIntegerObject: by isNonImmediate: where appropriate.&quot;<br>
-       (#(     on:do: &quot;from the dbeugger&quot;<br>
-               reverseDisplayFrom:to:<br>
-               primitiveObjectAtPut<br>
-               isCogMethodReference:) includes: thisContext sender method selector) ifFalse:<br>
-               [self halt].<br>
        ^(oop bitAnd: 1) = 0!<br>
<br>
</blockquote></div><br></div>