[Vm-dev] VM Maker: VMMaker.oscog-EstebanLorenzano.1376.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jun 23 09:45:29 UTC 2015


Esteban Lorenzano uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-EstebanLorenzano.1376.mcz

==================== Summary ====================

Name: VMMaker.oscog-EstebanLorenzano.1376
Author: EstebanLorenzano
Time: 23 June 2015, 11:43:50.383921 am
UUID: 96f873b1-3c5f-4b42-aaed-a1a370b8d2af
Ancestors: VMMaker.oscog-rmacnak.1375

MiscPrimitivePlugin class>>#translatedPrimitives is slightly different for Pharo. Answering a different version if PharoVM = true.

=============== Diff against VMMaker.oscog-rmacnak.1375 ===============

Item was changed:
+ SystemOrganization addCategory: #VMMaker!
+ SystemOrganization addCategory: 'VMMaker-Building'!
+ SystemOrganization addCategory: 'VMMaker-Interpreter'!
+ SystemOrganization addCategory: 'VMMaker-InterpreterSimulation'!
+ SystemOrganization addCategory: 'VMMaker-InterpreterSimulation-Morphic'!
+ SystemOrganization addCategory: 'VMMaker-JIT'!
+ SystemOrganization addCategory: 'VMMaker-JITSimulation'!
+ SystemOrganization addCategory: 'VMMaker-Multithreading'!
+ SystemOrganization addCategory: 'VMMaker-Plugins'!
+ SystemOrganization addCategory: 'VMMaker-Plugins-Alien'!
+ SystemOrganization addCategory: 'VMMaker-Plugins-IOS'!
+ SystemOrganization addCategory: 'VMMaker-PostProcessing'!
+ SystemOrganization addCategory: 'VMMaker-SmartSyntaxPlugins'!
+ SystemOrganization addCategory: 'VMMaker-SpurMemoryManager'!
+ SystemOrganization addCategory: 'VMMaker-SpurMemoryManagerSimulation'!
+ SystemOrganization addCategory: 'VMMaker-Support'!
+ SystemOrganization addCategory: 'VMMaker-Tests'!
+ SystemOrganization addCategory: 'VMMaker-Translation to C'!
- SystemOrganization addCategory: #'VMMaker-Building'!
- SystemOrganization addCategory: #'VMMaker-Interpreter'!
- SystemOrganization addCategory: #'VMMaker-InterpreterSimulation'!
- SystemOrganization addCategory: #'VMMaker-InterpreterSimulation-Morphic'!
- SystemOrganization addCategory: #'VMMaker-JIT'!
- SystemOrganization addCategory: #'VMMaker-JITSimulation'!
- SystemOrganization addCategory: #'VMMaker-Multithreading'!
- SystemOrganization addCategory: #'VMMaker-Plugins'!
- SystemOrganization addCategory: #'VMMaker-Plugins-Alien'!
- SystemOrganization addCategory: #'VMMaker-Plugins-IOS'!
- SystemOrganization addCategory: #'VMMaker-PostProcessing'!
- SystemOrganization addCategory: #'VMMaker-SmartSyntaxPlugins'!
- SystemOrganization addCategory: #'VMMaker-SpurMemoryManager'!
- SystemOrganization addCategory: #'VMMaker-SpurMemoryManagerSimulation'!
- SystemOrganization addCategory: #'VMMaker-Support'!
- SystemOrganization addCategory: #'VMMaker-Tests'!
- SystemOrganization addCategory: #'VMMaker-Translation to C'!

Item was changed:
  ----- Method: MiscPrimitivePlugin class>>translatedPrimitives (in category 'translation') -----
  translatedPrimitives
  	"an assorted list of various primitives"
