Degenerated cycle might skip concurrent cycle and dive directly into final mark. When ShenandoahConcurrentScanCodeRoots is set, that means we may miss the scanning of code roots. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/code_roots/webrev.00/ Thanks, -Zhengyu