Please review http://cr.openjdk.java.net/~aw/8134865/ for https://bugs.openjdk.java.net/browse/JDK-8134865 In forStatement(), restoreBlock() was not called on exception in ES6 language mode, which lead to an AssertionError. I've added some minor cleanups on top. Thanks, Andreas