783 bool is_not_c2_compilable() const { return access_flags().is_not_c2_compilable(); }
784 void set_not_c2_compilable() { _access_flags.set_not_c2_compilable(); }
785
786 bool is_not_c1_osr_compilable() const { return is_not_c1_compilable(); } // don't waste an accessFlags bit
787 void set_not_c1_osr_compilable() { set_not_c1_compilable(); } // don't waste an accessFlags bit
788 bool is_not_c2_osr_compilable() const { return access_flags().is_not_c2_osr_compilable(); }
789 void set_not_c2_osr_compilable() { _access_flags.set_not_c2_osr_compilable(); }
790
791 // Background compilation support
792 bool queued_for_compilation() const { return access_flags().queued_for_compilation(); }
793 void set_queued_for_compilation() { _access_flags.set_queued_for_compilation(); }
794 void clear_queued_for_compilation() { _access_flags.clear_queued_for_compilation(); }
795
796 // Resolve all classes in signature, return 'true' if successful
797 static bool load_signature_classes(methodHandle m, TRAPS);
798
799 // Return if true if not all classes references in signature, including return type, has been loaded
800 static bool has_unloaded_classes_in_signature(methodHandle m, TRAPS);
801
802 // Printing
803 void print_short_name(outputStream* st = tty) /*PRODUCT_RETURN*/; // prints as klassname::methodname; Exposed so field engineers can debug VM
804 void print_name(outputStream* st = tty) PRODUCT_RETURN; // prints as "virtual void foo(int)"
805
806 // Helper routine used for method sorting
807 static void sort_methods(Array<Method*>* methods,
808 Array<AnnotationArray*>* methods_annotations,
809 Array<AnnotationArray*>* methods_parameter_annotations,
810 Array<AnnotationArray*>* methods_default_annotations,
811 Array<AnnotationArray*>* methods_type_annotations,
812 bool idempotent = false);
813
814 // Deallocation function for redefine classes or if an error occurs
815 void deallocate_contents(ClassLoaderData* loader_data);
816
817 // Printing
818 #ifndef PRODUCT
819 void print_on(outputStream* st) const;
820 #endif
821 void print_value_on(outputStream* st) const;
822
823 const char* internal_name() const { return "{method}"; }
824
|
783 bool is_not_c2_compilable() const { return access_flags().is_not_c2_compilable(); }
784 void set_not_c2_compilable() { _access_flags.set_not_c2_compilable(); }
785
786 bool is_not_c1_osr_compilable() const { return is_not_c1_compilable(); } // don't waste an accessFlags bit
787 void set_not_c1_osr_compilable() { set_not_c1_compilable(); } // don't waste an accessFlags bit
788 bool is_not_c2_osr_compilable() const { return access_flags().is_not_c2_osr_compilable(); }
789 void set_not_c2_osr_compilable() { _access_flags.set_not_c2_osr_compilable(); }
790
791 // Background compilation support
792 bool queued_for_compilation() const { return access_flags().queued_for_compilation(); }
793 void set_queued_for_compilation() { _access_flags.set_queued_for_compilation(); }
794 void clear_queued_for_compilation() { _access_flags.clear_queued_for_compilation(); }
795
796 // Resolve all classes in signature, return 'true' if successful
797 static bool load_signature_classes(methodHandle m, TRAPS);
798
799 // Return if true if not all classes references in signature, including return type, has been loaded
800 static bool has_unloaded_classes_in_signature(methodHandle m, TRAPS);
801
802 // Printing
803 void print_short_name(outputStream* st = tty); // prints as klassname::methodname; Exposed so field engineers can debug VM
804 #if INCLUDE_JVMTI
805 void print_name(outputStream* st = tty); // prints as "virtual void foo(int)"; exposed for TraceRedefineClasses
806 #else
807 void print_name(outputStream* st = tty) PRODUCT_RETURN; // prints as "virtual void foo(int)"
808 #endif
809
810 // Helper routine used for method sorting
811 static void sort_methods(Array<Method*>* methods,
812 Array<AnnotationArray*>* methods_annotations,
813 Array<AnnotationArray*>* methods_parameter_annotations,
814 Array<AnnotationArray*>* methods_default_annotations,
815 Array<AnnotationArray*>* methods_type_annotations,
816 bool idempotent = false);
817
818 // Deallocation function for redefine classes or if an error occurs
819 void deallocate_contents(ClassLoaderData* loader_data);
820
821 // Printing
822 #ifndef PRODUCT
823 void print_on(outputStream* st) const;
824 #endif
825 void print_value_on(outputStream* st) const;
826
827 const char* internal_name() const { return "{method}"; }
828
|