src/share/vm/opto/memnode.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/memnode.cpp	Wed May 14 16:23:03 2008
--- new/src/share/vm/opto/memnode.cpp	Wed May 14 16:23:03 2008

*** 254,264 **** --- 254,264 ---- // Check 'dom'. dom = dom->find_exact_control(dom); if (dom == NULL || dom->is_top()) return false; // Conservative answer for dead code ! if (dom->is_Con() || dom->is_Start() || dom->is_Root() || dom == sub) return true; // 'dom' dominates 'sub' if its control edge and control edges // of all its inputs dominate or equal to sub's control edge.
*** 296,321 **** --- 296,320 ---- n = n->find_exact_control(n->in(0)); if (n == NULL || n->is_top()) return false; // Conservative answer for dead code assert(n->is_CFG(), "expecting control"); } ! if (n->is_Con() || n->is_Start() || n->is_Root()) { only_dominating_controls = true; } else if (n->is_CFG()) { if (n->dominates(sub, nlist)) only_dominating_controls = true; else return false; } else { // First, own control edge. Node* m = n->find_exact_control(n->in(0)); ! if (m == NULL) continue; ! if (m != NULL) { if (m->is_top()) return false; // Conservative answer for dead code dom_list.push(m); + } // Now, the rest of edges. uint cnt = n->req(); for (uint i = 1; i < cnt; i++) { m = n->find_exact_control(n->in(i)); if (m == NULL || m->is_top())

src/share/vm/opto/memnode.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File