diff src/share/vm/oops/cpCache.hpp @ 6737:4bfe8b33cf66

7196242: vm/mlvm/indy/stress/java/loopsAndThreads crashed Reviewed-by: jrose, coleenp, jmasa, kvn
author twisti
date Mon, 10 Sep 2012 16:37:22 -0700
parents da91efe96a93
children f6b0eb4e44cf
line wrap: on
line diff
--- a/src/share/vm/oops/cpCache.hpp	Fri Sep 07 16:42:25 2012 -0400
+++ b/src/share/vm/oops/cpCache.hpp	Mon Sep 10 16:37:22 2012 -0700
@@ -221,12 +221,14 @@
   );
 
   void set_method_handle(
+    constantPoolHandle cpool,                    // holding constant pool (required for locking)
     methodHandle method,                         // adapter for invokeExact, etc.
     Handle appendix,                             // stored in refs[f2]; could be a java.lang.invoke.MethodType
     objArrayHandle resolved_references
   );
 
   void set_dynamic_call(
+    constantPoolHandle cpool,                    // holding constant pool (required for locking)
     methodHandle method,                         // adapter for this call site
     Handle appendix,                             // stored in refs[f2]; could be a java.lang.invoke.CallSite
     objArrayHandle resolved_references
@@ -248,6 +250,7 @@
   // resolution logic needs to make slightly different assessments about the
   // number and types of arguments.
   void set_method_handle_common(
+    constantPoolHandle cpool,                    // holding constant pool (required for locking)
     Bytecodes::Code invoke_code,                 // _invokehandle or _invokedynamic
     methodHandle adapter,                        // invoker method (f1)
     Handle appendix,                             // appendix such as CallSite, MethodType, etc. (refs[f2])