VM Maker: VMMaker.oscog-eem.2782.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: VMMaker.oscog-eem.2782.mcz

commits-2
 
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!