diff -r 94ef14db8a20 -r a3f113541801 hotspot/src/share/vm/c1/c1_Instruction.cpp --- a/hotspot/src/share/vm/c1/c1_Instruction.cpp Thu Sep 29 10:00:56 2016 -0700 +++ b/hotspot/src/share/vm/c1/c1_Instruction.cpp Thu Sep 29 22:37:05 2016 -0700 @@ -360,7 +360,8 @@ } ciType* Invoke::declared_type() const { - ciType *t = _target->signature()->return_type(); + ciSignature* declared_signature = state()->scope()->method()->get_declared_signature_at_bci(state()->bci()); + ciType *t = declared_signature->return_type(); assert(t->basic_type() != T_VOID, "need return value of void method?"); return t; }