[JAEGER] Merge.

This commit is contained in:
David Anderson 2010-07-24 20:23:30 -07:00
commit ea5e66bc2c
3 changed files with 6 additions and 1 deletions

View File

@ -168,7 +168,6 @@ StackSpace::popInlineFrame(JSContext *cx, JSStackFrame *up, JSStackFrame *down)
JSFrameRegs *regs = cx->regs;
regs->pc = down->savedPC;
regs->sp = up->argv - 1;
#ifdef DEBUG
down->savedPC = JSStackFrame::sInvalidPC;
#endif

View File

@ -2776,11 +2776,13 @@ BEGIN_CASE(JSOP_STOP)
}
JSStackFrame *down = fp->down;
Value *newsp = fp->argv - 1;
/* Pop the frame. */
cx->stack().popInlineFrame(cx, fp, down);
/* Propagate return value before fp is lost. */
regs.sp = newsp;
regs.sp[-1] = fp->rval;
/* Sync interpreter registers. */

View File

@ -322,7 +322,11 @@ InlineReturn(JSContext *cx, JSBool ok)
if (fp->flags & JSFRAME_CONSTRUCTING && fp->rval.isPrimitive())
fp->rval = fp->thisv;
Value *newsp = fp->argv - 1;
cx->stack().popInlineFrame(cx, fp, fp->down);
cx->regs->sp = newsp;
cx->regs->sp[-1] = fp->rval;
return ok;