[Vm-dev] VM Maker: VMMaker.oscog-eem.2895.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Nov 24 02:15:25 UTC 2020


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2895.mcz

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

Name: VMMaker.oscog-eem.2895
Author: eem
Time: 23 November 2020, 6:15:14.771492 pm
UUID: b23435ec-e114-4c55-9349-24ab4b95baec
Ancestors: VMMaker.oscog-eem.2894

Avoid really ugly generated code for InterpreterPlugin>>sizeField:.

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

Item was changed:
  ----- Method: InterpreterPlugin>>sizeField: (in category 'alien support') -----
  sizeField: alienOop
  	"Answer the size field of an alienOop which is assumed to be an Alien of at least 8 bytes (32-bits) or 16 bytes (64 bits)"
  	<inline: true>
+ 	^self cCode:
+ 			[self longAt: alienOop + interpreterProxy baseHeaderSize]
+ 		inSmalltalk:
+ 			[| field |
+ 			 field := interpreterProxy longAt: alienOop + interpreterProxy baseHeaderSize.
+ 			 interpreterProxy wordSize = 8
+ 				ifTrue: [field signedIntFromLong64]
+ 				ifFalse: [field signedIntFromLong]]!
- 	^interpreterProxy wordSize = 8
- 		ifTrue: [(interpreterProxy longAt: alienOop + interpreterProxy baseHeaderSize) signedIntFromLong64]
- 		ifFalse: [(interpreterProxy longAt: alienOop + interpreterProxy baseHeaderSize) signedIntFromLong]!



More information about the Vm-dev mailing list