Arthur Bergman <[EMAIL PROTECTED]> wrote: > On 2 May 2004, at 11:47, Leopold Toetsch wrote:
>> Parrot_init_stacktop(Interp*, void*); >> >> This function can be used as a replacement for Parrot_init(). I hope >> that simplifies step 1) > No, it entirely misses the point, every time I call into parrot the > place I called parrot_init_stacktop might not, or most likely will not > be in my current stack. Can't you call that somewhere in an outer frame? E.g. where you create the interpreter. > Is the stacktop per interpreter? Yes. But DOD/GC with mutiple interpreters/threads isn't really investigated especially when there are shared PMCs. > What then would be needed is a set_stacktop(Interp*, void*) function. You can use above function exactly for this. If the interpreter is initialized it skips that part and just sets the stack top. But calling Parrot_init_stack() in the same stack frame, where automatic PMC variables are located might or might not work, because you don't know the order of automatic variables in the stack frame. > Arthur leo