Tests suggest that it expects that earlier versions of redefined classes, or classes with errors should be cleaned up during full GC cycles. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/fullgc_class_unload/webrev.00/ Test: tier3_gc_shenandoah. Thanks, -Zhengyu