--- a/hotspot/src/share/vm/ci/ciMethodData.cpp Mon Jul 07 10:18:33 2014 +0200
+++ b/hotspot/src/share/vm/ci/ciMethodData.cpp Mon Jul 07 10:12:40 2014 +0200
@@ -170,6 +170,7 @@
Klass* k = data->as_ReceiverTypeData()->receiver(row);
if (k != NULL) {
ciKlass* klass = CURRENT_ENV->get_klass(k);
+ CURRENT_ENV->ensure_metadata_alive(klass);
set_receiver(row, klass);
}
}
@@ -191,6 +192,7 @@
void ciSpeculativeTrapData::translate_from(const ProfileData* data) {
Method* m = data->as_SpeculativeTrapData()->method();
ciMethod* ci_m = CURRENT_ENV->get_method(m);
+ CURRENT_ENV->ensure_metadata_alive(ci_m);
set_method(ci_m);
}