[Vm-beginners] Re: Fwd: Oops - I put a halt in a startup method

Sean P. DeNigris sean at clipperadams.com
Fri Sep 9 22:17:39 UTC 2011


Thanks Igor and Mariano. I recovered the image. Just in case anyone ever has
a similar problem, the solution was:

1. Test for selector in CoInterpreter>>commonSend
       ...
       (messageSelector = #halt) ifFalse: [ "the conditional was added"
       self internalFindNewMethod.
       self internalExecuteNewMethod  ].

       self fetchNextBytecode.

2. Manually edit the condition in gcc3x-cointerp.c:
       char* realSelector = GIV(messageSelector) + BaseHeaderSize;
       if (strncmp(realSelector, "halt", 4) == 0)
              puts("Skipping halt...");
       else { ...

Although I lost the better part of a day, it's a very powerful feeling to
start building basic VM skills and know that errors that used to be magical
and fatal can now be resolved...

Cheers,
Sean

--
View this message in context: http://forum.world.st/Fwd-Oops-I-put-a-halt-in-a-startup-method-tp3800729p3802924.html
Sent from the Smalltalk VM - Beginners mailing list archive at Nabble.com.


More information about the VM-beginners mailing list