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

Reply via email to