src/hotspot/share/gc/shared/vmStructs_gc.hpp
author rkennke
Mon, 10 Dec 2018 15:47:44 +0100
changeset 52925 9c18c9d839d3
parent 50525 767cdb97f103
child 53792 6fb43030a1b4
permissions -rw-r--r--
8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) Reviewed-by: kvn, roland, shade, coleenp, lmesnik, pliden, jgeorge, ihse, erikj Contributed-by: Christine Flood <chf@redhat.com>, Aleksey Shipilev <shade@redhat.com>, Roland Westrelin <rwestrel@redhat.com>, Zhenygu Gu <zgu@redhat.com>, Andrew Haley <aph@redhat.com>, Andrew Dinn <adinn@redhat.com>, Mario Torre <mtorre@redhat.com>, Roman Kennke <rkennke@redhat.com>
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
     1
/*
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
     2
 * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
     4
 *
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
     7
 * published by the Free Software Foundation.
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
     8
 *
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    13
 * accompanied this code).
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    14
 *
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    18
 *
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    21
 * questions.
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    22
 *
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    23
 */
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    24
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    25
#ifndef SHARE_GC_SHARED_VMSTRUCTS_GC_HPP
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    26
#define SHARE_GC_SHARED_VMSTRUCTS_GC_HPP
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    27
49982
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    28
#include "gc/shared/ageTable.hpp"
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    29
#include "gc/shared/cardGeneration.hpp"
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    30
#include "gc/shared/cardTableRS.hpp"
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    31
#include "gc/shared/collectedHeap.hpp"
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    32
#include "gc/shared/genCollectedHeap.hpp"
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    33
#include "gc/shared/generation.hpp"
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    34
#include "gc/shared/generationSpec.hpp"
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    35
#include "gc/shared/oopStorage.hpp"
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    36
#include "gc/shared/space.hpp"
49982
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    37
#if INCLUDE_CMSGC
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    38
#include "gc/cms/vmStructs_cms.hpp"
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    39
#endif
50523
7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector
shade
parents: 49982
diff changeset
    40
#if INCLUDE_EPSILONGC
7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector
shade
parents: 49982
diff changeset
    41
#include "gc/epsilon/vmStructs_epsilon.hpp"
7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector
shade
parents: 49982
diff changeset
    42
#endif
49982
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    43
#if INCLUDE_G1GC
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    44
#include "gc/g1/vmStructs_g1.hpp"
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    45
#endif
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    46
#if INCLUDE_PARALLELGC
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    47
#include "gc/parallel/vmStructs_parallelgc.hpp"
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    48
#endif
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    49
#if INCLUDE_SERIALGC
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    50
#include "gc/serial/defNewGeneration.hpp"
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    51
#include "gc/serial/vmStructs_serial.hpp"
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    52
#endif
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents: 50525
diff changeset
    53
#if INCLUDE_SHENANDOAHGC
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents: 50525
diff changeset
    54
#include "gc/shenandoah/vmStructs_shenandoah.hpp"
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents: 50525
diff changeset
    55
#endif
50525
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
    56
#if INCLUDE_ZGC
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
    57
#include "gc/z/vmStructs_z.hpp"
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
    58
#endif
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    59
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    60
#define VM_STRUCTS_GC(nonstatic_field,                                                                                               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    61
                      volatile_nonstatic_field,                                                                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    62
                      static_field,                                                                                                  \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    63
                      unchecked_nonstatic_field)                                                                                     \
49982
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    64
  CMSGC_ONLY(VM_STRUCTS_CMSGC(nonstatic_field,                                                                                       \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    65
                              volatile_nonstatic_field,                                                                              \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    66
                              static_field))                                                                                         \
50523
7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector
shade
parents: 49982
diff changeset
    67
  EPSILONGC_ONLY(VM_STRUCTS_EPSILONGC(nonstatic_field,                                                                               \
7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector
shade
parents: 49982
diff changeset
    68
                                      volatile_nonstatic_field,                                                                      \
7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector
shade
parents: 49982
diff changeset
    69
                                      static_field))                                                                                 \
