Eliot Miranda uploaded a new version of SMBase to project The Trunk:
http://source.squeak.org/trunk/SMBase-eem.134.mcz==================== Summary ====================
Name: SMBase-eem.134
Author: eem
Time: 22 August 2015, 10:07:47.773 am
UUID: ddf45ed9-070e-4ad7-a5e4-7cda58d32af4
Ancestors: SMBase-bf.133
Reimplement the post-load enumeration of loaded objects to use the revised primitive available in the VMMaker.oscog-eem.1441 /3427 VMs that becomes the loaded segment into an Array of the loaded objects. Hence endMarker disappears and allObjectsDo: is trivially implemented as do: sent to the segment.
This change requires users to upgrade their VMs but as the alternative is crashes in ImageSegment loads this is acceptable. AFAIA this fixes ImageSegments in Spur but they clearly need pounding on.
=============== Diff against SMBase-bf.133 ===============
Item was changed:
----- Method: ImageSegment>>writeForExportOn: (in category '*SMBase-export') -----
writeForExportOn: fileStream
"Write the segment on the disk with all info needed to reconstruct it in a new image. For export. Out pointers are encoded as normal objects on the disk."
- | temp |
state = #activeCopy ifFalse: [self error: 'wrong state'].
- temp := endMarker.
- endMarker := nil.
fileStream fileOutClass: nil andObject: self.
+ "remember extra structures. Note class names."!
- "remember extra structures. Note class names."
- endMarker := temp.
- !