[aarch64-port-dev ] git: openjdk/aarch64-port: master: 8275063: Implementation of Foreign Function & Memory API (Second incubator)

Maurizio Cimadamore mcimadamore at openjdk.java.net
Wed Nov 24 11:53:21 UTC 2021


Changeset: 96e36071
Author:    Maurizio Cimadamore <mcimadamore at openjdk.org>
Date:      2021-11-24 11:51:16 +0000
URL:       https://git.openjdk.java.net/aarch64-port/commit/96e36071b63b624d56739b014b457ffc48147c4f

8275063: Implementation of Foreign Function & Memory API (Second incubator)

Reviewed-by: erikj, psandoz, jvernee, darcy

! make/test/JtregNativeJdk.gmk
! src/hotspot/share/classfile/vmSymbols.hpp
! src/hotspot/share/oops/methodData.cpp
! src/hotspot/share/prims/universalUpcallHandler.cpp
! src/java.base/share/classes/java/lang/Module.java
! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java
! src/java.base/share/classes/java/lang/invoke/VarHandles.java
! src/java.base/share/classes/java/nio/Buffer.java
! src/java.base/share/classes/jdk/internal/access/JavaLangInvokeAccess.java
! src/java.base/share/classes/jdk/internal/access/JavaNioAccess.java
! src/java.base/share/classes/jdk/internal/misc/X-ScopedMemoryAccess.java.template
! src/java.base/share/classes/jdk/internal/reflect/Reflection.java
! src/java.base/share/classes/sun/nio/ch/IOUtil.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AbstractLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Addressable.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/FunctionDescriptor.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/GroupLayout.java
- src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAccess.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryHandles.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java
- src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayouts.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java
+ src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/NativeSymbol.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/PaddingLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ResourceScope.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SegmentAllocator.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SequenceLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SymbolLookup.java
+ src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/VaList.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ValueLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java
- src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractCLinker.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractMemorySegmentImpl.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ArenaAllocator.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/CABI.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ConfinedScope.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LayoutPath.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/NativeMemorySegmentImpl.java
+ src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/NativeSymbolImpl.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/PlatformLayouts.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ResourceScopeImpl.java
+ src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Scoped.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SharedScope.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SystemLookup.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/Binding.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/BufferLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/CallingSequence.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/CallingSequenceBuilder.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ProgrammableInvoker.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ProgrammableUpcallHandler.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java
- src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/UpcallHandler.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/UpcallStubs.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/TypeClass.java
+ src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64Linker.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/linux/LinuxAArch64VaList.java
+ src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64Linker.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/macos/MacOsAArch64VaList.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVVaList.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVx64Linker.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/TypeClass.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/TypeClass.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/WinVaList.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/Windowsx64Linker.java
! test/hotspot/jtreg/gc/shenandoah/compiler/TestLinkToNativeRBP.java
! test/jdk/java/foreign/CallGeneratorHelper.java
! test/jdk/java/foreign/NativeTestHelper.java
! test/jdk/java/foreign/SafeFunctionAccessTest.java
! test/jdk/java/foreign/StdLibTest.java
! test/jdk/java/foreign/TestAdaptVarHandles.java
- test/jdk/java/foreign/TestAddressHandle.java
+ test/jdk/java/foreign/TestArrayCopy.java
! test/jdk/java/foreign/TestArrays.java
! test/jdk/java/foreign/TestByteBuffer.java
- test/jdk/java/foreign/TestCircularInit1.java
- test/jdk/java/foreign/TestCircularInit2.java
! test/jdk/java/foreign/TestCondy.java
! test/jdk/java/foreign/TestDowncall.java
! test/jdk/java/foreign/TestFree.java
! test/jdk/java/foreign/TestFunctionDescriptor.java
! test/jdk/java/foreign/TestHandshake.java
! test/jdk/java/foreign/TestIllegalLink.java
! test/jdk/java/foreign/TestIntrinsics.java
- test/jdk/java/foreign/TestLayoutAttributes.java
! test/jdk/java/foreign/TestLayoutConstants.java
! test/jdk/java/foreign/TestLayoutEquality.java
! test/jdk/java/foreign/TestLayoutPaths.java
! test/jdk/java/foreign/TestLayouts.java
! test/jdk/java/foreign/TestMemoryAccess.java
+ test/jdk/java/foreign/TestMemoryAccessInstance.java
- test/jdk/java/foreign/TestMemoryAccessStatics.java
! test/jdk/java/foreign/TestMemoryAlignment.java
- test/jdk/java/foreign/TestMemoryCopy.java
+ test/jdk/java/foreign/TestMemoryDereference.java
! test/jdk/java/foreign/TestMemoryHandleAsUnsigned.java
! test/jdk/java/foreign/TestMismatch.java
! test/jdk/java/foreign/TestNULLAddress.java
! test/jdk/java/foreign/TestNative.java
! test/jdk/java/foreign/TestNoForeignUnsafeOverride.java
! test/jdk/java/foreign/TestNulls.java
- test/jdk/java/foreign/TestRebase.java
! test/jdk/java/foreign/TestReshape.java
! test/jdk/java/foreign/TestResourceScope.java
! test/jdk/java/foreign/TestRestricted.java
! test/jdk/java/foreign/TestScopedOperations.java
! test/jdk/java/foreign/TestSegmentAllocators.java
+ test/jdk/java/foreign/TestSegmentCopy.java
+ test/jdk/java/foreign/TestSegmentOffset.java
+ test/jdk/java/foreign/TestSegmentOverlap.java
! test/jdk/java/foreign/TestSegments.java
! test/jdk/java/foreign/TestSharedAccess.java
! test/jdk/java/foreign/TestSlices.java
! test/jdk/java/foreign/TestSpliterator.java
! test/jdk/java/foreign/TestStringEncoding.java
! test/jdk/java/foreign/TestSymbolLookup.java
! test/jdk/java/foreign/TestTypeAccess.java
! test/jdk/java/foreign/TestUnsupportedPlatform.java
! test/jdk/java/foreign/TestUpcall.java
! test/jdk/java/foreign/TestUpcallException.java
! test/jdk/java/foreign/TestUpcallHighArity.java
! test/jdk/java/foreign/TestUpcallStructScope.java
! test/jdk/java/foreign/TestVarArgs.java
! test/jdk/java/foreign/TestVarHandleCombinators.java
! test/jdk/java/foreign/ThrowingUpcall.java
! test/jdk/java/foreign/callarranger/TestAarch64CallArranger.java
! test/jdk/java/foreign/callarranger/TestWindowsCallArranger.java
! test/jdk/java/foreign/channels/AbstractChannelsTest.java
! test/jdk/java/foreign/channels/TestAsyncSocketChannels.java
! test/jdk/java/foreign/channels/TestSocketChannels.java
! test/jdk/java/foreign/enablenativeaccess/org/openjdk/foreigntest/PanamaMainUnnamedModule.java
! test/jdk/java/foreign/enablenativeaccess/panama_module/org/openjdk/foreigntest/PanamaMain.java
! test/jdk/java/foreign/enablenativeaccess/panama_module/org/openjdk/foreigntest/PanamaMainInvoke.java
! test/jdk/java/foreign/enablenativeaccess/panama_module/org/openjdk/foreigntest/PanamaMainReflection.java
! test/jdk/java/foreign/handles/invoker_module/handle/invoker/MethodHandleInvoker.java
! test/jdk/java/foreign/handles/lookup_module/handle/lookup/MethodHandleLookup.java
+ test/jdk/java/foreign/libAsyncInvokers.cpp
! test/jdk/java/foreign/libIntrinsics.c
! test/jdk/java/foreign/libSafeAccess.c
+ test/jdk/java/foreign/loaderLookup/TestLoaderLookup.java
+ test/jdk/java/foreign/loaderLookup/invoker/Invoker.java
+ test/jdk/java/foreign/loaderLookup/lookup/Lookup.java
+ test/jdk/java/foreign/loaderLookup/lookup/libFoo.c
! test/jdk/java/foreign/malloc/TestMixedMallocFree.java
! test/jdk/java/foreign/stackwalk/TestAsyncStackWalk.java
! test/jdk/java/foreign/stackwalk/TestStackWalk.java
! test/jdk/java/foreign/valist/VaListTest.java
! test/jdk/java/foreign/virtual/TestVirtualCalls.java
! test/jdk/java/lang/invoke/VarHandles/VarHandleTestExact.java
! test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/SegmentTestDataProvider.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/BulkMismatchAcquire.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/BulkOps.java
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/CLayouts.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverheadConstant.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverheadHelper.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverheadVirtual.java
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/JNICB.h
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/JNICB.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverConstant.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNew.java
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNewHeap.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNonConstant.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNonConstantFP.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNonConstantHeap.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNonConstantMapped.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverNonConstantShared.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverPollutedBuffer.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/LoopOverPollutedSegments.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/ParallelSum.java
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/QSort.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/StrLenTest.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/TestAdaptVarHandles.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/TestLoadBytes.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/UnrolledAccess.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/Upcalls.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/VaList.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/VarHandleExact.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/libCallOverhead.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/libJNICB.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/libQSort.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/libQSortJNI.c
! test/micro/org/openjdk/bench/jdk/incubator/foreign/libUpcallsJNI.c
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/PanamaPoint.java
! test/micro/org/openjdk/bench/jdk/incubator/vector/TestLoadStoreBytes.java
! test/micro/org/openjdk/bench/jdk/incubator/vector/TestLoadStoreShort.java



More information about the aarch64-port-dev mailing list