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