Compare commits

...

191 Commits

Author SHA1 Message Date
Alan Bateman
d9bd300c6e 8374382: (aio) AsynchronousFileChannel writes wrong content using heap ByteBuffer when position != 0
Reviewed-by: jpai
2026-01-01 07:49:49 +00:00
Eunbin Son
752f46d662 8374373: Typo in VirtualThreadSchedulerMXBean.setParallelism javadoc
Reviewed-by: alanb
2026-01-01 07:49:30 +00:00
Michael McMahon
96e5c270b4 8373893: Refactor networking http server tests to use JUnit
Reviewed-by: djelinski
2025-12-31 22:05:31 +00:00
Sergey Bylokhov
481ef1de7a 8374352: Update copyright year to 2025 for test/langtools/tools/javac/ in files where it was missed
Reviewed-by: aivanov
2025-12-31 17:53:43 +00:00
Sergey Bylokhov
2d1be8a9e6 8374391: Update the copyright year to 2025 in the remaining files under src/ where it was missed
Reviewed-by: aivanov
2025-12-31 17:15:34 +00:00
Sergey Bylokhov
2447e07137 8374355: Update copyright year to 2025 for demo in files where it was missed
Reviewed-by: aivanov
2025-12-31 17:13:17 +00:00
Kevin Walls
a1a75ab6d1 8373642: Test vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/CollectionCounters003/TestDescription.java failed
Reviewed-by: cjplummer, syan
2025-12-31 16:26:09 +00:00
Kevin Walls
97f4f003f4 8373917: test/hotspot/jtreg/vmTestbase/nsk/monitoring: -iterations setting misused in tests
Reviewed-by: lmesnik
2025-12-31 15:50:17 +00:00
Sergey Bylokhov
c6246d58f7 8374383: Update the copyright year to 2025 in the remaining files under test/ where it was missed
Reviewed-by: jpai
2025-12-31 10:04:45 +00:00
Sergey Bylokhov
36d2c277c4 8374327: Update copyright year to 2025 for files in java.base added/updated by commits in 2025
Reviewed-by: jpai
2025-12-31 09:13:32 +00:00
Sergey Bylokhov
3fd7bde31b 8374378: Update copyright year to 2025 for jdk.internal.vm.ci in files where it was missed
Reviewed-by: phh
2025-12-31 07:21:32 +00:00
Sergey Bylokhov
a6462d641c 8374316: Update copyright year to 2025 for hotspot in files where it was missed
Reviewed-by: kbarrett
2025-12-30 12:08:36 +00:00
Martin Doerr
e4e923a1ff 8374195: TestReplaceNarrowPhiWithBottomPhi fails on ppc64 platforms in (fast)debug
Reviewed-by: mbaesken, jbechberger
2025-12-30 09:49:05 +00:00
Sergey Bylokhov
08450f2c4d 8374326: Update copyright year to 2025 for jdk.jpackage in files where it was missed
Reviewed-by: phh
2025-12-30 07:01:49 +00:00
Sergey Bylokhov
92c6799b40 8374361: Update copyright year to 2025 for jdk.hotspot.agent in files where it was missed
Reviewed-by: phh
2025-12-29 21:20:59 +00:00
Kirill Shirokov
078e71f4a3 8344345: test/hotspot/gtest/x86/x86-asmtest.py has trailing whitespaces
Reviewed-by: phh, lmesnik
2025-12-29 21:09:41 +00:00
Anjian Wen
5e685f6f2c 8374351: RISC-V: Small refactoring for crypto macro-assembler routines
Reviewed-by: fyang, fjiang
2025-12-28 09:13:09 +00:00
Sergey Bylokhov
9512a43e82 8374365: Update copyright year to 2025 for test/jdk in files where it was missed
Reviewed-by: phh
2025-12-27 07:02:41 +00:00
Sergey Bylokhov
2886c3b68a 8374358: Update copyright year to 2025 for test/hotspot in files where it was missed
Reviewed-by: phh
2025-12-27 04:56:04 +00:00
Sergey Bylokhov
5c694eab0f 8374363: Update copyright year to 2025 for test/micro in files where it was missed
Reviewed-by: phh
2025-12-27 04:45:56 +00:00
Alexey Ivanov
e7f9132e89 8374345: Restore the original copyright year in ExtremeFontSizeTest.java
Reviewed-by: serb, syan
2025-12-26 20:12:15 +00:00
Sergey Bylokhov
ac07a41de9 8374360: Update copyright year to 2025 for test/jdk/jdk/jfr in files where it was missed
Reviewed-by: egahlin
2025-12-26 19:12:55 +00:00
Daniel Gredler
e65ace10e3 6517125: FontStrike.getGlyphVectorOutline() not used
Reviewed-by: prr, serb
2025-12-26 11:58:48 +00:00
Sergey Bylokhov
3e6170c5be 8374354: Update copyright year to 2025 for jdk.javadoc in files where it was missed
Reviewed-by: liach
2025-12-26 03:46:40 +00:00
Sergey Bylokhov
534c33d0ef 8374323: Update copyright year to 2025 for the build system in files where it was missed
Reviewed-by: erikj
2025-12-25 07:25:40 +00:00
Sergey Bylokhov
73a8629c5b 8374310: Update copyright year to 2025 for client-libs in files where it was missed
Reviewed-by: jdv, aivanov
2025-12-25 01:25:29 +00:00
Nizar Benalla
98b7792a07 8372801: tools/sincechecker/modules/java.base/JavaBaseCheckSince.java fails with JDK 27
Reviewed-by: liach
2025-12-24 14:47:04 +00:00
Nizar Benalla
6ade34804f 8374177: Update @since of HotSpotAOTCacheMXBean after JDK-8373607
Reviewed-by: alanb, iklam
2025-12-24 14:38:08 +00:00
Nizar Benalla
f23b958eca 8373446: Update --release 26 symbol information for JDK 26 build 29
Reviewed-by: iris, liach
2025-12-24 14:31:54 +00:00
Wang Haomin
4a0f7e4294 8374321: Fix undefined reference to 'png_init_filter_functions_lsx' after 8371914
Reviewed-by: jiefu, jdv
2025-12-24 09:06:39 +00:00
Damon Nguyen
a59dbc5105 8373475: Unintentional format string in logString of AccessInfo.cpp
Reviewed-by: aivanov, prr, azvegint
2025-12-24 00:05:27 +00:00
Damon Nguyen
72e1e15779 8373474: 2 Unintentional format string defect groups in jabswitch.cpp
Reviewed-by: aivanov, prr, azvegint
2025-12-24 00:05:12 +00:00
Serguei Spitsyn
f5249db9c5 8374233: Overloaded constructor MountUnmountDisabler(jthread thread) is missed
Reviewed-by: cjplummer, amenkov
2025-12-23 22:21:58 +00:00
Kevin Walls
61cb6d7408 8374232: Comment cleanup in diagnosticCommand.cpp
Reviewed-by: cjplummer
2025-12-23 20:47:55 +00:00
Kevin Walls
8d80bac1ec 8374296: Comment clean up in os_linux.cpp
Reviewed-by: mdoerr
2025-12-23 19:20:46 +00:00
Sergey Bylokhov
be2ac088e8 8373967: [macos] User interactions with List do not trigger ItemEvent after programmatic change
Reviewed-by: azvegint
2025-12-23 18:33:56 +00:00
Jie Fu
f1c50412f0 8374200: jdk/internal/platform/cgroup/TestCgroupMetrics.java fails with common prefix metrics
Reviewed-by: dholmes
2025-12-23 14:31:29 +00:00
Aleksei Efimov
40755afdf9 8373808: Refactor java/net/httpclient qpack and hpack tests to use JUnit
Reviewed-by: djelinski
2025-12-23 12:37:34 +00:00
Hao Sun
e1d81c0946 8373122: JFR build failure with CDS disabled due to -Werror=unused-function after JDK-8365400
Reviewed-by: mgronlun, jiefu, fandreuzzi
2025-12-23 08:08:25 +00:00
Alexey Semenyuk
a0094f529a 8374216: Assorted changes to jpackage without functional impact
Reviewed-by: almatvee
2025-12-23 04:39:50 +00:00
Chen Liang
ecb42341a9 8373447: Suspicious sign extension after integer promotion in imageDecompressor.cpp
Reviewed-by: alanb
2025-12-23 00:12:55 +00:00
Ioi Lam
4b8eda3047 8373983: java/util/Locale/UseOldISOCodesTest.java fails with JTREG_AOT_JDK=onestep
Reviewed-by: naoto
2025-12-22 19:43:55 +00:00
Chris Plummer
72505420ca 8374038: JDI EventRequestManager javadoc has unrendered @link tags inside an @code block
Reviewed-by: kevinw, amenkov
2025-12-22 19:28:10 +00:00
Jie Fu
9715e6da83 8374178: Missing include in systemDictionary.cpp after JDK-8365526
Reviewed-by: kbarrett, dholmes
2025-12-22 15:15:20 +00:00
Damon Fenacci
a61a1d32a2 8373525: C2: assert(_base == Long) failed: Not a Long
Reviewed-by: chagedorn, mhaessig
2025-12-22 12:49:30 +00:00
Stefan Karlsson
2715f5e698 8374151: Cleanup minor markWord function disorder
Reviewed-by: rcastanedalo, dholmes
2025-12-22 10:16:14 +00:00
Stefan Karlsson
551e656218 8374113: Taughtological if check in Reflection::array_set
Reviewed-by: fparain, liach
2025-12-22 09:55:38 +00:00
Stefan Karlsson
e6c3ebe27b 8374145: Remove legacy locking remnants from markWord
Reviewed-by: aboldtch, kbarrett, coleenp
2025-12-22 09:32:22 +00:00
Matthias Baesken
3579c752bc 8373876: StackWalkNativeToJava print more output in case of failures
Reviewed-by: dholmes, mdoerr
2025-12-22 07:57:31 +00:00
Alexander Zvegintsev
9435d5b89c 8346154: [XWayland] Some tests fail intermittently in the CI, but not locally
Reviewed-by: serb, prr
2025-12-22 02:36:13 +00:00
David Holmes
25e87144c2 8369515: Deadlock between JVMTI and JNI ReleasePrimitiveArrayCritical
Co-authored-by: Richard Reingruber <rrich@openjdk.org>
Reviewed-by: rrich, fbredberg, pchilanomate
2025-12-22 01:28:07 +00:00
Quan Anh Mai
8ab7d3b89f 8374078: C2_MacroAssembler::verify_int_in_range has incorrect early return condition
Reviewed-by: kvn, dlong
2025-12-21 15:15:49 +00:00
Prasanta Sadhukhan
fe5911c769 8373946: Synth ProgressBarUI implementation confuses background painting with border painting
Reviewed-by: prr, kizune, azvegint
2025-12-21 05:25:10 +00:00
Alexander Matveev
2d09284060 8373105: Test tools/jpackage/share/AsyncTest.java failed: problem running hdiutil
Reviewed-by: asemenyuk
2025-12-19 23:19:27 +00:00
Kim Barrett
0a70da46f6 8372564: Convert StringDedup to use Atomic<T>
Reviewed-by: tschatzl, aboldtch, iwalulya
2025-12-19 22:37:09 +00:00
Mikhail Yankelevich
400d8cfb69 8373793: TestDynamicStore.java '/manual' disables use of '/timeout'
Reviewed-by: weijun
2025-12-19 18:02:13 +00:00
William Kemper
c1ad393e25 8374048: Genshen: Backout fix for missed cancellation notice
Reviewed-by: kdnilsen, ysr
2025-12-19 18:01:22 +00:00
Coleen Phillimore
23fc21a3e2 8374052: Use java/util/Calendar in ReplaceCriticalClasses.java test
Reviewed-by: iklam
2025-12-19 17:45:14 +00:00
Jorn Vernee
821e9ff965 8372493: [asan] java/foreign/sharedclosejvmti/TestSharedCloseJvmti.java triggers heap-use-after-free
Reviewed-by: liach
2025-12-19 17:38:30 +00:00
Matthias Baesken
6c9999ca8d 8373984: Check for macos 11 in CGraphicsDevice.m can be removed
Reviewed-by: prr, kizune
2025-12-19 14:37:42 +00:00
Matthias Baesken
dca55b4366 8371420: Still sporadic failures of gc/TestAlwaysPreTouchBehavior.java#<gcname> on Linux after JDK-8359104
Reviewed-by: mdoerr, ayang
2025-12-19 14:28:04 +00:00
Christoph Langer
b5ac8f8368 8373246: JDK-8351842 broke native debugging on Linux
Reviewed-by: erikj, stuefe
2025-12-19 13:34:31 +00:00
Alexey Semenyuk
45642acf1b 8373710: Improve jpackage error reporting
Reviewed-by: almatvee
2025-12-19 13:03:21 +00:00
Volkan Yazici
14c93b2afb 8373537: Migrate "test/jdk/com/sun/net/httpserver/" to null-safe "SimpleSSLContext" methods
Reviewed-by: dfuchs
2025-12-19 12:57:57 +00:00
Stefan Karlsson
53e77d21c2 8373801: Adopt arraycopy OopCopyResult from the lworld branch
Reviewed-by: jsikstro, tschatzl, aboldtch
2025-12-19 10:52:43 +00:00
Jaikiran Pai
45cf042099 8374082: net_util.c should use logical && when setting IPv6_available
Reviewed-by: alanb
2025-12-19 09:30:41 +00:00
Hamlin Li
5eb8774909 8373998: RISC-V: simple optimization of ConvHF2F
Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: fyang, dzhang
2025-12-19 09:19:46 +00:00
Roland Westrelin
e72f205ae3 8373524: C2: no reachable node should have no use
Reviewed-by: chagedorn, mhaessig
2025-12-19 08:31:04 +00:00
SendaoYan
360777c3ad 8371948: TestStackOverflowDuringInit.java fails xss too small on linux-aarch64
Reviewed-by: dholmes, aph
2025-12-19 02:22:06 +00:00
David Holmes
f0add88545 8373837: "assert(thread->is_VM_thread() || thread->is_Java_thread()) failed: Must be VMThread or JavaThread" on macosx-aarch64-26
Reviewed-by: fbredberg, coleenp
2025-12-19 01:54:10 +00:00
Kim Barrett
623164651c 8373208: Make Atomic class template constant initializable
Reviewed-by: stefank, dholmes
2025-12-19 00:01:55 +00:00
Dan Smith
f88cbfb8c6 8374044: Docs build fails: Cannot determine current path
Reviewed-by: dholmes
2025-12-18 21:40:06 +00:00
Nityanand Rai
8a93658e87 8371284: GenShen: Avoid unnecessary card marking
Reviewed-by: wkemper, shade, ysr
2025-12-18 21:15:44 +00:00
Dan Smith
6cbfc7691f 8370249: Test jdk/javadoc/doccheck/checks/jdkCheckLinks.java fails due to JVMS/JLS links after JDK-8349681
Reviewed-by: liach
2025-12-18 19:31:33 +00:00
Dan Smith
0b2712400b 8373909: JSpec and ToolGuide taglets use incorrect relative path
Reviewed-by: liach, hannesw
2025-12-18 17:21:41 +00:00
Daniel Jeliński
7a7e7c9ae1 8373877: QUIC connections are removed too early
Reviewed-by: dfuchs
2025-12-18 13:17:44 +00:00
Yasumasa Suenaga
b848ddf6d3 8373110: jstack --mixed frames are broken on macOS after JDK-8371194
Reviewed-by: cjplummer, kevinw
2025-12-18 13:15:36 +00:00
Raffaello Giulietti
3258e4dafa 8373068: Revisit details of Float16 to decimal conversion algorithm
Reviewed-by: darcy
2025-12-18 13:09:42 +00:00
Volkan Yazici
629e4ac6f4 8372661: Add a null-safe static factory method to "jdk.test.lib.net.SimpleSSLContext"
Reviewed-by: dfuchs, weijun
2025-12-18 12:46:02 +00:00
Galder Zamarreño
2c0d9a79b8 8373396: Min and Max Ideal missing AddNode::Ideal optimisations
Reviewed-by: epeter, roland
2025-12-18 11:45:26 +00:00
Roland Westrelin
2ba423db99 8370200: Crash: assert(outer->outcnt() >= phis + 2 - be_loads && outer->outcnt() <= phis + 2 + stores + 1) failed: only phis
Reviewed-by: rcastanedalo, dlunden, dfenacci
2025-12-18 10:36:16 +00:00
Aleksey Shipilev
4f283f188c 8373820: C2: Robust Node::uncast_helper infinite loop check
Reviewed-by: qamai, chagedorn
2025-12-18 09:43:28 +00:00
Daniel Fuchs
d8eb1259f4 8373866: Refactor java/net/httpclient/ThrowingSubscribers*.java tests to use JUnit5
Reviewed-by: jpai
2025-12-18 09:39:11 +00:00
Daniel Fuchs
c6da35d7c7 8373796: Refactor java/net/httpclient/ThrowingPublishers*.java tests to use JUnit5
Reviewed-by: jpai
2025-12-18 09:29:29 +00:00
Daniel Fuchs
e5ca77838b 8373869: Refactor java/net/httpclient/ThrowingPushPromises*.java tests to use JUnit5
Reviewed-by: jpai
2025-12-18 09:21:37 +00:00
Matthias Baesken
3f20eb9435 8372348: Adjust some UL / JFR string deduplication output messages
Reviewed-by: fandreuzzi, lucy, asteiner
2025-12-18 09:14:37 +00:00
Matthias Baesken
a31e6e0d3b 8373593: Support latest VS2026 MSC_VER in abstract_vm_version.cpp
Reviewed-by: mdoerr, dholmes
2025-12-18 08:25:26 +00:00
Tobias Hotz
859830694b 8364766: C2: Improve Value() of DivI and DivL for non-constant inputs
Reviewed-by: mhaessig, epeter, bmaillard
2025-12-18 07:37:21 +00:00
Quan Anh Mai
e67805067a 8367341: C2: apply KnownBits and unsigned bounds to And / Or operations
Reviewed-by: hgreule, epeter
2025-12-18 07:31:06 +00:00
Emanuel Peter
00050f84d4 8373502: C2 SuperWord: speculative check uses VPointer variable was pinned after speculative check, leading to bad graph
Reviewed-by: thartmann, roland
2025-12-18 07:05:05 +00:00
Emanuel Peter
b446262541 8373682: Test compiler/loopopts/superword/TestReinterpretAndCast.java fails on x86_64 with AVX but without f16c
Reviewed-by: kvn, jsikstro, chagedorn
2025-12-18 07:04:40 +00:00
Leonid Mesnik
0146077a51 8373723: Deadlock with JvmtiTagMap::flush_object_free_events()
Reviewed-by: dholmes, coleenp
2025-12-18 04:27:18 +00:00
Alexey Semenyuk
ea5834415d 8373887: jpackage tests may potentially deadlock
Reviewed-by: almatvee
2025-12-18 01:46:45 +00:00
Dan Smith
c16ce929c7 8370970: DocCheck failure in jdkDoctypeBadcharsCheck.java and jdkCheckHtml.java
Reviewed-by: liach
2025-12-17 22:38:50 +00:00
Kelvin Nilsen
17d633a8ee 8373720: GenShen: Count live-at-old mark using Snapshot at Beginning
Reviewed-by: ysr
2025-12-17 22:21:24 +00:00
Ioi Lam
232b41b222 8373392: Replace CDS object subgraphs with @AOTSafeClassInitializer
Reviewed-by: liach, heidinga
2025-12-17 22:16:38 +00:00
David Holmes
b3fab41460 8373654: Tests in sources/ should only run once
Reviewed-by: shade, lmesnik
2025-12-17 22:14:39 +00:00
Chen Liang
e75726ee03 8373832: Test java/lang/invoke/TestVHInvokerCaching.java tests nothing
Reviewed-by: jvernee, shade
2025-12-17 20:52:14 +00:00
Daniel Fuchs
f3a48560b5 8373807: test/jdk/java/net/httpclient/websocket/DummyWebSocketServer.java getURI() uses "localhost"
Reviewed-by: jpai
2025-12-17 18:44:49 +00:00
Justin Lu
4e05748f08 8373716: Refactor further java/util tests from TestNG to JUnit
Reviewed-by: naoto
2025-12-17 18:17:24 +00:00
Christian Hagedorn
9862f8f0d3 8373513: C2: Move ProjNode::other_if_proj() to IfProjNode
Reviewed-by: epeter, roland
2025-12-17 13:38:37 +00:00
Ioi Lam
39306d7ab9 8373800: Remove ScopedValueBindingsResolver
Reviewed-by: alanb, liach
2025-12-17 13:19:49 +00:00
Daniel Fuchs
5e7ae28132 8373677: Clear text HttpServer connection could fail fast if receiving SSL ClientHello
Reviewed-by: jpai, djelinski
2025-12-17 12:13:58 +00:00
Christian Hagedorn
e4636d69e7 8373420: C2: Add true/false_proj*() methods for IfNode as a replacement for proj_out*(true/false)
Reviewed-by: dfenacci, roland, epeter
2025-12-17 11:17:39 +00:00
Aggelos Biboudis
9a23f8aa33 8373552: ExactConversionsSupport: bad JLS links in javadoc
Reviewed-by: liach, iris
2025-12-17 10:31:23 +00:00
Raffaello Giulietti
fc76403b01 8373798: Refactor java/math tests to use JUnit
Reviewed-by: darcy
2025-12-17 09:20:48 +00:00
Arno Zeller
af18fbd42d 8371559: Intermittent timeouts in test javax/net/ssl/Stapling/HttpsUrlConnClient.java
Reviewed-by: mbaesken, myankelevich
2025-12-17 09:08:29 +00:00
Michael McMahon
4924b29fa5 8370655: Check EINTR handling InetAddress implementation and NET_ThrowNew
Reviewed-by: alanb
2025-12-17 08:54:56 +00:00
Matthias Baesken
9e2008bf5e 8373676: Test javax/net/ssl/HttpsURLConnection/SubjectAltNameIP.java fails on a machine without IPV6
Reviewed-by: jpai, dfuchs
2025-12-17 08:44:46 +00:00
Daniel Jeliński
386ad61458 8373409: java/net/httpclient/http3/H3ErrorHandlingTest.java failed due to deadlock
Reviewed-by: dfuchs
2025-12-17 07:49:58 +00:00
Jan Lahoda
94c51ce314 8372635: Lambdas do not copy over SYNTHETIC flag for local variables
Reviewed-by: vromero, liach
2025-12-17 07:22:37 +00:00
Christian Stein
e9b4696acc 8373097: Save command should create missing parent directories
Reviewed-by: jlahoda
2025-12-17 07:18:26 +00:00
Anjian Wen
e635330ae1 8373069: RISC-V: implement GHASH intrinsic
Reviewed-by: fjiang, fyang
2025-12-17 02:41:19 +00:00
Ioi Lam
3f07710270 8373441: Remove DCmdFactory::_enabled
Reviewed-by: kevinw, fparain, jsjolen
2025-12-16 23:17:29 +00:00
Bradford Wetmore
87d881fee0 8368493: Disable most test JSSE debug output by default, and increase the test default maximum output log size
Reviewed-by: jnimeh, hchao
2025-12-16 21:43:43 +00:00
Jonas Norlinder
30be94086a 8373625: CPUTimeCounters creates a total counter for unsupported GCs
Reviewed-by: sjohanss, tschatzl
2025-12-16 21:33:27 +00:00
Alexey Semenyuk
2241218ef6 8373631: Improve classes in the "jdk.jpackage.internal.util.function" package
Reviewed-by: almatvee
2025-12-16 21:25:41 +00:00
Damon Nguyen
fb99ba6ccd 8373119: JDK 26 RDP1 L10n resource files update
Reviewed-by: jlu, asemenyuk, almatvee
2025-12-16 21:19:33 +00:00
Khalid Boulanouare
d02abfe765 8158801: [TEST_BUG] Mixing tests fail because of focus workaround trick
Reviewed-by: aivanov, prr, psadhukhan
2025-12-16 20:37:57 +00:00
Roger Riggs
1e357e9e97 8373623: Refactor Serialization tests for Records to JUnit
Reviewed-by: jlu
2025-12-16 20:23:58 +00:00
Mark Powers
817e3dfde9 8350711: [JMH] test Signatures.RSASSAPSS failed for 2 threads config
Reviewed-by: hchao, valeriep
2025-12-16 18:38:11 +00:00
Saint Wesonga
a0dd66f92d 8373630: r18_tls should not be modified on Windows AArch64
Reviewed-by: pchilanomate, aph
2025-12-16 18:36:28 +00:00
Ioi Lam
b0b42e7eb1 8373615: Improve HotSpot debug functions findclass() and findmethod
Reviewed-by: matsaave, asmehra
2025-12-16 18:19:40 +00:00
Justin Lu
81e3757688 8373566: Performance regression with java.text.MessageFormat subformat patterns
Reviewed-by: liach, rriggs, naoto
2025-12-16 18:11:37 +00:00
Marc Chevalier
76e79dbb3e 8371716: C2: Phi node fails Value()'s verification when speculative types clash
Co-authored-by: Roland Westrelin <roland@openjdk.org>
Reviewed-by: roland, epeter
2025-12-16 14:32:23 +00:00
Emanuel Peter
89e77512fd 8370922: Template Framework Library: Float16 type and operations
Reviewed-by: galder, thartmann, bmaillard
2025-12-16 13:33:02 +00:00
Aleksey Shipilev
a61394b1da 8373789: No PCH release build failure after JDK-8372543
Reviewed-by: tschatzl
2025-12-16 13:18:59 +00:00
Serguei Spitsyn
53ebcdbd02 8373627: assert(!is_vthread_transition_disabler()) failed: no suspend allowed for vthread transition disablers
Reviewed-by: pchilanomate, dholmes
2025-12-16 10:28:27 +00:00
Jaikiran Pai
41d28c1838 8373561: Replace usages of -verify java launcher option with -Xverify:all JVM option
Reviewed-by: serb, prr, dholmes, jlahoda
2025-12-16 10:08:08 +00:00
Maurizio Cimadamore
43d4456181 8373570: Javac stack overflow on method-local class with nested record referring to enclosing type
Reviewed-by: vromero
2025-12-16 10:01:13 +00:00
Emanuel Peter
8402891889 8373355: C2: CompileCommand PrintIdealPhase should also print nodes that are not "reachable from below"
Reviewed-by: rcastanedalo, mchevalier, bmaillard
2025-12-16 09:34:42 +00:00
Axel Boldt-Christmas
78c2d57259 8373668: Add override keyword to *Klass classes
Reviewed-by: jwaters, dholmes, kbarrett, tschatzl
2025-12-16 07:38:26 +00:00
Rui Li
b1e8c4e030 8372543: Shenandoah: undercalculated the available size when soft max takes effect
Reviewed-by: wkemper, kdnilsen
2025-12-16 07:02:15 +00:00
Kim Barrett
3f33eaa42a 8373649: Convert simple AtomicAccess usage in ConcurrentHashTable to use Atomic<T>
Reviewed-by: tschatzl, iwalulya
2025-12-16 04:03:12 +00:00
David Holmes
1748737b99 8372988: Test runtime/Nestmates/membership/TestNestHostErrorWithMultiThread.java failed: Unexpected interrupt
Reviewed-by: coleenp, iklam, jsjolen
2025-12-16 00:19:01 +00:00
Damon Nguyen
317788ff12 8360160: ubuntu-22-04 machine is failing client tests
Reviewed-by: prr, azvegint
2025-12-15 22:39:09 +00:00
Kieran Farrell
6aeabd4bfa 8370910: Cleanup terminology of UUID vs Global Identifiers in UUID
Reviewed-by: alanb, rriggs, jpai
2025-12-15 20:51:08 +00:00
Sergey Chernyshev
f52d49925f 8319589: Attach from root to a user java process not supported in Mac
Reviewed-by: sspitsyn
2025-12-15 20:19:05 +00:00
Chris Plummer
45ee89c4c8 8373297: Test com/sun/jdi/AfterThreadDeathTest.java failed with unexpected ObjectCollectedException
Reviewed-by: kevinw, sspitsyn, amenkov, lmesnik
2025-12-15 19:50:46 +00:00
Roland Westrelin
ad29642d8f 8351889: C2 crash: assertion failed: Base pointers must match (addp 344)
Reviewed-by: rcastanedalo, epeter
2025-12-15 16:18:44 +00:00
William Kemper
ea6493c4e1 8373100: Genshen: Control thread can miss allocation failure notification
Reviewed-by: ysr, kdnilsen, xpeng
2025-12-15 15:52:01 +00:00
SendaoYan
34f241317e 8371503: RETAIN_IMAGE_AFTER_TEST do not work for some tests
Reviewed-by: lmesnik, dholmes
2025-12-15 14:18:46 +00:00
Jaikiran Pai
1f47294cd3 8287062: com/sun/jndi/ldap/LdapPoolTimeoutTest.java failed due to different timeout message
Reviewed-by: aefimov
2025-12-15 13:36:12 +00:00
Stefan Karlsson
f5187ebf7a 8373599: Cleanup arguments.hpp includes
Reviewed-by: coleenp, kbarrett
2025-12-15 12:57:03 +00:00
Casper Norrbin
629bf20f59 8371408: [Linux] VM.info output for container information is confusing
Reviewed-by: sgehwolf, dholmes
2025-12-15 10:23:31 +00:00
Hamlin Li
3559eeca0e 8373428: Refine variables with the same name in nested scopes in PhaseChaitin::gather_lrg_masks
Reviewed-by: phh
2025-12-15 09:10:51 +00:00
Fredrik Bredberg
ad6611a9a3 8371347: Move the ObjectMonitorTable to a separate new file
Reviewed-by: dholmes, coleenp
2025-12-15 08:55:08 +00:00
Daniel Jeliński
895232fc65 8372731: Detailed authentication failure messages
Reviewed-by: dfuchs, michaelm
2025-12-15 08:40:05 +00:00
Anton Artemov
5141e1a4f4 8373497: SpinCriticalSection should use SpinYield
Reviewed-by: dholmes, coleenp
2025-12-15 08:39:47 +00:00
Sergey Bylokhov
01adf28c94 8372974: Add missing @Override annotations in "com.sun.java.swing.plaf.gtk" package
Reviewed-by: prr
2025-12-15 07:36:42 +00:00
Jonas Norlinder
dc1b0b5f81 8373557: Remove stale comments after JDK-8372584
Reviewed-by: dholmes, jsjolen
2025-12-15 06:13:07 +00:00
Prasanta Sadhukhan
0e7bc6b092 6681958: Maximization state of JInternalFrames is corrupted by WindowsDesktopManager
Reviewed-by: tr, kizune
2025-12-15 04:52:14 +00:00
Prasanta Sadhukhan
5edeb71e3b 6292135: DefaultTableModel.setColumnIdentifiers() Clears JTable Row Heights
Reviewed-by: tr, kizune
2025-12-15 04:45:25 +00:00
Albert Mingkun Yang
eda1ab2143 8373449: Parallel: Obsolete deprecated PSChunkLargeArrays
Reviewed-by: kbarrett, dholmes, tschatzl
2025-12-15 01:50:25 +00:00
David Holmes
d03e7cb87a 8373522: Remove expired flags in JDK 27
Reviewed-by: kvn, ayang
2025-12-14 20:45:18 +00:00
Thomas Stuefe
99f90befaf 8373490: JFR Leak Profiler: path-to-gc-root very slow for large object arrays
Reviewed-by: egahlin
2025-12-14 11:57:00 +00:00
Phil Race
fb531cdaf3 8373632: Some sound tests failing in CI due to lack of sound key
Reviewed-by: iris
2025-12-13 22:43:30 +00:00
Quan Anh Mai
104d0cb542 8373577: C2: Cleanup adr_type of CallLeafPureNode
Reviewed-by: roland, vlivanov
2025-12-13 14:07:24 +00:00
Mohamed Issa
4f1dcf89b8 8368977: Provide clear naming for AVX10 identifiers
Reviewed-by: jbhateja, mhaessig, vlivanov
2025-12-13 03:16:46 +00:00
Alexey Semenyuk
17744fbfc0 8373628: jpackage doesn't print to console until completetion
Reviewed-by: almatvee
2025-12-13 02:53:57 +00:00
Sergey Bylokhov
d054865200 8371975: Apply java.io.Serial annotations in java.security.sasl
Reviewed-by: mullan
2025-12-13 01:35:24 +00:00
Man Cao
23c39757ec 8373403: [TESTBUG] TestG1ClassUnloadingHWM.java could fail with large G1HeapRegionSize and small InitialHeapSize
Reviewed-by: tschatzl, iwalulya
2025-12-12 21:19:09 +00:00
Vladimir Ivanov
f2e56e4c18 8372634: C2: Materialize type information from instanceof checks
Reviewed-by: dlong, qamai, roland
2025-12-12 21:12:09 +00:00
Matthias Baesken
4e9525ef36 8373388: Reenable LTO for libsplashscreen
Reviewed-by: erikj, dholmes, serb, prr
2025-12-12 18:57:25 +00:00
Volkan Yazici
b6319f5b42 8369595: HttpClient: HttpHeaders.firstValueAsLong failures should be converted to ProtocolException
Reviewed-by: dfuchs, djelinski
2025-12-12 18:19:35 +00:00
Srinivas Mandalika
6e2ab84154 8068378: [TEST_BUG]The java/awt/Modal/PrintDialogsTest/PrintDialogsTest.java instruction need to update
Reviewed-by: psadhukhan, prr
2025-12-12 18:09:51 +00:00
Phil Race
9b12c0bb19 7067310: 3 tests from closed/javax/sound/sampled caused BSOD on win 7 x86
8307574: ClipIsRunningAfterStop.java failed with "../nptl/pthread_mutex_lock.c:81: __pthread_mutex_lock: Assertion `mutex->__data.__owner == 0' failed."
8308395: javax/sound/sampled/Clip/ClipFlushCrash.java timed out

