[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