787 bool is_klass_loaded(int refinfo_index, bool must_be_resolved = false) const;
788
789 // Indicates whether compilation failed earlier for this method, or
790 // whether it is not compilable for another reason like having a
791 // breakpoint set in it.
792 bool is_not_compilable(int comp_level = CompLevel_any) const;
793 void set_not_compilable(int comp_level = CompLevel_all, bool report = true, const char* reason = NULL);
794 void set_not_compilable_quietly(int comp_level = CompLevel_all) {
795 set_not_compilable(comp_level, false);
796 }
797 bool is_not_osr_compilable(int comp_level = CompLevel_any) const;
798 void set_not_osr_compilable(int comp_level = CompLevel_all, bool report = true, const char* reason = NULL);
799 void set_not_osr_compilable_quietly(int comp_level = CompLevel_all) {
800 set_not_osr_compilable(comp_level, false);
801 }
802 bool is_always_compilable() const;
803
804 private:
805 void print_made_not_compilable(int comp_level, bool is_osr, bool report, const char* reason);
806
807 MethodCounters* get_method_counters(TRAPS) {
808 if (_method_counters == NULL) {
809 build_method_counters(this, CHECK_AND_CLEAR_NULL);
810 }
811 return _method_counters;
812 }
813
814 public:
815 bool is_not_c1_compilable() const { return access_flags().is_not_c1_compilable(); }
816 void set_not_c1_compilable() { _access_flags.set_not_c1_compilable(); }
817 void clear_not_c1_compilable() { _access_flags.clear_not_c1_compilable(); }
818 bool is_not_c2_compilable() const { return access_flags().is_not_c2_compilable(); }
819 void set_not_c2_compilable() { _access_flags.set_not_c2_compilable(); }
820 void clear_not_c2_compilable() { _access_flags.clear_not_c2_compilable(); }
821
822 bool is_not_c1_osr_compilable() const { return is_not_c1_compilable(); } // don't waste an accessFlags bit
823 void set_not_c1_osr_compilable() { set_not_c1_compilable(); } // don't waste an accessFlags bit
824 void clear_not_c1_osr_compilable() { clear_not_c1_compilable(); } // don't waste an accessFlags bit
825 bool is_not_c2_osr_compilable() const { return access_flags().is_not_c2_osr_compilable(); }
826 void set_not_c2_osr_compilable() { _access_flags.set_not_c2_osr_compilable(); }
827 void clear_not_c2_osr_compilable() { _access_flags.clear_not_c2_osr_compilable(); }
828
829 // Background compilation support
830 bool queued_for_compilation() const { return access_flags().queued_for_compilation(); }
831 void set_queued_for_compilation() { _access_flags.set_queued_for_compilation(); }
832 void clear_queued_for_compilation() { _access_flags.clear_queued_for_compilation(); }
833
834 // Resolve all classes in signature, return 'true' if successful
|
787 bool is_klass_loaded(int refinfo_index, bool must_be_resolved = false) const;
788
789 // Indicates whether compilation failed earlier for this method, or
790 // whether it is not compilable for another reason like having a
791 // breakpoint set in it.
792 bool is_not_compilable(int comp_level = CompLevel_any) const;
793 void set_not_compilable(int comp_level = CompLevel_all, bool report = true, const char* reason = NULL);
794 void set_not_compilable_quietly(int comp_level = CompLevel_all) {
795 set_not_compilable(comp_level, false);
796 }
797 bool is_not_osr_compilable(int comp_level = CompLevel_any) const;
798 void set_not_osr_compilable(int comp_level = CompLevel_all, bool report = true, const char* reason = NULL);
799 void set_not_osr_compilable_quietly(int comp_level = CompLevel_all) {
800 set_not_osr_compilable(comp_level, false);
801 }
802 bool is_always_compilable() const;
803
804 private:
805 void print_made_not_compilable(int comp_level, bool is_osr, bool report, const char* reason);
806
807 public:
808 MethodCounters* get_method_counters(TRAPS) {
809 if (_method_counters == NULL) {
810 build_method_counters(this, CHECK_AND_CLEAR_NULL);
811 }
812 return _method_counters;
813 }
814
815 bool is_not_c1_compilable() const { return access_flags().is_not_c1_compilable(); }
816 void set_not_c1_compilable() { _access_flags.set_not_c1_compilable(); }
817 void clear_not_c1_compilable() { _access_flags.clear_not_c1_compilable(); }
818 bool is_not_c2_compilable() const { return access_flags().is_not_c2_compilable(); }
819 void set_not_c2_compilable() { _access_flags.set_not_c2_compilable(); }
820 void clear_not_c2_compilable() { _access_flags.clear_not_c2_compilable(); }
821
822 bool is_not_c1_osr_compilable() const { return is_not_c1_compilable(); } // don't waste an accessFlags bit
823 void set_not_c1_osr_compilable() { set_not_c1_compilable(); } // don't waste an accessFlags bit
824 void clear_not_c1_osr_compilable() { clear_not_c1_compilable(); } // don't waste an accessFlags bit
825 bool is_not_c2_osr_compilable() const { return access_flags().is_not_c2_osr_compilable(); }
826 void set_not_c2_osr_compilable() { _access_flags.set_not_c2_osr_compilable(); }
827 void clear_not_c2_osr_compilable() { _access_flags.clear_not_c2_osr_compilable(); }
828
829 // Background compilation support
830 bool queued_for_compilation() const { return access_flags().queued_for_compilation(); }
831 void set_queued_for_compilation() { _access_flags.set_queued_for_compilation(); }
832 void clear_queued_for_compilation() { _access_flags.clear_queued_for_compilation(); }
833
834 // Resolve all classes in signature, return 'true' if successful
|