Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (147189 => 147190)
--- trunk/Source/_javascript_Core/ChangeLog 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/ChangeLog 2013-03-29 01:09:53 UTC (rev 147190)
@@ -1,5 +1,44 @@
2013-03-28 Geoffrey Garen <gga...@apple.com>
+ Simplified the bytecode by removing op_loop and op_loop_if_*
+ https://bugs.webkit.org/show_bug.cgi?id=113548
+
+ Reviewed by Filip Pizlo.
+
+ Regular jumps will suffice.
+
+ These opcodes are identical to branches, except they also do timeout
+ checking. That style of timeout checking has been broken for a long
+ time, and when we add back timeout checking, it won't use these opcodes.
+
+ * _javascript_Core.order:
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dumpBytecode):
+ * bytecode/Opcode.h:
+ (JSC):
+ (JSC::padOpcodeName):
+ * bytecode/PreciseJumpTargets.cpp:
+ (JSC::computePreciseJumpTargets):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitJump):
+ (JSC::BytecodeGenerator::emitJumpIfTrue):
+ (JSC::BytecodeGenerator::emitJumpIfFalse):
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::ByteCodeParser::parseBlock):
+ * dfg/DFGCapabilities.h:
+ (JSC::DFG::canCompileOpcode):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompileMainPass):
+ (JSC::JIT::privateCompileSlowCases):
+ * jit/JIT.h:
+ (JIT):
+ (JSC):
+ * llint/LowLevelInterpreter.asm:
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+
+2013-03-28 Geoffrey Garen <gga...@apple.com>
+
Simplified the bytecode by removing op_jmp_scopes
https://bugs.webkit.org/show_bug.cgi?id=113545
Modified: trunk/Source/_javascript_Core/_javascript_Core.order (147189 => 147190)
--- trunk/Source/_javascript_Core/_javascript_Core.order 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/_javascript_Core.order 2013-03-29 01:09:53 UTC (rev 147190)
@@ -1620,8 +1620,6 @@
__ZN3JSC17BytecodeGenerator11emitPostDecEPNS_10RegisterIDES2_
__ZN3JSC3JIT16emit_op_post_decEPNS_11InstructionE
__ZN3JSC3JIT20emitSlow_op_post_decEPNS_11InstructionERPNS_13SlowCaseEntryE
-__ZN3JSC3JIT22emit_op_loop_if_lesseqEPNS_11InstructionE
-__ZN3JSC3JIT26emitSlow_op_loop_if_lesseqEPNS_11InstructionERPNS_13SlowCaseEntryE
__ZN3JSC7JSArray19getOwnPropertyNamesEPNS_9ExecStateERNS_17PropertyNameArrayENS_15EnumerationModeE
__ZN3JSC17PropertyNameArray3addEPN3WTF10StringImplE
__ZN3JSC9ExecState19arrayPrototypeTableEPS0_
@@ -2300,7 +2298,6 @@
__ZN3JSC20StrictEvalActivationD1Ev
__ZN3JSC27StrictModeTypeErrorFunctionD1Ev
__ZN3JSC9Arguments15copyToRegistersEPNS_9ExecStateEPNS_8RegisterEj
-_cti_op_loop_if_lesseq
__ZN3JSC23MacroAssemblerX86Common12branchTest32ENS0_15ResultConditionENS_22AbstractMacroAssemblerINS_12X86AssemblerEE7AddressENS4_12TrustedImm32E
__ZN3JSC23MacroAssemblerX86Common8branch32ENS0_19RelationalConditionENS_22AbstractMacroAssemblerINS_12X86AssemblerEE7AddressENS4_12TrustedImm32E
__ZN3JSC12X86Assembler23X86InstructionFormatter9twoByteOpENS0_15TwoByteOpcodeIDEiNS_12X86Registers10RegisterIDEi
Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (147189 => 147190)
--- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2013-03-29 01:09:53 UTC (rev 147190)
@@ -1191,23 +1191,10 @@
out.printf("[%4d] jmp\t\t %d(->%d)", location, offset, location + offset);
break;
}
- case op_loop: {
- int offset = (++it)->u.operand;
- out.printf("[%4d] loop\t\t %d(->%d)", location, offset, location + offset);
- break;
- }
case op_jtrue: {
printConditionalJump(out, exec, begin, it, location, "jtrue");
break;
}
- case op_loop_if_true: {
- printConditionalJump(out, exec, begin, it, location, "loop_if_true");
- break;
- }
- case op_loop_if_false: {
- printConditionalJump(out, exec, begin, it, location, "loop_if_false");
- break;
- }
case op_jfalse: {
printConditionalJump(out, exec, begin, it, location, "jfalse");
break;
@@ -1283,34 +1270,6 @@
out.printf("[%4d] jngreatereq\t\t %s, %s, %d(->%d)", location, registerName(exec, r0).data(), registerName(exec, r1).data(), offset, location + offset);
break;
}
- case op_loop_if_less: {
- int r0 = (++it)->u.operand;
- int r1 = (++it)->u.operand;
- int offset = (++it)->u.operand;
- out.printf("[%4d] loop_if_less\t %s, %s, %d(->%d)", location, registerName(exec, r0).data(), registerName(exec, r1).data(), offset, location + offset);
- break;
- }
- case op_loop_if_lesseq: {
- int r0 = (++it)->u.operand;
- int r1 = (++it)->u.operand;
- int offset = (++it)->u.operand;
- out.printf("[%4d] loop_if_lesseq\t %s, %s, %d(->%d)", location, registerName(exec, r0).data(), registerName(exec, r1).data(), offset, location + offset);
- break;
- }
- case op_loop_if_greater: {
- int r0 = (++it)->u.operand;
- int r1 = (++it)->u.operand;
- int offset = (++it)->u.operand;
- out.printf("[%4d] loop_if_greater\t %s, %s, %d(->%d)", location, registerName(exec, r0).data(), registerName(exec, r1).data(), offset, location + offset);
- break;
- }
- case op_loop_if_greatereq: {
- int r0 = (++it)->u.operand;
- int r1 = (++it)->u.operand;
- int offset = (++it)->u.operand;
- out.printf("[%4d] loop_if_greatereq\t %s, %s, %d(->%d)", location, registerName(exec, r0).data(), registerName(exec, r1).data(), offset, location + offset);
- break;
- }
case op_loop_hint: {
out.printf("[%4d] loop_hint", location);
break;
Modified: trunk/Source/_javascript_Core/bytecode/Opcode.h (147189 => 147190)
--- trunk/Source/_javascript_Core/bytecode/Opcode.h 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/bytecode/Opcode.h 2013-03-29 01:09:53 UTC (rev 147190)
@@ -172,13 +172,6 @@
macro(op_jnlesseq, 4) \
macro(op_jngreater, 4) \
macro(op_jngreatereq, 4) \
- macro(op_loop, 2) \
- macro(op_loop_if_true, 3) \
- macro(op_loop_if_false, 3) \
- macro(op_loop_if_less, 4) \
- macro(op_loop_if_lesseq, 4) \
- macro(op_loop_if_greater, 4) \
- macro(op_loop_if_greatereq, 4) \
macro(op_loop_hint, 1) \
macro(op_switch_imm, 4) \
macro(op_switch_char, 4) \
Modified: trunk/Source/_javascript_Core/bytecode/PreciseJumpTargets.cpp (147189 => 147190)
--- trunk/Source/_javascript_Core/bytecode/PreciseJumpTargets.cpp 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/bytecode/PreciseJumpTargets.cpp 2013-03-29 01:09:53 UTC (rev 147190)
@@ -54,15 +54,12 @@
Instruction* current = instructionsBegin + bytecodeOffset;
switch (opcodeID) {
case op_jmp:
- case op_loop:
out.append(bytecodeOffset + current[1].u.operand);
break;
case op_jtrue:
case op_jfalse:
case op_jeq_null:
case op_jneq_null:
- case op_loop_if_true:
- case op_loop_if_false:
out.append(bytecodeOffset + current[2].u.operand);
break;
case op_jneq_ptr:
@@ -74,10 +71,6 @@
case op_jnlesseq:
case op_jngreater:
case op_jngreatereq:
- case op_loop_if_less:
- case op_loop_if_lesseq:
- case op_loop_if_greater:
- case op_loop_if_greatereq:
out.append(bytecodeOffset + current[3].u.operand);
break;
case op_switch_imm:
Modified: trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.cpp (147189 => 147190)
--- trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.cpp 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.cpp 2013-03-29 01:09:53 UTC (rev 147190)
@@ -769,7 +769,7 @@
PassRefPtr<Label> BytecodeGenerator::emitJump(Label* target)
{
size_t begin = instructions().size();
- emitOpcode(target->isForward() ? op_jmp : op_loop);
+ emitOpcode(op_jmp);
instructions().append(target->bind(begin, instructions().size()));
return target;
}
@@ -787,7 +787,7 @@
rewindBinaryOp();
size_t begin = instructions().size();
- emitOpcode(target->isForward() ? op_jless : op_loop_if_less);
+ emitOpcode(op_jless);
instructions().append(src1Index);
instructions().append(src2Index);
instructions().append(target->bind(begin, instructions().size()));
@@ -804,7 +804,7 @@
rewindBinaryOp();
size_t begin = instructions().size();
- emitOpcode(target->isForward() ? op_jlesseq : op_loop_if_lesseq);
+ emitOpcode(op_jlesseq);
instructions().append(src1Index);
instructions().append(src2Index);
instructions().append(target->bind(begin, instructions().size()));
@@ -821,7 +821,7 @@
rewindBinaryOp();
size_t begin = instructions().size();
- emitOpcode(target->isForward() ? op_jgreater : op_loop_if_greater);
+ emitOpcode(op_jgreater);
instructions().append(src1Index);
instructions().append(src2Index);
instructions().append(target->bind(begin, instructions().size()));
@@ -838,7 +838,7 @@
rewindBinaryOp();
size_t begin = instructions().size();
- emitOpcode(target->isForward() ? op_jgreatereq : op_loop_if_greatereq);
+ emitOpcode(op_jgreatereq);
instructions().append(src1Index);
instructions().append(src2Index);
instructions().append(target->bind(begin, instructions().size()));
@@ -878,7 +878,7 @@
size_t begin = instructions().size();
- emitOpcode(target->isForward() ? op_jtrue : op_loop_if_true);
+ emitOpcode(op_jtrue);
instructions().append(cond->index());
instructions().append(target->bind(begin, instructions().size()));
return target;
@@ -964,7 +964,7 @@
rewindUnaryOp();
size_t begin = instructions().size();
- emitOpcode(target->isForward() ? op_jtrue : op_loop_if_true);
+ emitOpcode(op_jtrue);
instructions().append(srcIndex);
instructions().append(target->bind(begin, instructions().size()));
return target;
@@ -1002,7 +1002,7 @@
}
size_t begin = instructions().size();
- emitOpcode(target->isForward() ? op_jfalse : op_loop_if_false);
+ emitOpcode(op_jfalse);
instructions().append(cond->index());
instructions().append(target->bind(begin, instructions().size()));
return target;
Modified: trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp (147189 => 147190)
--- trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp 2013-03-29 01:09:53 UTC (rev 147190)
@@ -2712,14 +2712,7 @@
LAST_OPCODE(op_jmp);
}
- case op_loop: {
- unsigned relativeOffset = currentInstruction[1].u.operand;
- addToGraph(Jump, OpInfo(m_currentIndex + relativeOffset));
- LAST_OPCODE(op_loop);
- }
-
- case op_jtrue:
- case op_loop_if_true: {
+ case op_jtrue: {
unsigned relativeOffset = currentInstruction[2].u.operand;
Node* condition = get(currentInstruction[1].u.operand);
if (canFold(condition)) {
@@ -2738,8 +2731,7 @@
LAST_OPCODE(op_jtrue);
}
- case op_jfalse:
- case op_loop_if_false: {
+ case op_jfalse: {
unsigned relativeOffset = currentInstruction[2].u.operand;
Node* condition = get(currentInstruction[1].u.operand);
if (canFold(condition)) {
@@ -2774,8 +2766,7 @@
LAST_OPCODE(op_jneq_null);
}
- case op_jless:
- case op_loop_if_less: {
+ case op_jless: {
unsigned relativeOffset = currentInstruction[3].u.operand;
Node* op1 = get(currentInstruction[1].u.operand);
Node* op2 = get(currentInstruction[2].u.operand);
@@ -2801,8 +2792,7 @@
LAST_OPCODE(op_jless);
}
- case op_jlesseq:
- case op_loop_if_lesseq: {
+ case op_jlesseq: {
unsigned relativeOffset = currentInstruction[3].u.operand;
Node* op1 = get(currentInstruction[1].u.operand);
Node* op2 = get(currentInstruction[2].u.operand);
@@ -2828,8 +2818,7 @@
LAST_OPCODE(op_jlesseq);
}
- case op_jgreater:
- case op_loop_if_greater: {
+ case op_jgreater: {
unsigned relativeOffset = currentInstruction[3].u.operand;
Node* op1 = get(currentInstruction[1].u.operand);
Node* op2 = get(currentInstruction[2].u.operand);
@@ -2855,8 +2844,7 @@
LAST_OPCODE(op_jgreater);
}
- case op_jgreatereq:
- case op_loop_if_greatereq: {
+ case op_jgreatereq: {
unsigned relativeOffset = currentInstruction[3].u.operand;
Node* op1 = get(currentInstruction[1].u.operand);
Node* op2 = get(currentInstruction[2].u.operand);
Modified: trunk/Source/_javascript_Core/dfg/DFGCapabilities.h (147189 => 147190)
--- trunk/Source/_javascript_Core/dfg/DFGCapabilities.h 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/dfg/DFGCapabilities.h 2013-03-29 01:09:53 UTC (rev 147190)
@@ -143,11 +143,8 @@
case op_init_global_const:
case op_init_global_const_check:
case op_jmp:
- case op_loop:
case op_jtrue:
case op_jfalse:
- case op_loop_if_true:
- case op_loop_if_false:
case op_jeq_null:
case op_jneq_null:
case op_jless:
@@ -159,10 +156,6 @@
case op_jngreater:
case op_jngreatereq:
case op_loop_hint:
- case op_loop_if_less:
- case op_loop_if_lesseq:
- case op_loop_if_greater:
- case op_loop_if_greatereq:
case op_ret:
case op_end:
case op_call_put_result:
Modified: trunk/Source/_javascript_Core/jit/JIT.cpp (147189 => 147190)
--- trunk/Source/_javascript_Core/jit/JIT.cpp 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/jit/JIT.cpp 2013-03-29 01:09:53 UTC (rev 147190)
@@ -304,14 +304,7 @@
DEFINE_OP(op_jngreater)
DEFINE_OP(op_jngreatereq)
DEFINE_OP(op_jtrue)
- DEFINE_OP(op_loop)
DEFINE_OP(op_loop_hint)
- DEFINE_OP(op_loop_if_less)
- DEFINE_OP(op_loop_if_lesseq)
- DEFINE_OP(op_loop_if_greater)
- DEFINE_OP(op_loop_if_greatereq)
- DEFINE_OP(op_loop_if_true)
- DEFINE_OP(op_loop_if_false)
DEFINE_OP(op_lshift)
DEFINE_OP(op_mod)
DEFINE_OP(op_mov)
@@ -501,12 +494,6 @@
DEFINE_SLOWCASE_OP(op_jngreater)
DEFINE_SLOWCASE_OP(op_jngreatereq)
DEFINE_SLOWCASE_OP(op_jtrue)
- DEFINE_SLOWCASE_OP(op_loop_if_less)
- DEFINE_SLOWCASE_OP(op_loop_if_lesseq)
- DEFINE_SLOWCASE_OP(op_loop_if_greater)
- DEFINE_SLOWCASE_OP(op_loop_if_greatereq)
- DEFINE_SLOWCASE_OP(op_loop_if_true)
- DEFINE_SLOWCASE_OP(op_loop_if_false)
DEFINE_SLOWCASE_OP(op_lshift)
DEFINE_SLOWCASE_OP(op_mod)
DEFINE_SLOWCASE_OP(op_mul)
Modified: trunk/Source/_javascript_Core/jit/JIT.h (147189 => 147190)
--- trunk/Source/_javascript_Core/jit/JIT.h 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/jit/JIT.h 2013-03-29 01:09:53 UTC (rev 147190)
@@ -689,14 +689,7 @@
void emit_op_jngreater(Instruction*);
void emit_op_jngreatereq(Instruction*);
void emit_op_jtrue(Instruction*);
- void emit_op_loop(Instruction*);
void emit_op_loop_hint(Instruction*);
- void emit_op_loop_if_less(Instruction*);
- void emit_op_loop_if_lesseq(Instruction*);
- void emit_op_loop_if_greater(Instruction*);
- void emit_op_loop_if_greatereq(Instruction*);
- void emit_op_loop_if_true(Instruction*);
- void emit_op_loop_if_false(Instruction*);
void emit_op_lshift(Instruction*);
void emit_op_mod(Instruction*);
void emit_op_mov(Instruction*);
@@ -787,12 +780,6 @@
void emitSlow_op_jngreater(Instruction*, Vector<SlowCaseEntry>::iterator&);
void emitSlow_op_jngreatereq(Instruction*, Vector<SlowCaseEntry>::iterator&);
void emitSlow_op_jtrue(Instruction*, Vector<SlowCaseEntry>::iterator&);
- void emitSlow_op_loop_if_less(Instruction*, Vector<SlowCaseEntry>::iterator&);
- void emitSlow_op_loop_if_lesseq(Instruction*, Vector<SlowCaseEntry>::iterator&);
- void emitSlow_op_loop_if_greater(Instruction*, Vector<SlowCaseEntry>::iterator&);
- void emitSlow_op_loop_if_greatereq(Instruction*, Vector<SlowCaseEntry>::iterator&);
- void emitSlow_op_loop_if_true(Instruction*, Vector<SlowCaseEntry>::iterator&);
- void emitSlow_op_loop_if_false(Instruction*, Vector<SlowCaseEntry>::iterator&);
void emitSlow_op_lshift(Instruction*, Vector<SlowCaseEntry>::iterator&);
void emitSlow_op_mod(Instruction*, Vector<SlowCaseEntry>::iterator&);
void emitSlow_op_mul(Instruction*, Vector<SlowCaseEntry>::iterator&);
@@ -957,83 +944,11 @@
#endif
} JIT_CLASS_ALIGNMENT;
- inline void JIT::emit_op_loop(Instruction* currentInstruction)
- {
- emitTimeoutCheck();
- emit_op_jmp(currentInstruction);
- }
-
inline void JIT::emit_op_loop_hint(Instruction*)
{
emitOptimizationCheck(LoopOptimizationCheck);
}
- inline void JIT::emit_op_loop_if_true(Instruction* currentInstruction)
- {
- emitTimeoutCheck();
- emit_op_jtrue(currentInstruction);
- }
-
- inline void JIT::emitSlow_op_loop_if_true(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
- {
- emitSlow_op_jtrue(currentInstruction, iter);
- }
-
- inline void JIT::emit_op_loop_if_false(Instruction* currentInstruction)
- {
- emitTimeoutCheck();
- emit_op_jfalse(currentInstruction);
- }
-
- inline void JIT::emitSlow_op_loop_if_false(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
- {
- emitSlow_op_jfalse(currentInstruction, iter);
- }
-
- inline void JIT::emit_op_loop_if_less(Instruction* currentInstruction)
- {
- emitTimeoutCheck();
- emit_op_jless(currentInstruction);
- }
-
- inline void JIT::emitSlow_op_loop_if_less(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
- {
- emitSlow_op_jless(currentInstruction, iter);
- }
-
- inline void JIT::emit_op_loop_if_lesseq(Instruction* currentInstruction)
- {
- emitTimeoutCheck();
- emit_op_jlesseq(currentInstruction);
- }
-
- inline void JIT::emitSlow_op_loop_if_lesseq(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
- {
- emitSlow_op_jlesseq(currentInstruction, iter);
- }
-
- inline void JIT::emit_op_loop_if_greater(Instruction* currentInstruction)
- {
- emitTimeoutCheck();
- emit_op_jgreater(currentInstruction);
- }
-
- inline void JIT::emitSlow_op_loop_if_greater(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
- {
- emitSlow_op_jgreater(currentInstruction, iter);
- }
-
- inline void JIT::emit_op_loop_if_greatereq(Instruction* currentInstruction)
- {
- emitTimeoutCheck();
- emit_op_jgreatereq(currentInstruction);
- }
-
- inline void JIT::emitSlow_op_loop_if_greatereq(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
- {
- emitSlow_op_jgreatereq(currentInstruction, iter);
- }
-
} // namespace JSC
#endif // ENABLE(JIT)
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm (147189 => 147190)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm 2013-03-29 01:09:53 UTC (rev 147190)
@@ -973,13 +973,6 @@
dispatch(5)
-_llint_op_loop_if_true:
- traceExecution()
- jumpTrueOrFalse(
- macro (value, target) btinz value, target end,
- _llint_slow_path_jtrue)
-
-
_llint_op_jtrue:
traceExecution()
jumpTrueOrFalse(
@@ -987,13 +980,6 @@
_llint_slow_path_jtrue)
-_llint_op_loop_if_false:
- traceExecution()
- jumpTrueOrFalse(
- macro (value, target) btiz value, target end,
- _llint_slow_path_jfalse)
-
-
_llint_op_jfalse:
traceExecution()
jumpTrueOrFalse(
@@ -1001,14 +987,6 @@
_llint_slow_path_jfalse)
-_llint_op_loop_if_less:
- traceExecution()
- compare(
- macro (left, right, target) bilt left, right, target end,
- macro (left, right, target) bdlt left, right, target end,
- _llint_slow_path_jless)
-
-
_llint_op_jless:
traceExecution()
compare(
@@ -1025,14 +1003,6 @@
_llint_slow_path_jnless)
-_llint_op_loop_if_greater:
- traceExecution()
- compare(
- macro (left, right, target) bigt left, right, target end,
- macro (left, right, target) bdgt left, right, target end,
- _llint_slow_path_jgreater)
-
-
_llint_op_jgreater:
traceExecution()
compare(
@@ -1049,14 +1019,6 @@
_llint_slow_path_jngreater)
-_llint_op_loop_if_lesseq:
- traceExecution()
- compare(
- macro (left, right, target) bilteq left, right, target end,
- macro (left, right, target) bdlteq left, right, target end,
- _llint_slow_path_jlesseq)
-
-
_llint_op_jlesseq:
traceExecution()
compare(
@@ -1073,14 +1035,6 @@
_llint_slow_path_jnlesseq)
-_llint_op_loop_if_greatereq:
- traceExecution()
- compare(
- macro (left, right, target) bigteq left, right, target end,
- macro (left, right, target) bdgteq left, right, target end,
- _llint_slow_path_jgreatereq)
-
-
_llint_op_jgreatereq:
traceExecution()
compare(
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (147189 => 147190)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2013-03-29 01:09:53 UTC (rev 147190)
@@ -1410,11 +1410,6 @@
dispatch(5)
-_llint_op_loop:
- traceExecution()
- dispatchBranch(4[PC])
-
-
_llint_op_jmp:
traceExecution()
dispatchBranch(4[PC])
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm (147189 => 147190)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2013-03-29 01:01:01 UTC (rev 147189)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2013-03-29 01:09:53 UTC (rev 147190)
@@ -1233,11 +1233,6 @@
dispatch(5)
-_llint_op_loop:
- traceExecution()
- dispatchIntIndirect(1)
-
-
_llint_op_jmp:
traceExecution()
dispatchIntIndirect(1)