Reviewed-by: serb
2025-12-12 18:06:46 +00:00
Phil Race
e65e06867e 8372592: Adjust logger usage in java2d tests
Reviewed-by: kizune, serb, rriggs
2025-12-12 18:04:14 +00:00
Ben Taylor
0eb2bcd260 8372250: Merge PtrQueue into SATBMarkQueue
Reviewed-by: kbarrett, iwalulya, tschatzl, wkemper
2025-12-12 16:27:55 +00:00
Ferenc Rakoczi
6ec36d348b 8373059: Test sun/security/provider/acvp/ML_DSA_Intrinsic_Test.java should pass on Aarch64
Reviewed-by: weijun, vpaprotski
2025-12-12 16:04:56 +00:00
Artur Barashev
a99f340e1b 8371721: Refactor checkTrusted methods in X509TrustManagerImpl
Reviewed-by: coffeys, djelinski
2025-12-12 14:39:42 +00:00
Stefan Karlsson
d854a04231 8373411: Crash when PrintSharedArchiveAndExit is enabled but shared heap is disabled
Reviewed-by: shade, iklam
2025-12-12 14:02:50 +00:00
Kelvin Nilsen
410014377c 8373225: GenShen: More adaptive old-generation growth heuristics
Reviewed-by: wkemper, ysr
2025-12-12 14:02:35 +00:00
Benoît Maillard
a05d5d2514 8373579: Problem list compiler/runtime/Test7196199.java
Reviewed-by: chagedorn, epeter
2025-12-12 13:45:28 +00:00
Daisuke Yamazaki
180d8c1b57 8372746: Some httpserver files could benefit from some formatting cleanup
Reviewed-by: jpai, mikael, michaelm, djelinski, dfuchs
2025-12-12 12:04:20 +00:00
Hamlin Li
dc6255261f 8371920: [TEST] Enable CMove tests on other platforms
Reviewed-by: fyang, epeter
2025-12-12 09:59:33 +00:00
Emanuel Peter
650de99fc6 8367158: C2: create better fill and copy benchmarks, taking alignment into account
Reviewed-by: qamai, kvn
2025-12-12 07:17:17 +00:00
Jaikiran Pai
325cdb7fc5 8373517: Revert the macos Tahoe specific change done in JDK-8359830
Reviewed-by: rriggs, bpb
2025-12-12 05:46:33 +00:00
Serguei Spitsyn
c46bed7292 8371502: serviceability/jvmti/vthread/ThreadListStackTracesTest/ThreadListStackTracesTest.java failing
Reviewed-by: lmesnik, amenkov
2025-12-12 04:03:33 +00:00
Xueming Shen
ae85d899d0 8373389: Two jdk/incubator/vector/ tests fails after JDK-8371446
Reviewed-by: psandoz
2025-12-11 20:47:32 +00:00
Sergey Bylokhov
66d7b0ce8f 8371657: [macosx] Programmatically selecting/deselecting List item triggers an ItemEvent
Reviewed-by: aivanov, azvegint, dnguyen, tr
2025-12-11 20:32:58 +00:00
Daniel Gredler
431dcf84e9 8368702: [macosx] Printing text with composite fonts loses font transform
Reviewed-by: psadhukhan, prr
2025-12-11 20:15:45 +00:00
Nizar Benalla
692edc4879 8373443: Update --release 26 symbol information for JDK 26 build 27
Reviewed-by: jlahoda, iris, darcy
2025-12-11 15:30:21 +00:00
Ioi Lam
2a1c676e0a 8373464: Test JdkManagementCheckSince.java fails after JDK-8369736
Reviewed-by: dholmes, shade, kevinw
2025-12-11 14:33:44 +00:00
Matthias Baesken
b0bd0c398e 8372759: Test build/AbsPathsInImage.java fails after JDK-8370438
Reviewed-by: erikj
2025-12-11 14:13:32 +00:00
Daniel Gredler
e1d1d53cd1 8167268: StandardGlyphVector.getGlyphMetrics creates metrics with erroneous bounds for characters with no outline (e.g., the space character ' ')
Reviewed-by: serb, prr
2025-12-11 13:53:01 +00:00
Albert Mingkun Yang
aa986be752 8373421: Parallel: Rename young generation eden and survivor space pool
Reviewed-by: tschatzl, jsikstro
2025-12-11 10:56:20 +00:00
Roman Marchenko
6a6ff876c5 8372860: TestCodeCacheUnloadDuringConcCycle fails on ARM32
Reviewed-by: tschatzl, shade
2025-12-11 08:48:26 +00:00
Saranya Natarajan
4b774cb46d 8370489: Some compiler tests miss the @key randomness
Reviewed-by: dfenacci, epeter, chagedorn
2025-12-11 08:43:31 +00:00
Matthias Baesken
b46aef88b3 8371871: libSharedCloseAgent.cpp crashes VS2019 and older VS2022 compiler
Reviewed-by: jvernee, mdoerr
2025-12-11 08:17:25 +00:00
Kevin Walls
920a99faeb 8370731: Tests in vmTestbase/nsk/monitoring/GarbageCollectorMXBean/CollectionCounters/ failed: OutOfMemoryError
Reviewed-by: sspitsyn
2025-12-11 07:44:10 +00:00
2583 changed files with 20638 additions and 10460 deletions

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2023, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2023, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2024, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, 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

