--- old/src/java.base/share/classes/java/lang/Thread.java 2018-05-18 10:13:26.407847224 +0200 +++ new/src/java.base/share/classes/java/lang/Thread.java 2018-05-18 10:13:26.317848755 +0200 @@ -36,6 +36,8 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.locks.LockSupport; + +import jdk.internal.misc.JdkThreadLocal; import sun.nio.ch.Interruptible; import jdk.internal.reflect.CallerSensitive; import jdk.internal.reflect.Reflection; @@ -838,6 +840,7 @@ * a chance to clean up before it actually exits. */ private void exit() { + JdkThreadLocal.threadTerminated(JdkThreadLocal.REGISTRY.getIfPresent()); if (group != null) { group.threadTerminated(this); group = null;