Пример #1
0
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;
}
Пример #2
0
void markOopClass::print() {
  lprintf("Mark#0x%lx: hash: %ld; age: %ld",
         this,  hash(),  age());
  
  if (is_objectMarked()) lprintf("; object_is_marked");
  lprintf("\n");
}