Looking at the VMBasicsConstants, some observations.
We have UPPERCASE and CamelCase values. We have what appear to be Directives: GCModeFull, DoAssertionChecks, etc. Defines: BaseHeaderSize, ByteXMask, etc.
Question 1. are Directives and Defines a correct categorization? and are there categorizations I am missing? (I am sure I could intuit these with time, but knowing this ahead of time would be a time-saver)
Question 2. I would like to verify the heuristics of COGMTVM COGVM STACKVM
When I load these into the script to boot the simulator, like this:
| vm | Transcript clear. vm := StackInterpreterSimulator newWithOptions: #(#COGVM true)." vm openOn: '/home/wm/usr/src/smalltalk/buildCogDevelopmentImageCog.app/Contents/Resources/Squeak4.4.image'. vm openAsMorph; run
I am assuming that I am informing the StackInterpreterSimulator that it is executing on a COGVM image (which I am running) and that if I was running multi-threading enabled cog, I would feed it the #COGMTVM. I am NOT telling the Interpreter that its target is an image that has been 'fingerprinted' by being run with those VM's in the past. (I have in mind the early releases of Cog where when you ran an old VM on an image, then switched to Cog it warned you that it was a one-way-street).