diff options
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp')
-rw-r--r-- | Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp b/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp index 7a2d7bdee..cc756c61e 100644 --- a/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp +++ b/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp @@ -1534,8 +1534,10 @@ bool ByteCodeParser::parseBlock(unsigned limit) } case op_create_this: { - NodeIndex op1 = get(currentInstruction[2].u.operand); - set(currentInstruction[1].u.operand, addToGraph(CreateThis, op1)); + if (m_inlineStackTop->m_inlineCallFrame) + set(currentInstruction[1].u.operand, addToGraph(CreateThis, getDirect(m_inlineStackTop->m_calleeVR))); + else + set(currentInstruction[1].u.operand, addToGraph(CreateThis, addToGraph(GetCallee))); NEXT_OPCODE(op_create_this); } @@ -1565,14 +1567,6 @@ bool ByteCodeParser::parseBlock(unsigned limit) NEXT_OPCODE(op_new_regexp); } - case op_get_callee: { - if (m_inlineStackTop->m_inlineCallFrame) - set(currentInstruction[1].u.operand, getDirect(m_inlineStackTop->m_calleeVR)); - else - set(currentInstruction[1].u.operand, addToGraph(GetCallee)); - NEXT_OPCODE(op_get_callee); - } - // === Bitwise operations === case op_bitand: { |