< prev index next >
src/hotspot/share/oops/valueKlass.hpp
Print this page
*** 141,151 ****
void set_alignment(int alignment) {
*(int*)adr_alignment() = alignment;
}
! int get_first_field_offset() const {
int offset = *(int*)adr_first_field_offset();
assert(offset != 0, "Must be initialized before use");
return *(int*)adr_first_field_offset();
}
--- 141,151 ----
void set_alignment(int alignment) {
*(int*)adr_alignment() = alignment;
}
! int first_field_offset() const {
int offset = *(int*)adr_first_field_offset();
assert(offset != 0, "Must be initialized before use");
return *(int*)adr_first_field_offset();
}
*** 159,174 ****
void set_exact_size_in_bytes(int exact_size) {
*(int*)adr_exact_size_in_bytes() = exact_size;
}
private:
! int collect_fields(GrowableArray<SigEntry>* sig, int base_off = 0) const;
void cleanup_blobs();
- int first_field_offset_old() const;
protected:
// Returns the array class for the n'th dimension
Klass* array_klass_impl(ArrayStorageProperties storage_props, bool or_null, int n, TRAPS);
--- 159,175 ----
void set_exact_size_in_bytes(int exact_size) {
*(int*)adr_exact_size_in_bytes() = exact_size;
}
+ int first_field_offset_old();
+
private:
! int collect_fields(GrowableArray<SigEntry>* sig, int base_off = 0);
void cleanup_blobs();
protected:
// Returns the array class for the n'th dimension
Klass* array_klass_impl(ArrayStorageProperties storage_props, bool or_null, int n, TRAPS);
*** 204,223 ****
// allocate_instance() allocates a stand alone value in the Java heap
instanceOop allocate_instance(TRAPS);
// minimum number of bytes occupied by nonstatic fields, HeapWord aligned or pow2
! int raw_value_byte_size() const;
!
! int first_field_offset() const {
! // To be refactored/simplified once old layout code and UseNewLayout are removed
! if (UseNewLayout) {
! return get_first_field_offset();
! } else {
! return first_field_offset_old();
! }
! };
address data_for_oop(oop o) const {
return ((address) (void*) o) + first_field_offset();
}
--- 205,215 ----
// allocate_instance() allocates a stand alone value in the Java heap
instanceOop allocate_instance(TRAPS);
// minimum number of bytes occupied by nonstatic fields, HeapWord aligned or pow2
! int raw_value_byte_size();
address data_for_oop(oop o) const {
return ((address) (void*) o) + first_field_offset();
}
< prev index next >