< prev index next >
src/share/vm/opto/ifnode.cpp
Print this page
*** 1449,1459 ****
#endif
igvn->hash_delete(this); // Remove self to prevent spurious V-N
Node *idom = in(0);
// Need opcode to decide which way 'this' test goes
! int prev_op = prev_dom->Opcode();
Node *top = igvn->C->top(); // Shortcut to top
// Loop predicates may have depending checks which should not
// be skipped. For example, range check predicate has two checks
// for lower and upper bounds.
--- 1449,1459 ----
#endif
igvn->hash_delete(this); // Remove self to prevent spurious V-N
Node *idom = in(0);
// Need opcode to decide which way 'this' test goes
! uint prev_op = prev_dom->Opcode();
Node *top = igvn->C->top(); // Shortcut to top
// Loop predicates may have depending checks which should not
// be skipped. For example, range check predicate has two checks
// for lower and upper bounds.
*** 1503,1513 ****
Node* IfNode::search_identical(int dist) {
// Setup to scan up the CFG looking for a dominating test
Node* dom = in(0);
Node* prev_dom = this;
! int op = Opcode();
// Search up the dominator tree for an If with an identical test
while (dom->Opcode() != op || // Not same opcode?
dom->in(1) != in(1) || // Not same input 1?
(req() == 3 && dom->in(2) != in(2)) || // Not same input 2?
prev_dom->in(0) != dom) { // One path of test does not dominate?
--- 1503,1513 ----
Node* IfNode::search_identical(int dist) {
// Setup to scan up the CFG looking for a dominating test
Node* dom = in(0);
Node* prev_dom = this;
! uint op = Opcode();
// Search up the dominator tree for an If with an identical test
while (dom->Opcode() != op || // Not same opcode?
dom->in(1) != in(1) || // Not same input 1?
(req() == 3 && dom->in(2) != in(2)) || // Not same input 2?
prev_dom->in(0) != dom) { // One path of test does not dominate?
< prev index next >