[Vm-dev] VM Maker: VMMaker.oscog-cb.2151.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Mar 14 01:12:00 UTC 2017


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!



More information about the Vm-dev mailing list