[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