< prev index next >

src/hotspot/share/opto/escape.cpp

Print this page

        

*** 2723,2733 **** ArrayCopyNode* ac = proj_in->in(TypeFunc::Memory)->as_MergeMem()->in(Compile::AliasIdxRaw)->in(0)->as_ArrayCopy(); if (ac->may_modify(toop, igvn)) { break; } } ! result = proj_in->in(TypeFunc::Memory); } } else if (result->is_MergeMem()) { MergeMemNode *mmem = result->as_MergeMem(); result = step_through_mergemem(mmem, alias_idx, toop); if (result == mmem->base_memory()) { --- 2723,2733 ---- ArrayCopyNode* ac = proj_in->in(TypeFunc::Memory)->as_MergeMem()->in(Compile::AliasIdxRaw)->in(0)->as_ArrayCopy(); if (ac->may_modify(toop, igvn)) { break; } } ! result = proj_in->in(TypeFunc::Memory); // FYI: bypasses a membar } } else if (result->is_MergeMem()) { MergeMemNode *mmem = result->as_MergeMem(); result = step_through_mergemem(mmem, alias_idx, toop); if (result == mmem->base_memory()) {
*** 2802,2812 **** } else if (C->get_alias_index(t) != alias_idx) { // Create a new Phi with the specified alias index type. result = split_memory_phi(mphi, alias_idx, orig_phis); } } - // the result is either MemNode, PhiNode, InitializeNode. return result; } // // Convert the types of unescaped object to instance types where possible, --- 2802,2811 ----
< prev index next >