49982
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    70
  G1GC_ONLY(VM_STRUCTS_G1GC(nonstatic_field,                                                                                         \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    71
                            volatile_nonstatic_field,                                                                                \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    72
                            static_field))                                                                                           \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    73
  PARALLELGC_ONLY(VM_STRUCTS_PARALLELGC(nonstatic_field,                                                                             \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    74
                                        volatile_nonstatic_field,                                                                    \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    75
                                        static_field))                                                                               \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    76
  SERIALGC_ONLY(VM_STRUCTS_SERIALGC(nonstatic_field,                                                                                 \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    77
                                    volatile_nonstatic_field,                                                                        \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
    78
                                    static_field))                                                                                   \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents: 50525
diff changeset
    79
  SHENANDOAHGC_ONLY(VM_STRUCTS_SHENANDOAH(nonstatic_field,                                                                           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents: 50525
diff changeset
    80
                               volatile_nonstatic_field,                                                                             \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents: 50525
diff changeset
    81
                               static_field))                                                                                        \
50525
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
    82
  ZGC_ONLY(VM_STRUCTS_ZGC(nonstatic_field,                                                                                           \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
    83
                          volatile_nonstatic_field,                                                                                  \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
    84
                          static_field))                                                                                             \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
    85
                                                                                                                                     \
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    86
  /**********************************************************************************/                                               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    87
  /* Generation and Space hierarchies                                               */                                               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    88
  /**********************************************************************************/                                               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    89
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    90
  unchecked_nonstatic_field(AgeTable,          sizes,                                         sizeof(AgeTable::sizes))               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    91
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    92
  nonstatic_field(BarrierSet,                  _fake_rtti,                                    BarrierSet::FakeRtti)                  \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    93
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    94
  nonstatic_field(BarrierSet::FakeRtti,        _concrete_tag,                                 BarrierSet::Name)                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    95
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    96
  nonstatic_field(BlockOffsetTable,            _bottom,                                       HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    97
  nonstatic_field(BlockOffsetTable,            _end,                                          HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    98
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
    99
  nonstatic_field(BlockOffsetSharedArray,      _reserved,                                     MemRegion)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   100
  nonstatic_field(BlockOffsetSharedArray,      _end,                                          HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   101
  nonstatic_field(BlockOffsetSharedArray,      _vs,                                           VirtualSpace)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   102
  nonstatic_field(BlockOffsetSharedArray,      _offset_array,                                 u_char*)                               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   103
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   104
  nonstatic_field(BlockOffsetArray,            _array,                                        BlockOffsetSharedArray*)               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   105
  nonstatic_field(BlockOffsetArray,            _sp,                                           Space*)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   106
  nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_threshold,                        HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   107
  nonstatic_field(BlockOffsetArrayContigSpace, _next_offset_index,                            size_t)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   108
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   109
  nonstatic_field(BlockOffsetArrayNonContigSpace, _unallocated_block,                         HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   110
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   111
  nonstatic_field(CardGeneration,              _rs,                                           CardTableRS*)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   112
  nonstatic_field(CardGeneration,              _bts,                                          BlockOffsetSharedArray*)               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   113
  nonstatic_field(CardGeneration,              _shrink_factor,                                size_t)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   114
  nonstatic_field(CardGeneration,              _capacity_at_prologue,                         size_t)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   115
  nonstatic_field(CardGeneration,              _used_at_prologue,                             size_t)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   116
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   117
  nonstatic_field(CardTable,                   _whole_heap,                                   const MemRegion)                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   118
  nonstatic_field(CardTable,                   _guard_index,                                  const size_t)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   119
  nonstatic_field(CardTable,                   _last_valid_index,                             const size_t)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   120
  nonstatic_field(CardTable,                   _page_size,                                    const size_t)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   121
  nonstatic_field(CardTable,                   _byte_map_size,                                const size_t)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   122
  nonstatic_field(CardTable,                   _byte_map,                                     jbyte*)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   123
  nonstatic_field(CardTable,                   _cur_covered_regions,                          int)                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   124
  nonstatic_field(CardTable,                   _covered,                                      MemRegion*)                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   125
  nonstatic_field(CardTable,                   _committed,                                    MemRegion*)                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   126
  nonstatic_field(CardTable,                   _guard_region,                                 MemRegion)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   127
  nonstatic_field(CardTable,                   _byte_map_base,                                jbyte*)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   128
  nonstatic_field(CardTableBarrierSet,         _defer_initial_card_mark,                      bool)                                  \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   129
  nonstatic_field(CardTableBarrierSet,         _card_table,                                   CardTable*)                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   130
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   131
  nonstatic_field(CollectedHeap,               _reserved,                                     MemRegion)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   132
  nonstatic_field(CollectedHeap,               _is_gc_active,                                 bool)                                  \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   133
  nonstatic_field(CollectedHeap,               _total_collections,                            unsigned int)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   134
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   135
  nonstatic_field(CompactibleSpace,            _compaction_top,                               HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   136
  nonstatic_field(CompactibleSpace,            _first_dead,                                   HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   137
  nonstatic_field(CompactibleSpace,            _end_of_live,                                  HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   138
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   139
  nonstatic_field(ContiguousSpace,             _top,                                          HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   140
  nonstatic_field(ContiguousSpace,             _concurrent_iteration_safe_limit,              HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   141
  nonstatic_field(ContiguousSpace,             _saved_mark_word,                              HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   142
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   143
  nonstatic_field(Generation,                  _reserved,                                     MemRegion)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   144
  nonstatic_field(Generation,                  _virtual_space,                                VirtualSpace)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   145
  nonstatic_field(Generation,                  _stat_record,                                  Generation::StatRecord)                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   146
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   147
  nonstatic_field(Generation::StatRecord,      invocations,                                   int)                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   148
  nonstatic_field(Generation::StatRecord,      accumulated_time,                              elapsedTimer)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   149
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   150
  nonstatic_field(GenerationSpec,              _name,                                         Generation::Name)                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   151
  nonstatic_field(GenerationSpec,              _init_size,                                    size_t)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   152
  nonstatic_field(GenerationSpec,              _max_size,                                     size_t)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   153
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   154
  nonstatic_field(GenCollectedHeap,            _young_gen,                                    Generation*)                           \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   155
  nonstatic_field(GenCollectedHeap,            _old_gen,                                      Generation*)                           \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   156
  nonstatic_field(GenCollectedHeap,            _young_gen_spec,                               GenerationSpec*)                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   157
  nonstatic_field(GenCollectedHeap,            _old_gen_spec,                                 GenerationSpec*)                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   158
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   159
  nonstatic_field(HeapWord,                    i,                                             char*)                                 \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   160
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   161
  nonstatic_field(MemRegion,                   _start,                                        HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   162
  nonstatic_field(MemRegion,                   _word_size,                                    size_t)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   163
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   164
  nonstatic_field(OffsetTableContigSpace,      _offsets,                                      BlockOffsetArray)                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   165
                                                                                                                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   166
  nonstatic_field(Space,                       _bottom,                                       HeapWord*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   167
  nonstatic_field(Space,                       _end,                                          HeapWord*)
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   168
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   169
#define VM_TYPES_GC(declare_type,                                         \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   170
                    declare_toplevel_type,                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   171
                    declare_integer_type)                                 \
49982
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   172
  CMSGC_ONLY(VM_TYPES_CMSGC(declare_type,                                 \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   173
                            declare_toplevel_type,                        \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   174
                            declare_integer_type))                        \
50523
7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector
shade
parents: 49982
diff changeset
   175
  EPSILONGC_ONLY(VM_TYPES_EPSILONGC(declare_type,                         \
7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector
shade
parents: 49982
diff changeset
   176
                                    declare_toplevel_type,                \
7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector
shade
parents: 49982
diff changeset
   177
                                    declare_integer_type))                \
49982
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   178
  G1GC_ONLY(VM_TYPES_G1GC(declare_type,                                   \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   179
                          declare_toplevel_type,                          \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   180
                          declare_integer_type))                          \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   181
  PARALLELGC_ONLY(VM_TYPES_PARALLELGC(declare_type,                       \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   182
                                      declare_toplevel_type,              \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   183
                                      declare_integer_type))              \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   184
  SERIALGC_ONLY(VM_TYPES_SERIALGC(declare_type,                           \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   185
                                  declare_toplevel_type,                  \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   186
                                  declare_integer_type))                  \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents: 50525
diff changeset
   187
  SHENANDOAHGC_ONLY(VM_TYPES_SHENANDOAH(declare_type,                     \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents: 50525
diff changeset
   188
                             declare_toplevel_type,                       \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents: 50525
diff changeset
   189
                             declare_integer_type))                       \
50525
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
   190
  ZGC_ONLY(VM_TYPES_ZGC(declare_type,                                     \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
   191
                        declare_toplevel_type,                            \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
   192
                        declare_integer_type))                            \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
   193
                                                                          \
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   194
  /******************************************/                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   195
  /* Generation and space hierarchies       */                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   196
  /* (needed for run-time type information) */                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   197
  /******************************************/                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   198
                                                                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   199
  declare_toplevel_type(CollectedHeap)                                    \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   200
           declare_type(GenCollectedHeap,             CollectedHeap)      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   201
  declare_toplevel_type(Generation)                                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   202
           declare_type(CardGeneration,               Generation)         \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   203
  declare_toplevel_type(Space)                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   204
           declare_type(CompactibleSpace,             Space)              \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   205
           declare_type(ContiguousSpace,              CompactibleSpace)   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   206
           declare_type(OffsetTableContigSpace,       ContiguousSpace)    \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   207
  declare_toplevel_type(BarrierSet)                                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   208
           declare_type(ModRefBarrierSet,             BarrierSet)         \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   209
           declare_type(CardTableBarrierSet,          ModRefBarrierSet)   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   210
  declare_toplevel_type(CardTable)                                        \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   211
           declare_type(CardTableRS, CardTable)                           \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   212
  declare_toplevel_type(BarrierSet::Name)                                 \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   213
  declare_toplevel_type(BlockOffsetSharedArray)                           \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   214
  declare_toplevel_type(BlockOffsetTable)                                 \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   215
           declare_type(BlockOffsetArray,             BlockOffsetTable)   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   216
           declare_type(BlockOffsetArrayContigSpace,  BlockOffsetArray)   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   217
           declare_type(BlockOffsetArrayNonContigSpace, BlockOffsetArray) \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   218
                                                                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   219
  /* Miscellaneous other GC types */                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   220
                                                                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   221
  declare_toplevel_type(AgeTable)                                         \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   222
  declare_toplevel_type(Generation::StatRecord)                           \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   223
  declare_toplevel_type(GenerationSpec)                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   224
  declare_toplevel_type(HeapWord)                                         \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   225
  declare_toplevel_type(MemRegion)                                        \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   226
  declare_toplevel_type(ThreadLocalAllocBuffer)                           \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   227
  declare_toplevel_type(VirtualSpace)                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   228
                                                                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   229
  /* Pointers to Garbage Collection types */                              \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   230
                                                                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   231
  declare_toplevel_type(BarrierSet*)                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   232
  declare_toplevel_type(BlockOffsetSharedArray*)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   233
  declare_toplevel_type(CardTable*)                                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   234
  declare_toplevel_type(CardTable*const)                                  \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   235
  declare_toplevel_type(CardTableRS*)                                     \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   236
  declare_toplevel_type(CardTableBarrierSet*)                             \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   237
  declare_toplevel_type(CardTableBarrierSet**)                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   238
  declare_toplevel_type(CollectedHeap*)                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   239
  declare_toplevel_type(ContiguousSpace*)                                 \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   240
  declare_toplevel_type(DefNewGeneration*)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   241
  declare_toplevel_type(GenCollectedHeap*)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   242
  declare_toplevel_type(Generation*)                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   243
  declare_toplevel_type(GenerationSpec**)                                 \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   244
  declare_toplevel_type(HeapWord*)                                        \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   245
  declare_toplevel_type(HeapWord* volatile)                               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   246
  declare_toplevel_type(MemRegion*)                                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   247
  declare_toplevel_type(OffsetTableContigSpace*)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   248
  declare_toplevel_type(Space*)                                           \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   249
  declare_toplevel_type(ThreadLocalAllocBuffer*)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   250
                                                                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   251
  declare_toplevel_type(BarrierSet::FakeRtti)
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   252
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   253
#define VM_INT_CONSTANTS_GC(declare_constant,                               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   254
                            declare_constant_with_value)                    \
49982
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   255
  CMSGC_ONLY(VM_INT_CONSTANTS_CMSGC(declare_constant,                       \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   256
                                    declare_constant_with_value))           \
50523
7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector
shade
parents: 49982
diff changeset
   257
  EPSILONGC_ONLY(VM_INT_CONSTANTS_EPSILONGC(declare_constant,               \
7b7c75d87f9b 8204180: Implementation: JEP 318: Epsilon, A No-Op Garbage Collector
shade
parents: 49982
diff changeset
   258
                                            declare_constant_with_value))   \
49982
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   259
  G1GC_ONLY(VM_INT_CONSTANTS_G1GC(declare_constant,                         \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   260
                                  declare_constant_with_value))             \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   261
  PARALLELGC_ONLY(VM_INT_CONSTANTS_PARALLELGC(declare_constant,             \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   262
                                              declare_constant_with_value)) \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   263
  SERIALGC_ONLY(VM_INT_CONSTANTS_SERIALGC(declare_constant,                 \
9042ffe5b7fe 8200729: Conditional compilation of GCs
stefank
parents: 49754
diff changeset
   264
                                          declare_constant_with_value))     \
52925
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents: 50525
diff changeset
   265
  SHENANDOAHGC_ONLY(VM_INT_CONSTANTS_SHENANDOAH(declare_constant,           \
9c18c9d839d3 8214259: Implementation: JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)
rkennke
parents: 50525
diff changeset
   266
                                     declare_constant_with_value))          \
50525
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
   267
  ZGC_ONLY(VM_INT_CONSTANTS_ZGC(declare_constant,                           \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
   268
                                declare_constant_with_value))               \
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   269
                                                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   270
  /********************************************/                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   271
  /* Generation and Space Hierarchy Constants */                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   272
  /********************************************/                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   273
                                                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   274
  declare_constant(AgeTable::table_size)                                    \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   275
                                                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   276
  declare_constant(BarrierSet::ModRef)                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   277
  declare_constant(BarrierSet::CardTableBarrierSet)                         \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   278
                                                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   279
  declare_constant(BOTConstants::LogN)                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   280
  declare_constant(BOTConstants::LogN_words)                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   281
  declare_constant(BOTConstants::N_bytes)                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   282
  declare_constant(BOTConstants::N_words)                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   283
  declare_constant(BOTConstants::LogBase)                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   284
  declare_constant(BOTConstants::Base)                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   285
  declare_constant(BOTConstants::N_powers)                                  \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   286
                                                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   287
  declare_constant(CardTable::clean_card)                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   288
  declare_constant(CardTable::last_card)                                    \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   289
  declare_constant(CardTable::dirty_card)                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   290
  declare_constant(CardTable::Precise)                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   291
  declare_constant(CardTable::ObjHeadPreciseArray)                          \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   292
  declare_constant(CardTable::card_shift)                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   293
  declare_constant(CardTable::card_size)                                    \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   294
  declare_constant(CardTable::card_size_in_words)                           \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   295
                                                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   296
  declare_constant(CardTableRS::youngergen_card)                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   297
                                                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   298
  declare_constant(CollectedHeap::Serial)                                   \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   299
  declare_constant(CollectedHeap::Parallel)                                 \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   300
  declare_constant(CollectedHeap::CMS)                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   301
  declare_constant(CollectedHeap::G1)                                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   302
                                                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   303
  /* constants from Generation::Name enum */                                \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   304
                                                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   305
  declare_constant(Generation::DefNew)                                      \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   306
  declare_constant(Generation::MarkSweepCompact)                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   307
  declare_constant(Generation::Other)                                       \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   308
                                                                            \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   309
  declare_constant(Generation::LogOfGenGrain)                               \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   310
  declare_constant(Generation::GenGrain)                                    \
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   311
50525
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
   312
#define VM_LONG_CONSTANTS_GC(declare_constant)                              \
767cdb97f103 8204210: Implementation: JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
pliden
parents: 50523
diff changeset
   313
  ZGC_ONLY(VM_LONG_CONSTANTS_ZGC(declare_constant))
49730
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   314
c2761ef9fd95 8200759: Move GC entries in vmStructs.cpp to GC specific files
stefank
parents:
diff changeset
   315
#endif // SHARE_GC_SHARED_VMSTRUCTS_GC_HPP