< prev index next >
src/share/vm/gc/g1/concurrentMark.hpp
Print this page
rev 9847 : 8146395: Add inline qualifier in oop.hpp and fix inlining in gc files
Summary: Fix remaining issues after 8146401
@@ -94,16 +94,11 @@
size_t heapWordToOffset(const HeapWord* addr) const {
return pointer_delta(addr, _bmStartWord) >> _shifter;
}
// The argument addr should be the start address of a valid object
- HeapWord* nextObject(HeapWord* addr) {
- oop obj = (oop) addr;
- HeapWord* res = addr + obj->size();
- assert(offsetToHeapWord(heapWordToOffset(res)) == res, "sanity");
- return res;
- }
+ inline HeapWord* nextObject(HeapWord* addr);
void print_on_error(outputStream* st, const char* prefix) const;
// debugging
NOT_PRODUCT(bool covers(MemRegion rs) const;)
@@ -625,18 +620,11 @@
// Verify that there are no CSet oops on the stacks (taskqueues /
// global mark stack) and fingers (global / per-task).
// If marking is not in progress, it's a no-op.
void verify_no_cset_oops() PRODUCT_RETURN;
- bool isPrevMarked(oop p) const {
- assert(p != NULL && p->is_oop(), "expected an oop");
- HeapWord* addr = (HeapWord*)p;
- assert(addr >= _prevMarkBitMap->startWord() ||
- addr < _prevMarkBitMap->endWord(), "in a region");
-
- return _prevMarkBitMap->isMarked(addr);
- }
+ inline bool isPrevMarked(oop p) const;
inline bool do_yield_check(uint worker_i = 0);
// Called to abort the marking cycle after a Full GC takes place.
void abort();
< prev index next >