Boris,
jitter always fails on startup: error(s="opcode address is not an integer object") ->
- initOpcode should not get the error
You should take a very close look at sqMachDep.h and make sure that the symbols JUMP_ALIGN_STRICT and JUMP_ALIGN_BYTE are defined correctly for your CPU (in sqConfig.h). JUMP_ALIGN_BYTE should be defined if instructions can be arbitrarily aligned (e.g. Pentium). JUMP_ALIGN_STRICT should be defined if the CPU does _not_ ignore the lowest bit(s) in jump destination addresses (e.g. PPC and Alpha, but not Sparc -- I don't know about MIPS without looking it up in the manual [which is at work, unlike me ;) ]).
When you figure out the correct values, please send them to me. Thanks!
- printCallStack should not get SIGSEGV anyway...
The opcode table is initialised _before_ the initial context is loaded (if I remember correctly), so any attempt to print a backtrace at that stage of the game is doomed to failure.
Regards,
Ian
squeak-dev@lists.squeakfoundation.org