< prev index next >
src/hotspot/share/opto/loopTransform.cpp
Print this page
rev 48500 : 8194988: 8 Null pointer dereference defect groups related to MultiNode::proj_out()
@@ -3202,11 +3202,11 @@
Node* offset = NULL;
if (!match_fill_loop(lpt, store, store_value, shift, offset)) {
return false;
}
- Node* exit = head->loopexit()->proj_out(0);
+ Node* exit = head->loopexit()->proj_out_or_null(0);
if (exit == NULL) {
return false;
}
#ifndef PRODUCT
@@ -3278,12 +3278,12 @@
call->init_req(TypeFunc::Parms + cnt++, C->top());
#endif
call->init_req(TypeFunc::Control, head->init_control());
call->init_req(TypeFunc::I_O, C->top()); // Does no I/O.
call->init_req(TypeFunc::Memory, mem_phi->in(LoopNode::EntryControl));
- call->init_req(TypeFunc::ReturnAdr, C->start()->proj_out(TypeFunc::ReturnAdr));
- call->init_req(TypeFunc::FramePtr, C->start()->proj_out(TypeFunc::FramePtr));
+ call->init_req(TypeFunc::ReturnAdr, C->start()->proj_out_or_null(TypeFunc::ReturnAdr));
+ call->init_req(TypeFunc::FramePtr, C->start()->proj_out_or_null(TypeFunc::FramePtr));
_igvn.register_new_node_with_optimizer(call);
result_ctrl = new ProjNode(call,TypeFunc::Control);
_igvn.register_new_node_with_optimizer(result_ctrl);
result_mem = new ProjNode(call,TypeFunc::Memory);
_igvn.register_new_node_with_optimizer(result_mem);
< prev index next >