< prev index next >

src/hotspot/share/oops/instanceKlass.inline.hpp

Print this page
*** 61,15 ***
    } else {
      return nullptr;
    }
  }
  
! inline ObjArrayKlass* InstanceKlass::array_klasses_acquire() const {
    return Atomic::load_acquire(&_array_klasses);
  }
  
! inline void InstanceKlass::release_set_array_klasses(ObjArrayKlass* k) {
    Atomic::release_store(&_array_klasses, k);
  }
  
  inline jmethodID* InstanceKlass::methods_jmethod_ids_acquire() const {
    return Atomic::load_acquire(&_methods_jmethod_ids);
--- 61,30 ---
    } else {
      return nullptr;
    }
  }
  
! inline InlineKlass* InstanceKlass::get_inline_type_field_klass(int idx) const {
+   assert(has_inline_type_fields(), "Sanity checking");
+   assert(idx < java_fields_count(), "IOOB");
+   InlineKlass* k = inline_layout_info(idx).klass();
+   assert(k != nullptr, "Should always be set before being read");
+   return k;
+ }
+ 
+ inline InlineKlass* InstanceKlass::get_inline_type_field_klass_or_null(int idx) const {
+   assert(has_inline_type_fields(), "Sanity checking");
+   assert(idx < java_fields_count(), "IOOB");
+   InlineKlass* k = inline_layout_info(idx).klass();
+   return k;
+ }
+ 
+ inline ArrayKlass* InstanceKlass::array_klasses_acquire() const {
    return Atomic::load_acquire(&_array_klasses);
  }
  
! inline void InstanceKlass::release_set_array_klasses(ArrayKlass* k) {
    Atomic::release_store(&_array_klasses, k);
  }
  
  inline jmethodID* InstanceKlass::methods_jmethod_ids_acquire() const {
    return Atomic::load_acquire(&_methods_jmethod_ids);
< prev index next >