View File

@@ -185,77 +185,30 @@ endif
ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.map
# There may be files with spaces in the names, so use ShellFindFiles
# explicitly.
# There may be files with spaces in the names, so use ShellFindFiles explicitly.
ALL_JDK_FILES := $(call ShellFindFiles, $(JDK_IMAGE_DIR))
ifneq ($(JDK_IMAGE_DIR), $(JDK_SYMBOLS_IMAGE_DIR))
ALL_JDK_SYMBOLS_FILES := $(call ShellFindFiles, $(JDK_SYMBOLS_IMAGE_DIR))
else
ALL_JDK_SYMBOLS_FILES := $(ALL_JDK_FILES)
endif
ifneq ($(JDK_IMAGE_DIR), $(JDK_DEMOS_IMAGE_DIR))
ALL_JDK_DEMOS_FILES := $(call ShellFindFiles, $(JDK_DEMOS_IMAGE_DIR))
else
ALL_JDK_DEMOS_FILES := $(ALL_JDK_FILES)
endif
# Create special filter rules when dealing with unzipped .dSYM directories on
# macosx
ifeq ($(call isTargetOs, macosx), true)
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
JDK_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
$(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, \
$(ALL_JDK_SYMBOLS_FILES))))
endif
endif
# Create special filter rules when dealing with debug symbols on windows
ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JDK_SYMBOLS_EXCLUDE_PATTERN := %.pdb
endif
endif
JDK_BUNDLE_FILES := \
$(filter-out \
$(JDK_SYMBOLS_EXCLUDE_PATTERN) \
$(JDK_EXTRA_EXCLUDES) \
$(SYMBOLS_EXCLUDE_PATTERN) \
$(JDK_IMAGE_HOMEDIR)/demo/% \
, \
$(ALL_JDK_FILES) \
)
JDK_SYMBOLS_BUNDLE_FILES := \
$(call FindFiles, $(SYMBOLS_IMAGE_DIR))
JDK_SYMBOLS_BUNDLE_FILES := $(call FindFiles, $(SYMBOLS_IMAGE_DIR))
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_DEMOS_IMAGE_HOMEDIR)/demo/%, \
$(ALL_JDK_DEMOS_FILES))
ALL_JRE_FILES := $(call ShellFindFiles, $(JRE_IMAGE_DIR))
# Create special filter rules when dealing with unzipped .dSYM directories on
# macosx
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
JRE_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
$(call containing, .dSYM/, $(patsubst $(JRE_IMAGE_DIR)/%, %, $(ALL_JRE_FILES))))
endif
endif
# Create special filter rules when dealing with debug symbols on windows
ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JRE_SYMBOLS_EXCLUDE_PATTERN := %.pdb
endif
endif
JRE_BUNDLE_FILES := $(filter-out \
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
$(SYMBOLS_EXCLUDE_PATTERN), \
$(ALL_JRE_FILES))
JRE_BUNDLE_FILES := $(ALL_JRE_FILES)
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
# Macosx release build and code signing available.

