diff --git a/8264805-Backport-Ahead-of-Time-Compiler.patch b/8264805-Backport-Ahead-of-Time-Compiler.patch index ffc80334ed800f0768d01b0bdffb314198a685e7..82af69170c69aca6e5d7250486c9a9903672ce8d 100644 --- a/8264805-Backport-Ahead-of-Time-Compiler.patch +++ b/8264805-Backport-Ahead-of-Time-Compiler.patch @@ -6951,13 +6951,6 @@ diff --git a/src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.cpp b/sr index d66e9236d..5b779b4b4 100644 --- a/src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.cpp +++ b/src/hotspot/share/jfr/leakprofiler/checkpoint/rootResolver.cpp -@@ -1,5 +1,5 @@ - /* -- * Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved. -+ * Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it @@ -44,6 +44,9 @@ #include "services/management.hpp" #include "utilities/enumIterator.hpp" diff --git a/8352716-tz-Update-Timezone-Data-to-2025b.patch b/8352716-tz-Update-Timezone-Data-to-2025b.patch new file mode 100644 index 0000000000000000000000000000000000000000..d2aaa6030d30f02c1fca8981eac6f5ed4e6d2916 --- /dev/null +++ b/8352716-tz-Update-Timezone-Data-to-2025b.patch @@ -0,0 +1,243 @@ +From d6e7911fd4f410152a56d1e6e2c0b5b3d5849c79 Mon Sep 17 00:00:00 2001 +From: wulongyao +Date: Tue, 29 Apr 2025 14:06:41 +0800 +Subject: [PATCH] 8352716: (tz) Update Timezone Data to 2025b + +--- + make/data/tzdata/VERSION | 2 +- + make/data/tzdata/asia | 12 ++- + make/data/tzdata/northamerica | 9 ++ + make/data/tzdata/southamerica | 86 +++++++++++++++---- + make/data/tzdata/zone.tab | 3 +- + .../java/util/TimeZone/TimeZoneData/VERSION | 2 +- + 6 files changed, 94 insertions(+), 20 deletions(-) + +diff --git a/make/data/tzdata/VERSION b/make/data/tzdata/VERSION +index 9c056fac3..4bd54efbc 100644 +--- a/make/data/tzdata/VERSION ++++ b/make/data/tzdata/VERSION +@@ -21,4 +21,4 @@ + # or visit www.oracle.com if you need additional information or have any + # questions. + # +-tzdata2025a ++tzdata2025b +diff --git a/make/data/tzdata/asia b/make/data/tzdata/asia +index b0a6fa01d..55b13134f 100644 +--- a/make/data/tzdata/asia ++++ b/make/data/tzdata/asia +@@ -1523,6 +1523,16 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov + # (UIT No. 143 17.XI.1977) and not 23 September (UIT No. 141 13.IX.1977). + # UIT is the Operational Bulletin of International Telecommunication Union. + ++# From Roozbeh Pournader (2025-03-18): ++# ... the exact time of Iran's transition from +0400 to +0330 ... was Friday ++# 1357/8/19 AP=1978-11-10. Here's a newspaper clip from the Ettela'at ++# newspaper, dated 1357/8/14 AP=1978-11-05, translated from Persian ++# (at https://w.wiki/DUEY): ++# Following the government's decision about returning the official time ++# to the previous status, the spokesperson for the Ministry of Energy ++# announced today: At the hour 24 of Friday 19th of Aban (=1978-11-10), ++# the country's time will be pulled back half an hour. ++# + # From Roozbeh Pournader (2003-03-15): + # This is an English translation of what I just found (originally in Persian). + # The Gregorian dates in brackets are mine: +@@ -1650,7 +1660,7 @@ Rule Iran 2021 2022 - Sep 21 24:00 0 - + Zone Asia/Tehran 3:25:44 - LMT 1916 + 3:25:44 - TMT 1935 Jun 13 # Tehran Mean Time + 3:30 Iran %z 1977 Oct 20 24:00 +- 4:00 Iran %z 1979 ++ 4:00 Iran %z 1978 Nov 10 24:00 + 3:30 Iran %z + + +diff --git a/make/data/tzdata/northamerica b/make/data/tzdata/northamerica +index 0a54e63be..21f178ee8 100644 +--- a/make/data/tzdata/northamerica ++++ b/make/data/tzdata/northamerica +@@ -1634,6 +1634,15 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9 + # For more on Orillia, see: Daubs K. Bold attempt at daylight saving + # time became a comic failure in Orillia. Toronto Star 2017-07-08. + # https://www.thestar.com/news/insight/2017/07/08/bold-attempt-at-daylight-saving-time-became-a-comic-failure-in-orillia.html ++# From Paul Eggert (2025-03-20): ++# Also see the 1912-06-17 front page of The Evening Sunbeam, ++# reproduced in: Richardson M. "Daylight saving was a confusing ++# time in Orillia" in the 2025-03-15 Orillia Matters. Richardson writes, ++# "The first Sunday after the switch was made, [DST proponent and ++# Orillia mayor William Sword] Frost walked into church an hour late. ++# This became a symbol of the downfall of daylight saving in Orillia." ++# The mayor became known as "Daylight Bill". ++# https://www.orilliamatters.com/local-news/column-daylight-saving-was-a-confusing-time-in-orillia-10377529 + + # From Mark Brader (2010-03-06): + # +diff --git a/make/data/tzdata/southamerica b/make/data/tzdata/southamerica +index 0a5859600..ca3c33859 100644 +--- a/make/data/tzdata/southamerica ++++ b/make/data/tzdata/southamerica +@@ -1269,35 +1269,45 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914 + # dates to 2014. + # DST End: last Saturday of April 2014 (Sun 27 Apr 2014 03:00 UTC) + # DST Start: first Saturday of September 2014 (Sun 07 Sep 2014 04:00 UTC) +-# http://www.diariooficial.interior.gob.cl//media/2014/02/19/do-20140219.pdf ++# From Tim Parenti (2025-03-22): ++# Decreto 307 of 2014 of the Ministry of the Interior and Public Security, ++# promulgated 2014-01-30 and published 2014-02-19: ++# https://www.diariooficial.interior.gob.cl/media/2014/02/19/do-20140219.pdf#page=1 ++# https://www.bcn.cl/leychile/navegar?idNorma=1059557 + + # From Eduardo Romero Urra (2015-03-03): + # Today has been published officially that Chile will use the DST time + # permanently until March 25 of 2017 +-# http://www.diariooficial.interior.gob.cl/media/2015/03/03/1-large.jpg +-# +-# From Paul Eggert (2015-03-03): +-# For now, assume that the extension will persist indefinitely. ++# From Tim Parenti (2025-03-22): ++# Decreto 106 of 2015 of the Ministry of the Interior and Public Security, ++# promulgated 2015-01-27 and published 2015-03-03: ++# https://www.diariooficial.interior.gob.cl/media/2015/03/03/do-20150303.pdf#page=1 ++# https://www.bcn.cl/leychile/navegar?idNorma=1075157 + + # From Juan Correa (2016-03-18): +-# The decree regarding DST has been published in today's Official Gazette: +-# http://www.diariooficial.interior.gob.cl/versiones-anteriores/do/20160318/ +-# http://www.leychile.cl/Navegar?idNorma=1088502 ++# The decree regarding DST has been published in today's Official Gazette... + # It does consider the second Saturday of May and August as the dates + # for the transition; and it lists DST dates until 2019, but I think + # this scheme will stick. +-# + # From Paul Eggert (2016-03-18): +-# For now, assume the pattern holds for the indefinite future. + # The decree says transitions occur at 24:00; in practice this appears + # to mean 24:00 mainland time, not 24:00 local time, so that Easter + # Island is always two hours behind the mainland. ++# From Tim Parenti (2025-03-22): ++# Decreto 253 of 2016 of the Ministry of the Interior and Public Security, ++# promulgated 2016-03-16 and published 2016-03-18. ++# https://www.diariooficial.interior.gob.cl/media/2016/03/18/do-20160318.pdf#page=1 ++# https://www.bcn.cl/leychile/navegar?idNorma=1088502 + + # From Juan Correa (2016-12-04): + # Magallanes region ... will keep DST (UTC -3) all year round.... + # http://www.soychile.cl/Santiago/Sociedad/2016/12/04/433428/Bachelet-firmo-el-decreto-para-establecer-un-horario-unico-para-la-Region-de-Magallanes.aspx +-# From Deborah Goldsmith (2017-01-19): +-# http://www.diariooficial.interior.gob.cl/publicaciones/2017/01/17/41660/01/1169626.pdf ++# From Tim Parenti (2025-03-22), via Deborah Goldsmith (2017-01-19): ++# Decreto 1820 of 2016 of the Ministry of the Interior and Public Security, ++# promulgated 2016-12-02 and published 2017-01-17: ++# https://www.diariooficial.interior.gob.cl/publicaciones/2017/01/17/41660/01/1169626.pdf ++# https://www.bcn.cl/leychile/Navegar?idNorma=1099217 ++# Model this as a change to standard offset effective 2016-12-04. + + # From Juan Correa (2018-08-13): + # As of moments ago, the Ministry of Energy in Chile has announced the new +@@ -1316,13 +1326,20 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914 + # https://twitter.com/MinEnergia/status/1029009354001973248 + # "We will keep the new time policy unchanged for at least the next 4 years." + # So we extend the new rules on Saturdays at 24:00 mainland time indefinitely. +-# From Juan Correa (2019-02-04): +-# http://www.diariooficial.interior.gob.cl/publicaciones/2018/11/23/42212/01/1498738.pdf ++# From Tim Parenti (2025-03-22), via Juan Correa (2019-02-04): ++# Decreto 1286 of 2018 of the Ministry of the Interior and Public Security, ++# promulgated 2018-09-21 and published 2018-11-23: ++# https://www.diariooficial.interior.gob.cl/publicaciones/2018/11/23/42212/01/1498738.pdf ++# https://www.bcn.cl/leychile/Navegar?idNorma=1125760 + + # From Juan Correa (2022-04-02): + # I found there was a decree published last Thursday that will keep +-# Magallanes region to UTC -3 "indefinitely". The decree is available at ++# Magallanes region to UTC -3 "indefinitely". ++# From Tim Parenti (2025-03-22): ++# Decreto 143 of 2022 of the Ministry of the Interior and Public Security, ++# promulgated 2022-03-29 and published 2022-03-31: + # https://www.diariooficial.interior.gob.cl/publicaciones/2022/03/31/43217-B/01/2108910.pdf ++# https://www.bcn.cl/leychile/Navegar?idNorma=1174342 + + # From Juan Correa (2022-08-09): + # the Internal Affairs Ministry (Ministerio del Interior) informed DST +@@ -1331,13 +1348,36 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914 + # will keep UTC -3 "indefinitely"... This is because on September 4th + # we will have a voting whether to approve a new Constitution. + # +-# From Eduardo Romero Urra (2022-08-17): ++# From Tim Parenti (2025-03-22), via Eduardo Romero Urra (2022-08-17): ++# Decreto 224 of 2022 of the Ministry of the Interior and Public Security, ++# promulgated 2022-07-14 and published 2022-08-13: + # https://www.diariooficial.interior.gob.cl/publicaciones/2022/08/13/43327/01/2172567.pdf ++# https://www.bcn.cl/leychile/navegar?idNorma=1179983 + # + # From Paul Eggert (2022-08-17): + # Although the presidential decree stops at fall 2026, assume that + # similar DST rules will continue thereafter. + ++# From Paul Eggert (2025-01-15): ++# Diario Regional Aysén's Sebastián Martel reports that 94% of Aysén ++# citizens polled in November favored changing the rules from ++# -04/-03-with-DST to -03 all year... ++# https://www.diarioregionalaysen.cl/noticia/actualidad/2024/12/presentan-decision-que-gano-la-votacion-sobre-el-cambio-del-huso-horario-en-aysen ++# ++# From Yonathan Dossow (2025-03-20): ++# [T]oday we have more confirmation of the change. [Aysén] region will keep ++# UTC-3 all year... ++# https://www.cnnchile.com/pais/region-de-aysen-mantendra-horario-de-verano-todo-el-ano_20250320/ ++# https://www.latercera.com/nacional/noticia/tras-consulta-ciudadana-region-de-aysen-mantendra-el-horario-de-verano-durante-todo-el-ano/ ++# https://x.com/min_interior/status/1902692504270672098 ++# ++# From Tim Parenti (2025-03-22), via Eduardo Romero Urra (2025-03-20): ++# Decreto 93 of 2025 of the Ministry of the Interior and Public Security, ++# promulgated 2025-03-11 and published 2025-03-20: ++# https://www.diariooficial.interior.gob.cl/publicaciones/2025/03/20/44104/01/2624263.pdf ++# https://www.bcn.cl/leychile/Navegar?idNorma=1211955 ++# Model this as a change to standard offset effective 2025-03-20. ++ + # Rule NAME FROM TO - IN ON AT SAVE LETTER/S + Rule Chile 1927 1931 - Sep 1 0:00 1:00 - + Rule Chile 1928 1932 - Apr 1 0:00 0 - +@@ -1394,6 +1434,20 @@ Zone America/Santiago -4:42:45 - LMT 1890 + -5:00 1:00 %z 1947 Mar 31 24:00 + -5:00 - %z 1947 May 21 23:00 + -4:00 Chile %z ++Zone America/Coyhaique -4:48:16 - LMT 1890 ++ -4:42:45 - SMT 1910 Jan 10 ++ -5:00 - %z 1916 Jul 1 ++ -4:42:45 - SMT 1918 Sep 10 ++ -4:00 - %z 1919 Jul 1 ++ -4:42:45 - SMT 1927 Sep 1 ++ -5:00 Chile %z 1932 Sep 1 ++ -4:00 - %z 1942 Jun 1 ++ -5:00 - %z 1942 Aug 1 ++ -4:00 - %z 1946 Aug 28 24:00 ++ -5:00 1:00 %z 1947 Mar 31 24:00 ++ -5:00 - %z 1947 May 21 23:00 ++ -4:00 Chile %z 2025 Mar 20 ++ -3:00 - %z + Zone America/Punta_Arenas -4:43:40 - LMT 1890 + -4:42:45 - SMT 1910 Jan 10 + -5:00 - %z 1916 Jul 1 +diff --git a/make/data/tzdata/zone.tab b/make/data/tzdata/zone.tab +index e7a4868c3..c8fc60104 100644 +--- a/make/data/tzdata/zone.tab ++++ b/make/data/tzdata/zone.tab +@@ -162,7 +162,8 @@ CH +4723+00832 Europe/Zurich + CI +0519-00402 Africa/Abidjan + CK -2114-15946 Pacific/Rarotonga + CL -3327-07040 America/Santiago most of Chile +-CL -5309-07055 America/Punta_Arenas Region of Magallanes ++CL -4534-07204 America/Coyhaique Aysen Region ++CL -5309-07055 America/Punta_Arenas Magallanes Region + CL -2709-10926 Pacific/Easter Easter Island + CM +0403+00942 Africa/Douala + CN +3114+12128 Asia/Shanghai Beijing Time +diff --git a/test/jdk/java/util/TimeZone/TimeZoneData/VERSION b/test/jdk/java/util/TimeZone/TimeZoneData/VERSION +index 5159b3786..750d9fae2 100644 +--- a/test/jdk/java/util/TimeZone/TimeZoneData/VERSION ++++ b/test/jdk/java/util/TimeZone/TimeZoneData/VERSION +@@ -1 +1 @@ +-tzdata2025a ++tzdata2025b +-- +2.47.0.windows.2 + diff --git a/Huawei-fix-potential-build-fail-in-jbolt.patch b/Huawei-fix-potential-build-fail-in-jbolt.patch new file mode 100644 index 0000000000000000000000000000000000000000..b8830a652d5f9bd68e1e30c44152f79a5e72dccf --- /dev/null +++ b/Huawei-fix-potential-build-fail-in-jbolt.patch @@ -0,0 +1,109 @@ +--- + make/hotspot/lib/JvmFeatures.gmk | 2 ++ + src/hotspot/os/linux/os_linux.cpp | 4 ++++ + src/hotspot/share/ci/ciEnv.cpp | 2 ++ + src/hotspot/share/jbolt/jBoltDcmds.cpp | 7 ++++++- + src/hotspot/share/jfr/periodic/jfrPeriodic.cpp | 2 ++ + src/hotspot/share/utilities/macros.hpp | 3 +++ + 6 files changed, 19 insertions(+), 1 deletion(-) + +diff --git a/make/hotspot/lib/JvmFeatures.gmk b/make/hotspot/lib/JvmFeatures.gmk +index ff5b243ae..7d53f1b77 100644 +--- a/make/hotspot/lib/JvmFeatures.gmk ++++ b/make/hotspot/lib/JvmFeatures.gmk +@@ -170,6 +170,8 @@ endif + ifneq ($(call check-jvm-feature, jfr), true) + JVM_CFLAGS_FEATURES += -DINCLUDE_JFR=0 + JVM_EXCLUDE_PATTERNS += jfr ++ JVM_CFLAGS_FEATURES += -DINCLUDE_JBOLT=0 ++ JVM_EXCLUDE_PATTERNS += jbolt + JVM_EXCLUDE_FILES += compilerEvent.cpp + endif + +diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp +index a4688f0b8..90f766f25 100644 +--- a/src/hotspot/os/linux/os_linux.cpp ++++ b/src/hotspot/os/linux/os_linux.cpp +@@ -4686,6 +4686,10 @@ void os::Linux::load_plugin_library() { + } + #endif // INCLUDE_JBOLT + } ++ ++ JBOLT_ONLY(log_debug(jbolt)("Plugin library for JBolt: %s %s %s", BOOL_TO_STR(_jboltLog_precalc != nullptr), ++ BOOL_TO_STR(_jboltLog_do != nullptr), ++ BOOL_TO_STR(_jboltMerge_judge != nullptr));) + } + + // this is called _after_ the global arguments have been parsed +diff --git a/src/hotspot/share/ci/ciEnv.cpp b/src/hotspot/share/ci/ciEnv.cpp +index 5fa006d96..97ce6eb94 100644 +--- a/src/hotspot/share/ci/ciEnv.cpp ++++ b/src/hotspot/share/ci/ciEnv.cpp +@@ -1040,7 +1040,9 @@ void ciEnv::register_method(ciMethod* target, + handler_table, inc_table, + compiler, task()->comp_level(), + native_invokers, ++#if INCLUDE_JVMCI + NULL, 0, -1, NULL, NULL, ++#endif + code_blob_type); + } else + #endif // INCLUDE_JBOLT +diff --git a/src/hotspot/share/jbolt/jBoltDcmds.cpp b/src/hotspot/share/jbolt/jBoltDcmds.cpp +index 0cf1c75b4..b8ecb2b4e 100644 +--- a/src/hotspot/share/jbolt/jBoltDcmds.cpp ++++ b/src/hotspot/share/jbolt/jBoltDcmds.cpp +@@ -24,6 +24,7 @@ + #include "jbolt/jBoltDcmds.hpp" + #include "jbolt/jBoltControlThread.hpp" + #include "jbolt/jBoltManager.hpp" ++#include "runtime/os.hpp" + + bool register_jbolt_dcmds() { + uint32_t full_export = DCmd_Source_Internal | DCmd_Source_AttachAPI | DCmd_Source_MBean; +@@ -198,8 +199,12 @@ void JBoltDumpDCmd::execute(DCmdSource source, TRAPS) { + output()->print_cr("Failed: File open error or NULL: %s", path); + break; + case JBoltOK: +- rp = realpath(path, buffer); ++#ifdef __linux__ ++ rp = os::Posix::realpath(path, buffer, sizeof(buffer)); + output()->print_cr("Successful: Dump to %s", buffer); ++#else ++ output()->print_cr("Successful: Dump to %s", path); ++#endif + break; + default: + ShouldNotReachHere(); +diff --git a/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp b/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp +index 51b06efd8..ba30adc9e 100644 +--- a/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp ++++ b/src/hotspot/share/jfr/periodic/jfrPeriodic.cpp +@@ -613,8 +613,10 @@ TRACE_REQUEST_FUNC(CodeCacheConfiguration) { + event.set_nonNMethodSize(NonNMethodCodeHeapSize); + event.set_profiledSize(ProfiledCodeHeapSize); + event.set_nonProfiledSize(NonProfiledCodeHeapSize); ++#if INCLUDE_JBOLT + event.set_jboltHotSize(JBoltCodeHeapSize); + event.set_jboltTmpSize(JBoltCodeHeapSize); ++#endif + event.set_expansionSize(CodeCacheExpansionSize); + event.set_minBlockLength(CodeCacheMinBlockLength); + event.set_startAddress((u8)CodeCache::low_bound()); +diff --git a/src/hotspot/share/utilities/macros.hpp b/src/hotspot/share/utilities/macros.hpp +index 729dec122..67e1a00b7 100644 +--- a/src/hotspot/share/utilities/macros.hpp ++++ b/src/hotspot/share/utilities/macros.hpp +@@ -297,6 +297,9 @@ + #define JFR_ONLY(code) + #define NOT_JFR_RETURN() {} + #define NOT_JFR_RETURN_(code) { return code; } ++#if INCLUDE_JBOLT ++#define INCLUDE_JBOLT 0 // INCLUDE_JBOLT depends on INCLUDE_JFR ++#endif + #endif + + #ifndef INCLUDE_JVMCI +-- +2.23.0 + diff --git a/LoongArch64-support.patch b/LoongArch64-support.patch index c55fa6685c09c72a51baab0239ed46b76b1becb3..08e1527db71cc3204f386cbbd382c24b0c28d540 100644 --- a/LoongArch64-support.patch +++ b/LoongArch64-support.patch @@ -1,581 +1,8 @@ -From d1e2e483022db67f4445dd3181559ea71a2e916a Mon Sep 17 00:00:00 2001 -From: songliyang -Date: Fri, 21 Feb 2025 13:55:48 +0800 -Subject: [PATCH] LoongArch64 support +commit 5d0cd63aa31e77480c23b072cc263f5cea22267b +Author: panxuefeng +Date: Thu May 8 17:20:38 2025 +0800 ---- - make/autoconf/jvm-features.m4 | 36 +- - make/autoconf/platform.m4 | 27 + - .../abstractInterpreter_loongarch.cpp | 133 + - .../cpu/loongarch/assembler_loongarch.cpp | 849 + - .../cpu/loongarch/assembler_loongarch.hpp | 2831 +++ - .../loongarch/assembler_loongarch.inline.hpp | 33 + - src/hotspot/cpu/loongarch/bytes_loongarch.hpp | 73 + - .../loongarch/c1_CodeStubs_loongarch_64.cpp | 360 + - .../cpu/loongarch/c1_Defs_loongarch.hpp | 79 + - .../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 | 362 + - .../loongarch/c1_LIRAssembler_loongarch.hpp | 84 + - .../c1_LIRAssembler_loongarch_64.cpp | 3402 ++++ - .../c1_LIRGenerator_loongarch_64.cpp | 1386 ++ - .../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 | 112 + - .../c1_MacroAssembler_loongarch_64.cpp | 365 + - .../loongarch/c1_Runtime1_loongarch_64.cpp | 1148 ++ - .../cpu/loongarch/c1_globals_loongarch.hpp | 65 + - .../loongarch/c2_MacroAssembler_loongarch.cpp | 1872 ++ - .../loongarch/c2_MacroAssembler_loongarch.hpp | 144 + - .../cpu/loongarch/c2_globals_loongarch.hpp | 90 + - .../cpu/loongarch/c2_init_loongarch.cpp | 37 + - .../c2_safepointPollStubTable_loongarch.cpp | 50 + - .../cpu/loongarch/codeBuffer_loongarch.hpp | 35 + - .../cpu/loongarch/compiledIC_loongarch.cpp | 144 + - src/hotspot/cpu/loongarch/copy_loongarch.hpp | 77 + - .../cpu/loongarch/disassembler_loongarch.hpp | 57 + - .../loongarch/foreign_globals_loongarch.cpp | 42 + - .../loongarch/foreign_globals_loongarch.hpp | 31 + - src/hotspot/cpu/loongarch/frame_loongarch.cpp | 668 + - src/hotspot/cpu/loongarch/frame_loongarch.hpp | 162 + - .../cpu/loongarch/frame_loongarch.inline.hpp | 245 + - .../gc/g1/g1BarrierSetAssembler_loongarch.cpp | 532 + - .../gc/g1/g1BarrierSetAssembler_loongarch.hpp | 71 + - .../loongarch/gc/g1/g1Globals_loongarch.hpp | 30 + - .../shared/barrierSetAssembler_loongarch.cpp | 320 + - .../shared/barrierSetAssembler_loongarch.hpp | 93 + - .../gc/shared/barrierSetNMethod_loongarch.cpp | 157 + - ...cardTableBarrierSetAssembler_loongarch.cpp | 119 + - ...cardTableBarrierSetAssembler_loongarch.hpp | 44 + - .../modRefBarrierSetAssembler_loongarch.cpp | 53 + - .../modRefBarrierSetAssembler_loongarch.hpp | 54 + - .../c1/shenandoahBarrierSetC1_loongarch.cpp | 130 + - ...henandoahBarrierSetAssembler_loongarch.cpp | 784 + - ...henandoahBarrierSetAssembler_loongarch.hpp | 85 + - .../gc/shenandoah/shenandoah_loongarch_64.ad | 222 + - .../gc/z/zBarrierSetAssembler_loongarch.cpp | 462 + - .../gc/z/zBarrierSetAssembler_loongarch.hpp | 101 + - .../cpu/loongarch/gc/z/zGlobals_loongarch.cpp | 211 + - .../cpu/loongarch/gc/z/zGlobals_loongarch.hpp | 35 + - .../cpu/loongarch/gc/z/z_loongarch_64.ad | 273 + - .../loongarch/globalDefinitions_loongarch.hpp | 55 + - .../cpu/loongarch/globals_loongarch.hpp | 106 + - .../cpu/loongarch/icBuffer_loongarch.cpp | 100 + - .../cpu/loongarch/icache_loongarch.cpp | 42 + - .../cpu/loongarch/icache_loongarch.hpp | 41 + - .../cpu/loongarch/interp_masm_loongarch.hpp | 270 + - .../loongarch/interp_masm_loongarch_64.cpp | 2042 ++ - .../cpu/loongarch/interpreterRT_loongarch.hpp | 62 + - .../loongarch/interpreterRT_loongarch_64.cpp | 282 + - .../loongarch/javaFrameAnchor_loongarch.hpp | 87 + - .../jniFastGetField_loongarch_64.cpp | 197 + - .../cpu/loongarch/jniTypes_loongarch.hpp | 143 + - .../jvmciCodeInstaller_loongarch.cpp | 202 + - src/hotspot/cpu/loongarch/loongarch.ad | 25 + - src/hotspot/cpu/loongarch/loongarch_64.ad | 15689 ++++++++++++++++ - .../loongarch/macroAssembler_loongarch.cpp | 3839 ++++ - .../loongarch/macroAssembler_loongarch.hpp | 754 + - .../macroAssembler_loongarch.inline.hpp | 34 + - .../macroAssembler_loongarch_trig.cpp | 1634 ++ - .../cpu/loongarch/matcher_loongarch.hpp | 145 + - .../cpu/loongarch/methodHandles_loongarch.cpp | 585 + - .../cpu/loongarch/methodHandles_loongarch.hpp | 62 + - .../cpu/loongarch/nativeInst_loongarch.cpp | 529 + - .../cpu/loongarch/nativeInst_loongarch.hpp | 531 + - .../cpu/loongarch/registerMap_loongarch.hpp | 61 + - .../register_definitions_loongarch.cpp | 103 + - .../cpu/loongarch/register_loongarch.cpp | 59 + - .../cpu/loongarch/register_loongarch.hpp | 499 + - .../cpu/loongarch/relocInfo_loongarch.cpp | 132 + - .../cpu/loongarch/relocInfo_loongarch.hpp | 44 + - .../cpu/loongarch/runtime_loongarch_64.cpp | 199 + - .../loongarch/sharedRuntime_loongarch_64.cpp | 3113 +++ - .../loongarch/stubGenerator_loongarch_64.cpp | 5176 +++++ - .../cpu/loongarch/stubRoutines_loongarch.hpp | 89 + - .../loongarch/stubRoutines_loongarch_64.cpp | 183 + - ...templateInterpreterGenerator_loongarch.cpp | 2197 +++ - .../cpu/loongarch/templateTable_loongarch.hpp | 43 + - .../loongarch/templateTable_loongarch_64.cpp | 4043 ++++ - .../universalNativeInvoker_loongarch_64.cpp | 32 + - .../universalUpcallHandler_loongarch_64.cpp | 41 + - .../cpu/loongarch/vmStructs_loongarch.hpp | 61 + - .../loongarch/vm_version_ext_loongarch.cpp | 85 + - .../loongarch/vm_version_ext_loongarch.hpp | 54 + - .../cpu/loongarch/vm_version_loongarch.cpp | 432 + - .../cpu/loongarch/vm_version_loongarch.hpp | 295 + - src/hotspot/cpu/loongarch/vmreg_loongarch.cpp | 58 + - src/hotspot/cpu/loongarch/vmreg_loongarch.hpp | 58 + - .../cpu/loongarch/vmreg_loongarch.inline.hpp | 39 + - .../loongarch/vtableStubs_loongarch_64.cpp | 331 + - .../cpu/mips/abstractInterpreter_mips.cpp | 133 + - src/hotspot/cpu/mips/assembler_mips.cpp | 764 + - src/hotspot/cpu/mips/assembler_mips.hpp | 1777 ++ - .../cpu/mips/assembler_mips.inline.hpp | 33 + - src/hotspot/cpu/mips/bytes_mips.hpp | 181 + - .../cpu/mips/c2_MacroAssembler_mips.cpp | 614 + - .../cpu/mips/c2_MacroAssembler_mips.hpp | 162 + - src/hotspot/cpu/mips/c2_globals_mips.hpp | 91 + - src/hotspot/cpu/mips/c2_init_mips.cpp | 34 + - src/hotspot/cpu/mips/codeBuffer_mips.hpp | 35 + - src/hotspot/cpu/mips/compiledIC_mips.cpp | 147 + - src/hotspot/cpu/mips/copy_mips.hpp | 77 + - src/hotspot/cpu/mips/depChecker_mips.cpp | 30 + - src/hotspot/cpu/mips/depChecker_mips.hpp | 31 + - src/hotspot/cpu/mips/disassembler_mips.hpp | 57 + - src/hotspot/cpu/mips/foreign_globals_mips.cpp | 42 + - src/hotspot/cpu/mips/foreign_globals_mips.hpp | 31 + - src/hotspot/cpu/mips/frame_mips.cpp | 665 + - src/hotspot/cpu/mips/frame_mips.hpp | 215 + - src/hotspot/cpu/mips/frame_mips.inline.hpp | 238 + - .../mips/gc/g1/g1BarrierSetAssembler_mips.cpp | 373 + - .../mips/gc/g1/g1BarrierSetAssembler_mips.hpp | 71 + - src/hotspot/cpu/mips/gc/g1/g1Globals_mips.hpp | 30 + - .../gc/shared/barrierSetAssembler_mips.cpp | 194 + - .../gc/shared/barrierSetAssembler_mips.hpp | 84 + - .../mips/gc/shared/barrierSetNMethod_mips.cpp | 41 + - .../cardTableBarrierSetAssembler_mips.cpp | 144 + - .../cardTableBarrierSetAssembler_mips.hpp | 42 + - .../shared/modRefBarrierSetAssembler_mips.cpp | 53 + - .../shared/modRefBarrierSetAssembler_mips.hpp | 54 + - .../cpu/mips/globalDefinitions_mips.hpp | 47 + - src/hotspot/cpu/mips/globals_mips.hpp | 132 + - src/hotspot/cpu/mips/icBuffer_mips.cpp | 96 + - src/hotspot/cpu/mips/icache_mips.cpp | 41 + - src/hotspot/cpu/mips/icache_mips.hpp | 41 + - src/hotspot/cpu/mips/interp_masm_mips.hpp | 266 + - src/hotspot/cpu/mips/interp_masm_mips_64.cpp | 2140 +++ - src/hotspot/cpu/mips/interpreterRT_mips.hpp | 60 + - .../cpu/mips/interpreterRT_mips_64.cpp | 260 + - src/hotspot/cpu/mips/javaFrameAnchor_mips.hpp | 87 + - .../cpu/mips/jniFastGetField_mips_64.cpp | 203 + - src/hotspot/cpu/mips/jniTypes_mips.hpp | 143 + - src/hotspot/cpu/mips/macroAssembler_mips.cpp | 3686 ++++ - src/hotspot/cpu/mips/macroAssembler_mips.hpp | 704 + - .../cpu/mips/macroAssembler_mips.inline.hpp | 34 + - src/hotspot/cpu/mips/matcher_mips.hpp | 145 + - src/hotspot/cpu/mips/methodHandles_mips.cpp | 597 + - src/hotspot/cpu/mips/methodHandles_mips.hpp | 62 + - src/hotspot/cpu/mips/mips.ad | 25 + - src/hotspot/cpu/mips/mips_64.ad | 12317 ++++++++++++ - src/hotspot/cpu/mips/nativeInst_mips.cpp | 1825 ++ - src/hotspot/cpu/mips/nativeInst_mips.hpp | 734 + - src/hotspot/cpu/mips/registerMap_mips.hpp | 50 + - .../cpu/mips/register_definitions_mips.cpp | 103 + - src/hotspot/cpu/mips/register_mips.cpp | 52 + - src/hotspot/cpu/mips/register_mips.hpp | 345 + - src/hotspot/cpu/mips/relocInfo_mips.cpp | 160 + - src/hotspot/cpu/mips/relocInfo_mips.hpp | 44 + - src/hotspot/cpu/mips/runtime_mips_64.cpp | 206 + - .../cpu/mips/sharedRuntime_mips_64.cpp | 3384 ++++ - .../cpu/mips/stubGenerator_mips_64.cpp | 2725 +++ - src/hotspot/cpu/mips/stubRoutines_mips.hpp | 59 + - src/hotspot/cpu/mips/stubRoutines_mips_64.cpp | 35 + - .../templateInterpreterGenerator_mips.cpp | 2094 +++ - src/hotspot/cpu/mips/templateTable_mips.hpp | 43 + - .../cpu/mips/templateTable_mips_64.cpp | 4613 +++++ - .../mips/universalNativeInvoker_mips_64.cpp | 32 + - .../mips/universalUpcallHandler_mips_64.cpp | 41 + - src/hotspot/cpu/mips/vmStructs_mips.hpp | 68 + - src/hotspot/cpu/mips/vm_version_ext_mips.cpp | 90 + - src/hotspot/cpu/mips/vm_version_ext_mips.hpp | 54 + - src/hotspot/cpu/mips/vm_version_mips.cpp | 523 + - src/hotspot/cpu/mips/vm_version_mips.hpp | 218 + - src/hotspot/cpu/mips/vmreg_mips.cpp | 56 + - src/hotspot/cpu/mips/vmreg_mips.hpp | 56 + - src/hotspot/cpu/mips/vmreg_mips.inline.hpp | 38 + - src/hotspot/cpu/mips/vtableStubs_mips_64.cpp | 348 + - src/hotspot/cpu/ppc/gc/z/zGlobals_ppc.hpp | 2 + - src/hotspot/os/linux/os_linux.cpp | 10 +- - .../assembler_linux_loongarch.cpp | 24 + - .../atomic_linux_loongarch.hpp | 275 + - .../bytes_linux_loongarch.inline.hpp | 37 + - .../copy_linux_loongarch.inline.hpp | 125 + - .../gc/z/zSyscall_linux_loongarch.hpp | 41 + - .../globals_linux_loongarch.hpp | 43 + - .../os_cpu/linux_loongarch/linux_loongarch.s | 25 + - .../orderAccess_linux_loongarch.hpp | 52 + - .../linux_loongarch/os_linux_loongarch.cpp | 529 + - .../linux_loongarch/os_linux_loongarch.hpp | 38 + - .../prefetch_linux_loongarch.inline.hpp | 56 + - .../safefetch_linux_loongarch64.S | 56 + - .../thread_linux_loongarch.cpp | 105 + - .../thread_linux_loongarch.hpp | 66 + - .../vmStructs_linux_loongarch.hpp | 55 + - .../vm_version_linux_loongarch.cpp | 95 + - .../linux_mips/assembler_linux_mips.cpp | 24 + - .../os_cpu/linux_mips/atomic_linux_mips.hpp | 194 + - .../linux_mips/bytes_linux_mips.inline.hpp | 37 + - .../linux_mips/copy_linux_mips.inline.hpp | 125 + - .../os_cpu/linux_mips/globals_linux_mips.hpp | 51 + - src/hotspot/os_cpu/linux_mips/linux_mips.s | 25 + - .../linux_mips/orderAccess_linux_mips.hpp | 52 + - .../os_cpu/linux_mips/os_linux_mips.cpp | 817 + - .../os_cpu/linux_mips/os_linux_mips.hpp | 39 + - .../linux_mips/prefetch_linux_mips.inline.hpp | 58 + - .../linux_mips/safefetch_linux_mips64.S | 60 + - .../os_cpu/linux_mips/thread_linux_mips.cpp | 108 + - .../os_cpu/linux_mips/thread_linux_mips.hpp | 66 + - .../linux_mips/vmStructs_linux_mips.hpp | 55 + - .../linux_mips/vm_version_linux_mips.cpp | 28 + - src/hotspot/share/adlc/formssel.cpp | 7 + - src/hotspot/share/asm/codeBuffer.cpp | 7 + - src/hotspot/share/c1/c1_Compiler.cpp | 8 +- - src/hotspot/share/c1/c1_LIR.cpp | 36 +- - src/hotspot/share/c1/c1_LIR.hpp | 59 +- - src/hotspot/share/c1/c1_LIRAssembler.cpp | 10 +- - src/hotspot/share/c1/c1_LIRAssembler.hpp | 10 +- - src/hotspot/share/c1/c1_LinearScan.cpp | 14 +- - src/hotspot/share/code/nmethod.cpp | 12 +- - src/hotspot/share/code/relocInfo.cpp | 4 +- - src/hotspot/share/code/relocInfo.hpp | 19 +- - src/hotspot/share/code/vtableStubs.cpp | 11 + - .../gc/g1/g1ParScanThreadState.inline.hpp | 9 + - .../share/gc/shared/c2/barrierSetC2.cpp | 15 + - .../gc/shenandoah/shenandoahArguments.cpp | 8 +- - src/hotspot/share/gc/z/c1/zBarrierSetC1.cpp | 8 +- - .../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 | 17 +- - 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 | 43 + - src/hotspot/share/opto/type.cpp | 14 + - 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 | 15 + - src/hotspot/share/runtime/thread.inline.hpp | 10 +- - src/hotspot/share/runtime/vmStructs.cpp | 7 + - src/hotspot/share/utilities/macros.hpp | 56 + - .../native/libsaproc/LinuxDebuggerLocal.cpp | 28 +- - .../linux/native/libsaproc/libproc.h | 13 +- - .../linux/native/libsaproc/ps_proc.c | 8 +- - .../classes/sun/jvm/hotspot/HotSpotAgent.java | 12 + - .../MachineDescriptionLOONGARCH64.java | 41 + - .../debugger/MachineDescriptionMIPS64.java | 41 + - .../debugger/linux/LinuxCDebugger.java | 26 +- - .../linux/LinuxThreadContextFactory.java | 14 +- - .../loongarch64/LinuxLOONGARCH64CFrame.java | 92 + - .../LinuxLOONGARCH64ThreadContext.java | 47 + - .../linux/mips64/LinuxMIPS64CFrame.java | 80 + - .../mips64/LinuxMIPS64ThreadContext.java | 47 + - .../loongarch64/LOONGARCH64ThreadContext.java | 128 + - .../debugger/mips64/MIPS64ThreadContext.java | 128 + - .../hotspot/debugger/posix/elf/ELFHeader.java | 8 + - .../loongarch64/ProcLOONGARCH64Thread.java | 92 + - .../ProcLOONGARCH64ThreadContext.java | 47 + - .../ProcLOONGARCH64ThreadFactory.java | 45 + - .../proc/mips64/ProcMIPS64Thread.java | 92 + - .../proc/mips64/ProcMIPS64ThreadContext.java | 47 + - .../proc/mips64/ProcMIPS64ThreadFactory.java | 45 + - .../debugger/remote/RemoteDebuggerClient.java | 18 + - .../loongarch64/RemoteLOONGARCH64Thread.java | 54 + - .../RemoteLOONGARCH64ThreadContext.java | 51 + - .../RemoteLOONGARCH64ThreadFactory.java | 45 + - .../remote/mips64/RemoteMIPS64Thread.java | 54 + - .../mips64/RemoteMIPS64ThreadContext.java | 51 + - .../mips64/RemoteMIPS64ThreadFactory.java | 45 + - .../sun/jvm/hotspot/runtime/Threads.java | 12 + - .../LinuxLOONGARCH64JavaThreadPDAccess.java | 135 + - .../LinuxMIPS64JavaThreadPDAccess.java | 135 + - .../LOONGARCH64CurrentFrameGuess.java | 250 + - .../runtime/loongarch64/LOONGARCH64Frame.java | 519 + - .../LOONGARCH64JavaCallWrapper.java | 59 + - .../loongarch64/LOONGARCH64RegisterMap.java | 52 + - .../mips64/MIPS64CurrentFrameGuess.java | 217 + - .../hotspot/runtime/mips64/MIPS64Frame.java | 539 + - .../runtime/mips64/MIPS64JavaCallWrapper.java | 59 + - .../runtime/mips64/MIPS64RegisterMap.java | 52 + - .../jvm/hotspot/utilities/PlatformInfo.java | 15 +- - ...LoongArch64HotSpotJVMCIBackendFactory.java | 142 + - .../LoongArch64HotSpotRegisterConfig.java | 297 + - .../LoongArch64HotSpotVMConfig.java | 77 + - .../ci/hotspot/loongarch64/package-info.java | 28 + - .../jdk/vm/ci/loongarch64/LoongArch64.java | 249 + - .../vm/ci/loongarch64/LoongArch64Kind.java | 163 + - .../jdk/vm/ci/loongarch64/package-info.java | 28 + - .../share/classes/module-info.java | 7 + - src/utils/hsdis/Makefile | 3 + - .../TestAESIntrinsicsOnSupportedConfig.java | 8 +- - .../TestAESIntrinsicsOnUnsupportedConfig.java | 8 +- - .../testcases/GenericTestCaseForOtherCPU.java | 13 +- - .../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 +- - .../runtime/TestConstantsInError.java | 12 +- - .../argumentcorruption/CheckLongArgs.java | 7 + - .../criticalnatives/lookup/LookUp.java | 7 + - .../sha/predicate/IntrinsicPredicates.java | 17 +- - .../ReservedStack/ReservedStackTest.java | 9 +- - .../ir_framework/tests/TestIRMatching.java | 8 +- - .../nsk/share/jdi/ArgumentHandler.java | 178 +- - .../jdk/jfr/event/os/TestCPUInformation.java | 10 +- - ...stMutuallyExclusivePlatformPredicates.java | 8 +- - test/lib/jdk/test/lib/Platform.java | 14 + - 322 files changed, 118647 insertions(+), 189 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_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/c2_safepointPollStubTable_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/copy_loongarch.hpp - create mode 100644 src/hotspot/cpu/loongarch/disassembler_loongarch.hpp - create mode 100644 src/hotspot/cpu/loongarch/foreign_globals_loongarch.cpp - create mode 100644 src/hotspot/cpu/loongarch/foreign_globals_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/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.cpp - 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_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_definitions_loongarch.cpp - 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/runtime_loongarch_64.cpp - create mode 100644 src/hotspot/cpu/loongarch/sharedRuntime_loongarch_64.cpp - 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/universalNativeInvoker_loongarch_64.cpp - create mode 100644 src/hotspot/cpu/loongarch/universalUpcallHandler_loongarch_64.cpp - create mode 100644 src/hotspot/cpu/loongarch/vmStructs_loongarch.hpp - create mode 100644 src/hotspot/cpu/loongarch/vm_version_ext_loongarch.cpp - create mode 100644 src/hotspot/cpu/loongarch/vm_version_ext_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/vtableStubs_loongarch_64.cpp - create mode 100644 src/hotspot/cpu/mips/abstractInterpreter_mips.cpp - create mode 100644 src/hotspot/cpu/mips/assembler_mips.cpp - create mode 100644 src/hotspot/cpu/mips/assembler_mips.hpp - create mode 100644 src/hotspot/cpu/mips/assembler_mips.inline.hpp - create mode 100644 src/hotspot/cpu/mips/bytes_mips.hpp - create mode 100644 src/hotspot/cpu/mips/c2_MacroAssembler_mips.cpp - create mode 100644 src/hotspot/cpu/mips/c2_MacroAssembler_mips.hpp - create mode 100644 src/hotspot/cpu/mips/c2_globals_mips.hpp - create mode 100644 src/hotspot/cpu/mips/c2_init_mips.cpp - create mode 100644 src/hotspot/cpu/mips/codeBuffer_mips.hpp - create mode 100644 src/hotspot/cpu/mips/compiledIC_mips.cpp - create mode 100644 src/hotspot/cpu/mips/copy_mips.hpp - create mode 100644 src/hotspot/cpu/mips/depChecker_mips.cpp - create mode 100644 src/hotspot/cpu/mips/depChecker_mips.hpp - create mode 100644 src/hotspot/cpu/mips/disassembler_mips.hpp - create mode 100644 src/hotspot/cpu/mips/foreign_globals_mips.cpp - create mode 100644 src/hotspot/cpu/mips/foreign_globals_mips.hpp - create mode 100644 src/hotspot/cpu/mips/frame_mips.cpp - create mode 100644 src/hotspot/cpu/mips/frame_mips.hpp - create mode 100644 src/hotspot/cpu/mips/frame_mips.inline.hpp - create mode 100644 src/hotspot/cpu/mips/gc/g1/g1BarrierSetAssembler_mips.cpp - create mode 100644 src/hotspot/cpu/mips/gc/g1/g1BarrierSetAssembler_mips.hpp - create mode 100644 src/hotspot/cpu/mips/gc/g1/g1Globals_mips.hpp - create mode 100644 src/hotspot/cpu/mips/gc/shared/barrierSetAssembler_mips.cpp - create mode 100644 src/hotspot/cpu/mips/gc/shared/barrierSetAssembler_mips.hpp - create mode 100644 src/hotspot/cpu/mips/gc/shared/barrierSetNMethod_mips.cpp - create mode 100644 src/hotspot/cpu/mips/gc/shared/cardTableBarrierSetAssembler_mips.cpp - create mode 100644 src/hotspot/cpu/mips/gc/shared/cardTableBarrierSetAssembler_mips.hpp - create mode 100644 src/hotspot/cpu/mips/gc/shared/modRefBarrierSetAssembler_mips.cpp - create mode 100644 src/hotspot/cpu/mips/gc/shared/modRefBarrierSetAssembler_mips.hpp - create mode 100644 src/hotspot/cpu/mips/globalDefinitions_mips.hpp - create mode 100644 src/hotspot/cpu/mips/globals_mips.hpp - create mode 100644 src/hotspot/cpu/mips/icBuffer_mips.cpp - create mode 100644 src/hotspot/cpu/mips/icache_mips.cpp - create mode 100644 src/hotspot/cpu/mips/icache_mips.hpp - create mode 100644 src/hotspot/cpu/mips/interp_masm_mips.hpp - create mode 100644 src/hotspot/cpu/mips/interp_masm_mips_64.cpp - create mode 100644 src/hotspot/cpu/mips/interpreterRT_mips.hpp - create mode 100644 src/hotspot/cpu/mips/interpreterRT_mips_64.cpp - create mode 100644 src/hotspot/cpu/mips/javaFrameAnchor_mips.hpp - create mode 100644 src/hotspot/cpu/mips/jniFastGetField_mips_64.cpp - create mode 100644 src/hotspot/cpu/mips/jniTypes_mips.hpp - create mode 100644 src/hotspot/cpu/mips/macroAssembler_mips.cpp - create mode 100644 src/hotspot/cpu/mips/macroAssembler_mips.hpp - create mode 100644 src/hotspot/cpu/mips/macroAssembler_mips.inline.hpp - create mode 100644 src/hotspot/cpu/mips/matcher_mips.hpp - create mode 100644 src/hotspot/cpu/mips/methodHandles_mips.cpp - create mode 100644 src/hotspot/cpu/mips/methodHandles_mips.hpp - create mode 100644 src/hotspot/cpu/mips/mips.ad - create mode 100644 src/hotspot/cpu/mips/mips_64.ad - create mode 100644 src/hotspot/cpu/mips/nativeInst_mips.cpp - create mode 100644 src/hotspot/cpu/mips/nativeInst_mips.hpp - create mode 100644 src/hotspot/cpu/mips/registerMap_mips.hpp - create mode 100644 src/hotspot/cpu/mips/register_definitions_mips.cpp - create mode 100644 src/hotspot/cpu/mips/register_mips.cpp - create mode 100644 src/hotspot/cpu/mips/register_mips.hpp - create mode 100644 src/hotspot/cpu/mips/relocInfo_mips.cpp - create mode 100644 src/hotspot/cpu/mips/relocInfo_mips.hpp - create mode 100644 src/hotspot/cpu/mips/runtime_mips_64.cpp - create mode 100644 src/hotspot/cpu/mips/sharedRuntime_mips_64.cpp - create mode 100644 src/hotspot/cpu/mips/stubGenerator_mips_64.cpp - create mode 100644 src/hotspot/cpu/mips/stubRoutines_mips.hpp - create mode 100644 src/hotspot/cpu/mips/stubRoutines_mips_64.cpp - create mode 100644 src/hotspot/cpu/mips/templateInterpreterGenerator_mips.cpp - create mode 100644 src/hotspot/cpu/mips/templateTable_mips.hpp - create mode 100644 src/hotspot/cpu/mips/templateTable_mips_64.cpp - create mode 100644 src/hotspot/cpu/mips/universalNativeInvoker_mips_64.cpp - create mode 100644 src/hotspot/cpu/mips/universalUpcallHandler_mips_64.cpp - create mode 100644 src/hotspot/cpu/mips/vmStructs_mips.hpp - create mode 100644 src/hotspot/cpu/mips/vm_version_ext_mips.cpp - create mode 100644 src/hotspot/cpu/mips/vm_version_ext_mips.hpp - create mode 100644 src/hotspot/cpu/mips/vm_version_mips.cpp - create mode 100644 src/hotspot/cpu/mips/vm_version_mips.hpp - create mode 100644 src/hotspot/cpu/mips/vmreg_mips.cpp - create mode 100644 src/hotspot/cpu/mips/vmreg_mips.hpp - create mode 100644 src/hotspot/cpu/mips/vmreg_mips.inline.hpp - create mode 100644 src/hotspot/cpu/mips/vtableStubs_mips_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/bytes_linux_loongarch.inline.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/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/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.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/thread_linux_loongarch.cpp - create mode 100644 src/hotspot/os_cpu/linux_loongarch/thread_linux_loongarch.hpp - 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/hotspot/os_cpu/linux_mips/assembler_linux_mips.cpp - create mode 100644 src/hotspot/os_cpu/linux_mips/atomic_linux_mips.hpp - create mode 100644 src/hotspot/os_cpu/linux_mips/bytes_linux_mips.inline.hpp - create mode 100644 src/hotspot/os_cpu/linux_mips/copy_linux_mips.inline.hpp - create mode 100644 src/hotspot/os_cpu/linux_mips/globals_linux_mips.hpp - create mode 100644 src/hotspot/os_cpu/linux_mips/linux_mips.s - create mode 100644 src/hotspot/os_cpu/linux_mips/orderAccess_linux_mips.hpp - create mode 100644 src/hotspot/os_cpu/linux_mips/os_linux_mips.cpp - create mode 100644 src/hotspot/os_cpu/linux_mips/os_linux_mips.hpp - create mode 100644 src/hotspot/os_cpu/linux_mips/prefetch_linux_mips.inline.hpp - create mode 100644 src/hotspot/os_cpu/linux_mips/safefetch_linux_mips64.S - create mode 100644 src/hotspot/os_cpu/linux_mips/thread_linux_mips.cpp - create mode 100644 src/hotspot/os_cpu/linux_mips/thread_linux_mips.hpp - create mode 100644 src/hotspot/os_cpu/linux_mips/vmStructs_linux_mips.hpp - create mode 100644 src/hotspot/os_cpu/linux_mips/vm_version_linux_mips.cpp - 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/MachineDescriptionMIPS64.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/linux/mips64/LinuxMIPS64CFrame.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/mips64/LinuxMIPS64ThreadContext.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/mips64/MIPS64ThreadContext.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/loongarch64/ProcLOONGARCH64Thread.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/loongarch64/ProcLOONGARCH64ThreadContext.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/loongarch64/ProcLOONGARCH64ThreadFactory.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/mips64/ProcMIPS64Thread.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/mips64/ProcMIPS64ThreadContext.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/mips64/ProcMIPS64ThreadFactory.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/debugger/remote/mips64/RemoteMIPS64Thread.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/mips64/RemoteMIPS64ThreadContext.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/mips64/RemoteMIPS64ThreadFactory.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/linux_mips64/LinuxMIPS64JavaThreadPDAccess.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.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/mips64/MIPS64CurrentFrameGuess.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/mips64/MIPS64Frame.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/mips64/MIPS64JavaCallWrapper.java - create mode 100644 src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/mips64/MIPS64RegisterMap.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 + LoongArch Support diff --git a/make/autoconf/jvm-features.m4 b/make/autoconf/jvm-features.m4 index aa99b037b..d0c3a8575 100644 @@ -114903,7 +114330,7 @@ index b45f432da..02bec17dd 100644 } diff --git a/src/hotspot/share/asm/codeBuffer.cpp b/src/hotspot/share/asm/codeBuffer.cpp -index 0012152d4..e3660cab2 100644 +index 2d219121c..dee7ba8dc 100644 --- a/src/hotspot/share/asm/codeBuffer.cpp +++ b/src/hotspot/share/asm/codeBuffer.cpp @@ -22,6 +22,12 @@ @@ -114919,7 +114346,7 @@ index 0012152d4..e3660cab2 100644 #include "precompiled.hpp" #include "asm/codeBuffer.hpp" #include "code/oopRecorder.inline.hpp" -@@ -330,6 +336,7 @@ void CodeSection::relocate(address at, RelocationHolder const& spec, int format) +@@ -331,6 +337,7 @@ void CodeSection::relocate(address at, RelocationHolder const& spec, int format) assert(rtype == relocInfo::none || rtype == relocInfo::runtime_call_type || rtype == relocInfo::internal_word_type|| @@ -114928,22 +114355,22 @@ index 0012152d4..e3660cab2 100644 rtype == relocInfo::external_word_type, "code needs relocation information"); diff --git a/src/hotspot/share/c1/c1_Compiler.cpp b/src/hotspot/share/c1/c1_Compiler.cpp -index de173c64a..df93c01d8 100644 +index de173c64a..6ca879d46 100644 --- a/src/hotspot/share/c1/c1_Compiler.cpp +++ b/src/hotspot/share/c1/c1_Compiler.cpp -@@ -43,6 +43,12 @@ - #include "utilities/bitMap.inline.hpp" - #include "utilities/macros.hpp" +@@ -22,6 +22,12 @@ + * + */ +/* -+ * This file has been modified by Loongson Technology in 2022, These -+ * modifications are Copyright (c) 2022, Loongson Technology, and are made ++ * This file has been modified by Loongson Technology in 2025, These ++ * modifications are Copyright (c) 2022, 2025, Loongson Technology, and are made + * available on the same license terms set forth above. + */ + - - Compiler::Compiler() : AbstractCompiler(compiler_c1) { - } + #include "precompiled.hpp" + #include "c1/c1_Compilation.hpp" + #include "c1/c1_Compiler.hpp" @@ -212,7 +218,7 @@ bool Compiler::is_intrinsic_supported(const methodHandle& method) { case vmIntrinsics::_updateCRC32: case vmIntrinsics::_updateBytesCRC32: @@ -115413,22 +114840,22 @@ index c82baa15f..84c34db49 100644 LIR_Opr cmp_opr1 = LIR_OprFact::illegalOpr, LIR_Opr cmp_opr2 = LIR_OprFact::illegalOpr); #else diff --git a/src/hotspot/share/c1/c1_LinearScan.cpp b/src/hotspot/share/c1/c1_LinearScan.cpp -index d3d38d11a..6947406b2 100644 +index d3d38d11a..7f1978a15 100644 --- a/src/hotspot/share/c1/c1_LinearScan.cpp +++ b/src/hotspot/share/c1/c1_LinearScan.cpp -@@ -35,6 +35,12 @@ - #include "runtime/timerTrace.hpp" - #include "utilities/bitMap.inline.hpp" +@@ -22,6 +22,12 @@ + * + */ +/* -+ * This file has been modified by Loongson Technology in 2023, These -+ * modifications are Copyright (c) 2022, 2023, Loongson Technology, and are made ++ * This file has been modified by Loongson Technology in 2025, These ++ * modifications are Copyright (c) 2022, 2025, Loongson Technology, and are made + * available on the same license terms set forth above. + */ + - #ifndef PRODUCT - - static LinearScanStatistic _stat_before_alloc; + #include "precompiled.hpp" + #include "c1/c1_CFGPrinter.hpp" + #include "c1/c1_CodeStubs.hpp" @@ -1240,7 +1246,7 @@ void LinearScan::add_register_hints(LIR_Op* op) { break; } @@ -116420,7 +115847,7 @@ index 33ecfe089..4d024b357 100644 #define COMPILER_HEADER(basename) XSTR(COMPILER_HEADER_STEM(basename).hpp) #define COMPILER_HEADER_INLINE(basename) XSTR(COMPILER_HEADER_STEM(basename).inline.hpp) diff --git a/src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp b/src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp -index 9accba375..200bb1e82 100644 +index 04d8e6b46..631a81ba3 100644 --- a/src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp +++ b/src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp @@ -23,6 +23,13 @@ @@ -116457,7 +115884,7 @@ index 9accba375..200bb1e82 100644 extern "C" JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLocal_getThreadIntegerRegisterSet0 (JNIEnv *env, jobject this_obj, jint lwp_id) { -@@ -447,6 +458,9 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo +@@ -446,6 +457,9 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo #ifdef riscv64 #define NPRGREG sun_jvm_hotspot_debugger_riscv64_RISCV64ThreadContext_NPRGREG #endif @@ -116467,7 +115894,7 @@ index 9accba375..200bb1e82 100644 #if defined(ppc64) || defined(ppc64le) #define NPRGREG sun_jvm_hotspot_debugger_ppc64_PPC64ThreadContext_NPRGREG #endif -@@ -561,6 +575,18 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo +@@ -560,6 +574,18 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo #endif /* riscv64 */ @@ -122811,7 +122238,7 @@ index e78e200ac..2b9fcc0ff 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 2e2e16e65..64b42446e 100644 +index 4f5b61a1f..d094ababf 100644 --- a/test/lib/jdk/test/lib/Platform.java +++ b/test/lib/jdk/test/lib/Platform.java @@ -21,6 +21,12 @@ @@ -122827,7 +122254,7 @@ index 2e2e16e65..64b42446e 100644 package jdk.test.lib; import java.io.BufferedReader; -@@ -234,6 +240,14 @@ public class Platform { +@@ -235,6 +241,14 @@ public class Platform { return isArch("(i386)|(x86(?!_64))"); } @@ -122842,6 +122269,3 @@ index 2e2e16e65..64b42446e 100644 public static String getOsArch() { return osArch; } --- -2.43.0 - diff --git a/add-version-txt.patch b/add-version-txt.patch index 9ce549c410630f78515409d49aee386ce7bf6988..975b9afa310abe3e0aef48f175c745ff54fa531f 100644 --- a/add-version-txt.patch +++ b/add-version-txt.patch @@ -13,7 +13,7 @@ index 000000000..b717bafbe --- /dev/null +++ b/version.txt @@ -0,0 +1 @@ -+17.0.14.0.13 ++17.0.15.0.13 -- 2.19.0 diff --git a/heapdump-bug-fix.patch b/heapdump-bug-fix.patch new file mode 100644 index 0000000000000000000000000000000000000000..2a0356c637242ce466cf2a8c4e7c2d3c46031d82 --- /dev/null +++ b/heapdump-bug-fix.patch @@ -0,0 +1,66 @@ +From 78c6b49425fe34016dc5e7104b355e473744d041 Mon Sep 17 00:00:00 2001 +Date: Wed, 14 May 2025 17:54:28 +0800 +Subject: [PATCH] heapdump bug fix + +--- + src/hotspot/share/services/heapDumper.cpp | 21 ++++++++++++++------- + 1 file changed, 14 insertions(+), 7 deletions(-) + +diff --git a/src/hotspot/share/services/heapDumper.cpp b/src/hotspot/share/services/heapDumper.cpp +index dcf6bf85b..4634af14a 100644 +--- a/src/hotspot/share/services/heapDumper.cpp ++++ b/src/hotspot/share/services/heapDumper.cpp +@@ -1931,8 +1931,20 @@ class VM_HeapDumper : public VM_GC_Operation, public AbstractGangTask { + assert(_global_writer == NULL, "Error"); + _global_writer = _local_writer; + } ++ void set_dump_instance_fields_descriptors() { ++ assert(_dump_instance_fields_descriptors == NULL, "Error"); ++ assert(_global_writer != NULL, "Error"); ++ if(_global_writer->getHeapDumpRedactLevel() == REDACT_ANNOTATION) { ++ _dump_instance_fields_descriptors = DumperSupport::dump_instance_annotation_field_descriptors; ++ } else if(_global_writer->getHeapDumpRedactLevel() == REDACT_DIYRULES) { ++ _dump_instance_fields_descriptors = DumperSupport::dump_instance_diyrules_field_descriptors; ++ } else { ++ _dump_instance_fields_descriptors = DumperSupport::dump_instance_field_descriptors; ++ } ++ } + void clear_global_dumper() { _global_dumper = NULL; } + void clear_global_writer() { _global_writer = NULL; } ++ void clear_dump_instance_fields_descriptors() { _dump_instance_fields_descriptors = NULL; } + + bool skip_operation() const; + +@@ -1974,13 +1986,6 @@ class VM_HeapDumper : public VM_GC_Operation, public AbstractGangTask { + _klass_map = new (ResourceObj::C_HEAP, mtServiceability) GrowableArray(INITIAL_CLASS_COUNT, mtServiceability); + _stack_traces = NULL; + _num_threads = 0; +- if(writer->getHeapDumpRedactLevel() == REDACT_ANNOTATION) { +- _dump_instance_fields_descriptors = DumperSupport::dump_instance_annotation_field_descriptors; +- } else if(writer->getHeapDumpRedactLevel() == REDACT_DIYRULES) { +- _dump_instance_fields_descriptors = DumperSupport::dump_instance_diyrules_field_descriptors; +- } else { +- _dump_instance_fields_descriptors = DumperSupport::dump_instance_field_descriptors; +- } + + if (oome) { + assert(!Thread::current()->is_VM_thread(), "Dump from OutOfMemoryError cannot be called by the VMThread"); +@@ -2238,6 +2243,7 @@ void VM_HeapDumper::doit() { + // the following should be safe. + set_global_dumper(); + set_global_writer(); ++ set_dump_instance_fields_descriptors(); + + WorkGang* gang = ch->safepoint_workers(); + +@@ -2250,6 +2256,7 @@ void VM_HeapDumper::doit() { + // Now we clear the global variables, so that a future dumper can run. + clear_global_dumper(); + clear_global_writer(); ++ clear_dump_instance_fields_descriptors(); + } + + void VM_HeapDumper::work(uint worker_id) { +-- +2.43.0.windows.1 + diff --git a/jdk-updates-jdk17u-jdk-17.0.15+6.tar.gz b/jdk-updates-jdk17u-jdk-17.0.15+6.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..355a9434999fe691a7ab0649b9dd1d4c429435be Binary files /dev/null and b/jdk-updates-jdk17u-jdk-17.0.15+6.tar.gz differ diff --git a/openjdk-17.spec b/openjdk-17.spec index 51a59310f36aef4ea6f5f4dd2f5b4378f883359e..722506660e905fb22bc95ad31c5289786cbfaf95 100644 --- a/openjdk-17.spec +++ b/openjdk-17.spec @@ -168,7 +168,7 @@ # Used via new version scheme. JDK 17 was # GA'ed in March 2021 => 21.9 %global vendor_version_string 21.9 -%global securityver 14 +%global securityver 15 # buildjdkver is usually same as %%{majorver}, # but in time of bootstrap of next jdk, it is majorver-1, # and this it is better to change it here, on single place @@ -194,7 +194,7 @@ %global origin_nice OpenJDK %global top_level_dir_name %{origin} %global minorver 0 -%global buildver 7 +%global buildver 6 # priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit %if %is_system_jdk %global priority %( printf '%02d%02d%02d%02d' %{majorver} %{minorver} %{securityver} %{buildver} ) @@ -1067,6 +1067,11 @@ Patch75: Add-KAE-zip-GzipKAEBenchmark-Benchmark.patch Patch76: Add-Fix-clear-mark-for-NativeGotJump.patch Patch77: 8323066-TestSkipRebuildRemsetPhase.java-fails-with-S.patch Patch78: Fix-a-concurrent-issue-of-program-data-ref-cnt.patch + +#17.0.15 +Patch79: Huawei-fix-potential-build-fail-in-jbolt.patch +Patch80: 8352716-tz-Update-Timezone-Data-to-2025b.patch +Patch81: heapdump-bug-fix.patch ############################################ # # LoongArch64 specific patches @@ -1364,6 +1369,9 @@ pushd %{top_level_dir_name} %patch 76 -p1 %patch 77 -p1 %patch 78 -p1 +%patch 79 -p1 +%patch 80 -p1 +%patch 81 -p1 popd # openjdk %endif @@ -1989,6 +1997,22 @@ cjc.mainProgram(args) -- the returns from copy_jdk_configs.lua should not affect %changelog +* Sat May 17 2025 Benshuai5D - 1:17.0.15.6-4 +- add heapdump-bug-fix.patch + +* Thu May 8 2025 panxuefeng - 1:17.0.15.6-3 +- upgrade LoongArch64 port to 17.0.15 + +* Tue Apr 29 2025 wulongyao - 1:17.0.15.6-2 +- add 8352716-tz-Update-Timezone-Data-to-2025b.patch + +* Tue Apr 22 2025 DXwangg - 1:17.0.15.6-1 +- add Huawei-fix-potential-build-fail-in-jbolt.patch + +* Thu Apr 17 2025 DXwangg - 1:17.0.15.6-0 +- update to 17.0.15 +- modified 8264805-Backport-Ahead-of-Time-Compiler.patch + * Wed Mar 26 2025 Whitney33 - 1:17.0.14.7-4 - fix condigure arguments, disable global lto