hotspot/src/share/vm/memory/space.cpp
#define ContigSpace_OOP_SINCE_SAVE_MARKS_DEFN(OopClosureType, nv_suffix) \
\
void ContiguousSpace:: \
oop_since_save_marks_iterate##nv_suffix(OopClosureType* blk) { \
{- -------------------------------------------
(1) (変数宣言など)
---------------------------------------- -}
HeapWord* t; \
HeapWord* p = saved_mark_word(); \
assert(p != NULL, "expected saved mark"); \
\
const intx interval = PrefetchScanIntervalInBytes; \
{- -------------------------------------------
(1)
---------------------------------------- -}
do { \
t = top(); \
while (p < t) { \
Prefetch::write(p, interval); \
debug_only(HeapWord* prev = p); \
oop m = oop(p); \
p += m->oop_iterate(blk); \
} \
} while (t < top()); \
\
{- -------------------------------------------
(1)
---------------------------------------- -}
set_saved_mark_word(p); \
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.