RFR: 8324972: (bf) Make DirectByteBuffer.Deallocator idempotent [v2]

Per Minborg pminborg at openjdk.org
Wed Jan 31 09:54:02 UTC 2024


On Wed, 31 Jan 2024 09:50:57 GMT, Per Minborg <pminborg at openjdk.org> wrote:

>> This PR proposes to make deallocators and unmappers for memory regions idempotent. This is to prevent (likely very rare) duplicate invocations. 
>> 
>> There are no unit tests but it should be noted that the idempotent behavior (now correct) is similar to the  intended behavior before cf74b8c2a32f33019a13ce80b6667da502cc6722 but where idempotency was not guaranteed in a multi-threaded environment.
>> 
>> Passes tier1, 2, and 3 tests.
>
> Per Minborg has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Refrain from using AtomicBoolean

src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template line 81:

> 79:     private static final class Deallocator implements Runnable {
> 80: 
> 81:         private static final AtomicIntegerFieldUpdater<Deallocator> UPDATER =

It would be possible to use `Unsafe` directly instead of AIFU.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17647#discussion_r1472569573


More information about the nio-dev mailing list