diff --git a/LoongArch64-support.patch b/LoongArch64-support.patch index 4f8b7a6674d02c23983228ff094a7c56faffbd1b..8b5d303a676c059ff04048a72719b703782e3c47 100644 --- a/LoongArch64-support.patch +++ b/LoongArch64-support.patch @@ -1,8 +1,483 @@ -commit c35d5dd5296952bdcc213ea4e5768085a8d9e35b -Author: panxuefeng -Date: Tue Feb 11 20:20:18 2025 +0800 +From 790b520135eeeb11a6269bb16402d3160998363f Mon Sep 17 00:00:00 2001 +From: songliyang +Date: Wed, 30 Apr 2025 11:20:52 +0800 +Subject: [PATCH] LoongArch64 support - LoongArch Support +--- + make/autoconf/jvm-features.m4 | 18 +- + make/autoconf/platform.m4 | 17 + + .../abstractInterpreter_loongarch.cpp | 155 + + .../cpu/loongarch/assembler_loongarch.cpp | 820 + + .../cpu/loongarch/assembler_loongarch.hpp | 3213 ++++ + .../loongarch/assembler_loongarch.inline.hpp | 33 + + src/hotspot/cpu/loongarch/bytes_loongarch.hpp | 64 + + .../loongarch/c1_CodeStubs_loongarch_64.cpp | 338 + + .../cpu/loongarch/c1_Defs_loongarch.hpp | 88 + + .../loongarch/c1_FpuStackSim_loongarch.hpp | 32 + + .../loongarch/c1_FpuStackSim_loongarch_64.cpp | 31 + + .../cpu/loongarch/c1_FrameMap_loongarch.hpp | 143 + + .../loongarch/c1_FrameMap_loongarch_64.cpp | 345 + + .../loongarch/c1_LIRAssembler_loongarch.hpp | 84 + + .../c1_LIRAssembler_loongarch_64.cpp | 3383 ++++ + .../c1_LIRGenerator_loongarch_64.cpp | 1393 ++ + .../cpu/loongarch/c1_LIR_loongarch_64.cpp | 57 + + .../cpu/loongarch/c1_LinearScan_loongarch.hpp | 70 + + .../loongarch/c1_LinearScan_loongarch_64.cpp | 33 + + .../loongarch/c1_MacroAssembler_loongarch.hpp | 111 + + .../c1_MacroAssembler_loongarch_64.cpp | 350 + + .../loongarch/c1_Runtime1_loongarch_64.cpp | 1049 + + .../cpu/loongarch/c1_globals_loongarch.hpp | 64 + + .../cpu/loongarch/c2_CodeStubs_loongarch.cpp | 91 + + .../loongarch/c2_MacroAssembler_loongarch.cpp | 1903 ++ + .../loongarch/c2_MacroAssembler_loongarch.hpp | 141 + + .../cpu/loongarch/c2_globals_loongarch.hpp | 85 + + .../cpu/loongarch/c2_init_loongarch.cpp | 37 + + .../cpu/loongarch/codeBuffer_loongarch.cpp | 32 + + .../cpu/loongarch/codeBuffer_loongarch.hpp | 37 + + .../cpu/loongarch/compiledIC_loongarch.cpp | 138 + + .../loongarch/continuationEntry_loongarch.hpp | 33 + + .../continuationEntry_loongarch.inline.hpp | 52 + + ...ontinuationFreezeThaw_loongarch.inline.hpp | 284 + + .../continuationHelper_loongarch.inline.hpp | 145 + + src/hotspot/cpu/loongarch/copy_loongarch.cpp | 147 + + src/hotspot/cpu/loongarch/copy_loongarch.hpp | 65 + + .../cpu/loongarch/disassembler_loongarch.hpp | 49 + + .../loongarch/downcallLinker_loongarch_64.cpp | 360 + + .../loongarch/foreignGlobals_loongarch.cpp | 195 + + .../loongarch/foreignGlobals_loongarch.hpp | 50 + + src/hotspot/cpu/loongarch/frame_loongarch.cpp | 629 + + src/hotspot/cpu/loongarch/frame_loongarch.hpp | 200 + + .../cpu/loongarch/frame_loongarch.inline.hpp | 472 + + .../gc/g1/g1BarrierSetAssembler_loongarch.cpp | 491 + + .../gc/g1/g1BarrierSetAssembler_loongarch.hpp | 72 + + .../loongarch/gc/g1/g1Globals_loongarch.hpp | 30 + + .../shared/barrierSetAssembler_loongarch.cpp | 453 + + .../shared/barrierSetAssembler_loongarch.hpp | 147 + + .../gc/shared/barrierSetNMethod_loongarch.cpp | 222 + + ...cardTableBarrierSetAssembler_loongarch.cpp | 117 + + ...cardTableBarrierSetAssembler_loongarch.hpp | 44 + + .../modRefBarrierSetAssembler_loongarch.cpp | 53 + + .../modRefBarrierSetAssembler_loongarch.hpp | 54 + + .../c1/shenandoahBarrierSetC1_loongarch.cpp | 130 + + ...henandoahBarrierSetAssembler_loongarch.cpp | 783 + + ...henandoahBarrierSetAssembler_loongarch.hpp | 88 + + .../gc/shenandoah/shenandoah_loongarch_64.ad | 232 + + .../gc/x/xBarrierSetAssembler_loongarch.cpp | 471 + + .../gc/x/xBarrierSetAssembler_loongarch.hpp | 105 + + .../cpu/loongarch/gc/x/xGlobals_loongarch.cpp | 211 + + .../cpu/loongarch/gc/x/xGlobals_loongarch.hpp | 34 + + .../cpu/loongarch/gc/x/x_loongarch_64.ad | 256 + + .../cpu/loongarch/gc/z/zAddress_loongarch.cpp | 109 + + .../cpu/loongarch/gc/z/zAddress_loongarch.hpp | 35 + + .../gc/z/zAddress_loongarch.inline.hpp | 38 + + .../gc/z/zBarrierSetAssembler_loongarch.cpp | 1226 ++ + .../gc/z/zBarrierSetAssembler_loongarch.hpp | 192 + + .../cpu/loongarch/gc/z/zGlobals_loongarch.hpp | 30 + + .../cpu/loongarch/gc/z/z_loongarch_64.ad | 250 + + .../loongarch/globalDefinitions_loongarch.hpp | 58 + + .../cpu/loongarch/globals_loongarch.hpp | 125 + + .../cpu/loongarch/icBuffer_loongarch.cpp | 82 + + .../cpu/loongarch/icache_loongarch.cpp | 42 + + .../cpu/loongarch/icache_loongarch.hpp | 41 + + .../cpu/loongarch/interp_masm_loongarch.hpp | 272 + + .../loongarch/interp_masm_loongarch_64.cpp | 1965 ++ + .../cpu/loongarch/interpreterRT_loongarch.hpp | 62 + + .../loongarch/interpreterRT_loongarch_64.cpp | 264 + + .../loongarch/javaFrameAnchor_loongarch.hpp | 86 + + .../jniFastGetField_loongarch_64.cpp | 179 + + .../cpu/loongarch/jniTypes_loongarch.hpp | 143 + + .../jvmciCodeInstaller_loongarch.cpp | 194 + + src/hotspot/cpu/loongarch/loongarch.ad | 25 + + src/hotspot/cpu/loongarch/loongarch_64.ad | 15888 ++++++++++++++++ + .../loongarch/macroAssembler_loongarch.cpp | 4242 +++++ + .../loongarch/macroAssembler_loongarch.hpp | 809 + + .../macroAssembler_loongarch.inline.hpp | 937 + + .../macroAssembler_loongarch_chacha.cpp | 86 + + .../macroAssembler_loongarch_trig.cpp | 1626 ++ + .../cpu/loongarch/matcher_loongarch.hpp | 181 + + .../cpu/loongarch/methodHandles_loongarch.cpp | 568 + + .../cpu/loongarch/methodHandles_loongarch.hpp | 65 + + .../cpu/loongarch/nativeInst_loongarch.cpp | 537 + + .../cpu/loongarch/nativeInst_loongarch.hpp | 595 + + .../cpu/loongarch/registerMap_loongarch.hpp | 59 + + .../cpu/loongarch/register_loongarch.cpp | 61 + + .../cpu/loongarch/register_loongarch.hpp | 479 + + .../cpu/loongarch/relocInfo_loongarch.cpp | 133 + + .../cpu/loongarch/relocInfo_loongarch.hpp | 44 + + .../loongarch/sharedRuntime_loongarch_64.cpp | 2979 +++ + .../smallRegisterMap_loongarch.inline.hpp | 88 + + ...stackChunkFrameStream_loongarch.inline.hpp | 142 + + .../stackChunkOop_loongarch.inline.hpp | 43 + + .../loongarch/stubGenerator_loongarch_64.cpp | 5721 ++++++ + .../cpu/loongarch/stubRoutines_loongarch.hpp | 118 + + .../loongarch/stubRoutines_loongarch_64.cpp | 196 + + ...templateInterpreterGenerator_loongarch.cpp | 2106 ++ + .../cpu/loongarch/templateTable_loongarch.hpp | 43 + + .../loongarch/templateTable_loongarch_64.cpp | 4007 ++++ + .../loongarch/upcallLinker_loongarch_64.cpp | 351 + + .../cpu/loongarch/vmStructs_loongarch.hpp | 61 + + .../cpu/loongarch/vm_version_loongarch.cpp | 511 + + .../cpu/loongarch/vm_version_loongarch.hpp | 308 + + src/hotspot/cpu/loongarch/vmreg_loongarch.cpp | 54 + + src/hotspot/cpu/loongarch/vmreg_loongarch.hpp | 58 + + .../cpu/loongarch/vmreg_loongarch.inline.hpp | 38 + + .../cpu/loongarch/vmstorage_loongarch.hpp | 87 + + .../loongarch/vtableStubs_loongarch_64.cpp | 312 + + src/hotspot/os/linux/os_linux.cpp | 54 +- + src/hotspot/os/linux/os_linux.hpp | 8 + + .../os/linux/systemMemoryBarrier_linux.cpp | 8 + + .../assembler_linux_loongarch.cpp | 24 + + .../atomic_linux_loongarch.hpp | 499 + + .../copy_linux_loongarch.inline.hpp | 145 + + .../gc/x/xSyscall_linux_loongarch.hpp | 41 + + .../gc/z/zSyscall_linux_loongarch.hpp | 41 + + .../globals_linux_loongarch.hpp | 43 + + .../javaThread_linux_loongarch.cpp | 105 + + .../javaThread_linux_loongarch.hpp | 66 + + .../os_cpu/linux_loongarch/linux_loongarch.s | 25 + + .../orderAccess_linux_loongarch.hpp | 50 + + .../linux_loongarch/os_linux_loongarch.cpp | 474 + + .../os_linux_loongarch.inline.hpp | 29 + + .../prefetch_linux_loongarch.inline.hpp | 56 + + .../safefetch_linux_loongarch64.S | 56 + + .../vmStructs_linux_loongarch.hpp | 55 + + .../vm_version_linux_loongarch.cpp | 95 + + src/hotspot/share/adlc/formssel.cpp | 7 + + src/hotspot/share/c1/c1_Compiler.cpp | 8 +- + src/hotspot/share/c1/c1_LIR.cpp | 21 +- + src/hotspot/share/c1/c1_LIR.hpp | 25 +- + src/hotspot/share/c1/c1_LinearScan.cpp | 30 +- + src/hotspot/share/code/vtableStubs.cpp | 10 + + src/hotspot/share/gc/g1/g1Arguments.cpp | 20 + + .../gc/g1/g1ParScanThreadState.inline.hpp | 9 + + .../share/gc/parallel/parallelArguments.cpp | 12 + + .../share/gc/shared/barrierSetNMethod.cpp | 8 +- + .../share/gc/shared/c2/barrierSetC2.cpp | 15 + + .../gc/shenandoah/shenandoahArguments.cpp | 8 +- + src/hotspot/share/gc/z/c1/zBarrierSetC1.cpp | 17 + + .../share/gc/z/zStoreBarrierBuffer.hpp | 10 +- + .../share/interpreter/interpreterRuntime.cpp | 8 +- + .../share/interpreter/interpreterRuntime.hpp | 8 +- + .../templateInterpreterGenerator.hpp | 10 +- + .../share/jfr/utilities/jfrBigEndian.hpp | 8 +- + src/hotspot/share/jvmci/vmStructs_jvmci.cpp | 17 + + src/hotspot/share/memory/metaspace.cpp | 15 +- + .../share/oops/stackChunkOop.inline.hpp | 10 +- + src/hotspot/share/opto/classes.hpp | 7 + + src/hotspot/share/opto/compile.cpp | 7 + + src/hotspot/share/opto/memnode.cpp | 7 + + src/hotspot/share/opto/memnode.hpp | 14 + + src/hotspot/share/opto/output.cpp | 22 + + src/hotspot/share/runtime/arguments.cpp | 10 +- + src/hotspot/share/runtime/continuation.cpp | 8 +- + .../share/runtime/continuationFreezeThaw.cpp | 16 +- + .../share/runtime/javaThread.inline.hpp | 10 +- + src/hotspot/share/runtime/objectMonitor.cpp | 10 + + src/hotspot/share/runtime/os.cpp | 9 +- + src/hotspot/share/runtime/sharedRuntime.cpp | 8 +- + .../share/runtime/sharedRuntimeTrig.cpp | 16 + + src/hotspot/share/runtime/synchronizer.cpp | 8 +- + src/hotspot/share/runtime/vmStructs.cpp | 7 + + src/hotspot/share/utilities/macros.hpp | 18 + + .../classes/jdk/internal/foreign/CABI.java | 13 +- + .../internal/foreign/abi/AbstractLinker.java | 8 + + .../jdk/internal/foreign/abi/SharedUtils.java | 8 + + .../loongarch64/LoongArch64Architecture.java | 179 + + .../linux/LinuxLoongArch64CallArranger.java | 472 + + .../linux/LinuxLoongArch64Linker.java | 65 + + .../abi/loongarch64/linux/TypeClass.java | 217 + + .../jdk/internal/util/Architecture.java | 8 + + .../internal/util/PlatformProps.java.template | 8 + + .../native/libsaproc/LinuxDebuggerLocal.cpp | 28 +- + .../linux/native/libsaproc/libproc.h | 9 +- + .../linux/native/libsaproc/ps_proc.c | 8 +- + .../classes/sun/jvm/hotspot/HotSpotAgent.java | 9 + + .../MachineDescriptionLOONGARCH64.java | 41 + + .../debugger/linux/LinuxCDebugger.java | 17 +- + .../linux/LinuxThreadContextFactory.java | 11 +- + .../loongarch64/LinuxLOONGARCH64CFrame.java | 92 + + .../LinuxLOONGARCH64ThreadContext.java | 47 + + .../loongarch64/LOONGARCH64ThreadContext.java | 128 + + .../hotspot/debugger/posix/elf/ELFHeader.java | 8 + + .../debugger/remote/RemoteDebuggerClient.java | 11 + + .../loongarch64/RemoteLOONGARCH64Thread.java | 54 + + .../RemoteLOONGARCH64ThreadContext.java | 51 + + .../RemoteLOONGARCH64ThreadFactory.java | 45 + + .../sun/jvm/hotspot/runtime/Threads.java | 9 + + .../LinuxLOONGARCH64JavaThreadPDAccess.java | 139 + + .../LOONGARCH64CurrentFrameGuess.java | 250 + + .../runtime/loongarch64/LOONGARCH64Frame.java | 540 + + .../LOONGARCH64JavaCallWrapper.java | 59 + + .../loongarch64/LOONGARCH64RegisterMap.java | 52 + + .../jvm/hotspot/utilities/PlatformInfo.java | 12 +- + ...LoongArch64HotSpotJVMCIBackendFactory.java | 142 + + .../LoongArch64HotSpotRegisterConfig.java | 297 + + .../LoongArch64HotSpotVMConfig.java | 79 + + .../ci/hotspot/loongarch64/package-info.java | 28 + + .../jdk/vm/ci/loongarch64/LoongArch64.java | 251 + + .../vm/ci/loongarch64/LoongArch64Kind.java | 163 + + .../jdk/vm/ci/loongarch64/package-info.java | 28 + + .../share/classes/module-info.java | 7 + + src/utils/hsdis/binutils/hsdis-binutils.c | 9 + + .../arguments/TestCodeEntryAlignment.java | 8 +- + .../arraycopy/stress/TestStressArrayCopy.java | 14 + + test/hotspot/jtreg/compiler/c2/TestBit.java | 8 +- + .../compiler/c2/irTests/CmpUWithZero.java | 8 +- + .../irTests/TestAutoVecCountingDownLoop.java | 8 +- + .../jtreg/compiler/c2/irTests/TestIRAbs.java | 8 +- + .../c2/irTests/TestVectorizationNotRun.java | 8 +- + .../irTests/TestVectorizeTypeConversion.java | 8 +- + .../irTests/TestVectorizeURShiftSubword.java | 8 +- + .../TestAESIntrinsicsOnSupportedConfig.java | 8 +- + .../TestAESIntrinsicsOnUnsupportedConfig.java | 8 +- + .../intrinsics/TestCompareUnsigned.java | 9 +- + .../intrinsics/TestDoubleIsFinite.java | 8 +- + .../intrinsics/TestDoubleIsInfinite.java | 8 +- + .../intrinsics/TestFloatIsFinite.java | 8 +- + .../intrinsics/TestFloatIsInfinite.java | 8 +- + .../intrinsics/TestIntegerUnsignedDivMod.java | 8 +- + .../intrinsics/TestLongUnsignedDivMod.java | 8 +- + .../intrinsics/chacha/TestChaCha20.java | 12 + + .../float16/Binary16Conversion.java | 8 +- + .../float16/Binary16ConversionNaN.java | 8 +- + .../float16/TestAllFloat16ToFloat.java | 8 +- + .../float16/TestConstFloat16ToFloat.java | 8 +- + .../testcases/GenericTestCaseForOtherCPU.java | 13 +- + .../intrinsics/string/TestCountPositives.java | 12 +- + .../TestStringCompareToDifferentLength.java | 8 +- + .../vm/ci/code/test/CodeInstallationTest.java | 11 + + .../jdk/vm/ci/code/test/DataPatchTest.java | 11 +- + .../code/test/InterpreterFrameSizeTest.java | 11 +- + .../code/test/MaxOopMapStackOffsetTest.java | 11 +- + .../jdk/vm/ci/code/test/NativeCallTest.java | 11 +- + .../code/test/SimpleCodeInstallationTest.java | 11 +- + .../vm/ci/code/test/SimpleDebugInfoTest.java | 11 +- + .../code/test/VirtualObjectDebugInfoTest.java | 11 +- + .../loongarch64/LoongArch64TestAssembler.java | 568 + + .../compiler/lib/ir_framework/IRNode.java | 10 +- + .../loopopts/superword/ReductionPerf.java | 8 +- + .../TestRangeCheckHoistingScaledIV.java | 8 +- + .../runtime/TestConstantsInError.java | 14 +- + .../sharedstubs/SharedStubToInterpTest.java | 8 +- + .../sha/predicate/IntrinsicPredicates.java | 17 +- + .../compiler/vectorapi/TestVectorTest.java | 9 +- + .../VectorLogicalOpIdentityTest.java | 8 +- + .../vectorapi/VectorReverseBytesTest.java | 8 +- + .../vectorization/TestAutoVecIntMinMax.java | 8 +- + .../TestBufferVectorization.java | 8 +- + .../TestFloatConversionsVector.java | 8 +- + .../vectorization/TestPopulateIndex.java | 9 +- + .../vectorization/TestReverseBytes.java | 9 +- + .../vectorization/TestSignumVector.java | 8 +- + .../runner/ArrayIndexFillTest.java | 8 +- + .../runner/ArrayInvariantFillTest.java | 8 +- + .../runner/ArrayShiftOpTest.java | 8 +- + .../runner/BasicDoubleOpTest.java | 8 +- + .../runner/BasicFloatOpTest.java | 8 +- + .../vectorization/runner/BasicLongOpTest.java | 8 +- + .../runner/LoopArrayIndexComputeTest.java | 8 +- + .../runner/LoopReductionOpTest.java | 8 +- + .../compiler/TestLinkToNativeRBP.java | 8 +- + .../jtreg/loongson/25064/NUMAHelper.java | 100 + + .../loongson/25064/TestUseNUMADefault.java | 152 + + .../loongson/25064/TestUseNUMADisabled.java | 94 + + .../loongson/25064/TestUseNUMAEnabled.java | 165 + + .../jtreg/loongson/25443/Test25443.java | 58 + + .../jtreg/loongson/26733/Test26733.java | 570 + + .../jtreg/loongson/30358/MEMBARType.java | 38 + + .../jtreg/loongson/30358/TEST.properties | 25 + + .../jtreg/loongson/30358/TestLoadLoad.java | 129 + + .../30358/TestNewObjectWithFinal.java | 247 + + .../jtreg/loongson/30358/TestVolatile.java | 358 + + .../hotspot/jtreg/loongson/7432/Test7423.java | 61 + + .../ReservedStack/ReservedStackTest.java | 8 +- + .../jtreg/runtime/os/TestTracePageSizes.java | 8 +- + .../MyPackage/ASGCTBaseTest.java | 8 +- + .../sa/TestJhsdbJstackLineNumbers.java | 8 +- + .../ir_framework/tests/TestIRMatching.java | 8 +- + .../nsk/share/jdi/ArgumentHandler.java | 178 +- + .../TestLoongArch64CallArranger.java | 521 + + .../platform/PlatformLayouts.java | 59 + + .../ConcurrentHashMap/MapLoops.java | 8 +- + .../jdk/jfr/event/os/TestCPUInformation.java | 10 +- + .../nameservice/simple/DefaultCaching.java | 11 +- + ...stMutuallyExclusivePlatformPredicates.java | 8 +- + test/lib/jdk/test/lib/Platform.java | 10 + + .../org/openjdk/bench/loongarch/C2Memory.java | 67 + + .../bench/loongarch/MisAlignVector.java | 63 + + 301 files changed, 79758 insertions(+), 219 deletions(-) + create mode 100644 src/hotspot/cpu/loongarch/abstractInterpreter_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/assembler_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/assembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/assembler_loongarch.inline.hpp + create mode 100644 src/hotspot/cpu/loongarch/bytes_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/c1_CodeStubs_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/c1_Defs_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/c1_FpuStackSim_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/c1_FpuStackSim_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/c1_FrameMap_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/c1_FrameMap_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/c1_LIRAssembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/c1_LIRAssembler_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/c1_LIRGenerator_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/c1_LIR_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/c1_LinearScan_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/c1_LinearScan_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/c1_MacroAssembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/c1_MacroAssembler_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/c1_Runtime1_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/c1_globals_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/c2_CodeStubs_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/c2_MacroAssembler_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/c2_MacroAssembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/c2_globals_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/c2_init_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/codeBuffer_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/codeBuffer_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/compiledIC_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/continuationEntry_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/continuationEntry_loongarch.inline.hpp + create mode 100644 src/hotspot/cpu/loongarch/continuationFreezeThaw_loongarch.inline.hpp + create mode 100644 src/hotspot/cpu/loongarch/continuationHelper_loongarch.inline.hpp + create mode 100644 src/hotspot/cpu/loongarch/copy_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/copy_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/disassembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/downcallLinker_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/foreignGlobals_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/foreignGlobals_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/frame_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/frame_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/frame_loongarch.inline.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/g1/g1BarrierSetAssembler_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/gc/g1/g1BarrierSetAssembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/g1/g1Globals_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/shared/barrierSetAssembler_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/gc/shared/barrierSetAssembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/shared/barrierSetNMethod_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/gc/shared/cardTableBarrierSetAssembler_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/gc/shared/cardTableBarrierSetAssembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/shared/modRefBarrierSetAssembler_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/gc/shared/modRefBarrierSetAssembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/shenandoah/c1/shenandoahBarrierSetC1_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/gc/shenandoah/shenandoahBarrierSetAssembler_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/gc/shenandoah/shenandoahBarrierSetAssembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/shenandoah/shenandoah_loongarch_64.ad + create mode 100644 src/hotspot/cpu/loongarch/gc/x/xBarrierSetAssembler_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/gc/x/xBarrierSetAssembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/x/xGlobals_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/gc/x/xGlobals_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/x/x_loongarch_64.ad + create mode 100644 src/hotspot/cpu/loongarch/gc/z/zAddress_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/gc/z/zAddress_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/z/zAddress_loongarch.inline.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/z/zBarrierSetAssembler_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/gc/z/zBarrierSetAssembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/z/zGlobals_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/gc/z/z_loongarch_64.ad + create mode 100644 src/hotspot/cpu/loongarch/globalDefinitions_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/globals_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/icBuffer_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/icache_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/icache_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/interp_masm_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/interp_masm_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/interpreterRT_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/interpreterRT_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/javaFrameAnchor_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/jniFastGetField_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/jniTypes_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/jvmciCodeInstaller_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/loongarch.ad + create mode 100644 src/hotspot/cpu/loongarch/loongarch_64.ad + create mode 100644 src/hotspot/cpu/loongarch/macroAssembler_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/macroAssembler_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/macroAssembler_loongarch.inline.hpp + create mode 100644 src/hotspot/cpu/loongarch/macroAssembler_loongarch_chacha.cpp + create mode 100644 src/hotspot/cpu/loongarch/macroAssembler_loongarch_trig.cpp + create mode 100644 src/hotspot/cpu/loongarch/matcher_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/methodHandles_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/methodHandles_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/nativeInst_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/nativeInst_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/registerMap_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/register_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/register_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/relocInfo_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/relocInfo_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/sharedRuntime_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/smallRegisterMap_loongarch.inline.hpp + create mode 100644 src/hotspot/cpu/loongarch/stackChunkFrameStream_loongarch.inline.hpp + create mode 100644 src/hotspot/cpu/loongarch/stackChunkOop_loongarch.inline.hpp + create mode 100644 src/hotspot/cpu/loongarch/stubGenerator_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/stubRoutines_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/stubRoutines_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/templateInterpreterGenerator_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/templateTable_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/templateTable_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/upcallLinker_loongarch_64.cpp + create mode 100644 src/hotspot/cpu/loongarch/vmStructs_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/vm_version_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/vm_version_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/vmreg_loongarch.cpp + create mode 100644 src/hotspot/cpu/loongarch/vmreg_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/vmreg_loongarch.inline.hpp + create mode 100644 src/hotspot/cpu/loongarch/vmstorage_loongarch.hpp + create mode 100644 src/hotspot/cpu/loongarch/vtableStubs_loongarch_64.cpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/assembler_linux_loongarch.cpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/atomic_linux_loongarch.hpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/copy_linux_loongarch.inline.hpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/gc/x/xSyscall_linux_loongarch.hpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/gc/z/zSyscall_linux_loongarch.hpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/globals_linux_loongarch.hpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/javaThread_linux_loongarch.cpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/javaThread_linux_loongarch.hpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/linux_loongarch.s + create mode 100644 src/hotspot/os_cpu/linux_loongarch/orderAccess_linux_loongarch.hpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/os_linux_loongarch.cpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/os_linux_loongarch.inline.hpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/prefetch_linux_loongarch.inline.hpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/safefetch_linux_loongarch64.S + create mode 100644 src/hotspot/os_cpu/linux_loongarch/vmStructs_linux_loongarch.hpp + create mode 100644 src/hotspot/os_cpu/linux_loongarch/vm_version_linux_loongarch.cpp + create mode 100644 src/java.base/share/classes/jdk/internal/foreign/abi/loongarch64/LoongArch64Architecture.java + create mode 100644 src/java.base/share/classes/jdk/internal/foreign/abi/loongarch64/linux/LinuxLoongArch64CallArranger.java + create mode 100644 src/java.base/share/classes/jdk/internal/foreign/abi/loongarch64/linux/LinuxLoongArch64Linker.java + create mode 100644 src/java.base/share/classes/jdk/internal/foreign/abi/loongarch64/linux/TypeClass.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/MachineDescriptionLOONGARCH64.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/loongarch64/LinuxLOONGARCH64CFrame.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/loongarch64/LinuxLOONGARCH64ThreadContext.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/loongarch64/LOONGARCH64ThreadContext.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/loongarch64/RemoteLOONGARCH64Thread.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/loongarch64/RemoteLOONGARCH64ThreadContext.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/loongarch64/RemoteLOONGARCH64ThreadFactory.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/linux_loongarch64/LinuxLOONGARCH64JavaThreadPDAccess.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/loongarch64/LOONGARCH64CurrentFrameGuess.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/loongarch64/LOONGARCH64Frame.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/loongarch64/LOONGARCH64JavaCallWrapper.java + create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/loongarch64/LOONGARCH64RegisterMap.java + create mode 100644 src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/loongarch64/LoongArch64HotSpotJVMCIBackendFactory.java + create mode 100644 src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/loongarch64/LoongArch64HotSpotRegisterConfig.java + create mode 100644 src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/loongarch64/LoongArch64HotSpotVMConfig.java + create mode 100644 src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/hotspot/loongarch64/package-info.java + create mode 100644 src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/loongarch64/LoongArch64.java + create mode 100644 src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/loongarch64/LoongArch64Kind.java + create mode 100644 src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/loongarch64/package-info.java + create mode 100644 test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/loongarch64/LoongArch64TestAssembler.java + create mode 100644 test/hotspot/jtreg/loongson/25064/NUMAHelper.java + create mode 100644 test/hotspot/jtreg/loongson/25064/TestUseNUMADefault.java + create mode 100644 test/hotspot/jtreg/loongson/25064/TestUseNUMADisabled.java + create mode 100644 test/hotspot/jtreg/loongson/25064/TestUseNUMAEnabled.java + create mode 100644 test/hotspot/jtreg/loongson/25443/Test25443.java + create mode 100644 test/hotspot/jtreg/loongson/26733/Test26733.java + create mode 100644 test/hotspot/jtreg/loongson/30358/MEMBARType.java + create mode 100644 test/hotspot/jtreg/loongson/30358/TEST.properties + create mode 100644 test/hotspot/jtreg/loongson/30358/TestLoadLoad.java + create mode 100644 test/hotspot/jtreg/loongson/30358/TestNewObjectWithFinal.java + create mode 100644 test/hotspot/jtreg/loongson/30358/TestVolatile.java + create mode 100644 test/hotspot/jtreg/loongson/7432/Test7423.java + create mode 100644 test/jdk/java/foreign/callarranger/TestLoongArch64CallArranger.java + create mode 100644 test/micro/org/openjdk/bench/loongarch/C2Memory.java + create mode 100644 test/micro/org/openjdk/bench/loongarch/MisAlignVector.java diff --git a/make/autoconf/jvm-features.m4 b/make/autoconf/jvm-features.m4 index 288019848..c37c5c274 100644 @@ -70749,7 +71224,7 @@ index 000000000..ab1202183 + return icache_line_size; +} diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp -index 7cb862d7c..21093e523 100644 +index 5ebd57fb3..f74969e66 100644 --- a/src/hotspot/os/linux/os_linux.cpp +++ b/src/hotspot/os/linux/os_linux.cpp @@ -23,6 +23,12 @@ @@ -70765,7 +71240,7 @@ index 7cb862d7c..21093e523 100644 // no precompiled headers #include "classfile/vmSymbols.hpp" #include "code/icBuffer.hpp" -@@ -2200,6 +2206,12 @@ bool os::Linux::query_process_memory_info(os::Linux::meminfo_t* info) { +@@ -2236,6 +2242,12 @@ bool os::Linux::query_process_memory_info(os::Linux::meminfo_t* info) { return false; } @@ -70778,7 +71253,7 @@ index 7cb862d7c..21093e523 100644 #ifdef __GLIBC__ // For Glibc, print a one-liner with the malloc tunables. // Most important and popular is MALLOC_ARENA_MAX, but we are -@@ -2416,7 +2428,7 @@ void os::print_memory_info(outputStream* st) { +@@ -2452,7 +2464,7 @@ void os::print_memory_info(outputStream* st) { // before "flags" so if we find a second "model name", then the // "flags" field is considered missing. static bool print_model_name_and_flags(outputStream* st, char* buf, size_t buflen) { @@ -70787,7 +71262,7 @@ index 7cb862d7c..21093e523 100644 // Other platforms have less repetitive cpuinfo files FILE *fp = os::fopen("/proc/cpuinfo", "r"); if (fp) { -@@ -2528,7 +2540,7 @@ void os::jfr_report_memory_info() { +@@ -2564,7 +2576,7 @@ void os::jfr_report_memory_info() { #endif // INCLUDE_JFR @@ -70796,7 +71271,7 @@ index 7cb862d7c..21093e523 100644 const char* search_string = "model name"; #elif defined(M68K) const char* search_string = "CPU"; -@@ -4531,6 +4543,44 @@ void os::Linux::numa_init() { +@@ -4567,6 +4579,44 @@ void os::Linux::numa_init() { // If there's only one node (they start from 0) or if the process // is bound explicitly to a single node using membind, disable NUMA UseNUMA = false; @@ -71994,10 +72469,10 @@ index 000000000..2d096943a +#endif // OS_CPU_LINUX_LOONGARCH_ORDERACCESS_LINUX_LOONGARCH_HPP diff --git a/src/hotspot/os_cpu/linux_loongarch/os_linux_loongarch.cpp b/src/hotspot/os_cpu/linux_loongarch/os_linux_loongarch.cpp new file mode 100644 -index 000000000..31bfcba8d +index 000000000..304ceb7b3 --- /dev/null +++ b/src/hotspot/os_cpu/linux_loongarch/os_linux_loongarch.cpp -@@ -0,0 +1,491 @@ +@@ -0,0 +1,474 @@ +/* + * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2023, Loongson Technology. All rights reserved. @@ -72458,23 +72933,6 @@ index 000000000..31bfcba8d + st->cr(); +} + -+void os::print_tos_pc(outputStream *st, const void *context) { -+ if (context == nullptr) return; -+ -+ const ucontext_t* uc = (const ucontext_t*)context; -+ -+ address sp = (address)os::Linux::ucontext_get_sp(uc); -+ print_tos(st, sp); -+ st->cr(); -+ -+ // Note: it may be unsafe to inspect memory near pc. For example, pc may -+ // point to garbage if entry point in an nmethod is corrupted. Leave -+ // this at the end, and hope for the best. -+ address pc = os::fetch_frame_from_context(uc).pc(); -+ print_instructions(st, pc); -+ st->cr(); -+} -+ +void os::setup_fpu() { + // no use for LA +} @@ -73964,7 +74422,7 @@ index ee0f754b8..e29e71641 100644 assert(owner_raw() != current, "invariant"); assert(_Responsible != current, "invariant"); diff --git a/src/hotspot/share/runtime/os.cpp b/src/hotspot/share/runtime/os.cpp -index cd0709a7b..0c40c2730 100644 +index 286a148ac..17c94339a 100644 --- a/src/hotspot/share/runtime/os.cpp +++ b/src/hotspot/share/runtime/os.cpp @@ -22,6 +22,12 @@ @@ -73980,7 +74438,7 @@ index cd0709a7b..0c40c2730 100644 #include "precompiled.hpp" #include "classfile/javaClasses.hpp" #include "classfile/moduleEntry.hpp" -@@ -1311,7 +1317,8 @@ bool os::is_first_C_frame(frame* fr) { +@@ -1331,7 +1337,8 @@ bool os::is_first_C_frame(frame* fr) { if ((uintptr_t)fr->sender_sp() == (uintptr_t)-1 || is_pointer_bad(fr->sender_sp())) return true; uintptr_t old_fp = (uintptr_t)fr->link_or_null(); @@ -79788,7 +80246,7 @@ index 000000000..4c7686845 + +} diff --git a/test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java b/test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java -index e9d84883f..f4cd7ec9d 100644 +index 8eb1af01d..151c422f9 100644 --- a/test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java +++ b/test/hotspot/jtreg/compiler/lib/ir_framework/IRNode.java @@ -21,6 +21,12 @@ @@ -80237,10 +80695,10 @@ index bf6a10b85..b97c0461e 100644 * @run driver compiler.vectorization.TestSignumVector */ diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayIndexFillTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayIndexFillTest.java -index a4eca0fe8..de44f6052 100644 +index 5c9fc7d4f..ea6ccc8df 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayIndexFillTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayIndexFillTest.java -@@ -21,6 +21,12 @@ +@@ -22,6 +22,12 @@ * questions. */ @@ -80253,7 +80711,7 @@ index a4eca0fe8..de44f6052 100644 /* * @test * @summary Vectorization test on array index fill -@@ -35,7 +41,7 @@ +@@ -36,7 +42,7 @@ * -XX:+WhiteBoxAPI * compiler.vectorization.runner.ArrayIndexFillTest * @@ -80289,10 +80747,10 @@ index 2e7302bba..964c03955 100644 */ diff --git a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java -index eea79ac4c..526aec568 100644 +index 44f9286c6..bf90e9ef7 100644 --- a/test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java +++ b/test/hotspot/jtreg/compiler/vectorization/runner/ArrayShiftOpTest.java -@@ -21,6 +21,12 @@ +@@ -22,6 +22,12 @@ * questions. */ @@ -80305,7 +80763,7 @@ index eea79ac4c..526aec568 100644 /* * @test * @bug 8183390 8332905 -@@ -36,7 +42,7 @@ +@@ -37,7 +43,7 @@ * -XX:+WhiteBoxAPI * compiler.vectorization.runner.ArrayShiftOpTest * @@ -83615,7 +84073,7 @@ index e78e200ac..0a6abfd08 100644 OS("isAix", "isLinux", "isOSX", "isWindows"), VM_TYPE("isClient", "isServer", "isMinimal", "isZero", "isEmbedded"), diff --git a/test/lib/jdk/test/lib/Platform.java b/test/lib/jdk/test/lib/Platform.java -index e2451fc83..be0ecfd98 100644 +index 4a4b164cd..ad6b11c3e 100644 --- a/test/lib/jdk/test/lib/Platform.java +++ b/test/lib/jdk/test/lib/Platform.java @@ -21,6 +21,12 @@ @@ -83631,7 +84089,7 @@ index e2451fc83..be0ecfd98 100644 package jdk.test.lib; import java.io.BufferedReader; -@@ -234,6 +240,10 @@ public class Platform { +@@ -235,6 +241,10 @@ public class Platform { return isArch("(i386)|(x86(?!_64))"); } @@ -83784,3 +84242,6 @@ index 000000000..1ee6649cd + } + } +} +-- +2.43.0 + diff --git a/openjdk-21.spec b/openjdk-21.spec index ed29cd7472f5b938abf2375d22c8750cd926337e..5f6e6d4997cc545704b720c3ce53512779bae0e6 100644 --- a/openjdk-21.spec +++ b/openjdk-21.spec @@ -899,7 +899,7 @@ Name: java-21-%{origin} Version: %{newjavaver}.%{buildver} # This package needs `.rolling` as part of Release so as to not conflict on install with # java-X-openjdk. I.e. when latest rolling release is also an LTS release packaged as -Release: 1 +Release: 2 # java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons # and this change was brought into RHEL-4. java-1.5.0-ibm packages @@ -1901,6 +1901,10 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect %changelog +* Wed Apr 30 2025 songliyang - 1:21.0.7.6-2 +- update LoongArch64 port to 21.0.7 +- fix changelog date error + * Tue Apr 29 2025 wulongyao - 1:21.0.7.6-1 - add 8352716-tz-Update-Timezone-Data-to-2025b.patch @@ -2055,7 +2059,7 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect * Wed Aug 7 2024 Autistic_boyya - 1:21.0.4.7-3 - delete rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch -* Mon Jul 29 2024 zhaosaisai - 1:21.0.4.7-2 +* Fri Aug 2 2024 zhaosaisai - 1:21.0.4.7-2 - change boot jdk to itself * Thu Aug 1 2024 aoqi - 1:21.0.4.7-1