< prev index next >

src/hotspot/share/ci/ciInstance.cpp

Print this page
*** 106,11 ***
  //
  // Constant value of a field.
  ciConstant ciInstance::field_value(ciField* field) {
    assert(is_loaded(), "invalid access - must be loaded");
    assert(field->holder()->is_loaded(), "invalid access - holder must be loaded");
!   assert(field->is_static() || klass()->is_subclass_of(field->holder()), "invalid access - must be subclass");
    return field_value_impl(field->type()->basic_type(), field->offset_in_bytes());
  }
  
  // ------------------------------------------------------------------
  // ciInstance::field_value_by_offset
--- 106,13 ---
  //
  // Constant value of a field.
  ciConstant ciInstance::field_value(ciField* field) {
    assert(is_loaded(), "invalid access - must be loaded");
    assert(field->holder()->is_loaded(), "invalid access - holder must be loaded");
!   assert(field->is_static() || field->holder()->is_inlinetype() || klass()->is_subclass_of(field->holder()),
+          "invalid access - must be subclass");
+ 
    return field_value_impl(field->type()->basic_type(), field->offset_in_bytes());
  }
  
  // ------------------------------------------------------------------
  // ciInstance::field_value_by_offset
< prev index next >