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! |
Free forum by Nabble | Edit this page |