src/hotspot/share/gc/parallel/psTasks.cpp
changeset 49164 7e958a8ebcd3
parent 47580 96392e113a0a
child 49982 9042ffe5b7fe
equal deleted inserted replaced
49163:580bb0b85f63 49164:7e958a8ebcd3
     1 /*
     1 /*
     2  * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    24 
    24 
    25 #include "precompiled.hpp"
    25 #include "precompiled.hpp"
    26 #include "aot/aotLoader.hpp"
    26 #include "aot/aotLoader.hpp"
    27 #include "classfile/systemDictionary.hpp"
    27 #include "classfile/systemDictionary.hpp"
    28 #include "code/codeCache.hpp"
    28 #include "code/codeCache.hpp"
    29 #include "gc/parallel/cardTableExtension.hpp"
       
    30 #include "gc/parallel/gcTaskManager.hpp"
    29 #include "gc/parallel/gcTaskManager.hpp"
    31 #include "gc/parallel/psMarkSweep.hpp"
    30 #include "gc/parallel/psMarkSweep.hpp"
       
    31 #include "gc/parallel/psCardTable.hpp"
    32 #include "gc/parallel/psPromotionManager.hpp"
    32 #include "gc/parallel/psPromotionManager.hpp"
    33 #include "gc/parallel/psPromotionManager.inline.hpp"
    33 #include "gc/parallel/psPromotionManager.inline.hpp"
    34 #include "gc/parallel/psScavenge.inline.hpp"
    34 #include "gc/parallel/psScavenge.inline.hpp"
    35 #include "gc/parallel/psTasks.hpp"
    35 #include "gc/parallel/psTasks.hpp"
    36 #include "gc/shared/taskqueue.inline.hpp"
    36 #include "gc/shared/taskqueue.inline.hpp"
   174   assert(_old_gen->object_space()->contains(_gen_top) || _gen_top == _old_gen->object_space()->top(), "Sanity");
   174   assert(_old_gen->object_space()->contains(_gen_top) || _gen_top == _old_gen->object_space()->top(), "Sanity");
   175   assert(_stripe_number < ParallelGCThreads, "Sanity");
   175   assert(_stripe_number < ParallelGCThreads, "Sanity");
   176 
   176 
   177   {
   177   {
   178     PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
   178     PSPromotionManager* pm = PSPromotionManager::gc_thread_promotion_manager(which);
   179     CardTableExtension* card_table =
   179     PSCardTable* card_table = ParallelScavengeHeap::heap()->card_table();
   180       barrier_set_cast<CardTableExtension>(ParallelScavengeHeap::heap()->barrier_set());
       
   181 
   180 
   182     card_table->scavenge_contents_parallel(_old_gen->start_array(),
   181     card_table->scavenge_contents_parallel(_old_gen->start_array(),
   183                                            _old_gen->object_space(),
   182                                            _old_gen->object_space(),
   184                                            _gen_top,
   183                                            _gen_top,
   185                                            pm,
   184                                            pm,