Hello. This method called "VTABLE_morph(interp, CallContext, PMCNULL)". Unfortunately (may be) it's not exposed via embed API.
-- Bacek On Mon, Feb 7, 2011 at 11:58 AM, Andrew Whitworth <[email protected]> wrote: > This does raise a good point, I feel like there really should be some > mechanism to reset the state of a CallContext PMC so it can be reused > between invocations of a single Sub. I don't think any such thing > exists. I'll take a look around and see what can be done. > > --Andrew Whitworth > > > > On Sun, Feb 6, 2011 at 6:00 PM, Shockwave <[email protected]> wrote: >> Hello. >> >> >> >> Currently, there is an issue with calling a PIR method continuously from a >> C/C++ program that is meant to stay alive for a long time (>10 minutes). >> >> >> >> The use-case is a C++ game engine which calls a C/C++ update function at >> least 30 times per second. That update function calls into a PIR method of >> some class previously instantiated from C++. The PIR method performs the >> logic of the game, before returning to the C++ side so that the game-engine >> performs the next iteration. >> >> >> >> Currently, in order to avoid a recursion error, a CallContext PMC needs to >> be create for every invocation of the PIR method from C++. Because this is >> happening at least 30 times per second, it creates a lot of allocation. >> Calling an empty PIR method that many times eats lots of memory. This is not >> sustainable. >> >> >> >> What is the correct way to implement this such that: >> >> 1) A recursion error doesn’t happen. >> >> 2) Memory consumption remains reasonable. >> >> >> >> Regards, >> >> Vlad >> >> _______________________________________________ >> http://lists.parrot.org/mailman/listinfo/parrot-dev >> >> > _______________________________________________ > http://lists.parrot.org/mailman/listinfo/parrot-dev > _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
