# HG changeset patch # User shade # Date 1512121156 -3600 # Node ID d9ecc74a4b844bfe9149bb55a0456a599933c166 # Parent f05d0f344f65960f3f1053e79bef30ef85b7de5d Handle PINNED_HUMONGOUS diff -r f05d0f344f65 -r d9ecc74a4b84 src/main/java/org/openjdk/shenandoah/Colors.java --- 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); diff -r f05d0f344f65 -r d9ecc74a4b84 src/main/java/org/openjdk/shenandoah/RegionStat.java --- 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: diff -r f05d0f344f65 -r d9ecc74a4b84 src/main/java/org/openjdk/shenandoah/RegionState.java --- 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); } diff -r f05d0f344f65 -r d9ecc74a4b84 src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java --- 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)); diff -r f05d0f344f65 -r d9ecc74a4b84 src/main/java/org/openjdk/shenandoah/Snapshot.java --- 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(); } }