184 ld_ptr(klass, in_bytes(Klass::prototype_header_offset()), t1); |
184 ld_ptr(klass, in_bytes(Klass::prototype_header_offset()), t1); |
185 } else { |
185 } else { |
186 set((intx)markOopDesc::prototype(), t1); |
186 set((intx)markOopDesc::prototype(), t1); |
187 } |
187 } |
188 st_ptr(t1, obj, oopDesc::mark_offset_in_bytes()); |
188 st_ptr(t1, obj, oopDesc::mark_offset_in_bytes()); |
189 if (UseCompressedKlassPointers) { |
189 if (UseCompressedClassPointers) { |
190 // Save klass |
190 // Save klass |
191 mov(klass, t1); |
191 mov(klass, t1); |
192 encode_klass_not_null(t1); |
192 encode_klass_not_null(t1); |
193 stw(t1, obj, oopDesc::klass_offset_in_bytes()); |
193 stw(t1, obj, oopDesc::klass_offset_in_bytes()); |
194 } else { |
194 } else { |
195 st_ptr(klass, obj, oopDesc::klass_offset_in_bytes()); |
195 st_ptr(klass, obj, oopDesc::klass_offset_in_bytes()); |
196 } |
196 } |
197 if (len->is_valid()) { |
197 if (len->is_valid()) { |
198 st(len, obj, arrayOopDesc::length_offset_in_bytes()); |
198 st(len, obj, arrayOopDesc::length_offset_in_bytes()); |
199 } else if (UseCompressedKlassPointers) { |
199 } else if (UseCompressedClassPointers) { |
200 // otherwise length is in the class gap |
200 // otherwise length is in the class gap |
201 store_klass_gap(G0, obj); |
201 store_klass_gap(G0, obj); |
202 } |
202 } |
203 } |
203 } |
204 |
204 |