hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp
changeset 15428 edc310e78c68
parent 14574 1193d3742872
child 15470 998186997e90
equal deleted inserted replaced
15239:154bc4bda370 15428:edc310e78c68
    23  */
    23  */
    24 
    24 
    25 #ifndef SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP
    25 #ifndef SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP
    26 #define SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP
    26 #define SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP
    27 
    27 
    28 typedef BinaryTreeDictionary<FreeChunk, AdaptiveFreeList> AFLBinaryTreeDictionary;
       
    29 
       
    30 #define VM_STRUCTS_CMS(nonstatic_field, \
    28 #define VM_STRUCTS_CMS(nonstatic_field, \
    31                    volatile_nonstatic_field, \
    29                    volatile_nonstatic_field, \
    32                    static_field) \
    30                    static_field) \
    33   nonstatic_field(CompactibleFreeListSpace,    _collector,                                    CMSCollector*)                         \
    31   nonstatic_field(CompactibleFreeListSpace,    _collector,                                    CMSCollector*)                         \
    34   nonstatic_field(CompactibleFreeListSpace,    _bt,                                           BlockOffsetArrayNonContigSpace)        \
    32   nonstatic_field(CompactibleFreeListSpace,    _bt,                                           BlockOffsetArrayNonContigSpace)        \
    40   nonstatic_field(CMSCollector,                _markBitMap,                                   CMSBitMap)                             \
    38   nonstatic_field(CMSCollector,                _markBitMap,                                   CMSBitMap)                             \
    41   nonstatic_field(ConcurrentMarkSweepGeneration, _cmsSpace,                                   CompactibleFreeListSpace*)             \
    39   nonstatic_field(ConcurrentMarkSweepGeneration, _cmsSpace,                                   CompactibleFreeListSpace*)             \
    42      static_field(ConcurrentMarkSweepThread,   _collector,                                    CMSCollector*)                         \
    40      static_field(ConcurrentMarkSweepThread,   _collector,                                    CMSCollector*)                         \
    43   nonstatic_field(LinearAllocBlock,            _word_size,                                    size_t)                                \
    41   nonstatic_field(LinearAllocBlock,            _word_size,                                    size_t)                                \
    44   nonstatic_field(AFLBinaryTreeDictionary,     _total_size,                                   size_t)                                \
    42   nonstatic_field(AFLBinaryTreeDictionary,     _total_size,                                   size_t)                                \
       
    43   nonstatic_field(CompactibleFreeListSpace,    _dictionary,                                   AFLBinaryTreeDictionary*)              \
    45   nonstatic_field(CompactibleFreeListSpace,    _indexedFreeList[0],                           FreeList<FreeChunk>)                   \
    44   nonstatic_field(CompactibleFreeListSpace,    _indexedFreeList[0],                           FreeList<FreeChunk>)                   \
    46   nonstatic_field(CompactibleFreeListSpace,    _smallLinearAllocBlock,                        LinearAllocBlock)
    45   nonstatic_field(CompactibleFreeListSpace,    _smallLinearAllocBlock,                        LinearAllocBlock)
    47 
    46 
    48 
    47 
    49 #define VM_TYPES_CMS(declare_type,                                        \
    48 #define VM_TYPES_CMS(declare_type,                                        \
    60   declare_toplevel_type(ConcurrentMarkSweepThread*)                       \
    59   declare_toplevel_type(ConcurrentMarkSweepThread*)                       \
    61   declare_toplevel_type(ConcurrentMarkSweepGeneration*)                   \
    60   declare_toplevel_type(ConcurrentMarkSweepGeneration*)                   \
    62   declare_toplevel_type(SurrogateLockerThread*)                           \
    61   declare_toplevel_type(SurrogateLockerThread*)                           \
    63   declare_toplevel_type(CompactibleFreeListSpace*)                        \
    62   declare_toplevel_type(CompactibleFreeListSpace*)                        \
    64   declare_toplevel_type(CMSCollector*)                                    \
    63   declare_toplevel_type(CMSCollector*)                                    \
    65   declare_toplevel_type(AFLBinaryTreeDictionary*)                         \
    64   declare_toplevel_type(AFLBinaryTreeDictionary)                          \
    66   declare_toplevel_type(LinearAllocBlock)                                 \
    65   declare_toplevel_type(LinearAllocBlock)                                 \
    67   declare_toplevel_type(FreeBlockDictionary<FreeChunk>)                   \
    66   declare_toplevel_type(FreeBlockDictionary<FreeChunk>)
    68            declare_type(AFLBinaryTreeDictionary, FreeBlockDictionary<FreeChunk>)
       
    69 
    67 
    70 #define VM_INT_CONSTANTS_CMS(declare_constant)                            \
    68 #define VM_INT_CONSTANTS_CMS(declare_constant)                            \
    71   declare_constant(Generation::ConcurrentMarkSweep)                       \
    69   declare_constant(Generation::ConcurrentMarkSweep)                       \
    72 
    70 
    73 #endif // SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP
    71 #endif // SHARE_VM_GC_IMPLEMENTATION_CONCURRENTMARKSWEEP_VMSTRUCTS_CMS_HPP