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

commits at source.squeak.org commits at source.squeak.org
Fri Jun 26 08:45:02 UTC 2015


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

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

Name: VMMaker.oscog-tfel.1384
Author: tfel
Time: 26 June 2015, 10:43:25.979 am
UUID: 455a0b04-791c-cc40-ae78-2de330b4d9ce
Ancestors: VMMaker.oscog-rmacnak.1383

Copy changes from VMMaker-tfel.365

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

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

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