< 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 >