Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (202130 => 202131)
--- trunk/Source/_javascript_Core/ChangeLog 2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-06-16 18:25:54 UTC (rev 202131)
@@ -1,3 +1,20 @@
+2016-06-16 Mark Lam <[email protected]>
+
+ Add collecting of LLINT slow path stats.
+ https://bugs.webkit.org/show_bug.cgi?id=158829
+
+ Reviewed by Keith Miller.
+
+ * llint/LLIntData.cpp:
+ (JSC::LLInt::Data::dumpStats):
+ * llint/LLIntData.h:
+ * llint/LLIntSlowPaths.cpp:
+ (JSC::LLInt::LLINT_SLOW_PATH_DECL):
+ * llint/LLIntSlowPaths.h:
+ * llint/LowLevelInterpreter.asm:
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+
2016-06-15 Keith Miller <[email protected]>
Add support for Symbol.isConcatSpreadable (round 2)
Modified: trunk/Source/_javascript_Core/llint/LLIntData.cpp (202130 => 202131)
--- trunk/Source/_javascript_Core/llint/LLIntData.cpp 2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/_javascript_Core/llint/LLIntData.cpp 2016-06-16 18:25:54 UTC (rev 202131)
@@ -236,14 +236,18 @@
auto statsCopy = *s_opcodeStatsArray;
std::sort(statsCopy.begin(), statsCopy.end(), [] (OpcodeStats& a, OpcodeStats& b) -> bool {
- return a.count > b.count;
+ if (a.count > b.count)
+ return true;
+ if (a.count < b.count)
+ return false;
+ return a.slowPathCount > b.slowPathCount;
});
dataLog("Opcode stats:\n");
unsigned i = 0;
for (auto& stats : statsCopy) {
if (stats.count)
- dataLog(" [", i++, "]: fast:", stats.count, " ", opcodeNames[stats.id], "\n");
+ dataLog(" [", i++, "]: fast:", stats.count, " slow:", stats.slowPathCount, " ", opcodeNames[stats.id], "\n");
}
#endif
}
Modified: trunk/Source/_javascript_Core/llint/LLIntData.h (202130 => 202131)
--- trunk/Source/_javascript_Core/llint/LLIntData.h 2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/_javascript_Core/llint/LLIntData.h 2016-06-16 18:25:54 UTC (rev 202131)
@@ -46,6 +46,7 @@
struct OpcodeStats {
OpcodeID id;
size_t count { 0 };
+ size_t slowPathCount { 0 };
};
typedef std::array<OpcodeStats, numOpcodeIDs> OpcodeStatsArray;
Modified: trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp (202130 => 202131)
--- trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp 2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp 2016-06-16 18:25:54 UTC (rev 202131)
@@ -1655,6 +1655,13 @@
LLINT_END_IMPL();
}
+LLINT_SLOW_PATH_DECL(count_opcode_slow_path)
+{
+ OpcodeID opcodeID = exec->vm().interpreter->getOpcodeID(pc[0].u.opcode);
+ Data::opcodeStats(opcodeID).slowPathCount++;
+ LLINT_END_IMPL();
+}
+
#endif // ENABLE(LLINT_STATS)
} } // namespace JSC::LLInt
Modified: trunk/Source/_javascript_Core/llint/LLIntSlowPaths.h (202130 => 202131)
--- trunk/Source/_javascript_Core/llint/LLIntSlowPaths.h 2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/_javascript_Core/llint/LLIntSlowPaths.h 2016-06-16 18:25:54 UTC (rev 202131)
@@ -55,6 +55,7 @@
LLINT_SLOW_PATH_HIDDEN_DECL(trace);
LLINT_SLOW_PATH_HIDDEN_DECL(special_trace);
LLINT_SLOW_PATH_HIDDEN_DECL(count_opcode);
+LLINT_SLOW_PATH_HIDDEN_DECL(count_opcode_slow_path);
LLINT_SLOW_PATH_HIDDEN_DECL(entry_osr);
LLINT_SLOW_PATH_HIDDEN_DECL(entry_osr_function_for_call);
LLINT_SLOW_PATH_HIDDEN_DECL(entry_osr_function_for_construct);
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm (202130 => 202131)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm 2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm 2016-06-16 18:25:54 UTC (rev 202131)
@@ -735,6 +735,17 @@
end
end
+macro traceSlowPathExecution()
+ if COLLECT_STATS
+ callSlowPath(_llint_count_opcode_slow_path)
+ end
+end
+
+macro callOpcodeSlowPath(slowPath)
+ traceSlowPathExecution()
+ callSlowPath(slowPath)
+end
+
macro callTargetFunction(callee)
if C_LOOP
cloopCallJSFunction callee
@@ -799,6 +810,7 @@
end
macro slowPathForCall(slowPath, prepareCall)
+ traceSlowPathExecution()
callCallSlowPath(
slowPath,
# Those are r0 and r1
@@ -839,7 +851,7 @@
checkSwitchToJIT(
10,
macro ()
- callSlowPath(_llint_replace)
+ callOpcodeSlowPath(_llint_replace)
end)
end
@@ -1222,162 +1234,162 @@
# Value-representation-agnostic code.
_llint_op_create_direct_arguments:
traceExecution()
- callSlowPath(_slow_path_create_direct_arguments)
+ callOpcodeSlowPath(_slow_path_create_direct_arguments)
dispatch(2)
_llint_op_create_scoped_arguments:
traceExecution()
- callSlowPath(_slow_path_create_scoped_arguments)
+ callOpcodeSlowPath(_slow_path_create_scoped_arguments)
dispatch(3)
_llint_op_create_cloned_arguments:
traceExecution()
- callSlowPath(_slow_path_create_cloned_arguments)
+ callOpcodeSlowPath(_slow_path_create_cloned_arguments)
dispatch(2)
_llint_op_new_func:
traceExecution()
- callSlowPath(_llint_slow_path_new_func)
+ callOpcodeSlowPath(_llint_slow_path_new_func)
dispatch(4)
_llint_op_new_generator_func:
traceExecution()
- callSlowPath(_llint_slow_path_new_generator_func)
+ callOpcodeSlowPath(_llint_slow_path_new_generator_func)
dispatch(4)
_llint_op_new_array:
traceExecution()
- callSlowPath(_llint_slow_path_new_array)
+ callOpcodeSlowPath(_llint_slow_path_new_array)
dispatch(5)
_llint_op_new_array_with_size:
traceExecution()
- callSlowPath(_llint_slow_path_new_array_with_size)
+ callOpcodeSlowPath(_llint_slow_path_new_array_with_size)
dispatch(4)
_llint_op_new_array_buffer:
traceExecution()
- callSlowPath(_llint_slow_path_new_array_buffer)
+ callOpcodeSlowPath(_llint_slow_path_new_array_buffer)
dispatch(5)
_llint_op_new_regexp:
traceExecution()
- callSlowPath(_llint_slow_path_new_regexp)
+ callOpcodeSlowPath(_llint_slow_path_new_regexp)
dispatch(3)
_llint_op_less:
traceExecution()
- callSlowPath(_slow_path_less)
+ callOpcodeSlowPath(_slow_path_less)
dispatch(4)
_llint_op_lesseq:
traceExecution()
- callSlowPath(_slow_path_lesseq)
+ callOpcodeSlowPath(_slow_path_lesseq)
dispatch(4)
_llint_op_greater:
traceExecution()
- callSlowPath(_slow_path_greater)
+ callOpcodeSlowPath(_slow_path_greater)
dispatch(4)
_llint_op_greatereq:
traceExecution()
- callSlowPath(_slow_path_greatereq)
+ callOpcodeSlowPath(_slow_path_greatereq)
dispatch(4)
_llint_op_mod:
traceExecution()
- callSlowPath(_slow_path_mod)
+ callOpcodeSlowPath(_slow_path_mod)
dispatch(4)
_llint_op_typeof:
traceExecution()
- callSlowPath(_slow_path_typeof)
+ callOpcodeSlowPath(_slow_path_typeof)
dispatch(3)
_llint_op_is_object_or_null:
traceExecution()
- callSlowPath(_slow_path_is_object_or_null)
+ callOpcodeSlowPath(_slow_path_is_object_or_null)
dispatch(3)
_llint_op_is_function:
traceExecution()
- callSlowPath(_slow_path_is_function)
+ callOpcodeSlowPath(_slow_path_is_function)
dispatch(3)
_llint_op_in:
traceExecution()
- callSlowPath(_slow_path_in)
+ callOpcodeSlowPath(_slow_path_in)
dispatch(4)
_llint_op_try_get_by_id:
traceExecution()
- callSlowPath(_llint_slow_path_try_get_by_id)
+ callOpcodeSlowPath(_llint_slow_path_try_get_by_id)
dispatch(4)
_llint_op_del_by_id:
traceExecution()
- callSlowPath(_llint_slow_path_del_by_id)
+ callOpcodeSlowPath(_llint_slow_path_del_by_id)
dispatch(4)
_llint_op_del_by_val:
traceExecution()
- callSlowPath(_llint_slow_path_del_by_val)
+ callOpcodeSlowPath(_llint_slow_path_del_by_val)
dispatch(4)
_llint_op_put_by_index:
traceExecution()
- callSlowPath(_llint_slow_path_put_by_index)
+ callOpcodeSlowPath(_llint_slow_path_put_by_index)
dispatch(4)
_llint_op_put_getter_by_id:
traceExecution()
- callSlowPath(_llint_slow_path_put_getter_by_id)
+ callOpcodeSlowPath(_llint_slow_path_put_getter_by_id)
dispatch(5)
_llint_op_put_setter_by_id:
traceExecution()
- callSlowPath(_llint_slow_path_put_setter_by_id)
+ callOpcodeSlowPath(_llint_slow_path_put_setter_by_id)
dispatch(5)
_llint_op_put_getter_setter_by_id:
traceExecution()
- callSlowPath(_llint_slow_path_put_getter_setter_by_id)
+ callOpcodeSlowPath(_llint_slow_path_put_getter_setter_by_id)
dispatch(6)
_llint_op_put_getter_by_val:
traceExecution()
- callSlowPath(_llint_slow_path_put_getter_by_val)
+ callOpcodeSlowPath(_llint_slow_path_put_getter_by_val)
dispatch(5)
_llint_op_put_setter_by_val:
traceExecution()
- callSlowPath(_llint_slow_path_put_setter_by_val)
+ callOpcodeSlowPath(_llint_slow_path_put_setter_by_val)
dispatch(5)
@@ -1496,23 +1508,23 @@
_llint_op_switch_string:
traceExecution()
- callSlowPath(_llint_slow_path_switch_string)
+ callOpcodeSlowPath(_llint_slow_path_switch_string)
dispatch(0)
_llint_op_new_func_exp:
traceExecution()
- callSlowPath(_llint_slow_path_new_func_exp)
+ callOpcodeSlowPath(_llint_slow_path_new_func_exp)
dispatch(4)
_llint_op_new_generator_func_exp:
traceExecution()
- callSlowPath(_llint_slow_path_new_generator_func_exp)
+ callOpcodeSlowPath(_llint_slow_path_new_generator_func_exp)
dispatch(4)
_llint_op_set_function_name:
traceExecution()
- callSlowPath(_llint_slow_path_set_function_name)
+ callOpcodeSlowPath(_llint_slow_path_set_function_name)
dispatch(3)
_llint_op_call:
@@ -1531,7 +1543,7 @@
doCall(_llint_slow_path_construct, prepareForRegularCall)
macro doCallVarargs(frameSlowPath, slowPath, prepareCall)
- callSlowPath(frameSlowPath)
+ callOpcodeSlowPath(frameSlowPath)
branchIfException(_llint_throw_from_slow_path_trampoline)
# calleeFrame in r1
if JSVALUE64
@@ -1618,49 +1630,49 @@
_llint_op_strcat:
traceExecution()
- callSlowPath(_slow_path_strcat)
+ callOpcodeSlowPath(_slow_path_strcat)
dispatch(4)
_llint_op_push_with_scope:
traceExecution()
- callSlowPath(_slow_path_push_with_scope)
+ callOpcodeSlowPath(_slow_path_push_with_scope)
dispatch(4)
_llint_op_assert:
traceExecution()
- callSlowPath(_slow_path_assert)
+ callOpcodeSlowPath(_slow_path_assert)
dispatch(3)
_llint_op_save:
traceExecution()
- callSlowPath(_slow_path_save)
+ callOpcodeSlowPath(_slow_path_save)
dispatch(4)
_llint_op_resume:
traceExecution()
- callSlowPath(_slow_path_resume)
+ callOpcodeSlowPath(_slow_path_resume)
dispatch(3)
_llint_op_create_lexical_environment:
traceExecution()
- callSlowPath(_slow_path_create_lexical_environment)
+ callOpcodeSlowPath(_slow_path_create_lexical_environment)
dispatch(5)
_llint_op_throw:
traceExecution()
- callSlowPath(_llint_slow_path_throw)
+ callOpcodeSlowPath(_llint_slow_path_throw)
dispatch(2)
_llint_op_throw_static_error:
traceExecution()
- callSlowPath(_llint_slow_path_throw_static_error)
+ callOpcodeSlowPath(_llint_slow_path_throw_static_error)
dispatch(3)
@@ -1669,7 +1681,7 @@
loadp CodeBlock[cfr], t0
loadi CodeBlock::m_debuggerRequests[t0], t0
btiz t0, .opDebugDone
- callSlowPath(_llint_slow_path_debug)
+ callOpcodeSlowPath(_llint_slow_path_debug)
.opDebugDone:
dispatch(3)
@@ -1683,77 +1695,77 @@
_llint_op_get_enumerable_length:
traceExecution()
- callSlowPath(_slow_path_get_enumerable_length)
+ callOpcodeSlowPath(_slow_path_get_enumerable_length)
dispatch(3)
_llint_op_has_indexed_property:
traceExecution()
- callSlowPath(_slow_path_has_indexed_property)
+ callOpcodeSlowPath(_slow_path_has_indexed_property)
dispatch(5)
_llint_op_has_structure_property:
traceExecution()
- callSlowPath(_slow_path_has_structure_property)
+ callOpcodeSlowPath(_slow_path_has_structure_property)
dispatch(5)
_llint_op_has_generic_property:
traceExecution()
- callSlowPath(_slow_path_has_generic_property)
+ callOpcodeSlowPath(_slow_path_has_generic_property)
dispatch(4)
_llint_op_get_direct_pname:
traceExecution()
- callSlowPath(_slow_path_get_direct_pname)
+ callOpcodeSlowPath(_slow_path_get_direct_pname)
dispatch(7)
_llint_op_get_property_enumerator:
traceExecution()
- callSlowPath(_slow_path_get_property_enumerator)
+ callOpcodeSlowPath(_slow_path_get_property_enumerator)
dispatch(3)
_llint_op_enumerator_structure_pname:
traceExecution()
- callSlowPath(_slow_path_next_structure_enumerator_pname)
+ callOpcodeSlowPath(_slow_path_next_structure_enumerator_pname)
dispatch(4)
_llint_op_enumerator_generic_pname:
traceExecution()
- callSlowPath(_slow_path_next_generic_enumerator_pname)
+ callOpcodeSlowPath(_slow_path_next_generic_enumerator_pname)
dispatch(4)
_llint_op_to_index_string:
traceExecution()
- callSlowPath(_slow_path_to_index_string)
+ callOpcodeSlowPath(_slow_path_to_index_string)
dispatch(3)
_llint_op_copy_rest:
traceExecution()
- callSlowPath(_slow_path_copy_rest)
+ callOpcodeSlowPath(_slow_path_copy_rest)
dispatch(4)
_llint_op_instanceof:
traceExecution()
- callSlowPath(_llint_slow_path_instanceof)
+ callOpcodeSlowPath(_llint_slow_path_instanceof)
dispatch(4)
_llint_op_get_by_id_with_this:
traceExecution()
- callSlowPath(_slow_path_get_by_id_with_this)
+ callOpcodeSlowPath(_slow_path_get_by_id_with_this)
dispatch(5)
_llint_op_get_by_val_with_this:
traceExecution()
- callSlowPath(_slow_path_get_by_val_with_this)
+ callOpcodeSlowPath(_slow_path_get_by_val_with_this)
dispatch(5)
_llint_op_put_by_id_with_this:
traceExecution()
- callSlowPath(_slow_path_put_by_id_with_this)
+ callOpcodeSlowPath(_slow_path_put_by_id_with_this)
dispatch(5)
_llint_op_put_by_val_with_this:
traceExecution()
- callSlowPath(_slow_path_put_by_val_with_this)
+ callOpcodeSlowPath(_slow_path_put_by_val_with_this)
dispatch(5)
# Lastly, make sure that we can link even though we don't support all opcodes.
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (202130 => 202131)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2016-06-16 18:25:54 UTC (rev 202131)
@@ -673,7 +673,7 @@
addi 1, t2
btinz t2, .opEnterLoop
.opEnterDone:
- callSlowPath(_slow_path_enter)
+ callOpcodeSlowPath(_slow_path_enter)
dispatch(1)
@@ -719,7 +719,7 @@
dispatch(5)
.opCreateThisSlow:
- callSlowPath(_slow_path_create_this)
+ callOpcodeSlowPath(_slow_path_create_this)
dispatch(5)
@@ -734,7 +734,7 @@
dispatch(4)
.opToThisSlow:
- callSlowPath(_slow_path_to_this)
+ callOpcodeSlowPath(_slow_path_to_this)
dispatch(4)
@@ -750,7 +750,7 @@
dispatch(4)
.opNewObjectSlow:
- callSlowPath(_llint_slow_path_new_object)
+ callOpcodeSlowPath(_llint_slow_path_new_object)
dispatch(4)
@@ -759,7 +759,7 @@
loadisFromInstruction(1, t0)
loadConstantOrVariableTag(t0, t1)
bineq t1, EmptyValueTag, .opNotTDZ
- callSlowPath(_slow_path_throw_tdz_error)
+ callOpcodeSlowPath(_slow_path_throw_tdz_error)
.opNotTDZ:
dispatch(2)
@@ -787,7 +787,7 @@
dispatch(3)
.opNotSlow:
- callSlowPath(_slow_path_not)
+ callOpcodeSlowPath(_slow_path_not)
dispatch(3)
@@ -807,7 +807,7 @@
dispatch(4)
.opEqSlow:
- callSlowPath(_slow_path_eq)
+ callOpcodeSlowPath(_slow_path_eq)
dispatch(4)
@@ -854,7 +854,7 @@
dispatch(4)
.opNeqSlow:
- callSlowPath(_slow_path_neq)
+ callOpcodeSlowPath(_slow_path_neq)
dispatch(4)
@@ -903,7 +903,7 @@
dispatch(4)
.slow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(4)
end
@@ -927,7 +927,7 @@
dispatch(2)
.opIncSlow:
- callSlowPath(_slow_path_inc)
+ callOpcodeSlowPath(_slow_path_inc)
dispatch(2)
@@ -941,7 +941,7 @@
dispatch(2)
.opDecSlow:
- callSlowPath(_slow_path_dec)
+ callOpcodeSlowPath(_slow_path_dec)
dispatch(2)
@@ -958,7 +958,7 @@
dispatch(3)
.opToNumberSlow:
- callSlowPath(_slow_path_to_number)
+ callOpcodeSlowPath(_slow_path_to_number)
dispatch(3)
@@ -975,7 +975,7 @@
dispatch(3)
.opToStringSlow:
- callSlowPath(_slow_path_to_string)
+ callOpcodeSlowPath(_slow_path_to_string)
dispatch(3)
@@ -998,7 +998,7 @@
dispatch(3)
.opNegateSlow:
- callSlowPath(_slow_path_negate)
+ callOpcodeSlowPath(_slow_path_negate)
dispatch(3)
@@ -1040,7 +1040,7 @@
dispatch(5)
.slow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(5)
end
@@ -1121,7 +1121,7 @@
dispatch(advance)
.slow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(advance)
end
@@ -1159,7 +1159,7 @@
storei Int32Tag, TagOffset[cfr, t0, 8]
dispatch(3)
.opUnsignedSlow:
- callSlowPath(_slow_path_unsigned)
+ callOpcodeSlowPath(_slow_path_unsigned)
dispatch(3)
@@ -1219,7 +1219,7 @@
_llint_op_instanceof_custom:
traceExecution()
- callSlowPath(_llint_slow_path_instanceof_custom)
+ callOpcodeSlowPath(_llint_slow_path_instanceof_custom)
dispatch(5)
@@ -1382,7 +1382,7 @@
dispatch(9)
.opGetByIdSlow:
- callSlowPath(_llint_slow_path_get_by_id)
+ callOpcodeSlowPath(_llint_slow_path_get_by_id)
dispatch(9)
@@ -1402,7 +1402,7 @@
dispatch(9)
.opGetByIdProtoSlow:
- callSlowPath(_llint_slow_path_get_by_id)
+ callOpcodeSlowPath(_llint_slow_path_get_by_id)
dispatch(9)
@@ -1419,7 +1419,7 @@
dispatch(9)
.opGetByIdUnsetSlow:
- callSlowPath(_llint_slow_path_get_by_id)
+ callOpcodeSlowPath(_llint_slow_path_get_by_id)
dispatch(9)
@@ -1442,7 +1442,7 @@
dispatch(9)
.opGetArrayLengthSlow:
- callSlowPath(_llint_slow_path_get_by_id)
+ callOpcodeSlowPath(_llint_slow_path_get_by_id)
dispatch(9)
@@ -1573,7 +1573,7 @@
dispatch(9)
.opPutByIdSlow:
- callSlowPath(_llint_slow_path_put_by_id)
+ callOpcodeSlowPath(_llint_slow_path_put_by_id)
dispatch(9)
@@ -1627,7 +1627,7 @@
loadpFromInstruction(4, t0)
storeb 1, ArrayProfile::m_outOfBounds[t0]
.opGetByValSlow:
- callSlowPath(_llint_slow_path_get_by_val)
+ callOpcodeSlowPath(_llint_slow_path_get_by_val)
dispatch(6)
@@ -1719,7 +1719,7 @@
loadpFromInstruction(4, t0)
storeb 1, ArrayProfile::m_outOfBounds[t0]
.opPutByValSlow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(5)
end
@@ -1744,7 +1744,7 @@
dispatchBranch(8[PC])
.slow:
- callSlowPath(slow)
+ callOpcodeSlowPath(slow)
dispatch(0)
end
@@ -1842,7 +1842,7 @@
dispatchBranch(12[PC])
.slow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(0)
end
@@ -1871,7 +1871,7 @@
dispatchBranch(8[PC])
.opSwitchImmSlow:
- callSlowPath(_llint_slow_path_switch_imm)
+ callOpcodeSlowPath(_llint_slow_path_switch_imm)
dispatch(0)
@@ -1908,7 +1908,7 @@
dispatchBranch(8[PC])
.opSwitchOnRope:
- callSlowPath(_llint_slow_path_switch_char)
+ callOpcodeSlowPath(_llint_slow_path_switch_char)
dispatch(0)
@@ -1967,7 +1967,7 @@
dispatch(3)
.opToPrimitiveSlowCase:
- callSlowPath(_slow_path_to_primitive)
+ callOpcodeSlowPath(_slow_path_to_primitive)
dispatch(3)
@@ -1987,7 +1987,7 @@
loadi VM::targetInterpreterPCForThrow[t3], PC
- callSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
+ callOpcodeSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
bpeq r1, 0, .isCatchableException
jmp _llint_throw_from_slow_path_trampoline
@@ -2182,7 +2182,7 @@
dispatch(7)
.rDynamic:
- callSlowPath(_slow_path_resolve_scope)
+ callOpcodeSlowPath(_slow_path_resolve_scope)
dispatch(7)
@@ -2282,7 +2282,7 @@
dispatch(8)
.gDynamic:
- callSlowPath(_llint_slow_path_get_from_scope)
+ callOpcodeSlowPath(_llint_slow_path_get_from_scope)
dispatch(8)
@@ -2393,11 +2393,11 @@
.pModuleVar:
bineq t0, ModuleVar, .pDynamic
- callSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
+ callOpcodeSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
dispatch(7)
.pDynamic:
- callSlowPath(_llint_slow_path_put_to_scope)
+ callOpcodeSlowPath(_llint_slow_path_put_to_scope)
dispatch(7)
@@ -2477,7 +2477,7 @@
loadp TypeProfilerLog::m_logEndPtr[t1], t1
bpneq t2, t1, .opProfileTypeDone
- callSlowPath(_slow_path_profile_type_clear_log)
+ callOpcodeSlowPath(_slow_path_profile_type_clear_log)
.opProfileTypeDone:
dispatch(6)
@@ -2524,7 +2524,7 @@
storep t1, ShadowChicken::Packet::scope[t0]
dispatch(2)
.opLogShadowChickenPrologueSlow:
- callSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
+ callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
dispatch(2)
@@ -2544,5 +2544,5 @@
storei PC, ShadowChicken::Packet::callSiteIndex[t0]
dispatch(3)
.opLogShadowChickenTailSlow:
- callSlowPath(_llint_slow_path_log_shadow_chicken_tail)
+ callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_tail)
dispatch(3)
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm (202130 => 202131)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2016-06-16 18:12:41 UTC (rev 202130)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2016-06-16 18:25:54 UTC (rev 202131)
@@ -580,7 +580,7 @@
addq 1, t2
btqnz t2, .opEnterLoop
.opEnterDone:
- callSlowPath(_slow_path_enter)
+ callOpcodeSlowPath(_slow_path_enter)
dispatch(1)
@@ -623,7 +623,7 @@
dispatch(5)
.opCreateThisSlow:
- callSlowPath(_slow_path_create_this)
+ callOpcodeSlowPath(_slow_path_create_this)
dispatch(5)
@@ -639,7 +639,7 @@
dispatch(4)
.opToThisSlow:
- callSlowPath(_slow_path_to_this)
+ callOpcodeSlowPath(_slow_path_to_this)
dispatch(4)
@@ -654,7 +654,7 @@
dispatch(4)
.opNewObjectSlow:
- callSlowPath(_llint_slow_path_new_object)
+ callOpcodeSlowPath(_llint_slow_path_new_object)
dispatch(4)
@@ -663,7 +663,7 @@
loadisFromInstruction(1, t0)
loadConstantOrVariable(t0, t1)
bqneq t1, ValueEmpty, .opNotTDZ
- callSlowPath(_slow_path_throw_tdz_error)
+ callOpcodeSlowPath(_slow_path_throw_tdz_error)
.opNotTDZ:
dispatch(2)
@@ -690,7 +690,7 @@
dispatch(3)
.opNotSlow:
- callSlowPath(_slow_path_not)
+ callOpcodeSlowPath(_slow_path_not)
dispatch(3)
@@ -707,7 +707,7 @@
dispatch(4)
.slow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(4)
end
@@ -782,7 +782,7 @@
dispatch(4)
.slow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(4)
end
@@ -809,7 +809,7 @@
dispatch(2)
.slow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(2)
end
@@ -837,7 +837,7 @@
dispatch(3)
.opToNumberSlow:
- callSlowPath(_slow_path_to_number)
+ callOpcodeSlowPath(_slow_path_to_number)
dispatch(3)
@@ -853,7 +853,7 @@
dispatch(3)
.opToStringSlow:
- callSlowPath(_slow_path_to_string)
+ callOpcodeSlowPath(_slow_path_to_string)
dispatch(3)
@@ -875,7 +875,7 @@
dispatch(3)
.opNegateSlow:
- callSlowPath(_slow_path_negate)
+ callOpcodeSlowPath(_slow_path_negate)
dispatch(3)
@@ -924,7 +924,7 @@
dispatch(5)
.slow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(5)
end
@@ -996,7 +996,7 @@
macro (left, right) divd left, right end,
_slow_path_div)
else
- callSlowPath(_slow_path_div)
+ callOpcodeSlowPath(_slow_path_div)
dispatch(5)
end
@@ -1015,7 +1015,7 @@
dispatch(advance)
.slow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(advance)
end
@@ -1052,7 +1052,7 @@
storeq t2, [cfr, t0, 8]
dispatch(3)
.opUnsignedSlow:
- callSlowPath(_slow_path_unsigned)
+ callOpcodeSlowPath(_slow_path_unsigned)
dispatch(3)
@@ -1105,7 +1105,7 @@
_llint_op_instanceof_custom:
traceExecution()
- callSlowPath(_llint_slow_path_instanceof_custom)
+ callOpcodeSlowPath(_llint_slow_path_instanceof_custom)
dispatch(5)
@@ -1253,7 +1253,7 @@
dispatch(9)
.opGetByIdSlow:
- callSlowPath(_llint_slow_path_get_by_id)
+ callOpcodeSlowPath(_llint_slow_path_get_by_id)
dispatch(9)
@@ -1273,7 +1273,7 @@
dispatch(9)
.opGetByIdProtoSlow:
- callSlowPath(_llint_slow_path_get_by_id)
+ callOpcodeSlowPath(_llint_slow_path_get_by_id)
dispatch(9)
@@ -1290,7 +1290,7 @@
dispatch(9)
.opGetByIdUnsetSlow:
- callSlowPath(_llint_slow_path_get_by_id)
+ callOpcodeSlowPath(_llint_slow_path_get_by_id)
dispatch(9)
@@ -1313,7 +1313,7 @@
dispatch(9)
.opGetArrayLengthSlow:
- callSlowPath(_llint_slow_path_get_by_id)
+ callOpcodeSlowPath(_llint_slow_path_get_by_id)
dispatch(9)
@@ -1452,7 +1452,7 @@
dispatch(9)
.opPutByIdSlow:
- callSlowPath(_llint_slow_path_put_by_id)
+ callOpcodeSlowPath(_llint_slow_path_put_by_id)
dispatch(9)
macro finishGetByVal(result, scratch)
@@ -1589,7 +1589,7 @@
finishDoubleGetByVal(ft0, t0, t1)
.opGetByValSlow:
- callSlowPath(_llint_slow_path_get_by_val)
+ callOpcodeSlowPath(_llint_slow_path_get_by_val)
dispatch(6)
@@ -1677,7 +1677,7 @@
loadpFromInstruction(4, t0)
storeb 1, ArrayProfile::m_outOfBounds[t0]
.opPutByValSlow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(5)
end
@@ -1705,7 +1705,7 @@
dispatchIntIndirect(2)
.slow:
- callSlowPath(slow)
+ callOpcodeSlowPath(slow)
dispatch(0)
end
@@ -1804,7 +1804,7 @@
dispatchIntIndirect(3)
.slow:
- callSlowPath(slowPath)
+ callOpcodeSlowPath(slowPath)
dispatch(0)
end
@@ -1833,7 +1833,7 @@
dispatchIntIndirect(2)
.opSwitchImmSlow:
- callSlowPath(_llint_slow_path_switch_imm)
+ callOpcodeSlowPath(_llint_slow_path_switch_imm)
dispatch(0)
@@ -1870,7 +1870,7 @@
dispatchIntIndirect(2)
.opSwitchOnRope:
- callSlowPath(_llint_slow_path_switch_char)
+ callOpcodeSlowPath(_llint_slow_path_switch_char)
dispatch(0)
@@ -1927,7 +1927,7 @@
dispatch(3)
.opToPrimitiveSlowCase:
- callSlowPath(_slow_path_to_primitive)
+ callOpcodeSlowPath(_slow_path_to_primitive)
dispatch(3)
@@ -1951,7 +1951,7 @@
subp PB, PC
rshiftp 3, PC
- callSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
+ callOpcodeSlowPath(_llint_slow_path_check_if_exception_is_uncatchable_and_notify_profiler)
bpeq r1, 0, .isCatchableException
jmp _llint_throw_from_slow_path_trampoline
@@ -2129,7 +2129,7 @@
dispatch(7)
.rDynamic:
- callSlowPath(_slow_path_resolve_scope)
+ callOpcodeSlowPath(_slow_path_resolve_scope)
dispatch(7)
@@ -2225,7 +2225,7 @@
dispatch(8)
.gDynamic:
- callSlowPath(_llint_slow_path_get_from_scope)
+ callOpcodeSlowPath(_llint_slow_path_get_from_scope)
dispatch(8)
@@ -2346,11 +2346,11 @@
.pModuleVar:
bineq t0, ModuleVar, .pDynamic
- callSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
+ callOpcodeSlowPath(_slow_path_throw_strict_mode_readonly_property_write_error)
dispatch(7)
.pDynamic:
- callSlowPath(_llint_slow_path_put_to_scope)
+ callOpcodeSlowPath(_llint_slow_path_put_to_scope)
dispatch(7)
@@ -2420,7 +2420,7 @@
loadp TypeProfilerLog::m_logEndPtr[t1], t1
bpneq t2, t1, .opProfileTypeDone
- callSlowPath(_slow_path_profile_type_clear_log)
+ callOpcodeSlowPath(_slow_path_profile_type_clear_log)
.opProfileTypeDone:
dispatch(6)
@@ -2461,7 +2461,7 @@
storep t1, ShadowChicken::Packet::scope[t0]
dispatch(2)
.opLogShadowChickenPrologueSlow:
- callSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
+ callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_prologue)
dispatch(2)
@@ -2479,5 +2479,5 @@
storei PC, ShadowChicken::Packet::callSiteIndex[t0]
dispatch(3)
.opLogShadowChickenTailSlow:
- callSlowPath(_llint_slow_path_log_shadow_chicken_tail)
+ callOpcodeSlowPath(_llint_slow_path_log_shadow_chicken_tail)
dispatch(3)