There are a bit mess with newly introduced generation options.
Here the problem:
generateCogitFile
"Translate the Smalltalk description of the virtual machine into C.
If 'self doInlining' is true, small method bodies are inlined to
reduce procedure call overhead. On the PPC, this results in a factor
of three speedup with only 30% increase in code size. Subclasses can
use specialised versions of CCodeGenerator and interpreterClass."
| cg cogitClass |
self interpreterClass needsCogit ifFalse: [^nil].
self needsToRegenerateCogitFile ifFalse: [^nil].
cg := [self buildCodeGeneratorForCogit]
The options are initialized first in
#buildCodeGeneratorForCogit
but before that, in method #needsToRegenerateCogitFile it leads to call in:
ancilliaryStructClasses
ProcessorClass ifNil: [thisContext methodClass theNonMetaClass initialize].
^{ CogAbstractInstruction.
ProcessorClass basicNew abstractInstructionCompilerClass.
...
here ProcessorClass class var is still nil, because its not yet initialized.
it is initialized only if you send #initializeWithOptions: to cogit class
--
Best regards,
Igor Stasenko AKA sig.