VM Maker: VMMaker.oscog-eem.2895.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-eem.2895.mcz

commits-2
 
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]!