1.1 --- a/src/share/vm/c1/c1_GraphBuilder.cpp Tue Jul 25 15:30:54 2017 +0000 1.2 +++ b/src/share/vm/c1/c1_GraphBuilder.cpp Thu Mar 09 14:27:21 2017 +0100 1.3 @@ -1530,7 +1530,7 @@ 1.4 ciMethod* caller = state()->scope()->method(); 1.5 ciMethodData* md = caller->method_data_or_null(); 1.6 ciProfileData* data = md->bci_to_data(invoke_bci); 1.7 - if (data->is_CallTypeData() || data->is_VirtualCallTypeData()) { 1.8 + if (data != NULL && (data->is_CallTypeData() || data->is_VirtualCallTypeData())) { 1.9 bool has_return = data->is_CallTypeData() ? ((ciCallTypeData*)data)->has_return() : ((ciVirtualCallTypeData*)data)->has_return(); 1.10 // May not be true in case of an inlined call through a method handle intrinsic. 1.11 if (has_return) { 1.12 @@ -1747,7 +1747,7 @@ 1.13 start = has_receiver ? 1 : 0; 1.14 if (profile_arguments()) { 1.15 ciProfileData* data = method()->method_data()->bci_to_data(bci()); 1.16 - if (data->is_CallTypeData() || data->is_VirtualCallTypeData()) { 1.17 + if (data != NULL && (data->is_CallTypeData() || data->is_VirtualCallTypeData())) { 1.18 n = data->is_CallTypeData() ? data->as_CallTypeData()->number_of_arguments() : data->as_VirtualCallTypeData()->number_of_arguments(); 1.19 } 1.20 } 1.21 @@ -4465,7 +4465,7 @@ 1.22 } 1.23 ciMethodData* md = m->method_data_or_null(); 1.24 ciProfileData* data = md->bci_to_data(invoke_bci); 1.25 - if (data->is_CallTypeData() || data->is_VirtualCallTypeData()) { 1.26 + if (data != NULL && (data->is_CallTypeData() || data->is_VirtualCallTypeData())) { 1.27 append(new ProfileReturnType(m , invoke_bci, callee, ret)); 1.28 } 1.29 }