< prev index next >

src/share/vm/gc/g1/g1OopClosures.inline.hpp

Print this page
rev 10546 : [mq]: 8077144-concurrent-mark-thread-init-fix

*** 129,139 **** inline void G1RootRegionScanClosure::do_oop_nv(T* p) { T heap_oop = oopDesc::load_heap_oop(p); if (!oopDesc::is_null(heap_oop)) { oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); HeapRegion* hr = _g1h->heap_region_containing((HeapWord*) obj); ! _cm->grayRoot(obj, obj->size(), _worker_id, hr); } } template <class T> inline void G1Mux2Closure::do_oop_work(T* p) { --- 129,139 ---- inline void G1RootRegionScanClosure::do_oop_nv(T* p) { T heap_oop = oopDesc::load_heap_oop(p); if (!oopDesc::is_null(heap_oop)) { oop obj = oopDesc::decode_heap_oop_not_null(heap_oop); HeapRegion* hr = _g1h->heap_region_containing((HeapWord*) obj); ! _cm->grayRoot(obj, hr); } } template <class T> inline void G1Mux2Closure::do_oop_work(T* p) {
*** 235,245 **** void G1ParCopyHelper::mark_object(oop obj) { assert(!_g1->heap_region_containing(obj)->in_collection_set(), "should not mark objects in the CSet"); // We know that the object is not moving so it's safe to read its size. ! _cm->grayRoot(obj, (size_t) obj->size(), _worker_id); } void G1ParCopyHelper::mark_forwarded_object(oop from_obj, oop to_obj) { assert(from_obj->is_forwarded(), "from obj should be forwarded"); assert(from_obj->forwardee() == to_obj, "to obj should be the forwardee"); --- 235,245 ---- void G1ParCopyHelper::mark_object(oop obj) { assert(!_g1->heap_region_containing(obj)->in_collection_set(), "should not mark objects in the CSet"); // We know that the object is not moving so it's safe to read its size. ! _cm->grayRoot(obj); } void G1ParCopyHelper::mark_forwarded_object(oop from_obj, oop to_obj) { assert(from_obj->is_forwarded(), "from obj should be forwarded"); assert(from_obj->forwardee() == to_obj, "to obj should be the forwardee");
*** 250,260 **** // The object might be in the process of being copied by another // worker so we cannot trust that its to-space image is // well-formed. So we have to read its size from its from-space // image which we know should not be changing. ! _cm->grayRoot(to_obj, (size_t) from_obj->size(), _worker_id); } template <G1Barrier barrier, G1Mark do_mark_object, bool use_ext> template <class T> void G1ParCopyClosure<barrier, do_mark_object, use_ext>::do_oop_work(T* p) { --- 250,260 ---- // The object might be in the process of being copied by another // worker so we cannot trust that its to-space image is // well-formed. So we have to read its size from its from-space // image which we know should not be changing. ! _cm->grayRoot(to_obj); } template <G1Barrier barrier, G1Mark do_mark_object, bool use_ext> template <class T> void G1ParCopyClosure<barrier, do_mark_object, use_ext>::do_oop_work(T* p) {
< prev index next >