[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:

==================== 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
  	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)
  	PostBuildStackDelta			the amount to decrement the stack pointer after a simulated call
  	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
  	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