hotspot/src/share/vm/gc_implementation/g1/vmStructs_g1.hpp
author tonyp
Wed, 25 Jan 2012 12:58:23 -0500
changeset 11584 e1df4d08a1f4
parent 11577 0af7e6e062a7
child 12381 1438e0fbfa27
permissions -rw-r--r--
7127706: G1: re-enable survivors during the initial-mark pause Summary: Re-enable survivors during the initial-mark pause. Afterwards, the concurrent marking threads have to scan them and mark everything reachable from them. The next GC will have to wait for the survivors to be scanned. Reviewed-by: brutisso, johnc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
     1
/*
11577
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10677
diff changeset
     2
 * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
     4
 *
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
     7
 * published by the Free Software Foundation.
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
     8
 *
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    13
 * accompanied this code).
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    14
 *
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    18
 *
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    21
 * questions.
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    22
 *
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    23
 */
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    24
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    25
#ifndef SHARE_VM_GC_IMPLEMENTATION_G1_VMSTRUCTS_G1_HPP
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    26
#define SHARE_VM_GC_IMPLEMENTATION_G1_VMSTRUCTS_G1_HPP
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    27
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    28
#include "gc_implementation/g1/heapRegion.hpp"
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    29
#include "gc_implementation/g1/heapRegionSeq.inline.hpp"
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    30
#include "gc_implementation/g1/g1CollectedHeap.inline.hpp"
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    31
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    32
#define VM_STRUCTS_G1(nonstatic_field, static_field)                          \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    33
                                                                              \
10677
370a8da2d63f 7095194: G1: HeapRegion::GrainBytes, GrainWords, and CardsPerRegion should be size_t
johnc
parents: 10675
diff changeset
    34
  static_field(HeapRegion, GrainBytes, size_t)                                \
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    35
                                                                              \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    36
  nonstatic_field(HeapRegionSeq,   _regions, HeapRegion**)                    \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    37
  nonstatic_field(HeapRegionSeq,   _length,  size_t)                          \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    38
                                                                              \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    39
  nonstatic_field(G1CollectedHeap, _hrs,                HeapRegionSeq)        \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    40
  nonstatic_field(G1CollectedHeap, _g1_committed,       MemRegion)            \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    41
  nonstatic_field(G1CollectedHeap, _summary_bytes_used, size_t)               \
10675
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    42
  nonstatic_field(G1CollectedHeap, _g1mm,               G1MonitoringSupport*) \
11577
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10677
diff changeset
    43
  nonstatic_field(G1CollectedHeap, _old_set,            HeapRegionSetBase)    \
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10677
diff changeset
    44
  nonstatic_field(G1CollectedHeap, _humongous_set,      HeapRegionSetBase)    \
10675
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    45
                                                                              \
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    46
  nonstatic_field(G1MonitoringSupport, _eden_committed,     size_t)           \
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    47
  nonstatic_field(G1MonitoringSupport, _eden_used,          size_t)           \
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    48
  nonstatic_field(G1MonitoringSupport, _survivor_committed, size_t)           \
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    49
  nonstatic_field(G1MonitoringSupport, _survivor_used,      size_t)           \
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    50
  nonstatic_field(G1MonitoringSupport, _old_committed,      size_t)           \
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    51
  nonstatic_field(G1MonitoringSupport, _old_used,           size_t)           \
11577
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10677
diff changeset
    52
                                                                              \
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10677
diff changeset
    53
  nonstatic_field(HeapRegionSetBase,   _length,             size_t)           \
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10677
diff changeset
    54
  nonstatic_field(HeapRegionSetBase,   _region_num,         size_t)           \
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10677
diff changeset
    55
  nonstatic_field(HeapRegionSetBase,   _total_used_bytes,   size_t)           \
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    56
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    57
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    58
#define VM_TYPES_G1(declare_type, declare_toplevel_type)                      \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    59
                                                                              \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    60
  declare_type(G1CollectedHeap, SharedHeap)                                   \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    61
                                                                              \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    62
  declare_type(HeapRegion, ContiguousSpace)                                   \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    63
  declare_toplevel_type(HeapRegionSeq)                                        \
11577
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10677
diff changeset
    64
  declare_toplevel_type(HeapRegionSetBase)                                    \
10675
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    65
  declare_toplevel_type(G1MonitoringSupport)                                  \
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    66
                                                                              \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    67
  declare_toplevel_type(G1CollectedHeap*)                                     \
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    68
  declare_toplevel_type(HeapRegion*)                                          \
10675
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    69
  declare_toplevel_type(G1MonitoringSupport*)                                 \
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    70
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    71
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    72
#endif // SHARE_VM_GC_IMPLEMENTATION_G1_VMSTRUCTS_G1_HPP