changeset 40:d9ecc74a4b84

Handle PINNED_HUMONGOUS
author shade
date Fri, 01 Dec 2017 10:39:16 +0100
parents f05d0f344f65
children eeea1dcf966a
files src/main/java/org/openjdk/shenandoah/Colors.java src/main/java/org/openjdk/shenandoah/RegionStat.java src/main/java/org/openjdk/shenandoah/RegionState.java src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java src/main/java/org/openjdk/shenandoah/Snapshot.java
diffstat 5 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/org/openjdk/shenandoah/Colors.java	Fri Nov 17 10:48:38 2017 +0100
+++ b/src/main/java/org/openjdk/shenandoah/Colors.java	Fri Dec 01 10:39:16 2017 +0100
@@ -21,6 +21,7 @@
     static final Color LIVE_COMMITTED       = new Color(150, 150, 150);
     static final Color LIVE_REGULAR         = new Color(0, 200, 0);
     static final Color LIVE_HUMONGOUS       = new Color(250, 100, 0);
+    static final Color LIVE_PINNED_HUMONGOUS = new Color(255, 0, 0);
     static final Color LIVE_CSET            = new Color(250, 250, 0);
     static final Color LIVE_TRASH           = new Color(100, 100, 100);
     static final Color LIVE_PINNED          = new Color(255, 0, 0);
--- a/src/main/java/org/openjdk/shenandoah/RegionStat.java	Fri Nov 17 10:48:38 2017 +0100
+++ b/src/main/java/org/openjdk/shenandoah/RegionStat.java	Fri Dec 01 10:39:16 2017 +0100
@@ -71,6 +71,8 @@
                 return LIVE_CSET;
             case HUMONGOUS:
                 return LIVE_HUMONGOUS;
+            case PINNED_HUMONGOUS:
+                return LIVE_PINNED_HUMONGOUS;
             case REGULAR:
                 return LIVE_REGULAR;
             case TRASH:
--- a/src/main/java/org/openjdk/shenandoah/RegionState.java	Fri Nov 17 10:48:38 2017 +0100
+++ b/src/main/java/org/openjdk/shenandoah/RegionState.java	Fri Dec 01 10:39:16 2017 +0100
@@ -18,6 +18,8 @@
 
     PINNED_CSET,
 
+    PINNED_HUMONGOUS,
+
     ;
 
     static RegionState fromOrdinal(int idx) {
@@ -31,6 +33,7 @@
             case 6: return PINNED;
             case 7: return TRASH;
             case 8: return PINNED_CSET;
+            case 9: return PINNED_HUMONGOUS;
             default:
                 throw new IllegalStateException("Unhandled ordinal: " + idx);
         }
--- a/src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java	Fri Nov 17 10:48:38 2017 +0100
+++ b/src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java	Fri Dec 01 10:39:16 2017 +0100
@@ -273,6 +273,9 @@
             items.put("Fully Live Humongous",
                     new RegionStat(1.0f, 1.0f, 0.0f, 0.0f, 0.0f, HUMONGOUS));
 
+            items.put("Fully Live Humongous + Pinned",
+                    new RegionStat(1.0f, 1.0f, 0.0f, 0.0f, 0.0f, PINNED_HUMONGOUS));
+
             items.put("1/3 Live",
                     new RegionStat(1.0f, 0.3f, 0.0f, 0.0f, 0.0f, REGULAR));
 
--- a/src/main/java/org/openjdk/shenandoah/Snapshot.java	Fri Nov 17 10:48:38 2017 +0100
+++ b/src/main/java/org/openjdk/shenandoah/Snapshot.java	Fri Dec 01 10:39:16 2017 +0100
@@ -110,7 +110,7 @@
     public long humongous() {
         long used = 0L;
         for (RegionStat rs : stats) {
-            if (rs.state() == RegionState.HUMONGOUS) {
+            if (rs.state() == RegionState.HUMONGOUS || rs.state() == RegionState.PINNED_HUMONGOUS) {
                 used += regionSize * rs.used();
             }
         }