src/share/vm/runtime/deoptimization.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hs-comp-code-aging Cdiff src/share/vm/runtime/deoptimization.cpp
src/share/vm/runtime/deoptimization.cpp
Print this page
*** 1338,1348 ****
class_name = constants->symbol_at(unloaded_class_index);
}
if (xtty != NULL)
xtty->name(class_name);
}
! if (xtty != NULL && trap_mdo != NULL) {
// 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)
--- 1338,1348 ----
class_name = constants->symbol_at(unloaded_class_index);
}
if (xtty != NULL)
xtty->name(class_name);
}
! if (xtty != NULL && trap_mdo != NULL && (int)reason < (int)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)
*** 1816,1826 ****
return buf;
}
//--------------------------------statics--------------------------------------
! const char* Deoptimization::_trap_reason_name[Reason_LIMIT] = {
// Note: Keep this in sync. with enum DeoptReason.
"none",
"null_check",
"null_assert",
"range_check",
--- 1816,1826 ----
return buf;
}
//--------------------------------statics--------------------------------------
! const char* Deoptimization::_trap_reason_name[] = {
// Note: Keep this in sync. with enum DeoptReason.
"none",
"null_check",
"null_assert",
"range_check",
*** 1837,1866 ****
"age",
"predicate",
"loop_limit_check",
"speculate_class_check",
"speculate_null_check",
! "rtm_state_change"
};
! const char* Deoptimization::_trap_action_name[Action_LIMIT] = {
// Note: Keep this in sync. with enum DeoptAction.
"none",
"maybe_recompile",
"reinterpret",
"make_not_entrant",
"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];
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];
static char buf[20];
sprintf(buf, "action%d", action);
return buf;
--- 1837,1873 ----
"age",
"predicate",
"loop_limit_check",
"speculate_class_check",
"speculate_null_check",
! "rtm_state_change",
! "tenured"
};
! const char* Deoptimization::_trap_action_name[] = {
// Note: Keep this in sync. with enum DeoptAction.
"none",
"maybe_recompile",
"reinterpret",
"make_not_entrant",
"make_not_compilable"
};
const char* Deoptimization::trap_reason_name(int reason) {
+ // Check that every reason has a name
+ STATIC_ASSERT(sizeof(_trap_reason_name)/sizeof(const char*) == Reason_LIMIT);
+
if (reason == Reason_many) return "many";
if ((uint)reason < Reason_LIMIT)
return _trap_reason_name[reason];
static char buf[20];
sprintf(buf, "reason%d", reason);
return buf;
}
const char* Deoptimization::trap_action_name(int action) {
+ // Check that every action has a name
+ STATIC_ASSERT(sizeof(_trap_action_name)/sizeof(const char*) == Action_LIMIT);
+
if ((uint)action < Action_LIMIT)
return _trap_action_name[action];
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