git: openjdk/jdk-sandbox: riscv-port-branch: riscv64 port: Initial support for RV64GV.
duke
duke at openjdk.java.net
Mon May 10 14:17:24 UTC 2021
Changeset: 832e1ee0
Author: Fei Yang <felix.yang at huawei.com>
Date: 2021-05-10 10:16:14 +0000
URL: https://git.openjdk.java.net/jdk-sandbox/commit/832e1ee0ae577403bc5af0a1a6e206a0d3df1226
riscv64 port: Initial support for RV64GV.
This riscv64 port supports RV64GV, shorthand for RV64IMAFDV ISA
extensions, and covers the templateInterpreter, C1 and C2, excluding
AOT/JVMCI. All existing GCs are available on riscv64, including ZGC
and ShenandoahGC.
The VectorAPI and ForeignAPI features are not supported for now.
Vectorization is experimentally supported, because the rvv 0.10 ISA
is still draft and supported by few emulators and hardware.
Configure and build steps:
http://cr.openjdk.java.net/~fyang/openjdk-riscv-port/BuildRISCVJDK.md
So far, we've passed JTReg tests on Qemu and HiFive Unleashed board.
Co-authored-by: Yadong Wang <yadonn.wang at huawei.com>
Co-authored-by: Kun Wang <wangkun49 at huawei.com>
Co-authored-by: Yanhong Zhu <zhuyanhong2 at huawei.com>
Co-authored-by: Zhuxuan Ni <nizhuxuan at huawei.com>
Co-authored-by: Feilong Jiang <jiangfeilong at huawei.com>
Co-authored-by: Taiping Guo <guotaiping1 at huawei.com>
Co-authored-by: Kang He <hekang6 at huawei.com>
Co-authored-by: Jiajin Chen <chenjiajin at huawei.com>
! make/autoconf/build-aux/autoconf-config.guess
! make/autoconf/build-aux/autoconf-config.sub
! make/autoconf/jvm-features.m4
! make/autoconf/libraries.m4
! make/autoconf/platform.m4
! make/hotspot/gensrc/GensrcAdlc.gmk
+ src/hotspot/cpu/riscv64/abstractInterpreter_riscv64.cpp
+ src/hotspot/cpu/riscv64/assembler_riscv64.cpp
+ src/hotspot/cpu/riscv64/assembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/assembler_riscv64.inline.hpp
+ src/hotspot/cpu/riscv64/bytes_riscv64.hpp
+ src/hotspot/cpu/riscv64/c1_CodeStubs_riscv64.cpp
+ src/hotspot/cpu/riscv64/c1_Defs_riscv64.hpp
+ src/hotspot/cpu/riscv64/c1_FpuStackSim_riscv64.cpp
+ src/hotspot/cpu/riscv64/c1_FpuStackSim_riscv64.hpp
+ src/hotspot/cpu/riscv64/c1_FrameMap_riscv64.cpp
+ src/hotspot/cpu/riscv64/c1_FrameMap_riscv64.hpp
+ src/hotspot/cpu/riscv64/c1_LIRAssembler_arith_riscv64.cpp
+ src/hotspot/cpu/riscv64/c1_LIRAssembler_arith_riscv64.hpp
+ src/hotspot/cpu/riscv64/c1_LIRAssembler_arraycopy_riscv64.cpp
+ src/hotspot/cpu/riscv64/c1_LIRAssembler_arraycopy_riscv64.hpp
+ src/hotspot/cpu/riscv64/c1_LIRAssembler_riscv64.cpp
+ src/hotspot/cpu/riscv64/c1_LIRAssembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/c1_LIRGenerator_riscv64.cpp
+ src/hotspot/cpu/riscv64/c1_LIR_riscv64.cpp
+ src/hotspot/cpu/riscv64/c1_LinearScan_riscv64.cpp
+ src/hotspot/cpu/riscv64/c1_LinearScan_riscv64.hpp
+ src/hotspot/cpu/riscv64/c1_MacroAssembler_riscv64.cpp
+ src/hotspot/cpu/riscv64/c1_MacroAssembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/c1_Runtime1_riscv64.cpp
+ src/hotspot/cpu/riscv64/c1_globals_riscv64.hpp
+ src/hotspot/cpu/riscv64/c2_MacroAssembler_riscv64.cpp
+ src/hotspot/cpu/riscv64/c2_MacroAssembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/c2_globals_riscv64.hpp
+ src/hotspot/cpu/riscv64/c2_init_riscv64.cpp
+ src/hotspot/cpu/riscv64/c2_safepointPollStubTable_riscv64.cpp
+ src/hotspot/cpu/riscv64/codeBuffer_riscv64.hpp
+ src/hotspot/cpu/riscv64/compiledIC_riscv64.cpp
+ src/hotspot/cpu/riscv64/copy_riscv64.hpp
+ src/hotspot/cpu/riscv64/depChecker_riscv64.hpp
+ src/hotspot/cpu/riscv64/disassembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/foreign_globals_riscv64.cpp
+ src/hotspot/cpu/riscv64/foreign_globals_riscv64.hpp
+ src/hotspot/cpu/riscv64/frame_riscv64.cpp
+ src/hotspot/cpu/riscv64/frame_riscv64.hpp
+ src/hotspot/cpu/riscv64/frame_riscv64.inline.hpp
+ src/hotspot/cpu/riscv64/gc/g1/g1BarrierSetAssembler_riscv64.cpp
+ src/hotspot/cpu/riscv64/gc/g1/g1BarrierSetAssembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/gc/shared/barrierSetAssembler_riscv64.cpp
+ src/hotspot/cpu/riscv64/gc/shared/barrierSetAssembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/gc/shared/barrierSetNMethod_riscv64.cpp
+ src/hotspot/cpu/riscv64/gc/shared/cardTableBarrierSetAssembler_riscv64.cpp
+ src/hotspot/cpu/riscv64/gc/shared/cardTableBarrierSetAssembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/gc/shared/modRefBarrierSetAssembler_riscv64.cpp
+ src/hotspot/cpu/riscv64/gc/shared/modRefBarrierSetAssembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/gc/shenandoah/c1/shenandoahBarrierSetC1_riscv64.cpp
+ src/hotspot/cpu/riscv64/gc/shenandoah/shenandoahBarrierSetAssembler_riscv64.cpp
+ src/hotspot/cpu/riscv64/gc/shenandoah/shenandoahBarrierSetAssembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/gc/shenandoah/shenandoah_riscv64.ad
+ src/hotspot/cpu/riscv64/gc/z/zBarrierSetAssembler_riscv64.cpp
+ src/hotspot/cpu/riscv64/gc/z/zBarrierSetAssembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/gc/z/zGlobals_riscv64.cpp
+ src/hotspot/cpu/riscv64/gc/z/zGlobals_riscv64.hpp
+ src/hotspot/cpu/riscv64/gc/z/z_riscv64.ad
+ src/hotspot/cpu/riscv64/globalDefinitions_riscv64.hpp
+ src/hotspot/cpu/riscv64/globals_riscv64.hpp
+ src/hotspot/cpu/riscv64/icBuffer_riscv64.cpp
+ src/hotspot/cpu/riscv64/icache_riscv64.cpp
+ src/hotspot/cpu/riscv64/icache_riscv64.hpp
+ src/hotspot/cpu/riscv64/interp_masm_riscv64.cpp
+ src/hotspot/cpu/riscv64/interp_masm_riscv64.hpp
+ src/hotspot/cpu/riscv64/interpreterRT_riscv64.cpp
+ src/hotspot/cpu/riscv64/interpreterRT_riscv64.hpp
+ src/hotspot/cpu/riscv64/javaFrameAnchor_riscv64.hpp
+ src/hotspot/cpu/riscv64/jniFastGetField_riscv64.cpp
+ src/hotspot/cpu/riscv64/jniTypes_riscv64.hpp
+ src/hotspot/cpu/riscv64/macroAssembler_riscv64.cpp
+ src/hotspot/cpu/riscv64/macroAssembler_riscv64.hpp
+ src/hotspot/cpu/riscv64/macroAssembler_riscv64.inline.hpp
+ src/hotspot/cpu/riscv64/methodHandles_riscv64.cpp
+ src/hotspot/cpu/riscv64/methodHandles_riscv64.hpp
+ src/hotspot/cpu/riscv64/nativeInst_riscv64.cpp
+ src/hotspot/cpu/riscv64/nativeInst_riscv64.hpp
+ src/hotspot/cpu/riscv64/registerMap_riscv64.cpp
+ src/hotspot/cpu/riscv64/registerMap_riscv64.hpp
+ src/hotspot/cpu/riscv64/register_definitions_riscv64.cpp
+ src/hotspot/cpu/riscv64/register_riscv64.cpp
+ src/hotspot/cpu/riscv64/register_riscv64.hpp
+ src/hotspot/cpu/riscv64/relocInfo_riscv64.cpp
+ src/hotspot/cpu/riscv64/relocInfo_riscv64.hpp
+ src/hotspot/cpu/riscv64/riscv64.ad
+ src/hotspot/cpu/riscv64/riscv64_vext.ad
+ src/hotspot/cpu/riscv64/sharedRuntime_riscv64.cpp
+ src/hotspot/cpu/riscv64/stubGenerator_riscv64.cpp
+ src/hotspot/cpu/riscv64/stubRoutines_riscv64.cpp
+ src/hotspot/cpu/riscv64/stubRoutines_riscv64.hpp
+ src/hotspot/cpu/riscv64/templateInterpreterGenerator_riscv64.cpp
+ src/hotspot/cpu/riscv64/templateTable_riscv64.cpp
+ src/hotspot/cpu/riscv64/templateTable_riscv64.hpp
+ src/hotspot/cpu/riscv64/universalNativeInvoker_riscv64.cpp
+ src/hotspot/cpu/riscv64/universalUpcallHandle_riscv64.cpp
+ src/hotspot/cpu/riscv64/vmStructs_riscv64.hpp
+ src/hotspot/cpu/riscv64/vm_version_ext_riscv64.cpp
+ src/hotspot/cpu/riscv64/vm_version_ext_riscv64.hpp
+ src/hotspot/cpu/riscv64/vm_version_riscv64.cpp
+ src/hotspot/cpu/riscv64/vm_version_riscv64.hpp
+ src/hotspot/cpu/riscv64/vmreg_riscv64.cpp
+ src/hotspot/cpu/riscv64/vmreg_riscv64.hpp
+ src/hotspot/cpu/riscv64/vmreg_riscv64.inline.hpp
+ src/hotspot/cpu/riscv64/vtableStubs_riscv64.cpp
! src/hotspot/os/linux/os_linux.cpp
! src/hotspot/os/posix/os_posix.cpp
+ src/hotspot/os_cpu/linux_riscv64/assembler_linux_riscv64.cpp
+ src/hotspot/os_cpu/linux_riscv64/atomic_linux_riscv64.hpp
+ src/hotspot/os_cpu/linux_riscv64/bytes_linux_riscv64.inline.hpp
+ src/hotspot/os_cpu/linux_riscv64/copy_linux_riscv64.inline.hpp
+ src/hotspot/os_cpu/linux_riscv64/gc/z/zSyscall_linux_riscv64.hpp
+ src/hotspot/os_cpu/linux_riscv64/globals_linux_riscv64.hpp
+ src/hotspot/os_cpu/linux_riscv64/orderAccess_linux_riscv64.hpp
+ src/hotspot/os_cpu/linux_riscv64/os_linux_riscv64.cpp
+ src/hotspot/os_cpu/linux_riscv64/os_linux_riscv64.hpp
+ src/hotspot/os_cpu/linux_riscv64/prefetch_linux_riscv64.inline.hpp
+ src/hotspot/os_cpu/linux_riscv64/thread_linux_riscv64.cpp
+ src/hotspot/os_cpu/linux_riscv64/thread_linux_riscv64.hpp
+ src/hotspot/os_cpu/linux_riscv64/vmStructs_linux_riscv64.hpp
! src/hotspot/share/c1/c1_LIR.cpp
! src/hotspot/share/c1/c1_LIR.hpp
! src/hotspot/share/c1/c1_LIRAssembler.cpp
! src/hotspot/share/c1/c1_LIRAssembler.hpp
! src/hotspot/share/c1/c1_LIRGenerator.cpp
! src/hotspot/share/c1/c1_LIRGenerator.hpp
! src/hotspot/share/c1/c1_LinearScan.cpp
! src/hotspot/share/gc/g1/c1/g1BarrierSetC1.cpp
! src/hotspot/share/gc/shared/c1/barrierSetC1.cpp
! src/hotspot/share/gc/shared/c1/cardTableBarrierSetC1.cpp
! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp
! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp
! src/hotspot/share/gc/z/c1/zBarrierSetC1.cpp
! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp
! src/hotspot/share/jfr/utilities/jfrBigEndian.hpp
! src/hotspot/share/opto/c2compiler.cpp
! src/hotspot/share/opto/memnode.hpp
! src/hotspot/share/opto/regmask.hpp
! src/hotspot/share/opto/stringopts.cpp
! src/hotspot/share/opto/subnode.hpp
! src/hotspot/share/opto/type.cpp
! src/hotspot/share/opto/type.hpp
! src/hotspot/share/opto/vectornode.cpp
! src/hotspot/share/runtime/abstract_vm_version.cpp
! src/hotspot/share/runtime/os.cpp
! src/hotspot/share/runtime/thread.inline.hpp
! src/hotspot/share/utilities/globalDefinitions_gcc.hpp
! src/hotspot/share/utilities/macros.hpp
! src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp
! src/jdk.hotspot.agent/linux/native/libsaproc/libproc.h
! src/jdk.hotspot.agent/linux/native/libsaproc/ps_proc.c
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotAgent.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionRiscv64.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/riscv64/LinuxRISCV64CFrame.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/riscv64/LinuxRISCV64ThreadContext.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/riscv64/ProcRISCV64Thread.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/riscv64/ProcRISCV64ThreadContext.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/riscv64/ProcRISCV64ThreadFactory.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/riscv64/RemoteRISCV64Thread.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/riscv64/RemoteRISCV64ThreadContext.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/riscv64/RemoteRISCV64ThreadFactory.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/risv64/RISCV64ThreadContext.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Threads.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/linux_riscv64/LinuxRISCV64JavaThreadPDAccess.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/riscv64/RISCV64CurrentFrameGuess.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/riscv64/RISCV64Frame.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/riscv64/RISCV64JavaCallWrapper.java
+ src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/riscv64/RISCV64RegisterMap.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java
! src/utils/hsdis/hsdis.c
! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java
! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java
! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java
! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java
! test/hotspot/jtreg/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForOtherCPU.java
+ test/hotspot/jtreg/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForUnsupportedRiscv64CPU.java
! test/hotspot/jtreg/compiler/loopopts/superword/ProdRed_Double.java
! test/hotspot/jtreg/compiler/loopopts/superword/ProdRed_Float.java
! test/hotspot/jtreg/compiler/loopopts/superword/ProdRed_Int.java
! test/hotspot/jtreg/compiler/loopopts/superword/ReductionPerf.java
! test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Double.java
! test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java
! test/hotspot/jtreg/compiler/loopopts/superword/SumRedSqrt_Double.java
! test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Double.java
! test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Float.java
! test/hotspot/jtreg/compiler/loopopts/superword/SumRed_Int.java
! test/hotspot/jtreg/compiler/runtime/criticalnatives/argumentcorruption/CheckLongArgs.java
! test/hotspot/jtreg/compiler/runtime/criticalnatives/lookup/LookUp.java
! test/hotspot/jtreg/compiler/testlibrary/sha/predicate/IntrinsicPredicates.java
! test/hotspot/jtreg/compiler/vectorapi/TestLoopStoreVector.java
! test/hotspot/jtreg/gc/shenandoah/TestWrongArrayMember.java
! test/hotspot/jtreg/runtime/NMT/CheckForProperDetailStackTrace.java
! test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTest.java
! test/jdk/jdk/jfr/event/os/TestCPUInformation.java
! test/lib-test/jdk/test/lib/TestMutuallyExclusivePlatformPredicates.java
! test/lib/jdk/test/lib/Platform.java
More information about the jdk-sandbox-changes
mailing list