src/share/vm/gc_implementation/g1/g1OopClosures.inline.hpp
Print this page
rev 3463 : 7114678: G1: various small fixes, code cleanup, and refactoring
Summary: Various cleanups as a prelude to introducing iterators for HeapRegions.
Reviewed-by: johnc
Contributed-by: tonyp
*** 33,71 ****
/*
* This really ought to be an inline function, but apparently the C++
* compiler sometimes sees fit to ignore inline declarations. Sigh.
*/
- // This must a ifdef'ed because the counting it controls is in a
- // perf-critical inner loop.
- #define FILTERINTOCSCLOSURE_DOHISTOGRAMCOUNT 0
-
template <class T>
inline void FilterIntoCSClosure::do_oop_nv(T* p) {
T heap_oop = oopDesc::load_heap_oop(p);
if (!oopDesc::is_null(heap_oop) &&
_g1->obj_in_cs(oopDesc::decode_heap_oop_not_null(heap_oop))) {
_oc->do_oop(p);
- #if FILTERINTOCSCLOSURE_DOHISTOGRAMCOUNT
- if (_dcto_cl != NULL)
- _dcto_cl->incr_count();
- #endif
}
}
- #define FILTEROUTOFREGIONCLOSURE_DOHISTOGRAMCOUNT 0
-
template <class T>
inline void FilterOutOfRegionClosure::do_oop_nv(T* p) {
T heap_oop = oopDesc::load_heap_oop(p);
if (!oopDesc::is_null(heap_oop)) {
HeapWord* obj_hw = (HeapWord*)oopDesc::decode_heap_oop_not_null(heap_oop);
if (obj_hw < _r_bottom || obj_hw >= _r_end) {
_oc->do_oop(p);
- #if FILTEROUTOFREGIONCLOSURE_DOHISTOGRAMCOUNT
- _out_of_region++;
- #endif
}
}
}
// This closure is applied to the fields of the objects that have just been copied.
--- 33,58 ----