< 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 >