RFR: JDK-8149925 We don't need jdk.internal.ref.Cleaner any more
Peter Levart
peter.levart at gmail.com
Fri Apr 1 16:08:52 UTC 2016
On 04/01/2016 05:18 PM, Peter Levart wrote:
> @Roger:
>
> ...
>
> About entanglement between nio Bits and
> ExtendedCleaner.retryWhileHelpingClean(). It is the same level of
> entanglement as between the DirectByteBuffer constructor and
> Cleaner.register(). In both occasions an action is provided to the
> Cleaner. Cleaner.register() takes a cleanup action and
> ExtendedCleaner.retryWhileHelpingClean() takes a retriable
> "allocating" or "reservation" action. "allocation" or "reservation" is
> the opposite of cleanup. Both methods are encapsulated in the same
> object because those two functions must be coordinated. So I think
> that collocating them together makes sense. What do you think?
...to illustrate what I mean, here's a variant that totally untangles
Bits from Cleaner and moves the whole Cleaner interaction into the
DirectByteBuffer itself:
http://cr.openjdk.java.net/~plevart/jdk9-dev/removeInternalCleaner/webrev.13.part2/
Notice the symmetry between Cleaner.retryWhileHelpingClean :
Cleaner.register and Allocator : Deallocator ?
Regards, Peter
More information about the core-libs-dev
mailing list