src/share/vm/memory/cardTableRS.cpp

Print this page
rev 6676 : 8044775: Improve usage of umbrella header atomic.inline.hpp.
Reviewed-by: stefank, kvn


  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  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 "memory/allocation.inline.hpp"
  27 #include "memory/cardTableRS.hpp"
  28 #include "memory/genCollectedHeap.hpp"
  29 #include "memory/generation.hpp"
  30 #include "memory/space.hpp"
  31 #include "oops/oop.inline.hpp"

  32 #include "runtime/java.hpp"
  33 #include "runtime/os.hpp"
  34 #include "utilities/macros.hpp"
  35 #if INCLUDE_ALL_GCS
  36 #include "gc_implementation/g1/concurrentMark.hpp"
  37 #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
  38 #endif // INCLUDE_ALL_GCS
  39 
  40 CardTableRS::CardTableRS(MemRegion whole_heap,
  41                          int max_covered_regions) :
  42   GenRemSet(),
  43   _cur_youngergen_card_val(youngergenP1_card),
  44   _regions_to_iterate(max_covered_regions - 1)
  45 {
  46 #if INCLUDE_ALL_GCS
  47   if (UseG1GC) {
  48       _ct_bs = new G1SATBCardTableLoggingModRefBS(whole_heap,
  49                                                   max_covered_regions);
  50   } else {
  51     _ct_bs = new CardTableModRefBSForCTRS(whole_heap, max_covered_regions);




  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  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 "memory/allocation.inline.hpp"
  27 #include "memory/cardTableRS.hpp"
  28 #include "memory/genCollectedHeap.hpp"
  29 #include "memory/generation.hpp"
  30 #include "memory/space.hpp"
  31 #include "oops/oop.inline.hpp"
  32 #include "runtime/atomic.inline.hpp"
  33 #include "runtime/java.hpp"
  34 #include "runtime/os.hpp"
  35 #include "utilities/macros.hpp"
  36 #if INCLUDE_ALL_GCS
  37 #include "gc_implementation/g1/concurrentMark.hpp"
  38 #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp"
  39 #endif // INCLUDE_ALL_GCS
  40 
  41 CardTableRS::CardTableRS(MemRegion whole_heap,
  42                          int max_covered_regions) :
  43   GenRemSet(),
  44   _cur_youngergen_card_val(youngergenP1_card),
  45   _regions_to_iterate(max_covered_regions - 1)
  46 {
  47 #if INCLUDE_ALL_GCS
  48   if (UseG1GC) {
  49       _ct_bs = new G1SATBCardTableLoggingModRefBS(whole_heap,
  50                                                   max_covered_regions);
  51   } else {
  52     _ct_bs = new CardTableModRefBSForCTRS(whole_heap, max_covered_regions);