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

src/share/vm/runtime/deoptimization.cpp

Print this page
rev 6139 : 8031755: Type speculation should be used to optimize explicit null checks
Summary: feed profiling data about reference nullness to type speculation.
Reviewed-by:


1822 const char* Deoptimization::_trap_reason_name[Reason_LIMIT] = {
1823   // Note:  Keep this in sync. with enum DeoptReason.
1824   "none",
1825   "null_check",
1826   "null_assert",
1827   "range_check",
1828   "class_check",
1829   "array_check",
1830   "intrinsic",
1831   "bimorphic",
1832   "unloaded",
1833   "uninitialized",
1834   "unreached",
1835   "unhandled",
1836   "constraint",
1837   "div0_check",
1838   "age",
1839   "predicate",
1840   "loop_limit_check",
1841   "speculate_class_check",

1842   "rtm_state_change"
1843 };
1844 const char* Deoptimization::_trap_action_name[Action_LIMIT] = {
1845   // Note:  Keep this in sync. with enum DeoptAction.
1846   "none",
1847   "maybe_recompile",
1848   "reinterpret",
1849   "make_not_entrant",
1850   "make_not_compilable"
1851 };
1852 
1853 const char* Deoptimization::trap_reason_name(int reason) {
1854   if (reason == Reason_many)  return "many";
1855   if ((uint)reason < Reason_LIMIT)
1856     return _trap_reason_name[reason];
1857   static char buf[20];
1858   sprintf(buf, "reason%d", reason);
1859   return buf;
1860 }
1861 const char* Deoptimization::trap_action_name(int action) {




1822 const char* Deoptimization::_trap_reason_name[Reason_LIMIT] = {
1823   // Note:  Keep this in sync. with enum DeoptReason.
1824   "none",
1825   "null_check",
1826   "null_assert",
1827   "range_check",
1828   "class_check",
1829   "array_check",
1830   "intrinsic",
1831   "bimorphic",
1832   "unloaded",
1833   "uninitialized",
1834   "unreached",
1835   "unhandled",
1836   "constraint",
1837   "div0_check",
1838   "age",
1839   "predicate",
1840   "loop_limit_check",
1841   "speculate_class_check",
1842   "speculate_null_check",
1843   "rtm_state_change"
1844 };
1845 const char* Deoptimization::_trap_action_name[Action_LIMIT] = {
1846   // Note:  Keep this in sync. with enum DeoptAction.
1847   "none",
1848   "maybe_recompile",
1849   "reinterpret",
1850   "make_not_entrant",
1851   "make_not_compilable"
1852 };
1853 
1854 const char* Deoptimization::trap_reason_name(int reason) {
1855   if (reason == Reason_many)  return "many";
1856   if ((uint)reason < Reason_LIMIT)
1857     return _trap_reason_name[reason];
1858   static char buf[20];
1859   sprintf(buf, "reason%d", reason);
1860   return buf;
1861 }
1862 const char* Deoptimization::trap_action_name(int action) {


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