David T. Lewis uploaded a new version of ImageFormat to project VM Maker: http://source.squeak.org/VMMaker/ImageFormat-dtl.24.mcz ==================== Summary ==================== Name: ImageFormat-dtl.24 Author: dtl Time: 13 May 2017, 6:24:46.37 pm UUID: e86c82dd-ca5b-4f79-8c64-4f93ba6b7751 Ancestors: ImageFormat-dtl.23 Additional magic file updates from Subbu http://lists.squeakfoundation.org/pipermail/vm-dev/2017-May/025076.html =============== Diff against ImageFormat-dtl.23 =============== Item was changed: ----- Method: ImageFormat>>printDescriptionOn: (in category 'printing') ----- printDescriptionOn: stream + " + The classic squeak image, aka V3, is 32-bit with magic 6502. The first 64-bit + Squeak image was generated from V3 image made by Dan Ingalls and Ian Piumarta + in 2005. Later, the magic code was changed to 68000. + After full closure support came to Squeak, the magic code changed to 6504 for + 32-bit and 68002 for 64-bit images by setting a capability bit. + + Cog VM introduced a native order for floats under 6505 magic code. Its + corresponding 64b code would have been 68003 but no such image was produced. + Older Interpreter VMs would simply load 6505 by flipping word order back. + + Cog VM also introduced a new object layout for 64-bit images called Spur layout + under a new magic code - 68021. A few images were also generated with 68019, + but this magic is now considered obsolete and deprecated. + " stream nextPutAll: 'a '; nextPutAll: (wordSize * 8) asString; nextPutAll: '-bit '; nextPutAll: (self requiresSpurSupport ifTrue: [ 'Spur' ] ifFalse: [ 'V3' ]); nextPutAll: ' image with '. self requiresClosureSupport ifFalse: [stream nextPutAll: 'no ']. stream nextPutAll: 'closure support and '. self requiresNativeFloatWordOrder ifTrue: [stream nextPutAll: 'float words stored in native platform order'] ifFalse: [stream nextPutAll: 'no native platform float word order requirement']. self requiresSpurSupport ifTrue: [stream nextPutAll: ' using Spur object format'. (self is64Bit and: [self requiresNewSpur64TagAssignment not]) ifTrue: [stream nextPutAll: ' (obsolete)']]. stream nextPutAll: ' ('; nextPutAll: self asInteger asString; nextPut: $). ^ stream ! Item was changed: ----- Method: ImageFormat>>simpleName (in category 'printing') ----- simpleName "Return a simple name for the format, suitable for use as filename or mimetype. + (ImageFormat fromInteger: 6505) simpleName." - (ImageFormat fromInteger: 6500) simpleName." ^String streamContents: [:s | self requiresSpurSupport ifTrue: [ s nextPutAll: 'spur'] + ifFalse: [s nextPutAll: 'squeak']. + self is64Bit ifTrue: [ s nextPutAll: '64']]! - ifFalse: [self requiresClosureSupport - ifTrue: [ s nextPutAll: 'cog'] - ifFalse: [s nextPutAll: 'squeak']]. - self is64Bit ifTrue: [ s nextPutAll: '64']]. - ! |
Free forum by Nabble | Edit this page |