3279 public:
3280 PrintObjsInRegionClosure(HeapRegion *hr) : _hr(hr) {
3281 _g1 = G1CollectedHeap::heap();
3282 };
3283
3284 void do_object(oop o) {
3285 if (o != NULL) {
3286 HeapWord *start = (HeapWord *) o;
3287 size_t word_sz = o->size();
3288 gclog_or_tty->print("\nPrinting obj "PTR_FORMAT" of size " SIZE_FORMAT
3289 " isMarkedPrev %d isMarkedNext %d isAllocSince %d\n",
3290 (void*) o, word_sz,
3291 _g1->isMarkedPrev(o),
3292 _g1->isMarkedNext(o),
3293 _hr->obj_allocated_since_prev_marking(o));
3294 HeapWord *end = start + word_sz;
3295 HeapWord *cur;
3296 int *val;
3297 for (cur = start; cur < end; cur++) {
3298 val = (int *) cur;
3299 gclog_or_tty->print("\t "PTR_FORMAT":"PTR_FORMAT"\n", val, *val);
3300 }
3301 }
3302 }
3303 };
3304
3305 class VerifyRegionClosure: public HeapRegionClosure {
3306 private:
3307 bool _par;
3308 VerifyOption _vo;
3309 bool _failures;
3310 public:
3311 // _vo == UsePrevMarking -> use "prev" marking information,
3312 // _vo == UseNextMarking -> use "next" marking information,
3313 // _vo == UseMarkWord -> use mark word from object header.
3314 VerifyRegionClosure(bool par, VerifyOption vo)
3315 : _par(par),
3316 _vo(vo),
3317 _failures(false) {}
3318
3319 bool failures() {
|
3279 public:
3280 PrintObjsInRegionClosure(HeapRegion *hr) : _hr(hr) {
3281 _g1 = G1CollectedHeap::heap();
3282 };
3283
3284 void do_object(oop o) {
3285 if (o != NULL) {
3286 HeapWord *start = (HeapWord *) o;
3287 size_t word_sz = o->size();
3288 gclog_or_tty->print("\nPrinting obj "PTR_FORMAT" of size " SIZE_FORMAT
3289 " isMarkedPrev %d isMarkedNext %d isAllocSince %d\n",
3290 (void*) o, word_sz,
3291 _g1->isMarkedPrev(o),
3292 _g1->isMarkedNext(o),
3293 _hr->obj_allocated_since_prev_marking(o));
3294 HeapWord *end = start + word_sz;
3295 HeapWord *cur;
3296 int *val;
3297 for (cur = start; cur < end; cur++) {
3298 val = (int *) cur;
3299 gclog_or_tty->print("\t "PTR_FORMAT":%d\n", val, *val);
3300 }
3301 }
3302 }
3303 };
3304
3305 class VerifyRegionClosure: public HeapRegionClosure {
3306 private:
3307 bool _par;
3308 VerifyOption _vo;
3309 bool _failures;
3310 public:
3311 // _vo == UsePrevMarking -> use "prev" marking information,
3312 // _vo == UseNextMarking -> use "next" marking information,
3313 // _vo == UseMarkWord -> use mark word from object header.
3314 VerifyRegionClosure(bool par, VerifyOption vo)
3315 : _par(par),
3316 _vo(vo),
3317 _failures(false) {}
3318
3319 bool failures() {
|