src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/HeapRegionType.java
author jgeorge
Tue, 20 Mar 2018 11:24:32 +0530
changeset 49463 ccb003941743
parent 47602 d4380ee1cbe9
permissions -rw-r--r--
8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC Summary: Provide an improved heap summary for G1GC with parameters like 'capacity', 'used', 'free', etc with the 'universe' command, and introduce a new command 'g1regiondetails' to display the individual region details. Reviewed-by: sjohanss, minqi
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47602
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
     1
/*
49463
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
     2
 * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
47602
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
     4
 *
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
     7
 * published by the Free Software Foundation.
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
     8
 *
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    13
 * accompanied this code).
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    14
 *
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    18
 *
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    21
 * questions.
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    22
 *
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    23
 */
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    24
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    25
package sun.jvm.hotspot.gc.g1;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    26
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    27
import java.util.Observable;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    28
import java.util.Observer;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    29
import sun.jvm.hotspot.debugger.Address;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    30
import sun.jvm.hotspot.runtime.VM;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    31
import sun.jvm.hotspot.runtime.VMObject;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    32
import sun.jvm.hotspot.types.CIntegerField;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    33
import sun.jvm.hotspot.types.Type;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    34
import sun.jvm.hotspot.types.TypeDataBase;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    35
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    36
// Mirror class for HeapRegionType. Currently we don't actually include
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    37
// any of its fields but only iterate over it.
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    38
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    39
public class HeapRegionType extends VMObject {
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    40
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    41
    private static int freeTag;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    42
    private static int youngMask;
49463
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    43
    private static int edenTag;
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    44
    private static int survTag;
47602
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    45
    private static int humongousMask;
49463
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    46
    private static int startsHumongousTag;
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    47
    private static int continuesHumongousTag;
47602
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    48
    private static int pinnedMask;
49463
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    49
    private static int archiveMask;
47602
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    50
    private static int oldMask;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    51
    private static CIntegerField tagField;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    52
    private int tag;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    53
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    54
    static {
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    55
        VM.registerVMInitializedObserver(new Observer() {
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    56
                public void update(Observable o, Object data) {
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    57
                    initialize(VM.getVM().getTypeDataBase());
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    58
                }
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    59
        });
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    60
    }
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    61
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    62
    private static synchronized void initialize(TypeDataBase db) {
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    63
        Type type = db.lookupType("HeapRegionType");
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    64
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    65
        tagField = type.getCIntegerField("_tag");
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    66
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    67
        freeTag = db.lookupIntConstant("HeapRegionType::FreeTag");
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    68
        youngMask = db.lookupIntConstant("HeapRegionType::YoungMask");
49463
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    69
        edenTag = db.lookupIntConstant("HeapRegionType::EdenTag");
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    70
        survTag = db.lookupIntConstant("HeapRegionType::SurvTag");
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    71
        startsHumongousTag = db.lookupIntConstant("HeapRegionType::StartsHumongousTag");
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    72
        continuesHumongousTag = db.lookupIntConstant("HeapRegionType::ContinuesHumongousTag");
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    73
        archiveMask = db.lookupIntConstant("HeapRegionType::ArchiveMask");
47602
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    74
        humongousMask = db.lookupIntConstant("HeapRegionType::HumongousMask");
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    75
        pinnedMask = db.lookupIntConstant("HeapRegionType::PinnedMask");
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    76
        oldMask = db.lookupIntConstant("HeapRegionType::OldMask");
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    77
    }
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    78
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    79
    public boolean isFree() {
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    80
        return tagField.getValue(addr) == freeTag;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    81
    }
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    82
49463
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    83
    public boolean isEden() {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    84
        return tagField.getValue(addr) == edenTag;
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    85
    }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    86
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    87
    public boolean isSurvivor() {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    88
        return tagField.getValue(addr) == survTag;
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    89
    }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    90
47602
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    91
    public boolean isYoung() {
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    92
        return (tagField.getValue(addr) & youngMask) != 0;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    93
    }
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    94
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    95
    public boolean isHumongous() {
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    96
        return (tagField.getValue(addr) & humongousMask) != 0;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    97
    }
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
    98
49463
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
    99
    public boolean isStartsHumongous() {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   100
        return tagField.getValue(addr) == startsHumongousTag;
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   101
    }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   102
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   103
    public boolean isContinuesHumongous() {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   104
        return tagField.getValue(addr) == continuesHumongousTag;
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   105
    }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   106
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   107
    public boolean isArchive() {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   108
        return (tagField.getValue(addr) & archiveMask) != 0;
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   109
    }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   110
47602
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   111
    public boolean isPinned() {
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   112
        return (tagField.getValue(addr) & pinnedMask) != 0;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   113
    }
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   114
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   115
    public boolean isOld() {
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   116
        return (tagField.getValue(addr) & oldMask) != 0;
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   117
    }
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   118
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   119
    public HeapRegionType(Address addr) {
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   120
        super(addr);
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   121
    }
49463
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   122
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   123
    public String typeAnnotation() {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   124
        if (isFree()) {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   125
            return "Free";
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   126
        }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   127
        if (isEden()) {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   128
            return "Eden";
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   129
        }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   130
        if (isSurvivor()) {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   131
            return "Survivor";
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   132
        }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   133
        if (isStartsHumongous()) {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   134
            return "StartsHumongous";
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   135
        }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   136
        if (isContinuesHumongous()) {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   137
            return "ContinuesHumongous";
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   138
        }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   139
        if (isArchive()) {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   140
            return "Archive";
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   141
        }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   142
        if (isPinned()) {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   143
            return "Pinned";
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   144
        }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   145
        if (isOld()) {
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   146
            return "Old";
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   147
        }
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   148
        return "Unknown Region Type";
ccb003941743 8175312: SA: clhsdb: Provide an improved heap summary for 'universe' for G1GC
jgeorge
parents: 47602
diff changeset
   149
    }
47602
d4380ee1cbe9 8187403: [Unknown generation] is shown in Stack Memory on HSDB
ysuenaga
parents:
diff changeset
   150
}