src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/G1CollectedHeap.java
author phh
Sat, 30 Nov 2019 14:33:05 -0800
changeset 59330 5b96c12f909d
parent 58980 47c20fc6a517
permissions -rw-r--r--
8234541: C1 emits an empty message when it inlines successfully Summary: Use "inline" as the message when successfull Reviewed-by: thartmann, mdoerr Contributed-by: navy.xliu@gmail.com
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
/*
53814
eff915f3d3f2 8219003: SA: Refactor live regions iteration in preparation for JDK-8218922
stefank
parents: 53116
diff changeset
     2
 * Copyright (c) 2011, 2019, 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
30764
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30154
diff changeset
    25
package sun.jvm.hotspot.gc.g1;
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    26
40858
fe00019e9c58 8163581: Heap Parameters in HSDB cannot handle G1CollectedHeap
ysuenaga
parents: 35217
diff changeset
    27
import java.io.PrintStream;
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    28
import java.util.Iterator;
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    29
import java.util.Observable;
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    30
import java.util.Observer;
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
import sun.jvm.hotspot.debugger.Address;
58980
47c20fc6a517 8189737: Make HeapRegion not derive from Space
tschatzl
parents: 53814
diff changeset
    33
import sun.jvm.hotspot.gc.g1.HeapRegionClosure;
47c20fc6a517 8189737: Make HeapRegion not derive from Space
tschatzl
parents: 53814
diff changeset
    34
import sun.jvm.hotspot.gc.g1.PrintRegionClosure;
30764
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30154
diff changeset
    35
import sun.jvm.hotspot.gc.shared.CollectedHeap;
fec48bf5a827 8079792: GC directory structure cleanup
pliden
parents: 30154
diff changeset
    36
import sun.jvm.hotspot.gc.shared.CollectedHeapName;
53814
eff915f3d3f2 8219003: SA: Refactor live regions iteration in preparation for JDK-8218922
stefank
parents: 53116
diff changeset
    37
import sun.jvm.hotspot.gc.shared.LiveRegionsClosure;
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    38
import sun.jvm.hotspot.memory.MemRegion;
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    39
import sun.jvm.hotspot.runtime.VM;
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    40
import sun.jvm.hotspot.runtime.VMObjectFactory;
10675
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    41
import sun.jvm.hotspot.types.AddressField;
31975
1e8d389159cb 8131319: Move G1Allocator::_summary_bytes_used back to G1CollectedHeap
ehelin
parents: 30769
diff changeset
    42
import sun.jvm.hotspot.types.CIntegerField;
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    43
import sun.jvm.hotspot.types.Type;
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    44
import sun.jvm.hotspot.types.TypeDataBase;
49463
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    45
import sun.jvm.hotspot.tools.HeapSummary;
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    46
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    47
// Mirror class for G1CollectedHeap.
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    48
30154
39cd4e2ccf1c 8076452: Remove SharedHeap
brutisso
parents: 26837
diff changeset
    49
public class G1CollectedHeap extends CollectedHeap {
26316
93f6b40c038b 8054819: Rename HeapRegionSeq to HeapRegionManager
tschatzl
parents: 26157
diff changeset
    50
    // HeapRegionManager _hrm;
53116
bb03098c4dde 8211425: Allocation of old generation of java heap on alternate memory devices - G1 GC
sangheki
parents: 51494
diff changeset
    51
    static private AddressField hrmField;
26157
70eddb655686 8054818: Refactor HeapRegionSeq to manage heap region and auxiliary data
tschatzl
parents: 23450
diff changeset
    52
    // MemRegion _g1_reserved;
70eddb655686 8054818: Refactor HeapRegionSeq to manage heap region and auxiliary data
tschatzl
parents: 23450
diff changeset
    53
    static private long g1ReservedFieldOffset;
31975
1e8d389159cb 8131319: Move G1Allocator::_summary_bytes_used back to G1CollectedHeap
ehelin
parents: 30769
diff changeset
    54
    // size_t _summary_bytes_used;
1e8d389159cb 8131319: Move G1Allocator::_summary_bytes_used back to G1CollectedHeap
ehelin
parents: 30769
diff changeset
    55
    static private CIntegerField summaryBytesUsedField;
11577
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
    56
    // G1MonitoringSupport* _g1mm;
10675
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    57
    static private AddressField g1mmField;
23450
c7c6202fc7e2 8034079: G1: Refactor the HeapRegionSet hierarchy
brutisso
parents: 11577
diff changeset
    58
    // HeapRegionSet _old_set;
11577
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
    59
    static private long oldSetFieldOffset;
51494
1906adbef2dc 8208498: Put archive regions into a first-class HeapRegionSet
tschatzl
parents: 49628
diff changeset
    60
    // HeapRegionSet _archive_set;
1906adbef2dc 8208498: Put archive regions into a first-class HeapRegionSet
tschatzl
parents: 49628
diff changeset
    61
    static private long archiveSetFieldOffset;
23450
c7c6202fc7e2 8034079: G1: Refactor the HeapRegionSet hierarchy
brutisso
parents: 11577
diff changeset
    62
    // HeapRegionSet _humongous_set;
11577
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
    63
    static private long humongousSetFieldOffset;
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    64
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    65
    static {
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    66
        VM.registerVMInitializedObserver(new Observer() {
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    67
                public void update(Observable o, Object data) {
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    68
                    initialize(VM.getVM().getTypeDataBase());
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    69
                }
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    70
            });
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
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    73
    static private synchronized void initialize(TypeDataBase db) {
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    74
        Type type = db.lookupType("G1CollectedHeap");
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    75
53116
bb03098c4dde 8211425: Allocation of old generation of java heap on alternate memory devices - G1 GC
sangheki
parents: 51494
diff changeset
    76
        hrmField = type.getAddressField("_hrm");
31975
1e8d389159cb 8131319: Move G1Allocator::_summary_bytes_used back to G1CollectedHeap
ehelin
parents: 30769
diff changeset
    77
        summaryBytesUsedField = type.getCIntegerField("_summary_bytes_used");
10675
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
    78
        g1mmField = type.getAddressField("_g1mm");
11577
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
    79
        oldSetFieldOffset = type.getField("_old_set").getOffset();
51494
1906adbef2dc 8208498: Put archive regions into a first-class HeapRegionSet
tschatzl
parents: 49628
diff changeset
    80
        archiveSetFieldOffset = type.getField("_archive_set").getOffset();
11577
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
    81
        humongousSetFieldOffset = type.getField("_humongous_set").getOffset();
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    82
    }
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    83
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    84
    public long capacity() {
26316
93f6b40c038b 8054819: Rename HeapRegionSeq to HeapRegionManager
tschatzl
parents: 26157
diff changeset
    85
        return hrm().capacity();
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    86
    }
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    87
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    88
    public long used() {
31975
1e8d389159cb 8131319: Move G1Allocator::_summary_bytes_used back to G1CollectedHeap
ehelin
parents: 30769
diff changeset
    89
        return summaryBytesUsedField.getValue(addr);
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    90
    }
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    91
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    92
    public long n_regions() {
26316
93f6b40c038b 8054819: Rename HeapRegionSeq to HeapRegionManager
tschatzl
parents: 26157
diff changeset
    93
        return hrm().length();
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    94
    }
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
    95
47602
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents: 47216
diff changeset
    96
    public HeapRegionManager hrm() {
53116
bb03098c4dde 8211425: Allocation of old generation of java heap on alternate memory devices - G1 GC
sangheki
parents: 51494
diff changeset
    97
        Address hrmAddr = hrmField.getValue(addr);
26316
93f6b40c038b 8054819: Rename HeapRegionSeq to HeapRegionManager
tschatzl
parents: 26157
diff changeset
    98
        return (HeapRegionManager) VMObjectFactory.newObject(HeapRegionManager.class,
93f6b40c038b 8054819: Rename HeapRegionSeq to HeapRegionManager
tschatzl
parents: 26157
diff changeset
    99
                                                         hrmAddr);
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   100
    }
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   101
10675
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
   102
    public G1MonitoringSupport g1mm() {
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
   103
        Address g1mmAddr = g1mmField.getValue(addr);
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
   104
        return (G1MonitoringSupport) VMObjectFactory.newObject(G1MonitoringSupport.class, g1mmAddr);
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
   105
    }
8b887b2cb116 7097048: G1: extend the G1 SA changes to print per-heap space information
tonyp
parents: 10663
diff changeset
   106
11577
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   107
    public HeapRegionSetBase oldSet() {
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   108
        Address oldSetAddr = addr.addOffsetTo(oldSetFieldOffset);
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   109
        return (HeapRegionSetBase) VMObjectFactory.newObject(HeapRegionSetBase.class,
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   110
                                                             oldSetAddr);
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   111
    }
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   112
51494
1906adbef2dc 8208498: Put archive regions into a first-class HeapRegionSet
tschatzl
parents: 49628
diff changeset
   113
    public HeapRegionSetBase archiveSet() {
1906adbef2dc 8208498: Put archive regions into a first-class HeapRegionSet
tschatzl
parents: 49628
diff changeset
   114
        Address archiveSetAddr = addr.addOffsetTo(archiveSetFieldOffset);
1906adbef2dc 8208498: Put archive regions into a first-class HeapRegionSet
tschatzl
parents: 49628
diff changeset
   115
        return (HeapRegionSetBase) VMObjectFactory.newObject(HeapRegionSetBase.class,
1906adbef2dc 8208498: Put archive regions into a first-class HeapRegionSet
tschatzl
parents: 49628
diff changeset
   116
                                                             archiveSetAddr);
1906adbef2dc 8208498: Put archive regions into a first-class HeapRegionSet
tschatzl
parents: 49628
diff changeset
   117
    }
1906adbef2dc 8208498: Put archive regions into a first-class HeapRegionSet
tschatzl
parents: 49628
diff changeset
   118
11577
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   119
    public HeapRegionSetBase humongousSet() {
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   120
        Address humongousSetAddr = addr.addOffsetTo(humongousSetFieldOffset);
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   121
        return (HeapRegionSetBase) VMObjectFactory.newObject(HeapRegionSetBase.class,
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   122
                                                             humongousSetAddr);
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   123
    }
0af7e6e062a7 7097586: G1: improve the per-space output when using jmap -heap
tonyp
parents: 10675
diff changeset
   124
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   125
    private Iterator<HeapRegion> heapRegionIterator() {
26316
93f6b40c038b 8054819: Rename HeapRegionSeq to HeapRegionManager
tschatzl
parents: 26157
diff changeset
   126
        return hrm().heapRegionIterator();
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   127
    }
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   128
58980
47c20fc6a517 8189737: Make HeapRegion not derive from Space
tschatzl
parents: 53814
diff changeset
   129
    public void heapRegionIterate(HeapRegionClosure hrcl) {
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   130
        Iterator<HeapRegion> iter = heapRegionIterator();
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   131
        while (iter.hasNext()) {
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   132
            HeapRegion hr = iter.next();
58980
47c20fc6a517 8189737: Make HeapRegion not derive from Space
tschatzl
parents: 53814
diff changeset
   133
            hrcl.doHeapRegion(hr);
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   134
        }
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   135
    }
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   136
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   137
    public CollectedHeapName kind() {
49628
88478047bc8f 8199918: Shorten names of CollectedHeap::Name members
pliden
parents: 49463
diff changeset
   138
        return CollectedHeapName.G1;
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   139
    }
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   140
40858
fe00019e9c58 8163581: Heap Parameters in HSDB cannot handle G1CollectedHeap
ysuenaga
parents: 35217
diff changeset
   141
    @Override
53814
eff915f3d3f2 8219003: SA: Refactor live regions iteration in preparation for JDK-8218922
stefank
parents: 53116
diff changeset
   142
    public void liveRegionsIterate(LiveRegionsClosure closure) {
eff915f3d3f2 8219003: SA: Refactor live regions iteration in preparation for JDK-8218922
stefank
parents: 53116
diff changeset
   143
        Iterator<HeapRegion> iter = heapRegionIterator();
eff915f3d3f2 8219003: SA: Refactor live regions iteration in preparation for JDK-8218922
stefank
parents: 53116
diff changeset
   144
        while (iter.hasNext()) {
eff915f3d3f2 8219003: SA: Refactor live regions iteration in preparation for JDK-8218922
stefank
parents: 53116
diff changeset
   145
            HeapRegion hr = iter.next();
eff915f3d3f2 8219003: SA: Refactor live regions iteration in preparation for JDK-8218922
stefank
parents: 53116
diff changeset
   146
            closure.doLiveRegions(hr);
eff915f3d3f2 8219003: SA: Refactor live regions iteration in preparation for JDK-8218922
stefank
parents: 53116
diff changeset
   147
        }
eff915f3d3f2 8219003: SA: Refactor live regions iteration in preparation for JDK-8218922
stefank
parents: 53116
diff changeset
   148
    }
eff915f3d3f2 8219003: SA: Refactor live regions iteration in preparation for JDK-8218922
stefank
parents: 53116
diff changeset
   149
eff915f3d3f2 8219003: SA: Refactor live regions iteration in preparation for JDK-8218922
stefank
parents: 53116
diff changeset
   150
    @Override
40858
fe00019e9c58 8163581: Heap Parameters in HSDB cannot handle G1CollectedHeap
ysuenaga
parents: 35217
diff changeset
   151
    public void printOn(PrintStream tty) {
fe00019e9c58 8163581: Heap Parameters in HSDB cannot handle G1CollectedHeap
ysuenaga
parents: 35217
diff changeset
   152
        MemRegion mr = reservedRegion();
fe00019e9c58 8163581: Heap Parameters in HSDB cannot handle G1CollectedHeap
ysuenaga
parents: 35217
diff changeset
   153
fe00019e9c58 8163581: Heap Parameters in HSDB cannot handle G1CollectedHeap
ysuenaga
parents: 35217
diff changeset
   154
        tty.print("garbage-first heap");
fe00019e9c58 8163581: Heap Parameters in HSDB cannot handle G1CollectedHeap
ysuenaga
parents: 35217
diff changeset
   155
        tty.print(" [" + mr.start() + ", " + mr.end() + "]");
fe00019e9c58 8163581: Heap Parameters in HSDB cannot handle G1CollectedHeap
ysuenaga
parents: 35217
diff changeset
   156
        tty.println(" region size " + (HeapRegion.grainBytes() / 1024) + "K");
49463
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   157
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   158
        HeapSummary sum = new HeapSummary();
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   159
        sum.printG1HeapSummary(this);
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   160
    }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   161
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   162
    public void printRegionDetails(PrintStream tty) {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   163
        PrintRegionClosure prc = new PrintRegionClosure(tty);
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   164
        heapRegionIterate(prc);
40858
fe00019e9c58 8163581: Heap Parameters in HSDB cannot handle G1CollectedHeap
ysuenaga
parents: 35217
diff changeset
   165
    }
fe00019e9c58 8163581: Heap Parameters in HSDB cannot handle G1CollectedHeap
ysuenaga
parents: 35217
diff changeset
   166
10663
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   167
    public G1CollectedHeap(Address addr) {
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   168
        super(addr);
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   169
    }
3ef855a3329b 7059019: G1: add G1 support to the SA
tonyp
parents:
diff changeset
   170
}