< prev index next >
src/hotspot/share/opto/phaseX.cpp
Print this page
rev 48500 : 8194988: 8 Null pointer dereference defect groups related to MultiNode::proj_out()
@@ -1522,11 +1522,11 @@
// If we changed the receiver type to a call, we need to revisit
// the Catch following the call. It's looking for a non-NULL
// receiver to know when to enable the regular fall-through path
// in addition to the NullPtrException path.
if (use->is_CallDynamicJava() && n == use->in(TypeFunc::Parms)) {
- Node* p = use->as_CallDynamicJava()->proj_out(TypeFunc::Control);
+ Node* p = use->as_CallDynamicJava()->proj_out_or_null(TypeFunc::Control);
if (p != NULL) {
add_users_to_worklist0(p);
}
}
@@ -1615,16 +1615,16 @@
}
// If changed initialization activity, check dependent Stores
if (use_op == Op_Allocate || use_op == Op_AllocateArray) {
InitializeNode* init = use->as_Allocate()->initialization();
if (init != NULL) {
- Node* imem = init->proj_out(TypeFunc::Memory);
+ Node* imem = init->proj_out_or_null(TypeFunc::Memory);
if (imem != NULL) add_users_to_worklist0(imem);
}
}
if (use_op == Op_Initialize) {
- Node* imem = use->as_Initialize()->proj_out(TypeFunc::Memory);
+ Node* imem = use->as_Initialize()->proj_out_or_null(TypeFunc::Memory);
if (imem != NULL) add_users_to_worklist0(imem);
}
// Loading the java mirror from a klass oop requires two loads and the type
// of the mirror load depends on the type of 'n'. See LoadNode::Value().
if (use_op == Op_LoadP && use->bottom_type()->isa_rawptr()) {
< prev index next >