Mercurial > hg > truffle
comparison src/share/vm/opto/ifg.cpp @ 12023:d1034bd8cefc
8022284: Hide internal data structure in PhaseCFG
Summary: Hide private node to block mapping using public interface
Reviewed-by: kvn, roland
author | adlertz |
---|---|
date | Wed, 07 Aug 2013 17:56:19 +0200 |
parents | 8373c19be854 |
children | adb9a7d94cb5 |
comparison
equal
deleted
inserted
replaced
12004:71526a36ebb4 | 12023:d1034bd8cefc |
---|---|
563 b->_nodes.remove(j - 1); | 563 b->_nodes.remove(j - 1); |
564 if (lrgs(r)._def == n) { | 564 if (lrgs(r)._def == n) { |
565 lrgs(r)._def = 0; | 565 lrgs(r)._def = 0; |
566 } | 566 } |
567 n->disconnect_inputs(NULL, C); | 567 n->disconnect_inputs(NULL, C); |
568 _cfg._bbs.map(n->_idx,NULL); | 568 _cfg.unmap_node_from_block(n); |
569 n->replace_by(C->top()); | 569 n->replace_by(C->top()); |
570 // Since yanking a Node from block, high pressure moves up one | 570 // Since yanking a Node from block, high pressure moves up one |
571 hrp_index[0]--; | 571 hrp_index[0]--; |
572 hrp_index[1]--; | 572 hrp_index[1]--; |
573 continue; | 573 continue; |
605 | 605 |
606 // Insure high score for immediate-use spill copies so they get a color | 606 // Insure high score for immediate-use spill copies so they get a color |
607 if( n->is_SpillCopy() | 607 if( n->is_SpillCopy() |
608 && lrgs(r).is_singledef() // MultiDef live range can still split | 608 && lrgs(r).is_singledef() // MultiDef live range can still split |
609 && n->outcnt() == 1 // and use must be in this block | 609 && n->outcnt() == 1 // and use must be in this block |
610 && _cfg._bbs[n->unique_out()->_idx] == b ) { | 610 && _cfg.get_block_for_node(n->unique_out()) == b ) { |
611 // All single-use MachSpillCopy(s) that immediately precede their | 611 // All single-use MachSpillCopy(s) that immediately precede their |
612 // use must color early. If a longer live range steals their | 612 // use must color early. If a longer live range steals their |
613 // color, the spill copy will split and may push another spill copy | 613 // color, the spill copy will split and may push another spill copy |
614 // further away resulting in an infinite spill-split-retry cycle. | 614 // further away resulting in an infinite spill-split-retry cycle. |
615 // Assigning a zero area results in a high score() and a good | 615 // Assigning a zero area results in a high score() and a good |