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 |