[Vm-dev] VM Maker: VMMaker-tfel.365.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Jun 26 08:38:40 UTC 2015


Tim Felgentreff uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker-tfel.365.mcz

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

Name: VMMaker-tfel.365
Author: tfel
Time: 26 June 2015, 10:37:10.919 am
UUID: d44204f7-1d97-e741-a5ef-1faacf7a7072
Ancestors: VMMaker-dtl.364, VMMaker-bak.362

generalize primitive simulation for Balloon, BitBlt, and image snapshot simulation (used RSqueak in lieu of VM implementation/plugin)

=============== Diff against VMMaker-dtl.364 ===============

Item was removed:
- ----- Method: BalloonEngine>>simulateBalloonPrimitive:args: (in category '*VMMaker-InterpreterSimulation') -----
- simulateBalloonPrimitive: aString args: args
- 	^ Smalltalk at: #BalloonEngineSimulation ifPresent: [:be |
- 			be simulatePrimitive: aString receiver: self args: args]!

Item was added:
+ ----- Method: BalloonEngine>>simulatePrimitive:args: (in category '*VMMaker-InterpreterSimulation') -----
+ simulatePrimitive: aString args: args 
+ 	"simulate primitives in RSqueak"
+ 	| proxy bb |
+ 	Smalltalk
+ 		at: #BalloonEngineSimulation
+ 		ifPresent: [:be | 
+ 			proxy := InterpreterProxy new.
+ 			proxy synthesizeStackFor: self with: args.
+ 			bb := be simulatorClass new.
+ 			bb setInterpreter: proxy.
+ 			bb initialiseModule.
+ 			"rendering state is loaded in the primitive implementations"
+ 			bb perform: aString asSymbol.
+ 			^ proxy stackValue: 0].!

Item was added:
+ ----- Method: BitBlt>>simulatePrimitive:args: (in category '*VMMaker-Interpreter') -----
+ simulatePrimitive: aString args: args 
+ 	"simulate primitives in RSqueak"
+ 	aString = 'primitiveCopyBits'
+ 		ifTrue: [^ self copyBitsSimulated].
+ 	aString = 'primitiveWarpBits'
+ 		ifTrue: [^ self
+ 				warpBitsSimulated: (args at: 1)
+ 				sourceMap: (args at: 2)].
+ 	^ InterpreterProxy new primitiveFailFor: 255
+ !

Item was added:
+ ----- Method: SmalltalkImage>>simulatePrimitive:args: (in category '*VMMaker-Interpreter') -----
+ simulatePrimitive: aPrimitive args: args 
+ 	"simulate primitives in RSqueak"
+ 	"IMAGE_NAME"
+ 	aPrimitive = 121
+ 		ifTrue: [^ self getSystemAttribute: 1].
+ 	"SNAPSHOT"
+ 	aPrimitive = 97
+ 		ifTrue: [Smalltalk
+ 				at: #SystemTracer2
+ 				ifPresent: [:st | ^ st writeImage: Smalltalk imageName]].
+ 	"SNAPSHOT_EMBEDDED"
+ 	aPrimitive = 247
+ 		ifTrue: [Smalltalk
+ 				at: #SystemTracer2
+ 				ifPresent: [:st | ^ st writeImage: Smalltalk imageName]].
+ 	^ InterpreterProxy new primitiveFailFor: 255
+ !



More information about the Vm-dev mailing list