src/hotspot/share/runtime/sharedRuntime.cpp
changeset 53315 3d4e47348142
parent 52896 98408c7c0b73
child 53965 86ee52ca11e3
--- a/src/hotspot/share/runtime/sharedRuntime.cpp	Tue Jul 31 11:43:24 2018 +0530
+++ b/src/hotspot/share/runtime/sharedRuntime.cpp	Sun Aug 12 18:05:16 2018 -0400
@@ -1376,6 +1376,14 @@
   }
 #endif
 
+  // Do not patch call site for static call when the class is not
+  // fully initialized.
+  if (invoke_code == Bytecodes::_invokestatic &&
+      !callee_method->method_holder()->is_initialized()) {
+    assert(callee_method->method_holder()->is_linked(), "must be");
+    return callee_method;
+  }
+
   // JSR 292 key invariant:
   // If the resolved method is a MethodHandle invoke target, the call
   // site must be a MethodHandle call site, because the lambda form might tail-call