Mercurial > hg > truffle
comparison src/share/vm/opto/chaitin.cpp @ 14513:16c705d792be
Merge
author | morris |
---|---|
date | Fri, 28 Feb 2014 08:02:20 -0800 |
parents | 1077c8270209 |
children | 4ca6dc0799b6 |
comparison
equal
deleted
inserted
replaced
14493:7d30d4f37d31 | 14513:16c705d792be |
---|---|
208 , _trace_spilling(TraceSpilling || C->method_has_option("TraceSpilling")) | 208 , _trace_spilling(TraceSpilling || C->method_has_option("TraceSpilling")) |
209 #endif | 209 #endif |
210 { | 210 { |
211 NOT_PRODUCT( Compile::TracePhase t3("ctorChaitin", &_t_ctorChaitin, TimeCompiler); ) | 211 NOT_PRODUCT( Compile::TracePhase t3("ctorChaitin", &_t_ctorChaitin, TimeCompiler); ) |
212 | 212 |
213 _high_frequency_lrg = MIN2(float(OPTO_LRG_HIGH_FREQ), _cfg.get_outer_loop_frequency()); | 213 _high_frequency_lrg = MIN2(double(OPTO_LRG_HIGH_FREQ), _cfg.get_outer_loop_frequency()); |
214 | 214 |
215 // Build a list of basic blocks, sorted by frequency | 215 // Build a list of basic blocks, sorted by frequency |
216 _blks = NEW_RESOURCE_ARRAY(Block *, _cfg.number_of_blocks()); | 216 _blks = NEW_RESOURCE_ARRAY(Block *, _cfg.number_of_blocks()); |
217 // Experiment with sorting strategies to speed compilation | 217 // Experiment with sorting strategies to speed compilation |
218 double cutoff = BLOCK_FREQUENCY(1.0); // Cutoff for high frequency bucket | 218 double cutoff = BLOCK_FREQUENCY(1.0); // Cutoff for high frequency bucket |
1797 Node *phi = n->in(1); | 1797 Node *phi = n->in(1); |
1798 if( phi->is_Phi() && phi->as_Phi()->region()->is_Loop() ) { | 1798 if( phi->is_Phi() && phi->as_Phi()->region()->is_Loop() ) { |
1799 Block *phi_block = _cfg.get_block_for_node(phi); | 1799 Block *phi_block = _cfg.get_block_for_node(phi); |
1800 if (_cfg.get_block_for_node(phi_block->pred(2)) == block) { | 1800 if (_cfg.get_block_for_node(phi_block->pred(2)) == block) { |
1801 const RegMask *mask = C->matcher()->idealreg2spillmask[Op_RegI]; | 1801 const RegMask *mask = C->matcher()->idealreg2spillmask[Op_RegI]; |
1802 Node *spill = new (C) MachSpillCopyNode( phi, *mask, *mask ); | 1802 Node *spill = new (C) MachSpillCopyNode(MachSpillCopyNode::LoopPhiInput, phi, *mask, *mask); |
1803 insert_proj( phi_block, 1, spill, maxlrg++ ); | 1803 insert_proj( phi_block, 1, spill, maxlrg++ ); |
1804 n->set_req(1,spill); | 1804 n->set_req(1,spill); |
1805 must_recompute_live = true; | 1805 must_recompute_live = true; |
1806 } | 1806 } |
1807 } | 1807 } |