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