< prev index next >

src/hotspot/share/oops/klass.hpp

Print this page




 602   AccessFlags access_flags() const         { return _access_flags;  }
 603   void set_access_flags(AccessFlags flags) { _access_flags = flags; }
 604 
 605   bool is_public() const                { return _access_flags.is_public(); }
 606   bool is_final() const                 { return _access_flags.is_final(); }
 607   bool is_interface() const             { return _access_flags.is_interface(); }
 608   bool is_abstract() const              { return _access_flags.is_abstract(); }
 609   bool is_super() const                 { return _access_flags.is_super(); }
 610   bool is_synthetic() const             { return _access_flags.is_synthetic(); }
 611   void set_is_synthetic()               { _access_flags.set_is_synthetic(); }
 612   bool has_finalizer() const            { return _access_flags.has_finalizer(); }
 613   bool has_final_method() const         { return _access_flags.has_final_method(); }
 614   void set_has_finalizer()              { _access_flags.set_has_finalizer(); }
 615   void set_has_final_method()           { _access_flags.set_has_final_method(); }
 616   bool has_vanilla_constructor() const  { return _access_flags.has_vanilla_constructor(); }
 617   void set_has_vanilla_constructor()    { _access_flags.set_has_vanilla_constructor(); }
 618   bool has_miranda_methods () const     { return access_flags().has_miranda_methods(); }
 619   void set_has_miranda_methods()        { _access_flags.set_has_miranda_methods(); }
 620   bool is_shared() const                { return access_flags().is_shared_class(); } // shadows MetaspaceObj::is_shared)()
 621   void set_is_shared()                  { _access_flags.set_is_shared_class(); }


 622 
 623   bool is_cloneable() const;
 624   void set_is_cloneable();
 625 
 626   // Biased locking support
 627   // Note: the prototype header is always set up to be at least the
 628   // prototype markWord. If biased locking is enabled it may further be
 629   // biasable and have an epoch.
 630   markWord prototype_header() const      { return _prototype_header; }
 631   // NOTE: once instances of this klass are floating around in the
 632   // system, this header must only be updated at a safepoint.
 633   // NOTE 2: currently we only ever set the prototype header to the
 634   // biasable prototype for instanceKlasses. There is no technical
 635   // reason why it could not be done for arrayKlasses aside from
 636   // wanting to reduce the initial scope of this optimization. There
 637   // are potential problems in setting the bias pattern for
 638   // JVM-internal oops.
 639   inline void set_prototype_header(markWord header);
 640   static ByteSize prototype_header_offset() { return in_ByteSize(offset_of(Klass, _prototype_header)); }
 641 




 602   AccessFlags access_flags() const         { return _access_flags;  }
 603   void set_access_flags(AccessFlags flags) { _access_flags = flags; }
 604 
 605   bool is_public() const                { return _access_flags.is_public(); }
 606   bool is_final() const                 { return _access_flags.is_final(); }
 607   bool is_interface() const             { return _access_flags.is_interface(); }
 608   bool is_abstract() const              { return _access_flags.is_abstract(); }
 609   bool is_super() const                 { return _access_flags.is_super(); }
 610   bool is_synthetic() const             { return _access_flags.is_synthetic(); }
 611   void set_is_synthetic()               { _access_flags.set_is_synthetic(); }
 612   bool has_finalizer() const            { return _access_flags.has_finalizer(); }
 613   bool has_final_method() const         { return _access_flags.has_final_method(); }
 614   void set_has_finalizer()              { _access_flags.set_has_finalizer(); }
 615   void set_has_final_method()           { _access_flags.set_has_final_method(); }
 616   bool has_vanilla_constructor() const  { return _access_flags.has_vanilla_constructor(); }
 617   void set_has_vanilla_constructor()    { _access_flags.set_has_vanilla_constructor(); }
 618   bool has_miranda_methods () const     { return access_flags().has_miranda_methods(); }
 619   void set_has_miranda_methods()        { _access_flags.set_has_miranda_methods(); }
 620   bool is_shared() const                { return access_flags().is_shared_class(); } // shadows MetaspaceObj::is_shared)()
 621   void set_is_shared()                  { _access_flags.set_is_shared_class(); }
 622   bool is_hidden() const                { return access_flags().is_hidden_class(); }
 623   void set_is_hidden()                  { _access_flags.set_is_hidden_class(); }
 624 
 625   bool is_cloneable() const;
 626   void set_is_cloneable();
 627 
 628   // Biased locking support
 629   // Note: the prototype header is always set up to be at least the
 630   // prototype markWord. If biased locking is enabled it may further be
 631   // biasable and have an epoch.
 632   markWord prototype_header() const      { return _prototype_header; }
 633   // NOTE: once instances of this klass are floating around in the
 634   // system, this header must only be updated at a safepoint.
 635   // NOTE 2: currently we only ever set the prototype header to the
 636   // biasable prototype for instanceKlasses. There is no technical
 637   // reason why it could not be done for arrayKlasses aside from
 638   // wanting to reduce the initial scope of this optimization. There
 639   // are potential problems in setting the bias pattern for
 640   // JVM-internal oops.
 641   inline void set_prototype_header(markWord header);
 642   static ByteSize prototype_header_offset() { return in_ByteSize(offset_of(Klass, _prototype_header)); }
 643 


< prev index next >