< prev index next >
src/hotspot/share/oops/instanceKlass.hpp
Print this page
*** 1237,1254 ****
} else {
return NULL;
}
}
! Klass* get_value_field_klass(int idx) {
assert(has_value_fields(), "Sanity checking");
Klass* k = ((Klass**)adr_value_fields_klasses())[idx];
assert(k != NULL, "Should always be set before being read");
assert(k->is_value(), "Must be a value type");
return k;
}
void set_value_field_klass(int idx, Klass* k) {
assert(has_value_fields(), "Sanity checking");
assert(k != NULL, "Should not be set to NULL");
assert(((Klass**)adr_value_fields_klasses())[idx] == NULL, "Should not be set twice");
((Klass**)adr_value_fields_klasses())[idx] = k;
--- 1237,1261 ----
} else {
return NULL;
}
}
! Klass* get_value_field_klass(int idx) const {
assert(has_value_fields(), "Sanity checking");
Klass* k = ((Klass**)adr_value_fields_klasses())[idx];
assert(k != NULL, "Should always be set before being read");
assert(k->is_value(), "Must be a value type");
return k;
}
+ Klass* get_value_field_klass_or_null(int idx) const {
+ assert(has_value_fields(), "Sanity checking");
+ Klass* k = ((Klass**)adr_value_fields_klasses())[idx];
+ assert(k == NULL || k->is_value(), "Must be a value type");
+ return k;
+ }
+
void set_value_field_klass(int idx, Klass* k) {
assert(has_value_fields(), "Sanity checking");
assert(k != NULL, "Should not be set to NULL");
assert(((Klass**)adr_value_fields_klasses())[idx] == NULL, "Should not be set twice");
((Klass**)adr_value_fields_klasses())[idx] = k;
< prev index next >