< prev index next >
src/share/vm/gc/g1/concurrentMark.hpp
Print this page
rev 9978 : 8146395: Add inline qualifier in oop.hpp and fix inlining in gc files
Summary: Fix remaining issues after 8146401. Also fix windows VS2010 linkage problem (g1OopClosures.hpp).
Reviewed-by: stefank, mgerdin
*** 1,7 ****
/*
! * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 94,109 ****
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;
! }
void print_on_error(outputStream* st, const char* prefix) const;
// debugging
NOT_PRODUCT(bool covers(MemRegion rs) const;)
--- 94,104 ----
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
! inline HeapWord* nextObject(HeapWord* addr);
void print_on_error(outputStream* st, const char* prefix) const;
// debugging
NOT_PRODUCT(bool covers(MemRegion rs) const;)
*** 625,642 ****
// 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 do_yield_check(uint worker_i = 0);
// Called to abort the marking cycle after a Full GC takes place.
void abort();
--- 620,630 ----
// 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;
! 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 >