src/share/vm/opto/lcm.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/opto/lcm.cpp Fri Oct 31 17:33:48 2014
--- new/src/share/vm/opto/lcm.cpp Fri Oct 31 17:33:48 2014
*** 462,474 ****
--- 462,472 ----
if( n->is_Proj() || // Projections always win
n->Opcode()== Op_Con || // So does constant 'Top'
iop == Op_CreateEx || // Create-exception must start block
iop == Op_CheckCastPP
) {
// select the node n
// remove n from worklist and retain the order of remaining nodes
worklist.remove((uint)i);
+ worklist.map(i,worklist.pop());
return n;
}
// Final call in a block must be adjacent to 'catch'
Node *e = block->end();
*** 550,562 ****
--- 548,558 ----
} // End of for all ready nodes in worklist
assert(idx >= 0, "index should be set");
Node *n = worklist[(uint)idx]; // Get the winner
// select the node n
// remove n from worklist and retain the order of remaining nodes
worklist.remove((uint)idx);
+ worklist.map((uint)idx, worklist.pop()); // Compress worklist
return n;
}
//------------------------------set_next_call----------------------------------
src/share/vm/opto/lcm.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File