Unreviewed, rolling out r223691 and r223729.
[WebKit-https.git] / Source / JavaScriptCore / bytecode / PreciseJumpTargets.cpp
index 9ed935b..636f0a8 100644 (file)
@@ -42,11 +42,6 @@ static void getJumpTargetsForBytecodeOffset(Block* codeBlock, Instruction* instr
     // op_loop_hint does not have jump target stored in bytecode instructions.
     if (opcodeID == op_loop_hint)
         out.append(bytecodeOffset);
-    else if (opcodeID == op_enter && codeBlock->hasTailCalls()) {
-        // We need to insert a jump after op_enter, so recursive tail calls have somewhere to jump to.
-        // But we only want to pay that price for functions that have at least one tail call.
-        out.append(bytecodeOffset + opcodeLengths[op_enter]);
-    }
 }
 
 enum class ComputePreciseJumpTargetsMode {
@@ -58,8 +53,9 @@ template<ComputePreciseJumpTargetsMode Mode, typename Block, typename Instructio
 void computePreciseJumpTargetsInternal(Block* codeBlock, Instruction* instructionsBegin, unsigned instructionCount, Vector<unsigned, vectorSize>& out)
 {
     ASSERT(out.isEmpty());
-
-    // The code block has a superset of the jump targets. So if it claims to have none, we are done.
+    
+    // We will derive a superset of the jump targets that the code block thinks it has.
+    // So, if the code block claims there are none, then we are done.
     if (Mode == ComputePreciseJumpTargetsMode::FollowCodeBlockClaim && !codeBlock->numberOfJumpTargets())
         return;