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

commits at source.squeak.org commits at source.squeak.org
Wed Dec 21 13:59:43 UTC 2016


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

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

Name: VMMaker.oscog-cb.2045
Author: cb
Time: 21 December 2016, 2:59:29.957723 pm
UUID: c23c0e96-df64-4990-b40a-d34c40e5c1fa
Ancestors: VMMaker.oscog-nice.2044

use cmacro instead of hand-written constant.

=============== Diff against VMMaker.oscog-nice.2044 ===============

Item was changed:
  ----- Method: SimpleStackBasedCogit>>genExtPushRemoteTempOrInstVarLongBytecode (in category 'bytecode generators') -----
  genExtPushRemoteTempOrInstVarLongBytecode
  	| index |
+ 	^ (byte2 noMask: coInterpreter remoteIsInstVarAccess)
- 	^ (byte2 noMask: 1 << 7)
  		ifTrue: [ self genPushRemoteTempLongBytecode ]
  		ifFalse: 
  			[ index := byte1 + (extA << 8).
  			extA := 0.
  			extB := 0. "don't use flags in the simple cogit"
  			(coInterpreter isReadMediatedContextInstVarIndex: index)
+ 				ifTrue: [self 
+ 							genPushMaybeContextRemoteInstVar: index 
+ 							inObjectAt: byte2 - coInterpreter remoteIsInstVarAccess]
+ 				ifFalse: [self 
+ 							genPushRemoteInstVar: index 
+ 							inObjectAt: byte2 - coInterpreter remoteIsInstVarAccess]]!
- 				ifTrue: [ self genPushMaybeContextRemoteInstVar: index inObjectAt: byte2 - (1 << 7) ]
- 				ifFalse: [ self genPushRemoteInstVar: index inObjectAt: byte2 - (1 << 7) ] ]!

Item was changed:
  ----- Method: SimpleStackBasedCogit>>genExtStorePopRemoteTempOrInstVarLongBytecodePopBoolean: (in category 'bytecode generators') -----
  genExtStorePopRemoteTempOrInstVarLongBytecodePopBoolean: popBoolean
  	| index |
  	extB := 0. "simple cogit don't use the extra flag"
+ 	(byte2 noMask: coInterpreter remoteIsInstVarAccess)
- 	(byte2 noMask: 1 << 7)
  		ifTrue: 
  			[ self genStorePop: popBoolean RemoteTemp: byte1 At: byte2.
  			self cppIf: IMMUTABILITY ifTrue: [ self annotateBytecode: self Label ] ]
  		ifFalse: 
  			[ index := byte1 + (extA << 8).
  			extA := 0.
  			(coInterpreter isWriteMediatedContextInstVarIndex: index)
  				ifTrue: [ self 
  						genStorePop: popBoolean 
  						MaybeContextRemoteInstVar: index 
+ 						ofObjectAt: byte2 - coInterpreter remoteIsInstVarAccess ]
- 						ofObjectAt: byte2 - (1 << 7) ]
  				ifFalse: [ self 
  						genStorePop: popBoolean 
  						RemoteInstVar: index 
+ 						ofObjectAt: byte2 - coInterpreter remoteIsInstVarAccess  ] ].
- 						ofObjectAt: byte2 - (1 << 7)  ] ].
  	^ 0!



More information about the Vm-dev mailing list