I'm impressed and I should do the same than you.
Jumping into fire.

Stef

On Sep 10, 2011, at 12:20 AM, Sean P. DeNigris wrote:

> Huge thanks to 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/Oops-I-put-a-halt-in-a-startup-method-tp3800163p3802931.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
> 


Reply via email to