comparison src/share/vm/opto/cfgnode.cpp @ 367:194b8e3a2fc4

6384206: Phis which are later unneeded are impairing our ability to inline based on static types Reviewed-by: rasbold, jrose
author never
date Wed, 17 Sep 2008 12:59:52 -0700
parents 02a35ad4adf8
children 36ccc817fca4
comparison
equal deleted inserted replaced
366:8261ee795323 367:194b8e3a2fc4
1663 if (ii->is_MergeMem()) { 1663 if (ii->is_MergeMem()) {
1664 MergeMemNode* n = ii->as_MergeMem(); 1664 MergeMemNode* n = ii->as_MergeMem();
1665 // compress paths and change unreachable cycles to TOP 1665 // compress paths and change unreachable cycles to TOP
1666 // If not, we can update the input infinitely along a MergeMem cycle 1666 // If not, we can update the input infinitely along a MergeMem cycle
1667 // Equivalent code is in MemNode::Ideal_common 1667 // Equivalent code is in MemNode::Ideal_common
1668 Node *m = phase->transform(n); 1668 Node *m = phase->transform(n);
1669 if (outcnt() == 0) { // Above transform() may kill us!
1670 progress = phase->C->top();
1671 break;
1672 }
1669 // If tranformed to a MergeMem, get the desired slice 1673 // If tranformed to a MergeMem, get the desired slice
1670 // Otherwise the returned node represents memory for every slice 1674 // Otherwise the returned node represents memory for every slice
1671 Node *new_mem = (m->is_MergeMem()) ? 1675 Node *new_mem = (m->is_MergeMem()) ?
1672 m->as_MergeMem()->memory_at(alias_idx) : m; 1676 m->as_MergeMem()->memory_at(alias_idx) : m;
1673 // Update input if it is progress over what we have now 1677 // Update input if it is progress over what we have now