src/share/vm/runtime/deoptimization.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/share/vm/runtime/deoptimization.hpp
src/share/vm/runtime/deoptimization.hpp
Print this page
rev 8006 : 8073480: C2 should optimize explicit range checks
Summary: explicit range checks should be recognized by C2
Reviewed-by:
*** 61,70 ****
--- 61,71 ----
Reason_loop_limit_check, // compiler generated loop limits check failed
Reason_speculate_class_check, // saw unexpected object class from type speculation
Reason_speculate_null_check, // saw unexpected null from type speculation
Reason_rtm_state_change, // rtm state change detected
Reason_unstable_if, // a branch predicted always false was taken
+ Reason_unstable_fused_if, // fused two ifs that had each one untaken branch. One is now taken.
// Reason_tenured is counted separately, add normal counted Reasons above.
// Related to MethodData::_trap_hist_limit where Reason_tenured isn't included
Reason_tenured, // age of the code has reached the limit
Reason_LIMIT,
*** 324,333 ****
--- 325,336 ----
return Reason_class_check;
else if (reason == Reason_speculate_null_check)
return Reason_null_check;
else if (reason == Reason_unstable_if)
return Reason_intrinsic;
+ else if (reason == Reason_unstable_fused_if)
+ return Reason_range_check;
else
return Reason_none;
}
static bool reason_is_speculate(int reason) {
src/share/vm/runtime/deoptimization.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File