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