View File

@@ -218,10 +218,14 @@ ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.pdb,*.map}'
else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.map}'
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.map}'
endif
else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*}'
endif
endif
# Unless we are creating a very large module, use the small tool JVM options

View File

@@ -93,16 +93,19 @@ JAVADOC_DISABLED_DOCLINT_WARNINGS := missing
JAVADOC_DISABLED_DOCLINT_PACKAGES := org.w3c.* javax.smartcardio
# The initial set of options for javadoc
# -XDaccessInternalAPI is a temporary workaround, see 8373909
JAVADOC_OPTIONS := -use -keywords -notimestamp \
-serialwarn -encoding utf-8 -docencoding utf-8 -breakiterator \
-splitIndex --system none -javafx --expand-requires transitive \
--override-methods=summary
--override-methods=summary \
-XDaccessInternalAPI
# The reference options must stay stable to allow for comparisons across the
# development cycle.
REFERENCE_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \
-serialwarn -encoding utf-8 -breakiterator -splitIndex --system none \
-html5 -javafx --expand-requires transitive
-html5 -javafx --expand-requires transitive \
-XDaccessInternalAPI
# Should we add DRAFT stamps to the generated javadoc?
ifeq ($(VERSION_IS_GA), true)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2025, 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

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2025, 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

View File

