changeset 39:f05d0f344f65

Handle new PINNED_CSET region state.
author shade
date Fri, 17 Nov 2017 10:48:38 +0100
parents 2c648af636f3
children d9ecc74a4b84
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	Mon Nov 06 13:25:53 2017 +0100
+++ b/src/main/java/org/openjdk/shenandoah/Colors.java	Fri Nov 17 10:48:38 2017 +0100
@@ -24,6 +24,7 @@
     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);
+    static final Color LIVE_PINNED_CSET     = new Color(255, 120, 0);
     static final Color LIVE_EMPTY           = new Color(255, 255, 255);
 
     static final Color LIVE_BORDER          = new Color(0, 100, 0);
--- a/src/main/java/org/openjdk/shenandoah/RegionStat.java	Mon Nov 06 13:25:53 2017 +0100
+++ b/src/main/java/org/openjdk/shenandoah/RegionStat.java	Fri Nov 17 10:48:38 2017 +0100
@@ -77,6 +77,8 @@
                 return LIVE_TRASH;
             case PINNED:
                 return LIVE_PINNED;
+            case PINNED_CSET:
+                return LIVE_PINNED_CSET;
             case EMPTY_COMMITTED:
             case EMPTY_UNCOMMITTED:
                 return LIVE_EMPTY;
--- a/src/main/java/org/openjdk/shenandoah/RegionState.java	Mon Nov 06 13:25:53 2017 +0100
+++ b/src/main/java/org/openjdk/shenandoah/RegionState.java	Fri Nov 17 10:48:38 2017 +0100
@@ -16,6 +16,8 @@
 
     TRASH,
 
+    PINNED_CSET,
+
     ;
 
     static RegionState fromOrdinal(int idx) {
@@ -28,6 +30,7 @@
             case 5: return CSET;
             case 6: return PINNED;
             case 7: return TRASH;
+            case 8: return PINNED_CSET;
             default:
                 throw new IllegalStateException("Unhandled ordinal: " + idx);
         }
--- a/src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java	Mon Nov 06 13:25:53 2017 +0100
+++ b/src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java	Fri Nov 17 10:48:38 2017 +0100
@@ -282,6 +282,9 @@
             items.put("1/3 Live + Pinned",
                     new RegionStat(1.0f, 0.3f, 0.0f, 0.0f, 0.0f, PINNED));
 
+            items.put("1/3 Live + Pinned CSet",
+                    new RegionStat(1.0f, 0.3f, 0.0f, 0.0f, 0.0f, PINNED_CSET));
+
             int i = 1;
             for (String key : items.keySet()) {
                 int y = (int) (i * sqSize * 1.5);
--- a/src/main/java/org/openjdk/shenandoah/Snapshot.java	Mon Nov 06 13:25:53 2017 +0100
+++ b/src/main/java/org/openjdk/shenandoah/Snapshot.java	Fri Nov 17 10:48:38 2017 +0100
@@ -100,7 +100,7 @@
     public long collectionSet() {
         long used = 0L;
         for (RegionStat rs : stats) {
-            if (rs.state() == RegionState.CSET) {
+            if (rs.state() == RegionState.CSET || rs.state() == RegionState.PINNED_CSET) {
                 used += regionSize * rs.used();
             }
         }