[Vm-dev] Updated callbacks
Andreas Raab
andreas.raab at gmx.de
Tue Jan 16 21:19:49 UTC 2007
Hi Guys -
Just FYI, I found a major bug in the callback support I posted earlier.
The problem occurs if one fails a primitive *after* a callback has been
invoked like here:
Squeak -> (primitive) -> Plugin
Plugin -> (callback) -> Squeak
Plugin <- (return) <- Squeak
Squeak <- (failure) <- Plugin
In such a case, the method being activated by the primitive failure is
not the method originally invoking the primitive but rather the one that
returned from the callback. More technically speaking, the interpreter's
newMethod isn't preserved which causes the effect described above. The
attached version fixes the problem by preserving newMethod across
callback enter/return.
Cheers,
- Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Callbacks.2.cs
Type: text/x-csharp
Size: 17427 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20070116/f55b7660/Callbacks.2.bin
More information about the Vm-dev
mailing list