src/share/vm/runtime/deoptimization.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/runtime/deoptimization.cpp	Wed May 14 17:26:05 2014
--- new/src/share/vm/runtime/deoptimization.cpp	Wed May 14 17:26:05 2014

*** 1338,1348 **** --- 1338,1348 ---- class_name = constants->symbol_at(unloaded_class_index); } if (xtty != NULL) xtty->name(class_name); } ! if (xtty != NULL && trap_mdo != NULL && reason < MethodData::_trap_hist_limit) { // Dump the relevant MDO state. // This is the deopt count for the current reason, any previous // reasons or recompiles seen at this point. int dcnt = trap_mdo->trap_count(reason); if (dcnt != 0)
*** 1837,1847 **** --- 1837,1848 ---- "age", "predicate", "loop_limit_check", "speculate_class_check", "speculate_null_check", ! "rtm_state_change", + "tenured" }; const char* Deoptimization::_trap_action_name[Action_LIMIT] = { // Note: Keep this in sync. with enum DeoptAction. "none", "maybe_recompile",
*** 1850,1868 **** --- 1851,1875 ---- "make_not_compilable" }; const char* Deoptimization::trap_reason_name(int reason) { if (reason == Reason_many) return "many"; ! if ((uint)reason < Reason_LIMIT) { ! return _trap_reason_name[reason]; ! const char* name = _trap_reason_name[reason]; + assert(name != NULL, "trap reason name is undefined"); + return name; + } static char buf[20]; sprintf(buf, "reason%d", reason); return buf; } const char* Deoptimization::trap_action_name(int action) { ! if ((uint)action < Action_LIMIT) { ! return _trap_action_name[action]; ! const char* name = _trap_action_name[action]; + assert(name != NULL, "trap action name is undefined"); + return name; + } static char buf[20]; sprintf(buf, "action%d", action); return buf; }

src/share/vm/runtime/deoptimization.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File