# HG changeset patch # User shade # Date 1510912118 -3600 # Node ID f05d0f344f65960f3f1053e79bef30ef85b7de5d # Parent 2c648af636f392e3c98ab6d636b4600321d8484b Handle new PINNED_CSET region state. diff -r 2c648af636f3 -r f05d0f344f65 src/main/java/org/openjdk/shenandoah/Colors.java --- 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); diff -r 2c648af636f3 -r f05d0f344f65 src/main/java/org/openjdk/shenandoah/RegionStat.java --- 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; diff -r 2c648af636f3 -r f05d0f344f65 src/main/java/org/openjdk/shenandoah/RegionState.java --- 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); } diff -r 2c648af636f3 -r f05d0f344f65 src/main/java/org/openjdk/shenandoah/ShenandoahVisualizer.java --- 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); diff -r 2c648af636f3 -r f05d0f344f65 src/main/java/org/openjdk/shenandoah/Snapshot.java --- 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(); } }