+ 	PharoVM ifTrue: [ ^ self translatedPrimitivesForPharo ].
  	^#(
  		(Bitmap compress:toByteArray:)
  		(Bitmap decompress:fromByteArray:at:)
  		(Bitmap encodeBytesOf:in:at:)
  		(Bitmap encodeInt:in:at:)
  		(ByteString compare:with:collated:)
  		(ByteString translate:from:to:table:)	
  		(ByteString findFirstInString:inSet:startingAt:)
  		(ByteString indexOfAscii:inString:startingAt:)
  		(ByteString findSubstring:in:startingAt:matchTable:)
  		(ByteArray hashBytes:startingWith:)
  		(SampledSound convert8bitSignedFrom:to16Bit:)
  	)
  
  	"| tps |
  	'This opens a list browser on all translated primitives in the image'.
  	 tps := (SystemNavigation default allImplementorsOf: #translatedPrimitives)
  				inject: Set new
  				into: [:tp :mr|
  					tp addAll: (mr actualClass theNonMetaClass translatedPrimitives collect:
  								[:pair|
  								MethodReference
  									class: (((Smalltalk at: pair first) canUnderstand: pair last)
  												ifTrue: [Smalltalk at: pair first]
  												ifFalse: [(Smalltalk at: pair first) class])
  									selector: pair last]);
  						yourself].
  	SystemNavigation default browseMessageList: tps asArray sort name: 'Translated Primitives' "!

Item was added:
+ ----- Method: MiscPrimitivePlugin class>>translatedPrimitivesForPharo (in category 'translation') -----
+ translatedPrimitivesForPharo
+ 	^#(
+ 		(Bitmap compress:toByteArray:)
+ 		(Bitmap decompress:fromByteArray:at:)
+ 		(Bitmap encodeBytesOf:in:at:)
+ 		(Bitmap encodeInt:in:at:)
+ 		(ByteString compare:with:collated:)
+ 		(ByteString translate:from:to:table:)	
+ 		(ByteString findFirstInString:inSet:startingAt:)
+ 		(ByteString indexOfAscii:inString:startingAt:)
+ 		(String findSubstringViaPrimitive:in:startingAt:matchTable:)
+ 		(ByteArray hashBytes:startingWith:)
+ 		(SampledSound convert8bitSignedFrom:to16Bit:)
+ 	)!

Item was changed:
  ----- Method: OutOfLineLiteralsManager>>storeObjRef:inClosedPICAt: (in category 'garbage collection') -----
  storeObjRef: literal inClosedPICAt: address
  	<var: #address type: #usqInt>
  	<inline: true>
  	objectMemory longAt: address put: literal!

Item was changed:
  ----- Method: StackInterpreter>>accessModifierOfMethod: (in category 'compiled methods') -----
  accessModifierOfMethod: methodObj
  	<option: #NewspeakVM>
  	^self accessModifierOfMethodHeader: (objectMemory methodHeaderOf: methodObj)!

Item was changed:
  ----- Method: TAssignmentNode>>emitCCodeAsExpressionOn:level:generator: (in category 'C code generation') -----
  emitCCodeAsExpressionOn: aStream level: level generator: aCodeGen
  	aStream nextPut: $(.
  	self emitCCodeOn: aStream level: level generator: aCodeGen.
  	aStream nextPut: $)!

Item was changed:
  ----- Method: TParseNode>>emitCCodeAsArgumentOn:level:generator: (in category 'C code generation') -----
  emitCCodeAsArgumentOn: aStream level: level generator: aCodeGen
  	^self emitCCodeOn: aStream level: level generator: aCodeGen!

Item was changed:
  ----- Method: TParseNode>>emitCCodeAsExpressionOn:level:generator: (in category 'C code generation') -----
  emitCCodeAsExpressionOn: aStream level: level generator: aCodeGen
  	^self emitCCodeOn: aStream level: level generator: aCodeGen!

Item was changed:
  ----- Method: TSendNode>>emitCCodeAsExpressionOn:level:generator: (in category 'C code generation') -----
  emitCCodeAsExpressionOn: aStream level: level generator: aCodeGen
  	^self emitCCodeAsArgumentOn: aStream level: level generator: aCodeGen!



More information about the Vm-dev mailing list