< prev index next >

src/share/vm/gc_implementation/g1/g1EvacFailure.cpp

Print this page
rev 7799 : [mq]: fixG1EvacFailure

*** 1,7 **** /* ! * Copyright (c) 2012, 2013, 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) 2012, 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.
*** 20,40 **** * or visit www.oracle.com if you need additional information or have any * questions. * */ ! #ifndef SHARE_VM_GC_IMPLEMENTATION_G1_G1EVACFAILURE_HPP ! #define SHARE_VM_GC_IMPLEMENTATION_G1_G1EVACFAILURE_HPP ! #include "gc_implementation/g1/concurrentMark.inline.hpp" #include "gc_implementation/g1/dirtyCardQueue.hpp" #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" #include "gc_implementation/g1/g1_globals.hpp" #include "gc_implementation/g1/g1OopClosures.inline.hpp" #include "gc_implementation/g1/heapRegion.hpp" #include "gc_implementation/g1/heapRegionRemSet.hpp" - #include "utilities/workgroup.hpp" // Closures and tasks associated with any self-forwarding pointers // installed as a result of an evacuation failure. class UpdateRSetDeferred : public OopsInHeapRegionClosure { --- 20,38 ---- * or visit www.oracle.com if you need additional information or have any * questions. * */ ! #include "precompiled.hpp" #include "gc_implementation/g1/concurrentMark.inline.hpp" #include "gc_implementation/g1/dirtyCardQueue.hpp" #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" + #include "gc_implementation/g1/g1EvacFailure.hpp" #include "gc_implementation/g1/g1_globals.hpp" #include "gc_implementation/g1/g1OopClosures.inline.hpp" #include "gc_implementation/g1/heapRegion.hpp" #include "gc_implementation/g1/heapRegionRemSet.hpp" // Closures and tasks associated with any self-forwarding pointers // installed as a result of an evacuation failure. class UpdateRSetDeferred : public OopsInHeapRegionClosure {
*** 230,253 **** } return false; } }; ! class G1ParRemoveSelfForwardPtrsTask: public AbstractGangTask { ! protected: ! G1CollectedHeap* _g1h; ! HeapRegionClaimer _hrclaimer; ! ! public: ! G1ParRemoveSelfForwardPtrsTask(G1CollectedHeap* g1h) : AbstractGangTask("G1 Remove Self-forwarding Pointers"), _g1h(g1h), _hrclaimer(g1h->workers()->active_workers()) {} ! void work(uint worker_id) { RemoveSelfForwardPtrHRClosure rsfp_cl(_g1h, worker_id, &_hrclaimer); HeapRegion* hr = _g1h->start_cset_region_for_worker(worker_id); _g1h->collection_set_iterate_from(hr, &rsfp_cl); ! } ! }; ! ! #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1EVACFAILURE_HPP --- 228,242 ---- } return false; } }; ! G1ParRemoveSelfForwardPtrsTask::G1ParRemoveSelfForwardPtrsTask(G1CollectedHeap* g1h) : AbstractGangTask("G1 Remove Self-forwarding Pointers"), _g1h(g1h), _hrclaimer(g1h->workers()->active_workers()) {} ! void G1ParRemoveSelfForwardPtrsTask::work(uint worker_id) { RemoveSelfForwardPtrHRClosure rsfp_cl(_g1h, worker_id, &_hrclaimer); HeapRegion* hr = _g1h->start_cset_region_for_worker(worker_id); _g1h->collection_set_iterate_from(hr, &rsfp_cl); ! }
< prev index next >