changeset 22515:feb4131657bb

JVMCIRuntime::metadata_do shouldn't run until HotSpotJVMCIRuntime is initialized
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Thu, 03 Sep 2015 13:50:06 -0700
parents 8e4949926ae5
children de39d9372765
files src/share/vm/jvmci/jvmciRuntime.cpp
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/jvmci/jvmciRuntime.cpp	Thu Sep 03 13:34:52 2015 -0700
+++ b/src/share/vm/jvmci/jvmciRuntime.cpp	Thu Sep 03 13:50:06 2015 -0700
@@ -722,9 +722,13 @@
 }
 
 void JVMCIRuntime::metadata_do(void f(Metadata*)) {
-  if (HotSpotJVMCIMetaAccessContext::klass() == NULL) {
+  if (!is_HotSpotJVMCIRuntime_initialized()) {
+    assert(HotSpotJVMCIMetaAccessContext::klass() == NULL ||
+           !HotSpotJVMCIMetaAccessContext::klass()->is_linked() ||
+           HotSpotJVMCIMetaAccessContext::allContexts() == NULL, "shouldn't be anything registered yet");
     return;
   }
+
   // WeakReference<HotSpotJVMCIMetaAccessContext>[]
   objArrayOop allContexts = HotSpotJVMCIMetaAccessContext::allContexts();
   if (allContexts == NULL) {