63 public: |
63 public: |
64 // The _length field is not declared in C++. It is allocated after the |
64 // The _length field is not declared in C++. It is allocated after the |
65 // declared nonstatic fields in arrayOopDesc if not compressed, otherwise |
65 // declared nonstatic fields in arrayOopDesc if not compressed, otherwise |
66 // it occupies the second half of the _klass field in oopDesc. |
66 // it occupies the second half of the _klass field in oopDesc. |
67 static int length_offset_in_bytes() { |
67 static int length_offset_in_bytes() { |
68 return UseCompressedKlassPointers ? klass_gap_offset_in_bytes() : |
68 return UseCompressedClassPointers ? klass_gap_offset_in_bytes() : |
69 sizeof(arrayOopDesc); |
69 sizeof(arrayOopDesc); |
70 } |
70 } |
71 |
71 |
72 // Returns the offset of the first element. |
72 // Returns the offset of the first element. |
73 static int base_offset_in_bytes(BasicType type) { |
73 static int base_offset_in_bytes(BasicType type) { |