src/share/vm/opto/arraycopynode.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/opto/arraycopynode.cpp

src/share/vm/opto/arraycopynode.cpp

Print this page
rev 8568 : 8086016: closed/java/text/Format/NumberFormat/BigDecimalCompatibilityTest.java is crashing
Summary: Trying to transform ArrayCopyNode in dying part of the graph
Reviewed-by:

*** 436,450 **** igvn->replace_node(out_ctl, ctl); } else { // replace fallthrough projections of the ArrayCopyNode by the // new memory, control and the input IO. CallProjections callprojs; ! extract_projections(&callprojs, true); igvn->replace_node(callprojs.fallthrough_ioproj, in(TypeFunc::I_O)); igvn->replace_node(callprojs.fallthrough_memproj, mem); igvn->replace_node(callprojs.fallthrough_catchproj, ctl); // The ArrayCopyNode is not disconnected. It still has the // projections for the exception case. Replace current // ArrayCopyNode with a dummy new one with a top() control so // that this part of the graph stays consistent but is --- 436,456 ---- igvn->replace_node(out_ctl, ctl); } else { // replace fallthrough projections of the ArrayCopyNode by the // new memory, control and the input IO. CallProjections callprojs; ! extract_projections(&callprojs, true, false); + if (callprojs.fallthrough_ioproj != NULL) { igvn->replace_node(callprojs.fallthrough_ioproj, in(TypeFunc::I_O)); + } + if (callprojs.fallthrough_memproj != NULL) { igvn->replace_node(callprojs.fallthrough_memproj, mem); + } + if (callprojs.fallthrough_catchproj != NULL) { igvn->replace_node(callprojs.fallthrough_catchproj, ctl); + } // The ArrayCopyNode is not disconnected. It still has the // projections for the exception case. Replace current // ArrayCopyNode with a dummy new one with a top() control so // that this part of the graph stays consistent but is
src/share/vm/opto/arraycopynode.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File