src/share/vm/oops/instanceKlass.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/oops

src/share/vm/oops/instanceKlass.hpp

Print this page
rev 5771 : 8031752: Failed speculative optimizations should be reattempted when root of compilation is different
Summary: support for speculative traps that keep track of the root of the compilation in which a trap occurs.
Reviewed-by:


 289   //
 290   // f1: [access, name index, sig index, initial value index, low_offset, high_offset]
 291   // f2: [access, name index, sig index, initial value index, low_offset, high_offset]
 292   //      ...
 293   // fn: [access, name index, sig index, initial value index, low_offset, high_offset]
 294   //     [generic signature index]
 295   //     [generic signature index]
 296   //     ...
 297   Array<u2>*      _fields;
 298 
 299   // embedded Java vtable follows here
 300   // embedded Java itables follows here
 301   // embedded static fields follows here
 302   // embedded nonstatic oop-map blocks follows here
 303   // embedded implementor of this interface follows here
 304   //   The embedded implementor only exists if the current klass is an
 305   //   iterface. The possible values of the implementor fall into following
 306   //   three cases:
 307   //     NULL: no implementor.
 308   //     A Klass* that's not itself: one implementor.
 309   //     Itsef: more than one implementors.
 310   // embedded host klass follows here
 311   //   The embedded host klass only exists in an anonymous class for
 312   //   dynamic language support (JSR 292 enabled). The host class grants
 313   //   its access privileges to this class also. The host class is either
 314   //   named, or a previously loaded anonymous class. A non-anonymous class
 315   //   or an anonymous class loaded through normal classloading does not
 316   //   have this embedded field.
 317   //
 318 
 319   friend class SystemDictionary;
 320 
 321  public:
 322   bool has_nonstatic_fields() const        {
 323     return (_misc_flags & _misc_has_nonstatic_fields) != 0;
 324   }
 325   void set_has_nonstatic_fields(bool b)    {
 326     if (b) {
 327       _misc_flags |= _misc_has_nonstatic_fields;
 328     } else {
 329       _misc_flags &= ~_misc_has_nonstatic_fields;




 289   //
 290   // f1: [access, name index, sig index, initial value index, low_offset, high_offset]
 291   // f2: [access, name index, sig index, initial value index, low_offset, high_offset]
 292   //      ...
 293   // fn: [access, name index, sig index, initial value index, low_offset, high_offset]
 294   //     [generic signature index]
 295   //     [generic signature index]
 296   //     ...
 297   Array<u2>*      _fields;
 298 
 299   // embedded Java vtable follows here
 300   // embedded Java itables follows here
 301   // embedded static fields follows here
 302   // embedded nonstatic oop-map blocks follows here
 303   // embedded implementor of this interface follows here
 304   //   The embedded implementor only exists if the current klass is an
 305   //   iterface. The possible values of the implementor fall into following
 306   //   three cases:
 307   //     NULL: no implementor.
 308   //     A Klass* that's not itself: one implementor.
 309   //     Itself: more than one implementors.
 310   // embedded host klass follows here
 311   //   The embedded host klass only exists in an anonymous class for
 312   //   dynamic language support (JSR 292 enabled). The host class grants
 313   //   its access privileges to this class also. The host class is either
 314   //   named, or a previously loaded anonymous class. A non-anonymous class
 315   //   or an anonymous class loaded through normal classloading does not
 316   //   have this embedded field.
 317   //
 318 
 319   friend class SystemDictionary;
 320 
 321  public:
 322   bool has_nonstatic_fields() const        {
 323     return (_misc_flags & _misc_has_nonstatic_fields) != 0;
 324   }
 325   void set_has_nonstatic_fields(bool b)    {
 326     if (b) {
 327       _misc_flags |= _misc_has_nonstatic_fields;
 328     } else {
 329       _misc_flags &= ~_misc_has_nonstatic_fields;


src/share/vm/oops/instanceKlass.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File