<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2017-01-17 14:03 GMT+01:00  <span dir="ltr"><<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
ClementBera uploaded a new version of BytecodeSets to project VM Maker:<br>
<a href="http://source.squeak.org/VMMaker/BytecodeSets.spur-cb.63.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/<wbr>VMMaker/BytecodeSets.spur-cb.<wbr>63.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: BytecodeSets.spur-cb.63<br>
Author: cb<br>
Time: 17 January 2017, 2:03:45.537598 pm<br>
UUID: a8ae9a8c-7784-474a-a431-<wbr>fa97ce58cb14<br>
Ancestors: BytecodeSets.spur-cb.62<br>
<br>
Updated SistaV1 encoder for MethodMassage support.<br>
<br>
=============== Diff against BytecodeSets.spur-cb.62 ===============<br>
<br>
Item was added:<br>
+ ----- Method: EncoderForSistaV1>><wbr>genBranchIfInstanceOf:<wbr>distance: (in category 'extended bytecode generation') -----<br>
+ genBranchIfInstanceOf: literalIndex distance: distance<br>
+       self genBranchIfInstanceOf: literalIndex distance: distance orNot: false!<br>
<br>
Item was added:<br>
+ ----- Method: EncoderForSistaV1>><wbr>genBranchIfInstanceOf:<wbr>distance:orNot: (in category 'extended bytecode generation') -----<br>
+ genBranchIfInstanceOf: literalIndex distance: distance orNot: orNot<br>
+       "254            11111110        kkkkkkkk        jjjjjjjj                branch If Not Instance Of Behavior/Array Of Behavior kkkkkkkk (+ Extend A * 256, where Extend A >= 0) distance jjjjjjjj (+ Extend B * 256, where Extend B >= 0)"<br></blockquote><div><br></div><div>maybe the comment could be updated then... if ... or not ...<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+<br>
+       | extendedIndex extendedDistance |<br>
+       (literalIndex < 0 or: [literalIndex > 65535]) ifTrue:<br>
+               [^self outOfRangeError: 'index' index: literalIndex range: 0 to: 65536].<br>
+       (distance < 1 or: [distance > 32767]) ifTrue:<br>
+               [^self outOfRangeError: 'distance' index: distance range: 0 to: 32767].<br>
+       (extendedIndex := literalIndex) > 255 ifTrue:<br>
+               [self genUnsignedSingleExtendA: extendedIndex // 256.<br>
+                extendedIndex := extendedIndex \\ 256].<br>
+       (orNot not or: [(extendedDistance := distance) > 255]) ifTrue:<br>
+               [self genUnsignedSingleExtendB: (distance bitShift: -8) + (orNot not asBit  * 128).<br>
+               extendedDistance := distance bitAnd: 255].<br>
+<br>
+       stream<br>
+               nextPut: 254;<br>
+               nextPut: extendedIndex;<br>
+               nextPut: extendedDistance!<br>
<br>
Item was changed:<br>
  ----- Method: EncoderForSistaV1>><wbr>genBranchIfNotInstanceOf:<wbr>distance: (in category 'extended bytecode generation') -----<br>
  genBranchIfNotInstanceOf: literalIndex distance: distance<br>
+       self genBranchIfInstanceOf: literalIndex distance: distance orNot: true!<br>
-       "254            11111110        kkkkkkkk        jjjjjjjj                branch If Not Instance Of Behavior/Array Of Behavior kkkkkkkk (+ Extend A * 256, where Extend A >= 0) distance jjjjjjjj (+ Extend B * 256, where Extend B >= 0)"<br>
-<br>
-       | extendedIndex extendedDistance |<br>
-       (literalIndex < 0 or: [literalIndex > 65535]) ifTrue:<br>
-               [^self outOfRangeError: 'index' index: literalIndex range: 0 to: 65536].<br>
-       (distance < 1 or: [distance > 32767]) ifTrue:<br>
-               [^self outOfRangeError: 'distance' index: distance range: 0 to: 32767].<br>
-       (extendedIndex := literalIndex) > 255 ifTrue:<br>
-               [self genUnsignedSingleExtendA: extendedIndex // 256.<br>
-                extendedIndex := extendedIndex \\ 256].<br>
-       (extendedDistance := distance) > 255 ifTrue:<br>
-               [self genUnsignedSingleExtendB: (distance bitShift: -8).<br>
-               extendedDistance := distance bitAnd: 255].<br>
-<br>
-       stream<br>
-               nextPut: 254;<br>
-               nextPut: extendedIndex;<br>
-               nextPut: extendedDistance!<br>
<br>
</blockquote></div><br></div></div>