--- a/src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Fri Aug 10 22:38:18 2018 -0400
+++ b/src/hotspot/share/jvmci/jvmciCompilerToVM.cpp Sat Aug 11 12:49:33 2018 -0400
@@ -382,7 +382,12 @@
err_msg("Expected interface type, got %s", klass->external_name()));
}
InstanceKlass* iklass = InstanceKlass::cast(klass);
- JVMCIKlassHandle handle(THREAD, iklass->implementor());
+ JVMCIKlassHandle handle(THREAD);
+ {
+ // Need Compile_lock around implementor()
+ MutexLocker locker(Compile_lock);
+ handle = iklass->implementor();
+ }
oop implementor = CompilerToVM::get_jvmci_type(handle, CHECK_NULL);
return JNIHandles::make_local(THREAD, implementor);
C2V_END