Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.207.mcz
==================== Summary ====================
Name: Cog-eem.207 Author: eem Time: 11 September 2014, 12:14:28.942 pm UUID: 90be5077-a86d-4fe4-8b74-7ee5242f3865 Ancestors: Cog-eem.206
Eliminate the isClosureCompiled: anachronism and add the informative bytecodeSetName to CompiledMethod>> headerDescription in the Spur bootstrap.
=============== Diff against Cog-eem.206 ===============
Item was changed: ----- Method: SpurBootstrap class>>categoryForClass:meta:selector: (in category 'method prototype categorization') ----- categoryForClass: className meta: isMeta selector: selector ^(isMeta ifTrue: [{ className. #class. selector }] ifFalse: [{ className. selector }]) caseOf: { [#(Behavior allInstancesOrNil)] -> [#enumerating]. [#(Behavior byteSizeOfInstance)] -> [#'accessing instances and variables']. [#(Behavior byteSizeOfInstanceOfSize:)] -> [#'accessing instances and variables']. [#(Behavior elementSize)] -> [#'accessing instances and variables']. [#(Behavior handleFailingBasicNew)] -> [#private]. [#(Behavior handleFailingBasicNew:)] -> [#private]. [#(Behavior handleFailingFailingBasicNew)] -> [#private]. [#(Behavior handleFailingFailingBasicNew:)] -> [#private]. [#(Behavior identityHash)] -> [#comparing]. [#(Behavior isEphemeronClass)] -> [#testing]. [#(Behavior isImmediateClass)] -> [#testing]. [#(Character identityHash)] -> [#comparing]. [#(Class immediateSubclass:instanceVariableNames:classVariableNames:poolDictionaries:category:)] -> [#'subclass creation']. [#(ClassBuilder superclass:immediateSubclass:instanceVariableNames:classVariableNames:poolDictionaries:category:)] -> [#public]. + [#(CompiledMethod bytecodeSetName)] -> [#accessing]. [#(CompiledMethod class handleFailingFailingNewMethod:header:)] -> [#private]. [#(CompiledMethod class handleFailingNewMethod:header:)] -> [#private]. + [#(CompiledMethod class headerFlagForEncoder:)] + -> [#'method encoding']. + [#(CompiledMethod class installPrimaryBytecodeSet:)] + -> [#'class initialization']. + [#(CompiledMethod class installSecondaryBytecodeSet:)] + -> [#'class initialization']. [#(Context class allInstances)] -> [#enumerating]. [#(Context class allInstancesDo:)] -> [#enumerating]. [#(Context failPrimitiveWith:)] -> [#'system simulation']. [#(Context isPrimFailToken:)] -> [#private]. [#(Context send:to:with:lookupIn:)] -> [#controlling]. [#(ContextPart isPrimFailToken:)] -> [#private]. [#(ContextPart send:to:with:lookupIn:)] -> [#controlling]. - [#(CompiledMethod class headerFlagForEncoder:)] - -> [#'method encoding']. - [#(CompiledMethod class installPrimaryBytecodeSet:)] - -> [#'class initialization']. - [#(CompiledMethod class installSecondaryBytecodeSet:)] - -> [#'class initialization']. [#(EncoderForV3 computeMethodHeaderForNumArgs:numTemps:numLits:primitive:)] -> [#'method encoding']. [#(EncoderForV3PlusClosures genCallPrimitive:)] -> [#'bytecode generation']. [#(EncoderForV3PlusClosures class callPrimitiveCode)] -> [#'bytecode decoding']. [#(MethodContext failPrimitiveWith:)] -> [#'system simulation']. [#(MethodContext class allInstances)] -> [#enumerating]. [#(MethodContext class allInstancesDo:)] -> [#enumerating]. [#(SmallInteger asCharacter)] -> [#converting]. [#(SmalltalkImage growMemoryByAtLeast:)] -> [#'memory space']. [#(SmalltalkImage maxIdentityHash)] -> [#'system attributes']. [#(SystemDictionary growMemoryByAtLeast:)] -> [#'memory space']. [#(SystemDictionary maxIdentityHash)] -> [#'system attributes']. [#(SystemDictionary setGCParameters)] -> [#'snapshot and quit']. [#(SystemNavigation allObjects)] -> [#query]. [#(SystemNavigation allObjectsOrNil)] -> [#query]. } otherwise: [Transcript nextPutAll: className. isMeta ifTrue: [Transcript nextPutAll: ' class']. Transcript nextPutAll: '>>'; store: selector; nextPutAll: ' is unclassified'; cr; flush. ^Categorizer default]!
Item was added: + ----- Method: SpurBootstrapSqueakPrototypes>>CompiledMethodPROTOTYPEbytecodeSetName (in category 'method prototypes') ----- + CompiledMethodPROTOTYPEbytecodeSetName + ^self encoderClass name copyReplaceAll: 'EncoderFor' with: ''!
Item was added: + ----- Method: SpurBootstrapSqueakPrototypes>>CompiledMethodPROTOTYPEheaderDescription (in category 'method prototypes') ----- + CompiledMethodPROTOTYPEheaderDescription + "Answer a description containing the information about the form of the + receiver and the form of the context needed to run the receiver." + + ^(ByteString new: 128) writeStream + print: self header; cr; + nextPutAll: '"primitive: '; print: self primitive; cr; + nextPutAll: ' numArgs: '; print: self numArgs; cr; + nextPutAll: ' numTemps: '; print: self numTemps; cr; + nextPutAll: ' numLiterals: '; print: self numLiterals; cr; + nextPutAll: ' frameSize: '; print: self frameSize; cr; + nextPutAll: ' bytecodeSet: '; nextPutAll: self bytecodeSetName; + nextPut: $"; cr; + contents!
vm-dev@lists.squeakfoundation.org