[foreign-memaccess+abi] RFR: 8292078: Thread-safety issues in AbstractLinker implementations [v2]
Jorn Vernee
jvernee at openjdk.org
Tue Aug 9 13:01:37 UTC 2022
On Tue, 9 Aug 2022 12:58:00 GMT, Per Minborg <duke at openjdk.org> wrote:
>> Change to lazy static initializing for singletons and fix a bug in `LinuxAArch64VaList` that threw an `IndexOutOfBoundsException`.
>
> Per Minborg has updated the pull request incrementally with one additional commit since the last revision:
>
> Undo reformatting
Marked as reviewed by jvernee (Committer).
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker.java line 30:
> 28: import jdk.internal.foreign.abi.AbstractLinker;
> 29: import jdk.internal.foreign.abi.aarch64.CallArranger;
> 30: import jdk.internal.foreign.abi.aarch64.macos.MacOsAArch64Linker;
Spurious import?
Suggestion:
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker.java line 47:
> 45: private static final class Holder {
> 46: private static final LinuxAArch64Linker INSTANCE = new LinuxAArch64Linker();
> 47: }
You could also make this a local class in `getInstance` (they now allow static fields).
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList.java line 124:
> 122: MemorySegment stack = stackPtr(segment); // size unknown
> 123: MemorySegment gpRegsArea = MemorySegment.ofAddress(grTop(segment).address() - MAX_GP_OFFSET, MAX_GP_OFFSET, session);
> 124: MemorySegment fpRegsArea = MemorySegment.ofAddress(vrTop(segment).address() - MAX_FP_OFFSET, MAX_FP_OFFSET, session);
Thanks for fixing!
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker.java line 30:
> 28: import jdk.internal.foreign.abi.AbstractLinker;
> 29: import jdk.internal.foreign.abi.aarch64.CallArranger;
> 30: import jdk.internal.foreign.abi.x64.windows.Windowsx64Linker;
Suggestion:
src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVx64Linker.java line 29:
> 27:
> 28: import jdk.internal.foreign.abi.AbstractLinker;
> 29: import jdk.internal.foreign.abi.x64.windows.Windowsx64Linker;
Suggestion:
-------------
PR: https://git.openjdk.org/panama-foreign/pull/702
More information about the panama-dev
mailing list