Bug 1342553 - Part 0.2: Support JSOP_CHECKISCALLABLE in JIT

Issue #74
This commit is contained in:
janekptacijarabaci 2018-03-25 17:00:47 +02:00 committed by Roy Tam
commit 5bf58e6044
14 changed files with 189 additions and 43 deletions

View file

@ -1381,6 +1381,26 @@ BaselineCompiler::emit_JSOP_CHECKISOBJ()
return true;
}
typedef bool (*CheckIsCallableFn)(JSContext*, HandleValue, CheckIsCallableKind);
static const VMFunction CheckIsCallableInfo =
FunctionInfo<CheckIsCallableFn>(CheckIsCallable, "CheckIsCallable");
bool
BaselineCompiler::emit_JSOP_CHECKISCALLABLE()
{
frame.syncStack(0);
masm.loadValue(frame.addressOfStackValue(frame.peek(-1)), R0);
prepareVMCall();
pushArg(Imm32(GET_UINT8(pc)));
pushArg(R0);
if (!callVM(CheckIsCallableInfo))
return false;
return true;
}
typedef bool (*ThrowUninitializedThisFn)(JSContext*, BaselineFrame* frame);
static const VMFunction ThrowUninitializedThisInfo =
FunctionInfo<ThrowUninitializedThisFn>(BaselineThrowUninitializedThis,