summaryrefslogtreecommitdiffstats
path: root/Source/JavaScriptCore/jit/JIT.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/jit/JIT.cpp')
-rw-r--r--Source/JavaScriptCore/jit/JIT.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/Source/JavaScriptCore/jit/JIT.cpp b/Source/JavaScriptCore/jit/JIT.cpp
index 01401a7..89b1e30 100644
--- a/Source/JavaScriptCore/jit/JIT.cpp
+++ b/Source/JavaScriptCore/jit/JIT.cpp
@@ -318,7 +318,6 @@ void JIT::privateCompileMainPass()
DEFINE_OP(op_tear_off_arguments)
DEFINE_OP(op_throw)
DEFINE_OP(op_throw_reference_error)
- DEFINE_OP(op_throw_syntax_error)
DEFINE_OP(op_to_jsnumber)
DEFINE_OP(op_to_primitive)
@@ -490,7 +489,6 @@ JITCode JIT::privateCompile(CodePtr* functionEntryArityCheck)
privateCompileSlowCases();
Label arityCheck;
- Call callArityCheck;
if (m_codeBlock->codeType() == FunctionCode) {
registerFileCheck.link(this);
m_bytecodeOffset = 0;
@@ -505,8 +503,9 @@ JITCode JIT::privateCompile(CodePtr* functionEntryArityCheck)
emitPutToCallFrameHeader(regT2, RegisterFile::ReturnPC);
branch32(Equal, regT1, Imm32(m_codeBlock->m_numParameters)).linkTo(beginLabel, this);
restoreArgumentReference();
- callArityCheck = call();
- move(regT0, callFrameRegister);
+
+ JITStubCall(this, m_codeBlock->m_isConstructor ? cti_op_construct_arityCheck : cti_op_call_arityCheck).call(callFrameRegister);
+
jump(beginLabel);
}
@@ -586,10 +585,8 @@ JITCode JIT::privateCompile(CodePtr* functionEntryArityCheck)
info.callReturnLocation = m_codeBlock->structureStubInfo(m_methodCallCompilationInfo[i].propertyAccessIndex).callReturnLocation;
}
- if (m_codeBlock->codeType() == FunctionCode && functionEntryArityCheck) {
- patchBuffer.link(callArityCheck, FunctionPtr(m_codeBlock->m_isConstructor ? cti_op_construct_arityCheck : cti_op_call_arityCheck));
+ if (m_codeBlock->codeType() == FunctionCode && functionEntryArityCheck)
*functionEntryArityCheck = patchBuffer.locationOf(arityCheck);
- }
return patchBuffer.finalizeCode();
}