src/share/vm/opto/macro.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/opto/macro.cpp

src/share/vm/opto/macro.cpp

Print this page
rev 7884 : 8073480: C2 should optimize explicit range checks
Summary: explicit range checks should be recognized by C2
Reviewed-by:

*** 2533,2543 **** BoolNode* bol = cmp->unique_out()->as_Bool(); assert((bol->outcnt() == 1) && bol->unique_out()->is_If() && (bol->_test._test == BoolTest::ne), ""); IfNode* ifn = bol->unique_out()->as_If(); assert((ifn->outcnt() == 2) && ! ifn->proj_out(1)->is_uncommon_trap_proj(Deoptimization::Reason_rtm_state_change), ""); #endif Node* repl = n->in(1); if (!_has_locks) { // Remove RTM state check if there are no locks in the code. // Replace input to compare the same value. --- 2533,2543 ---- BoolNode* bol = cmp->unique_out()->as_Bool(); assert((bol->outcnt() == 1) && bol->unique_out()->is_If() && (bol->_test._test == BoolTest::ne), ""); IfNode* ifn = bol->unique_out()->as_If(); assert((ifn->outcnt() == 2) && ! ifn->proj_out(1)->is_uncommon_trap_proj(Deoptimization::Reason_rtm_state_change) != NULL, ""); #endif Node* repl = n->in(1); if (!_has_locks) { // Remove RTM state check if there are no locks in the code. // Replace input to compare the same value.
src/share/vm/opto/macro.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File