18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "classfile/systemDictionary.hpp"
27 #include "code/codeCache.hpp"
28 #include "gc_implementation/parallelScavenge/cardTableExtension.hpp"
29 #include "gc_implementation/parallelScavenge/gcTaskManager.hpp"
30 #include "gc_implementation/parallelScavenge/psMarkSweep.hpp"
31 #include "gc_implementation/parallelScavenge/psPromotionManager.hpp"
32 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
33 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
34 #include "gc_implementation/parallelScavenge/psTasks.hpp"
35 #include "memory/iterator.hpp"
36 #include "memory/universe.hpp"
37 #include "oops/oop.inline.hpp"
38 #include "oops/oop.psgc.inline.hpp"
39 #include "runtime/fprofiler.hpp"
40 #include "runtime/thread.hpp"
41 #include "runtime/vmThread.hpp"
42 #include "services/management.hpp"
43 #include "utilities/stack.inline.hpp"
44 #include "utilities/taskqueue.hpp"
45
46 //
47 // ScavengeRootsTask
48 //
49
50 void ScavengeRootsTask::do_it(GCTaskManager* manager, uint which) {
51 assert(Universe::heap()->is_gc_active(), "called outside gc");
52
53 PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
54 PSScavengeRootsClosure roots_closure(pm);
55 PSPromoteRootsClosure roots_to_old_closure(pm);
56
57 switch (_root_type) {
58 case universe:
|
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "classfile/systemDictionary.hpp"
27 #include "code/codeCache.hpp"
28 #include "gc_implementation/parallelScavenge/cardTableExtension.hpp"
29 #include "gc_implementation/parallelScavenge/gcTaskManager.hpp"
30 #include "gc_implementation/parallelScavenge/psMarkSweep.hpp"
31 #include "gc_implementation/parallelScavenge/psPromotionManager.hpp"
32 #include "gc_implementation/parallelScavenge/psPromotionManager.inline.hpp"
33 #include "gc_implementation/parallelScavenge/psScavenge.inline.hpp"
34 #include "gc_implementation/parallelScavenge/psTasks.hpp"
35 #include "memory/iterator.hpp"
36 #include "memory/universe.hpp"
37 #include "oops/oop.inline.hpp"
38 #include "runtime/fprofiler.hpp"
39 #include "runtime/thread.hpp"
40 #include "runtime/vmThread.hpp"
41 #include "services/management.hpp"
42 #include "utilities/stack.inline.hpp"
43 #include "utilities/taskqueue.hpp"
44
45 //
46 // ScavengeRootsTask
47 //
48
49 void ScavengeRootsTask::do_it(GCTaskManager* manager, uint which) {
50 assert(Universe::heap()->is_gc_active(), "called outside gc");
51
52 PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
53 PSScavengeRootsClosure roots_closure(pm);
54 PSPromoteRootsClosure roots_to_old_closure(pm);
55
56 switch (_root_type) {
57 case universe:
|