bool memOopClass::verify() { bool flag = verify_oop(this == Memory->errorObj); if (flag) { markOop m = mark(); if (! oop(m)->is_mark()) { error1("mark of memOop 0x%lx isn't a markOop", this); if (! m->verify_oop()) error1(" mark of memOop 0x%lx isn't even a legal oop", this); flag = false; } else if (is_objectMarked()) { error1("memOop 0x%lx is marked!", this); flag = false; } mapOop p = map()->enclosing_mapOop(); if (! oop(p)->verify_oop()) { error1("map of memOop 0x%lx isn't a legal oop", this); flag = false; } else if (! p->is_map()) { error1("map of memOop 0x%lx isn't a mapOop", this); flag = false; } else if (map()->should_canonicalize()) { // put this test here so we only check maps actually used in objs--dmu Memory->map_table->verify_map((slotsMapDeps*)(map())); } } return flag; }
void markOopClass::print() { lprintf("Mark#0x%lx: hash: %ld; age: %ld", this, hash(), age()); if (is_objectMarked()) lprintf("; object_is_marked"); lprintf("\n"); }