I don't see issue with class redefinition in Shenandoah, so let's purge early class definitions during class unloading. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/purge_prev_class_def/webrev.00/ Test: fastdebug and release: jtreg runtime/RedefineObject and runtime/RedefineTests Thanks, -Zhengyu