--- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp Thu Jun 15 09:52:44 2017 +0200
+++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp Fri Jun 09 10:51:52 2017 +0200
@@ -1540,13 +1540,7 @@
ciMethod* caller = state()->scope()->method();
ciMethodData* md = caller->method_data_or_null();
ciProfileData* data = md->bci_to_data(invoke_bci);
- if (data != NULL && (data->is_CallTypeData() || data->is_VirtualCallTypeData())) {
- bool has_return = data->is_CallTypeData() ? ((ciCallTypeData*)data)->has_return() : ((ciVirtualCallTypeData*)data)->has_return();
- // May not be true in case of an inlined call through a method handle intrinsic.
- if (has_return) {
- profile_return_type(x, method(), caller, invoke_bci);
- }
- }
+ profile_return_type(x, method(), caller, invoke_bci);
}
}
Goto* goto_callee = new Goto(continuation(), false);
@@ -4366,7 +4360,10 @@
ciMethodData* md = m->method_data_or_null();
ciProfileData* data = md->bci_to_data(invoke_bci);
if (data != NULL && (data->is_CallTypeData() || data->is_VirtualCallTypeData())) {
- append(new ProfileReturnType(m , invoke_bci, callee, ret));
+ bool has_return = data->is_CallTypeData() ? ((ciCallTypeData*)data)->has_return() : ((ciVirtualCallTypeData*)data)->has_return();
+ if (has_return) {
+ append(new ProfileReturnType(m , invoke_bci, callee, ret));
+ }
}
}