src/share/vm/opto/ifg.cpp

changeset 730
ea18057223c4
parent 435
a61af66fc99e
child 772
9ee9cf798b59
child 804
5f85534046c2
equal deleted inserted replaced
729:616a07a75c3c 730:ea18057223c4
592 lrgs(r)._area -= cost; 592 lrgs(r)._area -= cost;
593 assert( lrgs(r)._area >= 0, "negative spill area" ); 593 assert( lrgs(r)._area >= 0, "negative spill area" );
594 594
595 // Insure high score for immediate-use spill copies so they get a color 595 // Insure high score for immediate-use spill copies so they get a color
596 if( n->is_SpillCopy() 596 if( n->is_SpillCopy()
597 && lrgs(r)._def != NodeSentinel // MultiDef live range can still split 597 && lrgs(r).is_singledef() // MultiDef live range can still split
598 && n->outcnt() == 1 // and use must be in this block 598 && n->outcnt() == 1 // and use must be in this block
599 && _cfg._bbs[n->unique_out()->_idx] == b ) { 599 && _cfg._bbs[n->unique_out()->_idx] == b ) {
600 // All single-use MachSpillCopy(s) that immediately precede their 600 // All single-use MachSpillCopy(s) that immediately precede their
601 // use must color early. If a longer live range steals their 601 // use must color early. If a longer live range steals their
602 // color, the spill copy will split and may push another spill copy 602 // color, the spill copy will split and may push another spill copy

mercurial