< 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 >