src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp
changeset 54388 a1acc800c87a
parent 53244 9807daeb47c4
equal deleted inserted replaced
54387:cbde3b803d93 54388:a1acc800c87a
     1 /*
     1 /*
     2  * Copyright (c) 2018, Red Hat, Inc. All rights reserved.
     2  * Copyright (c) 2018, 2019, Red Hat, Inc. All rights reserved.
     3  *
     3  *
     4  * This code is free software; you can redistribute it and/or modify it
     4  * This code is free software; you can redistribute it and/or modify it
     5  * under the terms of the GNU General Public License version 2 only, as
     5  * under the terms of the GNU General Public License version 2 only, as
     6  * published by the Free Software Foundation.
     6  * published by the Free Software Foundation.
     7  *
     7  *
    25 
    25 
    26 #include "gc/shenandoah/shenandoahHeap.hpp"
    26 #include "gc/shenandoah/shenandoahHeap.hpp"
    27 #include "gc/shenandoah/shenandoahHeapRegion.hpp"
    27 #include "gc/shenandoah/shenandoahHeapRegion.hpp"
    28 #include "gc/shenandoah/shenandoahMonitoringSupport.hpp"
    28 #include "gc/shenandoah/shenandoahMonitoringSupport.hpp"
    29 
    29 
    30 #define VM_STRUCTS_SHENANDOAH(nonstatic_field, volatile_nonstatic_field, static_field)  \
    30 #define VM_STRUCTS_SHENANDOAH(nonstatic_field, volatile_nonstatic_field, static_field)                \
    31   static_field(ShenandoahHeapRegion, RegionSizeBytes,        size_t)                    \
    31   nonstatic_field(ShenandoahHeap, _num_regions,                    size_t)                            \
    32   nonstatic_field(ShenandoahHeap, _num_regions,              size_t)                    \
    32   nonstatic_field(ShenandoahHeap, _regions,                        ShenandoahHeapRegion**)            \
    33   volatile_nonstatic_field(ShenandoahHeap, _used,            size_t)                    \
    33   nonstatic_field(ShenandoahHeap, _log_min_obj_alignment_in_bytes, int)                               \
    34   volatile_nonstatic_field(ShenandoahHeap, _committed,       size_t)                    \
    34   volatile_nonstatic_field(ShenandoahHeap, _used,                  size_t)                            \
       
    35   volatile_nonstatic_field(ShenandoahHeap, _committed,             size_t)                            \
       
    36   static_field(ShenandoahHeapRegion, RegionSizeBytes,              size_t)                            \
       
    37   static_field(ShenandoahHeapRegion, RegionSizeBytesShift,         size_t)                            \
       
    38   nonstatic_field(ShenandoahHeapRegion, _state,                    ShenandoahHeapRegion::RegionState) \
       
    39   nonstatic_field(ShenandoahHeapRegion, _region_number,            size_t)                            \
    35 
    40 
    36 #define VM_INT_CONSTANTS_SHENANDOAH(declare_constant, declare_constant_with_value)
    41 #define VM_INT_CONSTANTS_SHENANDOAH(declare_constant, declare_constant_with_value) \
       
    42   declare_constant(ShenandoahHeapRegion::_empty_uncommitted)                       \
       
    43   declare_constant(ShenandoahHeapRegion::_empty_committed)                         \
       
    44   declare_constant(ShenandoahHeapRegion::_regular)                                 \
       
    45   declare_constant(ShenandoahHeapRegion::_humongous_start)                         \
       
    46   declare_constant(ShenandoahHeapRegion::_humongous_cont)                          \
       
    47   declare_constant(ShenandoahHeapRegion::_pinned_humongous_start)                  \
       
    48   declare_constant(ShenandoahHeapRegion::_cset)                                    \
       
    49   declare_constant(ShenandoahHeapRegion::_pinned)                                  \
       
    50   declare_constant(ShenandoahHeapRegion::_pinned_cset)                             \
       
    51   declare_constant(ShenandoahHeapRegion::_trash)                                   \
    37 
    52 
    38 #define VM_TYPES_SHENANDOAH(declare_type,                                     \
    53 #define VM_TYPES_SHENANDOAH(declare_type,                                     \
    39                             declare_toplevel_type,                            \
    54                             declare_toplevel_type,                            \
    40                             declare_integer_type)                             \
    55                             declare_integer_type)                             \
    41   declare_type(ShenandoahHeap, CollectedHeap)                                 \
    56   declare_type(ShenandoahHeap, CollectedHeap)                                 \
    42   declare_type(ShenandoahHeapRegion, ContiguousSpace)                         \
    57   declare_type(ShenandoahHeapRegion, ContiguousSpace)                         \
    43   declare_toplevel_type(ShenandoahHeap*)                                      \
    58   declare_toplevel_type(ShenandoahHeap*)                                      \
    44   declare_toplevel_type(ShenandoahHeapRegion*)                                \
    59   declare_toplevel_type(ShenandoahHeapRegion*)                                \
       
    60   declare_toplevel_type(ShenandoahHeapRegion::RegionState)                    \
    45 
    61 
    46 #endif // SHARE_GC_SHENANDOAH_VMSTRUCTS_SHENANDOAH_HPP
    62 #endif // SHARE_GC_SHENANDOAH_VMSTRUCTS_SHENANDOAH_HPP