The code pattern introduced by 8040121 doesn't behave as expected (at least with gcc). This fix uses a more robust code pattern: http://cr.openjdk.java.net/~roland/8054054/webrev.00/ Roland.