[Vm-dev] VM Maker: VMMaker.oscog-eem.877.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Sep 11 03:00:36 UTC 2014


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.877.mcz

==================== Summary ====================

Name: VMMaker.oscog-eem.877
Author: eem
Time: 10 September 2014, 7:58:01.558 pm
UUID: db2baa66-7729-434c-891f-b5acb1002b7b
Ancestors: VMMaker.oscog-eem.876

Simulator:
Allow one to specify a break block for the
StackInterpreterSimulator.
Fix sizeof: for squeakFileOffsetType.

=============== Diff against VMMaker.oscog-eem.876 ===============

Item was changed:
  ----- Method: FilePluginSimulator>>sizeof: (in category 'simulation') -----
  sizeof: objectSymbolOrClass
+ 	"In the simulator file handles are just integer indices into openFiles and so need only be BytesPerWord big.  We assume the file offset type is always 64-bit"
+ 	| index |
+ 	index := #(	#SQFile #squeakFileOffsetType)
+ 						indexOf: objectSymbolOrClass
+ 						ifAbsent: [^super sizeof: objectSymbolOrClass].
+ 	^{interpreterProxy wordSize.
+ 	    8 } at: index!
- 	"In the simulator file handles are just integer indices into openFiles and so need only be BytesPerWord big."
- 	^objectSymbolOrClass == #SQFile
- 		ifTrue: [BytesPerWord]
- 		ifFalse: [super sizeof: objectSymbolOrClass]!

Item was added:
+ ----- Method: StackInterpreterSimulator>>atEachStepBlock: (in category 'testing') -----
+ atEachStepBlock: aBlock
+ 	atEachStepBlock := aBlock!

Item was changed:
  ----- Method: StackInterpreterSimulator>>cloneSimulation (in category 'debug support') -----
  cloneSimulation
+ 	| savedAtEachStepBlock savedDisplayView savedDisplayForm savedQuitBlock savedTranscript |
+ 	savedAtEachStepBlock := atEachStepBlock. atEachStepBlock := nil.
- 	| savedDisplayView savedDisplayForm savedQuitBlock savedTranscript |
  	savedDisplayView := displayView. displayView := nil.
  	savedDisplayForm := displayForm. displayForm = nil.
  	savedQuitBlock := quitBlock. quitBlock := nil.
  	savedTranscript := transcript. transcript := nil.
  
  	^[| theClone |
  	 Smalltalk garbageCollect.
  	 theClone := self veryDeepCopy.
  	 theClone parent: self; transcript: Transcript.
  	 theClone objectMemory parent: objectMemory.
  	 theClone]
  		ensure:
+ 			[atEachStepBlock := savedAtEachStepBlock.
+ 			 displayView := savedDisplayView.
- 			[displayView := savedDisplayView.
  			 displayForm = savedDisplayForm.
  			 quitBlock := savedQuitBlock.
  			 transcript := savedTranscript]!



More information about the Vm-dev mailing list