< prev index next >

src/hotspot/share/oops/klass.hpp

Print this page
rev 50453 : imported patch 02.removeInArchiveRoot


 227   }
 228   virtual bool can_be_primary_super_slow() const;
 229 
 230   // Returns number of primary supers; may be a number in the inclusive range [0, primary_super_limit].
 231   juint super_depth() const {
 232     if (!can_be_primary_super()) {
 233       return primary_super_limit();
 234     } else {
 235       juint d = (super_check_offset() - in_bytes(primary_supers_offset())) / sizeof(Klass*);
 236       assert(d < primary_super_limit(), "oob");
 237       assert(_primary_supers[d] == this, "proper init");
 238       return d;
 239     }
 240   }
 241 
 242   // java mirror
 243   oop java_mirror() const;
 244   void set_java_mirror(Handle m);
 245 
 246   oop archived_java_mirror_raw() NOT_CDS_JAVA_HEAP_RETURN_(NULL); // no GC barrier
 247   oop archived_java_mirror() NOT_CDS_JAVA_HEAP_RETURN_(NULL);     // accessor with GC barrier
 248   void set_archived_java_mirror_raw(oop m) NOT_CDS_JAVA_HEAP_RETURN; // no GC barrier
 249 
 250   // Temporary mirror switch used by RedefineClasses
 251   // Both mirrors are on the ClassLoaderData::_handles list already so no
 252   // barriers are needed.
 253   void set_java_mirror_handle(OopHandle mirror) { _java_mirror = mirror; }
 254   OopHandle java_mirror_handle() const          {
 255     return _java_mirror;
 256   }
 257 
 258   // modifier flags
 259   jint modifier_flags() const          { return _modifier_flags; }
 260   void set_modifier_flags(jint flags)  { _modifier_flags = flags; }
 261 
 262   // size helper
 263   int layout_helper() const            { return _layout_helper; }
 264   void set_layout_helper(int lh)       { _layout_helper = lh; }
 265 
 266   // Note: for instances layout_helper() may include padding.
 267   // Use InstanceKlass::contains_field_offset to classify field offsets.




 227   }
 228   virtual bool can_be_primary_super_slow() const;
 229 
 230   // Returns number of primary supers; may be a number in the inclusive range [0, primary_super_limit].
 231   juint super_depth() const {
 232     if (!can_be_primary_super()) {
 233       return primary_super_limit();
 234     } else {
 235       juint d = (super_check_offset() - in_bytes(primary_supers_offset())) / sizeof(Klass*);
 236       assert(d < primary_super_limit(), "oob");
 237       assert(_primary_supers[d] == this, "proper init");
 238       return d;
 239     }
 240   }
 241 
 242   // java mirror
 243   oop java_mirror() const;
 244   void set_java_mirror(Handle m);
 245 
 246   oop archived_java_mirror_raw() NOT_CDS_JAVA_HEAP_RETURN_(NULL); // no GC barrier

 247   void set_archived_java_mirror_raw(oop m) NOT_CDS_JAVA_HEAP_RETURN; // no GC barrier
 248 
 249   // Temporary mirror switch used by RedefineClasses
 250   // Both mirrors are on the ClassLoaderData::_handles list already so no
 251   // barriers are needed.
 252   void set_java_mirror_handle(OopHandle mirror) { _java_mirror = mirror; }
 253   OopHandle java_mirror_handle() const          {
 254     return _java_mirror;
 255   }
 256 
 257   // modifier flags
 258   jint modifier_flags() const          { return _modifier_flags; }
 259   void set_modifier_flags(jint flags)  { _modifier_flags = flags; }
 260 
 261   // size helper
 262   int layout_helper() const            { return _layout_helper; }
 263   void set_layout_helper(int lh)       { _layout_helper = lh; }
 264 
 265   // Note: for instances layout_helper() may include padding.
 266   // Use InstanceKlass::contains_field_offset to classify field offsets.


< prev index next >