< prev index next >

src/share/vm/gc/g1/concurrentMark.hpp

Print this page
rev 9974 : 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).

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