RFR: 8347408: Create an internal method handle adapter for system calls with errno [v6]

Per Minborg pminborg at openjdk.org
Mon Jan 13 10:17:47 UTC 2025


On Fri, 10 Jan 2025 09:41:34 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> Per Minborg has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Clean up benchmark
>>  - Fix allocation problem in benchmark
>
> src/java.base/share/classes/jdk/internal/foreign/CaptureStateUtil.java line 50:
> 
>> 48:     private static final long SIZE = Linker.Option.captureStateLayout().byteSize();
>> 49: 
>> 50:     private static final TerminatingThreadLocal<MemorySegment> TL = new TerminatingThreadLocal<>() {
> 
> TerminatingThreadLocal is carrier-local so the usage here will require a detailed walk through to make sure that a virtual thread cannot be preempted when it has access to this memory segment. Identifying preemption is hard and will often during startup/first-use. So while tempting to use TerminatingThreadLocal here, I think we will have to do more work on it before it can more widely used in java.base.

Right. So, I have added this issue: https://bugs.openjdk.org/browse/JDK-8347537

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22391#discussion_r1912954825


More information about the core-libs-dev mailing list