--- a/hotspot/src/share/vm/opto/callnode.cpp Wed Mar 08 09:04:21 2017 -0500
+++ b/hotspot/src/share/vm/opto/callnode.cpp Thu Mar 09 00:16:51 2017 -0800
@@ -784,8 +784,8 @@
}
// May modify (by reflection) if an boxing object is passed
// as argument or returned.
- if (returns_pointer() && (proj_out(TypeFunc::Parms) != NULL)) {
- Node* proj = proj_out(TypeFunc::Parms);
+ Node* proj = returns_pointer() ? proj_out(TypeFunc::Parms) : NULL;
+ if (proj != NULL) {
const TypeInstPtr* inst_t = phase->type(proj)->isa_instptr();
if ((inst_t != NULL) && (!inst_t->klass_is_exact() ||
(inst_t->klass() == boxing_klass))) {