David T. Lewis uploaded a new version of ImageFormat to project VM Maker: http://source.squeak.org/VMMaker/ImageFormat-dtl.15.mcz
==================== Summary ====================
Name: ImageFormat-dtl.15 Author: dtl Time: 1 November 2012, 8:48:57.892 pm UUID: 51e0b41e-bded-4776-b67c-b0e8362dfa97 Ancestors: ImageFormat-dtl.14
Clean up accessors in ImageFileHeader
=============== Diff against ImageFormat-dtl.14 ===============
Item was changed: ----- Method: CogImageFileHeader>>desiredEdenBytes: (in category 'accessing') ----- + desiredEdenBytes: anInteger - desiredEdenBytes: anObject
+ desiredEdenBytes := anInteger! - desiredEdenBytes := anObject!
Item was changed: ----- Method: CogImageFileHeader>>desiredNumStackPages: (in category 'accessing') ----- + desiredNumStackPages: anInteger - desiredNumStackPages: anObject
+ desiredNumStackPages := anInteger! - desiredNumStackPages := anObject!
Item was changed: ----- Method: CogImageFileHeader>>maxExtSemTabSizeSet: (in category 'accessing') ----- + maxExtSemTabSizeSet: anInteger - maxExtSemTabSizeSet: anObject
+ maxExtSemTabSizeSet := anInteger! - maxExtSemTabSizeSet := anObject!
Item was changed: ----- Method: CogImageFileHeader>>unknownShortOrCodeSizeInKs: (in category 'accessing') ----- + unknownShortOrCodeSizeInKs: anInteger - unknownShortOrCodeSizeInKs: anObject
+ unknownShortOrCodeSizeInKs := anInteger! - unknownShortOrCodeSizeInKs := anObject!
Item was changed: ----- Method: ImageFileHeader>>extraVMMemory: (in category 'accessing') ----- + extraVMMemory: anInteger - extraVMMemory: anObject
+ extraVMMemory := anInteger! - extraVMMemory := anObject!
Item was changed: ----- Method: ImageFileHeader>>headerSize: (in category 'accessing') ----- + headerSize: anInteger - headerSize: anObject
+ headerSize := anInteger! - headerSize := anObject!
Item was changed: ----- Method: ImageFileHeader>>imageBytes: (in category 'accessing') ----- + imageBytes: anInteger - imageBytes: anObject
+ imageBytes := anInteger! - imageBytes := anObject!
Item was changed: ----- Method: ImageFileHeader>>imageFormat: (in category 'accessing') ----- + imageFormat: anImageFormat - imageFormat: anObject
+ imageFormat := anImageFormat! - imageFormat := anObject!
Item was changed: ----- Method: ImageFileHeader>>imageHeaderFlags: (in category 'accessing') ----- + imageHeaderFlags: anInteger - imageHeaderFlags: anObject
+ imageHeaderFlags := anInteger! - imageHeaderFlags := anObject!
Item was changed: ----- Method: ImageFileHeader>>lastHash: (in category 'accessing') ----- + lastHash: anInteger - lastHash: anObject
+ lastHash := anInteger! - lastHash := anObject!
Item was changed: ----- Method: ImageFileHeader>>readFieldsFrom:startingAt:headerWordSize:littleEndian: (in category 'reading') ----- readFieldsFrom: aStream startingAt: imageOffset headerWordSize: headerWordSize littleEndian: littleEndian "Read data fields and answer number of bytes read"
+ | remainder screenSizeWord | - | remainder | headerSize := self nextNumber: headerWordSize from: aStream littleEndian: littleEndian. imageBytes := self nextNumber: headerWordSize from: aStream littleEndian: littleEndian. startOfMemory := self nextNumber: headerWordSize from: aStream littleEndian: littleEndian. specialObjectsOop := self nextNumber: headerWordSize from: aStream littleEndian: littleEndian. lastHash := self nextNumber: headerWordSize from: aStream littleEndian: littleEndian. + screenSizeWord := self nextNumber: headerWordSize from: aStream littleEndian: littleEndian. + screenSize := (screenSizeWord >> 16) @ (screenSizeWord bitAnd: 16rFFFF). - self screenSize: (self nextNumber: headerWordSize from: aStream littleEndian: littleEndian). imageHeaderFlags := self nextNumber: headerWordSize from: aStream littleEndian: littleEndian. extraVMMemory := self nextNumber: headerWordSize from: aStream littleEndian: littleEndian. remainder := headerSize - (9 * imageFormat wordSize). self assert: remainder >= 0. "n.b. Mantis 7455 bug in original 64 bit image due to VMM error" ^9 * imageFormat wordSize. !
Item was changed: ----- Method: ImageFileHeader>>screenSize: (in category 'accessing') ----- + screenSize: aPoint - screenSize: anIntegerOrPoint "World extent at the time of image save, packed into 32 bit integer when saved to file header."
"right= windowBounds.x + ((unsigned)savedWindowSize >> 16); bottom= windowBounds.y + (savedWindowSize & 0xFFFF);"
+ screenSize := aPoint - anIntegerOrPoint isInteger - ifTrue: [screenSize := ((anIntegerOrPoint >> 16) @ (anIntegerOrPoint bitAnd: 16rFFFF))] - ifFalse: [screenSize := anIntegerOrPoint] !
Item was changed: ----- Method: ImageFileHeader>>specialObjectsOop: (in category 'accessing') ----- + specialObjectsOop: anInteger - specialObjectsOop: anObject
+ specialObjectsOop := anInteger! - specialObjectsOop := anObject!
Item was changed: ----- Method: ImageFileHeader>>startOfMemory: (in category 'accessing') ----- + startOfMemory: anInteger - startOfMemory: anObject
+ startOfMemory := anInteger! - startOfMemory := anObject!
vm-dev@lists.squeakfoundation.org