VM Maker: Cog-eem.356.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: Cog-eem.356.mcz

commits-2
 
Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.356.mcz

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

Name: Cog-eem.356
Author: eem
Time: 12 July 2019, 3:36:06.813531 pm
UUID: dedb85c8-a928-45ca-80c7-64fa30107e20
Ancestors: Cog-eem.355

Fix an assertion failure with the 32-to-64-bit bootstrap when SmallFloat64 has been assigned the correct hash but hasn't been added to the class table.

=============== Diff against Cog-eem.355 ===============

Item was changed:
  ----- Method: Spur32to64BitBootstrap>>ensureSmallFloatInClassTable (in category 'bootstrap image') -----
  ensureSmallFloatInClassTable
  | firstClassTablePage smallFloatClass |
  firstClassTablePage := heap64 fetchPointer: 0 ofObject: heap64 classTableRootObj.
  smallFloatClass := self smallFloatClass.
  (heap64 hashBitsOf: smallFloatClass) = heap64 smallFloatTag
  ifTrue:
+ [heap64 nilObject = (heap64 fetchPointer: heap64 smallFloatTag ofObject: firstClassTablePage)
+ ifTrue:
+ [heap64
+ storePointer: heap64 smallFloatTag ofObject: firstClassTablePage withValue: smallFloatClass;
+ setHashBitsOf: smallFloatClass to: heap64 smallFloatTag]
+ ifFalse:
+ [self assert: (heap64 fetchPointer: heap64 smallFloatTag ofObject: firstClassTablePage)
+ = smallFloatClass]]
- [self assert: (heap64 fetchPointer: heap64 smallFloatTag ofObject: firstClassTablePage)
- = smallFloatClass]
  ifFalse:
  [self assert: (heap64 hashBitsOf: smallFloatClass) = 0.
  heap64
  storePointer: heap64 smallFloatTag ofObject: firstClassTablePage withValue: smallFloatClass;
  setHashBitsOf: smallFloatClass to: heap64 smallFloatTag]!