src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp

Print this page
rev 6220 : [mq]: printffmt_size.gc.patch


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() {