VM Maker: VMMaker.oscog-cb.2151.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: VMMaker.oscog-cb.2151.mcz

commits-2
 
ClementBera uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-cb.2151.mcz

==================== Summary ====================

Name: VMMaker.oscog-cb.2151
Author: cb
Time: 13 March 2017, 6:10:59.621322 pm
UUID: 8ab2036a-1289-4814-b7a0-da58ae42d82b
Ancestors: VMMaker.oscog-eem.2150

Fixed a bug where directed super send byte was leaking numExtB, leasing to the next instruction with ExtB being incorrectly interpreted

=============== Diff against VMMaker.oscog-eem.2150 ===============

Item was changed:
  ----- Method: StackInterpreter>>extSendSuperBytecode (in category 'send bytecodes') -----
  extSendSuperBytecode
  "239 11101111 i i i i i j j j
  ExtendB < 64
  ifTrue: [Send To Superclass Literal Selector #iiiii (+ Extend A * 32) with jjj (+ Extend B * 8) Arguments]
  ifFalse: [Send To Superclass of Stacked Class Literal Selector #iiiii (+ Extend A * 32) with jjj (+ (Extend B bitAnd: 63) * 8) Arguments]"
  | byte |
  byte := self fetchByte.
  messageSelector := self literal: (byte >> 3) + (extA << 5).
  extA := 0.
  BytecodeSetHasDirectedSuperSend ifTrue:
  [extB >= 64 ifTrue:
  [argumentCount := (byte bitAnd: 7) + (extB - 64 << 3).
  extB := 0.
+ numExtB := 0.
  ^self directedSuperclassSend]].
  argumentCount := (byte bitAnd: 7) + (extB << 3).
  extB := 0.
  numExtB := 0.
  self superclassSend!