David T. Lewis uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-dtl.656.mcz
==================== Summary ====================
Name: Kernel-dtl.656 Author: dtl Time: 7 December 2011, 7:32:57.155 pm UUID: ddfcad11-16e3-4649-9bda-5fa0dc8254e1 Ancestors: Kernel-dtl.655
For Squeak 4.3 release code freeze, temporarily revert previous ReferenceStream changes due to unresolved issues (see http://lists.squeakfoundation.org/pipermail/squeak-dev/2011-December/162386....). The updates will be reintroduced following the Squeak 4.3 release.
Packages affected: Kernel-Objects System-Object Storage Tests-Object Storage
=============== Diff against Kernel-dtl.655 ===============
Item was changed: ----- Method: Object>>storeDataOn: (in category 'objects from disk') ----- storeDataOn: aDataStream "Store myself on a DataStream. Answer self. This is a low-level DataStream/ReferenceStream method. See also objectToStoreOnDataStream. NOTE: This method must send 'aDataStream beginInstance:size:' and then (nextPut:/nextPutWeak:) its subobjects. readDataFrom:size: reads back what we write here." | cntInstVars cntIndexedVars |
cntInstVars := self class instSize. cntIndexedVars := self basicSize. aDataStream beginInstance: self class size: cntInstVars + cntIndexedVars. 1 to: cntInstVars do: [:i | aDataStream nextPut: (self instVarAt: i)].
"Write fields of a variable length object. When writing to a dummy stream, don't bother to write the bytes" ((aDataStream byteStream class == DummyStream) and: [self class isBits]) ifFalse: [ + 1 to: cntIndexedVars do: + [:i | aDataStream nextPut: (self basicAt: i)]]. + ! - self class isWeak - ifTrue: [ - "For weak classes (for example DependentsArray) write the referenced object only - if referenced from elsewhere in the dumped object graph. - This means, for instance that if we only dump a model, no dependents are stored, - but if we store a view (i.e. a Morph), it is properly handled as a dependent after the object graph is revived." - 1 to: cntIndexedVars do: [ :i | - aDataStream nextPutWeak: (self basicAt: i)]] - ifFalse: [ - 1 to: cntIndexedVars do: [ :i | - aDataStream nextPut: (self basicAt: i)]]]!
squeak-dev@lists.squeakfoundation.org