<div dir="ltr">Hi Nicolas,<div><br></div><div>   just a couple of niggles...</div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Nov 13, 2016 at 1:27 AM,  <span dir="ltr"><<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>></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>
Nicolas Cellier uploaded a new version of VMMaker to project VM Maker:<br>
<a href="http://source.squeak.org/VMMaker/VMMaker.oscog-nice.1988.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/<wbr>VMMaker/VMMaker.oscog-nice.<wbr>1988.mcz</a><br>
<br>
==================== Summary ====================<br>
<br></blockquote><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">Item was changed:<br>
  ----- Method: Spur32BitMemoryManager>><wbr>integerValueOf: (in category 'immediates') -----<br>
  integerValueOf: oop<br>
        "Translator produces 'oop >> 1'"<br>
+       ^(oop >> 31) = 1 "tests top bit"<br>
-       ^(oop bitShift: -31) = 1 "tests top bit"<br>
                ifTrue: "negative"<br>
+                       [((oop >> 1) bitAnd: 16r3FFFFFFF) - 16r3FFFFFFF - 1  "Faster than -16r40000000 (a LgInt)"]<br>
-                       [((oop bitShift: -1) bitAnd: 16r3FFFFFFF) - 16r3FFFFFFF - 1  "Faster than -16r40000000 (a LgInt)"]<br>
                ifFalse: "positive"<br>
+                       [oop >> 1]!<br>
-                       [oop bitShift: -1]!<br>
<br>
Item was changed:<br>
  ----- Method: Spur64BitMemoryManager>><wbr>integerValueOf: (in category 'immediates') -----<br>
  integerValueOf: oop<br>
        "Translator produces 'oop >> 3'"<br>
+       ^(oop >> 63) = 1 "tests top bit"<br>
-       ^(oop bitShift: -63) = 1 "tests top bit"<br>
                ifTrue: "negative"<br>
+                       [((oop >> self numTagBits) bitAnd: 16r1FFFFFFFFFFFFFFF) - 16r1FFFFFFFFFFFFFFF - 1  "Faster than -16r4000000000000000 (a LgInt)"]<br>
-                       [((oop bitShift: self numTagBits negated) bitAnd: 16r1FFFFFFFFFFFFFFF) - 16r1FFFFFFFFFFFFFFF - 1  "Faster than -16r4000000000000000 (a LgInt)"]<br>
                ifFalse: "positive"<br>
+                       [oop >> self numTagBits]!<br>
-                       [oop bitShift: self numTagBits negated]!<br></blockquote><div><br></div><div>These two methods above are simulation-only.  The CCodeGenerator generates  'oop >> 1' for them.  You've replaced the bitShift:'s (which are correct) by >>'s and <<'s (which are also correct) which are slower.  I'm going to revert these changes.  If you have a good reason for using the slower form please explain.</div><div><br></div></div><div class="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>