diff --git a/DependencyContext-mark_dependent_nmethods-crash-in-Dynamic-cds-mode.patch b/DependencyContext-mark_dependent_nmethods-crash-in-Dynamic-cds-mode.patch new file mode 100644 index 0000000000000000000000000000000000000000..a0a9115b822c1d8a81b356121410107277c8f207 --- /dev/null +++ b/DependencyContext-mark_dependent_nmethods-crash-in-Dynamic-cds-mode.patch @@ -0,0 +1,29 @@ +DependencyContext::mark_dependent_nmethods crash in Dynamic cds mode +--- + hotspot/src/share/vm/oops/instanceKlass.cpp | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/hotspot/src/share/vm/oops/instanceKlass.cpp b/hotspot/src/share/vm/oops/instanceKlass.cpp +index df44e5319..833cf9afe 100644 +--- a/hotspot/src/share/vm/oops/instanceKlass.cpp ++++ b/hotspot/src/share/vm/oops/instanceKlass.cpp +@@ -2462,8 +2462,6 @@ void InstanceKlass::remove_unshareable_info() { + + constants()->remove_unshareable_info(); + +- assert(_dep_context == DependencyContext::EMPTY, "dependency context is not shareable"); +- + for (int i = 0; i < methods()->length(); i++) { + Method* m = methods()->at(i); + m->remove_unshareable_info(); +@@ -2487,6 +2485,7 @@ void InstanceKlass::remove_unshareable_info() { + // do array classes also. + array_klasses_do(remove_unshareable_in_class); + // These are not allocated from metaspace. They are safe to set to NULL. ++ _dep_context = DependencyContext::EMPTY; + _member_names = NULL; + _osr_nmethods_head = NULL; + _init_thread = NULL; +-- +2.22.0 + diff --git a/LoongArch64-support.patch b/LoongArch64-support.patch index e88f15f1da195c1ccfdee460aaaba4e26bb9f605..03840e251187f51876b13e139efc63db5c015a80 100644 --- a/LoongArch64-support.patch +++ b/LoongArch64-support.patch @@ -78,7 +78,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo SYSROOT_LDFLAGS SYSROOT_CFLAGS RC_FLAGS -@@ -4069,6 +4072,12 @@ +@@ -4095,6 +4098,12 @@ # questions. # @@ -91,7 +91,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo # Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD. # Converts autoconf style CPU name to OpenJDK style, into # VAR_CPU, VAR_CPU_ARCH, VAR_CPU_BITS and VAR_CPU_ENDIAN. -@@ -13918,6 +13927,18 @@ +@@ -13944,6 +13953,12 @@ VAR_CPU_BITS=64 VAR_CPU_ENDIAN=big ;; @@ -101,16 +101,10 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; -+ loongarch64) -+ VAR_CPU=loongarch64 -+ VAR_CPU_ARCH=loongarch -+ VAR_CPU_BITS=64 -+ VAR_CPU_ENDIAN=little -+ ;; - *) - as_fn_error $? "unsupported cpu $build_cpu" "$LINENO" 5 - ;; -@@ -14056,6 +14077,18 @@ + loongarch64) + VAR_CPU=loongarch64 + VAR_CPU_ARCH=loongarch +@@ -14088,6 +14103,12 @@ VAR_CPU_BITS=64 VAR_CPU_ENDIAN=big ;; @@ -120,16 +114,10 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; -+ loongarch64) -+ VAR_CPU=loongarch64 -+ VAR_CPU_ARCH=loongarch -+ VAR_CPU_BITS=64 -+ VAR_CPU_ENDIAN=little -+ ;; - *) - as_fn_error $? "unsupported cpu $host_cpu" "$LINENO" 5 - ;; -@@ -14178,6 +14211,8 @@ + loongarch64) + VAR_CPU=loongarch64 + VAR_CPU_ARCH=loongarch +@@ -14216,6 +14237,8 @@ OPENJDK_TARGET_CPU_LEGACY_LIB="i386" elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then OPENJDK_TARGET_CPU_LEGACY_LIB="amd64" @@ -138,7 +126,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo fi -@@ -14211,6 +14246,9 @@ +@@ -14249,6 +14272,9 @@ elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then # On all platforms except macosx, we replace x86_64 with amd64. OPENJDK_TARGET_CPU_OSARCH="amd64" @@ -148,7 +136,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo fi -@@ -14220,6 +14258,8 @@ +@@ -14258,6 +14284,8 @@ elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then # On all platforms except macosx, we replace x86_64 with amd64. OPENJDK_TARGET_CPU_JLI="amd64" @@ -157,7 +145,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo fi # Now setup the -D flags for building libjli. OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'" -@@ -14232,6 +14272,9 @@ +@@ -14270,6 +14298,9 @@ elif test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$TOOLCHAIN_TYPE" = xclang ; then OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -stdlib=libc++ -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" fi @@ -167,7 +155,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths. -@@ -42412,6 +42455,47 @@ +@@ -42939,6 +42970,47 @@ fi @@ -231,7 +219,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo # Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD. # Converts autoconf style CPU name to OpenJDK style, into # VAR_CPU, VAR_CPU_ARCH, VAR_CPU_BITS and VAR_CPU_ENDIAN. -@@ -96,6 +102,18 @@ +@@ -96,6 +102,12 @@ VAR_CPU_BITS=64 VAR_CPU_ENDIAN=big ;; @@ -241,16 +229,10 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo + VAR_CPU_BITS=64 + VAR_CPU_ENDIAN=little + ;; -+ loongarch64) -+ VAR_CPU=loongarch64 -+ VAR_CPU_ARCH=loongarch -+ VAR_CPU_BITS=64 -+ VAR_CPU_ENDIAN=little -+ ;; - *) - AC_MSG_ERROR([unsupported cpu $1]) - ;; -@@ -283,6 +301,8 @@ + loongarch64) + VAR_CPU=loongarch64 + VAR_CPU_ARCH=loongarch +@@ -289,6 +301,8 @@ OPENJDK_TARGET_CPU_LEGACY_LIB="i386" elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then OPENJDK_TARGET_CPU_LEGACY_LIB="amd64" @@ -259,7 +241,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo fi AC_SUBST(OPENJDK_TARGET_CPU_LEGACY_LIB) -@@ -316,6 +336,9 @@ +@@ -322,6 +336,9 @@ elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then # On all platforms except macosx, we replace x86_64 with amd64. OPENJDK_TARGET_CPU_OSARCH="amd64" @@ -269,7 +251,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo fi AC_SUBST(OPENJDK_TARGET_CPU_OSARCH) -@@ -325,6 +348,8 @@ +@@ -331,6 +348,8 @@ elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then # On all platforms except macosx, we replace x86_64 with amd64. OPENJDK_TARGET_CPU_JLI="amd64" @@ -278,7 +260,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo fi # Now setup the -D flags for building libjli. OPENJDK_TARGET_CPU_JLI_CFLAGS="-DLIBARCHNAME='\"$OPENJDK_TARGET_CPU_JLI\"'" -@@ -337,6 +362,9 @@ +@@ -343,6 +362,9 @@ elif test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$TOOLCHAIN_TYPE" = xclang ; then OPENJDK_TARGET_CPU_JLI_CFLAGS="$OPENJDK_TARGET_CPU_JLI_CFLAGS -stdlib=libc++ -mmacosx-version-min=\$(MACOSX_VERSION_MIN)" fi @@ -288,7 +270,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/commo AC_SUBST(OPENJDK_TARGET_CPU_JLI_CFLAGS) # Setup OPENJDK_TARGET_OS_API_DIR, used in source paths. -@@ -550,3 +578,46 @@ +@@ -556,3 +578,46 @@ AC_MSG_ERROR([The tested endian in the target ($ENDIAN) differs from the endian expected to be found in the target ($OPENJDK_TARGET_CPU_ENDIAN)]) fi ]) @@ -423,7 +405,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp #define _LIBPROC_H_ @@ -36,7 +42,7 @@ - + #include #include -#if defined(aarch64) @@ -431,7 +413,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp #include "asm/ptrace.h" #endif -@@ -76,7 +82,12 @@ +@@ -45,7 +51,12 @@ #include #define user_regs_struct pt_regs #endif @@ -444,7 +426,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp +#if defined(aarch64) || defined(loongarch64) #define user_regs_struct user_pt_regs #endif - + diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c b/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c --- a/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c 2024-01-11 09:53:23.000000000 +0800 +++ b/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c 2023-12-20 09:23:19.684815841 +0800 @@ -461,8 +443,8 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp + #include #include "libproc.h" - -@@ -49,10 +56,18 @@ + #include "proc_service.h" +@@ -50,10 +57,18 @@ #include "sun_jvm_hotspot_debugger_sparc_SPARCThreadContext.h" #endif @@ -481,7 +463,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp static jfieldID p_ps_prochandle_ID = 0; static jfieldID threadList_ID = 0; static jfieldID loadObjectList_ID = 0; -@@ -337,7 +352,7 @@ +@@ -338,7 +353,7 @@ return (err == PS_OK)? array : 0; } @@ -490,7 +472,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_getThreadIntegerRegisterSet0 (JNIEnv *env, jobject this_obj, jint lwp_id) { -@@ -365,6 +380,12 @@ +@@ -366,6 +381,12 @@ #if defined(sparc) || defined(sparcv9) #define NPRGREG sun_jvm_hotspot_debugger_sparc_SPARCThreadContext_NPRGREG #endif @@ -503,7 +485,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp array = (*env)->NewLongArray(env, NPRGREG); CHECK_EXCEPTION_(0); -@@ -470,6 +491,55 @@ +@@ -471,6 +492,55 @@ } #endif /* aarch64 */ @@ -106150,19 +106132,15 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp // no precompiled headers #include "classfile/classLoader.hpp" #include "classfile/systemDictionary.hpp" -@@ -1969,7 +1975,11 @@ +@@ -2009,6 +2015,7 @@ {EM_ALPHA, EM_ALPHA, ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"}, {EM_MIPS_RS3_LE, EM_MIPS_RS3_LE, ELFCLASS32, ELFDATA2LSB, (char*)"MIPSel"}, {EM_MIPS, EM_MIPS, ELFCLASS32, ELFDATA2MSB, (char*)"MIPS"}, + {EM_MIPS, EM_MIPS, ELFCLASS64, ELFDATA2LSB, (char*)"MIPS64 LE"}, {EM_PARISC, EM_PARISC, ELFCLASS32, ELFDATA2MSB, (char*)"PARISC"}, -+#if defined (LOONGARCH64) -+ {EM_LOONGARCH, EM_LOONGARCH, ELFCLASS64, ELFDATA2LSB, (char*)"LOONGARCH64"}, -+#endif {EM_68K, EM_68K, ELFCLASS32, ELFDATA2MSB, (char*)"M68k"}, {EM_AARCH64, EM_AARCH64, ELFCLASS64, ELFDATA2LSB, (char*)"AARCH64"}, - }; -@@ -1984,6 +1994,8 @@ +@@ -2025,6 +2032,8 @@ static Elf32_Half running_arch_code=EM_SPARCV9; #elif (defined __sparc) && (!defined _LP64) static Elf32_Half running_arch_code=EM_SPARC; @@ -106171,20 +106149,16 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp #elif (defined __powerpc64__) static Elf32_Half running_arch_code=EM_PPC64; #elif (defined __powerpc__) -@@ -2004,9 +2016,11 @@ - static Elf32_Half running_arch_code=EM_68K; - #elif (defined AARCH64) - static Elf32_Half running_arch_code=EM_AARCH64; -+ #elif (defined LOONGARCH64) -+ static Elf32_Half running_arch_code=EM_LOONGARCH; +@@ -2049,7 +2058,7 @@ + static Elf32_Half running_arch_code=EM_LOONGARCH; #else #error Method os::dll_load requires that one of following is defined:\ -- IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, AARCH64 -+ IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, __mips64, PARISC, M68K, AARCH64 +- IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, AARCH64, LOONGARCH ++ IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, __mips64, PARISC, M68K, AARCH64, LOONGARCH #endif // Identify compatability class for VM's architecture and library's architecture -@@ -3513,7 +3527,7 @@ +@@ -3897,7 +3906,7 @@ #ifndef ZERO large_page_size = IA32_ONLY(4 * M) AMD64_ONLY(2 * M) IA64_ONLY(256 * M) SPARC_ONLY(4 * M) @@ -106193,7 +106167,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp #endif // ZERO FILE *fp = fopen("/proc/meminfo", "r"); -@@ -5120,7 +5134,12 @@ +@@ -5510,7 +5519,12 @@ Linux::fast_thread_clock_init(); // Allocate a single page and mark it as readable for safepoint polling @@ -106206,7 +106180,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp guarantee( polling_page != MAP_FAILED, "os::init_2: failed to allocate polling page" ); os::set_polling_page( polling_page ); -@@ -5155,13 +5174,20 @@ +@@ -5545,13 +5559,20 @@ // size. Add a page for compiler2 recursion in main thread. // Add in 2*BytesPerWord times page size to account for VM stack during // class initialization depending on 32 or 64 bit VM. @@ -113001,7 +112975,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp --- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp 2024-01-11 09:53:23.000000000 +0800 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp 2023-12-20 09:23:19.961479341 +0800 @@ -1329,6 +1329,9 @@ - const int obj_size = obj->size(); + const int obj_size = obj->acquire_size(); if (mark_bitmap()->mark_obj(obj, obj_size)) { _summary_data.add_obj(obj, obj_size); +#if (defined MIPS || defined LOONGARCH) && !defined ZERO @@ -113035,7 +113009,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp // Card mark if (PSScavenge::is_obj_in_young(o)) { PSScavenge::card_table()->inline_write_ref_field_gc(p, o); -@@ -102,11 +103,19 @@ +@@ -107,11 +108,19 @@ oop new_obj = NULL; @@ -113055,7 +113029,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp // The same test as "o->is_forwarded()" if (!test_mark->is_marked()) { bool new_obj_is_tenured = false; -@@ -141,6 +150,10 @@ +@@ -146,6 +155,10 @@ } } } @@ -113066,8 +113040,8 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp } } -@@ -200,6 +213,9 @@ - +@@ -206,6 +219,9 @@ + Prefetch::write(new_obj, PrefetchCopyIntervalInBytes); // Copy obj Copy::aligned_disjoint_words((HeapWord*)o, (HeapWord*)new_obj, new_obj_size); +#if (defined MIPS || defined LOONGARCH) && !defined ZERO @@ -113075,8 +113049,8 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp +#endif // Now we have to CAS in the header. - if (o->cas_forward_to(new_obj, test_mark)) { -@@ -247,6 +263,10 @@ + +@@ -265,6 +281,10 @@ // don't update this before the unallocation! new_obj = o->forwardee(); } @@ -113112,7 +113086,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp #ifndef PRODUCT // This code must come after the CAS test, or it will print incorrect // information. -- if (TraceScavenge && o->is_forwarded()) { +- if (TraceScavenge && o->is_forwarded()) { + if (TraceScavenge && m->is_marked()) { gclog_or_tty->print_cr("{%s %s " PTR_FORMAT " -> " PTR_FORMAT " (%d)}", "forwarding", @@ -114370,12 +114344,12 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp class Arena; diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotspot/src/share/vm/opto/regmask.cpp b/hotspot/src/share/vm/opto/regmask.cpp ---- a/hotspot/src/share/vm/opto/regmask.cpp 2024-01-11 09:53:23.000000000 +0800 -+++ b/hotspot/src/share/vm/opto/regmask.cpp 2023-12-20 09:23:20.021478654 +0800 +--- a/hotspot/src/share/vm/opto/regmask.cpp 2024-01-11 09:53:23.000000000 +0800 ++++ b/hotspot/src/share/vm/opto/regmask.cpp 2023-12-20 09:23:20.021478654 +0800 @@ -22,6 +22,12 @@ * */ - + +/* + * This file has been modified by Loongson Technology in 2020. These + * modifications are Copyright (c) 2015, 2020, Loongson Technology, and are made @@ -114394,7 +114368,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp +#elif defined TARGET_ARCH_MODEL_loongarch_64 +# include "adfiles/ad_loongarch_64.hpp" #endif - + #define RM_SIZE _RM_SIZE /* a constant private to the class RegMask */ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotspot/src/share/vm/opto/regmask.hpp b/hotspot/src/share/vm/opto/regmask.hpp --- a/hotspot/src/share/vm/opto/regmask.hpp 2024-01-11 09:53:23.000000000 +0800 @@ -114422,7 +114396,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp +# include "adfiles/adGlobals_loongarch_64.hpp" #endif - // Some fun naming (textual) substitutions: + diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotspot/src/share/vm/opto/runtime.cpp b/hotspot/src/share/vm/opto/runtime.cpp --- a/hotspot/src/share/vm/opto/runtime.cpp 2024-01-11 09:53:23.000000000 +0800 +++ b/hotspot/src/share/vm/opto/runtime.cpp 2023-12-20 09:23:20.021478654 +0800 @@ -114938,7 +114912,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotspot/src/share/vm/runtime/java.cpp b/hotspot/src/share/vm/runtime/java.cpp --- a/hotspot/src/share/vm/runtime/java.cpp 2024-01-11 09:53:23.000000000 +0800 +++ b/hotspot/src/share/vm/runtime/java.cpp 2023-12-20 09:23:20.041478424 +0800 -@@ -22,6 +22,12 @@ +@@ -22,6 +22,13 @@ * */ @@ -114947,11 +114921,12 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp + * modifications are Copyright (c) 2015, 2020, Loongson Technology, and are made + * available on the same license terms set forth above. + */ ++ + #include "precompiled.hpp" + #include "cds/dynamicArchive.hpp" #include "classfile/classLoader.hpp" - #include "classfile/symbolTable.hpp" -@@ -84,6 +90,12 @@ +@@ -87,6 +94,12 @@ #ifdef TARGET_ARCH_ppc # include "vm_version_ppc.hpp" #endif @@ -115337,8 +115312,8 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp + */ + #include "precompiled.hpp" + #include "cds/dynamicArchive.hpp" #include "classfile/classLoader.hpp" - #include "classfile/javaClasses.hpp" diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotspot/src/share/vm/runtime/thread.hpp b/hotspot/src/share/vm/runtime/thread.hpp --- a/hotspot/src/share/vm/runtime/thread.hpp 2024-01-11 09:53:23.000000000 +0800 +++ b/hotspot/src/share/vm/runtime/thread.hpp 2023-12-20 09:23:20.051478310 +0800 @@ -115450,9 +115425,9 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp + */ + #include "precompiled.hpp" + #include "classfile/symbolTable.hpp" #include "classfile/dictionary.hpp" - #include "classfile/javaClasses.hpp" -@@ -122,6 +128,12 @@ +@@ -124,6 +130,12 @@ #ifdef TARGET_ARCH_ppc # include "vmStructs_ppc.hpp" #endif @@ -115465,7 +115440,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp #ifdef TARGET_OS_ARCH_linux_x86 # include "vmStructs_linux_x86.hpp" #endif -@@ -149,6 +161,12 @@ +@@ -151,6 +163,12 @@ #ifdef TARGET_OS_ARCH_linux_ppc # include "vmStructs_linux_ppc.hpp" #endif @@ -115478,7 +115453,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp #ifdef TARGET_OS_ARCH_aix_ppc # include "vmStructs_aix_ppc.hpp" #endif -@@ -208,6 +226,10 @@ +@@ -210,6 +228,10 @@ # include "adfiles/adGlobals_zero.hpp" #elif defined TARGET_ARCH_MODEL_ppc_64 # include "adfiles/adGlobals_ppc_64.hpp" @@ -115904,7 +115879,7 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp +++ b/hotspot/test/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForOtherCPU.java 2023-12-20 09:23:20.114810919 +0800 @@ -34,11 +34,12 @@ public class GenericTestCaseForOtherCPU extends - SHAOptionsBase.TestCase { + DigestOptionsBase.TestCase { public GenericTestCaseForOtherCPU(String optionName) { - // Execute the test case on any CPU except SPARC and X86 + // Execute the test case on any CPU except SPARC, LoongArch64 and X86 @@ -115964,10 +115939,10 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotspot/test/runtime/Unsafe/RangeCheck.java b/hotspot/test/runtime/Unsafe/RangeCheck.java --- a/hotspot/test/runtime/Unsafe/RangeCheck.java 2024-01-11 09:53:23.000000000 +0800 +++ b/hotspot/test/runtime/Unsafe/RangeCheck.java 2023-12-20 09:23:20.154810460 +0800 -@@ -43,6 +43,7 @@ - true, +@@ -44,6 +44,7 @@ "-Xmx32m", "-XX:-TransmitErrorReport", + "-XX:-CreateCoredumpOnCrash", + "-XX:-InlineUnsafeOps", // The compiler intrinsics doesn't have the assert DummyClassWithMainRangeCheck.class.getName()); @@ -116042,30 +116017,6 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/hotsp BITNESS("is32bit", "is64bit"), OS("isAix", "isLinux", "isSolaris", "isWindows", "isOSX"), VM_TYPE("isClient", "isServer", "isGraal", "isMinimal"), -diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/jdk/make/gensrc/GensrcMisc.gmk b/jdk/make/gensrc/GensrcMisc.gmk ---- a/jdk/make/gensrc/GensrcMisc.gmk 2024-01-11 09:53:23.000000000 +0800 -+++ b/jdk/make/gensrc/GensrcMisc.gmk 2023-12-20 09:23:20.694804279 +0800 -@@ -23,6 +23,12 @@ - # questions. - # - -+# -+# This file has been modified by Loongson Technology in 2018. These -+# modifications are Copyright (c) 2018, Loongson Technology, and are made -+# available on the same license terms set forth above. -+# -+ - include ProfileNames.gmk - - ################################################################################ -@@ -39,6 +45,7 @@ - $(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \ - -e 's/@@java_version@@/$(RELEASE)/g' \ - -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \ -+ -e 's/@@loongson_runtime_name@@/$(LOONGSON_RUNTIME_NAME)/g' \ - -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \ - -e 's/@@java_profile_name@@/$(call profile_version_name, $@)/g' \ - $< > $@.tmp diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/jdk/make/Images.gmk b/jdk/make/Images.gmk --- a/jdk/make/Images.gmk 2024-01-11 09:53:23.000000000 +0800 +++ b/jdk/make/Images.gmk 2023-12-20 09:23:20.618138492 +0800 @@ -116165,9 +116116,9 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/jdk/s package sun.misc; import java.io.PrintStream; -@@ -44,6 +51,9 @@ - private static final String java_runtime_version = - "@@java_runtime_version@@"; +@@ -47,6 +54,9 @@ + private static final String company_name = + "@@company_name@@"; + private static final String loongson_runtime_name = + "@@loongson_runtime_name@@"; @@ -116175,12 +116126,12 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/jdk/s static { init(); } -@@ -103,7 +113,11 @@ +@@ -106,7 +116,11 @@ /* Second line: runtime version (ie, libraries). */ -- ps.print(java_runtime_name + " (build " + java_runtime_version); -+ ps.print(java_runtime_name); +- ps.print(java_runtime_name + " " + company_name + " " + "(build " + java_runtime_version); ++ ps.print(java_runtime_name + " " + company_name + " "); + if (loongson_runtime_name.length() > 0) { + ps.print(" ("+ loongson_runtime_name +")"); + } @@ -116347,3 +116298,26 @@ diff -Naur -x .git -x .github -x .gitattributes -x .gitignore -x .jcheck a/jdk/t osMap.put("Windows-x86-32", new String[]{ PKCS11_BASE + "/nss/lib/windows-i586/".replace('/', SEP)}); osMap.put("Windows-amd64-64", new String[]{ +--- openjdk-bak/jdk/make/gensrc/GensrcMisc.gmk 2024-05-07 14:16:26.518106671 +0800 ++++ openjdk/jdk/make/gensrc/GensrcMisc.gmk 2024-05-07 15:35:01.746736722 +0800 +@@ -23,6 +23,12 @@ + # questions. + # + ++# ++# This file has been modified by Loongson Technology in 2018. These ++# modifications are Copyright (c) 2018, Loongson Technology, and are made ++# available on the same license terms set forth above. ++# ++ + include ProfileNames.gmk + + ################################################################################ +@@ -47,6 +53,7 @@ + -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \ + -e 's/@@java_profile_name@@/$(call profile_version_name, $@)/g' \ + -e 's/@@company_name@@/$(company_name)/g' \ ++ -e 's/@@loongson_runtime_name@@/$(LOONGSON_RUNTIME_NAME)/g' \ + $< > $@.tmp + $(MV) $@.tmp $@ + diff --git a/openjdk-1.8.0.spec b/openjdk-1.8.0.spec index d05e97b19300342dbbe6e1d125163689379bc265..bcfaeda163a9b06c7ddf3199bacccd33934a3976 100644 --- a/openjdk-1.8.0.spec +++ b/openjdk-1.8.0.spec @@ -936,7 +936,7 @@ Provides: java-%{javaver}-%{origin}-accessibility%{?1} = %{epoch}:%{version}-%{r Name: java-%{javaver}-%{origin} Version: %{javaver}.%{updatever}.%{buildver} -Release: 2 +Release: 3 # 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 # also included the epoch in their virtual provides. This created a @@ -1320,7 +1320,8 @@ Patch428: 8223486-split-if-update_uses-accesses-stale-idom-dat.patch #412 Patch429: 8256488-Use-ldpq-stpq-instead-of-ld4-st4-for-small-c.patch -Patch430: 8138922-StubCodeDesc-constructor-publishes-partially-constructed.patch +Patch430: DependencyContext-mark_dependent_nmethods-crash-in-Dynamic-cds-mode.patch +Patch431: 8138922-StubCodeDesc-constructor-publishes-partially-constructed.patch ############################################# # # Upstreamable patches @@ -1964,6 +1965,7 @@ pushd %{top_level_dir_name} %patch428 -p1 %patch429 -p1 %patch430 -p1 +%patch431 -p1 %endif %ifarch loongarch64 @@ -2622,9 +2624,13 @@ cjc.mainProgram(arg) %endif %changelog -* Mon May 6 2024 neu-mobi -1:1.8.0.412-b08.2 +* Tue May 7 2024 kuenking111 -1:1.8.0.412-b08.3 +- add DependencyContext-mark_dependent_nmethods-crash-in-Dynamic-cds-mode.patch - add 8138922-StubCodeDesc-constructor-publishes-partially-constructed.patch +* Tue May 07 2024 zhangxianting -1:1.8.0.412-b08.2 +- fix LoongArch64-support.patch for prep error + * Sun Apr 28 2024 Autistic_boyya -1:1.8.0.412-b08.1 - add 8256488-Use-ldpq-stpq-instead-of-ld4-st4-for-small-c.patch