src/share/vm/opto/ifnode.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/ifnode.cpp	Wed Jul 20 14:06:32 2011
--- new/src/share/vm/opto/ifnode.cpp	Wed Jul 20 14:06:31 2011

*** 253,262 **** --- 253,270 ---- phi_x ->init_req( i_x++, phi->in(i) ); if (r->in(i) == predicate_proj) predicate_x = predicate_proj; } } + if (predicate_c != NULL && (req_c > 1)) { + assert(predicate_x == NULL, "only one predicate entry expected"); + predicate_c = NULL; // Do not clone predicate below merge point + } + if (predicate_x != NULL && ((len - req_c) > 2)) { + assert(predicate_c == NULL, "only one predicate entry expected"); + predicate_x = NULL; // Do not clone predicate below merge point + } // Register the new RegionNodes but do not transform them. Cannot // transform until the entire Region/Phi conglomerate has been hacked // as a single huge transform. igvn->register_new_node_with_optimizer( region_c );

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