[Vm-dev] VM Maker: Cog-eem.426.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Nov 3 19:24:43 UTC 2020
Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.426.mcz
==================== Summary ====================
Name: Cog-eem.426
Author: eem
Time: 3 November 2020, 11:24:40.724902 am
UUID: 57f98fd8-7671-417b-830a-c838de7cde4e
Ancestors: Cog-eem.425
Include CogAbstractRegisters in CogProcessorAlien. It's much nicer to use the abstract names tan hacks such as ReceiverResultRegDereference.
=============== Diff against Cog-eem.425 ===============
Item was changed:
Alien variableByteSubclass: #CogProcessorAlien
instanceVariableNames: ''
classVariableNames: 'BadCPUInstance ExecutionError InstructionPrefetchError MemoryBoundsError NoError PanicError PostBuildStackDelta PrintCodeBytes PrintTempNames ReceiverResultRegDereference SavedState SomethingLoggedError UnsupportedOperationError'
+ poolDictionaries: 'CogAbstractRegisters'
- poolDictionaries: ''
category: 'Cog-Processors'!
!CogProcessorAlien commentStamp: 'eem 11/21/2019 11:17' prior: 0!
I am the superclass for the Simulation CPU instance wrappers. I ensure that methods used in both/all of them need not be copied.
Class Variables
error codes answered by the execution primitives, primitiveRunInMemory:minimumAddress:maximumAddress:readOnlyBelow: et al
NoError
BadCPUInstance the receiver Alien does not appear to reference a valid underlying CPU object/struct/c++ instance, etc
ExecutionError something went wrong when executing an instruction
InstructionPrefetchError an attempt was made to fetch an instruction from an invalid address, e.g. below the minimum executable address
MemoryBoundsError an attempt was made to access memory outside the bounds of the memory byte array. This is key to how the simulator accesses Smalltalk variables
PanicError the simulator "panicked", i.e. hit an error from which no propgress, such as delivering an exception, is possible
SomethingLoggedError the simulator logged something, presumably an error, to its error log
UnsupportedOperationError an attempt was made to do something currently unsupported or unimplemented (a lazy man's deferral)
simulation
PostBuildStackDelta the amount to decrement the stack pointer after a simulated call
disassembly
PrintCodeBytes when disassembling, whether to include the bytes comprising an insruction, false for faster single-stepping
PrintTempNames when disassembling, whether to attempt to decorate temp var references with Smalltalk temp var names
ReceiverResultRegDereference the concrete register holding ReceiverResultReg, used to decorate this register with ReceiverResultReg during disassembly
restart
SavedState a Dictionary from processor to saved register state used to restore processor Aliens to their sate at snapshot, hence enabling continuing simulation after a snapshot, e.g. to save set-up time by advancing simulation to a given point and then saving and quitting!
More information about the Vm-dev
mailing list