mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
[JAEGER] Added JSOP_LAMBDA_FC.
This commit is contained in:
parent
87ecc149b0
commit
b27a0b5634
@ -1016,6 +1016,17 @@ mjit::Compiler::generateMethod()
|
||||
}
|
||||
END_CASE(JSOP_NEWARRAY)
|
||||
|
||||
BEGIN_CASE(JSOP_LAMBDA_FC)
|
||||
{
|
||||
JSFunction *fun = script->getFunction(fullAtomIndex(PC));
|
||||
prepareStubCall();
|
||||
masm.move(ImmPtr(fun), Registers::ArgReg1);
|
||||
stubCall(stubs::FlatLambda, Uses(0), Defs(1));
|
||||
frame.takeReg(Registers::ReturnReg);
|
||||
frame.pushTypedPayload(JSVAL_MASK32_FUNOBJ, Registers::ReturnReg);
|
||||
}
|
||||
END_CASE(JSOP_LAMBDA_FC)
|
||||
|
||||
BEGIN_CASE(JSOP_TRACE)
|
||||
{
|
||||
if (analysis[PC].nincoming > 0) {
|
||||
|
@ -2456,3 +2456,12 @@ stubs::Throw(VMFrame &f)
|
||||
THROW();
|
||||
}
|
||||
|
||||
JSObject * JS_FASTCALL
|
||||
stubs::FlatLambda(VMFrame &f, JSFunction *fun)
|
||||
{
|
||||
JSObject *obj = js_NewFlatClosure(f.cx, fun);
|
||||
if (!obj)
|
||||
THROWV(NULL);
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
@ -87,6 +87,7 @@ void JS_FASTCALL DefFun(VMFrame &f, uint32 index);
|
||||
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 VpInc(VMFrame &f, Value *vp);
|
||||
void JS_FASTCALL VpDec(VMFrame &f, Value *vp);
|
||||
|
Loading…
Reference in New Issue
Block a user