RFR: 8287788: reuse intermediate segments allocated during FFM stub invocations [v9]
Matthias Ernst
duke at openjdk.org
Wed Jan 22 12:30:39 UTC 2025
On Wed, 22 Jan 2025 10:40:07 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
>> Matthias Ernst has updated the pull request incrementally with one additional commit since the last revision:
>>
>> --unnecessary annotations
>
> src/java.base/share/classes/jdk/internal/foreign/abi/BufferStack.java line 17:
>
>> 15:
>> 16: public Arena reserve(long size) {
>> 17: if (!lock.tryLock()) {
>
> I believe we only need to lock if `reserve` is called from a virtual thread. So there's more cases where the locking can be avoided :-)
Done. Also can avoid the recursion (although that's probably cheap under RL, let me double-check).
> src/java.base/share/classes/jdk/internal/foreign/abi/BufferStack.java line 52:
>
>> 50: scope.close();
>> 51: offset = parentOffset;
>> 52: lock.unlock();
>
> I believe you could have mismatched lock/unlock in some cases
Which scenario?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23142#discussion_r1925238375
PR Review Comment: https://git.openjdk.org/jdk/pull/23142#discussion_r1925236864
More information about the core-libs-dev
mailing list