diff src/share/vm/oops/method.cpp @ 17891:b6a2ba7d3ea7 hs25.20-b11

Merge
author amurillo
date Thu, 17 Apr 2014 16:09:07 -0700
parents 9428a0b94204
children 7384f6a12fc1
line wrap: on
line diff
--- a/src/share/vm/oops/method.cpp	Wed Apr 16 12:32:23 2014 -0700
+++ b/src/share/vm/oops/method.cpp	Thu Apr 17 16:09:07 2014 -0700
@@ -905,6 +905,19 @@
   return adapter->get_c2i_entry();
 }
 
+void Method::restore_unshareable_info(TRAPS) {
+  // Since restore_unshareable_info can be called more than once for a method, don't
+  // redo any work.   If this field is restored, there is nothing to do.
+  if (_from_compiled_entry == NULL) {
+    // restore method's vtable by calling a virtual function
+    restore_vtable();
+
+    methodHandle mh(THREAD, this);
+    link_method(mh, CHECK);
+  }
+}
+
+
 // The verified_code_entry() must be called when a invoke is resolved
 // on this method.