[Vm-dev] VM Maker: Cog-eem.228.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Dec 2 02:23:18 UTC 2014
Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.228.mcz
==================== Summary ====================
Name: Cog-eem.228
Author: eem
Time: 1 December 2014, 6:23:02.981 pm
UUID: 38634ea7-6be8-4325-acf8-fd06db4265c5
Ancestors: Cog-eem.227
Spur 32- to 64-bit bootstrap:
Remember to install SmallFloat64 in the first class
table page at smallFloatTags, replacing the entry
for SmallInteger in the 32-bit system (because in
32-bits SmallInteger can have tag 1 or tag 3).
=============== Diff against Cog-eem.227 ===============
Item was changed:
----- Method: Spur32to64BitBootstrap>>alterSystem (in category 'bootstrap image') -----
alterSystem
+ self installSmallFloatInClassTable.
self nilWordSize!
Item was added:
+ ----- Method: Spur32to64BitBootstrap>>installSmallFloatInClassTable (in category 'bootstrap image') -----
+ installSmallFloatInClassTable
+ | firstPage |
+ firstPage := heap64 fetchPointer: 0 ofObject: heap64 classTableRootObj.
+ heap64
+ storePointer: heap64 smallFloatTag
+ ofObject: firstPage
+ withValue: self smallFloatClass!
Item was added:
+ ----- Method: Spur32to64BitBootstrap>>smallFloatClass (in category 'bootstrap image') -----
+ smallFloatClass
+ | sf64sym |
+ sf64sym := self findSymbol: #SmallFloat64.
+ heap64 allObjectsDo:
+ [:o|
+ ((heap64 isPointersNonImm: o)
+ and: [(heap64 numSlotsOf: o) > interpreter32 classNameIndex
+ and: [(interpreter64 addressCouldBeClassObj: o)
+ and: [(heap64 fetchPointer: interpreter32 classNameIndex ofObject: o) = sf64sym]]]) ifTrue:
+ [^o]].
+ ^nil!
More information about the Vm-dev
mailing list