[Vm-dev] VM Maker: VMMaker-dtl.388.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Dec 11 16:47:44 UTC 2016


David T. Lewis uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker-dtl.388.mcz

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

Name: VMMaker-dtl.388
Author: dtl
Time: 11 December 2016, 11:42:49.558 am
UUID: 09c15fd6-eb5a-416d-b481-8bdec834b668
Ancestors: VMMaker-dtl.387

VMMaker 4.15.10 - Fix 'debug it' from the menu for V3 images.

Fix primitiveChangeClass by factoring fetchClassOfNonImm: into a version for ClassicObjectMemory that calls fetchClassofNonInt: and a version for NewObjectMemory that retains the oscog implementation.

TODO: The primitive now works as expected for interpreter VM, but fetchClassOfNonImm: should be revisited for StackInterpreter on V3 image (may depend on Spur logic).

=============== Diff against VMMaker-dtl.387 ===============

Item was added:
+ ----- Method: ClassicObjectMemory>>fetchClassOfNonImm: (in category 'object access') -----
+ fetchClassOfNonImm: oop
+ 	"Only integers are immediate"
+ 	<inline: true>
+ 	^self fetchClassOfNonInt: oop!

Item was added:
+ ----- Method: NewObjectMemory>>fetchClassOfNonImm: (in category 'object access') -----
+ fetchClassOfNonImm: oop 
+ 	| ccIndex |
+ 	<inline: true>
+ 	^(ccIndex := (self compactClassIndexOf: oop)) = 0
+ 		ifTrue: [(self classHeader: oop) bitAnd: self allButTypeMask]
+ 		ifFalse: [self compactClassAt: ccIndex]!

Item was changed:
  ----- Method: ObjectMemory>>fetchClassOfNonImm: (in category 'object access') -----
+ fetchClassOfNonImm: oop
+ 	^self subclassResponsibility!
- fetchClassOfNonImm: oop 
- 	| ccIndex |
- 	<inline: true>
- 	^(ccIndex := (self compactClassIndexOf: oop)) = 0
- 		ifTrue: [(self classHeader: oop) bitAnd: self allButTypeMask]
- 		ifFalse: [self compactClassAt: ccIndex]!

Item was changed:
  ----- Method: VMMaker class>>versionString (in category 'version testing') -----
  versionString
  
  	"VMMaker versionString"
  
+ 	^'4.15.10'!
- 	^'4.15.9'!



More information about the Vm-dev mailing list