8264151: ciMethod::ensure_method_data() should return false is loading resulted in empty state
Reviewed-by: dlong, kvn
This commit is contained in:
parent
4e708e58dc
commit
fe8ef3223d
@ -965,8 +965,7 @@ bool ciMethod::ensure_method_data(const methodHandle& h_m) {
|
||||
}
|
||||
if (h_m()->method_data() != NULL) {
|
||||
_method_data = CURRENT_ENV->get_method_data(h_m()->method_data());
|
||||
_method_data->load_data();
|
||||
return true;
|
||||
return _method_data->load_data();
|
||||
} else {
|
||||
_method_data = CURRENT_ENV->get_empty_methodData();
|
||||
return false;
|
||||
|
@ -170,10 +170,10 @@ void ciMethodData::load_remaining_extra_data() {
|
||||
}
|
||||
}
|
||||
|
||||
void ciMethodData::load_data() {
|
||||
bool ciMethodData::load_data() {
|
||||
MethodData* mdo = get_MethodData();
|
||||
if (mdo == NULL) {
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
// To do: don't copy the data if it is not "ripe" -- require a minimum #
|
||||
@ -263,8 +263,12 @@ void ciMethodData::load_data() {
|
||||
#ifndef PRODUCT
|
||||
if (ReplayCompiles) {
|
||||
ciReplay::initialize(this);
|
||||
if (is_empty()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
void ciReceiverTypeData::translate_receiver_data_from(const ProfileData* data) {
|
||||
|
@ -507,7 +507,7 @@ public:
|
||||
void set_parameter_type(int i, ciKlass* k);
|
||||
void set_return_type(int bci, ciKlass* k);
|
||||
|
||||
void load_data();
|
||||
bool load_data();
|
||||
|
||||
// Convert a dp (data pointer) to a di (data index).
|
||||
int dp_to_di(address dp) {
|
||||
|
Loading…
Reference in New Issue
Block a user