Andreas,
This looks great. I tried this out with a fresh 3.9-7033 image and latest Win32 VM source, and your example worked as advertised. It also works fine as a replacement for my wxSqueak setjmp/longjmp calls, and removes the need for an extra semaphore on the calling process. Thanks!
.. Rob
Andreas Raab wrote:
Hi Folks -
Attached my proposed changes for both, the variable tracking as well as the callback support. I'll respond in the individual threads about more specific issues; let's leave this one to discuss the more "mechanical" issues if there are any. Included files:
- ExtraGCRoots.cs: The change set for tracking variables in plugins
- Callbacks.cs: The change set for VM callback support
- ExampleCallbacks.cs: An example plugin making use of both of the above
features
- sqVirtualMachine[.h|.c]: The (updated) VM proxy
If you install all of the above and build a complete VM you should be able to execute the ExampleCallbackPlugin's exampleCallback and successfully compute 3+4 using a callback.
Let me know if you have any problems.
Cheers,
- Andreas