270 }
271
272 void ArrayKlass::oop_print_on(oop obj, outputStream* st) {
273 assert(obj->is_array(), "must be array");
274 Klass::oop_print_on(obj, st);
275 st->print_cr(" - length: %d", arrayOop(obj)->length());
276 }
277
278
279 // Verification
280
281 void ArrayKlass::verify_on(outputStream* st) {
282 Klass::verify_on(st);
283 }
284
285 void ArrayKlass::oop_verify_on(oop obj, outputStream* st) {
286 guarantee(obj->is_array(), "must be array");
287 arrayOop a = arrayOop(obj);
288 guarantee(a->length() >= 0, "array with negative length?");
289 }
|
270 }
271
272 void ArrayKlass::oop_print_on(oop obj, outputStream* st) {
273 assert(obj->is_array(), "must be array");
274 Klass::oop_print_on(obj, st);
275 st->print_cr(" - length: %d", arrayOop(obj)->length());
276 }
277
278
279 // Verification
280
281 void ArrayKlass::verify_on(outputStream* st) {
282 Klass::verify_on(st);
283 }
284
285 void ArrayKlass::oop_verify_on(oop obj, outputStream* st) {
286 guarantee(obj->is_array(), "must be array");
287 arrayOop a = arrayOop(obj);
288 guarantee(a->length() >= 0, "array with negative length?");
289 }
290
291 int ArrayKlass::hash_offset_in_bytes(oop obj, markWord m) const {
292 assert(UseCompactObjectHeaders, "only with compact i-hash");
293 arrayOop ary = arrayOop(obj);
294 BasicType type = element_type();
295 int length = LP64_ONLY(m.array_length()) NOT_LP64(ary->length());
296 return ary->base_offset_in_bytes(type) + (length << log2_element_size());
297 }
|