[Vm-dev] VM Maker: Cog-eem.207.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Sep 11 19:14:44 UTC 2014
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!
More information about the Vm-dev
mailing list