src/share/vm/opto/ifg.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/ifg.cpp	Wed Aug  7 02:26:15 2013
--- new/src/share/vm/opto/ifg.cpp	Wed Aug  7 02:26:15 2013

*** 563,573 **** --- 563,573 ---- b->_nodes.remove(j - 1); if (lrgs(r)._def == n) { lrgs(r)._def = 0; } n->disconnect_inputs(NULL, C); ! _cfg._bbs.map(n->_idx,NULL); ! _cfg.unmap_node_from_block(n); n->replace_by(C->top()); // Since yanking a Node from block, high pressure moves up one hrp_index[0]--; hrp_index[1]--; continue;
*** 605,615 **** --- 605,615 ---- // Insure high score for immediate-use spill copies so they get a color if( n->is_SpillCopy() && lrgs(r).is_singledef() // MultiDef live range can still split && n->outcnt() == 1 // and use must be in this block ! && _cfg._bbs[n->unique_out()->_idx] == b ) { ! && _cfg.get_block_for_node(n->unique_out()) == b ) { // All single-use MachSpillCopy(s) that immediately precede their // use must color early. If a longer live range steals their // color, the spill copy will split and may push another spill copy // further away resulting in an infinite spill-split-retry cycle. // Assigning a zero area results in a high score() and a good

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