diff -r 3fd8dee1b158 -r 0408881ad616 jdk/src/java.base/share/classes/java/lang/ref/Cleaner.java --- a/jdk/src/java.base/share/classes/java/lang/ref/Cleaner.java Wed Mar 09 13:37:30 2016 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/ref/Cleaner.java Wed Mar 09 21:17:06 2016 +0100 @@ -25,10 +25,11 @@ package java.lang.ref; +import jdk.internal.ref.CleanerImpl; + import java.util.Objects; import java.util.concurrent.ThreadFactory; - -import jdk.internal.ref.CleanerImpl; +import java.util.function.Function; /** * {@code Cleaner} manages a set of object references and corresponding cleaning actions. @@ -135,7 +136,12 @@ final CleanerImpl impl; static { - CleanerImpl.setCleanerImplAccess((Cleaner c) -> c.impl); + CleanerImpl.setCleanerImplAccess(new Function() { + @Override + public CleanerImpl apply(Cleaner cleaner) { + return cleaner.impl; + } + }); } /**