src/share/vm/oops/method.hpp

Print this page




 738   // Indicates whether compilation failed earlier for this method, or
 739   // whether it is not compilable for another reason like having a
 740   // breakpoint set in it.
 741   bool  is_not_compilable(int comp_level = CompLevel_any) const;
 742   void set_not_compilable(int comp_level = CompLevel_all, bool report = true, const char* reason = NULL);
 743   void set_not_compilable_quietly(int comp_level = CompLevel_all) {
 744     set_not_compilable(comp_level, false);
 745   }
 746   bool  is_not_osr_compilable(int comp_level = CompLevel_any) const;
 747   void set_not_osr_compilable(int comp_level = CompLevel_all, bool report = true, const char* reason = NULL);
 748   void set_not_osr_compilable_quietly(int comp_level = CompLevel_all) {
 749     set_not_osr_compilable(comp_level, false);
 750   }
 751 
 752  private:
 753   void print_made_not_compilable(int comp_level, bool is_osr, bool report, const char* reason);
 754 
 755  public:
 756   bool  is_not_c1_compilable() const          { return access_flags().is_not_c1_compilable(); }
 757   void set_not_c1_compilable()                {       _access_flags.set_not_c1_compilable();  }

 758   bool  is_not_c2_compilable() const          { return access_flags().is_not_c2_compilable(); }
 759   void set_not_c2_compilable()                {       _access_flags.set_not_c2_compilable();  }

 760 
 761   bool  is_not_c1_osr_compilable() const      { return is_not_c1_compilable(); }  // don't waste an accessFlags bit
 762   void set_not_c1_osr_compilable()            {       set_not_c1_compilable(); }  // don't waste an accessFlags bit

 763   bool  is_not_c2_osr_compilable() const      { return access_flags().is_not_c2_osr_compilable(); }
 764   void set_not_c2_osr_compilable()            {       _access_flags.set_not_c2_osr_compilable();  }

 765 
 766   // Background compilation support
 767   bool queued_for_compilation() const  { return access_flags().queued_for_compilation(); }
 768   void set_queued_for_compilation()    { _access_flags.set_queued_for_compilation();     }
 769   void clear_queued_for_compilation()  { _access_flags.clear_queued_for_compilation();   }
 770 
 771   // Resolve all classes in signature, return 'true' if successful
 772   static bool load_signature_classes(methodHandle m, TRAPS);
 773 
 774   // Return if true if not all classes references in signature, including return type, has been loaded
 775   static bool has_unloaded_classes_in_signature(methodHandle m, TRAPS);
 776 
 777   // Printing
 778   void print_short_name(outputStream* st = tty); // prints as klassname::methodname; Exposed so field engineers can debug VM
 779 #if INCLUDE_JVMTI
 780   void print_name(outputStream* st = tty); // prints as "virtual void foo(int)"; exposed for TraceRedefineClasses
 781 #else
 782   void print_name(outputStream* st = tty)        PRODUCT_RETURN; // prints as "virtual void foo(int)"
 783 #endif
 784 




 738   // Indicates whether compilation failed earlier for this method, or
 739   // whether it is not compilable for another reason like having a
 740   // breakpoint set in it.
 741   bool  is_not_compilable(int comp_level = CompLevel_any) const;
 742   void set_not_compilable(int comp_level = CompLevel_all, bool report = true, const char* reason = NULL);
 743   void set_not_compilable_quietly(int comp_level = CompLevel_all) {
 744     set_not_compilable(comp_level, false);
 745   }
 746   bool  is_not_osr_compilable(int comp_level = CompLevel_any) const;
 747   void set_not_osr_compilable(int comp_level = CompLevel_all, bool report = true, const char* reason = NULL);
 748   void set_not_osr_compilable_quietly(int comp_level = CompLevel_all) {
 749     set_not_osr_compilable(comp_level, false);
 750   }
 751 
 752  private:
 753   void print_made_not_compilable(int comp_level, bool is_osr, bool report, const char* reason);
 754 
 755  public:
 756   bool   is_not_c1_compilable() const         { return access_flags().is_not_c1_compilable();  }
 757   void  set_not_c1_compilable()               {       _access_flags.set_not_c1_compilable();   }
 758   void clear_not_c1_compilable()              {       _access_flags.clear_not_c1_compilable(); }
 759   bool   is_not_c2_compilable() const         { return access_flags().is_not_c2_compilable();  }
 760   void  set_not_c2_compilable()               {       _access_flags.set_not_c2_compilable();   }
 761   void clear_not_c2_compilable()              {       _access_flags.clear_not_c2_compilable(); }
 762 
 763   bool    is_not_c1_osr_compilable() const    { return is_not_c1_compilable(); }  // don't waste an accessFlags bit
 764   void   set_not_c1_osr_compilable()          {       set_not_c1_compilable(); }  // don't waste an accessFlags bit
 765   void clear_not_c1_osr_compilable()          {     clear_not_c1_compilable(); }  // don't waste an accessFlags bit
 766   bool   is_not_c2_osr_compilable() const     { return access_flags().is_not_c2_osr_compilable();  }
 767   void  set_not_c2_osr_compilable()           {       _access_flags.set_not_c2_osr_compilable();   }
 768   void clear_not_c2_osr_compilable()          {       _access_flags.clear_not_c2_osr_compilable(); }
 769 
 770   // Background compilation support
 771   bool queued_for_compilation() const  { return access_flags().queued_for_compilation(); }
 772   void set_queued_for_compilation()    { _access_flags.set_queued_for_compilation();     }
 773   void clear_queued_for_compilation()  { _access_flags.clear_queued_for_compilation();   }
 774 
 775   // Resolve all classes in signature, return 'true' if successful
 776   static bool load_signature_classes(methodHandle m, TRAPS);
 777 
 778   // Return if true if not all classes references in signature, including return type, has been loaded
 779   static bool has_unloaded_classes_in_signature(methodHandle m, TRAPS);
 780 
 781   // Printing
 782   void print_short_name(outputStream* st = tty); // prints as klassname::methodname; Exposed so field engineers can debug VM
 783 #if INCLUDE_JVMTI
 784   void print_name(outputStream* st = tty); // prints as "virtual void foo(int)"; exposed for TraceRedefineClasses
 785 #else
 786   void print_name(outputStream* st = tty)        PRODUCT_RETURN; // prints as "virtual void foo(int)"
 787 #endif
 788