< prev index next >
src/share/vm/gc/shenandoah/shenandoahHeapRegion.cpp
Print this page
rev 13068 : [mq]: partial.patch
*** 210,219 ****
--- 210,230 ----
}
}
return NULL; // all done
}
+ void ShenandoahHeapRegion::oop_iterate(ExtendedOopClosure* blk) {
+ if (is_empty()) return;
+ HeapWord* obj_addr = bottom() + BrooksPointer::word_size();
+ HeapWord* t = top();
+ // Could call objects iterate, but this is easier.
+ while (obj_addr < t) {
+ oop obj = oop(obj_addr);
+ obj_addr += obj->oop_iterate_size(blk) + BrooksPointer::word_size();
+ }
+ }
+
void ShenandoahHeapRegion::fill_region() {
ShenandoahHeap* sh = (ShenandoahHeap*) Universe::heap();
if (free() > (BrooksPointer::word_size() + CollectedHeap::min_fill_size())) {
HeapWord* filler = allocate(BrooksPointer::word_size());
< prev index next >