[JAEGER] Added JSOP_ARGUMENTS.

This commit is contained in:
David Anderson 2010-06-08 21:34:46 -07:00
parent 0cf3d36ae0
commit aa5188d6af
3 changed files with 15 additions and 0 deletions

View File

@ -365,6 +365,12 @@ mjit::Compiler::generateMethod()
}
END_CASE(JSOP_IFNE)
BEGIN_CASE(JSOP_ARGUMENTS)
prepareStubCall();
stubCall(stubs::Arguments, Uses(0), Defs(1));
frame.pushSynced();
END_CASE(JSOP_ARGUMENTS)
BEGIN_CASE(JSOP_FORLOCAL)
iterNext();
frame.storeLocal(GET_SLOTNO(PC));

View File

@ -2465,3 +2465,11 @@ stubs::FlatLambda(VMFrame &f, JSFunction *fun)
return obj;
}
void JS_FASTCALL
stubs::Arguments(VMFrame &f)
{
f.regs.sp++;
if (!js_GetArgsValue(f.cx, f.fp, &f.regs.sp[-1]))
THROW();
}

View File

@ -88,6 +88,7 @@ JSObject * JS_FASTCALL DefLocalFun(VMFrame &f, JSFunction *fun);
JSObject * JS_FASTCALL RegExp(VMFrame &f, JSObject *regex);
JSObject * JS_FASTCALL Lambda(VMFrame &f, JSFunction *fun);
JSObject * JS_FASTCALL FlatLambda(VMFrame &f, JSFunction *fun);
void JS_FASTCALL Arguments(VMFrame &f);
void JS_FASTCALL VpInc(VMFrame &f, Value *vp);
void JS_FASTCALL VpDec(VMFrame &f, Value *vp);