< prev index next >

src/hotspot/share/oops/valueKlass.cpp

Print this page

        

*** 547,590 **** } #endif return NULL; } - void ValueKlass::iterate_over_inside_oops(OopClosure* f, oop value) { - assert(!Universe::heap()->is_in_reserved(value), "This method is used on buffered values"); - - oop* addr_mirror = (oop*)(value)->mark_addr_raw(); - f->do_oop_no_buffering(addr_mirror); - - if (!contains_oops()) return; - - OopMapBlock* map = start_of_nonstatic_oop_maps(); - OopMapBlock* const end_map = map + nonstatic_oop_map_count(); - - if (!UseCompressedOops) { - for (; map < end_map; map++) { - oop* p = (oop*) (((char*)(oopDesc*)value) + map->offset()); - oop* const end = p + map->count(); - for (; p < end; ++p) { - assert(oopDesc::is_oop_or_null(*p), "Sanity check"); - f->do_oop(p); - } - } - } else { - for (; map < end_map; map++) { - narrowOop* p = (narrowOop*) (((char*)(oopDesc*)value) + map->offset()); - narrowOop* const end = p + map->count(); - for (; p < end; ++p) { - oop o = CompressedOops::decode(*p); - assert(Universe::heap()->is_in_reserved_or_null(o), "Sanity check"); - assert(oopDesc::is_oop_or_null(o), "Sanity check"); - f->do_oop(p); - } - } - } - } - void ValueKlass::verify_on(outputStream* st) { InstanceKlass::verify_on(st); guarantee(prototype_header()->is_always_locked(), "Prototype header is not always locked"); } --- 547,556 ----
< prev index next >