< prev index next >

src/share/vm/oops/method.hpp

Print this page




 605 
 606   // returns true if the method does nothing but return a constant of primitive type
 607   bool is_constant_getter() const;
 608 
 609   // returns true if the method is an initializer (<init> or <clinit>).
 610   bool is_initializer() const;
 611 
 612   // returns true if the method is static OR if the classfile version < 51
 613   bool has_valid_initializer_flags() const;
 614 
 615   // returns true if the method name is <clinit> and the method has
 616   // valid static initializer flags.
 617   bool is_static_initializer() const;
 618 
 619   // compiled code support
 620   // NOTE: code() is inherently racy as deopt can be clearing code
 621   // simultaneously. Use with caution.
 622   bool has_compiled_code() const                 { return code() != NULL; }
 623 
 624   // sizing
 625   static int header_size()                       { return sizeof(Method)/HeapWordSize; }
 626   static int size(bool is_native);
 627   int size() const                               { return method_size(); }
 628 #if INCLUDE_SERVICES
 629   void collect_statistics(KlassSizeStats *sz) const;
 630 #endif
 631   void log_touched(TRAPS);
 632   static void print_touched_methods(outputStream* out);
 633 
 634   // interpreter support
 635   static ByteSize const_offset()                 { return byte_offset_of(Method, _constMethod       ); }
 636   static ByteSize access_flags_offset()          { return byte_offset_of(Method, _access_flags      ); }
 637 #ifdef CC_INTERP
 638   static ByteSize result_index_offset()          { return byte_offset_of(Method, _result_index ); }
 639 #endif /* CC_INTERP */
 640   static ByteSize from_compiled_offset()         { return byte_offset_of(Method, _from_compiled_entry); }
 641   static ByteSize code_offset()                  { return byte_offset_of(Method, _code); }
 642   static ByteSize method_data_offset()           {
 643     return byte_offset_of(Method, _method_data);
 644   }
 645   static ByteSize method_counters_offset()       {




 605 
 606   // returns true if the method does nothing but return a constant of primitive type
 607   bool is_constant_getter() const;
 608 
 609   // returns true if the method is an initializer (<init> or <clinit>).
 610   bool is_initializer() const;
 611 
 612   // returns true if the method is static OR if the classfile version < 51
 613   bool has_valid_initializer_flags() const;
 614 
 615   // returns true if the method name is <clinit> and the method has
 616   // valid static initializer flags.
 617   bool is_static_initializer() const;
 618 
 619   // compiled code support
 620   // NOTE: code() is inherently racy as deopt can be clearing code
 621   // simultaneously. Use with caution.
 622   bool has_compiled_code() const                 { return code() != NULL; }
 623 
 624   // sizing
 625   static int header_size()                       { return sizeof(Method)/wordSize; }
 626   static int size(bool is_native);
 627   int size() const                               { return method_size(); }
 628 #if INCLUDE_SERVICES
 629   void collect_statistics(KlassSizeStats *sz) const;
 630 #endif
 631   void log_touched(TRAPS);
 632   static void print_touched_methods(outputStream* out);
 633 
 634   // interpreter support
 635   static ByteSize const_offset()                 { return byte_offset_of(Method, _constMethod       ); }
 636   static ByteSize access_flags_offset()          { return byte_offset_of(Method, _access_flags      ); }
 637 #ifdef CC_INTERP
 638   static ByteSize result_index_offset()          { return byte_offset_of(Method, _result_index ); }
 639 #endif /* CC_INTERP */
 640   static ByteSize from_compiled_offset()         { return byte_offset_of(Method, _from_compiled_entry); }
 641   static ByteSize code_offset()                  { return byte_offset_of(Method, _code); }
 642   static ByteSize method_data_offset()           {
 643     return byte_offset_of(Method, _method_data);
 644   }
 645   static ByteSize method_counters_offset()       {


< prev index next >