--- a/src/hotspot/share/opto/loopTransform.cpp Wed Jan 17 22:44:40 2018 +0100
+++ b/src/hotspot/share/opto/loopTransform.cpp Wed Jan 17 14:25:47 2018 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -3204,7 +3204,7 @@
return false;
}
- Node* exit = head->loopexit()->proj_out(0);
+ Node* exit = head->loopexit()->proj_out_or_null(0);
if (exit == NULL) {
return false;
}
@@ -3280,8 +3280,8 @@
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);