< prev index next >

src/share/vm/opto/cfgnode.cpp

Print this page

        

*** 1663,1673 **** return top; } bool uncasted = false; Node* uin = unique_input(phase, false); ! if (uin == NULL) { uncasted = true; uin = unique_input(phase, true); } if (uin == top) { // Simplest case: no alive inputs. if (can_reshape) // IGVN transformation --- 1663,1673 ---- return top; } bool uncasted = false; Node* uin = unique_input(phase, false); ! if (uin == NULL && can_reshape) { uncasted = true; uin = unique_input(phase, true); } if (uin == top) { // Simplest case: no alive inputs. if (can_reshape) // IGVN transformation
*** 1700,1709 **** --- 1700,1711 ---- } } } if (uncasted) { + // Wait until after parsing for the type information to propagate from the casts + assert(can_reshape, "Invalid during parsing"); const Type* phi_type = bottom_type(); assert(phi_type->isa_int() || phi_type->isa_ptr(), "bad phi type"); int opcode; if (phi_type->isa_int()) { opcode = Op_CastII;
< prev index next >