A new version of VMMaker was added to project The Inbox: http://source.squeak.org/inbox/VMMaker-bak.362.mcz
==================== Summary ====================
Name: VMMaker-bak.362 Author: bak Time: 24 June 2015, 4:29:56.727 pm UUID: 5f1bc928-2e95-4784-af79-0d9c1f3fb762 Ancestors: VMMaker-MattSpr.361
generalized primitive simulation in RSqueak
=============== Diff against VMMaker-MattSpr.361 ===============
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 + !
squeak-dev@lists.squeakfoundation.org