2622 |
2622 |
2623 Metadata* java_lang_invoke_MemberName::vmtarget(oop mname) { |
2623 Metadata* java_lang_invoke_MemberName::vmtarget(oop mname) { |
2624 assert(is_instance(mname), "wrong type"); |
2624 assert(is_instance(mname), "wrong type"); |
2625 return (Metadata*)mname->address_field(_vmtarget_offset); |
2625 return (Metadata*)mname->address_field(_vmtarget_offset); |
2626 } |
2626 } |
|
2627 |
|
2628 #if INCLUDE_JVMTI |
|
2629 // Can be executed on VM thread only |
|
2630 void java_lang_invoke_MemberName::adjust_vmtarget(oop mname, Metadata* ref) { |
|
2631 assert((is_instance(mname) && (flags(mname) & (MN_IS_METHOD | MN_IS_CONSTRUCTOR)) > 0), "wrong type"); |
|
2632 assert(Thread::current()->is_VM_thread(), "not VM thread"); |
|
2633 mname->address_field_put(_vmtarget_offset, (address)ref); |
|
2634 } |
|
2635 #endif // INCLUDE_JVMTI |
2627 |
2636 |
2628 void java_lang_invoke_MemberName::set_vmtarget(oop mname, Metadata* ref) { |
2637 void java_lang_invoke_MemberName::set_vmtarget(oop mname, Metadata* ref) { |
2629 assert(is_instance(mname), "wrong type"); |
2638 assert(is_instance(mname), "wrong type"); |
2630 // check the type of the vmtarget |
2639 // check the type of the vmtarget |
2631 oop dependency = NULL; |
2640 oop dependency = NULL; |