<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 4, 2016 at 4:22 PM,  <span dir="ltr">&lt;<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style: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.1897.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1897.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: VMMaker.oscog-eem.1897<br>
Author: eem<br>
Time: 4 July 2016, 4:21:58.850141 pm<br>
UUID: c3215ac9-9da7-4d9d-9f40-a6ef2eaaa861<br>
Ancestors: VMMaker.oscog-cb.1896<br>
<br>
Fix genJumpIsSmallIntegerValue:scratch: for all memory managers and hence fix SmallInteger minVal // -1.<br></blockquote><div><br></div><div>Damn, I missed this:</div><div><br></div><ul style="margin:0.3em 0px 0px 1.6em;padding:0px;color:rgb(37,37,37);font-family:sans-serif;font-size:14px"><li style="margin-bottom:0.1em"><a href="https://en.wikipedia.org/wiki/January_22" title="January 22" style="text-decoration:none;color:rgb(11,0,128);background-image:none">January 22</a> – In this date&#39;s issue of the journal <i>Engineering</i>, the word &quot;<a href="https://en.wikipedia.org/wiki/Computer" title="Computer" style="text-decoration:none;color:rgb(11,0,128);background-image:none">computer</a>&quot;, is first used to refer to a mechanical calculation device, according to the <i>Oxford English Dictionary</i>.<sup id="cite_ref-1" class="" style="line-height:1;white-space:nowrap;font-size:14px"><a href="https://en.wikipedia.org/wiki/1897#cite_note-1" style="text-decoration:none;color:rgb(11,0,128);background-image:none">[1]</a></sup></li></ul><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
=============== Diff against VMMaker.oscog-cb.1896 ===============<br>
<br>
Item was changed:<br>
  ----- Method: CogObjectRepresentationFor32BitSpur&gt;&gt;genJumpIsSmallIntegerValue:scratch: (in category &#39;compile abstract instructions&#39;) -----<br>
  genJumpIsSmallIntegerValue: aRegister scratch: scratchReg<br>
        &quot;Generate a test for aRegister containing an integer value in the SmallInteger range, and a jump if so, answering the jump.<br>
         c.f. Spur32BitMemoryManager&gt;&gt;isIntegerValue:&quot;<br>
        &lt;returnTypeC: #&#39;AbstractInstruction *&#39;&gt;<br>
        ^cogit<br>
                MoveR: aRegister R: scratchReg;<br>
+               LogicalShiftLeftCq: 1 R: scratchReg;<br>
-               ArithmeticShiftRightCq: 1 R: scratchReg;<br>
                XorR: aRegister R: scratchReg;<br>
                JumpGreaterOrEqual: 0!<br>
<br>
Item was changed:<br>
  ----- Method: CogObjectRepresentationFor64BitSpur&gt;&gt;genJumpIsSmallIntegerValue:scratch: (in category &#39;compile abstract instructions&#39;) -----<br>
  genJumpIsSmallIntegerValue: aRegister scratch: scratchReg<br>
        &quot;Generate a test for aRegister containing an integer value in the SmallInteger range, and a jump if so, answering the jump.<br>
         c.f. Spur64BitMemoryManager&gt;&gt;isIntegerValue:&quot;<br>
        &lt;returnTypeC: #&#39;AbstractInstruction *&#39;&gt;<br>
        ^cogit<br>
                MoveR: aRegister R: scratchReg;<br>
+               ArithmeticShiftRightCq: 63 - objectMemory numTagBits R: scratchReg;<br>
-               ArithmeticShiftRightCq: 64 - objectMemory numTagBits R: scratchReg;<br>
                AddCq: 1 R: scratchReg;<br>
                AndCq: 1 &lt;&lt; (objectMemory numTagBits + 1) - 1 R: scratchReg; &quot;sign and top numTags bits must be the same&quot;<br>
                CmpCq: 1 R: scratchReg;<br>
                JumpLessOrEqual: 0!<br>
<br>
Item was changed:<br>
  ----- Method: CogObjectRepresentationForSqueakV3&gt;&gt;genJumpIsSmallIntegerValue:scratch: (in category &#39;compile abstract instructions&#39;) -----<br>
  genJumpIsSmallIntegerValue: aRegister scratch: scratchReg<br>
        &quot;Generate a test for aRegister containing an integer value in the SmallInteger range, and a jump if so, answering the jump.<br>
         c.f. ObjectMemory&gt;&gt;isIntegerValue:&quot;<br>
        &lt;returnTypeC: #&#39;AbstractInstruction *&#39;&gt;<br>
        ^cogit<br>
                MoveR: aRegister R: scratchReg;<br>
+               LogicalShiftLeftCq: 1 R: scratchReg;<br>
-               ArithmeticShiftRightCq: 1 R: scratchReg;<br>
                XorR: aRegister R: scratchReg;<br>
                JumpGreaterOrEqual: 0!<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>