[Vm-dev] VM Maker: VMMaker.oscog-eem.2782.mcz
commits at source.squeak.org
commits at source.squeak.org
Sun Jul 26 19:45:17 UTC 2020
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2782.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.2782
Author: eem
Time: 26 July 2020, 12:45:07.232675 pm
UUID: cc64f861-f102-4ce4-9ccb-d8c2268f3235
Ancestors: VMMaker.oscog-eem.2781
Simulaiton: The close methods must remove event listening.
primitiveExecuteMethod should work the same as primitiveExecuteMethodArgsArray.
The breakpoint in getErrorObjectFromPrimFailCode has served its purpose and is now a PITA.
=============== Diff against VMMaker.oscog-eem.2781 ===============
Item was changed:
----- Method: CogVMSimulator>>close (in category 'initialization') -----
close "close any files that ST may have opened, etc"
pluginList do: [:assoc| | plugin | plugin := assoc value. plugin ~~ self ifTrue: [plugin close]].
"Ugh; at least some of this code belongs in the UI..."
+ displayView ifNotNil:
+ [displayView activeHand removeEventListener: self].
+ ActiveHand removeEventListener: self.
World submorphs do:
[:submorph|
(submorph model isVMObjectInspector
and: [submorph model coInterpreter == self]) ifTrue:
[submorph delete].
(submorph model isDebugger
and: [(submorph model interruptedProcess suspendedContext ifNotNil:
[:sctxt|
sctxt findContextSuchThat:
[:ctxt|
(ctxt receiver == cogit
and: [ctxt selector == #simulateCogCodeAt:])
or: [ctxt receiver == self
and: [ctxt selector == #interpret]]]]) notNil]) ifTrue:
[submorph model windowIsClosing.
submorph delete]]!
Item was changed:
----- Method: CogVMSimulator>>primitiveExecuteMethod (in category 'debugging traps') -----
primitiveExecuteMethod
+ (InitializationOptions at: #haltOnExecuteMethod ifAbsent: [true]) ifTrue:
+ [self halt: thisContext selector].
+ ^super primitiveExecuteMethod
+
+ "InitializationOptions at: #haltOnExecuteMethod put: false"!
- self halt: thisContext selector.
- ^super primitiveExecuteMethod!
Item was changed:
----- Method: StackInterpreterSimulator>>close (in category 'initialization') -----
close "close any files that ST may have opened, etc"
pluginList do: [:assoc| | plugin | plugin := assoc value. plugin ~~ self ifTrue: [plugin close]].
"Ugh; at least some of this code belongs in the UI..."
+ displayView ifNotNil:
+ [displayView activeHand removeEventListener: self].
+ ActiveHand removeEventListener: self.
World submorphs do:
[:submorph|
(submorph model isVMObjectInspector
and: [submorph model coInterpreter == self]) ifTrue:
[submorph delete].
(submorph model isDebugger
and: [(submorph model interruptedProcess suspendedContext ifNotNil:
[:sctxt|
sctxt findContextSuchThat:
[:ctxt|
ctxt receiver == self
and: [ctxt selector == #run]]]) notNil]) ifTrue:
[submorph model windowIsClosing.
submorph delete]]!
Item was removed:
- ----- Method: StackInterpreterSimulator>>getErrorObjectFromPrimFailCode (in category 'debugging traps') -----
- getErrorObjectFromPrimFailCode
- (primFailCode > 1 and: [(#(primitiveNew primitiveNewWithArg primitiveFetchNextMourner primitiveAdoptInstance) includes: primitiveFunctionPointer) not]) ifTrue: [self halt].
- ^super getErrorObjectFromPrimFailCode!
Item was changed:
----- Method: StackInterpreterSimulator>>primitiveExecuteMethod (in category 'control primitives') -----
primitiveExecuteMethod
+ (InitializationOptions at: #haltOnExecuteMethod ifAbsent: [true]) ifTrue:
+ [self halt: thisContext selector].
+ ^super primitiveExecuteMethod
+
+ "InitializationOptions at: #haltOnExecuteMethod put: false"!
- self halt: thisContext selector.
- ^super primitiveExecuteMethod!
More information about the Vm-dev
mailing list