http://cr.openjdk.java.net/~roland/shenandoah/wb-before-loops/webrev/ This moves a write barrier that operates on a value that is loop invariant but is kept in a loop because of memory edges before the loop during loop optimizations. This should allow further optimizations. Roland.