On Mon, May 03, 2004 at 04:36:38PM -0400, Dan Sugalski wrote:
> At 9:33 PM +0100 5/3/04, Nicholas Clark wrote:
> >On Mon, May 03, 2004 at 10:46:28AM -0400, Dan Sugalski wrote:
> >
> >> 3) The embedding wrapper is responsible for setting and resetting the
> >> top of stack.
> >
> >I don't think that this is quite right. The embedding wrapper needs to
> >set (and reset) the top of stack only if it's not set.

> That's what I wanted to write. It didn't come out anywhere near that, but...
> 
> I think Brent's patch is pretty much dead-on what we want. Worth 
> applying and seeing what it does to things.

It appears to unconditionally clear the low stack pointer on exit.
Which isn't going to do nice things with a nested call back into parrot
through the embedding interface. Therefore all it needs is a state variable
to remember if it needed to set the stack pointer (and an evil regression
test that embeds parrot, calls parrot, calls back out, and calls in again)

Nicholas Clark

Reply via email to