< prev index next >

src/hotspot/share/oops/method.hpp

Print this page

 572 
 573   // returns true if the method is a setter
 574   bool is_setter() const;
 575 
 576   // returns true if the method does nothing but return a constant of primitive type
 577   bool is_constant_getter() const;
 578 
 579   // returns true if the method is an initializer (<init> or <clinit>).
 580   bool is_initializer() const;
 581 
 582   // returns true if the method is static OR if the classfile version < 51
 583   bool has_valid_initializer_flags() const;
 584 
 585   // returns true if the method name is <clinit> and the method has
 586   // valid static initializer flags.
 587   bool is_static_initializer() const;
 588 
 589   // returns true if the method name is <init>
 590   bool is_object_initializer() const;
 591 



 592   // compiled code support
 593   // NOTE: code() is inherently racy as deopt can be clearing code
 594   // simultaneously. Use with caution.
 595   bool has_compiled_code() const;
 596 
 597   bool needs_clinit_barrier() const;
 598 
 599   // sizing
 600   static int header_size()                       {
 601     return align_up((int)sizeof(Method), wordSize) / wordSize;
 602   }
 603   static int size(bool is_native);
 604   int size() const                               { return method_size(); }
 605   void log_touched(Thread* current);
 606   static void print_touched_methods(outputStream* out);
 607 
 608   // interpreter support
 609   static ByteSize const_offset()                 { return byte_offset_of(Method, _constMethod       ); }
 610   static ByteSize access_flags_offset()          { return byte_offset_of(Method, _access_flags      ); }
 611   static ByteSize from_compiled_offset()         { return byte_offset_of(Method, _from_compiled_entry); }

 572 
 573   // returns true if the method is a setter
 574   bool is_setter() const;
 575 
 576   // returns true if the method does nothing but return a constant of primitive type
 577   bool is_constant_getter() const;
 578 
 579   // returns true if the method is an initializer (<init> or <clinit>).
 580   bool is_initializer() const;
 581 
 582   // returns true if the method is static OR if the classfile version < 51
 583   bool has_valid_initializer_flags() const;
 584 
 585   // returns true if the method name is <clinit> and the method has
 586   // valid static initializer flags.
 587   bool is_static_initializer() const;
 588 
 589   // returns true if the method name is <init>
 590   bool is_object_initializer() const;
 591 
 592   // returns true if the method name is wait0
 593   bool is_object_wait0() const;
 594 
 595   // compiled code support
 596   // NOTE: code() is inherently racy as deopt can be clearing code
 597   // simultaneously. Use with caution.
 598   bool has_compiled_code() const;
 599 
 600   bool needs_clinit_barrier() const;
 601 
 602   // sizing
 603   static int header_size()                       {
 604     return align_up((int)sizeof(Method), wordSize) / wordSize;
 605   }
 606   static int size(bool is_native);
 607   int size() const                               { return method_size(); }
 608   void log_touched(Thread* current);
 609   static void print_touched_methods(outputStream* out);
 610 
 611   // interpreter support
 612   static ByteSize const_offset()                 { return byte_offset_of(Method, _constMethod       ); }
 613   static ByteSize access_flags_offset()          { return byte_offset_of(Method, _access_flags      ); }
 614   static ByteSize from_compiled_offset()         { return byte_offset_of(Method, _from_compiled_entry); }
< prev index next >