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.
>