[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