[Vm-beginners] Re: Fwd: Oops - I put a halt in a startup method
David T. Lewis
lewis at mail.msen.com
Sat Sep 10 12:40:44 UTC 2011
On Fri, Sep 09, 2011 at 03:17:39PM -0700, Sean P. DeNigris wrote:
> 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...
Nice job Sean! Not a bad day's work for a "VM beginner" :-)
Dave
More information about the VM-beginners
mailing list