@@ -63,7 +63,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
fi
BASIC_LDFLAGS_JVM_ONLY=""
LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing"
LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing $DEBUG_PREFIX_CFLAGS"
LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r"
@@ -71,7 +71,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
BASIC_LDFLAGS_JVM_ONLY="-mno-omit-leaf-frame-pointer -mstack-alignment=16 \
-fPIC"
LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing"
LDFLAGS_LTO="-flto=auto -fuse-linker-plugin -fno-strict-aliasing $DEBUG_PREFIX_CFLAGS"
LDFLAGS_CXX_PARTIAL_LINKING="$MACHINE_FLAG -r"
if test "x$OPENJDK_TARGET_OS" = xlinux; then

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2025, 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

View File

@@ -316,23 +316,36 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
AC_MSG_CHECKING([if we should add external native debug symbols to the shipped bundles])
AC_ARG_WITH([external-symbols-in-bundles],
[AS_HELP_STRING([--with-external-symbols-in-bundles],
[which type of external native debug symbol information shall be shipped in product bundles (none, public, full)
(e.g. ship full/stripped pdbs on Windows) @<:@none@:>@])])
[which type of external native debug symbol information shall be shipped with bundles/images (none, public, full).
@<:@none in release builds, full otherwise. --with-native-debug-symbols=external/zipped is a prerequisite. public is only supported on Windows@:>@])],
[],
[with_external_symbols_in_bundles=default])
if test "x$with_external_symbols_in_bundles" = x || test "x$with_external_symbols_in_bundles" = xnone ; then
AC_MSG_RESULT([no])
elif test "x$with_external_symbols_in_bundles" = xfull || test "x$with_external_symbols_in_bundles" = xpublic ; then
if test "x$OPENJDK_TARGET_OS" != xwindows ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles currently only works on windows!])
elif test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external is used!])
elif test "x$with_external_symbols_in_bundles" = xfull ; then
if test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external/zipped is used!])
elif test "x$with_external_symbols_in_bundles" = xpublic && test "x$OPENJDK_TARGET_OS" != xwindows ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles=public is only supported on Windows!])
fi
if test "x$with_external_symbols_in_bundles" = xfull ; then
AC_MSG_RESULT([full])
SHIP_DEBUG_SYMBOLS=full
else
AC_MSG_RESULT([public])
SHIP_DEBUG_SYMBOLS=public
fi
elif test "x$with_external_symbols_in_bundles" = xdefault ; then
if test "x$DEBUG_LEVEL" = xrelease ; then
AC_MSG_RESULT([no (default)])
elif test "x$COPY_DEBUG_SYMBOLS" = xtrue ; then
AC_MSG_RESULT([full (default)])
SHIP_DEBUG_SYMBOLS=full
else
AC_MSG_RESULT([no (default, native debug symbols are not external/zipped)])
fi
else
AC_MSG_ERROR([$with_external_symbols_in_bundles is an unknown value for --with-external-symbols-in-bundles])
fi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2025, 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

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2017, 2025, 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
@@ -31,10 +31,9 @@ import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.lang.reflect.Field;
import javax.lang.model.element.Element;
import javax.lang.model.element.PackageElement;
import javax.lang.model.element.TypeElement;
import com.sun.source.doctree.DocTree;
import com.sun.source.doctree.LiteralTree;
@@ -160,9 +159,10 @@ public class JSpec implements Taglet {
if (m.find()) {
String chapter = m.group("chapter");
String section = m.group("section");
String rootParent = currentPath().replaceAll("[^/]+", "..");
String url = String.format("%1$s/../specs/%2$s/%2$s-%3$s.html#%2$s-%3$s%4$s",
docRoot(elem), idPrefix, chapter, section);
String url = String.format("%1$s/specs/%2$s/%2$s-%3$s.html#%2$s-%3$s%4$s",
rootParent, idPrefix, chapter, section);
sb.append("<a href=\"")
.append(url)
@@ -183,6 +183,22 @@ public class JSpec implements Taglet {
return sb.toString();
}
private static ThreadLocal<String> CURRENT_PATH = null;
private String currentPath() {
if (CURRENT_PATH == null) {
try {
Field f = Class.forName("jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter")
.getField("CURRENT_PATH");
@SuppressWarnings("unchecked")
ThreadLocal<String> tl = (ThreadLocal<String>) f.get(null);
CURRENT_PATH = tl;
} catch (ReflectiveOperationException e) {
throw new RuntimeException("Cannot determine current path", e);
}
}
return CURRENT_PATH.get();
}
private String expand(List<? extends DocTree> trees) {
return (new SimpleDocTreeVisitor<StringBuilder, StringBuilder>() {
@@ -209,34 +225,4 @@ public class JSpec implements Taglet {
}).visit(trees, new StringBuilder()).toString();
}
private String docRoot(Element elem) {
switch (elem.getKind()) {
case MODULE:
return "..";
case PACKAGE:
PackageElement pe = (PackageElement)elem;
String pkgPart = pe.getQualifiedName()
.toString()
.replace('.', '/')
.replaceAll("[^/]+", "..");
return pe.getEnclosingElement() != null
? "../" + pkgPart
: pkgPart;
case CLASS, ENUM, RECORD, INTERFACE, ANNOTATION_TYPE:
TypeElement te = (TypeElement)elem;
return te.getQualifiedName()
.toString()
.replace('.', '/')
.replaceAll("[^/]+", "..");
default:
var enclosing = elem.getEnclosingElement();
if (enclosing == null)
throw new IllegalArgumentException(elem.getKind().toString());
return docRoot(enclosing);
}
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2017, 2025, 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
@@ -31,10 +31,9 @@ import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.lang.reflect.Field;
import javax.lang.model.element.Element;
import javax.lang.model.element.PackageElement;
import javax.lang.model.element.TypeElement;
import com.sun.source.doctree.DocTree;
import com.sun.source.doctree.UnknownBlockTagTree;
@@ -68,7 +67,7 @@ public class ToolGuide implements Taglet {
static final String TAG_NAME = "toolGuide";
static final String BASE_URL = "../specs/man";
static final String BASE_URL = "specs/man";
static final Pattern TAG_PATTERN = Pattern.compile("(?s)(?<name>[A-Za-z0-9]+)\\s*(?<label>.*)$");
@@ -119,9 +118,10 @@ public class ToolGuide implements Taglet {
if (label.isEmpty()) {
label = name;
}
String rootParent = currentPath().replaceAll("[^/]+", "..");
String url = String.format("%s/%s/%s.html",
docRoot(elem), BASE_URL, name);
rootParent, BASE_URL, name);
if (needComma) {
sb.append(",\n");
@@ -142,33 +142,21 @@ public class ToolGuide implements Taglet {
return sb.toString();
}
private String docRoot(Element elem) {
switch (elem.getKind()) {
case MODULE:
return "..";
private static ThreadLocal<String> CURRENT_PATH = null;
case PACKAGE:
PackageElement pe = (PackageElement)elem;
String pkgPart = pe.getQualifiedName()
.toString()
.replace('.', '/')
.replaceAll("[^/]+", "..");
return pe.getEnclosingElement() != null
? "../" + pkgPart
: pkgPart;
case CLASS, ENUM, RECORD, INTERFACE, ANNOTATION_TYPE:
TypeElement te = (TypeElement)elem;
return te.getQualifiedName()
.toString()
.replace('.', '/')
.replaceAll("[^/]+", "..");
default:
var enclosing = elem.getEnclosingElement();
if (enclosing == null)
throw new IllegalArgumentException(elem.getKind().toString());
return docRoot(enclosing);
private String currentPath() {
if (CURRENT_PATH == null) {
try {
Field f = Class.forName("jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter")
.getField("CURRENT_PATH");
@SuppressWarnings("unchecked")
ThreadLocal<String> tl = (ThreadLocal<String>) f.get(null);
CURRENT_PATH = tl;
} catch (ReflectiveOperationException e) {
throw new RuntimeException("Cannot determine current path", e);
}
}
return CURRENT_PATH.get();
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2025, 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

View File

@@ -164,7 +164,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
ifeq ($(USE_EXTERNAL_LIBPNG), false)
LIBSPLASHSCREEN_HEADER_DIRS += libsplashscreen/libpng
LIBSPLASHSCREEN_CFLAGS += -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0
LIBSPLASHSCREEN_CFLAGS += -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0 \
-DPNG_ARM_NEON_IMPLEMENTATION=0 -DPNG_LOONGARCH_LSX_OPT=0
ifeq ($(call isTargetOs, linux)+$(call isTargetCpuArch, ppc), true+true)
@@ -226,6 +226,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
OPTIMIZATION := SIZE, \
LINK_TIME_OPTIMIZATION := true, \
CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) \
$(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS) $(LIBZ_CFLAGS) \
$(ICONV_CFLAGS), \

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2025, 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

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2025, 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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions

View File

@@ -1,5 +1,5 @@
<!--
Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2005, 2025, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions

View File

@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions

View File

@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2007, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions

View File

@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions

View File

@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2007, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2010, 2025, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -310,7 +310,18 @@ static void restore_live_registers(StubAssembler* sasm, bool restore_fpu_registe
__ add(sp, sp, 32 * wordSize);
}
#ifdef R18_RESERVED
/*
Do not modify r18_tls when restoring registers if it is a reserved register. On Windows,
for example, r18_tls is used to store the pointer to the current thread's TEB (where TLS
variables are stored). Therefore, modifying r18_tls would corrupt the TEB pointer.
*/
__ pop(RegSet::range(r0, r17), sp);
__ ldp(zr, r19, Address(__ post(sp, 2 * wordSize)));
__ pop(RegSet::range(r20, r29), sp);
#else
__ pop(RegSet::range(r0, r29), sp);
#endif
}
static void restore_live_registers_except_r0(StubAssembler* sasm, bool restore_fpu_registers = true) {
@@ -323,8 +334,20 @@ static void restore_live_registers_except_r0(StubAssembler* sasm, bool restore_f
__ add(sp, sp, 32 * wordSize);
}
#ifdef R18_RESERVED
/*
Do not modify r18_tls when restoring registers if it is a reserved register. On Windows,
for example, r18_tls is used to store the pointer to the current thread's TEB (where TLS
variables are stored). Therefore, modifying r18_tls would corrupt the TEB pointer.
*/
__ ldp(zr, r1, Address(__ post(sp, 2 * wordSize)));
__ pop(RegSet::range(r2, r17), sp);
__ ldp(zr, r19, Address(__ post(sp, 2 * wordSize)));
__ pop(RegSet::range(r20, r29), sp);
#else
__ ldp(zr, r1, Address(__ post(sp, 16)));
__ pop(RegSet::range(r2, r29), sp);
#endif
}

View File

@@ -2547,26 +2547,22 @@ void C2_MacroAssembler::verify_int_in_range(uint idx, const TypeInt* t, Register
if (t == TypeInt::INT) {
return;
}
BLOCK_COMMENT("verify_int_in_range {");
Label L_success, L_failure;
jint lo = t->_lo;
jint hi = t->_hi;
if (lo != min_jint && hi != max_jint) {
if (lo != min_jint) {
subsw(rtmp, rval, lo);
br(Assembler::LT, L_failure);
subsw(rtmp, rval, hi);
br(Assembler::LE, L_success);
} else if (lo != min_jint) {
subsw(rtmp, rval, lo);
br(Assembler::GE, L_success);
} else if (hi != max_jint) {
subsw(rtmp, rval, hi);
br(Assembler::LE, L_success);
} else {
ShouldNotReachHere();
}
if (hi != max_jint) {
subsw(rtmp, rval, hi);
br(Assembler::GT, L_failure);
}
b(L_success);
bind(L_failure);
movw(c_rarg0, idx);
@@ -2590,26 +2586,22 @@ void C2_MacroAssembler::verify_long_in_range(uint idx, const TypeLong* t, Regist
if (t == TypeLong::LONG) {
return;
}
BLOCK_COMMENT("verify_long_in_range {");
Label L_success, L_failure;
jlong lo = t->_lo;
jlong hi = t->_hi;
if (lo != min_jlong && hi != max_jlong) {
if (lo != min_jlong) {
subs(rtmp, rval, lo);
br(Assembler::LT, L_failure);
subs(rtmp, rval, hi);
br(Assembler::LE, L_success);
} else if (lo != min_jlong) {
subs(rtmp, rval, lo);
br(Assembler::GE, L_success);
} else if (hi != max_jlong) {
subs(rtmp, rval, hi);
br(Assembler::LE, L_success);
} else {
ShouldNotReachHere();
}
if (hi != max_jlong) {
subs(rtmp, rval, hi);
br(Assembler::GT, L_failure);
}
b(L_success);
bind(L_failure);
movw(c_rarg0, idx);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -1,5 +1,5 @@
//
// Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2019, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2010, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2021, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2008, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2015 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2022 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2021 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -2662,6 +2662,9 @@ enum Nf {
INSN(vsha2ch_vv, 0b1110111, 0b010, 0b1, 0b101110);
INSN(vsha2cl_vv, 0b1110111, 0b010, 0b1, 0b101111);
// Vector GHASH (Zvkg) Extension
INSN(vghsh_vv, 0b1110111, 0b010, 0b1, 0b101100);
#undef INSN
#define INSN(NAME, op, funct3, Vs1, funct6) \

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* Copyright (c) 2020, 2021, Huawei Technologies Co., Ltd. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2022, Huawei Technologies Co., Ltd. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* Copyright (c) 2020, 2022, Huawei Technologies Co., Ltd. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* Copyright (c) 2020, 2021, Huawei Technologies Co., Ltd. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2022, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2023, Huawei Technologies Co., Ltd. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2022, Huawei Technologies Co., Ltd. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
//
// Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2019, 2025, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2023, Huawei Technologies Co., Ltd. All rights reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
//

View File

@@ -123,6 +123,7 @@ define_pd_global(intx, InlineSmallCode, 1000);
product(bool, UseZvkn, false, EXPERIMENTAL, \
"Use Zvkn group extension, Zvkned, Zvknhb, Zvkb, Zvkt") \
product(bool, UseCtxFencei, false, EXPERIMENTAL, \
"Use PR_RISCV_CTX_SW_FENCEI_ON to avoid explicit icache flush")
"Use PR_RISCV_CTX_SW_FENCEI_ON to avoid explicit icache flush") \
product(bool, UseZvkg, false, EXPERIMENTAL, "Use Zvkg instructions")
#endif // CPU_RISCV_GLOBALS_RISCV_HPP

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
* Copyright (c) 2020, 2021, Huawei Technologies Co., Ltd. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2022, Huawei Technologies Co., Ltd. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2021, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2021, 2022, Huawei Technologies Co., Ltd. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2010, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2021, Huawei Technologies Co., Ltd. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

View File

@@ -8542,7 +8542,7 @@ instruct convD2F_reg(fRegF dst, fRegD src) %{
// single <-> half precision
instruct convHF2F_reg_reg(fRegF dst, iRegINoSp src, iRegINoSp tmp) %{
instruct convHF2F_reg_reg(fRegF dst, iRegIorL2I src, iRegINoSp tmp) %{
match(Set dst (ConvHF2F src));
effect(TEMP tmp);
format %{ "fmv.h.x $dst, $src\t# move source from $src to $dst\n\t"

View File

@@ -1,5 +1,5 @@
//
// Copyright (c) 2021, 2024, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2021, 2025, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2022, Huawei Technologies Co., Ltd. All rights reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
//

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2025, 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

View File

@@ -2436,7 +2436,7 @@ class StubGenerator: public StubCodeGenerator {
StubRoutines::_unsafe_setmemory = generate_unsafe_setmemory();
}
void generate_aes_loadkeys(const Register &key, VectorRegister *working_vregs, int rounds) {
void aes_load_keys(const Register &key, VectorRegister *working_vregs, int rounds) {
const int step = 16;
for (int i = 0; i < rounds; i++) {
__ vle32_v(working_vregs[i], key);
@@ -2448,7 +2448,7 @@ class StubGenerator: public StubCodeGenerator {
}
}
void generate_aes_encrypt(const VectorRegister &res, VectorRegister *working_vregs, int rounds) {
void aes_encrypt(const VectorRegister &res, VectorRegister *working_vregs, int rounds) {
assert(rounds <= 15, "rounds should be less than or equal to working_vregs size");
__ vxor_vv(res, res, working_vregs[0]);
@@ -2499,8 +2499,8 @@ class StubGenerator: public StubCodeGenerator {
// Else we fallthrough to the biggest case (256-bit key size)
// Note: the following function performs key += 15*16
generate_aes_loadkeys(key, working_vregs, 15);
generate_aes_encrypt(res, working_vregs, 15);
aes_load_keys(key, working_vregs, 15);
aes_encrypt(res, working_vregs, 15);
__ vse32_v(res, to);
__ mv(c_rarg0, 0);
__ leave();
@@ -2508,8 +2508,8 @@ class StubGenerator: public StubCodeGenerator {
__ bind(L_aes192);
// Note: the following function performs key += 13*16
generate_aes_loadkeys(key, working_vregs, 13);
generate_aes_encrypt(res, working_vregs, 13);
aes_load_keys(key, working_vregs, 13);
aes_encrypt(res, working_vregs, 13);
__ vse32_v(res, to);
__ mv(c_rarg0, 0);
__ leave();
@@ -2517,8 +2517,8 @@ class StubGenerator: public StubCodeGenerator {
__ bind(L_aes128);
// Note: the following function performs key += 11*16
generate_aes_loadkeys(key, working_vregs, 11);
generate_aes_encrypt(res, working_vregs, 11);
aes_load_keys(key, working_vregs, 11);
aes_encrypt(res, working_vregs, 11);
__ vse32_v(res, to);
__ mv(c_rarg0, 0);
__ leave();
@@ -2527,7 +2527,7 @@ class StubGenerator: public StubCodeGenerator {
return start;
}
void generate_aes_decrypt(const VectorRegister &res, VectorRegister *working_vregs, int rounds) {
void aes_decrypt(const VectorRegister &res, VectorRegister *working_vregs, int rounds) {
assert(rounds <= 15, "rounds should be less than or equal to working_vregs size");
__ vxor_vv(res, res, working_vregs[rounds - 1]);
@@ -2578,8 +2578,8 @@ class StubGenerator: public StubCodeGenerator {
// Else we fallthrough to the biggest case (256-bit key size)
// Note: the following function performs key += 15*16
generate_aes_loadkeys(key, working_vregs, 15);
generate_aes_decrypt(res, working_vregs, 15);
aes_load_keys(key, working_vregs, 15);
aes_decrypt(res, working_vregs, 15);
__ vse32_v(res, to);
__ mv(c_rarg0, 0);
__ leave();
@@ -2587,8 +2587,8 @@ class StubGenerator: public StubCodeGenerator {
__ bind(L_aes192);
// Note: the following function performs key += 13*16
generate_aes_loadkeys(key, working_vregs, 13);
generate_aes_decrypt(res, working_vregs, 13);
aes_load_keys(key, working_vregs, 13);
aes_decrypt(res, working_vregs, 13);
__ vse32_v(res, to);
__ mv(c_rarg0, 0);
__ leave();
@@ -2596,8 +2596,8 @@ class StubGenerator: public StubCodeGenerator {
__ bind(L_aes128);
// Note: the following function performs key += 11*16
generate_aes_loadkeys(key, working_vregs, 11);
generate_aes_decrypt(res, working_vregs, 11);
aes_load_keys(key, working_vregs, 11);
aes_decrypt(res, working_vregs, 11);
__ vse32_v(res, to);
__ mv(c_rarg0, 0);
__ leave();
@@ -2622,14 +2622,14 @@ class StubGenerator: public StubCodeGenerator {
__ vsetivli(x0, 4, Assembler::e32, Assembler::m1);
__ vle32_v(v16, rvec);
generate_aes_loadkeys(key, working_vregs, round);
aes_load_keys(key, working_vregs, round);
Label L_enc_loop;
__ bind(L_enc_loop);
// Encrypt from source by block size
__ vle32_v(v17, from);
__ addi(from, from, BLOCK_SIZE);
__ vxor_vv(v16, v16, v17);
generate_aes_encrypt(v16, working_vregs, round);
aes_encrypt(v16, working_vregs, round);
__ vse32_v(v16, to);
__ addi(to, to, BLOCK_SIZE);
__ subi(len, len, BLOCK_SIZE);
@@ -2655,8 +2655,7 @@ class StubGenerator: public StubCodeGenerator {
// x10 - input length
//
address generate_cipherBlockChaining_encryptAESCrypt() {
assert(UseAESIntrinsics, "Must be");
assert(UseZvkn, "need AES instructions (Zvkned extension) support");
assert(UseAESIntrinsics, "need AES instructions (Zvkned extension) support");
__ align(CodeEntryAlignment);
StubId stub_id = StubId::stubgen_cipherBlockChaining_encryptAESCrypt_id;
StubCodeMark mark(this, stub_id);
@@ -2710,14 +2709,14 @@ class StubGenerator: public StubCodeGenerator {
__ vsetivli(x0, 4, Assembler::e32, Assembler::m1);
__ vle32_v(v16, rvec);
generate_aes_loadkeys(key, working_vregs, round);
aes_load_keys(key, working_vregs, round);
Label L_dec_loop;
// Decrypt from source by block size
__ bind(L_dec_loop);
__ vle32_v(v17, from);
__ addi(from, from, BLOCK_SIZE);
__ vmv_v_v(v18, v17);
generate_aes_decrypt(v17, working_vregs, round);
aes_decrypt(v17, working_vregs, round);
__ vxor_vv(v17, v17, v16);
__ vse32_v(v17, to);
__ vmv_v_v(v16, v18);
@@ -2745,8 +2744,7 @@ class StubGenerator: public StubCodeGenerator {
// x10 - input length
//
address generate_cipherBlockChaining_decryptAESCrypt() {
assert(UseAESIntrinsics, "Must be");
assert(UseZvkn, "need AES instructions (Zvkned extension) support");
assert(UseAESIntrinsics, "need AES instructions (Zvkned extension) support");
__ align(CodeEntryAlignment);
StubId stub_id = StubId::stubgen_cipherBlockChaining_decryptAESCrypt_id;
StubCodeMark mark(this, stub_id);
@@ -2813,7 +2811,7 @@ class StubGenerator: public StubCodeGenerator {
Register input_len, Register saved_encrypted_ctr, Register used_ptr) {
// Algorithm:
//
// generate_aes_loadkeys();
// aes_load_keys();
// load_counter_128(counter_hi, counter_lo, counter);
//
// L_next:
@@ -2827,7 +2825,7 @@ class StubGenerator: public StubCodeGenerator {
//
// L_main_loop:
// if (len == 0) goto L_exit;
// saved_encrypted_ctr = generate_aes_encrypt(counter);
// saved_encrypted_ctr = aes_encrypt(counter);
//
// add_counter_128(counter_hi, counter_lo);
// be_store_counter_128(counter_hi, counter_lo, counter);
@@ -2871,7 +2869,7 @@ class StubGenerator: public StubCodeGenerator {
__ mv(block_size, BLOCK_SIZE);
// load keys to working_vregs according to round
generate_aes_loadkeys(key, working_vregs, round);
aes_load_keys(key, working_vregs, round);
// 128-bit big-endian load
be_load_counter_128(counter_hi, counter_lo, counter);
@@ -2904,7 +2902,7 @@ class StubGenerator: public StubCodeGenerator {
__ vle32_v(v16, counter);
// encrypt counter according to round
generate_aes_encrypt(v16, working_vregs, round);
aes_encrypt(v16, working_vregs, round);
__ vse32_v(v16, saved_encrypted_ctr);
@@ -2950,9 +2948,7 @@ class StubGenerator: public StubCodeGenerator {
// x10 - input length
//
address generate_counterMode_AESCrypt() {
assert(UseAESCTRIntrinsics, "Must be");
assert(UseZvkn, "need AES instructions (Zvkned extension) support");
assert(UseZbb, "need basic bit manipulation (Zbb extension) support");
assert(UseAESCTRIntrinsics, "need AES instructions (Zvkned extension) and Zbb extension support");
__ align(CodeEntryAlignment);
StubId stub_id = StubId::stubgen_counterMode_AESCrypt_id;
@@ -3001,6 +2997,73 @@ class StubGenerator: public StubCodeGenerator {
return start;
}
void ghash_loop(Register state, Register subkeyH, Register data, Register blocks,
VectorRegister vtmp1, VectorRegister vtmp2, VectorRegister vtmp3) {
VectorRegister partial_hash = vtmp1;
VectorRegister hash_subkey = vtmp2;
VectorRegister cipher_text = vtmp3;
const unsigned int BLOCK_SIZE = 16;
__ vsetivli(x0, 2, Assembler::e64, Assembler::m1);
__ vle64_v(hash_subkey, subkeyH);
__ vrev8_v(hash_subkey, hash_subkey);
__ vle64_v(partial_hash, state);
__ vrev8_v(partial_hash, partial_hash);
__ vsetivli(x0, 4, Assembler::e32, Assembler::m1);
Label L_ghash_loop;
__ bind(L_ghash_loop);
__ vle32_v(cipher_text, data);
__ addi(data, data, BLOCK_SIZE);
__ vghsh_vv(partial_hash, hash_subkey, cipher_text);
__ subi(blocks, blocks, 1);
__ bnez(blocks, L_ghash_loop);
__ vsetivli(x0, 2, Assembler::e64, Assembler::m1);
__ vrev8_v(partial_hash, partial_hash);
__ vse64_v(partial_hash, state);
}
/**
* Arguments:
*
* Input:
* c_rarg0 - current state address
* c_rarg1 - H key address
* c_rarg2 - data address
* c_rarg3 - number of blocks
*
* Output:
* Updated state at c_rarg0
*/
address generate_ghash_processBlocks() {
assert(UseGHASHIntrinsics, "need GHASH instructions (Zvkg extension) and Zvbb support");
__ align(CodeEntryAlignment);
StubId stub_id = StubId::stubgen_ghash_processBlocks_id;
StubCodeMark mark(this, stub_id);
address start = __ pc();
__ enter();
Register state = c_rarg0;
Register subkeyH = c_rarg1;
Register data = c_rarg2;
Register blocks = c_rarg3;
VectorRegister vtmp1 = v1;
VectorRegister vtmp2 = v2;
VectorRegister vtmp3 = v3;
ghash_loop(state, subkeyH, data, blocks, vtmp1, vtmp2, vtmp3);
__ leave();
__ ret();
return start;
}
// code for comparing 8 characters of strings with Latin1 and Utf16 encoding
void compare_string_8_x_LU(Register tmpL, Register tmpU,
Register strL, Register strU, Label& DIFF) {
@@ -7227,6 +7290,10 @@ static const int64_t right_3_bits = right_n_bits(3);
StubRoutines::_counterMode_AESCrypt = generate_counterMode_AESCrypt();
}
if (UseGHASHIntrinsics) {
StubRoutines::_ghash_processBlocks = generate_ghash_processBlocks();
}
if (UsePoly1305Intrinsics) {
StubRoutines::_poly1305_processBlocks = generate_poly1305_processBlocks();
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* Copyright (c) 2020, 2023, Huawei Technologies Co., Ltd. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

View File

@@ -457,6 +457,22 @@ void VM_Version::c2_initialize() {
FLAG_SET_DEFAULT(UseAESCTRIntrinsics, false);
}
}
if (UseZvkg) {
if (FLAG_IS_DEFAULT(UseGHASHIntrinsics) && UseZvbb) {
FLAG_SET_DEFAULT(UseGHASHIntrinsics, true);
}
if (UseGHASHIntrinsics && !UseZvbb) {
warning("Cannot enable UseGHASHIntrinsics on cpu without UseZvbb support");
FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
}
} else {
if (UseGHASHIntrinsics) {
warning("Cannot enable UseGHASHIntrinsics on cpu without UseZvkg support");
FLAG_SET_DEFAULT(UseGHASHIntrinsics, false);
}
}
}
#endif // COMPILER2

View File

@@ -289,6 +289,8 @@ class VM_Version : public Abstract_VM_Version {
decl(Zvfh , RV_NO_FLAG_BIT, true , UPDATE_DEFAULT_DEP(UseZvfh, &ext_v, &ext_Zfh, nullptr)) \
/* Shorthand for Zvkned + Zvknhb + Zvkb + Zvkt */ \
decl(Zvkn , RV_NO_FLAG_BIT, true , UPDATE_DEFAULT_DEP(UseZvkn, &ext_v, nullptr)) \
/* Zvkg crypto extension for ghash and gcm */ \
decl(Zvkg , RV_NO_FLAG_BIT, true , UPDATE_DEFAULT_DEP(UseZvkg, &ext_v, nullptr)) \
#define DECLARE_RV_EXT_FEATURE(PRETTY, LINUX_BIT, FSTRING, FLAGF) \
struct ext_##PRETTY##RVExtFeatureValue : public RVExtFeatureValue { \

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2024 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*

Some files were not shown because too many files have changed in this diff Show More