src/hotspot/share/ci/ciMethodData.cpp
changeset 57709 155b084cf384
parent 55514 03468b206457
child 57833 3283cff319c8
equal deleted inserted replaced
57706:7ac414640ad5 57709:155b084cf384
   256 }
   256 }
   257 
   257 
   258 void ciReceiverTypeData::translate_receiver_data_from(const ProfileData* data) {
   258 void ciReceiverTypeData::translate_receiver_data_from(const ProfileData* data) {
   259   for (uint row = 0; row < row_limit(); row++) {
   259   for (uint row = 0; row < row_limit(); row++) {
   260     Klass* k = data->as_ReceiverTypeData()->receiver(row);
   260     Klass* k = data->as_ReceiverTypeData()->receiver(row);
   261     if (k != NULL) {
   261     if (k != NULL && k->is_loader_alive()) {
   262       if (k->is_loader_alive()) {
   262       ciKlass* klass = CURRENT_ENV->get_klass(k);
   263         ciKlass* klass = CURRENT_ENV->get_klass(k);
   263       set_receiver(row, klass);
   264         set_receiver(row, klass);
   264     } else {
   265       } else {
   265       // With concurrent class unloading, the MDO could have stale metadata; override it
   266         // With concurrent class unloading, the MDO could have stale metadata; override it
   266       clear_row(row);
   267         clear_row(row);
       
   268       }
       
   269     }
   267     }
   270   }
   268   }
   271 }
   269 }
   272 
   270 
   273 void ciTypeStackSlotEntries::translate_type_data_from(const TypeStackSlotEntries* entries) {
   271 void ciTypeStackSlotEntries::translate_type_data_from(const TypeStackSlotEntries* entries) {