[Vm-dev] request for two more entry points in the interpreter
David T. Lewis
lewis at mail.msen.com
Thu Jul 21 03:24:21 UTC 2011
On Thu, Jul 21, 2011 at 12:51:48AM +0200, Craig Latta wrote:
> Aha, in my own Spoon VMs I'd been using a couple of entry points I
> added to the interpreter proxy (sqVirtualMachine.h) that aren't in the
> official version. They are getNextWakeupTick() and
> setInterruptCheckCounter(), I use them in my pluggable
> relinquish-processor primitive. Would whoever owns the interpreter proxy
> definition add these, please? (Eliot or Dave, I assume.)
This is an interesting request, inasmuch as we are currently operating
at VM_PROXY_MINOR 12 for Cog and VM_PROXY_MINOR 9 for the standard VM.
If we want #getNextWakeupTick and #setInterruptCheckCounter: to work
for all VMs (I assume that is your intent), then I think this implies
a branch in the interpreter proxy versioning. I'm not entirely sure how
to make that work. If you just needed it to work on the Cog VMs, then it
would be safe to add a VM_PROXY_MINOR version 13 with the new definitions
(I would ask that Eliot and Andreas handle this if possible).
Assuming that the flow plugin would be the only current user of this
interface, and that you (Craig) know the implications, perhaps the most
pragmatic approach would be to just add these declarations into the
VM_PROXY_MINOR version level 8, document it with some comments, and
insist that anyone compiling this plugin use updated platforms sources.
I don't think that this would cause any problems in practice, so I
would be inclined to do it this way.
Can you supply a copy of your sqVirtualMachine.[ch] for reference?
Maybe that will clarify things, at least in my fuzzy brain.
I should say clearly here that I am not the owner of this interface,
nor am I best qualified to manage it. Advice and fresh ideas would be
appreciated, particularly if Ian, Andreas or Eliot can offer any guidance.
More information about the Vm-dev