751 static void clear_jmethod_ids(ClassLoaderData* loader_data); 752 static void print_jmethod_ids(ClassLoaderData* loader_data, outputStream* out) PRODUCT_RETURN; 753 754 // Get this method's jmethodID -- allocate if it doesn't exist 755 jmethodID jmethod_id() { methodHandle this_h(this); 756 return InstanceKlass::get_jmethod_id(method_holder(), this_h); } 757 758 // Lookup the jmethodID for this method. Return NULL if not found. 759 // NOTE that this function can be called from a signal handler 760 // (see AsyncGetCallTrace support for Forte Analyzer) and this 761 // needs to be async-safe. No allocation should be done and 762 // so handles are not used to avoid deadlock. 763 jmethodID find_jmethod_id_or_null() { return method_holder()->jmethod_id_or_null(this); } 764 765 // Support for inlining of intrinsic methods 766 vmIntrinsics::ID intrinsic_id() const { return (vmIntrinsics::ID) _intrinsic_id; } 767 void set_intrinsic_id(vmIntrinsics::ID id) { _intrinsic_id = (u1) id; } 768 769 // Helper routines for intrinsic_id() and vmIntrinsics::method(). 770 void init_intrinsic_id(); // updates from _none if a match 771 static vmSymbols::SID klass_id_for_intrinsics(Klass* holder); 772 773 bool jfr_towrite() { return _jfr_towrite; } 774 void set_jfr_towrite(bool x) { _jfr_towrite = x; } 775 bool caller_sensitive() { return _caller_sensitive; } 776 void set_caller_sensitive(bool x) { _caller_sensitive = x; } 777 bool force_inline() { return _force_inline; } 778 void set_force_inline(bool x) { _force_inline = x; } 779 bool dont_inline() { return _dont_inline; } 780 void set_dont_inline(bool x) { _dont_inline = x; } 781 bool is_hidden() { return _hidden; } 782 void set_hidden(bool x) { _hidden = x; } 783 bool has_injected_profile() { return _has_injected_profile; } 784 void set_has_injected_profile(bool x) { _has_injected_profile = x; } 785 786 ConstMethod::MethodType method_type() const { 787 return _constMethod->method_type(); 788 } 789 bool is_overpass() const { return method_type() == ConstMethod::OVERPASS; } 790 | 751 static void clear_jmethod_ids(ClassLoaderData* loader_data); 752 static void print_jmethod_ids(ClassLoaderData* loader_data, outputStream* out) PRODUCT_RETURN; 753 754 // Get this method's jmethodID -- allocate if it doesn't exist 755 jmethodID jmethod_id() { methodHandle this_h(this); 756 return InstanceKlass::get_jmethod_id(method_holder(), this_h); } 757 758 // Lookup the jmethodID for this method. Return NULL if not found. 759 // NOTE that this function can be called from a signal handler 760 // (see AsyncGetCallTrace support for Forte Analyzer) and this 761 // needs to be async-safe. No allocation should be done and 762 // so handles are not used to avoid deadlock. 763 jmethodID find_jmethod_id_or_null() { return method_holder()->jmethod_id_or_null(this); } 764 765 // Support for inlining of intrinsic methods 766 vmIntrinsics::ID intrinsic_id() const { return (vmIntrinsics::ID) _intrinsic_id; } 767 void set_intrinsic_id(vmIntrinsics::ID id) { _intrinsic_id = (u1) id; } 768 769 // Helper routines for intrinsic_id() and vmIntrinsics::method(). 770 void init_intrinsic_id(); // updates from _none if a match 771 void clear_jmethod_id(ClassLoaderData* loader_data); 772 773 static vmSymbols::SID klass_id_for_intrinsics(Klass* holder); 774 775 bool jfr_towrite() { return _jfr_towrite; } 776 void set_jfr_towrite(bool x) { _jfr_towrite = x; } 777 bool caller_sensitive() { return _caller_sensitive; } 778 void set_caller_sensitive(bool x) { _caller_sensitive = x; } 779 bool force_inline() { return _force_inline; } 780 void set_force_inline(bool x) { _force_inline = x; } 781 bool dont_inline() { return _dont_inline; } 782 void set_dont_inline(bool x) { _dont_inline = x; } 783 bool is_hidden() { return _hidden; } 784 void set_hidden(bool x) { _hidden = x; } 785 bool has_injected_profile() { return _has_injected_profile; } 786 void set_has_injected_profile(bool x) { _has_injected_profile = x; } 787 788 ConstMethod::MethodType method_type() const { 789 return _constMethod->method_type(); 790 } 791 bool is_overpass() const { return method_type() == ConstMethod::OVERPASS; } 792 |