< prev index next >

src/hotspot/share/oops/method.hpp

Print this page




 665 
 666   // returns true if the method is static OR if the classfile version < 51
 667   bool has_valid_initializer_flags() const;
 668 
 669   // returns true if the method name is <clinit> and the method has
 670   // valid static initializer flags.
 671   bool is_static_initializer() const;
 672 
 673   // returns true if the method name is <init>
 674   bool is_object_initializer() const;
 675 
 676   // compiled code support
 677   // NOTE: code() is inherently racy as deopt can be clearing code
 678   // simultaneously. Use with caution.
 679   bool has_compiled_code() const;
 680 
 681 #ifdef TIERED
 682   bool has_aot_code() const                      { return aot_code() != NULL; }
 683 #endif
 684 


 685   // sizing
 686   static int header_size()                       {
 687     return align_up((int)sizeof(Method), wordSize) / wordSize;
 688   }
 689   static int size(bool is_native);
 690   int size() const                               { return method_size(); }
 691 #if INCLUDE_SERVICES
 692   void collect_statistics(KlassSizeStats *sz) const;
 693 #endif
 694   void log_touched(TRAPS);
 695   static void print_touched_methods(outputStream* out);
 696 
 697   // interpreter support
 698   static ByteSize const_offset()                 { return byte_offset_of(Method, _constMethod       ); }
 699   static ByteSize access_flags_offset()          { return byte_offset_of(Method, _access_flags      ); }
 700   static ByteSize from_compiled_offset()         { return byte_offset_of(Method, _from_compiled_entry); }
 701   static ByteSize code_offset()                  { return byte_offset_of(Method, _code); }
 702   static ByteSize method_data_offset()           {
 703     return byte_offset_of(Method, _method_data);
 704   }




 665 
 666   // returns true if the method is static OR if the classfile version < 51
 667   bool has_valid_initializer_flags() const;
 668 
 669   // returns true if the method name is <clinit> and the method has
 670   // valid static initializer flags.
 671   bool is_static_initializer() const;
 672 
 673   // returns true if the method name is <init>
 674   bool is_object_initializer() const;
 675 
 676   // compiled code support
 677   // NOTE: code() is inherently racy as deopt can be clearing code
 678   // simultaneously. Use with caution.
 679   bool has_compiled_code() const;
 680 
 681 #ifdef TIERED
 682   bool has_aot_code() const                      { return aot_code() != NULL; }
 683 #endif
 684 
 685   bool needs_clinit_barrier() const;
 686 
 687   // sizing
 688   static int header_size()                       {
 689     return align_up((int)sizeof(Method), wordSize) / wordSize;
 690   }
 691   static int size(bool is_native);
 692   int size() const                               { return method_size(); }
 693 #if INCLUDE_SERVICES
 694   void collect_statistics(KlassSizeStats *sz) const;
 695 #endif
 696   void log_touched(TRAPS);
 697   static void print_touched_methods(outputStream* out);
 698 
 699   // interpreter support
 700   static ByteSize const_offset()                 { return byte_offset_of(Method, _constMethod       ); }
 701   static ByteSize access_flags_offset()          { return byte_offset_of(Method, _access_flags      ); }
 702   static ByteSize from_compiled_offset()         { return byte_offset_of(Method, _from_compiled_entry); }
 703   static ByteSize code_offset()                  { return byte_offset_of(Method, _code); }
 704   static ByteSize method_data_offset()           {
 705     return byte_offset_of(Method, _method_data);
 706   }


< prev index next >