A new version of VMMaker was added to project The Inbox:
http://source.squeak.org/inbox/VMMaker-MattSpr.361.mcz==================== Summary ====================
Name: VMMaker-MattSpr.361
Author: MattSpr
Time: 29 April 2015, 6:20:36.436 pm
UUID: 07e06652-e637-41d1-8d69-dac0bd244406
Ancestors: VMMaker-tfel.360
Call primitive 255 in InterpreterProxy to indicate failing primitive simulations to the VM (if supported).
=============== Diff against VMMaker-tfel.360 ===============
Item was changed:
----- Method: InterpreterProxy>>primitiveFailFor: (in category 'other') -----
primitiveFailFor: reasonCode
+ "Set specific primitive failure. N.B. primitiveFailFor: PrimNoErr is expected to clear the primFailCode.
+ Primitive 255 is called to indicate that we are currently simulating a primitive that should fail and the VM should handle that case appropriately (if supported by the VM)."
+ <primitive: 255>
+ (self confirm: 'A primitive is failing -- Stop simulation?') ifTrue: [self halt].
+ ^ primFailCode := reasonCode!
- "Set specific primitive failure.
- N.B. primitiveFailFor: PrimNoErr is expected to clear the primFailCode."
- (self confirm:'A primitive is failing -- Stop simulation?') ifTrue:[self halt].
- ^primFailCode := reasonCode!
Item was changed:
----- Method: InterpreterProxy>>success: (in category 'other') -----
success: aBoolean
+ self failed ifTrue: [^ self].
+ aBoolean ifFalse: [self primitiveFailFor: 1].!
- self failed ifTrue:[^self].
- aBoolean ifFalse: [
- primFailCode := 1.
- (self confirm:'A primitive is failing -- Stop simulation?') ifTrue:[self halt]]
- !