comparison src/share/vm/opto/coalesce.cpp @ 12171:4b078f877b56

8023988: Move local scheduling of nodes to the CFG creation and code motion phase (PhaseCFG) Summary: Moved local scheduling code from class Block to class PhaseCFG Reviewed-by: kvn, roland
author adlertz
date Sun, 01 Sep 2013 19:21:05 +0200
parents 650868c062a9
children 04e7587c97dc b8e2e616c1e9
comparison
equal deleted inserted replaced
12169:29aa8936f03c 12171:4b078f877b56
337 } 337 }
338 338
339 } // End of is two-adr 339 } // End of is two-adr
340 340
341 // Insert a copy at a debug use for a lrg which has high frequency 341 // Insert a copy at a debug use for a lrg which has high frequency
342 if (b->_freq < OPTO_DEBUG_SPLIT_FREQ || b->is_uncommon(&_phc._cfg)) { 342 if (b->_freq < OPTO_DEBUG_SPLIT_FREQ || _phc._cfg.is_uncommon(b)) {
343 // Walk the debug inputs to the node and check for lrg freq 343 // Walk the debug inputs to the node and check for lrg freq
344 JVMState* jvms = n->jvms(); 344 JVMState* jvms = n->jvms();
345 uint debug_start = jvms ? jvms->debug_start() : 999999; 345 uint debug_start = jvms ? jvms->debug_start() : 999999;
346 uint debug_end = jvms ? jvms->debug_end() : 999999; 346 uint debug_end = jvms ? jvms->debug_end() : 999999;
347 for(uint inpidx = debug_start; inpidx < debug_end; inpidx++) { 347 for(uint inpidx = debug_start; inpidx < debug_end; inpidx++) {
767 } 767 }
768 768
769 // Conservative (but pessimistic) copy coalescing of a single block 769 // Conservative (but pessimistic) copy coalescing of a single block
770 void PhaseConservativeCoalesce::coalesce( Block *b ) { 770 void PhaseConservativeCoalesce::coalesce( Block *b ) {
771 // Bail out on infrequent blocks 771 // Bail out on infrequent blocks
772 if (b->is_uncommon(&_phc._cfg)) { 772 if (_phc._cfg.is_uncommon(b)) {
773 return; 773 return;
774 } 774 }
775 // Check this block for copies. 775 // Check this block for copies.
776 for( uint i = 1; i<b->end_idx(); i++ ) { 776 for( uint i = 1; i<b->end_idx(); i++ ) {
777 // Check for actual copies on inputs. Coalesce a copy into its 777 // Check for actual copies on inputs. Coalesce a copy into its