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