Calling straight into runops looks a little too simplistic, but this'd be
a good place to poke around and see what you can come up with.
Dan
What about params? I already thought about that a bit, and when looking
at extent.c:Parrot_call(), it seems that this needs another thunk (the
reverse of NCI), that sets up needed registers depending on a function
signature.
> Dan
leo
We probably need two API entries. One, a vararg version, that just takes a
bunch of PMC pointers (or some sort of (ick) parameter signature), and a
second that assumes you've set the registers up properly already.
Dan
> We probably need two API entries. One, a vararg version, that just takes a
> bunch of PMC pointers (or some sort of (ick) parameter signature), and a
> second that assumes you've set the registers up properly already.
Done both now. The (ick) signature variant is Parrot_runops_fromc_args()
needs some testing though, and some clarifaction WRT return conventions.
It could also preserve registers if a flag is given or setup an
exception handler, but its for sure somewhat slower then the direct calls
in delegate.pmc.
> Dan
leo