diff src/share/vm/classfile/javaClasses.cpp @ 11014:4b52137b07c9

Merge
author chegar
date Wed, 01 May 2013 14:11:01 +0100
parents be131aa5a529 6337ca4dcad8
children 7ee0d5c53c78
line wrap: on
line diff
--- a/src/share/vm/classfile/javaClasses.cpp	Sun Apr 28 08:15:33 2013 +0100
+++ b/src/share/vm/classfile/javaClasses.cpp	Wed May 01 14:11:01 2013 +0100
@@ -2625,6 +2625,15 @@
   return (Metadata*)mname->address_field(_vmtarget_offset);
 }
 
+#if INCLUDE_JVMTI
+// Can be executed on VM thread only
+void java_lang_invoke_MemberName::adjust_vmtarget(oop mname, Metadata* ref) {
+  assert((is_instance(mname) && (flags(mname) & (MN_IS_METHOD | MN_IS_CONSTRUCTOR)) > 0), "wrong type");
+  assert(Thread::current()->is_VM_thread(), "not VM thread");
+  mname->address_field_put(_vmtarget_offset, (address)ref);
+}
+#endif // INCLUDE_JVMTI
+
 void java_lang_invoke_MemberName::set_vmtarget(oop mname, Metadata* ref) {
   assert(is_instance(mname), "wrong type");
   // check the type of the vmtarget