Compare commits

...

1515 Commits

Author SHA1 Message Date
Jan Lahoda
5251405ce9 8368848: JShell's code completion not always working for multi-snippet inputs
Reviewed-by: asotona
2025-10-02 06:52:59 +00:00
Boris Ulasevich
fa3af820ad 8338197: [ubsan] ad_x86.hpp:6417:11: runtime error: shift exponent 100 is too large for 32-bit type 'unsigned int'
Reviewed-by: kvn, dlong
2025-10-01 23:49:03 +00:00
Igor Veresov
4df41d2a75 8368698: runtime/cds/appcds/aotCache/OldClassSupport.java assert(can_add()) failed: Cannot add TrainingData objects
Reviewed-by: heidinga, iklam
2025-10-01 23:15:13 +00:00
Johannes Graham
db6320df98 8368968: FloatingDecimal: Clean up unused code
Reviewed-by: rgiulietti
2025-10-01 20:00:43 +00:00
Joe Darcy
ef724f40c1 8368985: Small Float16 refactorings
Reviewed-by: rgiulietti, jbhateja
2025-10-01 19:56:05 +00:00
Justin Lu
6b72b77803 6177299: [Fmt-Nu] NumberFormat.getPercentInstance() does not work correctly
Reviewed-by: naoto
2025-10-01 17:57:43 +00:00
Pavel Rappo
e44ef0c32b 8367704: Fix minor documentation issues in java.time.**
Reviewed-by: naoto, rriggs
2025-10-01 16:05:31 +00:00
Francesco Andreuzzi
c54dcefbfd 8368938: Remove ObjectWaiter::badObjectWaiterPtr
Reviewed-by: shade, ayang
2025-10-01 14:59:14 +00:00
Roberto Castañeda Lozano
182fbc2b83 8368675: IGV: nodes are wrongly marked as changed in the difference view
Reviewed-by: mchevalier, mhaessig, dfenacci, tholenstein
2025-10-01 13:55:18 +00:00
Justin King
c69456e87a 8368962: hotspot/cpu/aarch64/bytecodes_aarch64.{hpp,cpp} is unused
Reviewed-by: aph, mhaessig
2025-10-01 13:23:13 +00:00
Jan Lahoda
3607e9986f 8367279: Test tools/javac/tree/TreePosTest.java timed out
Reviewed-by: asotona
2025-10-01 11:16:44 +00:00
Richard Reingruber
5a2700f231 8368861: [TEST] compiler/floatingpoint/ScalarFPtoIntCastTest.java expects x86 IR on non-x86 platforms
Reviewed-by: sviswanathan, mdoerr
2025-10-01 09:26:43 +00:00
Johan Sjölen
84e5d63b9f 8368885: NMT CommandLine tests can check for error better
Reviewed-by: phubner, azafari, shade
2025-10-01 09:01:19 +00:00
Hamlin Li
f49849a5ed 8368893: RISC-V: crash after JDK-8352673 on fastdebug version
Reviewed-by: fyang, dzhang
2025-10-01 08:22:02 +00:00
Thomas Schatzl
6c2d383492 8368953: Document the reason why Serial/Parallel/G1 use zero as dirty card value
Co-authored-by: Albert Mingkun Yang <ayang@openjdk.org>
Reviewed-by: ayang, iwalulya
2025-10-01 08:08:19 +00:00
Thomas Schatzl
1188ca55f5 8368954: G1: Document why G1 uses TLS storage for the current card table reference
Reviewed-by: ayang, rcastanedalo, iwalulya
2025-10-01 08:07:59 +00:00
Kim Barrett
394eb80a48 8368957: Remove metaprogramming/logical.hpp in favor of C++17 facilities
Reviewed-by: mchevalier, iwalulya
2025-10-01 06:12:05 +00:00
Kim Barrett
8c3ca024c7 8368817: Convert JDK_Version::to_string to use stringStream instead of jio_snprintf-chain
Reviewed-by: fandreuzzi, jsjolen
2025-10-01 03:58:49 +00:00
Jaikiran Pai
17d8fa8e42 8367026: Reorder the timeout failure handler commands to have jstack run before the rest
Reviewed-by: erikj, lmesnik
2025-10-01 01:40:06 +00:00
SendaoYan
0366d8823b 8354894: java/lang/Thread/virtual/Starvation.java timeout on server with high CPUs
Co-authored-by: Alan Bateman <alanb@openjdk.org>
Reviewed-by: jpai
2025-10-01 00:52:30 +00:00
Mohamed Issa
9b02896b47 8360558: Use hex literals instead of decimal literals in math intrinsic constants
Reviewed-by: mhaessig, sparasa, jbhateja
2025-09-30 21:08:06 +00:00
Francesco Andreuzzi
fe9dbcc496 8368599: ShenandoahConcurrentMark could use ThreadsClaimTokenScope
Reviewed-by: ayang, shade, wkemper
2025-09-30 16:15:21 +00:00
Robbin Ehn
07ecc93dbd 8367692: RISC-V: Align post call nop
Reviewed-by: fyang, fjiang, mli
2025-09-30 15:10:30 +00:00
Erik Gahlin
6b4b10200e 8368809: JFR: Remove events from testSettingConfiguration in TestActiveSettingEvent
Reviewed-by: mgronlun
2025-09-30 14:24:05 +00:00
Erik Gahlin
8cc54ec6b8 8368563: JFR: Improve jfr query help text
Reviewed-by: mgronlun
2025-09-30 14:14:53 +00:00
Anass Baya
07ea907e4f 8361606: ConsumeNextMnemonicKeyTypedTest.java fails on Windows: character typed with VK_A: a
8321303: Intermittent open/test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.java failure on Linux

Reviewed-by: dnguyen, honkar, aivanov
2025-09-30 13:57:07 +00:00
Albert Mingkun Yang
444007fc23 8368842: Parallel: Refactor PCAddThreadRootsMarkingTaskClosure
Reviewed-by: fandreuzzi, tschatzl
2025-09-30 12:27:22 +00:00
Jan Lahoda
8606d3f840 8365060: Historical data for JDK 8 should include the jdk.net package
Reviewed-by: shade, liach
2025-09-30 11:54:37 +00:00
Yasumasa Suenaga
64c46d8efc 8367953: JFR sampler threads does not appear in thread dump
Reviewed-by: mgronlun
2025-09-30 11:32:44 +00:00
Francesco Andreuzzi
ba0a6eed1a 8368357: Some source files have initial blank lines
Reviewed-by: stefank, ayang, serb, jwaters, jpai
2025-09-30 10:41:13 +00:00
Markus Grönlund
b19e872192 8362573: Incorrect weight of the first ObjectAllocationSample JFR event (regression)
Reviewed-by: egahlin
2025-09-30 10:35:23 +00:00
Afshin Zafari
aea71ccab7 8342730: Get rid of SummaryDiff in VMATree
Reviewed-by: jsjolen, phubner
2025-09-30 08:54:53 +00:00
Thomas Schatzl
586167cff5 8363932: G1: Better distribute KlassCleaningTask
Reviewed-by: ayang, coleenp
2025-09-30 08:49:08 +00:00
Hamlin Li
c0a4c0ba97 8367981: Update CompactHashtable for readability
Reviewed-by: iklam, matsaave
2025-09-30 08:11:02 +00:00
Anton Artemov
2746c1a555 8367485: os::physical_memory is broken in 32-bit JVMs when running on 64-bit OSes
Reviewed-by: jsikstro, sgehwolf, stefank, stuefe, aph
2025-09-30 05:09:33 +00:00
Sergey Bylokhov
89af6e13f2 8362204: test/jdk/sun/awt/font/TestDevTransform.java fails on Ubuntu 24.04
Reviewed-by: avu, prr
2025-09-30 03:10:41 +00:00
Fei Yang
538a722c2e 8368732: RISC-V: Detect support for misaligned vector access via hwprobe
Reviewed-by: mli, dzhang
2025-09-30 01:40:35 +00:00
Alexey Semenyuk
c57003c9b8 8368890: open/test/jdk/tools/jpackage/macosx/NameWithSpaceTest.java fails randomly
Reviewed-by: almatvee
2025-09-29 21:39:42 +00:00
Afshin Zafari
2f29b3f24a 8366884: NMT fails with MallocLimit: reached category "mtCompiler" limit
Reviewed-by: phubner, jsjolen
2025-09-29 19:24:28 +00:00
Hannes Greule
59e76af47b 8367967: C2: "fatal error: Not monotonic" with Mod nodes
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: bmaillard, vlivanov, chagedorn, shade
2025-09-29 18:40:43 +00:00
Chen Liang
6c8e384c63 8356022: Migrate descriptor parsing from generics to BytecodeDescriptor
Reviewed-by: rriggs
2025-09-29 18:22:24 +00:00
Chris Plummer
3d97e17a31 8367318: Test vmTestbase/nsk/jdi/MethodEntryRequest/addClassFilter_rt/filter_rt001/TestDescription.java timed out after passing
Reviewed-by: amenkov, sspitsyn
2025-09-29 17:46:17 +00:00
Brian Burkhalter
aabf699dd0 8355339: Test java/io/File/GetCanonicalPath.java failed: The specified network name is no longer available
Reviewed-by: alanb
2025-09-29 17:43:35 +00:00
Hamlin Li
9d71af108e 8367253: RISC-V: refactor dependent cpu extensions
Reviewed-by: fyang, luhenry
2025-09-29 16:04:54 +00:00
Joe Darcy
63688d894e 8368822: Refactor Float16.valueOf(double)
Reviewed-by: rgiulietti
2025-09-29 14:48:04 +00:00
Roger Riggs
9d9c0e0670 8368793: java/lang/StringBuilder/RacingSBThreads.java timed out in Xcomp subtest
Reviewed-by: iris, alanb, syan
2025-09-29 13:55:49 +00:00
Daniel Gredler
fdbba049a2 8368775: Remove outdated comment in OutlineTextRenderer
Reviewed-by: prr, dnguyen, serb
2025-09-29 10:39:25 +00:00
Daniel Gredler
6165921449 7156751: [macosx] Problem with printing
Reviewed-by: prr, serb
2025-09-29 10:28:45 +00:00
Thomas Schatzl
08b677bba4 8071277: G1: Merge commits and uncommits of contiguous memory
Reviewed-by: iwalulya, ayang
2025-09-29 10:05:45 +00:00
Albert Mingkun Yang
75269fdb49 8368715: Serial: Add GCTraceTime for marking from roots subphases during full gc marking
Reviewed-by: fandreuzzi, tschatzl, iwalulya
2025-09-29 07:26:43 +00:00
Jan Lahoda
d53190ac44 8366582: Test jdk/jshell/ToolSimpleTest.java failed: provider not found
Reviewed-by: asotona
2025-09-29 05:36:18 +00:00
Axel Boldt-Christmas
e19ec6f785 8368754: runtime/cds/appcds/SignedJar.java log regex is too strict
Reviewed-by: iklam, dholmes
2025-09-29 05:19:56 +00:00
Sergey Bylokhov
320230db5f 8367795: HeadlessMalfunctionTest may fail due to timeout
Reviewed-by: prr
2025-09-28 04:49:58 +00:00
Kelvin Nilsen
af8fb20ac0 8368307: Shenandoah: get_next_bit_impl should special case weak and strong mark bits
Reviewed-by: wkemper
2025-09-27 04:07:29 +00:00
SendaoYan
9093d3a04c 8368668: Several vmTestbase/vm/gc/compact tests timed out on large memory machine
Reviewed-by: lmesnik
2025-09-27 02:37:39 +00:00
Archie Cobbs
5b1ebbb271 8366561: Improve documentation for how the -Xlint flag works
Reviewed-by: vromero
2025-09-27 02:34:27 +00:00
Mohamed Issa
37f0e74d32 8364305: Support AVX10 saturating floating point conversion instructions
Reviewed-by: sviswanathan, sparasa, jbhateja
2025-09-26 21:10:30 +00:00
Alex Menkov
cedc0117ac 8365057: Add support for java.util.concurrent lock information to Thread.dump_to_file
Co-authored-by: Alex Menkov <amenkov@openjdk.org>
Co-authored-by: Alan Bateman <alanb@openjdk.org>
Reviewed-by: sspitsyn, alanb
2025-09-26 20:49:36 +00:00
Justin Lu
12c0f29b97 8368498: Use JUnit instead of TestNG for jdk_text tests
Reviewed-by: naoto
2025-09-26 20:12:48 +00:00
Francesco Andreuzzi
c6cecc581f 8283198: Remove src/jdk.hotspot.agent/test
Reviewed-by: amenkov, ayang, sspitsyn
2025-09-26 19:51:04 +00:00
Leonid Mesnik
62cc347242 8368699: nsk/jvmti/scenarios/events/EM04/em04t001/em04t001.cpp destroys jvmti monitor when VM is dead
Reviewed-by: sspitsyn
2025-09-26 19:36:00 +00:00
Leonid Mesnik
556dfddac8 8308027: GetThreadListStackTraces/OneGetThreadListStackTraces.java should be skipped when thread factory is used
Reviewed-by: dholmes, sspitsyn
2025-09-26 19:34:04 +00:00
Naoto Sato
bdf6853cfd 8368328: CompactNumberFormat.clone does not produce independent instances
Reviewed-by: rgiulietti, jlu
2025-09-26 16:50:05 +00:00
Ashutosh Mehra
aa6ff45052 8368693: Duplicate methods in vmClasses
Reviewed-by: liach, coleenp, dholmes
2025-09-26 14:56:03 +00:00
Albert Mingkun Yang
25abdd85c4 8368752: Serial: Remove unused arg of DefNewGeneration::gc_epilogue
Reviewed-by: tschatzl, fandreuzzi
2025-09-26 14:48:26 +00:00
Manuel Hässig
501b2b3ebc 8368615: VSCode IDE: Oracle Java extension routinely runs out of memory
Reviewed-by: erikj
2025-09-26 14:28:35 +00:00
Roger Riggs
2360542e89 8368683: [process] Increase jtreg debug output maxOutputSize for TreeTest
Reviewed-by: msheppar
2025-09-26 14:19:12 +00:00
Alexey Semenyuk
bdb7d25ac1 8358723: jpackage signing issues: the main launcher doesn't have entitlements
Reviewed-by: almatvee
2025-09-26 13:59:39 +00:00
Joachim Kern
f0e1078c71 8368250: [AIX] now ubsan vptr check is also possible (follow up of JDK-8354686)
Reviewed-by: erikj, stuefe, mbaesken
2025-09-26 12:14:58 +00:00
Matthias Baesken
7bfdb01207 8368565: Adjust comment regarding dependency of libjvm.so to librt
Reviewed-by: dholmes
2025-09-26 09:00:59 +00:00
Matthias Baesken
a80ba6260e 8357691: File blocked.certs contains bad content when boot jdk 25 is used, sun/security/lib/CheckBlockedCerts.java failing
Reviewed-by: erikj, iklam
2025-09-26 07:56:40 +00:00
Arno Zeller
b90799c0e9 8368616: runtime/cds/appcds/aotCache/JavaAgent.java#dynamic fails on non CDS platforms/builds after JDK-8362561
Reviewed-by: mbaesken, shade, iklam
2025-09-26 07:47:26 +00:00
Albert Mingkun Yang
873078028b 8368006: Parallel: Skip full regions in dense prefix during Full GC
Reviewed-by: gli, fandreuzzi
2025-09-26 07:27:51 +00:00
Thomas Stuefe
a663812121 8368124: Show useful thread names in ASAN reports
Reviewed-by: dholmes, mbaesken
2025-09-26 06:14:28 +00:00
Alexey Semenyuk
ca03080c9f 8368030: Make package bundlers stateless
Reviewed-by: almatvee
2025-09-26 00:10:21 +00:00
Daniel D. Daugherty
648582ab78 8368714: [BACKOUT] JDK-8368468 Split out everything but configure results from spec.gmk
Reviewed-by: ihse
2025-09-25 20:55:05 +00:00
Ioi Lam
52e777845f 8367910: Reduce warnings about unsupported classes in AOT cache creation
Reviewed-by: dholmes, kvn, shade
2025-09-25 19:59:52 +00:00
Daniel Jeliński
3c9fd7688f 8368514: TLS stateless session ticket decryption fails on some providers
Reviewed-by: valeriep, abarashev
2025-09-25 18:47:32 +00:00
Johannes Graham
a48538dd63 8367324: Avoid redundant parsing when formatting with DigitList
Reviewed-by: jlu, rgiulietti
2025-09-25 18:23:13 +00:00
Daniel Jeliński
80cb0ead50 8367133: DTLS: fragmentation of Finished message results in handshake failure
Reviewed-by: jnimeh
2025-09-25 18:17:19 +00:00
Valerie Peng
5c596e2a95 8360463: Ambiguity in Cipher.getInstance() specification between NoSuchAlgorithmException and NoSuchPaddingException
Reviewed-by: mullan
2025-09-25 18:10:58 +00:00
Magnus Ihse Bursie
32ab0dbc0b 8368674: Incremental builds keep rebuilding interim jmod
Reviewed-by: cstein, erikj
2025-09-25 17:44:55 +00:00
Magnus Ihse Bursie
de1f5a3c43 8368468: Split out everything but configure results from spec.gmk
Reviewed-by: erikj
2025-09-25 17:42:46 +00:00
Albert Mingkun Yang
741221988e 8368261: Serial: Use more precise nmethod scope during Full GC marking
Reviewed-by: stefank, fandreuzzi
2025-09-25 16:47:22 +00:00
William Kemper
8ca1feaf7e 8368499: GenShen: Do not collect age census during evac when adaptive tenuring is disabled
Reviewed-by: kdnilsen, ysr
2025-09-25 15:37:02 +00:00
Artur Barashev
569e78080b 8365820: Apply certificate scope constraints to algorithms in "signature_algorithms" extension when "signature_algorithms_cert" extension is not being sent
Reviewed-by: hchao
2025-09-25 14:44:06 +00:00
SendaoYan
043aeaf02a 8368552: H3ErrorHandlingTest.testCloseControlStream intermittent timed out
Reviewed-by: dfuchs
2025-09-25 14:30:47 +00:00
Boris Ulasevich
2b451131a5 8359378: aarch64: crash when using -XX:+UseFPUForSpilling
Reviewed-by: aph, rcastanedalo
2025-09-25 13:35:36 +00:00
Hamlin Li
d1ea6ea22d 8367103: RISC-V: store cpu features in a bitmap
Reviewed-by: fyang, luhenry
2025-09-25 12:42:18 +00:00
Matthew Donovan
26b5708c47 8360882: Tests throw SkippedException when they should fail
Reviewed-by: mullan
2025-09-25 12:15:09 +00:00
Erik Gahlin
77a71c5b09 8366896: JFR: Use GarbageCollection.name in gc view
Reviewed-by: mgronlun
2025-09-25 12:08:39 +00:00
Guanqiang Han
52e5504627 8368089: G1: G1PeriodicGCTask::should_start_periodic_gc may use uninitialised value if os::loadavg is unsupported
Reviewed-by: ayang, tschatzl, iwalulya
2025-09-25 11:55:18 +00:00
Daniel Gredler
2407eb0522 8367867: [macosx] Ignorable whitespace in text not removed when printing
Reviewed-by: prr, serb
2025-09-25 10:08:56 +00:00
Dingli Zhang
67cb53d088 8368206: RISC-V: compiler/vectorapi/VectorMaskCompareNotTest.java fails when running without RVV
Reviewed-by: fyang, mhaessig, mli
2025-09-25 10:06:57 +00:00
Amit Kumar
44cb9cad26 8368518: [s390x] test failure with failed: wrong size of mach node
Reviewed-by: dlong, mdoerr, lucy
2025-09-25 09:59:37 +00:00
Serhiy Sachkov
4f4030a423 8333526: Restructure java/nio/channels/DatagramChannel/StressNativeSignal.java to a fail fast exception handling policy
Reviewed-by: dfuchs
2025-09-25 09:51:51 +00:00
Daniel Fuchs
d85e410c19 8368546: java/net/httpclient/RedirectTimeoutTest.java fails intermittently for HTTP/3 in tier7
Reviewed-by: jpai, syan, djelinski, vyazici
2025-09-25 09:42:53 +00:00
Joel Sikström
d407ef6510 8368251: Parallel: Refactor lgrp_id used in MutableNUMASpace
Reviewed-by: lkorinth, ayang, tschatzl
2025-09-25 09:38:43 +00:00
Alice Pellegrini
ba44656b97 8366454: TLS1.3 server fails with bad_record_mac when receiving encrypted records with empty body
Co-authored-by: Daniel Jeliński <djelinski@openjdk.org>
Reviewed-by: djelinski
2025-09-25 08:44:14 +00:00
Fredrik Bredberg
847b107df8 8365191: Cleanup after removing LockingMode related code
Reviewed-by: coleenp, dholmes, yzheng, mdoerr, ayang, fyang, amitkumar
2025-09-25 08:15:45 +00:00
Hamlin Li
e6ddb39635 8368525: nmethod ic cleanup
Reviewed-by: chagedorn, mhaessig
2025-09-25 08:11:15 +00:00
Serguei Spitsyn
17244c699a 8368159: Significant performance overhead when started with jdwp agent and unattached debugger
Reviewed-by: lmesnik, cjplummer
2025-09-25 05:41:32 +00:00
Igor Veresov
2aafda1968 8366948: AOT cache creation crashes when iterating training data
Reviewed-by: vlivanov, iklam
2025-09-24 23:07:44 +00:00
Kelvin Nilsen
a2870d6b49 8368015: Shenandoah: fix error in computation of average allocation rate
Reviewed-by: wkemper
2025-09-24 22:49:01 +00:00
Ioi Lam
17accf4a06 8368174: Proactive initialization of @AOTSafeClassInitializer classes
Reviewed-by: liach, adinn, asmehra
2025-09-24 20:58:26 +00:00
Ioi Lam
8f87fdce0b 8368182: AOT cache creation fails with class defined by JNI
Reviewed-by: dholmes, matsaave
2025-09-24 20:52:28 +00:00
Justin Lu
5d93242028 8368335: Refactor the rest of Locale TestNG based tests to JUnit
Reviewed-by: naoto, liach
2025-09-24 19:29:07 +00:00
Brian Burkhalter
4141534e4a 8368156: java/nio/file/Files/IsSameFile.java failing (win)
Reviewed-by: vyazici, jpai
2025-09-24 18:47:42 +00:00
Mahendra Chhipa
7fe71a7813 8318662: Refactor some jdk/java/net/httpclient/http2 tests to JUnit
Reviewed-by: dfuchs
2025-09-24 17:48:11 +00:00
Phil Race
52a923f20c 8367702: PrintJob.getGraphics() should return null after PrintJob.end
Reviewed-by: azvegint
2025-09-24 16:28:44 +00:00
Phil Race
f489598d43 8221451: PIT: sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh fails
7184899: Test sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh fail

Reviewed-by: psadhukhan, azvegint
2025-09-24 16:11:43 +00:00
Justin Lu
85f5bf3f41 8368308: ISO 4217 Amendment 180 Update
Reviewed-by: naoto, iris, coffeys
2025-09-24 16:06:41 +00:00
Daniel Lundén
faf6df5462 8325467: Support methods with many arguments in C2
Co-authored-by: Roberto Castañeda Lozano <rcastanedalo@openjdk.org>
Reviewed-by: rcastanedalo, kvn, epeter
2025-09-24 15:02:40 +00:00
Guanqiang Han
735afd93bb 8366421: ModifiedUtf.utfLen may overflow for giant string
Reviewed-by: liach, rriggs
2025-09-24 14:10:19 +00:00
Ashutosh Mehra
156eb767f1 8366905: Store AdapterBlob pointer in AdapterHandlerEntry
Reviewed-by: kvn, adinn
2025-09-24 13:37:58 +00:00
Thomas Schatzl
ed31023fc5 8368367: Test jdk/jfr/event/gc/detailed/TestGCHeapMemoryUsageEvent.java fails jdk.GCHeapMemoryUsage "expected 0 > 0"
Reviewed-by: iwalulya, ayang, syan
2025-09-24 13:37:33 +00:00
Thomas Schatzl
f7c9fef914 8352069: Renamings after JEP 522: G1 GC: Improve Throughput by Reducing Synchronization
Reviewed-by: iwalulya, ayang
2025-09-24 13:37:16 +00:00
Mikhail Yankelevich
2a232d0210 8360979: Remove use of Thread.stop in krb5/auto/KDC.java
Reviewed-by: weijun
2025-09-24 13:21:31 +00:00
Chen Liang
1cd186c7f7 8368331: ClassFile Signature parsing fails for type parameter with no supertype
Reviewed-by: asotona
2025-09-24 13:14:32 +00:00
Matthias Baesken
0a64358aa8 8368273: LIBPTHREAD dependency is not needed for some jdk libs
Reviewed-by: ihse
2025-09-24 13:07:45 +00:00
Alan Bateman
727d41d288 8368226: Remove Thread.stop
Reviewed-by: vklang, jpai, lancea, serb
2025-09-24 13:03:34 +00:00
Coleen Phillimore
e8adc1f816 8367989: Remove InstanceKlass::allocate_objArray and ArrayKlass::allocate_arrayArray
Reviewed-by: stefank, fparain
2025-09-24 12:51:50 +00:00
Fei Yang
2313f8e4eb 8368366: RISC-V: AlignVector is mistakenly set to AvoidUnalignedAccesses
Reviewed-by: fjiang, rehn, mli
2025-09-24 11:31:09 +00:00
Volkan Yazici
288822a5c2 8367068: Remove redundant HttpRequest.BodyPublisher tests
Reviewed-by: dfuchs
2025-09-24 08:07:58 +00:00
Joachim Kern
f993f90c86 8360401: [AIX] java/lang/ProcessBuilder/FDLeakTest/FDLeakTest.java fails since JDK-8210549
Reviewed-by: mdoerr, stuefe
2025-09-24 07:38:23 +00:00
Axel Boldt-Christmas
303686684c 8367972: ZGC: Reduce ZBarrierSet includes
Reviewed-by: stefank, eosterlund
2025-09-24 06:28:13 +00:00
Daniel Jeliński
3183a13f66 8368073: PKCS11 HKDF can't use byte array IKM in FIPS mode
Reviewed-by: valeriep
2025-09-24 06:19:24 +00:00
SendaoYan
5350ce1059 8368373: Test H3MalformedResponseTest.testMalformedResponse intermittent timed out
Reviewed-by: dfuchs, djelinski
2025-09-24 06:03:59 +00:00
Prasanta Sadhukhan
7d3452b37e 8368181: ProblemList java/awt/Dialog/ModalExcludedTest/ModalExcludedTest.java
Reviewed-by: serb, azvegint
2025-09-24 02:50:09 +00:00
erifan
528f93f8cb 8367391: Loss of precision on implicit conversion in vectornode.cpp
Reviewed-by: chagedorn, roland
2025-09-24 01:35:51 +00:00
William Kemper
f36c33c86d 8368152: Shenandoah: Incorrect behavior at end of degenerated cycle
Reviewed-by: kdnilsen, ysr
2025-09-24 00:46:45 +00:00
Mohamed Issa
f68cba3d2f 8367611: Enable vblendvp[sd] on Future ECore
Reviewed-by: mhaessig, sviswanathan, vpaprotski
2025-09-23 20:20:49 +00:00
Damon Nguyen
f1ee1b4a3d 8366844: Update and automate MouseDraggedOriginatedByScrollBarTest.java
Reviewed-by: aivanov, honkar
2025-09-23 17:36:55 +00:00
Roger Riggs
218e82c875 8368192: Test java/lang/ProcessBuilder/Basic.java#id0 fails with Exception: Stack trace
Reviewed-by: jpai, stuefe
2025-09-23 16:59:00 +00:00
Matthias Baesken
82bdef1639 8367913: LIBDL dependency seems to be not needed for some jdk libs
Reviewed-by: aivanov, ihse, clanger, mdoerr
2025-09-23 15:07:59 +00:00
Erik Gahlin
4df04a2543 8366809: JFR: Use factory for aggregator functions
Reviewed-by: mgronlun
2025-09-23 14:53:04 +00:00
Ioi Lam
fd30ae988b 8350550: Preload classes from AOT cache during VM bootstrap
Reviewed-by: kvn, heidinga, asmehra
2025-09-23 14:43:16 +00:00
Viktor Klang
61acdf6512 8365065: cancelled ForkJoinPool tasks no longer throw CancellationException
Co-authored-by: Doug Lea <dl@openjdk.org>
Reviewed-by: alanb
2025-09-23 13:09:15 +00:00
Chen Liang
f9b91a7836 8368050: Validation missing in ClassFile signature factories
Reviewed-by: asotona
2025-09-23 12:47:56 +00:00
Erik Gahlin
4bc86a26db 8367948: JFR: MethodTrace threshold setting has no effect
Reviewed-by: shade
2025-09-23 12:36:13 +00:00
Thomas Schatzl
02c78bb47e 8367731: G1: Make G1CollectionSet manage the young gen cset group
Reviewed-by: iwalulya, ayang
2025-09-23 11:46:37 +00:00
Magnus Ihse Bursie
dbf787c6b7 8368326: Don't export unresolved make variables from configure
Reviewed-by: erikj
2025-09-23 11:42:20 +00:00
Shaojin Wen
e122f4dd0d 8368024: Remove StringConcatFactory#generateMHInlineCopy
Reviewed-by: redestad
2025-09-23 09:46:56 +00:00
Jaikiran Pai
29908148f8 8367598: Switch to CRC32C for SEED calculation in jdk.test.lib.Utils
Reviewed-by: weijun
2025-09-23 09:42:56 +00:00
Francesco Andreuzzi
b48f51932f 8368345: Remove leftover includes of strongRootsScope.hpp
Reviewed-by: stefank, tschatzl, ayang
2025-09-23 09:40:28 +00:00
Adam Sotona
d316d3f74f 8366926: Unexpected exception occurs when executing code in a "local" JShell environment
Reviewed-by: liach, jlahoda
2025-09-23 09:09:46 +00:00
Thomas Schatzl
2e99ed6422 8368080: G1: Unnecessary initialization of G1CMTask's mark stats table
Reviewed-by: iwalulya, shade
2025-09-23 09:07:09 +00:00
Ivan Walulya
3e5094ed12 8366865: Allocation GC Pauses Triggered after JVM has started shutdown
Reviewed-by: ayang, tschatzl
2025-09-23 08:19:12 +00:00
Shawn M Emery
360b6af1b1 8364657: Crash for SecureRandom.generateSeed(0) on Windows x86-64
Co-authored-by: Jaikiran Pai <jpai@openjdk.org>
Reviewed-by: weijun, jpai
2025-09-23 07:54:51 +00:00
Axel Boldt-Christmas
47ed1a8d17 8368213: ZGC: Cleanup dead code, unimplemented declarations, unused private fields
Reviewed-by: stefank, jsikstro
2025-09-23 07:15:06 +00:00
Axel Boldt-Christmas
7ed72d943b 8368212: ZGC: Fix spelling and typos in comments
Reviewed-by: jsikstro, stefank
2025-09-23 07:12:27 +00:00
Axel Boldt-Christmas
43531064c2 8368214: ZGC: Remove double newlines
Reviewed-by: stefank, jsikstro
2025-09-23 07:11:56 +00:00
Dingli Zhang
942b21772a 8368247: RISC-V: enable vectorapi test for expand operation
Reviewed-by: mli, fyang
2025-09-23 07:00:17 +00:00
SendaoYan
61c5245bf7 8367869: Test java/io/FileDescriptor/Sync.java timed out
Reviewed-by: jpai, shade, rriggs
2025-09-23 00:33:05 +00:00
Alexey Semenyuk
b11b1f1186 8343221: IOUtils.copyRecursive() doesn't create parent directories
Reviewed-by: almatvee
2025-09-22 23:56:49 +00:00
Joe Darcy
4882559ae3 8367942: Add API note discussing Double.compareTo total order and IEEE 754 total order
Reviewed-by: rgiulietti
2025-09-22 21:30:47 +00:00
Magnus Ihse Bursie
d0fe8f7ede 8368312: Move CC_OUT_OPTION out of spec.gmk
Reviewed-by: erikj
2025-09-22 21:03:15 +00:00
Damon Nguyen
9f7b9887cb 8366149: JNI exception pending in Java_sun_awt_X11GraphicsDevice_pGetBounds of awt_GraphicsEnv.c:1484
Reviewed-by: aivanov, prr
2025-09-22 20:29:48 +00:00
Sean Coffey
47efe3c794 8343395: SSLLogger doesn't work for formatted messages
Reviewed-by: weijun
2025-09-22 18:41:07 +00:00
Man Cao
bdfe05b595 8368071: Compilation throughput regressed 2X-8X after JDK-8355003
Reviewed-by: iveresov, shade
2025-09-22 18:05:48 +00:00
Chris Plummer
c3aaa8751a 8361955: [GCC static analyzer] libjdwp/threadControl.c threadControl_setPendingInterrupt error: dereference of NULL 'node'
Reviewed-by: dholmes, sspitsyn, lmesnik
2025-09-22 17:22:01 +00:00
Harshitha Onkar
58270b757c 8346839: [TESTBUG] "java/awt/textfield/setechochartest4/setechochartest4.java" failed because the test frame disappears on clicking "Click Several Times" button
Reviewed-by: psadhukhan, serb
2025-09-22 17:02:17 +00:00
Justin Lu
ced3f13f4e 8367901: Calendar.roll(hour, 24) returns wrong result
Reviewed-by: naoto, iris
2025-09-22 16:58:00 +00:00
Kerem Kat
2f74e14334 8367862: debug.cpp: Do not print help message for methods ifdef'd out
Reviewed-by: mhaessig, kevinw, shade, phh
2025-09-22 15:31:21 +00:00
Alexey Ivanov
e365b7d69c 8366369: Add @requires linux for GTK L&F tests
Reviewed-by: serb, prr, tr
2025-09-22 15:08:45 +00:00
Roger Riggs
2b28c28384 8368298: ProblemList: Test java/lang/ProcessBuilder/Basic.java
Reviewed-by: jpai
2025-09-22 15:05:07 +00:00
Leo Korinth
bf726e8217 8285984: G1: Use standard idiom for inlined payload in G1MonotonicArena::Segment
Reviewed-by: aboldtch, tschatzl
2025-09-22 14:22:57 +00:00
Magnus Ihse Bursie
3c6ef5e27a 8368102: Don't store macros in spec.gmk
Reviewed-by: erikj
2025-09-22 14:15:51 +00:00
Thomas Schatzl
8d5c005642 8342382: Implement JEP 522: G1 GC: Improve Throughput by Reducing Synchronization
Co-authored-by: Amit Kumar <amitkumar@openjdk.org>
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Co-authored-by: Carlo Refice <carlo.refice@oracle.com>
Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: iwalulya, rcastanedalo, aph, ayang
2025-09-22 13:47:45 +00:00
Magnus Ihse Bursie
ca182912a3 8368094: Fix problem list errors
Reviewed-by: dholmes, dcubed, syan
2025-09-22 13:35:35 +00:00
Casper Norrbin
2131584add 8367536: Change RBTree to use C++17 features
Reviewed-by: kbarrett, ayang
2025-09-22 12:57:01 +00:00
Albert Mingkun Yang
f779ad64ac 8368104: Parallel: Refactor PSThreadRootsTaskClosure
Reviewed-by: stefank, fandreuzzi
2025-09-22 12:56:31 +00:00
Manuel Hässig
0ba4141cb1 8366878: Improve flags of compiler/loopopts/superword/TestAlignVectorFuzzer.java
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: epeter, mchevalier
2025-09-22 11:24:30 +00:00
Daniel Fuchs
e8db14f584 8349910: Implement JEP 517: HTTP/3 for the HTTP Client API
Co-authored-by: Aleksei Efimov <aefimov@openjdk.org>
Co-authored-by: Bradford Wetmore <wetmore@openjdk.org>
Co-authored-by: Daniel Jeliński <djelinski@openjdk.org>
Co-authored-by: Darragh Clarke <dclarke@openjdk.org>
Co-authored-by: Jaikiran Pai <jpai@openjdk.org>
Co-authored-by: Michael McMahon <michaelm@openjdk.org>
Co-authored-by: Volkan Yazici <vyazici@openjdk.org>
Co-authored-by: Conor Cleary <conor.cleary@oracle.com>
Co-authored-by: Patrick Concannon <patrick.concannon@oracle.com>
Co-authored-by: Rahul Yadav <rahul.r.yadav@oracle.com>
Co-authored-by: Daniel Fuchs <dfuchs@openjdk.org>
Reviewed-by: djelinski, jpai, aefimov, abarashev, michaelm
2025-09-22 10:12:12 +00:00
Leo Korinth
433d2ec534 8367409: G1: Remove unused G1MonotonicArena::Segment::copy_to()
Reviewed-by: ayang, tschatzl
2025-09-22 09:53:56 +00:00
Albert Mingkun Yang
44454633eb 8368086: G1: Use ThreadsClaimTokenScope in G1CMRemarkTask
Reviewed-by: fandreuzzi, stefank, iwalulya
2025-09-22 07:54:25 +00:00
Albert Mingkun Yang
f10fbe1fb4 8368072: Remove redundant arguments of MarkingNMethodClosure
Reviewed-by: stefank, fandreuzzi
2025-09-22 07:20:00 +00:00
Johan Sjölen
258fcf9f5e 8367987: Memory leak in MemBaseline: Must delete _vma_allocations
Reviewed-by: phubner, azafari
2025-09-22 07:15:41 +00:00
Christian Stein
682fd7846c 8366678: Use JUnit in test/langtools/tools/javac
Reviewed-by: liach
2025-09-22 06:02:20 +00:00
Axel Boldt-Christmas
5efaa9970a 8367298: ZGC: Enhance zaddress type system's assert messages
Reviewed-by: stefank, tschatzl
2025-09-22 05:32:11 +00:00
Axel Boldt-Christmas
a1b43c3046 8368087: ZGC: Make ZStatLoad::print() logging conditional on os::loadavg support
Reviewed-by: eosterlund, stefank, jsikstro
2025-09-22 05:06:25 +00:00
Tejesh R
5e12ff9ff6 8213530: Test java/awt/Modal/ToFront/DialogToFrontModeless1Test.java fails on Linux
Reviewed-by: psadhukhan, dnguyen
2025-09-22 03:45:37 +00:00
erifan
e6f8450d95 8363989: AArch64: Add missing backend support of VectorAPI expand operation
Reviewed-by: epeter, eliu, xgong
2025-09-22 02:03:03 +00:00
Ioi Lam
cc65836d00 8367719: Refactor JNI code that uses class_to_verify_considering_redefinition()
Reviewed-by: coleenp, dholmes, sspitsyn
2025-09-20 17:28:05 +00:00
Ioi Lam
d21e73dee3 8366941: Excessive logging in serviceability tests causes timeout
Reviewed-by: lmesnik, sspitsyn
2025-09-20 17:26:07 +00:00
Francesco Andreuzzi
b03b6f54c5 8367988: NewFileSystemTests.readOnlyZipFileFailure fails when run by root user
Reviewed-by: jpai, bpb
2025-09-20 14:02:31 +00:00
Francesco Andreuzzi
5a684e3196 8368029: Several tests in httpserver/simpleserver should throw SkipException
Reviewed-by: djelinski, dfuchs
2025-09-20 06:48:54 +00:00
Renjith Kannath Pariyangad
4b544f93ad 8365379: SU3.applyInsets may produce wrong results
Reviewed-by: aivanov, prr, serb
2025-09-19 21:39:41 +00:00
Man Cao
25a4e26320 8367613: Test compiler/runtime/TestDontCompileHugeMethods.java failed
Reviewed-by: chagedorn, dfenacci
2025-09-19 19:53:33 +00:00
Srinivas Vamsi Parasa
3d4e049194 8367780: Enable UseAPX on Intel CPUs only when both APX_F and APX_NCI_NDD_NF cpuid features are present
Reviewed-by: sviswanathan, vpaprotski
2025-09-19 18:18:53 +00:00
Brian Burkhalter
bca1e6e9c3 8365626: (fs) Improve handling of broken links in Files.isSameFile() (win)
Reviewed-by: alanb
2025-09-19 17:06:23 +00:00
Leonid Mesnik
695e36b003 8367927: Remove 8043571-related tests from problemlists
Reviewed-by: dholmes, sspitsyn
2025-09-19 15:49:18 +00:00
Leonid Mesnik
16458b60c9 8367725: Incorrect reading of oop in SuspendResumeManager::suspend while thread is blocked
Reviewed-by: pchilanomate, dholmes, sspitsyn
2025-09-19 15:20:34 +00:00
Aleksey Shipilev
1512d889de 8348278: Trim InitialRAMPercentage to improve startup in default modes
Reviewed-by: eosterlund, sjohanss
2025-09-19 14:26:05 +00:00
Albert Mingkun Yang
54206943a1 8367651: Parallel: Remove workers number checking in constructor of PSAdjustTask
Reviewed-by: iwalulya, tschatzl
2025-09-19 14:15:37 +00:00
Artur Barashev
3798dcf75b 8367104: Check for RSASSA-PSS parameters when validating certificates against algorithm constraints
Reviewed-by: mullan
2025-09-19 13:06:25 +00:00
Magnus Ihse Bursie
2b7eee4a4c 8366899: SetupExecute should add the command line to vardeps
Reviewed-by: erikj
2025-09-19 13:04:18 +00:00
Volkan Yazici
87d50425fc 8367067: Improve exception handling in HttpRequest.BodyPublishers
Reviewed-by: jpai, dfuchs
2025-09-19 12:07:27 +00:00
Erik Gahlin
802d9c23dc 8367107: JFR: Refactor policy tests out of TestRemoteDump
Reviewed-by: mgronlun
2025-09-19 12:03:43 +00:00
Coleen Phillimore
fa00b24954 8365823: Revert storing abstract and interface Klasses to non-class metaspace
Reviewed-by: kvn, shade, stuefe
2025-09-19 11:54:34 +00:00
Thomas Schatzl
2bff4174e5 8367759: G1: Move G1UpdateRegionLivenessAndSelectForRebuildTask into its own file
Reviewed-by: ayang, iwalulya
2025-09-19 11:48:10 +00:00
Francisco Ferrari Bihurriet
1b9a11682d 8367782: VerifyJarEntryName.java: Fix modifyJarEntryName to operate on bytes and re-introduce verifySignatureEntryName
Reviewed-by: hchao
2025-09-19 10:23:04 +00:00
Magnus Ihse Bursie
65aea48588 8367859: Remove nio exception gensrc
Reviewed-by: naoto, erikj, bpb
2025-09-19 10:06:02 +00:00
Manuel Hässig
94a301a70e 8366875: CompileTaskTimeout should be reset for each iteration of RepeatCompilation
Reviewed-by: dlong, epeter
2025-09-19 09:08:29 +00:00
Stefan Johansson
937e19e86a 8366780: Enhance ProcSmapsParser and Printer to handle THPeligible field
Reviewed-by: stuefe, ayang
2025-09-19 08:48:35 +00:00
Kevin Walls
930d724923 8367983: javax/management/monitor/ThreadPoolTest.java and StartStopTest.java fail with Unexpected Maximum Pool Size Overflow!
Reviewed-by: cjplummer, dholmes
2025-09-19 08:15:28 +00:00
Albert Mingkun Yang
28879d3d03 8367848: Parallel: Use NMethodToOopClosure during Young GC
Reviewed-by: stefank, tschatzl
2025-09-19 07:37:14 +00:00
Tagir F. Valeev
48d394a245 8356995: Provide default methods min(T, T) and max(T, T) in Comparator interface
Reviewed-by: rriggs, smarks
2025-09-19 07:19:03 +00:00
Amit Kumar
898fcff037 8367325: [s390x] build failure due to JDK-8361376
Reviewed-by: mdoerr, dlong
2025-09-19 04:33:48 +00:00
Prasanta Sadhukhan
5855fd2f65 8367784: java/awt/Focus/InitialFocusTest/InitialFocusTest1.java failed with Wrong focus owner
Reviewed-by: honkar, dnguyen
2025-09-19 02:58:02 +00:00
SendaoYan
c0815e40b6 8367904: Test java/net/InetAddress/ptr/Lookup.java should throw SkippedException
Reviewed-by: fandreuzzi, dfuchs
2025-09-19 01:50:20 +00:00
Jaikiran Pai
7ec3fa5f0a 8367801: jtreg failure_handler - don't use the -L option for ps command
Reviewed-by: ayang, shade
2025-09-19 01:36:41 +00:00
Ioi Lam
e3a4c28409 8362657: Make tables used in AOT assembly phase GC-safe
Reviewed-by: shade, dholmes
2025-09-19 01:04:28 +00:00
William Kemper
6e4e966d9b 8365792: GenShen: assertion "Generations aren't reconciled"
Reviewed-by: xpeng, ysr
2025-09-18 21:18:37 +00:00
William Kemper
e4cb86df2b 8367473: Shenandoah: Make the detailed evacuation metrics a runtime diagnostic option
8367722: [GenShen] ShenandoahEvacuationStats is always empty

Reviewed-by: ysr, phh
2025-09-18 18:53:08 +00:00
William Kemper
4be4826ddb 8367450: Shenandoah: Log the composition of the collection set
Reviewed-by: ysr, kdnilsen, phh
2025-09-18 18:50:44 +00:00
Albert Mingkun Yang
14b9f53bb3 8367626: Parallel: Remove ParallelCompactData::summarize_dense_prefix
Reviewed-by: gli, fandreuzzi
2025-09-18 17:22:45 +00:00
Ioi Lam
000569da60 8362561: Remove diagnostic option AllowArchivingWithJavaAgent
Reviewed-by: sspitsyn, shade, dholmes, ayang
2025-09-18 16:09:26 +00:00
Kelvin Nilsen
c597384ad6 8367708: GenShen: Reduce total evacuation burden
Reviewed-by: wkemper
2025-09-18 16:06:59 +00:00
Chris Plummer
b8f2c7387f 8367614: Test vmTestbase/nsk/jdi/stress/serial/heapwalking001/TestDescription.java failed, passed and timed-out
Reviewed-by: dholmes, sspitsyn
2025-09-18 15:35:32 +00:00
Ben Perez
72e5ad3d21 8365581: Optimize Java implementation of P256 arithmetic
Reviewed-by: jnimeh
2025-09-18 15:23:05 +00:00
Albert Mingkun Yang
c927291ecf 8367739: Serial: Retry allocation after lock acquire in mem_allocate_work
Reviewed-by: fandreuzzi, tschatzl
2025-09-18 15:08:37 +00:00
Johan Sjölen
feaa654b1b 8367249: [REDO] MemBaseline accesses VMT without using lock
Reviewed-by: azafari, cnorrbin
2025-09-18 12:26:50 +00:00
Christian Stein
5db1dfe5c8 8361950: Update to use jtreg 8
Reviewed-by: jpai, iris, joehw, erikj, ihse, liach, alanb
2025-09-18 12:09:47 +00:00
Emanuel Peter
a49856bb04 8367969: C2: compiler/vectorapi/TestVectorMathLib.java fails without UnlockDiagnosticVMOptions
Reviewed-by: shade, mhaessig
2025-09-18 11:09:40 +00:00
Francesco Andreuzzi
4c7c009dd6 8367740: assembler_<cpu>.inline.hpp should not include assembler.inline.hpp
Reviewed-by: dfenacci, ayang
2025-09-18 09:09:27 +00:00
Manuel Hässig
04dcaa3412 8367721: Test compiler/arguments/TestCompileTaskTimeout.java crashed: SIGSEGV
Reviewed-by: mchevalier, chagedorn
2025-09-18 08:30:05 +00:00
Francesco Andreuzzi
4c5e901c96 8367689: Revert removal of several compilation-related vmStructs fields
Reviewed-by: kevinw, coleenp
2025-09-18 08:25:05 +00:00
Srinivas Mandalika
a306f88a84 8339791: Refactor MiscUndecorated/ActiveAWTWindowTest.java
Reviewed-by: psadhukhan
2025-09-18 06:41:20 +00:00
Damon Fenacci
a355edbbe4 8367278: Test compiler/startup/StartupOutput.java timed out after completion on Windows
Reviewed-by: syan, chagedorn
2025-09-18 06:24:49 +00:00
Ioi Lam
91a979430e 8367366: Do not support -XX:+AOTClassLinking for dynamic CDS archive
Reviewed-by: kvn, asmehra
2025-09-18 02:49:10 +00:00
Vladimir Ivanov
aa36799acb 8367333: C2: Vector math operation intrinsification failure
Reviewed-by: epeter, shade, jbhateja
2025-09-17 21:34:15 +00:00
Joe Darcy
919f5faa46 8367787: Expand use of representation equivalence terminology in Float16
Reviewed-by: psandoz
2025-09-17 20:47:11 +00:00
Kim Barrett
f682f07007 8367796: Rename AtomicAccess gtests
Reviewed-by: ayang, tschatzl
2025-09-17 20:20:17 +00:00
Roger Riggs
0756ecb214 8367031: [backout] Change java.time month/day field types to 'byte'
Reviewed-by: alanb, liach, naoto, iris
2025-09-17 19:49:22 +00:00
Alexey Semenyuk
f7ce3a1b5f 8365790: Shutdown hook for application image does not work on Windows
Reviewed-by: almatvee
2025-09-17 19:22:30 +00:00
Damon Nguyen
18dc186a8f 8367790: Remove java/awt/PopupMenu/PopupMenuLocation.java from ProblemList
Reviewed-by: aivanov, azvegint
2025-09-17 18:07:29 +00:00
Cesar Soares Lucas
6f493b4d2e 8361699: C2: assert(can_reduce_phi(n->as_Phi())) failed: Sanity: previous reducible Phi is no longer reducible before SUT
Reviewed-by: rcastanedalo
2025-09-17 16:52:13 +00:00
Stefan Karlsson
01d7554b87 8367486: Change prefix for platform-dependent AtomicAccess files
Reviewed-by: kbarrett, ayang
2025-09-17 15:17:30 +00:00
David Beaumont
9949ee3163 8367005: ImageReader refactor caused performance regressions for startup and footprint
Reviewed-by: alanb, rriggs, jpai
2025-09-17 14:46:47 +00:00
Daniel Jeliński
d7eeacf2a0 8367112: HttpClient does not support Named Groups set on SSLParameters
Reviewed-by: jpai, dfuchs
2025-09-17 14:01:32 +00:00
Albert Mingkun Yang
91afdaff80 8367860: Remove unused NMethodToOopClosure::fix_relocations
Reviewed-by: fandreuzzi, tschatzl
2025-09-17 13:58:06 +00:00
Matthias Baesken
1ba841410b 8367573: JNI exception pending in os_getCmdlineAndUserInfo of ProcessHandleImpl_aix.c
Reviewed-by: rriggs
2025-09-17 13:46:52 +00:00
Roberto Castañeda Lozano
b00e0dae9b 8367728: IGV: dump node address type
Reviewed-by: mchevalier, dfenacci, chagedorn
2025-09-17 12:47:59 +00:00
Aleksey Shipilev
7e738f0d90 8367313: CTW: Execute in AWT headless mode
Reviewed-by: epeter, kvn
2025-09-17 11:36:23 +00:00
SendaoYan
4719ed671a 8366777: Build fails unknown pseudo-op with old AS on linux-aarch64
Reviewed-by: erikj, ihse
2025-09-17 11:25:49 +00:00
Albert Mingkun Yang
c28142e7c1 8367737: Parallel: Retry allocation after lock acquire in mem_allocate_work
Reviewed-by: fandreuzzi, tschatzl, iwalulya
2025-09-17 10:26:26 +00:00
Saranya Natarajan
6df01178c0 8356779: IGV: dump the index of the SafePointNode containing the current JVMS during parsing
Reviewed-by: epeter, chagedorn, qamai
2025-09-17 09:45:30 +00:00
Andrew Dinn
faebec63a9 8367532: Declare all stubgen stub entries including internal cross-stub entries
Reviewed-by: fyang, asmehra
2025-09-17 09:42:01 +00:00
Thomas Schatzl
005f3a392f 8367743: G1: Use named constants for G1CSetCandidateGroup group ids
Reviewed-by: ayang, iwalulya
2025-09-17 09:41:44 +00:00
Daniel Gredler
5730e908c6 4138921: TextLayout handling of empty strings
Reviewed-by: prr, serb
2025-09-17 09:16:41 +00:00
Francesco Andreuzzi
976207df1f 8367476: Shenandoah: Remove use of CollectedHeap::_soft_ref_policy
Reviewed-by: ayang, wkemper
2025-09-17 08:26:31 +00:00
Albert Mingkun Yang
d0ea6686eb 8367417: Serial: Use NMethodToOopClosure during Young GC
Reviewed-by: fandreuzzi, stefank, tschatzl
2025-09-17 08:21:20 +00:00
Alexander Zvegintsev
9c0f41e997 8225787: java/awt/Window/GetScreenLocation/GetScreenLocationTest.java fails on Ubuntu
8203004: UnixMultiResolutionSplashTest.java fails on Ubuntu16.04

Reviewed-by: psadhukhan, serb
2025-09-17 08:07:50 +00:00
erifan
45cc515f45 8354242: VectorAPI: combine vector not operation with compare
Reviewed-by: epeter, jbhateja, xgong
2025-09-17 07:32:19 +00:00
Kim Barrett
c2c44a061a 8367724: Remove Trailing Return Types from undecided list
Reviewed-by: stefank, phubner
2025-09-17 05:51:51 +00:00
Sergey Bylokhov
e1071797a4 8367017: Remove legacy checks from WrappedToolkitTest and convert from bash
Reviewed-by: prr
2025-09-16 21:51:47 +00:00
Paul Hübner
b75e35cb94 8365858: FilteredJavaFieldStream is unnecessary
Reviewed-by: liach, jsjolen, coleenp, amenkov
2025-09-16 19:17:53 +00:00
Srinivas Vamsi Parasa
e883dec6be 8367694: Fix jtreg test failure when Intel APX is enabled for KNL platforms
Reviewed-by: sviswanathan, epeter
2025-09-16 18:14:07 +00:00
Srinivas Vamsi Parasa
c41add8d3e 8354348: Enable Extended EVEX to REX2/REX demotion for commutative operations with same dst and src2
Reviewed-by: jbhateja, epeter, sviswanathan
2025-09-16 18:13:34 +00:00
Paul Hübner
075ebb4ee5 8366229: runtime/Thread/TooSmallStackSize.java runs with all collectors
Reviewed-by: dholmes, shade
2025-09-16 16:53:21 +00:00
Koushik Thirupattur
15d42c6d77 8366978: dead code in SunCertPathBuilder
Reviewed-by: mullan, hchao
2025-09-16 16:24:19 +00:00
Guanqiang Han
58007c0bcc 8367619: String.format in outOfRangeException uses wrong format specifier for String argument
Reviewed-by: fandreuzzi, rriggs, liach
2025-09-16 14:57:42 +00:00
Manuel Hässig
c82070e635 8366775: TestCompileTaskTimeout should use timeoutFactor
Reviewed-by: chagedorn, rcastanedalo, mbaesken
2025-09-16 13:19:12 +00:00
Jaikiran Pai
0bc3705948 8367597: Runtime.exit logging failed: Cannot invoke "java.lang.Module.getClassLoader()" because "m" is null
Reviewed-by: alanb, rriggs
2025-09-16 13:16:48 +00:00
Hannes Greule
c7f014ed49 8356813: Improve Mod(I|L)Node::Value
Reviewed-by: epeter, qamai
2025-09-16 12:33:32 +00:00
Thomas Schatzl
ca89cd06d3 8367410: ZGC: Remove unused ZNmethodTable::wait_until_iteration_done()
Reviewed-by: stefank, fandreuzzi
2025-09-16 08:46:18 +00:00
Francesco Andreuzzi
eb26865c36 8367552: JCmdTestFileSafety.java fails when run by root user
Reviewed-by: dcubed, ayang, phubner
2025-09-16 08:00:32 +00:00
Guanqiang Han
3ba2e748d6 8366925: Improper std::nothrow new expression in NativeHeapTrimmerThread ctor
Reviewed-by: ayang, kbarrett, dholmes
2025-09-16 08:00:09 +00:00
Andreas Steiner
73df06c80c 8359104: gc/TestAlwaysPreTouchBehavior.java#<gcname> fails on Linux
Reviewed-by: mbaesken, ayang
2025-09-16 07:17:53 +00:00
Prasanta Sadhukhan
60e9222fe1 8015444: java/awt/Focus/KeyStrokeTest.java sometimes fails
Reviewed-by: tr
2025-09-16 06:30:53 +00:00
Axel Boldt-Christmas
76e464bcd5 8367150: Add a header line to improve VMErrorCallback printing
Reviewed-by: stefank, ayang
2025-09-16 05:06:17 +00:00
Kim Barrett
0fbae8050b 8252582: HotSpot Style Guide should permit variable templates
Reviewed-by: dholmes, stefank, kvn
2025-09-16 04:42:50 +00:00
Dingli Zhang
90e81c2bee 8367616: RISC-V: Auto-enable Zicboz extension for debug builds
Reviewed-by: fyang, fjiang
2025-09-16 01:11:04 +00:00
Ioi Lam
2425584849 8367142: Avoid InstanceKlass::cast when converting java mirror to InstanceKlass
Reviewed-by: dholmes, coleenp
2025-09-16 01:04:48 +00:00
Justin Lu
64155dfac0 8367237: Thread-Safety Usage Warning for java.text.Collator Classes
Reviewed-by: iris, naoto
2025-09-15 21:10:26 +00:00
Guy Abossolo Foh - ScientificWare
729f4f9b16 8314731: Add support for the alt attribute in the image type input HTML tag
Reviewed-by: aivanov, prr, tr
2025-09-15 19:22:47 +00:00
Chris Plummer
11cdafb821 8367297: Test com/sun/jdi/JdbStopInNotificationThreadTest.java can still fail after JDK-8366850
Reviewed-by: ayang, kevinw
2025-09-15 18:53:26 +00:00
Roland Westrelin
f8ba02f229 8361702: C2: assert(is_dominator(compute_early_ctrl(limit, limit_ctrl), pre_end)) failed: node pinned on loop exit test?
Reviewed-by: epeter, chagedorn, mhaessig
2025-09-15 18:13:09 +00:00
Daniel Lundén
60930a3e19 8367397: Improve naming and terminology in regmask.hpp and regmask.cpp
Reviewed-by: epeter, rcastanedalo, dlong
2025-09-15 17:43:25 +00:00
Joe Darcy
58c9fbc93d 8367382: Expand use of representation equivalence terminology
Reviewed-by: rgiulietti
2025-09-15 16:22:35 +00:00
Albert Mingkun Yang
e8dda2b675 8367629: Parallel: Remove logging in PSAdjustWeakRootsClosure
Reviewed-by: stefank
2025-09-15 15:25:00 +00:00
Johan Sjölen
a7dc011ac4 8366658: Add missing locks when accessing the VirtualMemoryTracker instance in tests and MemMapPrinter
Reviewed-by: azafari, phubner
2025-09-15 11:24:26 +00:00
Thomas Fitzsimmons
1cb1267ce8 8361711: Add library name configurability to PKCS11Test.java
Reviewed-by: valeriep
2025-09-15 09:59:10 +00:00
Alexander Zvegintsev
3db3c06218 8366852: java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java test is failing
Reviewed-by: psadhukhan, honkar
2025-09-15 08:49:01 +00:00
Francesco Andreuzzi
c16462b3b4 8367576: JvmtiThreadState::_debuggable is unused
Reviewed-by: amenkov, ayang, shade
2025-09-15 08:02:27 +00:00
Albert Mingkun Yang
9ca7b24421 8367422: Parallel: Refactor local variables names in copy_unmarked_to_survivor_space
Reviewed-by: fandreuzzi, tschatzl
2025-09-15 07:48:38 +00:00
Albert Mingkun Yang
2c13c66cf9 8367507: Parallel: Remove PSPromotionManager::drain_stacks_depth
Reviewed-by: fandreuzzi, tschatzl
2025-09-15 07:48:15 +00:00
Emanuel Peter
cf00f96fd4 8366940: Test compiler/loopopts/superword/TestAliasingFuzzer.java timed out
Reviewed-by: syan, chagedorn
2025-09-15 06:59:56 +00:00
Prasanta Sadhukhan
5271448b3a 8023263: [TESTBUG] Test closed/java/awt/Focus/InactiveWindowTest/InactiveFocusRace fails due to not enough time to initialize graphic components
Reviewed-by: serb
2025-09-14 04:29:30 +00:00
Prasanta Sadhukhan
21c985f2d7 8256289: java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java failed with "RuntimeException: Wrong focus owner: java.awt.Button[button1,41,36,56x23,label=Button1]"
Reviewed-by: honkar, prr, azvegint, serb
2025-09-14 04:24:32 +00:00
Ioi Lam
c85c5cb50e 8367475: Incorrect lock usage in LambdaFormInvokers::regenerate_holder_classes
Reviewed-by: dholmes, matsaave, liach
2025-09-13 20:43:40 +00:00
Matthias Baesken
ef291d2d5d 8359423: Improve error message in case of missing jsa shared archive
Reviewed-by: mdoerr, asteiner, eastigeevich
2025-09-13 20:20:10 +00:00
Jaikiran Pai
ff538c7f56 8367583: sun/security/util/AlgorithmConstraints/InvalidCryptoDisabledAlgos.java fails after JDK-8244336
Reviewed-by: weijun
2025-09-13 13:51:17 +00:00
Jaikiran Pai
e2eaa2ecf3 8357708: com.sun.jndi.ldap.Connection ignores queued LDAP replies if Connection is subsequently closed
Co-authored-by: Aleksei Efimov <aefimov@openjdk.org>
Reviewed-by: aefimov, dfuchs
2025-09-13 02:03:38 +00:00
Jamil Nimeh
3eb3e0dcb0 8366833: Poly1305 does not always correctly update position for array-backed ByteBuffers after processMultipleBlocks
Co-authored-by: Jaikiran Pai <jpai@openjdk.org>
Reviewed-by: weijun, jpai
2025-09-12 20:39:15 +00:00
Valerie Peng
35dabb1a5f 8244336: Restrict algorithms at JCE layer
Reviewed-by: mullan, ascarpino, abarashev
2025-09-12 20:16:33 +00:00
Coleen Phillimore
84aa295227 8367368: Add message for verify_legal_class_modifiers for inner classes
Reviewed-by: dholmes, fparain
2025-09-12 18:58:56 +00:00
Kim Barrett
4e59c63ec5 8367282: FORBID_C_FUNCTION needs exception spec consistent with library declaration
Reviewed-by: dholmes, mbaesken
2025-09-12 18:57:12 +00:00
William Kemper
850f904a84 8367451: GenShen: Remove the option to compute age census during evacuation
Reviewed-by: kdnilsen, xpeng, phh
2025-09-12 16:50:43 +00:00
William Kemper
11df28916a 8367378: GenShen: Missing timing stats when old mark buffers are flushed during final update refs
Reviewed-by: kdnilsen, xpeng, phh
2025-09-12 16:50:23 +00:00
Justin Lu
aeffce7c22 8367271: Add parsing tests to DateFormat JMH benchmark
Reviewed-by: naoto
2025-09-12 16:31:03 +00:00
Guanqiang Han
44aad0786b 8328874: Class::forName0 should validate the class name length early
Reviewed-by: rriggs, liach, ayang
2025-09-12 14:46:12 +00:00
Paul Hübner
10fea86002 8367371: Remove @requires vm.opt.UseLargePages from InternSharedString.java test
Reviewed-by: jsikstro, ayang, iklam
2025-09-12 14:23:46 +00:00
Emanuel Peter
02d7281b93 8367483: C2 crash in PhaseValues::type: assert(t != nullptr) failed: must set before get - missing notification for CastX2P(SubL(x, y))
Reviewed-by: chagedorn, bmaillard
2025-09-12 12:06:18 +00:00
Prasanta Sadhukhan
15dd96f7a6 8144124: [macosx] The tabs can't be aligned when we pressing the key of 'R','B','L','C' or 'T'.
Reviewed-by: azvegint
2025-09-12 10:42:13 +00:00
Hamlin Li
d13769d6c1 8367501: RISC-V: build broken after JDK-8365926
Reviewed-by: rehn
2025-09-12 10:40:20 +00:00
Francesco Andreuzzi
5f43345d6e 8367472: Swap conditions order in PSScavengeCLDOopClosure::do_oop(oop*)
Reviewed-by: stefank, tschatzl, mli
2025-09-12 08:32:56 +00:00
Satyen Subramaniam
0f535aeb0a 8367372: Test test/hotspot/jtreg/gc/TestObjectAlignmentCardSize.java fails on 32 bit systems
Reviewed-by: stefank, tschatzl, mli
2025-09-12 08:30:20 +00:00
Guanqiang Han
e0ad4a6696 8367424: Cleanup unused time_remaining_ms update in G1CollectionSet::select_optional_groups
Reviewed-by: tschatzl, mli
2025-09-12 08:29:59 +00:00
Robbin Ehn
5c1865a4fc 8365926: RISC-V: Performance regression in renaissance (chi-square)
Reviewed-by: fyang, mli
2025-09-12 08:01:50 +00:00
Kim Barrett
9e843f56ec 8367014: Rename class Atomic to AtomicAccess
Reviewed-by: dholmes, aph, stefank
2025-09-12 06:35:55 +00:00
Dingli Zhang
5abd18426d 8367137: RISC-V: Detect Zicboz block size via hwprobe
Reviewed-by: fyang, mli, rehn
2025-09-12 03:35:32 +00:00
Guanqiang Han
e172e6a4e3 8352969: G1: Improve testability of optional collections
Reviewed-by: ayang, tschatzl
2025-09-11 15:08:42 +00:00
Brian Burkhalter
7603e96fa2 8366911: (fs) Remove support for normalizing file names to Unicode normalized form D (macOS)
Reviewed-by: alanb
2025-09-11 15:06:01 +00:00
Raffaello Giulietti
8b92af7d4a 8367365: java/math/BigInteger/BigIntegerTest.java failed in jtreg timeout
Reviewed-by: dfuchs, jpai
2025-09-11 14:59:30 +00:00
Francesco Andreuzzi
ec7432331b 8367347: Serial: Refactor CLDScanClosure
Reviewed-by: stefank, ayang, tschatzl
2025-09-11 14:38:10 +00:00
Fernando Guallini
fc3e3e26c5 8201778: Speed up test javax/net/ssl/DTLS/PacketLossRetransmission.java
Reviewed-by: djelinski
2025-09-11 14:28:58 +00:00
Pasam Soujanya
781f2b2f81 8366278: Form control element <select> has no associated label
Reviewed-by: hannesw
2025-09-11 13:58:51 +00:00
Artur Barashev
4ea8979b93 8365953: Key manager returns no certificates when handshakeSession is not an ExtendedSSLSession
Reviewed-by: djelinski, wetmore
2025-09-11 13:53:08 +00:00
Roger Riggs
56f2f7a3af 8367138: JNI exception pending in os_getCmdlineAndUserInfo of ProcessHandleImpl_macosx.c
Reviewed-by: bpb, naoto, jpai, lancea
2025-09-11 13:22:20 +00:00
Albert Mingkun Yang
a2d272a02a 8367339: Parallel: Remove PSScavenge::should_scavenge
Reviewed-by: tschatzl, fandreuzzi
2025-09-11 11:22:29 +00:00
Albert Mingkun Yang
063f970f0f 8367401: Parallel: Remove unused field in PSKeepAliveClosure
Reviewed-by: stefank, fandreuzzi
2025-09-11 11:22:12 +00:00
Jan Lahoda
3355a9d3fa 8285150: Improve tab completion for annotations
Reviewed-by: liach
2025-09-11 10:43:25 +00:00
Joel Sikström
3d679087b0 8367268: Remove unused os::numa_topology_changed()
Reviewed-by: ayang, dholmes
2025-09-11 08:53:09 +00:00
Hamlin Li
0b3a303053 8367066: RISC-V: refine register selection in MacroAssembler:: decode_klass_not_null
Reviewed-by: fyang, fjiang
2025-09-11 08:07:25 +00:00
Johan Sjölen
8ba0db0de8 8366951: Test runtime/logging/StressAsyncUL.java is timing out
Reviewed-by: ayang, lkorinth, dholmes, syan
2025-09-11 07:42:39 +00:00
Mikhail Yankelevich
7690a45f77 8366342: Key generator and key pair generator tests skipping, but showing as passed
Reviewed-by: weijun
2025-09-11 06:55:32 +00:00
Emanuel Peter
2826d17025 8367243: Format issues with dist dump debug output in PhaseGVN::dead_loop_check
Reviewed-by: thartmann
2025-09-11 05:05:30 +00:00
Emanuel Peter
4cc75be80e 8366702: C2 SuperWord: refactor VTransform vector nodes
Reviewed-by: chagedorn, galder
2025-09-11 05:03:21 +00:00
Phil Race
eb9e04598d 8361530: Test javax/swing/GraphicsConfigNotifier/StalePreferredSize.java timed out
Reviewed-by: psadhukhan
2025-09-11 04:59:07 +00:00
Dingli Zhang
134c3ef41e 8367293: RISC-V: enable vectorapi test for VectorMask.laneIsSet
Reviewed-by: fyang, epeter
2025-09-11 00:05:02 +00:00
William Kemper
7fcce27096 8365956: GenShen: Adaptive tenuring threshold algorithm may raise threshold prematurely
Reviewed-by: kdnilsen, phh
2025-09-10 22:12:04 +00:00
Chen Liang
85996572b6 8365676: javac incorrectly allows calling interface static method via type variable
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Reviewed-by: vromero
2025-09-10 21:23:45 +00:00
Ioi Lam
85715e1050 8317269: Store old classes in linked state in AOT cache
Reviewed-by: coleenp, matsaave
2025-09-10 19:21:00 +00:00
Sergey Bylokhov
fdc11a1569 8367131: Test com/sun/jdi/ThreadMemoryLeakTest.java fails on 32 bits
Reviewed-by: lmesnik, cjplummer, shade
2025-09-10 18:41:42 +00:00
Man Cao
4e2a85f750 8366118: DontCompileHugeMethods is not respected with -XX:-TieredCompilation
Co-authored-by: Chuck Rasbold <rasbold@openjdk.org>
Co-authored-by: Justin King <jcking@openjdk.org>
Reviewed-by: rasbold, iveresov, jiangli
2025-09-10 17:42:15 +00:00
Weijun Wang
7a3025e3d7 8367348: Enhance PassFailJFrame to support links in HTML
Reviewed-by: aivanov
2025-09-10 17:24:53 +00:00
Hannes Wallnöfer
af18ff8d7c 8367007: javadoc generation of JavaFX docs fails after fix for JDK-8350920
Reviewed-by: liach, nbenalla
2025-09-10 16:43:40 +00:00
Prasanta Sadhukhan
34c3ac0316 8162380: [TEST_BUG] MouseEvent/.../AltGraphModifierTest.java has only "Fail" button
Reviewed-by: azvegint, aivanov
2025-09-10 16:00:28 +00:00
Kerem Kat
5cd7721ad4 8366154: Validate thread type requirements in debug commands
Reviewed-by: dholmes, simonis, kevinw
2025-09-10 14:36:11 +00:00
Casper Norrbin
c968a672c0 8362282: runtime/logging/StressAsyncUL.java failed with exitValue = 134
Reviewed-by: jsjolen, dholmes
2025-09-10 13:45:06 +00:00
Albert Mingkun Yang
385c132989 8367240: Parallel: Refactor PSScavengeCLDClosure
Reviewed-by: stefank
2025-09-10 12:49:38 +00:00
Evgeny Astigeevich
46ae1ee871 8277444: Data race between JvmtiClassFileReconstituter::copy_bytecodes and class linking
Reviewed-by: dholmes, amenkov, coleenp
2025-09-10 12:33:06 +00:00
Stefan Karlsson
703d930e4d 8366980: TestTransparentHugePagesHeap.java fails when run with -UseCompressedOops
Reviewed-by: aboldtch, tschatzl
2025-09-10 11:55:31 +00:00
David Beaumont
4d4e51c41f 8365483: Test sun/rmi/runtime/Log/6409194/NoConsoleOutput.java sometimes fails
Reviewed-by: dfuchs, jpai
2025-09-10 11:49:02 +00:00
Magnus Ihse Bursie
edae355e95 8246325: Add DRYRUN facility to SetupExecute
Reviewed-by: erikj
2025-09-10 10:27:38 +00:00
Magnus Ihse Bursie
33244c8244 8344030: Improved handling of TOOLCHAIN_PATH
Reviewed-by: erikj
2025-09-10 10:00:15 +00:00
Magnus Ihse Bursie
5c9f60dc5a 8367259: Clean up make/scripts and bin directory
Reviewed-by: erikj
2025-09-10 09:57:44 +00:00
Daniel Fuchs
1d3364b007 8365239: Spec Clarification - InterfaceAddress:getBroadcast() returning null for loop back address
Reviewed-by: msheppar, djelinski, jpai
2025-09-10 09:45:05 +00:00
David Holmes
f3de386263 8367309: Test runtime/os/windows/TestAvailableProcessors.java fails to compile after mis-merge
Reviewed-by: shade, alanb
2025-09-10 08:46:07 +00:00
Kazuhisa Takakuri
9e3fa3216f 8349288: runtime/os/windows/TestAvailableProcessors.java fails on localized Windows platform
Reviewed-by: dholmes, alanb
2025-09-10 06:37:17 +00:00
Daniel Jeliński
b7b01d6f56 8366984: Remove delay slot support
Reviewed-by: dlong, epeter
2025-09-10 06:16:39 +00:00
Disha
2705e880b6 8366764: Deproblemlist java/awt/ScrollPane/ScrollPositionTest.java
Reviewed-by: azvegint
2025-09-10 06:16:12 +00:00
David Holmes
8ab8d02e40 8366938: Test runtime/handshake/HandshakeTimeoutTest.java crashed
Reviewed-by: kbarrett
2025-09-10 05:45:31 +00:00
Kim Barrett
af9b9050ec 8366057: HotSpot Style Guide should permit trailing return types
Reviewed-by: dholmes, stefank, kvn, adinn, jsjolen
2025-09-10 03:30:16 +00:00
erifan
53b3e0567d 8366588: VectorAPI: Re-intrinsify VectorMask.laneIsSet where the input index is a variable
Reviewed-by: shade, xgong, epeter
2025-09-10 01:49:55 +00:00
Leonid Mesnik
8cd4e7d856 8365192: post_meth_exit should be in vm state when calling get_jvmti_thread_state
Reviewed-by: mdoerr, dholmes
2025-09-09 23:50:33 +00:00
Dean Long
f96403986b 8361376: Regressions 1-6% in several Renaissance in 26-b4 only MacOSX aarch64
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Reviewed-by: mdoerr, aph, eosterlund
2025-09-09 23:27:33 +00:00
Justin Lu
24a734938e 8366733: Re-examine older java.text NF, DF, and DFS serialization tests
Reviewed-by: naoto
2025-09-09 22:03:25 +00:00
Naoto Sato
a12e9fcebd 8366261: Provide utility methods for sun.security.util.Password
Reviewed-by: smarks, weijun
2025-09-09 19:37:57 +00:00
Daniel Jeliński
cc6d34b2fa 8366971: C2: Remove unused nop_list from PhaseOutput::init_buffer
Reviewed-by: epeter, dlong
2025-09-09 15:08:30 +00:00
Kim Barrett
b653ae92d5 8367051: Build failure with clang on linux and AIX after switch to C++17
Reviewed-by: dholmes, ayang, mbaesken, mdoerr
2025-09-09 15:02:54 +00:00
Saint Wesonga
f10c85fbc3 8367027: java/lang/ProcessBuilder/Basic.java fails on Windows AArch64
Reviewed-by: rriggs
2025-09-09 13:13:08 +00:00
Marc Chevalier
0632617670 8367135: Test compiler/loopstripmining/CheckLoopStripMining.java needs internal timeouts adjusted
Reviewed-by: thartmann, chagedorn
2025-09-09 11:17:48 +00:00
Stefan Karlsson
a1ab12b772 8366854: Extend jtreg failure handler with THP info
Reviewed-by: ayang, shade, tschatzl, lmesnik, sjohanss
2025-09-09 11:17:33 +00:00
Magnus Ihse Bursie
a25dde6279 8365231: Don't build gtest with /EHsc
Reviewed-by: kbarrett, stuefe
2025-09-09 10:58:21 +00:00
Johannes Bechberger
002f936ef2 8366082: Improve queue size computation in CPU-time sampler
Reviewed-by: jbachorik
2025-09-09 10:16:22 +00:00
Johannes Bechberger
4fc917c250 8366486: Test jdk/jfr/event/profiling/TestCPUTimeSampleMultipleRecordings.java is timing out
Reviewed-by: jbachorik
2025-09-09 10:15:53 +00:00
Hamlin Li
f51e442b0e 8367098: RISC-V: sync CPU features with related JVM flags for dependant ones
Reviewed-by: fyang
2025-09-09 09:29:23 +00:00
Paul Hübner
cfb809344c 8364103: Convert existing sprintf-chains to stringStream
Reviewed-by: kbarrett, dholmes, iklam
2025-09-09 09:01:46 +00:00
Johan Sjölen
e16c510071 8367231: [BACKOUT] JDK-8366363: MemBaseline accesses VMT without using lock
Reviewed-by: kbarrett, dholmes
2025-09-09 08:14:55 +00:00
Francesco Andreuzzi
67bb22f3d6 8367085: Sort os/posix includes
Reviewed-by: ayang, dholmes
2025-09-09 07:36:57 +00:00
Johan Sjölen
ecfba66d3d 8366363: MemBaseline accesses VMT without using lock
Co-authored-by: Casper Norrbin <cnorrbin@openjdk.org>
Reviewed-by: azafari, cnorrbin
2025-09-09 07:31:14 +00:00
erifan
680bf75898 8365911: AArch64: Fix encoding error in sve_cpy for negative floats
Reviewed-by: aph, epeter
2025-09-09 06:58:00 +00:00
Dingli Zhang
0aee7bf24d 8367048: RISC-V: Correct pipeline descriptions of the architecture
Reviewed-by: fyang, fjiang, mli
2025-09-09 00:38:15 +00:00
Chris Plummer
4ec63e8f5d 8366850: Test com/sun/jdi/JdbStopInNotificationThreadTest.java failed
Reviewed-by: ayang, lmesnik, syan
2025-09-09 00:05:56 +00:00
Cesar Soares Lucas
81a1e8e136 8364936: Shenandoah: Switch nmethod entry barriers to conc_instruction_and_data_patch
Reviewed-by: fyang, dzhang, kdnilsen, wkemper
2025-09-08 21:44:18 +00:00
Erik Joelsson
56e37352d5 8367130: JDK builds broken by 8366837: Clean up gensrc by spp.Spp
Reviewed-by: liach
2025-09-08 20:52:31 +00:00
Albert Mingkun Yang
3e68d7d99f 8366881: Parallel: Obsolete HeapMaximumCompactionInterval
Reviewed-by: iwalulya
2025-09-08 19:13:55 +00:00
Albert Mingkun Yang
85441cec35 8367101: Remove unused includes in cardTable.cpp
Reviewed-by: stefank
2025-09-08 18:30:18 +00:00
Magnus Ihse Bursie
cb58e6560a 8330341: Wrap call to MT in ExecuteWithLog
Reviewed-by: erikj
2025-09-08 16:48:35 +00:00
Magnus Ihse Bursie
55af9d8380 8366837: Clean up gensrc by spp.Spp
Reviewed-by: erikj
2025-09-08 16:48:14 +00:00
Magnus Ihse Bursie
323b02016e 8367034: [REDO] Protect ExecuteWithLog from running with redirection without a subshell
Reviewed-by: erikj
2025-09-08 16:46:30 +00:00
Naoto Sato
48831c65b5 8367021: Regression in LocaleDataTest refactoring
Reviewed-by: jlu, joehw
2025-09-08 16:23:26 +00:00
Fabio Romano
ab12fbfda2 8077587: BigInteger Roots
Reviewed-by: rgiulietti
2025-09-08 16:10:22 +00:00
Coleen Phillimore
6765a9d775 8366908: Use a different class for testing JDK-8351654
Reviewed-by: liach, lmesnik
2025-09-08 15:50:09 +00:00
Mikhail Yankelevich
166ef5e7b1 8366159: SkippedException is treated as a pass for pkcs11/KeyStore, pkcs11/SecretKeyFactory and pkcs11/SecureRandom
Reviewed-by: weijun
2025-09-08 14:37:25 +00:00
Volker Simonis
bcff857ba0 8361381: GlyphLayout behavior differs on JDK 11+ compared to JDK 8
Reviewed-by: prr, serb
2025-09-08 13:30:45 +00:00
Jan Lahoda
03c54d4288 8365689: Elements.getFileObjectOf fails with a NullPointerException when an erroneous Element is passed in
Reviewed-by: darcy, vromero
2025-09-08 12:26:58 +00:00
Fredrik Bredberg
a272696813 8365190: Remove LockingMode related code from share
Reviewed-by: aboldtch, dholmes, ayang, coleenp, lmesnik, rcastanedalo
2025-09-08 10:28:18 +00:00
Guanqiang Han
5e423e034f 8367025: zIndexDistributor.hpp uses angle-bracket inclusion of globalDefinitions.hpp
Reviewed-by: aboldtch, tschatzl, jwaters
2025-09-08 09:37:36 +00:00
Richard Reingruber
bea2b029a7 8360219: [AIX] assert(locals_base >= l2) failed: bad placement
Reviewed-by: dlong, mdoerr
2025-09-08 08:30:03 +00:00
Francesco Andreuzzi
051f39e12c 8366864: Sort os/linux includes
Reviewed-by: ayang, dholmes
2025-09-08 07:10:12 +00:00
Joel Sikström
fb1924d2e3 8366874: Test gc/arguments/TestParallelGCErgo.java fails with UseTransparentHugePages
Reviewed-by: ayang, shade, stefank, tschatzl
2025-09-08 06:33:49 +00:00
Jan Lahoda
f9dc640ef0 8351260: java.lang.AssertionError: Unexpected type tree: (ERROR) = (ERROR)
Reviewed-by: vromero
2025-09-08 06:33:30 +00:00
Jan Lahoda
b0ca9bf61e 8365776: Convert JShell tests to use JUnit instead of TestNG
Reviewed-by: vromero
2025-09-08 04:35:05 +00:00
Francesco Andreuzzi
8a6b8751e1 8354871: Replace stack map frame type magics with constants
Reviewed-by: liach
2025-09-07 23:20:22 +00:00
Sergey Bylokhov
14a40fd579 8361533: Apply java.io.Serial annotations in java.logging
Reviewed-by: rriggs
2025-09-07 23:18:07 +00:00
David Holmes
6bb15a542b 8367035: [BACKOUT] Protect ExecuteWithLog from running with redirection without a subshell
Reviewed-by: kbarrett
2025-09-07 20:21:23 +00:00
Magnus Ihse Bursie
e8c7d2aaf3 8332872: SetupExecute should cd to temp directory
Reviewed-by: erikj
2025-09-06 09:00:51 +00:00
Ioi Lam
dbf4ffffe3 8366477: Refactor AOT-related flag bits in klass.hpp
Reviewed-by: liach, asmehra, kvn
2025-09-05 23:55:13 +00:00
Chen Liang
cdc8b5eb83 8366455: Move VarHandles.GuardMethodGenerator to execute on build
Reviewed-by: psandoz, redestad, erikj
2025-09-05 21:08:29 +00:00
Kim Barrett
1ebe949507 8314488: Compiling the JDK with C++17
Reviewed-by: dholmes, stefank, ayang, kvn, iwalulya, jsjolen, ihse
2025-09-05 20:47:48 +00:00
Sarvesh Kumar Jain
b674a42553 8366750: Remove test 'java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java' from problemlist
Reviewed-by: psadhukhan, serb
2025-09-05 20:35:30 +00:00
Naoto Sato
3824c7cd06 8366517: Refine null locale processing of ctor/factory methods in Date/DecimalFormatSymbols
Reviewed-by: jlu, rriggs
2025-09-05 20:20:11 +00:00
Manuel Hässig
4ab2b5bdb4 8366569: Disable CompileTaskTimeout for known long-running test cases
Reviewed-by: dlong
2025-09-05 19:59:03 +00:00
Manukumar V S
e2a503e26e 8347277: java/awt/Focus/ComponentLostFocusTest.java fails intermittently
Reviewed-by: serb
2025-09-05 19:50:52 +00:00
Afshin Zafari
c6c451ac39 8353468: [ubsan] arguments.cpp:2422:23: runtime error: 2.14748e+11 is outside the range of representable values of type 'int'
Reviewed-by: stefank, dholmes
2025-09-05 18:42:58 +00:00
Phil Race
a17058b5bb 8365569: Remove finalize from JavaSoundAudioClip.java
Reviewed-by: kizune, tr
2025-09-05 17:45:37 +00:00
Vladimir Ivanov
9cca4f7c76 8358751: C2: Recursive inlining check for compiled lambda forms is broken
Reviewed-by: dlong, roland
2025-09-05 16:44:08 +00:00
Chen Liang
9f4d5b2398 8365428: Unclear comments on java.lang.invoke Holder classes
Reviewed-by: iklam, jvernee
2025-09-05 15:55:19 +00:00
Christian Hagedorn
ceacf6f785 8366890: C2: Split through phi printing with TraceLoopOpts misses line break
Reviewed-by: rcastanedalo, mhaessig, epeter
2025-09-05 15:26:13 +00:00
Archie Cobbs
1e90af08ab 8359383: Incorrect starting positions for implicitly typed variables
Reviewed-by: vromero
2025-09-05 14:30:40 +00:00
Guoxiong Li
33794d1614 8357188: Remove the field MemAllocator::Allocation::_overhead_limit_exceeded and the related code
Reviewed-by: ayang, shade
2025-09-05 13:34:45 +00:00
Magnus Ihse Bursie
124fcf1d9a 8233115: Protect ExecuteWithLog from running with redirection without a subshell
Reviewed-by: erikj
2025-09-05 13:31:23 +00:00
Aleksey Shipilev
0dad3f1ae8 8366893: java/lang/Thread/virtual/stress/GetStackTraceALotWhenPinned.java timed out on macos-aarch64
Reviewed-by: alanb, jpai
2025-09-05 10:55:41 +00:00
Emanuel Peter
e6fa8aae61 8366845: C2 SuperWord: wrong VectorCast after VectorReinterpret with swapped src/dst type
Reviewed-by: thartmann, galder, vlivanov
2025-09-05 08:46:56 +00:00
Volkan Yazici
a2f8d3c4c2 8366765: [REDO] Rename JavaLangAccess::*NoRepl methods
Reviewed-by: rriggs, liach, alanb
2025-09-05 06:40:33 +00:00
Anjian Wen
0d7f8f83c7 8366747: RISC-V: Improve VerifyMethodHandles for method handle linkers
Reviewed-by: fyang, dzhang
2025-09-05 06:13:44 +00:00
David Holmes
40a602520b 8364735: [asan] heap-use-after-free error detected in defaultStream::writer during VM shutdown
Reviewed-by: jsjolen, stuefe
2025-09-05 00:26:44 +00:00
Leonid Mesnik
b7b64bb6c8 8365937: post_method_exit might incorrectly set was_popped_by_exception and value in the middle of stack unwinding
Reviewed-by: dholmes, pchilanomate
2025-09-04 22:35:21 +00:00
Brian Burkhalter
581070715a 8366102: Clarification Needed: Symbolic Link Handling in File API Specifications
Reviewed-by: alanb
2025-09-04 21:58:08 +00:00
Casper Norrbin
945aaf8932 8366897: RBTreeTest.IntrusiveCustomVerifyTest and RBTreeTest.CustomVerify tests fail on non-debug builds
Reviewed-by: ayang
2025-09-04 19:00:39 +00:00
Vladimir Ivanov
1dc1d56f79 8363858: [perf] OptimizeFill may use wide set of intrinsics
Reviewed-by: roland, sviswanathan
2025-09-04 16:57:36 +00:00
Vladimir Ivanov
8520fd3f6a 8366365: [test] test/lib-test/jdk/test/whitebox/CPUInfoTest.java should be updated
Reviewed-by: kvn, sviswanathan
2025-09-04 16:50:58 +00:00
Ioi Lam
f90d520308 8366475: Rename MetaspaceShared class to AOTMetaspace
Reviewed-by: kvn, asmehra
2025-09-04 16:23:46 +00:00
Ioi Lam
79a1a98cab 8366498: Simplify ClassFileParser::parse_super_class
Reviewed-by: dholmes, coleenp
2025-09-04 16:19:35 +00:00
David Beaumont
e190355777 8365467: Issues with jrtfs implementation for exploded run-time images
Reviewed-by: rriggs, sundar
2025-09-04 13:19:12 +00:00
Magnus Ihse Bursie
80873a09bf 8366836: Don't execute post-IncludeCustomExtension if file was not included
Reviewed-by: erikj
2025-09-04 13:17:29 +00:00
Casper Norrbin
8c50bed867 8366872: Wrong number of template arguments in test in test_rbtree.cpp
Reviewed-by: ayang, syan
2025-09-04 10:48:57 +00:00
Casper Norrbin
53d4e928ef 8366238: Improve RBTree API with stricter comparator semantics and pluggable validation/printing hooks
Reviewed-by: jsjolen, ayang
2025-09-04 09:47:42 +00:00
Matthias Baesken
ab9f70dd5a 8366420: AOTMapTest fails when default jsa is missing from JDK
Reviewed-by: iklam, azeller
2025-09-04 08:01:01 +00:00
SendaoYan
986ecff5f9 8366849: Problemlist jdk/jshell/ToolSimpleTest.java as generic-all
Reviewed-by: liach, jlahoda
2025-09-04 07:14:59 +00:00
Francesco Andreuzzi
1495dd94e9 8366778: Sort share/asm, share/gc, share/include includes
Reviewed-by: shade, ayang, jsikstro
2025-09-04 07:13:41 +00:00
Thomas Schatzl
222ae365c8 8366688: G1: Rename G1HeapRegionRemSet::is_added_to_cset_group() to has_cset_group()
Reviewed-by: ayang, iwalulya
2025-09-04 07:03:28 +00:00
Arno Zeller
49fd6a0cb4 8366558: Gtests leave /tmp/cgroups-test* files
Reviewed-by: mbaesken, stuefe, lmesnik
2025-09-04 07:03:10 +00:00
Emanuel Peter
2527e9e58d 8366490: C2 SuperWord: wrong result because CastP2X is missing ctrl and floats over SafePoint creating stale oops
Reviewed-by: thartmann, chagedorn, mhaessig
2025-09-04 06:53:35 +00:00
Stefan Johansson
a03302d41b 8366434: THP not working properly with G1 after JDK-8345655
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Co-authored-by: Stefan Johansson <sjohanss@openjdk.org>
Reviewed-by: stefank, shade
2025-09-04 06:33:57 +00:00
Kim Barrett
62bc7b7c42 8300080: offset_of for GCC/Clang exhibits undefined behavior and is not always a compile-time constant
Reviewed-by: stefank, jsjolen
2025-09-04 05:42:18 +00:00
Ioi Lam
90a2db1ecb 8366474: Rename MetaspaceObj::is_shared() to MetaspaceObj::in_aot_cache()
Reviewed-by: liach, kvn
2025-09-04 04:47:48 +00:00
Anton Artemov
4d1dfabcb4 8366038: Thread::SpinRelease should use Atomic::release_store
Reviewed-by: dholmes, ayang
2025-09-04 04:35:51 +00:00
Ioi Lam
f4d73d2a3d 8366584: Add an InstanceKlass::super() method that returns InstanceKlass*
Reviewed-by: dholmes, coleenp
2025-09-04 02:31:12 +00:00
SendaoYan
11743b1ed3 8366695: Test sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java timed out
Reviewed-by: lmesnik, kevinw
2025-09-04 01:37:42 +00:00
SendaoYan
ed62bda2e0 8366694: Test JdbStopInNotificationThreadTest.java timed out after 60 second
Reviewed-by: cjplummer, ayang, lmesnik
2025-09-04 01:29:34 +00:00
SendaoYan
02dd21196e 8366692: Several gc/shenandoah tests timed out
Reviewed-by: shade, wkemper
2025-09-04 01:28:25 +00:00
Justin Lu
becc35f287 8366400: JCK test api/java_text/DecimalFormat/Parse.html fails after JDK-8363972
Reviewed-by: naoto
2025-09-03 21:58:26 +00:00
Chen Liang
431f467246 8361635: Missing List length validation in the Class-File API
Reviewed-by: asotona
2025-09-03 19:21:38 +00:00
Albert Mingkun Yang
8d236615b7 8366155: Serial: Obsolete PretenureSizeThreshold
Reviewed-by: tschatzl
2025-09-03 18:47:58 +00:00
Justin Lu
e3b36e3bab 8366401: JCK test api/java_text/DecimalFormatSymbols/serial/InputTests.html fails after JDK-8363972
Reviewed-by: naoto
2025-09-03 18:00:13 +00:00
Vanitha B P
a40afdd08f 8366537: Test "java/util/TimeZone/DefaultTimeZoneTest.java" is not updating the zone ID as expected
Reviewed-by: naoto, jlu
2025-09-03 15:31:15 +00:00
SendaoYan
d5935af228 8366768: Problemlist jdk/jshell/ToolSimpleTest.java
Reviewed-by: jlahoda
2025-09-03 14:40:23 +00:00
Stefan Karlsson
3abaa83610 8366298: FDLeakTest sometimes takes minutes to complete on Linux
Reviewed-by: lkorinth, rriggs, stuefe
2025-09-03 13:51:17 +00:00
Aleksey Shipilev
2a5f149bb8 8363966: GHA: Switch cross-compiling sysroots to Debian trixie
Reviewed-by: ayang, fyang, erikj
2025-09-03 12:41:24 +00:00
Leo Korinth
3b2f3e53d7 8366803: Bump timeout on sun/tools/jhsdb/BasicLauncherTest.java
Reviewed-by: stefank
2025-09-03 12:36:36 +00:00
Albert Mingkun Yang
6dda2f6fad 8366543: Clean up include headers in numberSeq
Reviewed-by: tschatzl
2025-09-03 07:52:28 +00:00
Francesco Andreuzzi
7c70e73414 8366660: Sort share/nmt includes
Reviewed-by: ayang, shade
2025-09-03 06:45:02 +00:00
Galder Zamarreño
8c4090c2cf 8329077: C2 SuperWord: Add MoveD2L, MoveL2D, MoveF2I, MoveI2F
Reviewed-by: epeter, qamai
2025-09-03 06:38:27 +00:00
SendaoYan
e268563a10 8366476: Test gc/z/TestSmallHeap.java fails OOM with many NUMA nodes
Reviewed-by: jsikstro, aboldtch
2025-09-03 00:57:52 +00:00
Rui Li
5052a7eee5 8246037: Shenandoah: update man pages to mention -XX:+UseShenandoahGC
Reviewed-by: ysr, wkemper, cslucas
2025-09-02 23:49:23 +00:00
Saint Wesonga
b50c11f907 8366195: Remove unnecessary quotes around -Ta ml64 assembler argument
Reviewed-by: erikj
2025-09-02 23:04:52 +00:00
Igor Veresov
991ac9e616 8365407: Race condition in MethodTrainingData::verify()
Reviewed-by: kvn, vlivanov, iklam
2025-09-02 21:28:22 +00:00
Justin Lu
80fb7088a1 8365175: Replace Unicode extension anchor elements with link tag
Reviewed-by: liach, iris, naoto
2025-09-02 20:43:38 +00:00
Henry Jen
0d85f076cc 8359174: tools/jlink/JLink20000Packages.java timed out
Co-authored-by: Vicente Romero <vromero@openjdk.org>
Co-authored-by: Eirik Bjørsnøs <eirbjo@openjdk.org>
Reviewed-by: jpai, liach
2025-09-02 18:03:09 +00:00
Naoto Sato
c935d1ce1c 8366375: Collator example for SECONDARY uses wrong code point
Reviewed-by: jlu, joehw, smarks
2025-09-02 17:11:34 +00:00
Leo Korinth
48ba8ed243 8366704: Bump timeout on TestInheritFD
Reviewed-by: lmesnik
2025-09-02 17:00:33 +00:00
Volkan Yazici
ecf05ca541 8366693: Backout recent JavaLangAccess changes breaking the build
Reviewed-by: jpai, serb, alanb, syan, rriggs, jwaters
2025-09-02 15:26:48 +00:00
Ashutosh Mehra
444a8fa14e 8365501: Remove special AdapterHandlerEntry for abstract methods
Reviewed-by: kvn, adinn
2025-09-02 14:54:50 +00:00
SendaoYan
a029245a4e 8365983: Tests should throw SkippedException when SCTP not supported
Reviewed-by: jpai
2025-09-02 13:25:32 +00:00
Albert Mingkun Yang
710354369e 8366063: Parallel: Refactor copy_unmarked_to_survivor_space
Reviewed-by: tschatzl, iwalulya
2025-09-02 13:09:33 +00:00
Albert Mingkun Yang
1feb9bd559 8365557: Parallel: Refactor ParallelScavengeHeap::mem_allocate_work
Reviewed-by: tschatzl, iwalulya
2025-09-02 12:46:59 +00:00
Volkan Yazici
eea50fbc1b 8356439: Rename JavaLangAccess::*NoRepl methods
Reviewed-by: alanb, liach, rriggs
2025-09-02 12:42:46 +00:00
Matthew Donovan
31847149c1 8325766: Extend CertificateBuilder to create trust and end entity certificates programmatically
Reviewed-by: mullan, abarashev
2025-09-02 11:17:56 +00:00
Leo Korinth
e66ed4d729 8366666: Bump timeout on StressAsyncUL
Reviewed-by: stefank
2025-09-02 09:30:29 +00:00
Afshin Zafari
ef7872cc31 8365163: [ubsan] left-shift issue in globalDefinitions.hpp
Reviewed-by: kbarrett, stefank, aph
2025-09-02 09:08:26 +00:00
Anton Artemov
523bc77981 8364816: GetLastError() in os_windows.cpp should not store value to errno
Reviewed-by: dholmes, jsikstro
2025-09-02 08:15:27 +00:00
Joakim Nordström
af532cc1b2 8365913: Support latest MSC_VER in abstract_vm_version.cpp
Reviewed-by: dholmes
2025-09-02 07:58:38 +00:00
Francesco Andreuzzi
d19eab4f08 8366556: Sort share/runtime includes
Reviewed-by: dholmes, ayang
2025-09-02 07:57:03 +00:00
Albert Mingkun Yang
3fb9246af9 8366544: Parallel: Inline PSParallelCompact::invoke_no_policy
Reviewed-by: tschatzl
2025-09-02 07:54:36 +00:00
Leo Korinth
55e7af0560 8260555: Change the default TIMEOUT_FACTOR from 4 to 1
Reviewed-by: alanb, sspitsyn, lmesnik, ihse
2025-09-02 07:27:12 +00:00
SendaoYan
efb81dafaf 8366031: Mark com/sun/nio/sctp/SctpChannel/CloseDescriptors.java as intermittent
Reviewed-by: jpai
2025-09-02 06:50:15 +00:00
Philippe Marschall
8f11d83a01 8362893: Improve performance for MemorySegment::getString
Reviewed-by: pminborg, mcimadamore
2025-09-02 05:49:06 +00:00
Saint Wesonga
f58d612b61 8366483: ShowRegistersOnAssertTest uses wrong register pattern string for Windows on AArch64
Reviewed-by: dholmes, shade
2025-09-02 04:01:32 +00:00
Kevin Walls
b06459d3a8 8364227: MBeanServer registerMBean throws NPE
Reviewed-by: alanb
2025-09-01 14:21:33 +00:00
Emanuel Peter
99223eea03 8366427: C2 SuperWord: refactor VTransform scalar nodes
Reviewed-by: mhaessig, chagedorn, kvn
2025-09-01 13:48:25 +00:00
Albert Mingkun Yang
5110d54d93 8365922: Parallel: Group uses of GCTimeRatio to a single location
Reviewed-by: tschatzl, phh
2025-09-01 13:08:53 +00:00
Johan Sjölen
98af18921a 8366456: Allow AllocFailStrategy for RBTree
Reviewed-by: cnorrbin, aboldtch
2025-09-01 09:24:52 +00:00
Bhavana Kilambi
7f0cd6488b 8361582: AArch64: Some ConH values cannot be replicated with SVE
Reviewed-by: shade, epeter, aph
2025-09-01 09:18:29 +00:00
Roberto Castañeda Lozano
fc77e7600f 8365791: IGV: Update build dependencies
Reviewed-by: chagedorn, ayang
2025-09-01 08:55:23 +00:00
Volkan Yazici
dacd9af9a0 8329829: HttpClient: Add a BodyPublishers.ofFileChannel method
Reviewed-by: dfuchs, jpai, michaelm
2025-09-01 08:50:08 +00:00
Emanuel Peter
56713817c0 8366361: C2 SuperWord: rename VTransformNode::set_req -> init_req, analogue to Node::init_req
Reviewed-by: kvn, chagedorn
2025-09-01 08:47:19 +00:00
Jayathirth D V
fe4c7a0429 8364135: JPEGImageReader.getImageTypes() should throw exception for negative image index
Reviewed-by: aivanov, prr, psadhukhan
2025-09-01 08:07:08 +00:00
Matthias Baesken
3ca44c8dea 8364352: Some tests fail when using a limited number of pregenerated .jsa CDS archives
Reviewed-by: dholmes, stuefe
2025-09-01 08:03:34 +00:00
Anton Artemov
48f70d7ad8 8361370: runtime/Thread/TestThreadDumpMonitorContention.java fails due to time out on Windows
Reviewed-by: dholmes, amenkov
2025-09-01 07:50:35 +00:00
Axel Boldt-Christmas
a9f3cb23d1 8366462: Test gc/z/TestCommitFailure.java#Normal failed: expected output missing
Reviewed-by: dholmes, eosterlund
2025-09-01 07:47:44 +00:00
Anton Artemov
d5d94db12a 8357086: os::xxx functions returning memory size should return size_t
Reviewed-by: stefank, dholmes
2025-09-01 07:43:25 +00:00
Emanuel Peter
dbac620b99 8366357: C2 SuperWord: refactor VTransformNode::apply with VTransformApplyState
Reviewed-by: chagedorn, kvn, mhaessig
2025-09-01 06:56:48 +00:00
Matthias Baesken
a6e2a329a0 8366092: [GCC static analyzer] UnixOperatingSystem.c warning: use of uninitialized value 'systemTicks'
Reviewed-by: kevinw, asteiner
2025-09-01 06:48:48 +00:00
Matthias Baesken
ba90ccc6a8 8362516: Support of GCC static analyzer (-fanalyzer)
Reviewed-by: erikj
2025-09-01 06:46:23 +00:00
Jonas Norlinder
86f48ab559 8366157: Clarify in man pages that only G1 and Parallel supports MaxGCPauseMillis
Reviewed-by: tschatzl, sjohanss
2025-09-01 06:35:10 +00:00
Francesco Andreuzzi
12dc568b3d 8366331: Sort share/prims includes
Reviewed-by: shade, lmesnik
2025-09-01 06:28:10 +00:00
Aleksey Shipilev
685da0323b 8345810: Custom launchers must be linked with pthread to avoid dynamic linker issues
Reviewed-by: asemenyuk, erikj, dholmes
2025-09-01 06:25:45 +00:00
Jan Lahoda
2894240602 8177650: JShell tool: packages in classpath don't appear in completions
Reviewed-by: asotona
2025-09-01 05:55:08 +00:00
Shaojin Wen
a668f437e4 8365620: Using enhanced switch in MethodHandleDesc
Reviewed-by: liach
2025-09-01 05:54:54 +00:00
Ioi Lam
2427c901b3 8366024: Remove unnecessary InstanceKlass::cast()
Reviewed-by: coleenp, dholmes
2025-09-01 04:03:08 +00:00
David Holmes
80ab094a75 8347707: Standardise the use of os::snprintf and os::snprintf_checked
Reviewed-by: kbarrett, fbredberg
2025-08-31 21:34:16 +00:00
Anass Baya
bdc39818ce 8361521: BogusFocusableWindowState.java fails with StackOverflowError on Linux
Reviewed-by: aivanov, serb
2025-08-31 04:34:04 +00:00
Francesco Andreuzzi
9339a6a232 8361593: Commented dead code in JDK-8342868 can be removed
Reviewed-by: jlu, naoto, jwaters, jpai
2025-08-31 00:35:09 +00:00
Sergey Bylokhov
12e6a0b6d0 8366208: Unexpected exception in sun.java2d.cmm.lcms.LCMSImageLayout
Reviewed-by: aivanov, prr
2025-08-30 19:26:45 +00:00
Chen Liang
0e7399318b 8366264: tools/javac/launcher/SourceLauncherStackTraceTest.java does not cover the scenario for 8362237
Reviewed-by: cstein, jlahoda
2025-08-30 14:03:56 +00:00
SendaoYan
f23c150709 8366359: Test should throw SkippedException when there is no lpstat
Reviewed-by: aivanov, prr
2025-08-30 02:20:44 +00:00
Chen Liang
d4ce630cea 8366399: Allow custom base reference for update_copyright_year.sh
Reviewed-by: erikj
2025-08-29 20:44:09 +00:00
Anthony Scarpino
849570a94a 8365288: PEMDecoder should throw ClassCastException
Reviewed-by: weijun
2025-08-29 17:04:37 +00:00
David Holmes
d594ef3a3e 8366121: Hotspot Style Guide should document conventions for lock-free code
Reviewed-by: stefank, ayang, jsjolen, jwaters, kvn, kbarrett
2025-08-29 16:31:13 +00:00
Chen Liang
ae9607725c 8361614: Missing sub-int value validation in the Class-File API
Reviewed-by: asotona
2025-08-29 14:35:45 +00:00
Chen Liang
937d61bfba 8364751: ConstantBootstraps.explicitCast contradictory specification for null-to-primitive
Reviewed-by: jvernee, rriggs
2025-08-29 14:35:26 +00:00
Axel Boldt-Christmas
86d6a2e05e 8366147: ZGC: ZPageAllocator::cleanup_failed_commit_single_partition may leak memory
Reviewed-by: stefank, sjohanss, jsikstro
2025-08-29 07:35:03 +00:00
Volkan Yazici
a2da75a6b6 8362884: [GCC static analyzer] unix NetworkInterface.c addif leak on early returns
Reviewed-by: dfuchs, mbaesken
2025-08-29 06:13:34 +00:00
Jaikiran Pai
b8cdf31a2e 8365898: Specification of java.lang.module.ModuleDescriptor.packages() method can be improved
Reviewed-by: alanb, liach
2025-08-29 00:46:53 +00:00
Alexander Matveev
05da2137f1 8362335: [macos] Change value of CFBundleDevelopmentRegion from "English" to "en-US"
Reviewed-by: asemenyuk
2025-08-28 21:23:15 +00:00
Ioi Lam
9f70965bb9 8366193: Add comments about ResolvedFieldEntry::copy_from()
Reviewed-by: adinn, coleenp
2025-08-28 18:08:55 +00:00
Brian Burkhalter
aaac8c0636 8366254: (fs) UnixException.translateToIOException should translate ELOOP to FileSystemLoopException
Reviewed-by: vyazici, alanb
2025-08-28 17:38:09 +00:00
Hai-May Chao
33d00a77f3 8294035: Remove null ids checking from keytool -gencrl
Reviewed-by: weijun
2025-08-28 16:36:14 +00:00
Aleksey Shipilev
8c6d12250b 8333783: java/nio/channels/FileChannel/directio/DirectIOTest.java is unstable with AV software
Reviewed-by: bpb
2025-08-28 15:58:50 +00:00
Igor Veresov
452b052fe3 8365726: Test crashed with assert in C1 thread: Possible safepoint reached by thread that does not allow it
Reviewed-by: dlong, shade
2025-08-28 15:45:17 +00:00
Mikhail Yankelevich
993babb326 8365863: /test/jdk/sun/security/pkcs11/Cipher tests skip without SkippedException
Reviewed-by: weijun, djelinski
2025-08-28 13:54:21 +00:00
Rui Li
8051aaf068 8342640: GenShen: Silently ignoring ShenandoahGCHeuristics considered poor user-experience
Reviewed-by: ysr, wkemper
2025-08-28 13:54:03 +00:00
Alexey Ivanov
afa8e79ba1 8365615: Improve JMenuBar/RightLeftOrientation.java
Reviewed-by: prr, psadhukhan
2025-08-28 13:13:10 +00:00
Alexey Ivanov
22ae137400 8365711: Declare menuBarHeight and hotTrackingOn private
Reviewed-by: serb, prr, kizune
2025-08-28 13:11:20 +00:00
Alexey Ivanov
79d8a34a92 8365708: Add missing @Override annotations to WindowsMenuItemUIAccessor
Reviewed-by: serb, kizune
2025-08-28 13:09:46 +00:00
Manuel Hässig
8f864fd563 8366222: TestCompileTaskTimeout causes asserts after JDK-8365909
Reviewed-by: chagedorn, thartmann
2025-08-28 12:48:29 +00:00
Johan Sjölen
5c78c7cd83 8366341: [BACKOUT] JDK-8365256: RelocIterator should use indexes instead of pointers
Reviewed-by: ayang
2025-08-28 12:15:03 +00:00
Leo Korinth
b0f5b23ed2 8366145: G1: Help diagnose ubsan division by zero in computing pause time ratios (g1Analytics.cpp)
Reviewed-by: tschatzl, kbarrett
2025-08-28 11:37:48 +00:00
Francesco Andreuzzi
a5a2340054 8365053: Refresh hotspot precompiled.hpp with headers based on current frequency
Reviewed-by: shade, ihse, erikj, qamai
2025-08-28 09:28:58 +00:00
Thomas Schatzl
7469a274bb 8365939: [Redo] G1: Move collection set related full gc reset code into abandon_collection_set() method
Reviewed-by: ayang, iwalulya
2025-08-28 09:21:52 +00:00
Thomas Schatzl
d06c66f7f5 8365055: G1: Merge Heap Roots phase incorrectly clears young gen remembered set every time
Reviewed-by: kbarrett, iwalulya
2025-08-28 09:21:26 +00:00
David Beaumont
ab1f2af4f0 8366255: Remove 'package_to_module' function from imageFile.cpp
Reviewed-by: rriggs, coleenp
2025-08-28 06:57:57 +00:00
Manuel Hässig
57df267e42 8365262: [IR-Framework] Add simple way to add cross-product of flags
Reviewed-by: bmaillard, epeter
2025-08-28 06:30:25 +00:00
Emanuel Peter
443b172638 8324751: C2 SuperWord: Aliasing Analysis runtime check
Reviewed-by: kvn, mhaessig
2025-08-28 05:53:23 +00:00
Axel Boldt-Christmas
501e6aed44 8366223: ZGC: ZPageAllocator::cleanup_failed_commit_multi_partition is broken
Reviewed-by: stefank, jsikstro
2025-08-28 05:02:25 +00:00
Weijun Wang
075ddef831 8364039: Adding implNote to DOMSignContext and DOMValidateContext on JDK-specific properties
Reviewed-by: mullan
2025-08-27 17:49:17 +00:00
Nizar Benalla
bd4c0f4a7d 8358618: UnsupportedOperationException constructors javadoc is not clear
Reviewed-by: liach, aivanov, rriggs
2025-08-27 15:30:17 +00:00
Brian Burkhalter
f1c0b4ed72 8361495: (fc) Async close of streams connected to uninterruptible FileChannel doesn't throw AsynchronousCloseException in all cases
Reviewed-by: alanb
2025-08-27 15:30:01 +00:00
Manuel Hässig
b43c2c6635 8366225: Linux Alpine (fast)debug build fails after JDK-8365909
Reviewed-by: mbaesken, thartmann
2025-08-27 14:48:33 +00:00
Francesco Andreuzzi
79cea6dd17 8365975: Sort share/memory includes
Reviewed-by: shade, ayang, jwaters
2025-08-27 14:37:39 +00:00
Chen Liang
1d53ac30f1 8366028: MethodType::fromMethodDescriptorString should not throw UnsupportedOperationException for invalid descriptors
Reviewed-by: jvernee
2025-08-27 14:25:39 +00:00
Ivan Walulya
124575b4c2 8359348: G1: Improve cpu usage measurements for heap sizing
Reviewed-by: tschatzl, ayang, manc
2025-08-27 11:45:43 +00:00
Hamlin Li
32df2d17f3 8365772: RISC-V: correctly prereserve NaN payload when converting from float to float16 in vector way
Reviewed-by: fyang, rehn
2025-08-27 10:15:25 +00:00
Per Minborg
19f0755c48 8365203: defineClass with direct buffer can cause use-after-free
Reviewed-by: jpai
2025-08-27 09:41:12 +00:00
Albert Mingkun Yang
0ca38bdc4d 8365919: Replace currentTimeMillis with nanoTime in Stresser.java
Reviewed-by: tschatzl, phh
2025-08-27 09:30:48 +00:00
Joel Sikström
b39c73696d 8359683: ZGC: NUMA-Aware Relocation
Reviewed-by: aboldtch, sjohanss
2025-08-27 09:08:13 +00:00
Johan Sjölen
88c3979367 8365256: RelocIterator should use indexes instead of pointers
Reviewed-by: kvn, dlong
2025-08-27 07:55:57 +00:00
Ioi Lam
aaff9dec24 8362566: Use -Xlog:aot+map to print contents of existing AOT cache
Reviewed-by: vlivanov, kvn
2025-08-27 04:27:43 +00:00
Dingli Zhang
0d54329304 8366127: RISC-V: compiler/intrinsics/TestVerifyIntrinsicChecks.java fails when running without RVV
Reviewed-by: fyang, fjiang
2025-08-27 02:15:02 +00:00
Yasumasa Suenaga
1aca920f59 8365673: Incorrect number of cores are reported on Ryzen CPU
Reviewed-by: dholmes, kvn
2025-08-26 23:57:20 +00:00
Thomas Stuefe
82289f6559 8365611: Use lookup table for JfrEventThrottler
Reviewed-by: mgronlun
2025-08-26 22:30:32 +00:00
Naoto Sato
1ff73cb2ec 8364752: java.time.Instant should be able to parse ISO 8601 offsets of the form HH:mm:ss
Reviewed-by: rriggs, vyazici, scolebourne
2025-08-26 21:51:53 +00:00
Naoto Sato
69645fd4ba 8361972: Clarify the condition of System.console() about standard input/output
Reviewed-by: smarks, jlu, joehw
2025-08-26 21:51:32 +00:00
Naoto Sato
23670fd418 8363972: Lenient parsing of minus sign pattern in DecimalFormat/CompactNumberFormat
Reviewed-by: jlu, rriggs
2025-08-26 21:49:57 +00:00
Chen Liang
b426151a33 8365885: Clean up constant pool reflection native code
Reviewed-by: iklam, alanb
2025-08-26 20:54:27 +00:00
Phil Race
c755345177 8365197: javax.imageio.stream MemoryCache based streams no longer need a disposer.
Reviewed-by: psadhukhan, jdv, serb
2025-08-26 18:54:16 +00:00
Kim Barrett
c203e7093e 8366037: Remove oopDesc::mark_addr()
Reviewed-by: shade, stefank, tschatzl
2025-08-26 18:37:22 +00:00
Brian Burkhalter
2b44ed7070 8365807: (fs) Two-arg UnixFileAttributes.getIfExists should not use exception for control flow
Reviewed-by: alanb
2025-08-26 17:42:27 +00:00
Weijun Wang
6a480ad07a 8366126: Feedback on two errors in JSR 400
Reviewed-by: hchao, wetmore
2025-08-26 16:58:54 +00:00
Hannes Wallnöfer
caaef3a04c 8350920: Allow inherited member summaries to be viewed inline
Reviewed-by: liach, nbenalla
2025-08-26 15:00:20 +00:00
Johny Jose
173dedfb24 8366131: ProblemList java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java
Reviewed-by: alanb, jpai, smarks
2025-08-26 13:53:34 +00:00
Manuel Hässig
aae13af04b 8365909: [REDO] Add a compilation timeout flag to catch long running compilations
Co-authored-by: Dean Long <dlong@openjdk.org>
Reviewed-by: chagedorn, dlong
2025-08-26 13:24:05 +00:00
Jaikiran Pai
22d3a6dd34 8366128: jdk/jdk/nio/zipfs/TestPosix.java::testJarFile uses wrong file
Reviewed-by: alanb
2025-08-26 11:55:01 +00:00
Hamlin Li
28602f3d3e 8365206: RISC-V: compiler/c2/irTests/TestFloat16ScalarOperations.java is failing on riscv64
Reviewed-by: fyang, rehn, dzhang
2025-08-26 09:54:41 +00:00
Joel Sikström
3641c32c11 8365994: ZGC: Incorrect type signature in ZMappedCache comparator
Reviewed-by: cnorrbin, aboldtch
2025-08-26 08:55:08 +00:00
Guanqiang Han
2ae3ea2ad9 8366035: Simplify CPUTimeCounters::publish_gc_total_cpu_time
Reviewed-by: ayang, kbarrett
2025-08-26 08:35:52 +00:00
Volker Simonis
68abf76e90 8366105: Update link to the external RuleBasedBreakIterator documentation
Reviewed-by: naoto, jlu, iris
2025-08-26 07:08:45 +00:00
Yasumasa Suenaga
5013d69d96 8365633: Incorrect info is reported on hybrid CPU
Reviewed-by: kvn, dholmes
2025-08-26 07:05:02 +00:00
Thomas Schatzl
e38c6f9827 8365656: [ubsan] G1CSetCandidateGroup::liveness() reports division by 0
Reviewed-by: iwalulya, ayang
2025-08-26 06:57:44 +00:00
Marc Philipp
deec6aa76d 8365394: Stylesheet must not load fonts on --no-fonts output
Reviewed-by: hannesw
2025-08-26 06:37:48 +00:00
Matthias Baesken
e5ec464120 8365442: [asan] runtime/ErrorHandling/CreateCoredumpOnCrash.java fails
Reviewed-by: jsjolen
2025-08-26 06:13:33 +00:00
Prasanta Sadhukhan
98e64cffff 8159055: Clarify handling of null and invalid image data for ImageIcon constructors and setImage method
Reviewed-by: aivanov, prr, abhiscxk, kizune, serb
2025-08-26 05:29:16 +00:00
Phil Race
e7d2a52d35 8344333: Spurious System.err.flush() in LWCToolkit.java
Reviewed-by: psadhukhan
2025-08-26 05:09:05 +00:00
Renjith Kannath Pariyangad
0f7c0e956e 8302057: Wrong BeanProperty description for JTable.setShowGrid
Reviewed-by: aivanov, serb, azvegint, prr, psadhukhan
2025-08-26 03:56:35 +00:00
Prasanta Sadhukhan
e5077660c4 8361610: Avoid wasted work in ImageIcon(Image) for setting description
Reviewed-by: kizune, aivanov
2025-08-26 02:53:44 +00:00
Ravi Gupta
21efd25c11 8361067: Test ExtraButtonDrag.java requires frame.dispose in finally block
Reviewed-by: abhiscxk, dnguyen, mvs, prr
2025-08-26 02:51:22 +00:00
Saint Wesonga
a629424248 8365579: ml64.exe is not the right assembler for Windows aarch64
Reviewed-by: jwaters, ihse, erikj
2025-08-26 01:13:56 +00:00
Paul Hohensee
1a7ac16d23 8364382: Remove sun/tools/jstat/jstatLineCountsX.sh from ProblemList on linux-ppc64le and aix due to JDK-8248691
Reviewed-by: eastigeevich, cjplummer, mbaesken
2025-08-25 19:34:43 +00:00
Phil Race
63faa50428 8365291: Remove finalize() method from sun/awt/X11InputMethodBase.java
Reviewed-by: tr, azvegint
2025-08-25 19:32:03 +00:00
Phil Race
040cc7aee0 8365292: Remove javax.imageio.spi.ServiceRegistry.finalize()
8359391: Remove ThreadGroup sandboxing from javax.imageio

Reviewed-by: serb, jdv, azvegint
2025-08-25 17:01:43 +00:00
Erik Gahlin
d24449f696 8365815: JFR: Update metadata.xml with 'jfr query' examples
Reviewed-by: mgronlun
2025-08-25 15:10:50 +00:00
Thomas Schatzl
45726a1f8b 8365052: G1: Remove G1CollectionSet::groups() accessors
Reviewed-by: ayang, kbarrett
2025-08-25 10:18:36 +00:00
Paul Hübner
5cc8673841 8365765: thread.inline.hpp includes the wrong primary header file
Reviewed-by: stefank, ayang, jwaters
2025-08-25 09:13:35 +00:00
Thomas Schatzl
57434c73ea 8365976: G1: Full gc should mark nmethods on stack
Reviewed-by: ayang, iwalulya
2025-08-25 07:44:20 +00:00
Thomas Schatzl
28bd29f396 8365034: G1: Remove num_groups_selected in G1CollectionSet::select_candidates_from_optional_groups as it is unnecessary
Reviewed-by: ayang, iwalulya
2025-08-25 07:43:12 +00:00
Thomas Schatzl
7fa501e398 8365040: G1: Remove sorting at end of collection set selection
Reviewed-by: iwalulya, ayang
2025-08-25 07:42:55 +00:00
Jan Lahoda
d99fb09a20 8359497: IllegalArgumentException thrown by SourceCodeAnalysisImpl.highlights()
Reviewed-by: vromero
2025-08-25 07:15:44 +00:00
Marc Chevalier
1f0dfdbcca 8360561: PhaseIdealLoop::create_new_if_for_predicate hits "must be a uct if pattern" assert
Reviewed-by: mhaessig, thartmann, qamai
2025-08-25 06:51:28 +00:00
Fredrik Bredberg
0b8ae26028 8365189: Remove LockingMode related code from arm32
Reviewed-by: aboldtch, coleenp
2025-08-25 06:47:57 +00:00
Ioi Lam
15601b4718 8366029: Do not add -XX:VerifyArchivedFields by default to CDS tests
Reviewed-by: kvn
2025-08-25 04:01:00 +00:00
Alan Bateman
58e7581527 8365893: test/jdk/java/lang/Thread/virtual/JfrEvents.java failing intermittently
Reviewed-by: jpai
2025-08-24 16:22:21 +00:00
SendaoYan
09aad0aea8 8365834: Mark java/net/httpclient/ManyRequests.java as intermittent
Reviewed-by: jpai
2025-08-23 02:43:23 +00:00
Alexander Matveev
7b9969dc8f 8356218: [macos] Document --app-content
Reviewed-by: asemenyuk
2025-08-22 22:24:39 +00:00
Cesar Soares Lucas
f28f618972 8356289: Shenandoah: Clean up SATB barrier runtime entry points
Reviewed-by: kdnilsen, ysr, wkemper
2025-08-22 21:51:21 +00:00
Phil Race
603526b55b 8364768: JDK javax.imageio ImageWriters do not all flush the output stream
Reviewed-by: psadhukhan, azvegint
2025-08-22 20:50:34 +00:00
Ioi Lam
c01b4fc348 8365814: Consolidate has_been_archived() and has_been_buffered() in ArchiveBuilder
Reviewed-by: kvn, coleenp
2025-08-22 20:41:21 +00:00
Naoto Sato
ae0dac43c0 8361613: System.console() should only be available for interactive terminal
Reviewed-by: jlahoda, smarks, alanb
2025-08-22 17:50:22 +00:00
Francesco Andreuzzi
19882220ec 8365829: Multiple definitions of static 'phase_names'
Reviewed-by: kbarrett
2025-08-22 17:36:52 +00:00
altrisi
e916ce8ce9 8365878: jshell TOOLING's javap should use binary names
Reviewed-by: liach, cstein
2025-08-22 17:10:40 +00:00
Shaojin Wen
dba0d54505 8365832: Optimize FloatingDecimal and DigitList with byte[] and cleanup
Reviewed-by: rgiulietti, liach
2025-08-22 16:44:47 +00:00
Shaojin Wen
f5f414f9fc 8365186: Reduce size of j.t.f.DateTimePrintContext::adjust
Reviewed-by: rriggs
2025-08-22 15:57:11 +00:00
Martin Doerr
e1c58f858a 8360540: nmethod entry barriers of new nmethods should be disarmed
Reviewed-by: eosterlund, tschatzl
2025-08-22 09:01:21 +00:00
Alan Bateman
f0498c2aed 8364764: java/nio/channels/vthread/BlockingChannelOps.java subtests timed out
Reviewed-by: jpai
2025-08-22 08:16:55 +00:00
Phil Race
8e44856992 8365180: Remove sun.awt.windows.WInputMethod.finalize()
Reviewed-by: serb, azvegint
2025-08-22 04:28:56 +00:00
Amit Kumar
558d06399c 8361536: [s390x] Saving return_pc at wrong offset
Reviewed-by: lucy, mdoerr
2025-08-22 03:43:01 +00:00
Dingli Zhang
584137cf96 8365844: RISC-V: TestBadFormat.java fails when running without RVV
Reviewed-by: fjiang, chagedorn, epeter, fyang
2025-08-22 01:42:57 +00:00
Phil Race
3468c6e5ef 8365389: Remove static color fields from SwingUtilities3 and WindowsMenuItemUI
Reviewed-by: psadhukhan, aivanov, dnguyen
2025-08-21 20:49:04 +00:00
Brian Burkhalter
52747256bb 8154364: (fs) Files.isSameFile() throws NoSuchFileException with broken symbolic links
Reviewed-by: alanb
2025-08-21 19:56:46 +00:00
Francesco Andreuzzi
11eccfc85f 8365917: Sort share/logging includes
Reviewed-by: ayang, phh
2025-08-21 18:58:27 +00:00
Prasanta Sadhukhan
bdf9834b81 8365425: [macos26] javax/swing/JInternalFrame/8160248/JInternalFrameDraggingTest.java fails on macOS 26
Reviewed-by: dnguyen, kizune
2025-08-21 16:46:19 +00:00
Vladimir Kozlov
d757246823 8365891: failed: Completed task should not be in the queue
Reviewed-by: dlong
2025-08-21 16:37:07 +00:00
Thomas Schatzl
cf70cb70bc 8365024: G1: Make G1CollectionSet::_inc_build_state assert-only
Reviewed-by: ayang, kbarrett
2025-08-21 15:32:25 +00:00
Jonas Norlinder
fb651fd6d2 8364638: Refactor and make accumulated GC CPU time code generic
Reviewed-by: ayang, sjohanss
2025-08-21 14:05:36 +00:00
Paul Hübner
1548ac4f54 8365378: Redundant code in Deoptimization::print_statistics
Reviewed-by: jsjolen, coleenp
2025-08-21 14:00:18 +00:00
Thomas Schatzl
02fe095d29 8364934: G1: Rename members of G1CollectionSet
Reviewed-by: ayang, kbarrett
2025-08-21 11:53:57 +00:00
Thomas Schatzl
a3fd4248b7 8365115: G1: Refactor rem set statistics gather code for group
Reviewed-by: kbarrett, ayang
2025-08-21 09:46:02 +00:00
Thomas Schatzl
f61b247fe3 8364962: G1: Inline G1CollectionSet::finalize_incremental_building
Reviewed-by: ayang, kbarrett
2025-08-21 09:44:41 +00:00
Thomas Schatzl
ed260e8cae 8365026: G1: Initialization should start a "full" new collection set
Reviewed-by: ayang, kbarrett
2025-08-21 09:37:34 +00:00
Thomas Schatzl
f0e706698d 8364414: G1: Use simpler data structure for holding collection set candidates during calculation
Reviewed-by: ayang, iwalulya
2025-08-21 09:36:16 +00:00
Thomas Schatzl
9439d76309 8364532: G1: In liveness tracing, print more significant digits for the liveness value
Reviewed-by: ayang, iwalulya
2025-08-21 09:35:57 +00:00
Thomas Schatzl
b735ef99b2 8364925: G1: Improve program flow around incremental collection set building
Reviewed-by: ayang, iwalulya
2025-08-21 09:19:14 +00:00
Thomas Schatzl
5ede5b47d4 8364650: G1: Use InvalidCSetIndex instead of UINT_MAX for "invalid" sentinel value of young_index_in_cset
Reviewed-by: ayang, iwalulya
2025-08-21 09:18:58 +00:00
Manuel Hässig
5febc4e3bb 8365910: [BACKOUT] Add a compilation timeout flag to catch long running compilations
Reviewed-by: chagedorn, dholmes
2025-08-21 08:23:32 +00:00
Fredrik Bredberg
a7c0f4b845 8365146: Remove LockingMode related code from ppc64
Reviewed-by: aboldtch, mdoerr
2025-08-21 07:47:26 +00:00
Manuel Hässig
c74c60fb8b 8308094: Add a compilation timeout flag to catch long running compilations
Co-authored-by: Dean Long <dlong@openjdk.org>
Reviewed-by: dlong, chagedorn
2025-08-21 07:09:25 +00:00
Amit Kumar
78d50c0215 8358756: [s390x] Test StartupOutput.java crash due to CodeCache size
Reviewed-by: lucy, dfenacci
2025-08-21 03:53:30 +00:00
Dingli Zhang
2e06a91765 8365841: RISC-V: Several IR verification tests fail after JDK-8350960 without Zvfh
Reviewed-by: fyang, fjiang, mli
2025-08-21 01:20:16 +00:00
Francesco Andreuzzi
ecab52c09b 8365610: Sort share/jfr includes
Reviewed-by: shade, mgronlun
2025-08-20 17:21:22 +00:00
Francesco Andreuzzi
ed7d5fe840 8360304: Redundant condition in LibraryCallKit::inline_vector_nary_operation
Reviewed-by: shade, vlivanov
2025-08-20 17:16:38 +00:00
Alan Bateman
be6c15ecb4 8365671: Typo in Joiner.allUntil example
Reviewed-by: liach
2025-08-20 16:07:38 +00:00
Chris Plummer
9041f4c47f 8309400: JDI spec needs to clarify when OpaqueFrameException and NativeMethodException are thrown
Reviewed-by: sspitsyn, alanb, amenkov
2025-08-20 15:32:17 +00:00
Archie Cobbs
3e60ab51fe 8348611: Eliminate DeferredLintHandler and emit warnings after attribution
8224228: No way to locally suppress lint warnings in parser/tokenizer or preview features
8353758: Missing calls to Log.useSource() in JavacTrees

Reviewed-by: mcimadamore, vromero, jlahoda
2025-08-20 15:04:48 +00:00
Hannes Wallnöfer
5ca8d7c2a7 8284499: Add the ability to right-click and open in new tab JavaDoc Search results
Reviewed-by: liach
2025-08-20 14:52:04 +00:00
Patricio Chilano Mateo
ebf5ae8435 8359222: [asan] jvmti/vthread/ToggleNotifyJvmtiTest/ToggleNotifyJvmtiTest triggers stack-buffer-overflow error
Reviewed-by: dholmes, fbredberg, coleenp
2025-08-20 14:49:16 +00:00
Afshin Zafari
e912977a66 8353444: NMT: rename 'category' to 'MemTag' in malloc tracker
Reviewed-by: jsjolen
2025-08-20 13:40:13 +00:00
Volkan Yazici
1383b8ef87 8362243: Devkit creation for Fedora base OS is broken
Reviewed-by: ihse, erikj, shade
2025-08-20 13:14:04 +00:00
Fei Gao
51d710e3cc 8364184: [REDO] AArch64: [VectorAPI] sve vector math operations are not supported after JDK-8353217
Reviewed-by: ihse, aph
2025-08-20 11:35:31 +00:00
Hannes Wallnöfer
908f3c9697 8356411: Comment tree not reporting correct position for label
Reviewed-by: liach
2025-08-20 08:38:06 +00:00
Fredrik Bredberg
169d145e99 8365188: Remove LockingMode related code from s390
Reviewed-by: ayang, aboldtch, amitkumar
2025-08-20 08:25:01 +00:00
Anton Artemov
70f3469310 8365556: ObjectMonitor::try_lock_or_add_to_entry_list() returns true with the wrong state of the node
Reviewed-by: pchilanomate, dholmes, fbredberg
2025-08-20 08:13:07 +00:00
Ivan Walulya
9c338f6f87 8365780: G1: Remset for young regions are cleared too early during Full GC
Reviewed-by: sjohanss, ayang
2025-08-20 07:51:47 +00:00
Anton Artemov
4ffd2a8aa4 8364819: Post-integration cleanups for JDK-8359820
Reviewed-by: dholmes, ayang, shade
2025-08-20 07:28:36 +00:00
Daniel Gredler
c220a6c7bb 8359955: Regressions ~7% in several J2DBench in 25-b26
Reviewed-by: prr, serb
2025-08-20 07:26:02 +00:00
Yagmur Eren
40bc083267 8358748: Large page size initialization fails with assert "page_size must be a power of 2"
Reviewed-by: ayang, dholmes
2025-08-20 07:16:36 +00:00
Matthias Baesken
320235ccb8 8365700: Jar --validate without any --file option leaves around a temporary file /tmp/tmpJar<number>.jar
Reviewed-by: jpai, asteiner
2025-08-20 06:47:36 +00:00
Jaikiran Pai
b453eb63c6 8365811: test/jdk/java/net/CookieHandler/B6644726.java failure - "Should have 5 cookies. Got only 4, expires probably didn't parse correctly"
Reviewed-by: syan, alanb
2025-08-20 06:07:20 +00:00
Koichi Sakata
506625b768 8356324: JVM crash (SIGSEGV at ClassListParser::resolve_indy_impl) during -Xshare:dump starting from 21.0.5
Reviewed-by: coleenp, matsaave
2025-08-20 04:47:04 +00:00
Valerie Peng
640b71da48 8365168: Use 64-bit aligned addresses for CK_ULONG access in PKCS11 native key code
Reviewed-by: coffeys
2025-08-20 04:20:22 +00:00
Weijun Wang
eca2032c06 8365559: jarsigner shows files non-existent if signed with a weak algorithm
Reviewed-by: abarashev, wetmore
2025-08-20 00:04:38 +00:00
Samuel Chee
95577ca97f 8361890: Aarch64: Removal of redundant dmb from C1 AtomicLong methods
Reviewed-by: aph, dlong
2025-08-19 23:48:57 +00:00
Roger Riggs
55e7494dee 8365703: Refactor ZipCoder to use common JLA.uncheckedNewStringNoRepl
Reviewed-by: lancea, vyazici
2025-08-19 23:33:40 +00:00
Brett Okken
3bbaa772b0 8364320: String encodeUTF8 latin1 with negatives
Reviewed-by: liach, rriggs
2025-08-19 20:31:17 +00:00
Phil Race
0858743dee 8277585: Remove the terminally deprecated finalize() method from javax.imageio.stream APIs
Reviewed-by: achung, azvegint, serb
2025-08-19 20:03:52 +00:00
Roger Riggs
884076f6e2 8365719: Refactor uses of JLA.uncheckedNewStringNoRepl
Reviewed-by: liach, vyazici
2025-08-19 19:06:20 +00:00
Erik Gahlin
024292ac4d 8365614: JFR: Improve PrettyWriter::printValue
Reviewed-by: mgronlun
2025-08-19 16:08:12 +00:00
Hannes Wallnöfer
0755477c9a 8342705: Add dark mode for docs
Reviewed-by: liach
2025-08-19 16:01:12 +00:00
Chris Plummer
4ed268ff9a 8362304: Fix JDWP spec w.r.t. OPAQUE_FRAME and INVALID_SLOT errors
Reviewed-by: sspitsyn, alanb, amenkov
2025-08-19 15:05:25 +00:00
Erik Gahlin
0b2d0817f1 8365636: JFR: Minor cleanup
Reviewed-by: shade
2025-08-19 14:45:37 +00:00
Fei Gao
999761d0f6 8365312: GCC 12 cannot compile SVE on aarch64 with auto-var-init pattern
Reviewed-by: kbarrett, ihse, erikj
2025-08-19 08:22:40 +00:00
Manjunath Matti
812434c420 8359114: [s390x] Add z17 detection code
Reviewed-by: amitkumar, aph
2025-08-19 07:57:00 +00:00
Manuel Hässig
626bea80ab 8356176: C2 MemorySegment: missing RCE with byteSize() in Loop Exit Check inside the for Expression
Co-authored-by: Quan Anh Mai <qamai@openjdk.org>
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Co-authored-by: Tobias Hartmann <thartmann@openjdk.org>
Reviewed-by: epeter, qamai
2025-08-19 06:37:52 +00:00
Sergey Bylokhov
4c80780f6a 8359380: Rework deferral profile logic after JDK-8346465
Reviewed-by: prr
2025-08-19 06:33:12 +00:00
Volkan Yazici
655dc516c2 8361842: Move input validation checks to Java for java.lang.StringCoding intrinsics
Reviewed-by: rriggs, liach, dfenacci, thartmann, redestad, jrose
2025-08-19 05:06:50 +00:00
Boris Ulasevich
f2f7a490c0 8365071: ARM32: JFR intrinsic jvm_commit triggers C2 regalloc assert
Reviewed-by: mgronlun
2025-08-19 04:40:45 +00:00
Shawn M Emery
e04a310375 8364806: Test sun/security/krb5/config/IncludeRandom.java times out on Windows
Reviewed-by: mbaesken
2025-08-18 23:54:06 +00:00
Mikhail Yankelevich
ec7361e082 8365660: test/jdk/sun/security/pkcs11/KeyAgreement/ tests skipped without SkipExceprion
Reviewed-by: rhalade
2025-08-18 23:07:57 +00:00
Justin Lu
a0053012a4 8364780: Unicode extension clarifications for NumberFormat/DecimalFormatSymbols
Reviewed-by: naoto
2025-08-18 22:10:20 +00:00
David Alayachew
bad38a0f92 8365643: JShell EditPad out of bounds on Windows
Reviewed-by: liach, aivanov, cstein, jlahoda
2025-08-18 20:47:02 +00:00
Raffaello Giulietti
285adff24e 8362448: Make use of the Double.toString(double) algorithm in java.text.DecimalFormat
Reviewed-by: naoto, jlu
2025-08-18 16:12:34 +00:00
Aleksey Shipilev
c9ecedd226 8365594: Strengthen Universe klasses asserts to catch bootstrapping errors earlier
Reviewed-by: coleenp, ayang
2025-08-18 15:51:08 +00:00
Erik Gahlin
2a16cc890b 8365550: JFR: The active-settings view should not use LAST_BATCH
Reviewed-by: shade, mgronlun
2025-08-18 15:42:31 +00:00
Jaikiran Pai
81c6ed3882 8365533: Remove outdated jdk.internal.javac package export to several modules from java.base
Reviewed-by: alanb, liach
2025-08-18 13:40:42 +00:00
Matthew Donovan
c1198bba0e 8357277: Update OpenSSL library for interop tests
Reviewed-by: rhalade
2025-08-18 11:08:36 +00:00
Erik Gahlin
a42ba1ff1a 8365638: JFR: Add --exact for debugging out-of-order events
Reviewed-by: shade
2025-08-18 10:36:35 +00:00
Pasam Soujanya
6e91ccd1c3 8365305: The ARIA role ‘contentinfo’ is not valid for the element <footer>
Reviewed-by: hannesw
2025-08-18 09:37:58 +00:00
Saranya Natarajan
2b756ab1e8 8358781: C2 fails with assert "bad profile data type" when TypeProfileCasts is disabled
Reviewed-by: mhaessig, kvn, dfenacci
2025-08-18 08:16:32 +00:00
Aleksey Shipilev
ca753ebad6 8365165: Zap C-heap memory at delete/free
Reviewed-by: kvn, kbarrett
2025-08-18 08:12:20 +00:00
Volkan Yazici
190e113031 8364263: HttpClient: Improve encapsulation of ProxyServer
Reviewed-by: dfuchs, jpai
2025-08-18 08:11:19 +00:00
Matthias Baesken
166ea12d73 8365543: UnixNativeDispatcher.init should lookup open64at and stat64at on AIX
Co-authored-by: Joachim Kern <jkern@openjdk.org>
Reviewed-by: jkern, stuefe, goetz, alanb
2025-08-18 07:14:09 +00:00
David Beaumont
e7ca8c7d55 8365436: ImageReaderTest fails when jmods directory not present
Reviewed-by: sgehwolf, alanb
2025-08-18 07:08:19 +00:00
Per Minborg
f364fcab79 8359119: Change Charset to use StableValue
Reviewed-by: alanb, rriggs
2025-08-18 05:32:03 +00:00
Kim Barrett
bd65d483df 8365245: Move size reducing operations to GrowableArrayWithAllocator
Reviewed-by: jsjolen, stefank
2025-08-17 12:56:42 +00:00
Alexey Semenyuk
57210af9bc 8365555: Cleanup redundancies in jpackage implementation
Reviewed-by: almatvee
2025-08-16 04:41:25 +00:00
Leonid Mesnik
a70521c62e 8364973: Add JVMTI stress testing mode
Reviewed-by: erikj, ihse, sspitsyn
2025-08-15 22:45:01 +00:00
Andrew Dinn
b023fea062 8365558: Fix stub entry init and blob creation on Zero
Reviewed-by: asmehra, kvn
2025-08-15 22:12:57 +00:00
Phil Race
b69a3849b2 8365198: Remove unnecessary mention of finalize in ImageIO reader/writer docs
Reviewed-by: bchristi, azvegint
2025-08-15 20:02:43 +00:00
William Kemper
6e760b9b74 8365622: Shenandoah: Fix Shenandoah simple bit map test
Reviewed-by: ysr
2025-08-15 20:00:01 +00:00
Dean Long
39a3652968 8278874: tighten VerifyStack constraints
Co-authored-by: Tom Rodriguez <never@openjdk.org>
Reviewed-by: mhaessig, never
2025-08-15 18:52:45 +00:00
William Kemper
08db4b9962 8365571: GenShen: PLAB promotions may remain disabled for evacuation threads
Reviewed-by: kdnilsen, ysr, shade
2025-08-15 17:56:47 +00:00
Francesco Andreuzzi
dbae90c950 8364723: Sort share/interpreter includes
Reviewed-by: shade, ayang
2025-08-15 10:45:00 +00:00
Volkan Yazici
059b49b955 8365244: Some test control variables are undocumented in doc/testing.md
Reviewed-by: erikj
2025-08-15 10:37:26 +00:00
Guanqiang Han
b6d5f49b8d 8365296: Build failure with Clang due to -Wformat warning after JDK-8364611
Reviewed-by: ayang, mbaesken
2025-08-15 09:41:17 +00:00
Markus Grönlund
5856dc34c8 8365199: Use a set instead of a list as the intermediary Klass* storage to reduce typeset processing
Reviewed-by: egahlin
2025-08-15 09:32:51 +00:00
Manuel Hässig
fa2eb61648 8365491: VSCode IDE: add basic configuration for the Oracle Java extension
Reviewed-by: ihse, jlahoda
2025-08-15 08:55:11 +00:00
Doug Simon
e3aeebec17 8365468: EagerJVMCI should only apply to the CompilerBroker JVMCI runtime
Reviewed-by: never
2025-08-15 07:35:52 +00:00
Chen Liang
6fb6f3d39b 8361638: java.lang.classfile.CodeBuilder.CatchBuilder should not throw IllegalArgumentException for representable exception handlers
Reviewed-by: asotona
2025-08-15 04:25:37 +00:00
David Beaumont
44b19c01ac 8365532: java/lang/module/ModuleReader/ModuleReaderTest.testImage fails
Reviewed-by: alanb
2025-08-15 02:53:42 +00:00
Vladimir Kozlov
a65f200220 8365512: Replace -Xcomp with -Xmixed for AOT assembly phase
Reviewed-by: shade
2025-08-14 23:59:34 +00:00
Chen Liang
8c363b3e3e 8364319: Move java.lang.constant.AsTypeMethodHandleDesc to jdk.internal
Reviewed-by: redestad
2025-08-14 21:41:14 +00:00
Chen Liang
c5cbcac828 8361730: The CodeBuilder.trying(BlockCodeBuilder,CatchBuilder) method generates corrupted bytecode in certain cases
Reviewed-by: asotona
2025-08-14 20:27:08 +00:00
William Kemper
dccca0fb7a 8365572: Shenandoah: Remove unused thread local _paced_time field
Reviewed-by: shade
2025-08-14 19:58:54 +00:00
David Beaumont
ba23105231 8365048: idea.sh script does not correctly detect/handle git worktrees
Reviewed-by: shade, vyazici, erikj, mcimadamore, ihse
2025-08-14 17:02:05 +00:00
Igor Veresov
26ccb3cef1 8362530: VM crash with -XX:+PrintTieredEvents when collecting AOT profiling
Reviewed-by: chagedorn, kvn
2025-08-14 16:59:05 +00:00
Phil Race
b0f98df75a 8365416: java.desktop no longer needs preview feature access
Reviewed-by: alanb, jpai
2025-08-14 15:20:47 +00:00
Albert Mingkun Yang
dd113c8df0 8364628: Serial: Refactor SerialHeap::mem_allocate_work
Reviewed-by: phh, kbarrett
2025-08-14 14:50:56 +00:00
Roman Marchenko
41520998aa 8365098: make/RunTests.gmk generates a wrong path to test artifacts on Alpine
Reviewed-by: erikj, ihse
2025-08-14 12:31:20 +00:00
Matthias Baesken
98f54d90ea 8365487: [asan] some oops (mode) related tests fail
Reviewed-by: kbarrett, syan
2025-08-14 11:11:47 +00:00
Erik Gahlin
7698c373a6 8364556: JFR: Disable SymbolTableStatistics and StringTableStatistics in default.jfc
Reviewed-by: mgronlun
2025-08-14 10:43:21 +00:00
Yudi Zheng
e320162815 8365218: [JVMCI] AArch64 CPU features are not computed correctly after 8364128
Reviewed-by: dnsimon
2025-08-14 07:39:49 +00:00
Joel Sikström
3e3298509f 8365317: ZGC: Setting ZYoungGCThreads lower than ZOldGCThreads may result in a crash
Reviewed-by: tschatzl, eosterlund
2025-08-14 07:37:10 +00:00
Jan Lahoda
a6be228642 8365314: javac fails with an exception for erroneous source
Reviewed-by: vromero
2025-08-14 07:04:40 +00:00
Jan Lahoda
c22e01d776 8341342: Elements.getAllModuleElements() does not work properly before JavacTask.analyze()
Reviewed-by: vromero, liach
2025-08-14 07:02:08 +00:00
Prasanta Sadhukhan
9dcc502cc8 8365375: Method SU3.setAcceleratorSelectionForeground assigns to acceleratorForeground
Reviewed-by: aivanov, prr, kizune
2025-08-14 04:55:02 +00:00
Aleksey Shipilev
9c266ae83c 8365229: ARM32: c2i_no_clinit_check_entry assert failed after JDK-8364269
Reviewed-by: kvn, adinn, bulasevich, phh
2025-08-13 20:49:16 +00:00
Justin Lu
9660320041 8364781: Re-examine DigitList digits resizing during parsing
Reviewed-by: liach, naoto
2025-08-13 20:43:46 +00:00
Johan Sjölen
4680dc9831 8365264: Rename ResourceHashtable to HashTable
Reviewed-by: iklam, ayang
2025-08-13 18:41:57 +00:00
Alex Menkov
ecbdd3405a 8361103: java_lang_Thread::async_get_stack_trace does not properly protect JavaThread
Reviewed-by: sspitsyn, dholmes
2025-08-13 18:24:56 +00:00
Srinivas Vamsi Parasa
38a261415d 8365265: x86 short forward jump exceeds 8-bit offset in methodHandles_x86.cpp when using Intel APX
Reviewed-by: shade, jbhateja, aph
2025-08-13 17:53:05 +00:00
Nikita Gubarkov
899e13f40a 8364434: Inconsistent BufferedContext state after GC
Reviewed-by: jdv, azvegint, avu
2025-08-13 17:36:07 +00:00
Boris Ulasevich
001aaa1e49 8365166: ARM32: missing os::fetch_bcp_from_context implementation
Reviewed-by: shade
2025-08-13 12:45:48 +00:00
Guanqiang Han
f3b34d32d6 8359235: C1 compilation fails with "assert(is_single_stack() && !is_virtual()) failed: type check"
Reviewed-by: thartmann, dlong
2025-08-13 10:52:54 +00:00
Fredrik Bredberg
e77cdd93ea 8364570: Remove LockingMode related code from riscv64
Reviewed-by: fyang, fjiang
2025-08-13 08:47:08 +00:00
Jan Lahoda
72e22b4de5 8362885: A more formal way to mark javac's Flags that belong to a specific Symbol type only
Reviewed-by: ihse, liach, vromero, mcimadamore, erikj
2025-08-13 08:07:45 +00:00
Ramkumar Sunderbabu
25480f0011 8365184: sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java Re-enable SerialGC flag on debuggee process
Reviewed-by: lmesnik, cjplummer, sspitsyn
2025-08-13 01:45:49 +00:00
Dingli Zhang
636c61a386 8365302: RISC-V: compiler/loopopts/superword/TestAlignVector.java fails when vlen=128
Reviewed-by: fyang, fjiang
2025-08-13 01:24:39 +00:00
Erik Gahlin
87d734012e 8364756: JFR: Improve slow tests
Reviewed-by: mgronlun
2025-08-12 17:44:34 +00:00
Brian Burkhalter
d023982600 8361209: (bf) Use CharSequence::getChars for StringCharBuffer bulk get methods
Reviewed-by: rriggs, alanb
2025-08-12 17:39:14 +00:00
Coleen Phillimore
4c03e5938d 8364750: Remove unused declaration in jvm.h
Reviewed-by: shade
2025-08-12 16:30:09 +00:00
Ioi Lam
ad0fd13f20 8364454: ProblemList runtime/cds/DeterministicDump.java on macos for JDK-8363986
Reviewed-by: ccheung
2025-08-12 16:20:00 +00:00
Erik Gahlin
a382996bb4 8364993: JFR: Disable jdk.ModuleExport in default.jfc
Reviewed-by: mgronlun
2025-08-12 13:42:53 +00:00
Matthias Baesken
391ea15118 8365307: AIX make fails after JDK-8364611
Reviewed-by: clanger, asteiner
2025-08-12 13:16:54 +00:00
Albert Mingkun Yang
19a76a45e9 8365316: Remove unnecessary default arg value in gcVMOperations
Reviewed-by: tschatzl
2025-08-12 11:58:37 +00:00
Albert Mingkun Yang
95b7a8b3e3 8365237: Remove unused SoftRefPolicy::_all_soft_refs_clear
Reviewed-by: tschatzl, kbarrett
2025-08-12 11:29:43 +00:00
Thomas Schatzl
16e461ef31 8365122: G1: Minor clean up of G1SurvivorRegions
Reviewed-by: sangheki, kbarrett
2025-08-12 08:52:37 +00:00
Fredrik Bredberg
3c0eed8e47 8364406: Remove LockingMode related code from aarch64
Reviewed-by: aph, dholmes
2025-08-12 08:45:36 +00:00
Fredrik Bredberg
f155f7d6e5 8364141: Remove LockingMode related code from x86
Reviewed-by: aboldtch, dholmes, coleenp
2025-08-12 08:45:02 +00:00
David Beaumont
b81f4faed7 8360037: Refactor ImageReader in preparation for Valhalla support
Reviewed-by: alanb, rriggs, jpai
2025-08-12 08:34:26 +00:00
Johny Jose
5a442197d2 7191877: TEST_BUG: java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java failing intermittently
Reviewed-by: smarks, coffeys
2025-08-12 08:26:42 +00:00
Afshin Zafari
db12f1934a 8364280: NMTCommittedVirtualMemoryTracker.test_committed_virtualmemory_region_vm fails with assertion "negative distance"
Reviewed-by: gziemski, jsjolen
2025-08-12 08:03:18 +00:00
Matthias Baesken
d78fa5a9f6 8365240: [asan] exclude some tests when using asan enabled binaries
Reviewed-by: lmesnik, sspitsyn
2025-08-12 07:16:57 +00:00
Alexey Semenyuk
72d3a2a977 8308349: missing working directory option for launcher when invoked from shortcuts
Reviewed-by: almatvee
2025-08-12 03:15:49 +00:00
Dingli Zhang
6927fc3904 8365200: RISC-V: compiler/loopopts/superword/TestGeneralizedReductions.java fails with Zvbb and vlen=128
Reviewed-by: fyang, fjiang
2025-08-12 01:25:35 +00:00
Joe Darcy
9593730a23 8362376: Use @Stable annotation in Java FDLIBM implementation
Reviewed-by: liach, rgiulietti
2025-08-11 23:45:24 +00:00
Brian Burkhalter
8cd79752c6 8364761: (aio) AsynchronousChannelGroup.execute doesn't check null command
Reviewed-by: alanb, vyazici
2025-08-11 18:50:39 +00:00
Aleksey Shipilev
958383d69c 8364501: Compiler shutdown crashes on access to deleted CompileTask
Reviewed-by: kvn, mhaessig
2025-08-11 18:49:37 +00:00
Francesco Andreuzzi
e9e331b2a9 8365238: 'jfr' feature requires 'services' with 'custom' build variant
Reviewed-by: erikj, shade, ihse
2025-08-11 17:10:10 +00:00
Thomas Stuefe
bdb1646a1e 8364611: (process) Child process SIGPIPE signal disposition should be default
Reviewed-by: erikj, rriggs
2025-08-11 15:37:31 +00:00
Magnus Ihse Bursie
23985c29b4 8357979: Compile jdk.internal.vm.ci targeting the Boot JDK version
Reviewed-by: erikj, dnsimon
2025-08-11 14:12:55 +00:00
Casper Norrbin
0ad919c1e5 8352067: Remove the NMT treap and replace its uses with the utilities red-black tree
Reviewed-by: jsjolen, ayang
2025-08-11 12:22:52 +00:00
Darragh Clarke
43cfd80c1c 8352502: Response message is null if expect 100 assertion fails with non 100
Reviewed-by: dfuchs
2025-08-11 11:57:08 +00:00
Benoît Maillard
a60e523f88 8349191: Test compiler/ciReplay/TestIncrementalInlining.java failed
Reviewed-by: mhaessig, dfenacci, chagedorn
2025-08-11 11:15:34 +00:00
Albert Mingkun Yang
fd766b27b9 8364541: Parallel: Support allocation in old generation when heap is almost full
Reviewed-by: phh, tschatzl
2025-08-11 10:49:47 +00:00
Jan Lahoda
8b5bb01355 8364987: javac fails with an exception when looking for diamond creation
Reviewed-by: vromero
2025-08-11 10:28:59 +00:00
Magnus Ihse Bursie
1fc0b01601 8361142: Improve custom hooks for makefiles
Reviewed-by: erikj
2025-08-11 09:44:49 +00:00
Albert Mingkun Yang
0c39228ec1 8364767: G1: Remove use of CollectedHeap::_soft_ref_policy
Reviewed-by: tschatzl, sangheki
2025-08-11 09:42:12 +00:00
Dmitry Cherepanov
10762d408b 8365044: Missing copyright header in Contextual.java
Reviewed-by: egahlin
2025-08-11 08:19:02 +00:00
Joel Sikström
f28126ebc2 8365050: Too verbose warning in os::commit_memory_limit() on Windows
Reviewed-by: dholmes, mbaesken
2025-08-11 08:18:28 +00:00
Volkan Yazici
c31f4861fb 8364365: HKSCS encoder does not properly set the replacement character
Reviewed-by: sherman
2025-08-11 07:10:38 +00:00
Matthias Baesken
15e8609a2c 8364996: java/awt/font/FontNames/LocaleFamilyNames.java times out on Windows
Reviewed-by: clanger, prr, asteiner
2025-08-11 07:08:03 +00:00
Jaikiran Pai
022e29a775 8365086: CookieStore.getURIs() and get(URI) should return an immutable List
Reviewed-by: liach, vyazici, dfuchs
2025-08-10 04:22:10 +00:00
Chen Liang
e13b4c8de9 8358535: Changes in ClassValue (JDK-8351996) caused a 1-9% regression in Renaissance-PageRank
Reviewed-by: jrose, shade
2025-08-09 23:44:21 +00:00
Jaikiran Pai
f83454cd61 8364786: Test java/net/vthread/HttpALot.java intermittently fails - 24999 handled, expected 25000
Reviewed-by: dfuchs, alanb, vyazici
2025-08-09 02:00:58 +00:00
Alexey Semenyuk
8ad1fcc48a 8364564: Shortcut configuration is not recorded in .jpackage.xml file
Reviewed-by: almatvee
2025-08-08 22:11:52 +00:00
Alexey Semenyuk
c1c0155604 8364129: Rename libwixhelper
Reviewed-by: erikj, almatvee
2025-08-08 21:41:44 +00:00
Chen Liang
cd50d78d44 8361300: Document exceptions for Unsafe offset methods
Reviewed-by: jrose, vyazici
2025-08-08 17:17:21 +00:00
Andrew Dinn
241808e13f 8364269: Simplify code cache API by storing adapter entry offsets in blob
Reviewed-by: kvn, shade, asmehra
2025-08-08 09:12:08 +00:00
Afshin Zafari
1b3e23110b 8360048: NMT crash in gtest/NMTGtests.java: fatal error: NMT corruption: Block at 0x0000017748307120: header canary broken
Reviewed-by: jsjolen, gziemski
2025-08-08 09:06:43 +00:00
Thomas Schatzl
a26a6f3152 8364649: G1: Move collection set related full gc reset code into abandon_collection_set() method
Reviewed-by: ayang, sangheki
2025-08-08 08:06:56 +00:00
Thomas Schatzl
47017e3864 8364760: G1: Remove obsolete code in G1MergeCardSetClosure
Reviewed-by: ayang, sangheki
2025-08-08 07:57:06 +00:00
Thomas Schatzl
bcca5cee2d 8364642: G1: Remove parameter in G1CollectedHeap::abandon_collection_set()
Reviewed-by: ayang
2025-08-08 07:56:29 +00:00
Thomas Schatzl
198782c957 8364877: G1: Inline G1CollectedHeap::set_region_short_lived_locked
Reviewed-by: ayang, sangheki
2025-08-08 07:54:23 +00:00
Andrey Turbanov
d0624f8b62 8364808: Make BasicDesktopPaneUI.Actions.MOVE_RESIZE_INCREMENT static
Reviewed-by: tr, azvegint, kizune, aivanov
2025-08-08 05:03:55 +00:00
John Jiang
4c9eaddaef 8364597: Replace THL A29 Limited with Tencent
Reviewed-by: jiefu
2025-08-08 02:27:30 +00:00
Harshitha Onkar
c71be802b5 8361748: Enforce limits on the size of an XBM image
Reviewed-by: prr, jdv
2025-08-07 21:19:47 +00:00
Ayush Rigal
b8acbc3ed8 8364315: Remove unused xml files from test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/xmlfiles
Reviewed-by: jpai, joehw
2025-08-07 21:11:26 +00:00
Alexey Semenyuk
244e6293c3 8364984: Many jpackage tests are failing on Linux after JDK-8334238
Reviewed-by: almatvee
2025-08-07 19:55:41 +00:00
Liam Miller-Cushon
c0e6ffabc2 8364954: (bf) CleaningThread should be InnocuousThread
Reviewed-by: rriggs, alanb
2025-08-07 19:43:45 +00:00
Brett Okken
5116d9e5fe 8364213: (bf) Improve java/nio/Buffer/CharBufferAsCharSequenceTest test comments
8364345: Test java/nio/Buffer/CharBufferAsCharSequenceTest.java failed

Reviewed-by: bpb, rriggs
2025-08-07 19:27:28 +00:00
Phil Race
78117eff56 8364230: javax/swing/text/StringContent can be migrated away from using finalize
Reviewed-by: psadhukhan, abhiscxk, kizune
2025-08-07 18:58:28 +00:00
Brian Burkhalter
02e187119d 8364277: (fs) BasicFileAttributes.isDirectory and isOther return true for NTFS directory junctions when links not followed
Reviewed-by: alanb
2025-08-07 18:24:22 +00:00
Andrew Dinn
90ea42f716 8364558: Failure to generate compiler stubs from compiler thread should not crash VM when compilation disabled due to full CodeCache
Reviewed-by: kvn, shade
2025-08-07 16:23:32 +00:00
Prasanta Sadhukhan
e29346dbd6 8348760: RadioButton is not shown if JRadioButtonMenuItem is rendered with ImageIcon in WindowsLookAndFeel
Reviewed-by: prr, kizune, abhiscxk
2025-08-07 16:03:12 +00:00
Francesco Andreuzzi
e606278fc8 8358598: PhaseIterGVN::PhaseIterGVN(PhaseGVN* gvn) doesn't use its parameter
Reviewed-by: galder, mhaessig, shade
2025-08-07 15:43:36 +00:00
Guanqiang Han
83953c458e 8364822: Comment cleanup, stale references to closeDescriptors and UNIXProcess.c
Reviewed-by: kevinw, rriggs
2025-08-07 14:11:46 +00:00
Ashutosh Mehra
bc3d865640 8364128: Improve gathering of cpu feature names using stringStream
Co-authored-by: Johan Sjölen <jsjolen@openjdk.org>
Reviewed-by: kvn, jsjolen
2025-08-07 13:26:33 +00:00
Jeremy Wood
8d73fe91bc 8358813: JPasswordField identifies spaces in password via delete shortcuts
Reviewed-by: aivanov, dnguyen
2025-08-07 10:21:54 +00:00
Thomas Schatzl
c56fb0b6ef 8364503: gc/g1/TestCodeCacheUnloadDuringConcCycle.java fails because of race printing to stdout
Reviewed-by: ayang, dholmes
2025-08-07 08:40:42 +00:00
Johannes Bechberger
487cc3c5be 8359690: New test TestCPUTimeSampleThrottling still fails intermittently
Reviewed-by: mbaesken
2025-08-07 07:52:48 +00:00
David Holmes
078d0d4968 8364235: Fix for JDK-8361447 breaks the alignment requirements for GuardedMemory
Co-authored-by: Johan Sjölen <jsjolen@openjdk.org>
Reviewed-by: dcubed, jsjolen, aboldtch
2025-08-07 04:37:21 +00:00
Alexey Semenyuk
7e484e2a63 8334238: Enhance AddLShortcutTest jpackage test
Reviewed-by: almatvee
2025-08-07 02:02:36 +00:00
Guanqiang Han
f95af744b0 8364312: debug agent should set FD_CLOEXEC flag rather than explicitly closing every open file
Reviewed-by: cjplummer, kevinw
2025-08-06 15:37:31 +00:00
Albert Mingkun Yang
72d1066ae3 8364722: Parallel: Move CLDG mark clearing to the end of full GC
Reviewed-by: tschatzl, zgu
2025-08-06 12:21:16 +00:00
David Beaumont
0ceb366dc2 8356645: Javac should utilize new ZIP file system read-only access mode
Reviewed-by: jlahoda
2025-08-06 08:55:47 +00:00
Per Minborg
9dffbc9c4c 8364540: Apply @Stable to Shared Secrets
Reviewed-by: rriggs
2025-08-06 08:52:14 +00:00
Aleksey Shipilev
e304d37996 8361211: C2: Final graph reshaping generates unencodeable klass constants
Reviewed-by: kvn, qamai, thartmann, mdoerr
2025-08-06 08:32:25 +00:00
Joel Sikström
8d529bc4f3 8364518: Support for Job Objects in os::commit_memory_limit() on Windows
Reviewed-by: ayang, dholmes
2025-08-06 07:54:44 +00:00
Koushik Thirupattur
ca41644538 8355379: Annotate lazy fields in java.security @Stable
Reviewed-by: pminborg
2025-08-06 06:40:40 +00:00
Anton Artemov
6656e767db 8359820: Improve handshake/safepoint timeout diagnostic messages
Reviewed-by: dholmes, stuefe
2025-08-06 04:45:35 +00:00
Aleksey Shipilev
68a35511eb 8364212: Shenandoah: Rework archived objects loading
Reviewed-by: wkemper, kdnilsen
2025-08-05 18:34:07 +00:00
Thomas Schatzl
d906e45026 8364531: G1: Factor out liveness tracing code
Reviewed-by: ayang, sangheki
2025-08-05 16:13:53 +00:00
Erik Gahlin
8a571ee7f2 8364667: JFR: Throttle doesn't work with dynamic events
Reviewed-by: mgronlun
2025-08-05 14:33:30 +00:00
Albert Mingkun Yang
ba0ae4cb28 8364254: Serial: Remove soft ref policy update in WhiteBox FullGC
Reviewed-by: tschatzl, sangheki
2025-08-05 10:43:30 +00:00
Francesco Andreuzzi
df736eb582 8364618: Sort share/code includes
Reviewed-by: shade, mhaessig
2025-08-05 10:23:54 +00:00
Saranya Natarajan
d25b9befe0 8325482: Test that distinct seeds produce distinct traces for compiler stress flags
Reviewed-by: chagedorn, dfenacci
2025-08-05 08:39:47 +00:00
Matthias Baesken
67ba8b45dd 8364514: [asan] runtime/jni/checked/TestCharArrayReleasing.java heap-buffer-overflow
Reviewed-by: dholmes
2025-08-05 08:02:54 +00:00
Joel Sikström
febd4b26b2 8360515: PROPERFMTARGS should always use size_t template specialization for unit
Reviewed-by: dholmes, stuefe
2025-08-05 07:41:11 +00:00
Alexey Semenyuk
c0c7d39b59 8364587: Update jpackage internal javadoc
Reviewed-by: almatvee
2025-08-05 01:42:45 +00:00
Alexey Semenyuk
6b360ac99a 8359756: Bug in RuntimePackageTest.testName test
Reviewed-by: almatvee
2025-08-05 01:09:56 +00:00
Alexey Semenyuk
0f4c3dc944 8362352: Fix references to non-existing resource strings
Reviewed-by: almatvee
2025-08-05 01:04:38 +00:00
David Holmes
84a4a3647c 8364314: java_lang_Thread::get_thread_status fails assert(base != nullptr) failed: Invalid base
Reviewed-by: amenkov, shade, dcubed, pchilanomate, sspitsyn
2025-08-04 21:48:38 +00:00
Mohamed Issa
f96b6bcd4d 8364666: Tier1 builds broken by JDK-8360559
Reviewed-by: sviswanathan
2025-08-04 21:31:35 +00:00
Phil Race
dc4d9b4849 8362898: Remove finalize() methods from javax.imageio TIFF classes
Reviewed-by: azvegint, jdv
2025-08-04 20:25:41 +00:00
Coleen Phillimore
da3a5da81b 8343218: Add option to disable allocating interface and abstract classes in non-class metaspace
Reviewed-by: shade, kvn, yzheng, stuefe, dholmes
2025-08-04 20:13:03 +00:00
Phil Race
0d0d93e8f6 8210765: Remove finalize method in CStrike.java
Reviewed-by: psadhukhan, achung, azvegint
2025-08-04 19:29:03 +00:00
Phil Race
d1e362e9a8 8363889: Update sun.print.PrintJob2D to use Disposer
Reviewed-by: azvegint, psadhukhan
2025-08-04 19:27:23 +00:00
Mohamed Issa
05f8a6fca8 8360559: Optimize Math.sinh for x86 64 bit platforms
Reviewed-by: sviswanathan, sparasa
2025-08-04 18:47:57 +00:00
Kevin Driver
b5f450a599 8364226: Better ECDSASignature Memory Management
Reviewed-by: ascarpino, hchao
2025-08-04 15:59:57 +00:00
Artur Barashev
6c52b73465 8209992: Align SSLSocket and SSLEngine Javadocs
Reviewed-by: wetmore
2025-08-04 13:55:58 +00:00
Galder Zamarreño
567c0c9335 8354244: Use random data in MinMaxRed_Long data arrays
Reviewed-by: chagedorn, mhaessig
2025-08-04 13:51:14 +00:00
Albert Mingkun Yang
fc4755535d 8364516: Serial: Move class unloading logic inside SerialFullGC::invoke_at_safepoint
Reviewed-by: tschatzl, sangheki
2025-08-04 12:59:26 +00:00
Ao Qi
a9f3d3a290 8364177: JDK fails to build due to undefined symbol in libpng on LoongArch64
Reviewed-by: prr, aivanov, erikj
2025-08-04 12:37:11 +00:00
Jasmine Karthikeyan
500462fb69 8364580: Test compiler/vectorization/TestSubwordTruncation.java fails on platforms without RoundF/RoundD
Reviewed-by: chagedorn, shade
2025-08-04 12:11:10 +00:00
Erik Gahlin
68a4396dbc 8364316: JFR: Incorrect validation of mirror fields
Reviewed-by: shade, mgronlun
2025-08-04 10:53:40 +00:00
Erik Gahlin
da0d9598d0 8364190: JFR: RemoteRecordingStream withers don't work
Reviewed-by: mgronlun
2025-08-04 10:41:21 +00:00
Erik Gahlin
b96b9c3d5b 8364461: JFR: Default constructor may not be first in setting control
Reviewed-by: mgronlun
2025-08-04 10:25:14 +00:00
Markus Grönlund
3bc449797e 8364258: ThreadGroup constant pool serialization is not normalized
Reviewed-by: egahlin
2025-08-04 09:42:05 +00:00
Erik Gahlin
cf5a25538e 8364427: JFR: Possible resource leak in Recording::getStream
Reviewed-by: mgronlun
2025-08-04 09:12:12 +00:00
Erik Gahlin
ea7e943874 8364257: JFR: User-defined events and settings with a one-letter name cannot be configured
Reviewed-by: mgronlun
2025-08-04 08:50:35 +00:00
Francesco Andreuzzi
3387b3195c 8364519: Sort share/classfile includes
Reviewed-by: shade, ayang
2025-08-04 08:20:22 +00:00
Andrey Turbanov
8269fdc78e 8362067: Remove unnecessary List.contains key from SpringLayout.Constraints.pushConstraint
Reviewed-by: aivanov
2025-08-04 08:15:09 +00:00
Abhishek Kumar
57553ca1db 8361298: SwingUtilities/bug4967768.java fails where character P is not underline
Reviewed-by: dnguyen, psadhukhan, achung, azvegint
2025-08-04 04:17:16 +00:00
David Holmes
158e59ab91 8364106: Include java.runtime.version in thread dump output
Reviewed-by: alanb, coffeys
2025-08-03 22:28:12 +00:00
Chen Liang
1a206d2a6c 8364545: tools/javac/launcher/SourceLauncherTest.java fails frequently
Reviewed-by: cstein, jpai
2025-08-03 13:23:43 +00:00
DarraghConway
a5e0c9d0c5 8363720: Follow up to JDK-8360411 with post review comments
Reviewed-by: bpb, rriggs
2025-08-03 11:03:15 +00:00
Thomas Stuefe
819de07117 8363998: Implement Compressed Class Pointers for 32-bit
Reviewed-by: rkennke, coleenp
2025-08-03 06:43:31 +00:00
erfang
f40381e41d 8356760: VectorAPI: Optimize VectorMask.fromLong for all-true/all-false cases
Reviewed-by: xgong, jbhateja
2025-08-02 07:54:42 +00:00
Serguei Spitsyn
e801e51311 8306324: StopThread results in thread being marked as interrupted, leading to unexpected InterruptedException
Reviewed-by: pchilanomate, alanb
2025-08-02 04:21:42 +00:00
Volkan Yazici
7ea08d3928 8362244: Devkit's Oracle Linux base OS keyword is incorrectly documented
Reviewed-by: erikj
2025-08-01 20:36:17 +00:00
Justin Lu
8e921aee5a 8364370: java.text.DecimalFormat specification indentation correction
Reviewed-by: liach, naoto
2025-08-01 18:43:02 +00:00
Mikhail Yankelevich
6d0bbc8a18 8357470: src/java.base/share/classes/sun/security/util/Debug.java implement the test for args.toLowerCase
Reviewed-by: coffeys
2025-08-01 18:42:41 +00:00
Coleen Phillimore
ee3665bca0 8364187: Make getClassAccessFlagsRaw non-native
Reviewed-by: thartmann, rriggs, liach
2025-08-01 15:21:45 +00:00
Bhavana Kilambi
2ba8a06f0c 8348868: AArch64: Add backend support for SelectFromTwoVector
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: haosun, aph, sviswanathan, xgong
2025-08-01 13:11:21 +00:00
Christian Stein
8ac4a88f3c 8362237: IllegalArgumentException in the launcher when exception without stack trace is thrown
Reviewed-by: kcr, vromero
2025-08-01 11:01:56 +00:00
Oli Gillespie
6c5804722b 8364296: Set IntelJccErratumMitigation flag ergonomically
Reviewed-by: shade, jbhateja
2025-08-01 10:27:08 +00:00
Matthias Baesken
812bd8e94d 8364199: Enhance list of environment variables printed in hserr/hsinfo file
Reviewed-by: lucy, clanger
2025-08-01 10:24:11 +00:00
Prasanta Sadhukhan
7fbeede14c 4938801: The popup does not go when the component is removed
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: dnguyen, abhiscxk
2025-08-01 09:15:52 +00:00
Hannes Wallnöfer
d80b5c8728 8361316: javadoc tool fails with an exception for an inheritdoc on throws clause of a constructor
Reviewed-by: nbenalla, liach
2025-08-01 08:39:29 +00:00
Hannes Wallnöfer
7d63c9fa4d 8294074: Make other specs more discoverable from the API docs
Reviewed-by: mr
2025-08-01 08:35:10 +00:00
Thomas Schatzl
beda14e3cb 8364423: G1: Refactor G1UpdateRegionLivenessAndSelectForRebuildTask
Reviewed-by: sangheki, ayang
2025-08-01 08:22:04 +00:00
Joel Sikström
ae11d8f446 8364248: Separate commit and reservation limit detection
Reviewed-by: stuefe, ayang
2025-08-01 07:42:45 +00:00
Joel Sikström
e82d7f5810 8364351: ZGC: Replace usages of ZPageAgeRange() with ZPageAgeRangeAll
Reviewed-by: stefank, aboldtch
2025-08-01 07:11:11 +00:00
Aleksey Shipilev
577ac0610a 8358340: Support CDS heap archive with Generational Shenandoah
Reviewed-by: xpeng, wkemper
2025-08-01 06:28:29 +00:00
Francesco Andreuzzi
c9b8bd6ff4 8364359: Sort share/cds includes
Reviewed-by: shade, iklam
2025-08-01 06:27:02 +00:00
Albert Mingkun Yang
913d318c97 8364504: [BACKOUT] JDK-8364176 Serial: Group all class unloading logic at the end of marking phase
Reviewed-by: dholmes
2025-08-01 05:59:33 +00:00
Artur Barashev
724e8c076e 8364484: misc tests fail with Received fatal alert: handshake_failure
Reviewed-by: ascarpino
2025-07-31 21:24:09 +00:00
Albert Mingkun Yang
e0e82066fe 8364166: Parallel: Remove the use of soft_ref_policy in Full GC
Reviewed-by: tschatzl, sangheki
2025-07-31 18:53:07 +00:00
Albert Mingkun Yang
443afdc77f 8364176: Serial: Group all class unloading logic at the end of marking phase
Reviewed-by: tschatzl, sangheki
2025-07-31 18:52:44 +00:00
Chen Liang
fe09e93b8f 8364317: Explicitly document some assumptions of StringUTF16
Reviewed-by: rgiulietti, rriggs, vyazici
2025-07-31 18:26:28 +00:00
Johannes Graham
d19442399c 8358880: Performance of parsing with DecimalFormat can be improved
Reviewed-by: jlu, liach, rgiulietti
2025-07-31 17:50:18 +00:00
Anton Artemov
c4fbfa2103 8363949: Incorrect jtreg header in MonitorWithDeadObjectTest.java
Reviewed-by: stefank, coleenp, ayang
2025-07-31 15:39:38 +00:00
Aleksey Shipilev
1b9efaa11e 8364183: Shenandoah: Improve commit/uncommit handling
Reviewed-by: wkemper, xpeng
2025-07-31 15:17:51 +00:00
Weijun Wang
b2b56cfc00 8359395: XML signature generation does not support user provided SecureRandom
Reviewed-by: mullan
2025-07-31 14:45:31 +00:00
Francesco Andreuzzi
53d152e7db 8364087: Amend comment in globalDefinitions.hpp on "classfile_constants.h" include
Reviewed-by: stefank, ayang
2025-07-31 14:43:10 +00:00
DarraghConway
d4705947d8 8360408: [TEST] Use @requires tag instead of exiting based on "os.name" property value for sun/net/www/protocol/file/FileURLTest.java
Reviewed-by: vyazici, rriggs
2025-07-31 14:41:13 +00:00
Thomas Schatzl
5f357fa27d 8364197: G1: Sort G1 mutex locks by name and group them together
Reviewed-by: coleenp, ayang
2025-07-31 14:08:40 +00:00
Artur Barashev
e544cd9920 8359956: Support algorithm constraints and certificate checks in SunX509 key manager
Reviewed-by: mullan
2025-07-31 13:57:19 +00:00
Lei Zhu
458f033d4d 8362533: Tests sun/management/jmxremote/bootstrap/* duplicate VM flags
Reviewed-by: lmesnik, sspitsyn, kevinw
2025-07-31 13:11:59 +00:00
Axel Boldt-Christmas
3f21c8bd1f 8361897: gc/z/TestUncommit.java fails with Uncommitted too slow
Reviewed-by: stefank, jsikstro
2025-07-31 13:08:29 +00:00
Manuel Hässig
ddb64836e5 8364409: [BACKOUT] Consolidate Identity of self-inverse operations
Reviewed-by: thartmann, bmaillard, hgreule
2025-07-31 12:12:15 +00:00
Yasumasa Suenaga
8ed214f3b1 8364090: Dump JFR recording on CrashOnOutOfMemoryError
Reviewed-by: egahlin, stuefe
2025-07-31 12:10:43 +00:00
Joel Sikström
b9f7caed77 8364282: ZGC: Improve ZPageAllocation JFR event sending
Reviewed-by: stefank, aboldtch
2025-07-31 07:40:22 +00:00
Aleksey Shipilev
ebb7f5d39b 8364111: InstanceMirrorKlass iterators should handle CDS and hidden classes consistently
Reviewed-by: stuefe, ayang, coleenp
2025-07-31 06:07:17 +00:00
Alexander Zvegintsev
05c63e8009 8361524: [XWayland] possible JavaFX interop hang
Reviewed-by: psadhukhan, serb, prr, kizune, kcr
2025-07-31 06:04:22 +00:00
SendaoYan
559795b0eb 8362501: Update test/hotspot/jtreg/applications/jcstress/README
Reviewed-by: shade, lmesnik
2025-07-31 01:38:25 +00:00
Koushik Thirupattur
413ac74ecc 8357682: sun.security.provider.certpath.Builder#getMatchingPolicies always returns null
Reviewed-by: mullan
2025-07-30 19:56:38 +00:00
Rajan Halade
3bdac53178 8361212: Remove AffirmTrust root CAs
Reviewed-by: mullan
2025-07-30 17:56:00 +00:00
Ian Graves
57d02d9ac5 8362279: [vectorapi] VECTOR_OP_SUADD needs reduction support
Reviewed-by: jbhateja, qamai
2025-07-30 15:51:53 +00:00
Francesco Andreuzzi
a2e86ff3c5 8364037: Sort share includes: adlc, libadt, metaprogramming
Reviewed-by: ayang, chagedorn
2025-07-30 13:43:47 +00:00
Shaojin Wen
e2feff8599 8355177: Speed up StringBuilder::append(char[]) via Unsafe::copyMemory
Reviewed-by: rriggs, rgiulietti
2025-07-30 13:16:27 +00:00
Matthias Baesken
16da81eb43 8360817: [ubsan] zDirector select_worker_threads - outside the range of representable values issue
Reviewed-by: aboldtch, lucy
2025-07-30 12:28:14 +00:00
Francesco Andreuzzi
c851735631 8364115: Sort share/services includes
Reviewed-by: sspitsyn, ayang, shade
2025-07-30 10:28:38 +00:00
Thomas Stuefe
317dacc308 8364159: Shenandoah assertions after JDK-8361712
Reviewed-by: mbaesken, shade
2025-07-30 10:11:49 +00:00
Andrew Dinn
a6fb87dbe8 8364042: UnsafeMemoryAccess will not work with AOT cached code stubs
Reviewed-by: asmehra, kvn
2025-07-30 10:08:33 +00:00
Thomas Schatzl
7af3cd9558 8156755: [TESTBUG] Fix gc/g1/humongousObjects/objectGraphTest/TestObjectGraphAfterGC.java
Reviewed-by: ayang
2025-07-30 08:11:46 +00:00
Thomas Schatzl
4da1c9df52 8364196: G1: Fix typo in "cset_groud_gid" local variable in G1FlushHumongousCandidateRemSets
Reviewed-by: ayang
2025-07-30 08:11:27 +00:00
Thomas Schatzl
302508df9e 8364249: G1: Fix some comments about "maximum_collection"
Reviewed-by: shade, sangheki
2025-07-30 07:45:10 +00:00
David Holmes
c6d64edfbe 8364325: ProblemList com/sun/management/HotSpotDiagnosticMXBean/DumpThreads.java
Reviewed-by: kbarrett
2025-07-30 06:09:37 +00:00
Lei Zhu
1be412dca0 8363920: JVMTI Documentation for GetLocalDouble is wrong: refers to long
Reviewed-by: alanb, amenkov, sspitsyn
2025-07-30 05:18:32 +00:00
Thomas Stuefe
164d0368f6 8364202: CDS without G1 gives build error in slowdebug, asserts in fastdebug
Reviewed-by: ccheung, iklam
2025-07-30 04:55:03 +00:00
Alisen Chung
c671089d6e 8364089: JDK 25 RDP2 L10n resource files update
Reviewed-by: jlu, naoto, dnguyen, asemenyuk
2025-07-30 01:54:50 +00:00
Fei Yang
3488f53d2c 8364150: RISC-V: Leftover for JDK-8343430 removing old trampoline call
Reviewed-by: mli, fjiang
2025-07-30 01:02:31 +00:00
Chen Liang
330ee87131 8360163: Replace hard-coded checks with AOTRuntimeSetup and AOTSafeClassInitializer
Reviewed-by: jrose, iklam
2025-07-29 20:42:57 +00:00
Chris Plummer
d5d311f026 8361873: [GCC static analyzer] exec_md.c forkedChildProcess potential double 'close' of file descriptor '3'
Reviewed-by: jpai, stuefe, mbaesken
2025-07-29 19:43:13 +00:00
Calvin Cheung
ea754316fd 8363928: Specifying AOTCacheOutput with a blank path causes the JVM to crash
Reviewed-by: kvn, iklam
2025-07-29 17:41:30 +00:00
Jiangli Zhou
c239c0ab00 8362564: hotspot/jtreg/compiler/c2/TestLWLockingCodeGen.java fails on static JDK on x86_64 with AVX instruction extensions
Reviewed-by: rasbold
2025-07-29 14:48:52 +00:00
Thomas Stuefe
0226c0298f 8364004: Expose VMError::controlledCrash via Whitebox
Reviewed-by: kbarrett, mbaesken, dholmes
2025-07-29 12:35:17 +00:00
Joel Sikström
965b68107f 8358586: ZGC: Combine ZAllocator and ZObjectAllocator
Reviewed-by: aboldtch, stefank
2025-07-29 10:21:54 +00:00
Markus Grönlund
a34994476e 8356587: Missing object ID X in pool jdk.types.Method
Reviewed-by: egahlin
2025-07-29 09:51:24 +00:00
Johan Sjölen
2202156acc 8364198: NMT should have a better corruption message
Reviewed-by: kvn, stuefe
2025-07-29 08:37:35 +00:00
Aleksey Shipilev
3fe0d29ec3 8363965: GHA: Switch cross-compiling sysroots to Debian bookworm
Reviewed-by: clanger, jwaters
2025-07-29 08:11:37 +00:00
Benoît Maillard
28297411b1 8359603: Missed optimization in PhaseIterGVN for redundant ConvX2Y->ConvY2X->ConvX2Y sequences due to missing notification in PhaseIterGVN::add_users_of_use_to_worklist
Reviewed-by: chagedorn, thartmann
2025-07-29 07:32:52 +00:00
David Holmes
4669005123 8361912: ThreadsListHandle::cv_internal_thread_to_JavaThread does not deal with a virtual thread's carrier thread
Reviewed-by: pchilanomate, dcubed, amenkov, sspitsyn
2025-07-28 23:47:51 +00:00
Rui Li
3e4e5dd06f 8364081: Shenandoah & GenShen logging improvement
Reviewed-by: ysr, wkemper
2025-07-28 23:26:53 +00:00
Jasmine Karthikeyan
ea0b49c36d 8362979: C2 fails with unexpected node in SuperWord truncation: CmpLTMask, RoundF
Reviewed-by: chagedorn, thartmann
2025-07-28 17:14:02 +00:00
Alexander Matveev
fe4d7f8c1b 8360507: JPKG002-006: SigningPackageTest: appOutput.txt cannot be found in user home directory and output doesn't contain: origin=Developer ID Application: jpackage.openjdk.java.net
Reviewed-by: asemenyuk
2025-07-28 17:05:15 +00:00
Sean Coffey
f53d0519b9 8340312: sun.security.ssl.SSLLogger uses incorrect log level ALL for finest log events
Reviewed-by: wetmore
2025-07-28 16:32:58 +00:00
Albert Mingkun Yang
70ebb5e8c9 8364019: Add alignment precondition to Universe::reserve_heap
Reviewed-by: tschatzl, jsikstro
2025-07-28 14:18:47 +00:00
Richard Reingruber
b4028c91d5 8362482: [TESTBUG] serviceability/HeapDump/UnmountedVThreadNativeMethodAtTop.java: System.gc() does not provide full GC
Reviewed-by: sspitsyn, clanger
2025-07-28 13:16:34 +00:00
Brett Okken
08b0b34623 8361715: (bf) Improve java/nio/Buffer/GetChars.java and migrate to JUnit
Reviewed-by: bpb, rriggs
2025-07-28 13:05:33 +00:00
Hamlin Li
7bf4c608e7 8364120: RISC-V: unify the usage of MacroAssembler::instruction_size
Reviewed-by: fyang
2025-07-28 12:59:50 +00:00
Jaikiran Pai
b7703f7948 8364185: [BACKOUT] AArch64: [VectorAPI] sve vector math operations are not supported after JDK-8353217
Reviewed-by: ayang
2025-07-28 11:50:42 +00:00
Matthias Baesken
d25ad881eb 8363676: [GCC static analyzer] missing return value check of malloc in OGLContext_SetTransform
Reviewed-by: psadhukhan
2025-07-28 11:33:27 +00:00
Fei Gao
011de4c894 8363063: AArch64: [VectorAPI] sve vector math operations are not supported after JDK-8353217
Reviewed-by: shade, aph
2025-07-28 08:44:01 +00:00
Hamlin Li
3e2d12d85a 8362515: RISC-V: cleanup NativeFarCall
Reviewed-by: fyang, fjiang
2025-07-28 08:40:58 +00:00
Thomas Schatzl
bdc1ef2021 8363929: G1: Add G1 prefix to various G1 specific global locks
Reviewed-by: shade, ayang
2025-07-28 07:57:28 +00:00
Albert Mingkun Yang
af5932efb5 8361055: Serial: Inline SerialHeap::process_roots
Reviewed-by: tschatzl, kbarrett, stefank
2025-07-28 07:15:40 +00:00
SendaoYan
3b0da29879 8364114: Test TestHugePageDecisionsAtVMStartup.java#LP_enabled fails when no free hugepage
Reviewed-by: stuefe, dholmes
2025-07-28 06:54:42 +00:00
Francesco Andreuzzi
e307b5cca8 8363584: Sort share/utilities includes
Reviewed-by: kbarrett, dholmes, shade
2025-07-28 05:17:52 +00:00
Yuri Gaevsky
4189fcbac4 8362596: RISC-V: Improve _vectorizedHashCode intrinsic
Reviewed-by: fyang, fjiang
2025-07-27 14:54:52 +00:00
Jaikiran Pai
3263361a28 8360981: Remove use of Thread.stop in test/jdk/java/net/Socket/DeadlockTest.java
Reviewed-by: alanb
2025-07-27 06:44:09 +00:00
SendaoYan
8fcbb110e9 8362855: Test java/net/ipv6tests/TcpTest.java should report SkippedException when there no ia4addr or ia6addr
Reviewed-by: jpai
2025-07-27 01:19:06 +00:00
Michael McMahon
de59da27a6 8362581: Timeouts in java/nio/channels/SocketChannel/OpenLeak.java on UNIX
Reviewed-by: jpai, alanb, djelinski
2025-07-26 22:22:36 +00:00
Jaikiran Pai
d288ca28be 8358048: java/net/httpclient/HttpsTunnelAuthTest.java incorrectly calls Thread::stop
Reviewed-by: djelinski, alanb, vyazici
2025-07-26 02:17:13 +00:00
William Kemper
e756c0dbbb 8361726: Shenandoah: More detailed evacuation instrumentation
Reviewed-by: ysr, kdnilsen
2025-07-25 17:59:46 +00:00
Vladimir Kozlov
89fe586edd 8363837: Make StubRoutines::crc_table_adr() into platform-specific method
Reviewed-by: adinn, yzheng
2025-07-25 16:47:09 +00:00
Albert Mingkun Yang
9e209fef86 8364110: Remove unused methods in GCCause
Reviewed-by: kbarrett
2025-07-25 14:50:55 +00:00
Thomas Stuefe
75ff7e15fe 8361712: Improve ShenandoahAsserts printing
Reviewed-by: rkennke, asmehra
2025-07-25 13:34:30 +00:00
Sean Mullan
06fdb61e1c 8361964: Remove outdated algorithms from requirements and add PBES2 algorithms
Reviewed-by: hchao
2025-07-25 12:55:39 +00:00
Matthias Baesken
41c94eed37 8363910: Avoid tuning for Power10 CPUs on Linux ppc64le when gcc < 10 is used
Reviewed-by: stuefe
2025-07-25 11:34:37 +00:00
Matthias Baesken
518d5f4bbb 8361871: [GCC static analyzer] complains about use of uninitialized value ckpObject in p11_util.c
Reviewed-by: lucy
2025-07-25 08:26:57 +00:00
Alan Bateman
f79bd54bbb 8362882: Update SubmissionPublisher() specification to reflect use of ForkJoinPool.asyncCommonPool()
Reviewed-by: jpai, dl
2025-07-25 08:11:55 +00:00
Albert Mingkun Yang
52155dbbb0 8364082: jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSParOld.java Eden should be placed first in young
Reviewed-by: dholmes
2025-07-25 07:22:34 +00:00
Thomas Stuefe
ac9e51023f 8320836: jtreg gtest runs should limit heap size
Reviewed-by: dholmes, cslucas
2025-07-25 06:40:37 +00:00
Phil Race
971ea23c95 8362289: [macOS] Remove finalize method in JRSUIControls.java
Reviewed-by: bchristi, serb
2025-07-24 20:53:22 +00:00
Rui Li
4e53a9d9df 8357818: Shenandoah doesn't use shared API for printing heap before/after GC
Reviewed-by: wkemper, kdnilsen
2025-07-24 18:34:26 +00:00
Aleksey Shipilev
8477630970 8360679: Shenandoah: AOT saved adapter calls into broken GC barrier stub
Reviewed-by: kvn, adinn, aph
2025-07-24 15:53:29 +00:00
Ayush Rigal
2f1aed2a16 8361423: Add IPSupport::printPlatformSupport to java/net/NetworkInterface/IPv4Only.java
Reviewed-by: jpai
2025-07-24 14:57:33 +00:00
Marc Chevalier
67e93281a4 8363357: Remove unused flag VerifyAdapterCalls
Reviewed-by: chagedorn, thartmann
2025-07-24 09:21:57 +00:00
Aleksey Shipilev
ed9066bdf4 8361478: GHA: Use MSYS2 from GHA runners
Reviewed-by: jwaters, ihse
2025-07-24 05:59:24 +00:00
Thomas Stuefe
7a22b76b73 8362591: Wrong argument warning when heap size larger than coops threshold
Reviewed-by: dholmes
2025-07-24 05:09:31 +00:00
Feilong Jiang
0ba2942c6e 8362838: RISC-V: Incorrect matching rule leading to improper oop instruction encoding
Reviewed-by: fyang, yadongwang
2025-07-24 02:21:53 +00:00
SendaoYan
fc8038441d 8359827: Test runtime/Thread/ThreadCountLimit.java need loop increasing the limit
Co-authored-by: David Holmes <dholmes@openjdk.org>
Reviewed-by: dholmes
2025-07-24 01:47:58 +00:00
Dingli Zhang
b746701e57 8363898: RISC-V: TestRangeCheckHoistingScaledIV.java fails after JDK-8355293 when running without RVV
Reviewed-by: fyang, mli, syan
2025-07-24 01:37:33 +00:00
Ao Qi
2da0cdadb8 8363895: Minimal build fails with slowdebug builds after JDK-8354887
Reviewed-by: kvn, shade
2025-07-24 01:33:38 +00:00
Albert Mingkun Yang
ad510fb25e 8338977: Parallel: Improve heap resizing heuristics
Reviewed-by: zgu, gli, iwalulya
2025-07-23 20:09:36 +00:00
Thomas Schatzl
2292246f8c 8350621: Code cache stops scheduling GC
Co-authored-by: Thomas Schatzl <tschatzl@openjdk.org>
Co-authored-by: Alexandre Jacob <alexandre.jacob@mirakl.com>
Reviewed-by: kbarrett, ayang
2025-07-23 17:02:31 +00:00
Edoardo Patti
03e9ea169b 8358530: Properties#list should warn against non-String values
Reviewed-by: jlu, liach
2025-07-23 16:31:14 +00:00
Kevin Rushforth
594c080b2b 8359760: Remove the jdk.jsobject module
Reviewed-by: rriggs, iris, alanb
2025-07-23 15:46:47 +00:00
Anthony Scarpino
e6ebefaa40 8333857: Test sun/security/ssl/SSLSessionImpl/ResumeChecksServer.java failed: Existing session was used
Reviewed-by: hchao
2025-07-23 15:24:38 +00:00
Coleen Phillimore
38cd860daa 8363816: Refactor array name creation
Reviewed-by: shade, ccheung, dholmes
2025-07-23 14:48:49 +00:00
Evgeny Astigeevich
743c821289 8362193: Re-work MacOS/AArch64 SpinPause to handle SB
Reviewed-by: shade, aph
2025-07-23 13:51:49 +00:00
Jatin Bhateja
b02c125676 8350896: Integer/Long.compress gets wrong type from CompressBitsNode::Value
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: thartmann
2025-07-23 13:31:15 +00:00
Weijun Wang
06f9ff047f 8356997: /etc/krb5.conf parser should not forbid include/includedir directives after sections
Reviewed-by: valeriep
2025-07-23 12:24:28 +00:00
Feilong Jiang
e6ac956a7a 8360520: RISC-V: C1: Fix primitive array clone intrinsic regression after JDK-8333154
Reviewed-by: fyang, galder, dlong
2025-07-23 09:35:26 +00:00
Wang Haomin
9f796da377 8362972: C2 fails with unexpected node in SuperWord truncation: IsFiniteF, IsFiniteD
Reviewed-by: thartmann, jkarthikeyan
2025-07-23 08:08:05 +00:00
Matthias Baesken
ceb0c0fc39 8360941: [ubsan] MemRegion::end() shows runtime error: applying non-zero offset 8388608 to null pointer
Co-authored-by: Kim Barrett <kbarrett@openjdk.org>
Co-authored-by: Thomas Stuefe <stuefe@openjdk.org>
Reviewed-by: kbarrett, lucy
2025-07-23 07:49:11 +00:00
Matthias Baesken
5160cfb496 8362889: [GCC static analyzer] leak in libstringPlatformChars.c
Reviewed-by: rriggs, dholmes
2025-07-23 07:12:12 +00:00
David Holmes
0735dc27c7 8362846: Windows error reporting for dll_load doesn't check for a null buffer
8362954: Missing error buffer null check in os::dll_load on Linux/BSD

Reviewed-by: mgronlun, kbarrett
2025-07-23 00:36:35 +00:00
Y. Srinivas Ramakrishna
79f9d8d832 8350050: Shenandoah: Disable and purge allocation pacing support
Reviewed-by: wkemper, shade, kdnilsen
2025-07-23 00:23:20 +00:00
Srinivas Vamsi Parasa
4994bd5942 8359965: Enable paired pushp and popp instruction usage for APX enabled CPUs
Reviewed-by: sviswanathan, vpaprotski
2025-07-22 22:37:45 +00:00
DarraghConway
016694bf74 8360411: [TEST] open/test/jdk/java/io/File/MaxPathLength.java Refactor extract method to encapsulate Windows specific test logic
Reviewed-by: msheppar
2025-07-22 21:59:11 +00:00
Justin Lu
5540a7859b 8360416: Incorrect l10n test case in sun/security/tools/keytool/i18n.java
Reviewed-by: weijun, rhalade
2025-07-22 20:23:20 +00:00
Ioi Lam
aae9902234 8360555: Archive all unnamed modules in CDS full module graph
Reviewed-by: coleenp, vlivanov
2025-07-22 20:17:31 +00:00
Chen Liang
ea6674fec8 8315131: Clarify VarHandle set/get access on 32-bit platforms
Reviewed-by: rgiulietti, mcimadamore, jrose, shade, psandoz
2025-07-22 17:25:00 +00:00
Sean Mullan
d714b5d3da 8356557: Update CodeSource::implies API documentation and deprecate java.net.SocketPermission class for removal
Reviewed-by: jpai
2025-07-22 15:13:06 +00:00
Albert Mingkun Yang
ce02836232 8363229: Parallel: Remove develop flag GCExpandToAllocateDelayMillis
Reviewed-by: shade, tschatzl
2025-07-22 13:29:07 +00:00
Xiaohong Gong
ac141c2fa1 8359419: AArch64: Relax min vector length to 32-bit for short vectors
Reviewed-by: aph, fgao, bkilambi, dlunden
2025-07-22 09:06:02 +00:00
Marc Chevalier
ed70910b0f 8347901: C2 should remove unused leaf / pure runtime calls
Reviewed-by: thartmann, vlivanov
2025-07-22 08:48:07 +00:00
Roland Westrelin
f155661151 8342692: C2: long counted loop/long range checks: don't create loop-nest for short running loops
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: chagedorn, thartmann
2025-07-22 08:35:36 +00:00
Koushik Thirupattur
c68697e178 8362957: Fix jdk/javadoc/doccheck/checks/jdkCheckHtml.java (docs) failure
Reviewed-by: ascarpino
2025-07-22 02:48:11 +00:00
Yadong Wang
dccb1782ec 8361892: AArch64: Incorrect matching rule leading to improper oop instruction encoding
Reviewed-by: shade, adinn
2025-07-22 01:23:37 +00:00
SendaoYan
699b8112f8 8362834: Several runtime/Thread tests should mark as /native
Reviewed-by: dholmes
2025-07-22 01:05:35 +00:00
David Holmes
0385975f44 8356941: AbstractMethodError in HotSpot Due to Incorrect Handling of Private Method
Reviewed-by: coleenp, heidinga
2025-07-22 00:39:01 +00:00
Sergey Bylokhov
7d7d308d9a 8362572: Delete the usage of "sun.java2d.reftype" from the sun.java2d.Disposer
Reviewed-by: prr, aivanov
2025-07-22 00:38:28 +00:00
Phil Race
eceb3bbc80 8362452: [macOS] Remove CPrinterJob.finalize()
Reviewed-by: serb, psadhukhan, kizune
2025-07-21 21:03:17 +00:00
Phil Race
3acdba38ce 8362557: [macOS] Remove CFont.finalize()
Reviewed-by: serb, psadhukhan, kizune
2025-07-21 21:02:47 +00:00
Phil Race
523993e9e8 8362291: [macOS] Remove finalize method in CGraphicsEnvironment.java
Reviewed-by: bchristi, serb, kizune
2025-07-21 21:00:43 +00:00
Phil Race
b8da9695f0 8362659: Remove sun.print.PrintJob2D.finalize()
Reviewed-by: serb
2025-07-21 19:51:56 +00:00
Koushik Thirupattur
48ba9d415f 8349946: Cipher javadoc could describe AEAD reuse better
Reviewed-by: ascarpino
2025-07-21 19:30:03 +00:00
Andrew Haley
9dd93c6a2c 8361497: Scoped Values: orElse and orElseThrow do not access the cache
Reviewed-by: alanb
2025-07-21 17:05:50 +00:00
David Briemann
f8c8bcf4fd 8362602: Add test.timeout.factor to CompileFactory to avoid test timeouts
Reviewed-by: mhaessig, mbaesken, clanger
2025-07-21 15:48:06 +00:00
Dingli Zhang
15b5b54ac7 8357694: RISC-V: Several IR verification tests fail when vlen=128
Reviewed-by: mhaessig, fyang, mli
2025-07-21 13:34:24 +00:00
Lei Zhu
644e400cd1 8362611: [GCC static analyzer] memory leak in ps_core.c core_handle_note
Reviewed-by: dholmes, mbaesken
2025-07-21 12:24:49 +00:00
Hamlin Li
fd7f78a535 8362493: Cleanup CodeBuffer::copy_relocations_to
Reviewed-by: mhaessig, kvn
2025-07-21 11:10:20 +00:00
Erik Gahlin
1b94a3466e 8362836: JFR: Broken pipe in jdk/jfr/event/io/TestIOTopFrame.java
Reviewed-by: mgronlun
2025-07-21 10:35:43 +00:00
Lei Zhu
13bab09bff 8362532: Test gc/g1/plab/* duplicate command-line options
Reviewed-by: tschatzl, ayang
2025-07-21 09:59:52 +00:00
Shaojin Wen
8f1bb59e1a 8357913: Add @Stable to BigInteger and BigDecimal
Reviewed-by: rgiulietti, liach
2025-07-21 09:37:56 +00:00
Aleksey Shipilev
1bd683b588 8362582: GHA: Increase bundle retention time to deal with infra overload better
Reviewed-by: goetz, jwaters, clanger
2025-07-21 09:21:48 +00:00
Francesco Andreuzzi
37b70707bd 8362587: Sort share/oops includes
Reviewed-by: shade, dholmes
2025-07-21 08:43:30 +00:00
Benoît Maillard
62a58062e5 8361700: Missed optimization in PhaseIterGVN for mask and shift patterns due to missing notification in PhaseIterGVN::add_users_of_use_to_worklist
Reviewed-by: thartmann, mchevalier, mhaessig, jkarthikeyan
2025-07-21 07:37:31 +00:00
Aleksey Shipilev
9609f57cef 8361752: Double free in CompileQueue::delete_all after JDK-8357473
Reviewed-by: kvn, vlivanov
2025-07-21 06:04:17 +00:00
Erik Gahlin
441dbde2c3 8362556: New test jdk/jfr/event/io/TestIOTopFrame.java is failing on all platforms
Reviewed-by: mgronlun, shade
2025-07-19 15:09:28 +00:00
SendaoYan
ee0bcc5526 8362379: Test serviceability/HeapDump/UnmountedVThreadNativeMethodAtTop.java should mark as /native
Reviewed-by: sspitsyn, cjplummer
2025-07-19 13:26:37 +00:00
Ioi Lam
ceb51d4444 8362829: Exclude CDS test cases after JDK-8361725
Reviewed-by: ccheung
2025-07-19 02:05:17 +00:00
John R Rose
d83346dcff 8345836: Stable annotation documentation is incomplete
Reviewed-by: liach
2025-07-18 21:31:42 +00:00
Ioi Lam
9334fe2eca 8361725: Do not load Java agent with "-Xshare:dump -XX:+AOTClassLinking"
Reviewed-by: matsaave, ccheung
2025-07-18 21:30:21 +00:00
Alexander Matveev
03230f8565 8351073: [macos] jpackage produces invalid Java runtime DMG bundles
Reviewed-by: asemenyuk
2025-07-18 20:44:20 +00:00
Alex Menkov
a3843e8e6e 8361751: Test sun/tools/jcmd/TestJcmdSanity.java timed out on Windows
Reviewed-by: cjplummer, dholmes, sspitsyn
2025-07-18 18:38:26 +00:00
Jan Kratochvil
60c29ff57b 8362524: Fix confusing but harmless typos in x86 CPU Features
Reviewed-by: kbarrett, kvn
2025-07-18 17:13:25 +00:00
Roger Riggs
30d2003698 8357380: java/lang/StringBuilder/RacingSBThreads.java times out with C1
Reviewed-by: jpai
2025-07-18 16:40:28 +00:00
Jorn Vernee
9dc62825b5 8362169: Pointer passed to upcall may get wrong scope
Reviewed-by: mcimadamore
2025-07-18 14:54:10 +00:00
Albert Mingkun Yang
6949e34575 8362592: Remove unused argument in nmethod::oops_do
Reviewed-by: zgu
2025-07-18 13:48:44 +00:00
Shawn M Emery
7da274ded4 8361961: Typo in ProtectionDomain.implies
Reviewed-by: mullan, jpai, hchao
2025-07-18 10:02:25 +00:00
Abhishek Kumar
4e0b03580d 8338282: javax/swing/JMenuBar/TestMenuMnemonicLinuxAndMac.java test failed on macOS and Ubuntu
Reviewed-by: tr, dnguyen, serb
2025-07-18 06:13:26 +00:00
Abhishek Kumar
a23987fecb 8361283: [Accessibility,macOS,VoiceOver] VoiceOver announced Tab items of JTabbedPane as RadioButton on macOS
Reviewed-by: asemenov, kizune
2025-07-18 06:13:06 +00:00
David Holmes
04c0b130f0 8362565: ProblemList jdk/jfr/event/io/TestIOTopFrame.java
Reviewed-by: egahlin
2025-07-18 02:35:09 +00:00
Archie Cobbs
cab515962b 8361424: Eliminate Log methods mandatoryWarning() and mandatoryNote()
Reviewed-by: mcimadamore
2025-07-18 01:43:49 +00:00
Leonid Mesnik
bd55d7a495 8362203: assert(state == nullptr || state->get_thread_oop() != nullptr) failed: incomplete state
Reviewed-by: sspitsyn, amenkov
2025-07-17 16:25:40 +00:00
Doug Simon
2b11a28997 8362306: HotSpotJVMCIRuntime.getMirror can crash
Reviewed-by: gdub, never, cslucas
2025-07-17 16:19:52 +00:00
Albert Mingkun Yang
5ed72775a7 8361404: Parallel: Group all class unloading logc at the end of marking phase
Reviewed-by: tschatzl, iwalulya
2025-07-17 13:55:47 +00:00
Pooja-DP
dc08cf016e 8361697: Remove duplicate message in MainResources.properties
Reviewed-by: rriggs, asemenyuk
2025-07-17 13:53:01 +00:00
Thomas Schatzl
ea774b74e8 8347052: Update java man page documentation to reflect current state of the UseNUMA flag
Reviewed-by: drwhite, ayang
2025-07-17 13:47:57 +00:00
Hannes Wallnöfer
365660e667 8356975: Provide alternative way to generate preview API docs
8355933: Change section title for permanent APIs affected by preview features

Reviewed-by: liach
2025-07-17 13:45:24 +00:00
Benoît Maillard
1d73f8842a 8358573: Remove the -XX:-InstallMethods debug flag
Reviewed-by: dlong, thartmann, shade
2025-07-17 12:39:46 +00:00
Ivan Walulya
cb9358b561 8362278: G1: Consolidate functions for recording pause start time
Reviewed-by: tschatzl, ayang
2025-07-17 12:22:55 +00:00
Albert Mingkun Yang
bc9ece9698 8361204: Parallel: Skip visiting per-thread nmethods during young GC
Reviewed-by: tschatzl, iwalulya
2025-07-17 12:12:16 +00:00
Matthias Baesken
1cde536b98 8361868: [GCC static analyzer] complains about missing calloc - NULL checks in p11_util.c
Reviewed-by: lucy, stuefe
2025-07-17 11:24:40 +00:00
Erik Gahlin
1a6cbe421f 8361639: JFR: Incorrect top frame for I/O events
Reviewed-by: mgronlun
2025-07-17 11:21:00 +00:00
Hamlin Li
3fd89be6d1 8362284: RISC-V: cleanup NativeMovRegMem
Reviewed-by: fyang, luhenry
2025-07-17 10:45:46 +00:00
Matthias Baesken
18190519e7 8362390: AIX make fails in awt_GraphicsEnv.c
Reviewed-by: prr, serb, clanger
2025-07-17 07:11:03 +00:00
Brian Burkhalter
be0161a8e6 8362429: AssertionError in File.listFiles(FileFilter | FilenameFilter)
Reviewed-by: alanb
2025-07-17 06:31:34 +00:00
Thomas Stuefe
bc72f476d1 8362088: CompressedKlassPointers::encode should be const correct
Reviewed-by: dholmes
2025-07-17 04:01:24 +00:00
Serguei Spitsyn
a65d9532ed 8309399: JVMTI spec needs to clarify when OPAQUE_FRAME is thrown for reasons other than a native method
Reviewed-by: cjplummer
2025-07-17 01:29:40 +00:00
Andrey Turbanov
20b5f09777 8357226: Remove unnecessary List.indexOf from RepaintManager.removeInvalidComponent
Reviewed-by: azvegint, serb
2025-07-16 21:04:24 +00:00
William Kemper
3b44d7bfa4 8360288: Shenandoah crash at size_given_klass in op_degenerated
Reviewed-by: shade
2025-07-16 17:30:42 +00:00
Calvin Cheung
8193856af8 8362336: Revert changes in metaspaceShared.cpp done via JDK-8356807
Reviewed-by: iklam
2025-07-16 16:02:44 +00:00
Gerard Ziemski
10ae602944 8362276: NMT tests should have locks for the entire tests
Reviewed-by: shade, coleenp
2025-07-16 15:27:29 +00:00
David Beaumont
770d2b41d1 8361076: Add benchmark for ImageReader in preparation for Valhalla changes
Reviewed-by: rriggs, liach, ihse
2025-07-16 14:31:53 +00:00
Jasmine Karthikeyan
70c1ff7e15 8362171: C2 fails with unexpected node in SuperWord truncation: ModI
Reviewed-by: thartmann, chagedorn
2025-07-16 12:59:55 +00:00
Boris Ulasevich
6ed81641b1 8362250: ARM32: forward_exception_entry missing return address
Reviewed-by: shade
2025-07-16 11:58:34 +00:00
Aggelos Biboudis
5e4a2ead71 8357653: Inner classes of type parameters emitted as raw types in signatures
8357472: NPE in Types.containsType for type variable used as a qualifier

Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Reviewed-by: mcimadamore, vromero, liach
2025-07-16 10:52:26 +00:00
Maurizio Cimadamore
b787ad6f69 8361401: Warnings for use of Sun APIs should not be mandatory
Reviewed-by: jlahoda, vromero
2025-07-16 09:55:08 +00:00
Saranya Natarajan
6b4a5ef105 8358641: C1 option -XX:+TimeEachLinearScan is broken
Reviewed-by: chagedorn, thartmann
2025-07-16 07:57:21 +00:00
Saranya Natarajan
9f7dc19ffd 8353276: C2: simplify PhaseMacroExpand::opt_bits_test
Reviewed-by: chagedorn, thartmann
2025-07-16 07:48:21 +00:00
Saranya Natarajan
805f1deebc 8342941: IGV: Add various new graph dumps during loop opts
Reviewed-by: chagedorn, dlunden
2025-07-16 07:44:57 +00:00
Matthias Baesken
b85440d085 8361888: [GCC static analyzer] ProcessImpl_md.c Java_java_lang_ProcessImpl_forkAndExec error: use of uninitialized value '*(ChildStuff *)p.mode
Reviewed-by: rriggs, syan
2025-07-16 07:21:52 +00:00
Thomas Schatzl
fd2ee0844a 8361705: Clean up KlassCleaningTask
Reviewed-by: shade, ayang
2025-07-16 07:20:15 +00:00
Thomas Schatzl
27c58c06cf 8362271: G1: Improve G1CollectorState::clearing_bitmap name
Reviewed-by: sangheki
2025-07-16 07:01:16 +00:00
Richard Reingruber
cbb3d23e19 8361827: [TESTBUG] serviceability/HeapDump/UnmountedVThreadNativeMethodAtTop.java throws OutOfMemoryError
Reviewed-by: clanger, syan
2025-07-16 06:12:07 +00:00
Joe Darcy
6e368e0c69 8362207: Add more test cases for possible double-rounding in fma
Reviewed-by: rgiulietti, syan
2025-07-16 05:48:19 +00:00
Guanqiang Han
e1b2229b0b 8358592: Assert in Assembler::ptest due to missing SSE42 support
Reviewed-by: kvn
2025-07-16 05:44:24 +00:00
Dingli Zhang
bdd37b0e5e 8361836: RISC-V: Relax min vector length to 32-bit for short vectors
Reviewed-by: fyang, fjiang
2025-07-16 05:36:12 +00:00
Brent Christian
5ddeb56759 Merge
Reviewed-by: jpai, liach
2025-07-16 03:57:54 +00:00
Leonid Mesnik
a5c9bc7032 8358004: Delete applications/scimark/Scimark.java test
Reviewed-by: syan, coleenp
2025-07-16 00:29:15 +00:00
Bradford Wetmore
5fd2b7d61a 8353925: Remove Sun Microsystems JCE Code Signing Root CA
Reviewed-by: mullan, valeriep
2025-07-15 22:45:43 +00:00
Erik Gahlin
9bef2d1610 8361640: JFR: RandomAccessFile::readLine emits events for each character
Reviewed-by: rriggs, alanb, mgronlun
2025-07-15 20:33:24 +00:00
Sergey Bylokhov
6fc032de2c 8358468: Enhance code consistency: java.desktop/macos
Reviewed-by: prr, azvegint
2025-07-15 20:28:19 +00:00
Phil Race
413c6bd040 8360147: Better Glyph drawing redux
Reviewed-by: rhalade, ahgross, psadhukhan, jdv
2025-07-15 12:02:14 -07:00
Phil Race
2eaddd5b0a 8355884: [macos] java/awt/Frame/I18NTitle.java fails on MacOS
Reviewed-by: kcr, dmarkov, aivanov, honkar, kizune
2025-07-15 12:02:14 -07:00
Darragh Clarke
7db8bff9e1 8350991: Improve HTTP client header handling
Reviewed-by: rhalade, dfuchs, michaelm
2025-07-15 12:02:14 -07:00
Kevin Driver
5ad102ca3f 8349594: Enhance TLS protocol support
Reviewed-by: rhalade, ahgross, wetmore, jnimeh
2025-07-15 12:02:14 -07:00
Christian Hagedorn
a56cd371a2 8349584: Improve compiler processing
Reviewed-by: rhalade, ahgross, epeter, thartmann
2025-07-15 12:02:14 -07:00
Prasanta Sadhukhan
d3429ada8f 8349111: Enhance Swing supports
Reviewed-by: rhalade, jdv, prr
2025-07-15 12:02:14 -07:00
Phil Race
db3f6eabb5 8348989: Better Glyph drawing
Reviewed-by: mschoene, psadhukhan, jdv, rhalade
2025-07-15 12:02:14 -07:00
Volkan Yazici
017dc093ac 8349551: Failures in tests after JDK-8345625
Reviewed-by: jpai, dfuchs
2025-07-15 12:02:14 -07:00
Volkan Yazici
1d8cca2b84 8345625: Better HTTP connections
Reviewed-by: skoivu, rhalade, ahgross, dfuchs, jpai, aefimov
2025-07-15 12:02:14 -07:00
Brian Burkhalter
eefbfdce31 8361587: AssertionError in File.listFiles() when path is empty and -esa is enabled
Reviewed-by: alanb
2025-07-15 18:15:16 +00:00
Xueming Shen
401af27b9d 8360459: UNICODE_CASE and character class with non-ASCII range does not match ASCII char
Reviewed-by: naoto
2025-07-15 17:57:13 +00:00
Calvin Cheung
38af17d078 8356807: Change log_info(cds) to MetaspaceShared::report_loading_error()
Reviewed-by: matsaave, iklam
2025-07-15 17:27:17 +00:00
Daniel Lundén
820263e48a 8360701: Add bailout when the register allocator interference graph grows unreasonably large
Reviewed-by: mhaessig, thartmann
2025-07-15 15:37:27 +00:00
Ian Graves
b65fdf5af0 8358768: [vectorapi] Make VectorOperators.SUADD an Associative
Reviewed-by: psandoz
2025-07-15 14:33:37 +00:00
Johannes Bechberger
d2082c58ff 8358621: Reduce busy waiting in worse case at the synchronization point returning from native in CPU Time Profiler
Reviewed-by: shade, jbachorik, egahlin
2025-07-15 14:23:11 +00:00
Raffaello Giulietti
563e876246 8358540: Enhance MathUtils in view of FloatingDecimal enhancements
Reviewed-by: darcy
2025-07-15 13:21:35 +00:00
Johannes Bechberger
c70258ca1c 8358619: Fix interval recomputation in CPU Time Profiler
Reviewed-by: jbachorik, mgronlun
2025-07-15 10:58:02 +00:00
Thomas Schatzl
9697e5bf74 8362151: Remove unnecessary ClassLoaderDataGraph friend classes
Reviewed-by: coleenp, shade
2025-07-15 09:03:56 +00:00
Albert Mingkun Yang
c9ecc82666 8362162: Use bool for caller of os::must_commit_stack_guard_pages()
Reviewed-by: shade, kbarrett
2025-07-15 07:51:45 +00:00
Matthias Baesken
bf225c201f 8361959: [GCC static analyzer] java_props_md.c leak of 'temp' variable is reported
Reviewed-by: shade, kbarrett, rriggs
2025-07-15 07:18:15 +00:00
Hannes Greule
e5ab210713 8359678: C2: assert(static_cast<T1>(result) == thing) caused by ReverseBytesNode::Value()
Reviewed-by: mhaessig, dlong, thartmann
2025-07-15 06:28:03 +00:00
Alexander Zvegintsev
18c2e40de7 8354415: [Ubuntu25.04] api/java_awt/GraphicsDevice/indexTGF.html#SetDisplayMode - setDisplayMode_REFRESH_RATE_UNKNOWN fails: Height is different on vnc
Reviewed-by: honkar, kizune
2025-07-15 06:21:48 +00:00
Jan Lahoda
40d159d4a9 8362116: System.in.read() etc. don't accept input once immediate Ctrl+D pressed in JShell
Reviewed-by: liach, cstein
2025-07-15 06:13:45 +00:00
Erik Gahlin
25e509b0db 8362097: JFR: Active Settings view broken
Reviewed-by: mgronlun
2025-07-15 05:14:44 +00:00
Chen Liang
0acd065bf5 8361909: ConstantPoolBuilder::loadableConstantEntry and constantValueEntry should throw NPE
Reviewed-by: asotona
2025-07-14 23:35:05 +00:00
David Holmes
f36147b326 8356942: invokeinterface Throws AbstractMethodError Instead of IncompatibleClassChangeError
Reviewed-by: coleenp, iklam
2025-07-14 22:53:45 +00:00
Phil Race
5cf672e778 8359053: Implement JEP 504 - Remove the Applet API
Reviewed-by: aivanov, kizune, kcr, achung, serb
2025-07-14 20:23:38 +00:00
Alexander Matveev
a10ee46e6d 8361224: [macos] MacSignTest.testMultipleCertificates failed
Reviewed-by: asemenyuk
2025-07-14 15:07:43 +00:00
Aleksey Shipilev
6cff49c0fe 8361380: ARM32: Atomic stubs should be in pre-universe
Co-authored-by: Andrew Dinn <adinn@openjdk.org>
Reviewed-by: kvn, adinn
2025-07-14 14:30:02 +00:00
Marc Chevalier
ebb1095805 8361492: [IR Framework] Has too restrictive regex for load and store
Reviewed-by: chagedorn, dfenacci
2025-07-14 13:37:19 +00:00
Nizar Benalla
bcd86d575f 8358627: tools/sincechecker/modules/java.base/JavaBaseCheckSince.java fails with JDK 26
Reviewed-by: liach, syan
2025-07-14 12:36:37 +00:00
Dingli Zhang
5edd546585 8361449: RISC-V: Code cleanup for native call
Reviewed-by: fyang, fjiang
2025-07-14 11:56:07 +00:00
Benoît Maillard
a531c9aece 8361144: Strenghten the Ideal Verification in PhaseIterGVN::verify_Ideal_for by comparing the hash of a node before and after Ideal
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: galder, dfenacci, epeter
2025-07-14 11:40:00 +00:00
Thomas Schatzl
99c299f098 8361706: Parallel weak klass link cleaning does not clean out previous klasses
Reviewed-by: eosterlund, coleenp
2025-07-14 09:39:06 +00:00
Thomas Schatzl
272e66d017 8361952: Installation of MethodData::extra_data_lock() misses synchronization on reader side
Reviewed-by: shade, coleenp, dholmes
2025-07-14 08:59:35 +00:00
han gq
14c79be161 8361140: Missing OptimizePtrCompare check in ConnectionGraph::reduce_phi_on_cmp
Reviewed-by: chagedorn, cslucas
2025-07-14 07:39:04 +00:00
Tobias Hartmann
7c34bdf73c 8362122: Problem list TestStressBailout until JDK-8361752 is fixed
Reviewed-by: chagedorn
2025-07-14 07:27:12 +00:00
Alexander Zvegintsev
0029554d20 8360647: [XWayland] [OL10] NumPad keys are not triggered
Reviewed-by: honkar, serb
2025-07-14 03:43:54 +00:00
Jasmine Karthikeyan
77bd417c99 8350177: C2 SuperWord: Integer.numberOfLeadingZeros, numberOfTrailingZeros, reverse and bitCount have input types wrongly truncated for byte and short
Reviewed-by: epeter, thartmann
2025-07-13 21:28:39 +00:00
Prasanta Sadhukhan
bc828c8fb6 6955128: Spec for javax.swing.plaf.basic.BasicTextUI.getVisibleEditorRect contains inappropriate wording
Reviewed-by: aivanov, prr, dnguyen, abhiscxk, tr
2025-07-13 11:02:19 +00:00
Richard Reingruber
917d0182cb 8361602: [TESTBUG] serviceability/HeapDump/UnmountedVThreadNativeMethodAtTop.java deadlocks on exception
Reviewed-by: cjplummer, clanger, dholmes
2025-07-12 05:40:51 +00:00
SendaoYan
3bacf7ea85 8361869: Tests which call ThreadController should mark as /native
Reviewed-by: sspitsyn, lmesnik
2025-07-12 01:50:40 +00:00
Calvin Cheung
4a351e3e57 8361328: cds/appcds/dynamicArchive/TestAutoCreateSharedArchive.java archive timestamps comparison failed
Reviewed-by: iklam, matsaave
2025-07-12 00:18:51 +00:00
Chen Liang
189017f750 8361908: Mix and match of dead and valid exception handler leads to malformed class file
Reviewed-by: asotona
2025-07-11 22:52:26 +00:00
Chen Liang
3f59eae3d0 8361102: java.lang.classfile.CodeBuilder.branch(Opcode op, Label target) doesn't throw IllegalArgumentException - if op is not of Opcode.Kind.BRANCH
Reviewed-by: asotona
2025-07-11 22:52:10 +00:00
Xiaolong Peng
46988e1073 8361948: Shenandoah: region free capacity unit mismatch
Reviewed-by: shade, wkemper
2025-07-11 20:09:50 +00:00
Chris Plummer
f7e8d255cc 8361905: Problem list serviceability/sa/ClhsdbThreadContext.java on Windows due to JDK-8356704
Reviewed-by: amenkov, sspitsyn
2025-07-11 19:29:07 +00:00
Srinivas Vamsi Parasa
26b002805a 8360776: Disable Intel APX by default and enable it with -XX:+UnlockExperimentalVMOptions -XX:+UseAPX in all builds
Reviewed-by: sviswanathan, dholmes, jbhateja
2025-07-11 18:55:11 +00:00
Alex Menkov
8c00c374ec 8361314: Test serviceability/jvmti/VMEvent/MyPackage/VMEventRecursionTest.java FATAL ERROR in native method: Failed during the GetClassSignature call
Reviewed-by: cjplummer, sspitsyn
2025-07-11 18:33:03 +00:00
Igor Veresov
59bec29c35 8358580: Rethink how classes are kept alive in training data
Reviewed-by: coleenp, shade
2025-07-11 18:07:13 +00:00
Evgeny Astigeevich
a86dd56de3 8360936: Test compiler/onSpinWait/TestOnSpinWaitAArch64.java fails after JDK-8359435
Reviewed-by: shade, aph
2025-07-11 15:25:22 +00:00
Marc Chevalier
76442f39b9 8361494: [IR Framework] Escape too much in replacement of placeholder
Reviewed-by: mhaessig, chagedorn
2025-07-11 10:41:31 +00:00
Thomas Stuefe
445e5ecd98 8361342: Shenandoah: Evacuation may assert on invalid mirror object after JDK-8340297
Co-authored-by: Aleksey Shipilev <shade@openjdk.org>
Reviewed-by: shade, rkennke
2025-07-11 08:02:52 +00:00
Marc Chevalier
3ffc5b9ef7 8359344: C2: Malformed control flow after intrinsic bailout
Reviewed-by: thartmann, kvn
2025-07-11 07:07:27 +00:00
jeremy
529049be6b 8356137: GifImageDecode can produce opaque image when disposal method changes
Reviewed-by: jdv, prr
2025-07-11 05:47:29 +00:00
Kim Barrett
eddfc6449f 8361383: LogFileStreamOutput::write_decorations uses wrong type for format precisions
Reviewed-by: dholmes, iklam
2025-07-11 05:30:29 +00:00
Dingli Zhang
2e7e272d7b 8361829: [TESTBUG] RISC-V: compiler/vectorization/runner/BasicIntOpTest.java fails with RVV but not Zvbb
Reviewed-by: fyang, fjiang
2025-07-11 02:40:33 +00:00
Ioi Lam
ee0d309bbd 8313395: LotsUnloadTest.java fails with OOME transiently with libgraal
Reviewed-by: dnsimon
2025-07-10 21:40:11 +00:00
Alex Menkov
2300a212dd 8358679: [asan] vmTestbase/nsk/jvmti tests show memory issues
Reviewed-by: cjplummer, sspitsyn
2025-07-10 19:57:27 +00:00
Andrew Dinn
3d74cbe0ac 8361844: Build without C1 or C2 fails after 8360707
Reviewed-by: kvn
2025-07-10 17:23:10 +00:00
Naoto Sato
f5afbbd32a 8361717: Refactor Collections.emptyList() in Locale related classes
Reviewed-by: bpb, jlu, liach, cstein
2025-07-10 16:08:05 +00:00
Kevin Walls
cbc7090b91 8359809: AttributeList, RoleList and UnresolvedRoleList should never accept other types of Object
Reviewed-by: sspitsyn
2025-07-10 15:21:04 +00:00
Anass Baya
f735275021 8361839: Problemlist BogusFocusableWindowState due to failures in the CI pipeline
Reviewed-by: aivanov
2025-07-10 13:07:13 +00:00
Thomas Schatzl
3d37c4e37a 8361693: Remove Klass::clean_subklass_tree()
Reviewed-by: zgu, kbarrett
2025-07-10 13:00:48 +00:00
Nizar Benalla
73ab54e4c3 8360302: Update --release 25 symbol information for JDK 25 build 29
Reviewed-by: darcy, iris
2025-07-10 11:25:41 +00:00
Vicente Romero
80662a485a 8361499: Intersection type cast causes javac crash with -Xjcov
Reviewed-by: mcimadamore
2025-07-10 10:38:31 +00:00
Albert Mingkun Yang
c118543efe 8361704: Parallel: Simplify logic condition in MutableNUMASpace::initialize
Reviewed-by: tschatzl
2025-07-10 09:18:35 +00:00
Kevin Walls
13e0f99626 8351413: Remove XML interchange in java.management/javax/management/modelmbean/DescriptorSupport
Reviewed-by: dfuchs, sspitsyn
2025-07-10 08:19:06 +00:00
Matthias Baesken
bf3cfbeff4 8351487: [ubsan] jvmti.h runtime error: load of value which is not a valid value
Reviewed-by: cjplummer, amenkov, sspitsyn
2025-07-10 07:08:26 +00:00
David Holmes
2a53f5a5c2 8361754: New test runtime/jni/checked/TestCharArrayReleasing.java can cause disk full errors
Reviewed-by: jpai, darcy
2025-07-10 05:07:33 +00:00
David Holmes
f67e435431 8361447: [REDO] Checked version of JNI Release<type>ArrayElements needs to filter out known wrapped arrays
Co-authored-by: Thomas Stuefe <stuefe@openjdk.org>
Reviewed-by: mdoerr, stuefe, coleenp
2025-07-10 01:59:49 +00:00
David Holmes
c28bb8bf7a 8361647: Report the error reason on failed semaphore calls on macOS
Reviewed-by: shade, ayang, jwaters
2025-07-10 01:54:39 +00:00
Matias Saavedra Silva
518536c607 8344073: Test runtime/cds/appcds/TestParallelGCWithCDS.java#id0 failed
Reviewed-by: ccheung, iklam
2025-07-09 20:45:13 +00:00
Gustavo Simon
0f7808f333 8360122: Fix java.sql\Connection.java indentation
Reviewed-by: liach, lancea
2025-07-09 19:55:20 +00:00
Chen Liang
c9bea77342 8361615: CodeBuilder::parameterSlot throws undocumented IOOBE
Reviewed-by: asotona
2025-07-09 19:29:25 +00:00
Yudi Zheng
6681fc72d3 8361569: [JVMCI] Further refine JVMCI-compiled nmethod that should not collect deoptimization profile
Reviewed-by: dnsimon, gdub
2025-07-09 19:12:37 +00:00
Eric Caspole
7282f68cee 8361216: Do not fork javac in J2DBench ant build
Reviewed-by: prr
2025-07-09 18:47:38 +00:00
Brian Burkhalter
6e203384f8 8358533: Improve performance of java.io.Reader.readAllLines
Reviewed-by: rriggs, sherman
2025-07-09 16:15:36 +00:00
Brian Burkhalter
6249259c80 8361299: (bf) CharBuffer.getChars(int,int,char[],int) violates pre-existing specification
Reviewed-by: alanb, liach
2025-07-09 16:15:21 +00:00
Aleksey Shipilev
a41d35073e 8357473: Compilation spike leaves many CompileTasks in free list
Reviewed-by: kvn, chagedorn
2025-07-09 14:49:20 +00:00
Nizar Benalla
7daf9813c0 8346884: Add since checker test to jdk.editpad
Reviewed-by: jpai
2025-07-09 13:49:15 +00:00
Aleksey Shipilev
a201be8555 8361255: CTW: Tolerate more NCDFE problems
Reviewed-by: kvn, thartmann
2025-07-09 12:42:25 +00:00
Manuel Hässig
db4b4a5b35 8360175: C2 crash: assert(edge_from_to(prior_use,n)) failed: before block local scheduling
Reviewed-by: kvn, chagedorn
2025-07-09 12:34:10 +00:00
Chen Liang
d886ae12a2 8357185: Redundant local variables with unconditionally matching primitive patterns
Reviewed-by: jlahoda, abimpoudis
2025-07-09 12:14:14 +00:00
Albert Mingkun Yang
eec04dd010 8361680: Use correct enum Claim value in VM_HeapWalkOperation::collect_simple_roots
Reviewed-by: shade
2025-07-09 12:00:51 +00:00
Aleksey Shipilev
a9bd1ad40c 8361520: Stabilize SystemGC benchmarks
Reviewed-by: tschatzl, ayang
2025-07-09 08:56:44 +00:00
Andrew Dinn
b1fa1ecc98 8360707: Globally enumerate all blobs, stubs and entries
Reviewed-by: kvn, fyang, asmehra
2025-07-09 08:48:07 +00:00
David Briemann
83feb7a238 8361599: [PPC64] enable missing tests via jtreg requires
Reviewed-by: mdoerr
2025-07-09 08:27:55 +00:00
Andrej Pecimuth
963b83fcf1 8357689: Refactor JVMCI to enable replay compilation in Graal
Reviewed-by: dnsimon
2025-07-09 08:19:49 +00:00
Thomas Schatzl
68b27b88b5 8361349: Fix visibility of CollectedHeap::stop() and ::print_tracing_info()
Reviewed-by: iwalulya, ayang
2025-07-09 08:10:43 +00:00
Dingli Zhang
e0245682c8 8361532: RISC-V: Several vector tests fail after JDK-8354383
Reviewed-by: fyang, fjiang, gcao
2025-07-09 05:57:38 +00:00
Ivan Walulya
4761479608 8238687: Investigate memory uncommit during young collections in G1
8247843: Reconsider G1 default GCTimeRatio value
8248324: G1: Remove resizing during Remark

Co-authored-by: Thomas Schatzl <tschatzl@openjdk.org>
Reviewed-by: kbarrett, tschatzl
2025-07-09 05:44:42 +00:00
Thomas Stuefe
fe26467633 8361363: ShenandoahAsserts::print_obj() does not work for forwarded objects and UseCompactObjectHeaders
Reviewed-by: rkennke, shade
2025-07-09 05:17:05 +00:00
Chen Liang
e2c5d03546 8361526: Synchronize ClassFile API verifier with hotspot
Reviewed-by: asotona
2025-07-09 03:34:44 +00:00
Ravi-Patel8
19bb6ebfaf 8361484: Remove duplicate font filename mappings in fontconfig.properties for AIX
Reviewed-by: serb, azvegint
2025-07-09 03:12:43 +00:00
Feilong Jiang
54e37629f6 8361504: RISC-V: Make C1 clone intrinsic platform guard more specific
Reviewed-by: fyang, gcao
2025-07-09 01:20:18 +00:00
Rui Li
974ad4e8cd 8359868: Shenandoah: Free threshold heuristic does not use SoftMaxHeapSize
Reviewed-by: wkemper
2025-07-08 21:58:22 +00:00
Kim Barrett
117f0b4051 8361426: (ref) Remove jdk.internal.ref.Cleaner
Reviewed-by: jpai, vklang
2025-07-08 19:48:54 +00:00
Vladimir Kozlov
dedcce0450 8360942: [ubsan] aotCache tests trigger runtime error: applying non-zero offset 16 to null pointer in CodeBlob::relocation_end()
Reviewed-by: adinn, mbaesken
2025-07-08 19:34:39 +00:00
Alex Menkov
03526e250d 8355960: JvmtiAgentList::Iterator dtor double free with -fno-elide-constructors
Reviewed-by: dholmes, sspitsyn
2025-07-08 19:30:07 +00:00
Kelvin Nilsen
1de2acea77 8361529: GenShen: Fix bad assert in swap card tables
Reviewed-by: wkemper
2025-07-08 18:59:11 +00:00
Rui Li
fa32bfe113 8358529: GenShen: Heuristics do not respond to changes in SoftMaxHeapSize
Reviewed-by: wkemper
2025-07-08 18:34:18 +00:00
Koushik Thirupattur
91df797879 8357915: SecureRandom nextLong memory usage
Reviewed-by: wetmore
2025-07-08 18:24:26 +00:00
Ioi Lam
92712ef45d 8361367: AOT ExcludedClasses.java test failed with missing constant pool logs
Reviewed-by: dholmes, kvn
2025-07-08 17:34:58 +00:00
Naoto Sato
5850bf4488 8361519: Obsolete Unicode Scalar Value link in Character class
Reviewed-by: iris
2025-07-08 17:13:59 +00:00
Jan Lahoda
853319439e 8361570: Incorrect 'sealed is not allowed here' compile-time error
Reviewed-by: mcimadamore, vromero
2025-07-08 14:33:14 +00:00
Erik Gahlin
63e08d4af7 8361175: JFR: Document differences between method sample events
Reviewed-by: mgronlun
2025-07-08 14:04:17 +00:00
David Briemann
5c67e3d6e5 8361353: [PPC64] C2: Add nodes UMulHiL, CmpUL3, UMinV, UMaxV, NegVI
Reviewed-by: mdoerr, rrich
2025-07-08 12:58:44 +00:00
Manuel Hässig
2349304bb1 8361040: compiler/codegen/TestRedundantLea.java#StringInflate fails with failed IR rules
Co-authored-by: Matthias Baesken <mbaesken@openjdk.org>
Reviewed-by: chagedorn, mbaesken
2025-07-08 12:44:36 +00:00
Jan Lahoda
0bd2f9cba2 8361445: javac crashes on unresolvable constant in @SuppressWarnings
Reviewed-by: asotona, liach
2025-07-08 12:04:08 +00:00
han gq
27e6a4d2f7 8344548: Incorrect StartAggressiveSweepingAt doc for segmented code cache
Reviewed-by: kvn, eastigeevich
2025-07-08 11:50:09 +00:00
Maurizio Cimadamore
1934bd8d2c 8361481: Flexible Constructor Bodies generates a compilation error when compiling a user supplied java.lang.Object class
Reviewed-by: vromero, liach, jlahoda
2025-07-08 10:38:59 +00:00
Aleksey Shipilev
7b255b8a62 8361397: Rework CompileLog list synchronization
Reviewed-by: kvn, chagedorn
2025-07-08 08:23:11 +00:00
Kevin Walls
310ef85667 8305567: serviceability/tmtools/jstat/GcTest01.java failed utils.JstatGcResults.assertConsistency
Reviewed-by: cjplummer, lmesnik
2025-07-08 06:38:16 +00:00
Prasanta Sadhukhan
5205eae6ff 8346753: Test javax/swing/JMenuItem/RightLeftOrientation/RightLeftOrientation.java fails on Windows Server 2025 x64 because the icons of RBMenuItem and CBMenuItem are not visible in Nimbus LookAndFeel
Reviewed-by: abhiscxk
2025-07-08 03:12:37 +00:00
Julian Waters
bbc5c98b14 8342868: Errors related to unused code on Windows after 8339120 in core libs
Reviewed-by: naoto, jlu
2025-07-08 01:29:20 +00:00
Julian Waters
563a3358f6 8342682: Errors related to unused code on Windows after 8339120 in dt_shmem jdwp security and jpackage
Reviewed-by: cjplummer, asemenyuk, almatvee
2025-07-08 01:27:11 +00:00
Valerie Peng
ec7c6be6a9 8359388: Stricter checking for cipher transformations
Reviewed-by: mullan
2025-07-07 23:36:19 +00:00
Justin Lu
197fde5363 8361303: L10n comment for javac.opt.Xlint.desc.synchronization in javac.properties
Reviewed-by: naoto, liach
2025-07-07 21:55:10 +00:00
Sergey Bylokhov
ec3bb93d79 8358623: Avoid unnecessary data copying in ICC_Profile
Reviewed-by: honkar, prr
2025-07-07 19:32:17 +00:00
Chris Plummer
39c9de2ace 8359958: Cleanup "local" debuggee references after JDK-8333117 removed support for non-local debuggees
Reviewed-by: lmesnik, sspitsyn, amenkov
2025-07-07 18:50:00 +00:00
Vicente Romero
05c9eec8d0 8361214: An anonymous class is erroneously being classify as an abstract class
Reviewed-by: liach, mcimadamore
2025-07-07 14:56:53 +00:00
Richard Reingruber
fea73c1d40 8360599: [TESTBUG] DumpThreadsWithEliminatedLock.java fails because of unstable inlining
Reviewed-by: alanb, mdoerr, lmesnik
2025-07-07 13:21:11 +00:00
Roger Riggs
afb4a1be9e 8354872: Clarify java.lang.Process resource cleanup
Reviewed-by: jpai
2025-07-07 12:43:28 +00:00
ANUPAM DEV
7c13a2cd9a 8361463: Render method of javax.swing.text.AbstractDocument uses 'currency' instead of 'concurrency'
Reviewed-by: psadhukhan, tr, abhiscxk, aivanov
2025-07-07 12:15:44 +00:00
Andrew Haley
4df9c87345 8360884: Better scoped values
Reviewed-by: liach, alanb
2025-07-07 09:16:39 +00:00
Christian Stein
9449fea2cd 8358552: EndOfFileException in System.in.read() and IO.readln() etc. in JShell
Reviewed-by: jlahoda
2025-07-07 08:59:50 +00:00
Aleksey Shipilev
1fa772e814 8343546: GHA: Cache required dependencies in master-branch workflow
Reviewed-by: ihse
2025-07-07 08:24:24 +00:00
Daniel Fuchs
8ad4836883 8361249: PlainHttpConnection connection logic can be simplified
Reviewed-by: djelinski, vyazici, michaelm, jpai
2025-07-07 08:22:05 +00:00
Xiaohong Gong
d75ea7e679 8355563: VectorAPI: Refactor current implementation of subword gather load API
Reviewed-by: epeter, psandoz, sviswanathan, jbhateja
2025-07-07 06:52:29 +00:00
Artem Semenov
e9a434165a 8360664: Null pointer dereference in src/hotspot/share/prims/jvmtiTagMap.cpp in IterateOverHeapObjectClosure::do_object()
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Artem Semenov <savoptik@altlinux.org>.

Reviewed-by: sspitsyn, amenkov, cjplummer
2025-07-07 06:11:50 +00:00
hanguanqiang
45300dd123 8358568: Purge obsolete/broken GenerateSynchronizationCode flag
Reviewed-by: thartmann, shade
2025-07-07 05:22:44 +00:00
Anass Baya
44cff9d6ab 8346952: GetGraphicsStressTest.java fails: Native resources unavailable
Reviewed-by: serb
2025-07-07 04:58:17 +00:00
David Holmes
3bcbcc5747 8361439: [BACKOUT] 8357601: Checked version of JNI Release<type>ArrayElements needs to filter out known wrapped arrays
Reviewed-by: lmesnik
2025-07-06 21:45:03 +00:00
Erik Gahlin
f3e0588d0b 8361338: JFR: Min and max time in MethodTime event is confusing
Reviewed-by: mgronlun
2025-07-06 15:21:35 +00:00
Nizar Benalla
f2d2eef988 8177100: APIs duplicated in JavaDoc
Reviewed-by: liach, hannesw
2025-07-04 15:10:22 +00:00
Srinivas Vamsi Parasa
1c560727b8 8360775: Fix Shenandoah GC test failures when APX is enabled
Reviewed-by: sviswanathan, jbhateja, epeter
2025-07-04 15:08:57 +00:00
Manuel Hässig
f153e415d7 8361253: CommandLineOptionTest library should report observed values on failure
Reviewed-by: dholmes, shade
2025-07-04 13:06:36 +00:00
Magnus Ihse Bursie
fba74f796e 8361306: jdk.compiler-gendata needs to depend on java.base-launchers
Reviewed-by: shade
2025-07-04 12:19:24 +00:00
Jonas Norlinder
56ebb8c1b9 8359110: Log accumulated GC and process CPU time upon VM exit
Co-authored-by: Erik Österlund <eosterlund@openjdk.org>
Co-authored-by: Jonas Norlinder <jnorlinder@openjdk.org>
Reviewed-by: tschatzl, ayang
2025-07-04 10:16:55 +00:00
Doug Simon
5cf349c3b0 8361355: Negative cases of Annotated.getAnnotationData implementations are broken
Reviewed-by: never
2025-07-04 07:37:20 +00:00
Kim Barrett
21f2e9a71c 8344332: (bf) Migrate DirectByteBuffer away from jdk.internal.ref.Cleaner
Reviewed-by: rriggs, bchristi
2025-07-04 04:08:42 +00:00
Ioi Lam
854de8c9c6 8336147: Clarify CDS documentation about static vs dynamic archive
Reviewed-by: ccheung, shade
2025-07-03 23:54:05 +00:00
Manukumar V S
16af473397 8361115: javax/swing/JComboBox/bug4276920.java unnecessarily throws Error instead of RuntimeException
Reviewed-by: prr
2025-07-03 22:32:23 +00:00
David Holmes
da0a51ce97 8357601: Checked version of JNI Release<type>ArrayElements needs to filter out known wrapped arrays
Reviewed-by: coleenp, jsjolen
2025-07-03 21:02:28 +00:00
Chen Liang
566279af49 8360022: ClassRefDupInConstantPoolTest.java fails when running in repeat
Reviewed-by: vromero
2025-07-03 20:49:05 +00:00
Erik Gahlin
77e69e02eb 8358750: JFR: EventInstrumentation MASK_THROTTLE* constants should be computed in longs
Reviewed-by: mgronlun
2025-07-03 20:01:33 +00:00
Eric Caspole
dcc7254a38 8361213: J2DAnalyzer should emit the score as a decimal
Reviewed-by: prr
2025-07-03 19:43:30 +00:00
Calvin Cheung
003be0dee2 8361325: Refactor ClassLoaderExt
Reviewed-by: coleenp, sspitsyn
2025-07-03 19:40:22 +00:00
Brian Burkhalter
2d9f0324ba 8360028: (fs) Path.relativize throws StringIndexOutOfBoundsException (win)
Reviewed-by: alanb
2025-07-03 18:53:59 +00:00
Archie Cobbs
25ed36f3ef 8359493: Refactor how aggregated mandatory warnings are handled in the compiler
8350514: Refactor MandatoryWarningHandler to support dynamic verbosity

Reviewed-by: mcimadamore
2025-07-03 18:13:07 +00:00
Evgeny Nikitin
a2315ddd2a 8357739: [jittester] disable the hashCode method
Reviewed-by: lmesnik
2025-07-03 16:58:30 +00:00
Ioi Lam
66836d40b8 8361292: Rename ModuleEntry::module() to module_oop()
Reviewed-by: coleenp, ccheung, sspitsyn
2025-07-03 16:52:19 +00:00
Ioi Lam
3daa03c30f 8358680: AOT cache creation fails: no strings should have been added
Co-authored-by: Aleksey Shipilev <shade@openjdk.org>
Reviewed-by: coleenp, shade
2025-07-03 15:31:34 +00:00
Rajat Mahajan
24117c6e9a 8349188: LineBorder does not scale correctly
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: aivanov, serb
2025-07-03 14:24:52 +00:00
Thomas Schatzl
5e40fb6bda 8277394: Remove the use of safepoint_workers in reference processor
Co-authored-by: Albert Mingkun Yang <ayang@openjdk.org>
Reviewed-by: ayang, iwalulya
2025-07-03 11:43:35 +00:00
Matthias Baesken
2528c620a6 8361198: [AIX] fix misleading error output in thread_cpu_time_unchecked
Reviewed-by: mdoerr, azeller
2025-07-03 11:35:54 +00:00
Jaikiran Pai
1be29bd725 8361060: Keep track of the origin server against which a jdk.internal.net.http.HttpConnection was constructed
Reviewed-by: dfuchs
2025-07-03 09:32:09 +00:00
Jatin Bhateja
2f683fdc4a 8361037: [ubsan] compiler/c2/irTests/TestFloat16ScalarOperations division by 0
Reviewed-by: mhaessig, sviswanathan
2025-07-03 08:03:55 +00:00
Benoît Maillard
c75df634be 8359602: Ideal optimizations depending on input type are missed because of missing notification mechanism from CCP
Reviewed-by: epeter, thartmann
2025-07-03 07:28:11 +00:00
Jan Lahoda
fd13e1ce98 8358801: javac produces class that does not pass verifier.
Reviewed-by: mcimadamore, liach
2025-07-03 07:17:59 +00:00
Thomas Schatzl
6c9236c80c 8361238: G1 tries to get CPU info from terminated threads at shutdown
Reviewed-by: kbarrett, sangheki
2025-07-03 06:59:00 +00:00
Takuya Kiriyama
1926aeb1a3 8352016: Improve java/lang/RuntimeTests/RuntimeExitLogTest.java
Reviewed-by: rriggs
2025-07-03 06:47:11 +00:00
Boris Ulasevich
74822ce12a 8358183: [JVMCI] crash accessing nmethod::jvmci_name in CodeCache::aggregate
Reviewed-by: eastigeevich, phh
2025-07-02 21:15:46 +00:00
Yudi Zheng
ea86a20e6d 8357424: [JVMCI] Avoid incrementing decompilation count for hosted compiled nmethod
Reviewed-by: dnsimon, never, cslucas
2025-07-02 18:38:31 +00:00
Jatin Bhateja
5e30bf6835 8360116: Add support for AVX10 floating point minmax instruction
Reviewed-by: mhaessig, sviswanathan
2025-07-02 17:47:20 +00:00
Hamlin Li
c50370599e 8360090: [TEST] RISC-V: disable some cds tests on qemu
Reviewed-by: lmesnik, rehn
2025-07-02 17:16:12 +00:00
Martin Doerr
c460f842bf 8361183: JDK-8360887 needs fixes to avoid cycles and better tests (aix)
Co-authored-by: Alan Bateman <alanb@openjdk.org>
Reviewed-by: alanb, jkern
2025-07-02 15:31:29 +00:00
Joe Darcy
549b875866 8361112: Use exact float -> Float16 conversion method in Float16 tests
Reviewed-by: liach, rgiulietti
2025-07-02 15:24:29 +00:00
Albert Mingkun Yang
832bfbc0dd 8338474: Parallel: Deprecate and obsolete PSChunkLargeArrays
Reviewed-by: tschatzl, kbarrett
2025-07-02 13:39:16 +00:00
Ashutosh Mehra
3066a67e62 8361101: AOTCodeAddressTable::_stubs_addr not initialized/freed properly
Reviewed-by: kvn, shade
2025-07-02 13:25:00 +00:00
Taizo Kurashige
ce9986991d 8359120: Improve warning message when fail to load hsdis library
Reviewed-by: mhaessig, thartmann
2025-07-02 09:21:57 +00:00
Saranya Natarajan
eac8f5d2c9 8325478: Restructure the macro expansion compiler phase to not include macro elimination
Reviewed-by: kvn, dlunden
2025-07-02 08:38:31 +00:00
Manuel Hässig
2304044ab2 8360641: TestCompilerCounts fails after 8354727
Reviewed-by: kvn, dfenacci, mdoerr
2025-07-02 08:35:51 +00:00
Anton Artemov
0f1cd987b3 8284016: Normalize handshake closure names
Reviewed-by: coleenp, sspitsyn
2025-07-02 06:49:36 +00:00
Aleksey Shipilev
1ac7489874 8361180: Disable CompiledDirectCall verification with -VerifyInlineCaches
Reviewed-by: kvn, thartmann
2025-07-02 05:38:28 +00:00
Ioi Lam
055d2ffa69 8361215: Add AOT test case: verification constraint classes are excluded
Reviewed-by: ccheung
2025-07-02 04:24:55 +00:00
Prasanta Sadhukhan
2bff8e0a13 8360462: [macosx] row selection not working with Ctrl+Shift+Down/Up in AquaL&F
Reviewed-by: dnguyen, abhiscxk
2025-07-02 03:07:07 +00:00
Kim Barrett
c6448dc3af 8361086: JVMCIGlobals::check_jvmci_flags_are_consistent has incorrect format string
Reviewed-by: kvn, mhaessig, yzheng
2025-07-02 00:28:24 +00:00
Kim Barrett
1703915d3f 8361085: MemoryReserver log_on_large_pages_failure has incorrect format usage
Reviewed-by: stefank, dholmes
2025-07-02 00:25:26 +00:00
Kim Barrett
a910b20b51 8346914: UB issue in scalbnA
Reviewed-by: aph, tschatzl
2025-07-02 00:17:19 +00:00
Ioi Lam
7d7e60c8ae 8360164: AOT cache creation crashes in ~ThreadTotalCPUTimeClosure()
Reviewed-by: ccheung, kvn, dholmes
2025-07-01 20:22:13 +00:00
Calvin Cheung
534d2b33dc 8357064: cds/appcds/ArchiveRelocationTest.java failed with missing expected output
Reviewed-by: shade, iklam
2025-07-01 19:52:06 +00:00
Daniel Jeliński
e9a62d79cd 8361125: Fix typo in onTradAbsence
Reviewed-by: hchao, mullan, shade
2025-07-01 19:19:25 +00:00
Kevin Walls
13a3927855 8359870: JVM crashes in AccessInternal::PostRuntimeDispatch
Reviewed-by: amenkov, dholmes, sspitsyn
2025-07-01 19:07:49 +00:00
Leonid Mesnik
282ee40a56 8359366: RunThese30M.java EXCEPTION_ACCESS_VIOLATION in JvmtiBreakpoints::clearall_in_class_at_safepoint
Reviewed-by: coleenp, dholmes, sspitsyn
2025-07-01 17:22:33 +00:00
Coleen Phillimore
e7a450038a 8359707: Add classfile modification code to RedefineClassHelper
Reviewed-by: lmesnik, dholmes, sspitsyn
2025-07-01 17:14:36 +00:00
Mohamed Issa
38f59f84c9 8358179: Performance regression in Math.cbrt
Reviewed-by: sviswanathan, sparasa, epeter
2025-07-01 15:34:37 +00:00
Jaikiran Pai
e1681c4828 8359477: com/sun/net/httpserver/Test12.java appears to have a temp file race
Reviewed-by: dfuchs, vyazici
2025-07-01 15:32:26 +00:00
Aleksey Shipilev
e138297323 8359436: AOTCompileEagerly should not be diagnostic
Reviewed-by: kvn, syan, dholmes
2025-07-01 14:30:20 +00:00
Jaikiran Pai
7583a7b857 8359337: XML/JAXP tests that make network connections should ensure that no proxy is selected
Reviewed-by: lancea, iris, joehw
2025-07-01 11:39:20 +00:00
Thomas Schatzl
e85c7d09df 8360790: G1: Improve HRRSStatsIter name
Reviewed-by: kbarrett, ayang
2025-07-01 10:40:33 +00:00
Albert Mingkun Yang
eec1153993 8361056: Parallel: Use correct is_par argument in ScavengeRootsTask
Reviewed-by: tschatzl
2025-07-01 10:14:25 +00:00
Albert Mingkun Yang
fc739fee53 8360206: Refactor ReferenceProcessor::balance_queues
Reviewed-by: sangheki, kbarrett, tschatzl
2025-07-01 10:13:17 +00:00
Matthias Baesken
aeca49e43f 8360791: [ubsan] Adjust signal handling
Reviewed-by: ihse, lucy
2025-07-01 09:56:42 +00:00
Matthias Baesken
54c95cf226 8361043: [ubsan] os::print_hex_dump runtime error: applying non-zero offset 8 to null pointer
Reviewed-by: mdoerr, lucy
2025-07-01 09:19:35 +00:00
Aleksey Shipilev
cd6caedd0a 8360783: CTW: Skip deoptimization between tiers
Reviewed-by: thartmann, mhaessig, dfenacci
2025-07-01 07:58:12 +00:00
Manuel Hässig
b32ccf2cb2 8361092: Remove trailing spaces in x86 ad files
Reviewed-by: kvn, sviswanathan
2025-07-01 06:47:48 +00:00
Martin Doerr
0572b6ece7 8360887: (fs) Files.getFileAttributeView returns unusable FileAttributeView if UserDefinedFileAttributeView unavailable (aix)
Co-authored-by: Joachim Kern <jkern@openjdk.org>
Reviewed-by: bpb, mbaesken
2025-07-01 06:09:50 +00:00
Anass Baya
d1052c70cb 8355478: DoubleActionESC.java fails intermittently
Reviewed-by: aivanov, abhiscxk
2025-07-01 04:40:43 +00:00
Xueming Shen
61a590e9be 8354490: Pattern.CANON_EQ causes a pattern to not match a string with a UNICODE variation
Reviewed-by: rriggs, naoto
2025-07-01 00:58:43 +00:00
Calvin Cheung
9d518b3213 8310831: Some methods are missing from CDS regenerated JLI holder class
Reviewed-by: iklam, liach
2025-06-30 17:52:28 +00:00
Calvin Cheung
1dda79cfab 8360743: Enables regeneration of JLI holder classes for CDS static dump
Reviewed-by: iklam, liach
2025-06-30 17:51:20 +00:00
Aleksey Shipilev
aa1911191c 8360867: CTW: Disable inline cache verification
Reviewed-by: kvn, thartmann
2025-06-30 12:55:36 +00:00
Thomas Schatzl
00adbbe553 8274051: Remove supports_vtime()/elapsedVTime()
Reviewed-by: kbarrett, iwalulya
2025-06-30 11:22:46 +00:00
Tobias Hartmann
c2d76f9844 8361032: Problem list TestOnSpinWaitAArch64 until JDK-8360936 is fixed
Reviewed-by: alanb
2025-06-30 05:41:37 +00:00
Jaikiran Pai
4dd1b3a610 8330940: Impossible to create a socket backlog greater than 200 on Windows 8+
Reviewed-by: michaelm, dfuchs, alanb
2025-06-30 01:58:54 +00:00
Sergey Bylokhov
240541e1c1 8359266: Delete the usage of AppContext in the GraphicsDevice
Reviewed-by: aivanov, azvegint
2025-06-29 19:44:01 +00:00
Matthias Baesken
a23de2ec09 8360478: libjsig related tier3 jtreg tests fail when asan is configured
Reviewed-by: dholmes, ihse
2025-06-27 19:10:02 +00:00
Archie Cobbs
3525a40f39 8359596: Behavior change when both -Xlint:options and -Xlint:-options flags are given
Reviewed-by: mcimadamore, uschindler
2025-06-27 18:25:27 +00:00
Chris Plummer
712d866b72 8360312: Serviceability Agent tests fail with JFR enabled due to unknown thread type JfrRecorderThread
Reviewed-by: sspitsyn, kevinw, dholmes
2025-06-27 17:19:22 +00:00
Alisen Chung
da7080fffb 8359761: JDK 25 RDP1 L10n resource files update
Reviewed-by: aivanov, almatvee, nbenalla, jlu, dnguyen, cstein, naoto
2025-06-27 16:13:03 +00:00
Coleen Phillimore
4edf791aec 8295851: Do not use ttyLock in BytecodeTracer::trace
Reviewed-by: dholmes, matsaave
2025-06-27 16:11:41 +00:00
Kevin Walls
12196baf67 8358624: ImmutableDescriptor violates equals/hashCode contract after deserialization
Reviewed-by: cjplummer, sspitsyn
2025-06-27 14:54:12 +00:00
Artur Barashev
a471fe992f 8360539: DTLS handshakes fails due to improper cookie validation logic
Reviewed-by: ascarpino, hchao
2025-06-27 14:15:55 +00:00
Shaojin Wen
839cede1a4 8357289: Break down the String constructor into smaller methods
Reviewed-by: liach, rriggs
2025-06-27 14:06:12 +00:00
Evgeny Astigeevich
ecd2d83096 8359435: AArch64: add support for SB instruction to MacroAssembler::spin_wait
Reviewed-by: shade, aph
2025-06-27 12:49:20 +00:00
Coleen Phillimore
d8f9b188fa 8268406: Deallocate jmethodID native memory
Reviewed-by: dholmes, sspitsyn, dcubed, eosterlund, aboldtch
2025-06-27 11:20:49 +00:00
Qizheng Xing
aa26cede63 8360474: Add missing include guards for some HotSpot headers
Reviewed-by: mhaessig, stefank, dholmes
2025-06-27 08:17:13 +00:00
Andrey Turbanov
20e983a97c 8360487: Remove unnecessary List.indexOf key from AbstractMidiDevice.TransmitterList.remove
Reviewed-by: azvegint, serb, aivanov
2025-06-27 07:53:49 +00:00
Matthias Baesken
97ec9d3e0a 8360533: ContainerRuntimeVersionTestUtils fromVersionString fails with some docker versions
Reviewed-by: lucy, mdoerr, dholmes
2025-06-27 07:37:44 +00:00
Matthias Baesken
01b15bc1f9 8360518: Docker tests do not work when asan is configured
Reviewed-by: sgehwolf
2025-06-27 06:43:50 +00:00
Luigi Montoya
6d05a1d3f4 8357079: Fix Windows AArch64 DevKit Creation
Reviewed-by: erikj, ihse
2025-06-27 06:11:33 +00:00
Erik Gahlin
8ea544c33f 8360287: JFR: PlatformTracer class should be loaded lazily
Reviewed-by: mgronlun
2025-06-26 22:18:56 +00:00
David Holmes
334683e634 8358645: Access violation in ThreadsSMRSupport::print_info_on during thread dump
Reviewed-by: fbredberg, shade, dcubed
2025-06-26 21:48:46 +00:00
Ioi Lam
20e0055e20 8344165: Trace exceptions with a complete call-stack
Reviewed-by: coleenp, dholmes
2025-06-26 17:23:55 +00:00
Naoto Sato
83fe688d80 8360554: Use the title from the JSON RFC for the @spec tag
Reviewed-by: alanb, kevinw
2025-06-26 16:35:43 +00:00
Jatin Bhateja
a49ecb26c5 8352635: Improve inferencing of Float16 operations with constant inputs
Reviewed-by: epeter, sviswanathan
2025-06-26 15:42:43 +00:00
Kim Barrett
7f702cf483 8360458: Rename Deferred<> to DeferredStatic<> and improve usage description
Reviewed-by: jsikstro, jsjolen, stefank
2025-06-26 15:12:35 +00:00
Ivan Walulya
bd666f90eb 8360522: G1: Flag constraint functions for G1SATBBufferSize and G1UpdateBufferSize are skipped during argument validation
Reviewed-by: tschatzl, ayang
2025-06-26 15:01:56 +00:00
Kelvin Nilsen
a0c3efa6a8 8359947: GenShen: use smaller TLABs by default
Reviewed-by: phh, xpeng
2025-06-26 14:36:33 +00:00
Damon Nguyen
7576064a10 8359061: Update and ProblemList manual test java/awt/Cursor/CursorDragTest/ListDragCursor.java
Reviewed-by: honkar, aivanov
2025-06-26 14:09:27 +00:00
Jaikiran Pai
8df6b2c4a3 8359830: Incorrect os.version reported on macOS Tahoe 26 (Beta)
Reviewed-by: rriggs, lancea, kcr
2025-06-26 13:37:13 +00:00
Doug Lea
ff24088c86 8359919: Minor java.util.concurrent doc improvements
8187775: AtomicReferenceFieldUpdater does not support static fields
8254060: SubmissionPublisher close hangs if a publication is pending
8210149: Example in JavaDoc for java.util.concurrent.Flow violates Reactive Streams spec
8199501: Improve documentation of CompletableFuture, CompletionStage
8233050: CompletableFuture `whenComplete` and `thenApply` change exceptional result
8210312: JavaDoc example in SubmissionPublisher will potentially crash
8292365: CompletableFuture and CompletionStage should document Memory Model guarantees
8356304: Define "enabled" in ScheduledExecutorService
8353155: FutureTask#run(): doc implies synchronous, implementation is async
8186959: Clarify that Executors.newScheduledThreadPool() is fixed-size
8190889: TimeUnit.wait should document IllegalMonitorStateException
6351533: CyclicBarrier reset() should return the number of awaiters
6317534: CyclicBarrier should have a cancel() method
8195628: Documentation for lock(), trylock(), lockInterruptibly​()  of ReentrantReadWriteLock.WriteLock needs to be corrected
8333172: Document a recommendation to use VarHandles instead of java.util.concurrent.atomic.*FieldUpdater
6374942: Improve thread safety of collection .equals() methods
7176957: ExecutorService submit method javaDoc enhancement
8172177: Improve documentation for CompletionException handling
6714849: ReentrantReadWriteLock: Abnormal behavior in non-fair mode
6625724: Allow ReentrantReadWriteLock to not track per-thread read holds
6526284: Improve AbstractExecutorService javadoc
8137156: Javadoc for Future is misleading with respect to cancellation
6663476: FutureTask.get() may return null if set() is not called from run()
8311131: ConcurrentHashMap.forEachKey parallelismThreshold description could be clearer

Reviewed-by: alanb
2025-06-26 12:04:42 +00:00
Albert Mingkun Yang
5a1301df19 8360548: Parallel: Remove outdated comments in MutableNUMASpace::bias_region
Reviewed-by: tschatzl
2025-06-26 09:15:32 +00:00
Anton Artemov
5039b42de1 8359437: Make users and test suite not able to set LockingMode flag
8358542: Remove RTM test VMProps

Co-authored-by: Fredrik Bredberg <fbredberg@openjdk.org>
Reviewed-by: coleenp, lmesnik, fbredberg, alanb, dholmes
2025-06-26 07:41:22 +00:00
David Holmes
1ca008fd02 8360255: runtime/jni/checked/TestLargeUTF8Length.java fails with -XX:-CompactStrings
Reviewed-by: shade, kbarrett
2025-06-26 01:02:03 +00:00
Dean Long
cf75f1f9c6 8358821: patch_verified_entry causes problems, use nmethod entry barriers instead
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Co-authored-by: Amit Kumar <amitkumar@openjdk.org>
Reviewed-by: mdoerr, eosterlund
2025-06-25 19:25:34 +00:00
Serguei Spitsyn
52526080ba 8225354: serviceability/jvmti/ModuleAwareAgents/ThreadStart failed with Didn't get ThreadStart events in VM early start phase!
Reviewed-by: amenkov, cjplummer
2025-06-25 19:21:14 +00:00
Chen Liang
f799cf180a 8360303: Remove two unused invoke files
Reviewed-by: rriggs, jrose
2025-06-25 18:48:47 +00:00
Kim Barrett
56c75453cd 8352565: Add native method implementation of Reference.get()
Reviewed-by: vlivanov, tschatzl, lmesnik
2025-06-25 18:22:06 +00:00
Naoto Sato
7447276475 8360045: StringTokenizer.hasMoreTokens() throws NPE after nextToken(null)
Reviewed-by: liach, alanb
2025-06-25 16:02:47 +00:00
Paul Hohensee
c90c31b07e 8279005: sun/tools/jstat tests do not check for test case exit codes after JDK-8245129
Reviewed-by: cjplummer, rkennke
2025-06-25 15:52:30 +00:00
Suchismith Roy
52c6044fe4 8349077: Rename GenerationCounters::update_all
Reviewed-by: ayang, stefank
2025-06-25 15:39:57 +00:00
Albert Mingkun Yang
4e1bf31368 8360523: Parallel: Remove unused local variable in MutableNUMASpace::initialize
Reviewed-by: stefank, kbarrett
2025-06-25 15:36:02 +00:00
Kim Barrett
878497fb85 8360178: TestArguments.atojulong gtest has incorrect format string
Reviewed-by: dholmes
2025-06-25 15:16:44 +00:00
Manuel Hässig
f2ef809719 8354727: CompilationPolicy creates too many compiler threads when code cache space is scarce
Co-authored-by: Aleksey Shipilev <shade@openjdk.org>
Reviewed-by: kvn, shade
2025-06-25 13:00:08 +00:00
Michael McMahon
1fa090524a 8359268: 3 JNI exception pending defect groups in 2 files
Reviewed-by: djelinski
2025-06-25 09:45:57 +00:00
Martin Doerr
f71d64fbeb 8360405: [PPC64] some environments don't support mfdscr instruction
Reviewed-by: haosun, rrich
2025-06-25 08:59:46 +00:00
Casper Norrbin
850bc20306 8356868: Not all cgroup parameters are made available
Reviewed-by: sgehwolf, gziemski
2025-06-25 08:32:51 +00:00
Roman Kennke
75ce44aa84 8355319: Update Manpage for Compact Object Headers (Production)
Reviewed-by: coleenp, dholmes, phh
2025-06-25 08:09:03 +00:00
Igor Veresov
5c4f92ba9a 8359788: Internal Error: assert(get_instanceKlass()->is_loaded()) failed: must be at least loaded
Reviewed-by: kvn, thartmann
2025-06-25 06:45:32 +00:00
Amit Kumar
263e32bb85 8358694: VM asserts if CodeCacheSegmentSize is not a power of 2
Reviewed-by: shade, dfenacci
2025-06-25 04:39:07 +00:00
Xiaohong Gong
7d6c902ce8 8357726: Improve C2 to recognize counted loops with multiple casts in trip counter
Reviewed-by: chagedorn, epeter, galder
2025-06-25 01:16:08 +00:00
Brian Burkhalter
5091057614 8351010: Test java/io/File/GetXSpace.java failed: / usable space 56380809216 > free space 14912244940
Reviewed-by: lancea, rriggs
2025-06-24 23:50:35 +00:00
David Beaumont
ba0c12231b 8359808: JavaRuntimeURLConnection should only connect to non-directory resources
Reviewed-by: alanb, rriggs
2025-06-24 18:40:24 +00:00
Markus Grönlund
cbcf401170 8360403: Disable constant pool ID assert during troubleshooting
Reviewed-by: egahlin
2025-06-24 16:11:40 +00:00
Hannes Wallnöfer
f8de5bc582 8328848: Inaccuracy in the documentation of the -group option
Reviewed-by: liach
2025-06-24 15:50:51 +00:00
Hannes Wallnöfer
9a726df373 8359024: Accessibility bugs in API documentation
Reviewed-by: vyazici, liach
2025-06-24 15:48:31 +00:00
Artur Barashev
2af869b193 8156715: TrustStoreManager does not buffer keystore input stream
Reviewed-by: ascarpino
2025-06-24 15:32:13 +00:00
Aleksey Shipilev
5c1f77fab1 8360201: JFR: Initialize JfrThreadLocal::_sampling_critical_section
Reviewed-by: zgu, mgronlun
2025-06-24 15:05:40 +00:00
Gautham Krishnan
54acadbe66 8294226: Document missing UnsupportedTemporalTypeException
Reviewed-by: rriggs, naoto
2025-06-24 14:53:14 +00:00
Kim Barrett
0514cee6c8 8360177: ParallelArguments::initialize has incorrect format string
Reviewed-by: tschatzl, sangheki
2025-06-24 14:27:47 +00:00
Coleen Phillimore
28e96e333b 8359920: Use names for frame types in stackmaps
Reviewed-by: dholmes, jsjolen, matsaave, sspitsyn
2025-06-24 12:31:04 +00:00
Afshin Zafari
f5201ac117 8359959: Test runtime/NMT/VirtualAllocTestType.java failed: '\\[0x[0]*7f7dc4043000 - 0x[0]*7f7dc4083000\\] reserved 256KB for Test' missing from stdout/stderr
Reviewed-by: jsjolen, dholmes
2025-06-24 11:17:48 +00:00
Albert Mingkun Yang
a3609ba5ac 8360324: Parallel: Remove unused local variable in MutableNUMASpace::set_top
Reviewed-by: tschatzl
2025-06-24 10:34:14 +00:00
Michael McMahon
116b8543b0 8351983: HttpCookie Parser Incorrectly Handles Cookies with Expires Attribute
Reviewed-by: dfuchs, vyazici
2025-06-24 09:15:58 +00:00
David Beaumont
fdfc557878 8360131: Remove use of soon-to-be-removed APIs by CTW framework
Reviewed-by: liach, thartmann
2025-06-24 08:09:53 +00:00
Albert Mingkun Yang
54fec2b98b 8360220: Deprecate and obsolete ParallelRefProcBalancingEnabled
Reviewed-by: kbarrett, tschatzl
2025-06-24 07:34:15 +00:00
Manuel Hässig
03d66d9ee2 8358572: C1 hits "need debug information" assert with -XX:-DeoptC1
Reviewed-by: shade, aph
2025-06-24 07:00:45 +00:00
Manuel Hässig
f6ff38ab42 8353815: [ubsan] compilationPolicy.cpp: division by zero related to tiered compilation flags
Reviewed-by: mbaesken, kvn
2025-06-24 06:55:05 +00:00
Daniel Jeliński
dbbfa76b73 8131136: java/awt/font/JNICheck/JNICheck.sh issue warning on core-libs code
Reviewed-by: aivanov, prr, serb
2025-06-24 06:09:17 +00:00
Jaikiran Pai
9af36b13c5 8360307: Problemlist tools/sincechecker/modules/jdk.management.jfr/JdkManagementJfrCheckSince.java
Reviewed-by: dholmes, liach
2025-06-24 05:19:18 +00:00
Anjian Wen
34412da52b 8360179: RISC-V: Only enable BigInteger intrinsics when AvoidUnalignedAccess == false
Reviewed-by: fjiang, fyang
2025-06-24 03:08:50 +00:00
Chad Rakoczy
a350a1115a 8358655: AArch64: Simplify Interpreter::profile_taken_branch
Reviewed-by: shade, aph
2025-06-24 02:34:53 +00:00
Manukumar V S
bcad87eacb 8358697: TextLayout/MyanmarTextTest.java passes if no Myanmar font is found
Reviewed-by: aivanov
2025-06-24 02:20:49 +00:00
Nizar Benalla
2a70a6dc58 8346886: Add since checker test to jdk.management.jfr
Reviewed-by: egahlin
2025-06-23 22:24:57 +00:00
Kim Barrett
6df0f5e390 8360281: VMError::error_string has incorrect format usage
Reviewed-by: coleenp
2025-06-23 18:19:01 +00:00
Naoto Sato
9c3eaa49f7 8359732: Make standard i/o encoding related system properties StaticProperty
Reviewed-by: rriggs, alanb, vyazici
2025-06-23 16:16:28 +00:00
Justin Lu
dfcea0547e 8358729: jdk/internal/loader/URLClassPath/ClassnameCharTest.java depends on Applet
Reviewed-by: jpai, lancea
2025-06-23 14:26:02 +00:00
Jonas Norlinder
c748d358b2 8360024: Reorganize GC VM operations and implement is_gc_operation
Reviewed-by: tschatzl, dholmes
2025-06-23 12:49:59 +00:00
Aleksey Shipilev
72679c94ee 8360042: GHA: Bump MSVC to 14.44
Reviewed-by: erikj, ihse
2025-06-23 12:46:32 +00:00
Erik Gahlin
10e6eec9e6 8360039: JFR: Improve parser logging of constants
Reviewed-by: mgronlun
2025-06-23 11:09:11 +00:00
Nikita Gubarkov
251f2ac785 8355904: Use variadic macros for J2dTrace
Reviewed-by: aivanov, serb, prr, avu
2025-06-23 10:52:07 +00:00
Andrey Turbanov
fe7ec31259 8359996: Remove unnecessary List.indexOf key from Track.remove
Reviewed-by: aivanov, liach, azvegint
2025-06-23 08:32:02 +00:00
Albert Mingkun Yang
516197f50b 8359924: Deprecate and obsolete ParallelRefProcEnabled
Reviewed-by: tschatzl, kbarrett, dholmes
2025-06-23 08:27:13 +00:00
Dingli Zhang
ad1033d68f 8360169: Problem list CodeInvalidationReasonTest.java on linux-riscv64 until JDK-8360168 is fixed
Reviewed-by: fyang, fjiang, syan, dnsimon
2025-06-23 08:02:40 +00:00
Benoît Maillard
c220b1358c 8356865: C2: Unreasonable values for debug flag FastAllocateSizeLimit can lead to left-shift-overflow, which is UB
Reviewed-by: epeter, mhaessig
2025-06-23 07:52:02 +00:00
Manuel Hässig
9ae39b62b9 8355276: Sort C2 includes
Reviewed-by: kvn, thartmann
2025-06-23 07:47:17 +00:00
Johan Sjölen
3d35b408e1 8357220: Introduce a BSMAttributeEntry struct
Co-authored-by: John R Rose <jrose@openjdk.org>
Reviewed-by: sspitsyn, coleenp, matsaave
2025-06-23 07:05:33 +00:00
Srinivas Mandalika
de34bb8e66 8359687: Use PassFailJFrame for java/awt/print/Dialog/DialogType.java
Reviewed-by: abhiscxk, aivanov
2025-06-23 04:54:43 +00:00
Anjian Wen
620df7ec34 8359801: RISC-V: Simplify Interpreter::profile_taken_branch
Reviewed-by: fyang, fjiang
2025-06-23 02:31:53 +00:00
Fei Yang
6b4393917a 8359270: C2: alignment check should consider base offset when emitting arraycopy runtime call
Reviewed-by: thartmann, kvn
2025-06-23 00:33:34 +00:00
Phil Race
81985d422d 8358526: Clarify behavior of java.awt.HeadlessException constructed with no-args
Reviewed-by: aivanov, honkar
2025-06-20 22:22:41 +00:00
Daniel D. Daugherty
d627282f0c 8360143: ProblemList runtime/NMT/VirtualAllocTestType.java
Reviewed-by: rriggs
2025-06-20 19:53:17 +00:00
Kim Barrett
96f71a9a6b 8255082: HotSpot Style Guide should permit noexcept
Reviewed-by: kvn, dholmes, dcubed
2025-06-20 19:48:41 +00:00
William Kemper
17cf49746d 8357550: GenShen crashes during freeze: assert(!chunk->requires_barriers()) failed
Reviewed-by: kdnilsen, shade
2025-06-20 17:08:08 +00:00
Vladimir Petko
c6ab63d306 8359735: [Ubuntu 25.10] java/lang/ProcessBuilder/Basic.java, java/lang/ProcessHandle/InfoTest.java fail due to rust-coreutils
Reviewed-by: rriggs
2025-06-20 13:51:55 +00:00
Doug Simon
ff54a6493a 8360049: CodeInvalidationReasonTest.java fails with ZGC on AArch64
Reviewed-by: aph, shade
2025-06-20 13:25:38 +00:00
Roland Westrelin
c11f36e620 8356708: C2: loop strip mining expansion doesn't take sunk stores into account
Reviewed-by: rcastanedalo, epeter
2025-06-20 11:24:17 +00:00
Shruthi
8f121a173c 8317801: java/net/Socket/asyncClose/Race.java fails intermittently (aix)
Reviewed-by: alanb, jkern
2025-06-20 10:13:01 +00:00
Tobias Hartmann
33970629ac 8360069: Problem list CodeInvalidationReasonTest.java until JDK-8360049 is fixed
Reviewed-by: dholmes
2025-06-20 05:35:10 +00:00
Prasanta Sadhukhan
c51bed739d 8335986: Test javax/swing/JCheckBox/4449413/bug4449413.java fails on Windows 11 x64 because RBMenuItem's and CBMenuItem's checkmark on the left side are not visible
Reviewed-by: tr
2025-06-20 03:09:57 +00:00
Manuel Hässig
a6464b74a8 8358578: Small -XX:NMethodSizeLimit triggers "not in CodeBuffer memory" assert in C1
Reviewed-by: kvn, syan, thartmann
2025-06-20 01:33:54 +00:00
Albert Mingkun Yang
0dd50dbb3e 8359825: Parallel: Simplify MutableNUMASpace::ensure_parsability
Reviewed-by: tschatzl, sangheki
2025-06-19 19:43:24 +00:00
William Kemper
dec42bebb8 8359394: GC cause cleanup
Reviewed-by: shade, ysr, stefank
2025-06-19 18:40:32 +00:00
Cesar Soares Lucas
2fe1298447 8359064: Expose reason for marking nmethod non-entrant to JVMCI client
Reviewed-by: dnsimon, never
2025-06-19 18:02:41 +00:00
Yudi Zheng
2e3bdec985 8358686: CDS and AOT can cause buffer truncation warning even when logging is disabled
Reviewed-by: dnsimon, iklam
2025-06-19 15:49:49 +00:00
Nizar Benalla
c4fb00a7be 8358769: Update --release 25 symbol information for JDK 25 build 26
Reviewed-by: darcy, iris
2025-06-19 10:38:24 +00:00
Kim Barrett
01d4b772de 8319242: HotSpot Style Guide should discourage non-local variables with non-trivial initialization or destruction
Reviewed-by: stefank, dcubed, dholmes
2025-06-19 10:20:49 +00:00
Manuel Hässig
c7125aa2af 8020282: Generated code quality: redundant LEAs in the chained dereferences
Co-authored-by: Roberto Castañeda Lozano <rcastanedalo@openjdk.org>
Reviewed-by: kvn, rcastanedalo
2025-06-19 09:36:29 +00:00
Ana Maria Mihalceanu
0dce98b716 8359123: Misleading examples in jmod man page
Reviewed-by: cstein, alanb, iris
2025-06-19 07:45:04 +00:00
Tobias Hartmann
08b1fa4cb3 8359972: Problem list TestStaticCallStub until JDK-8359963 is fixed
Reviewed-by: mchevalier, chagedorn
2025-06-19 05:35:51 +00:00
Sergey Bylokhov
23e1e2ff4a 8359180: Apply java.io.Serial annotations in java.instrument
Reviewed-by: phh, sspitsyn
2025-06-18 22:54:05 +00:00
Andrey Turbanov
5a62e99523 8357686: Remove unnecessary Map.get from AWTAutoShutdown.unregisterPeer
Reviewed-by: serb, aivanov
2025-06-18 20:58:01 +00:00
Chris Plummer
982064e50c 8359167: Remove unused test/hotspot/jtreg/vmTestbase/nsk/share/jpda/BindServer.java
Reviewed-by: sspitsyn, lmesnik
2025-06-18 18:43:38 +00:00
Srinivas Vamsi Parasa
b52af182c4 8359386: Fix incorrect value for max_size of C2CodeStub when APX is used
Reviewed-by: thartmann, shade, jbhateja, sviswanathan
2025-06-18 18:30:06 +00:00
Kim Barrett
7bc0d82450 8359227: Code cache/heap size options should be size_t
Reviewed-by: mhaessig, tschatzl
2025-06-18 18:05:18 +00:00
Manukumar V S
b7fcd0b235 8359889: java/awt/MenuItem/SetLabelTest.java inadvertently triggers clicks on items pinned to the taskbar
Reviewed-by: aivanov, kizune
2025-06-18 16:41:31 +00:00
Erik Gahlin
984d7f9cdf 8359895: JFR: method-timing view doesn't work
Reviewed-by: mgronlun
2025-06-18 14:43:55 +00:00
Joel Sikström
42d3604a31 8359923: Const accessors for the Deferred class
Reviewed-by: jsjolen
2025-06-18 14:07:25 +00:00
Casper Norrbin
cf78925859 8358891: Remove the PerfDataSamplingIntervalFunc code
Reviewed-by: shade, jwilhelm
2025-06-18 13:58:45 +00:00
Mikhail Ablakatov
ba32b78bfa 8358329: AArch64: emit direct branches in static stubs for small code caches
Reviewed-by: aph, eastigeevich
2025-06-18 11:48:45 +00:00
Afshin Zafari
547ce03016 8337217: Port VirtualMemoryTracker to use VMATree
Reviewed-by: jsjolen, gziemski
2025-06-18 11:37:48 +00:00
He-Pin(kerr)
f07f5ce984 8359067: Fix typo in DelayScheduler.java
Reviewed-by: syan, dl, rriggs, vklang
2025-06-18 11:26:00 +00:00
Matthew Donovan
cabd7c1f7a 8356897: Update NSS library to 3.111
Reviewed-by: rhalade
2025-06-18 11:24:54 +00:00
Jaikiran Pai
57266064a7 8359709: java.net.HttpURLConnection sends unexpected "Host" request header in some cases after JDK-8344190
Reviewed-by: dfuchs, djelinski, michaelm, vyazici
2025-06-18 09:03:25 +00:00
Prasanta Sadhukhan
2b94b70ef5 8359428: Test 'javax/swing/JTabbedPane/bug4499556.java' failed because after selecting one of L&F items, the test case automatically failed when clicking on L&F Menu button again
Reviewed-by: abhiscxk
2025-06-18 05:08:06 +00:00
Prasanta Sadhukhan
1130c1bc33 6798061: The removal of System.out.println from KeyboardManager
Reviewed-by: prr
2025-06-18 02:56:48 +00:00
Jaikiran Pai
2f63d3aee5 7116990: (spec) Socket.connect(addr,timeout) not clear if IOException because of TCP timeout
Reviewed-by: alanb, dfuchs
2025-06-18 02:06:22 +00:00
William Kemper
382f870cd5 8357976: GenShen crash in swap_card_tables: Should be clean
Reviewed-by: kdnilsen, cslucas, ysr, xpeng
2025-06-17 21:15:25 +00:00
lawrence.andrews
8c760e78b9 8359418: Test "javax/swing/text/GlyphView/bug4188841.java" failed because the phrase of text pane does not match the instructions
Reviewed-by: honkar
2025-06-17 20:42:42 +00:00
Thomas Stuefe
afa52e4681 8210549: Runtime.exec: in closeDescriptors(), use FD_CLOEXEC instead of close()
Reviewed-by: rriggs
2025-06-17 20:23:20 +00:00
Serguei Spitsyn
164cae469c 8359733: UnProblemList serviceability/jvmti/vthread/SuspendWithInterruptLock
Reviewed-by: syan, dholmes, lmesnik
2025-06-17 19:22:14 +00:00
dermster
49a82d8806 8359449: [TEST] open/test/jdk/java/io/File/SymLinks.java Refactor extract method for Windows specific test
Reviewed-by: bpb
2025-06-17 18:21:40 +00:00
Vladimir Kozlov
96070212ad 8359646: C1 crash in AOTCodeAddressTable::add_C_string
Reviewed-by: adinn, iklam
2025-06-17 15:55:14 +00:00
Alexey Ivanov
53a83d15a1 8357799: Improve instructions for JFileChooser/HTMLFileName.java
Reviewed-by: honkar, tr, kizune
2025-06-17 14:09:11 +00:00
Christian Stein
21b72dea78 8357862: Java argument file is parsed unexpectedly with trailing comment
Co-authored-by: Stuart Marks <smarks@openjdk.org>
Reviewed-by: vromero
2025-06-17 14:01:06 +00:00
SendaoYan
51877f568b 8359207: Remove runtime/signal/TestSigusr2.java since it is always skipped
Reviewed-by: dcubed, dholmes
2025-06-17 13:50:01 +00:00
Anton Artemov
c1deb9eebf 8356556: AArch64: No need for acquire fence in safepoint poll in FFM
Reviewed-by: dholmes, pchilanomate
2025-06-17 13:46:13 +00:00
Albert Mingkun Yang
f62f1178aa 8359701: G1: Move heap expansion time tracking of G1CollectedHeap:expand to call site
Reviewed-by: tschatzl, iwalulya
2025-06-17 12:32:17 +00:00
David Briemann
a08208283b 8354650: [PPC64] Try to reduce register definitions
Reviewed-by: mdoerr, sroy
2025-06-17 10:01:36 +00:00
Jaikiran Pai
f7cd3fad24 8332623: Remove setTTL()/getTTL() methods from DatagramSocketImpl/MulticastSocket and MulticastSocket.send(DatagramPacket, byte)
Reviewed-by: dfuchs, alanb
2025-06-17 08:32:17 +00:00
Jatin Bhateja
ff75f763c0 8351645: C2: Assertion failures in Expand/CompressBits idealizations with TOP
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: epeter, sviswanathan
2025-06-17 07:16:19 +00:00
SendaoYan
a16d23557b 8359402: Test CloseDescriptors.java should throw SkippedException when there is no lsof/sctp
Reviewed-by: vyazici, jpai
2025-06-17 05:38:59 +00:00
Volkan Yazici
e55ddabffa 8359223: HttpClient: Remove leftovers from the SecurityManager cleanup
Reviewed-by: dfuchs
2025-06-16 18:20:28 +00:00
Brian Burkhalter
9a1c1f2efb 8357847: (ch) AsynchronousFileChannel implementations should support FFM Buffers
Reviewed-by: alanb
2025-06-16 17:56:27 +00:00
Erik Gahlin
e57a214e2a 8359242: JFR: Missing help text for method trace and timing
Reviewed-by: mgronlun
2025-06-16 16:52:17 +00:00
Erik Gahlin
2f2acb2e3f 8359593: JFR: Instrumentation of java.lang.String corrupts recording
Reviewed-by: mgronlun
2025-06-16 16:10:59 +00:00
Stuart Marks
06d804a0f0 8338140: (str) Add notes to String.trim and String.isEmpty pointing to newer APIs
Reviewed-by: naoto, bpb
2025-06-16 15:56:08 +00:00
Vladimir Kozlov
6e390ef17c 8358690: Some initialization code asks for AOT cache status way too early
Reviewed-by: asmehra, adinn
2025-06-16 15:55:51 +00:00
Kevin Walls
9652ae9a8d 8347114: JMXServiceURL should require an explicit protocol
Reviewed-by: dfuchs, sspitsyn
2025-06-16 15:25:51 +00:00
Albert Mingkun Yang
59460ff700 8359664: G1: Remove default arg for pretouch_workers of G1CollectedHeap::expand
Reviewed-by: tschatzl
2025-06-16 15:20:48 +00:00
Hamlin Li
9d060574e5 8358892: RISC-V: jvm crash when running dacapo sunflow after JDK-8352504
8359045: RISC-V: construct test to verify invocation of C2_MacroAssembler::enc_cmove_cmp_fp => BoolTest::ge/gt

Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: fyang, fjiang
2025-06-16 10:20:25 +00:00
Erik Gahlin
fedd0a0ee3 8359248: JFR: Help text for-XX:StartFlightRecording:report-on-exit should explain option can be repeated
Reviewed-by: mgronlun
2025-06-16 09:09:55 +00:00
Suchismith Roy
79497ef7f5 8348574: Simplify c1/c2_globals inclusions
Reviewed-by: mhaessig, kbarrett
2025-06-16 08:30:41 +00:00
Kevin Walls
8416ca3104 8346982: Remove JMX javadoc duplication that was in place due to JDK-6369229
Reviewed-by: amenkov
2025-06-16 07:29:24 +00:00
Benoît Maillard
d8c3533a91 8357816: Add test from JDK-8350576
Co-authored-by: Tobias Hartmann <thartmann@openjdk.org>
Reviewed-by: syan, thartmann, epeter
2025-06-16 07:29:06 +00:00
Volkan Yazici
eacfcd86d3 8357995: Use "stdin.encoding" for reading System.in with InputStreamReader/Scanner [core]
Reviewed-by: naoto, cjplummer
2025-06-16 07:27:05 +00:00
Damon Fenacci
534a8605e5 8358129: compiler/startup/StartupOutput.java runs into out of memory on Windows after JDK-8347406
Reviewed-by: thartmann, epeter
2025-06-16 06:11:08 +00:00
Tejesh R
6fe9143bbb 8358532: JFileChooser in GTK L&F still displays HTML filename
Reviewed-by: aivanov, dnguyen, kizune
2025-06-16 05:27:52 +00:00
Anjian Wen
1a01839f8c 8359105: RISC-V: No need for acquire fence in safepoint poll during JNI calls
Reviewed-by: rehn, fyang, fjiang
2025-06-16 03:32:40 +00:00
Raffaello Giulietti
26848a7d6c 8358804: Improve the API Note of BigDecimal.valueOf(double)
Reviewed-by: bpb, darcy, iris
2025-06-14 08:15:12 +00:00
Archie Cobbs
0e725c6fb1 8354447: Missing test for retroactive @SuppressWarnings("dangling-doc-comments") behavior
Reviewed-by: darcy
2025-06-13 21:42:17 +00:00
Alex Menkov
b3f56086c9 8358094: Test vmTestbase/nsk/jvmti/AttachOnDemand/attach045/TestDescription.java still times out after JDK-8357282
Reviewed-by: sspitsyn, cjplummer, lmesnik
2025-06-13 17:15:41 +00:00
Andrew Dinn
ee35f6384f 8359373: Split stubgen initial blob into pre and post-universe blobs
Reviewed-by: kvn
2025-06-13 16:52:40 +00:00
Vladimir Kozlov
12a0dd03b8 8358738: AOT cache created without graal jit should not be used with graal jit
Reviewed-by: iklam, ccheung
2025-06-13 16:20:11 +00:00
Ioi Lam
366650a438 8355556: JVM crash because archived method handle intrinsics are not restored
Reviewed-by: adinn, vlivanov, shade
2025-06-13 16:11:49 +00:00
dermster
78b1360e7d 8359127: Amend java/nio/channels/DatagramChannel/PromiscuousIPv6.java to use @requires for OS platform selection
Reviewed-by: djelinski, dfuchs
2025-06-13 15:57:00 +00:00
Albert Mingkun Yang
417f8ecf07 8359224: G1: Incorrect size unit in logging of G1CollectedHeap::alloc_archive_region
Reviewed-by: tschatzl, shade
2025-06-13 13:40:43 +00:00
Daniel Fuchs
57cabc6d74 8359364: java/net/URL/EarlyOrDelayedParsing test fails intermittently
Reviewed-by: vyazici, syan, alanb
2025-06-13 13:15:47 +00:00
Manuel Hässig
b4c4496ef8 8354196: C2: reorder and capitalize phase definition
Reviewed-by: chagedorn, mchevalier
2025-06-13 13:02:27 +00:00
Sean Mullan
b5334fe237 8314180: Disable XPath in XML Signatures
Reviewed-by: weijun
2025-06-13 12:15:27 +00:00
Manuel Hässig
e8ef93ae9d 8357782: JVM JIT Causes Static Initialization Order Issue
Co-authored-by: Tobias Hartmann <thartmann@openjdk.org>
Reviewed-by: thartmann, dlong, dfenacci
2025-06-13 11:16:36 +00:00
Erik Gahlin
25b22c9b55 8358602: JFR: Annotations in jdk.jfr package should not use "not null" in specification
Reviewed-by: mgronlun
2025-06-13 10:47:26 +00:00
Prateek Nima
ead4529c92 8340182: Java HttpClient does not follow default retry limit of 3 retries
Reviewed-by: dfuchs
2025-06-13 10:32:50 +00:00
Volkan Yazici
3a1887269b 8359225: Remove unused test/jdk/javax/script/MyContext.java
Reviewed-by: sundar
2025-06-13 09:12:02 +00:00
Jatin Bhateja
e7f63ba310 8359327: Incorrect AVX3Threshold results into code buffer overflows on APX targets
Reviewed-by: sviswanathan
2025-06-13 09:01:09 +00:00
SendaoYan
a0fb35c837 8359272: Several vmTestbase/compact tests timed out on large memory machine
Reviewed-by: tschatzl, ayang
2025-06-13 08:46:12 +00:00
Albert Mingkun Yang
032ead1d90 8358483: G1: Remove G1HeapRegionManager::num_available_regions
Reviewed-by: tschatzl, sangheki
2025-06-13 08:03:33 +00:00
Doug Simon
a8b4284848 8359293: Make TestNoNULL extensible
Reviewed-by: kbarrett
2025-06-13 08:01:18 +00:00
Tobias Hartmann
ed39e17e34 8359200: Memory corruption in MStack::push
Reviewed-by: shade, kvn
2025-06-13 07:45:18 +00:00
Emanuel Peter
6749c62b9e 8358772: Template-Framework Library: Primitive Types
Reviewed-by: mhaessig, chagedorn
2025-06-13 06:55:48 +00:00
Alan Bateman
9aeacf2de5 8358958: (aio) AsynchronousByteChannel.read/write should throw IAE if buffer is thread-confined
Reviewed-by: jpai, bpb
2025-06-13 06:33:42 +00:00
Quan Anh Mai
991097b7bf 8315066: Add unsigned bounds and known bits to TypeInt/Long
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: epeter, kvn, jbhateja
2025-06-13 01:05:44 +00:00
Kevin Walls
523a4efe1c 8358970: CounterMonitorMBean.getDerivedGaugeTimeStamp() JavaDoc incorrectly documents null
Reviewed-by: sspitsyn, lmesnik
2025-06-12 20:23:28 +00:00
Brian Burkhalter
0dd7c69b9e 8357286: (bf) Remove obsolete instanceof checks in CharBuffer.append
Reviewed-by: alanb
2025-06-12 20:21:50 +00:00
Kevin Walls
66535fe26d 8358701: Remove misleading javax.management.remote API doc wording about JMX spec, and historic link to JMXMP
Reviewed-by: alanb, sspitsyn
2025-06-12 20:06:19 +00:00
Koushik Thirupattur
db7af2b3c3 8349550: Improve SASL random usage
Reviewed-by: mullan
2025-06-12 19:31:15 +00:00
Naoto Sato
99829950f6 8358819: The first year is not displayed correctly in Japanese Calendar
Reviewed-by: jlu, joehw, iris
2025-06-12 18:04:14 +00:00
Volkan Yazici
0ef0986731 8359168: Revert stdin.encoding usage in test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach010/attach010Agent00.java
Reviewed-by: cjplummer
2025-06-12 17:12:04 +00:00
Volkan Yazici
610a18e7b3 8358688: HttpClient: Simplify file streaming in RequestPublishers.FilePublisher
Reviewed-by: dfuchs, jpai
2025-06-12 17:10:57 +00:00
jeremy
8d33ea7395 8354646: java.awt.TextField allows to identify the spaces in a password when double clicked at the starting and end of the text
Reviewed-by: aivanov, kizune, tr, psadhukhan
2025-06-12 16:11:35 +00:00
David Briemann
3c53057fa6 8359232: [PPC64] C2: Clean up ppc.ad: add instr sizes, remove comments
Reviewed-by: mdoerr
2025-06-12 15:27:44 +00:00
Roland Westrelin
1fcede053c 8358334: C2/Shenandoah: incorrect execution with Unsafe
Reviewed-by: wkemper, shade
2025-06-12 15:02:38 +00:00
Afshin Zafari
fae9c7a3f0 8351661: NMT: VMATree should support separate call-stacks for reserve and commit operations
Reviewed-by: gziemski, jsjolen
2025-06-12 14:46:39 +00:00
Emanuel Peter
dd68829017 8347273: C2: VerifyIterativeGVN for Ideal and Identity
Reviewed-by: chagedorn, mhaessig
2025-06-12 14:19:08 +00:00
Emanuel Peter
b85fe02be5 8358600: Template-Framework Library: Template for TestFramework test class
Reviewed-by: chagedorn, mhaessig
2025-06-12 14:12:14 +00:00
Radim Vansa
e18277b470 8352075: Perf regression accessing fields
Reviewed-by: coleenp, iklam, jsjolen
2025-06-12 12:29:15 +00:00
Rohitash Kumar
e5ce5c57c8 8357959: (bf) ByteBuffer.allocateDirect initialization can result in large TTSP spikes
Reviewed-by: shade, alanb
2025-06-12 12:23:42 +00:00
kabutz
91fdd72c97 8355726: LinkedBlockingDeque fixes and improvements
Reviewed-by: vklang, dl
2025-06-12 11:44:04 +00:00
Marc Chevalier
b6ec93b038 8359121: C2: Region added by vectorizedMismatch intrinsic can survive as a dead node after IGVN
Reviewed-by: thartmann, chagedorn
2025-06-12 11:40:31 +00:00
Anjian Wen
65e63b6ab4 8359218: RISC-V: Only enable CRC32 intrinsic when AvoidUnalignedAccess == false
Reviewed-by: fyang, fjiang
2025-06-12 10:44:47 +00:00
Johannes Bechberger
3f0fef2c9c 8359135: New test TestCPUTimeSampleThrottling fails intermittently
Reviewed-by: mdoerr
2025-06-12 08:54:21 +00:00
SendaoYan
3e0ef832cc 8359083: Test jdkCheckHtml.java should report SkippedException rather than report fails when miss tidy
Reviewed-by: hannesw
2025-06-12 08:18:00 +00:00
SendaoYan
7b7136b4ec 8359181: Error messages generated by configure --help after 8301197
Reviewed-by: erikj, ihse
2025-06-12 08:10:27 +00:00
SendaoYan
5886ef728f 8359182: Use @requires instead of SkippedException for MaxPath.java
Reviewed-by: bpb, bchristi
2025-06-12 07:51:29 +00:00
Matthias Baesken
d7aa349820 8357826: Avoid running some jtreg tests when asan is configured
Reviewed-by: sspitsyn, amitkumar, lmesnik, syan, lucy, cjplummer
2025-06-12 07:08:39 +00:00
Ioi Lam
3b32f6a8ec 8344556: [Graal] compiler/intrinsics/bmi/* fail when AOTCache cannot be loaded
Reviewed-by: dnsimon, kvn
2025-06-12 00:41:39 +00:00
Serguei Spitsyn
8f73357004 8358815: Exception event spec has stale reference to catch_klass parameter
Reviewed-by: cjplummer, alanb
2025-06-11 18:51:54 +00:00
Calvin Cheung
429158218b 8357382: runtime/cds/appcds/aotClassLinking/BulkLoaderTest.java#aot fails with Xcomp and C1
Reviewed-by: iklam, kvn
2025-06-11 18:10:34 +00:00
Mohamed Issa
ef4cbec6fb 8358556: Assert when running with -XX:-UseLibmIntrinsic
Reviewed-by: sviswanathan, kvn
2025-06-11 17:47:03 +00:00
Naoto Sato
e9216efefc 8358734: Remove JavaTimeSupplementary resource bundles
Reviewed-by: jlu, joehw, iris
2025-06-11 16:04:26 +00:00
Alan Bateman
e5196fc24d 8358764: (sc) SocketChannel.close when thread blocked in read causes connection to be reset (win)
Reviewed-by: jpai, vyazici
2025-06-11 14:09:45 +00:00
Jatin Bhateja
c98dffa186 8357982: Fix several failing BMI tests with -XX:+UseAPX
Reviewed-by: epeter, sviswanathan
2025-06-11 13:48:56 +00:00
Matthias Baesken
7d7fc69355 8357570: [macOS] os::Bsd::available_memory() might return too low values
Reviewed-by: clanger, mdoerr, lucy
2025-06-11 13:32:57 +00:00
Anton Artemov
42ab8fcfb9 8265754: Move suspend/resume API from HandshakeState
Reviewed-by: coleenp, dholmes, pchilanomate
2025-06-11 12:42:57 +00:00
Benoît Maillard
bf7d40d048 8356751: IGV: clean up redundant field _should_send_method
Co-authored-by: Manuel Hässig <mhaessig@openjdk.org>
Reviewed-by: mhaessig, thartmann, dfenacci
2025-06-11 11:08:38 +00:00
Khalid Boulanouare
5ae32c4c86 8352149: Test java/awt/Frame/MultiScreenTest.java fails: Window list is empty
Reviewed-by: aivanov, abhiscxk
2025-06-11 10:25:28 +00:00
Martin Doerr
56ce70c5df 8359165: AIX build broken after 8358799
Reviewed-by: kbarrett, jkern
2025-06-11 08:28:48 +00:00
Martin Doerr
abc76c6b5b 8359126: [AIX] new test TestImplicitNullChecks.java fails
Reviewed-by: rcastanedalo, dbriemann
2025-06-11 08:28:31 +00:00
Rajan Halade
9586817cea 8359170: Add 2 TLS and 2 CS Sectigo roots
Reviewed-by: mullan
2025-06-10 21:59:29 +00:00
Albert Mingkun Yang
38b877e941 8358294: Remove unnecessary GenAlignment
Reviewed-by: iwalulya, tschatzl
2025-06-10 20:10:19 +00:00
Alex Menkov
8f487d26c0 8358577: Test serviceability/jvmti/thread/GetCurrentContendedMonitor/contmon01/contmon01.java failed: unexpexcted monitor object
Reviewed-by: cjplummer, syan, sspitsyn
2025-06-10 19:05:08 +00:00
Calvin Cheung
500a3a2d0a 8358799: Refactor os::jvm_path()
Reviewed-by: dholmes, jsjolen
2025-06-10 16:20:33 +00:00
Roland Westrelin
a2f99fd88b 8354383: C2: enable sinking of Type nodes out of loop
Reviewed-by: chagedorn, thartmann
2025-06-10 14:19:19 +00:00
Daniel Fuchs
0582bd290d 8357639: DigestEchoClient fails intermittently due to: java.io.IOException: Data received while in pool
Reviewed-by: djelinski
2025-06-10 11:01:50 +00:00
Varada M
3ff83ec49e 8358159: Empty mode/padding in cipher transformations
Reviewed-by: amitkumar, valeriep
2025-06-10 08:17:52 +00:00
Benoît Maillard
7c9c8ba363 8356780: PhaseMacroExpand::_has_locks is unused
Reviewed-by: mhaessig, chagedorn, kvn, mchevalier
2025-06-10 07:27:10 +00:00
Aleksey Shipilev
ca7b885873 8358749: Fix input checks in Vector API intrinsics
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Reviewed-by: vlivanov, sviswanathan
2025-06-10 06:15:13 +00:00
Matthias Bläsing
92be7821f5 8353950: Clipboard interaction on Windows is unstable
8332271: Reading data from the clipboard from multiple threads crashes the JVM

Reviewed-by: abhiscxk, dnguyen
2025-06-10 00:21:18 +00:00
David Holmes
bcf860703d 8355792: Remove expired flags in JDK 26
Reviewed-by: coleenp, kvn
2025-06-09 22:25:20 +00:00
Ioi Lam
d186dacdb7 8357591: Re-enable CDS test cases for jvmci after JDK-8345826
Reviewed-by: dholmes, kvn
2025-06-09 21:54:55 +00:00
David Holmes
ef45c8154c 8346237: Obsolete the UseOprofile flag
Reviewed-by: coleenp, kvn
2025-06-09 20:59:30 +00:00
Justin Lu
cd9b1bc820 8358426: Improve lazy computation in Locale
Reviewed-by: naoto, liach
2025-06-09 20:49:33 +00:00
Naoto Sato
fcb68ea22d 8358626: Emit UTF-8 CLDR resources
Reviewed-by: erikj, vyazici
2025-06-09 19:03:21 +00:00
Coleen Phillimore
eb256deb80 8358326: Use oopFactory array allocation
Reviewed-by: fparain, stefank
2025-06-09 18:33:00 +00:00
Magnus Ihse Bursie
156187accc 8356978: Convert unicode sequences in Java source code to UTF-8
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: naoto, prr, joehw
2025-06-09 17:58:49 +00:00
kieran-farrell
a377773fa7 8358617: java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java fails with 403 due to system proxies
Reviewed-by: dfuchs
2025-06-09 17:39:39 +00:00
Jiangli Zhou
cae1fd3385 8357632: CDS test failures on static JDK
Reviewed-by: ccheung, dholmes
2025-06-09 16:08:18 +00:00
Phil Race
eb8ee8bdc7 8358731: Remove jdk.internal.access.JavaAWTAccess.java
Reviewed-by: dfuchs, serb
2025-06-09 16:01:18 +00:00
Alexander Zvegintsev
2103dc15cb 8358452: JNI exception pending in Java_sun_awt_screencast_ScreencastHelper_remoteDesktopKeyImpl of screencast_pipewire.c:1214 (ID: 51119)
Reviewed-by: psadhukhan, serb, aivanov, avu
2025-06-09 13:35:01 +00:00
Joel Sikström
1c72b350e4 8357053: ZGC: Improved utility for ZPageAge
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: sjohanss, stefank
2025-06-09 09:03:12 +00:00
Per Minborg
52338c94f6 8358520: Improve lazy computation in BreakIteratorResourceBundle and related classes
Reviewed-by: naoto, jlu
2025-06-09 07:00:51 +00:00
Roberto Castañeda Lozano
91f12600d2 8345067: C2: enable implicit null checks for ZGC reads
Reviewed-by: aboldtch, kvn, epeter
2025-06-09 06:23:17 +00:00
Daniel Skantz
6c616c71ec 8357822: C2: Multiple string optimization tests are no longer testing string concatenation optimizations
Reviewed-by: rcastanedalo, epeter
2025-06-09 06:11:05 +00:00
Kim Barrett
e94ad551c6 8342639: Global operator new in adlc has wrong exception spec
Reviewed-by: kvn, mdoerr
2025-06-07 20:34:34 +00:00
Rajan Halade
d735255919 8345414: Google CAInterop test failures
Reviewed-by: weijun
Backport-of: 8e9ba788ae
2025-06-06 21:35:21 +00:00
Stuart Marks
d024f58e61 8358809: Improve link to stdin.encoding from java.lang.IO
Reviewed-by: naoto
2025-06-06 20:07:43 +00:00
Alexandre Iline
026975a1aa 8358721: Update JCov for class file version 70
Reviewed-by: iris, alanb, erikj
2025-06-06 15:05:43 +00:00
Vicente Romero
8adb052b46 8341778: Some javac tests ignore the result of JavacTask::call
Reviewed-by: shade
2025-06-06 14:11:27 +00:00
Hamlin Li
9658cecde3 8358685: [TEST] AOTLoggingTag.java failed with missing log message
Reviewed-by: iklam, shade
2025-06-06 13:59:17 +00:00
Fernando Guallini
b2e7cda6a0 8358171: Additional code coverage for PEM API
Reviewed-by: ascarpino
2025-06-06 09:53:25 +00:00
Harald Eilertsen
65fda5c02a 8358593: Add ucontext accessors for *BSD on Aarch64
Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Kurt Miller <bsdkurt@gmail.com>
Reviewed-by: aph
2025-06-06 08:16:37 +00:00
Benoît Maillard
d1b788005b 8357951: Remove the IdealLoopTree* loop parameter from PhaseIdealLoop::loop_iv_phi
Reviewed-by: thartmann, mhaessig
2025-06-06 08:16:15 +00:00
Volkan Yazici
bb2611ad43 8357993: Use "stdin.encoding" for reading System.in with InputStreamReader/Scanner [hotspot]
Reviewed-by: cjplummer, sspitsyn
2025-06-06 06:53:10 +00:00
Volkan Yazici
e918a59b1d 8357821: Revert incorrectly named JavaLangAccess::unchecked* methods
Reviewed-by: pminborg
2025-06-06 06:26:09 +00:00
Amit Kumar
28acca609b 8358653: [s390] Clean up comments regarding frame manager
Reviewed-by: mdoerr
2025-06-06 03:50:06 +00:00
Jaikiran Pai
029e3bf8f5 8349914: ZipFile::entries and ZipFile::getInputStream not consistent with each other when there are duplicate entries
Co-authored-by: Lance Andersen <lancea@openjdk.org>
Reviewed-by: lancea
2025-06-06 02:07:51 +00:00
Anthony Scarpino
78158f30ae 8358099: PEM spec updates
Reviewed-by: mullan
2025-06-05 22:13:24 +00:00
Archie Cobbs
c793de989f 8350212: Track source end positions of declarations that support @SuppressWarnings
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Reviewed-by: mcimadamore
2025-06-05 21:57:33 +00:00
Andrey Turbanov
15178aa298 8357688: Remove unnecessary List.get before remove in PopupFactory
Reviewed-by: azvegint, kizune, serb
2025-06-05 20:19:53 +00:00
Christian Stein
fe3be498b8 8357141: Update to use jtreg 7.5.2
Reviewed-by: erikj, ihse, iris
2025-06-05 17:30:01 +00:00
5575 changed files with 268100 additions and 98139 deletions

View File

@@ -65,4 +65,4 @@ runs:
with:
name: bundles-jtreg-${{ steps.version.outputs.value }}
path: jtreg/installed
retention-days: 1
retention-days: 5

View File

@@ -30,15 +30,15 @@ runs:
using: composite
steps:
- name: 'Install MSYS2'
uses: msys2/setup-msys2@v2.22.0
id: msys2
uses: msys2/setup-msys2@v2.28.0
with:
install: 'autoconf tar unzip zip make'
path-type: minimal
location: ${{ runner.tool_cache }}/msys2
release: false
# We can't run bash until this is completed, so stick with pwsh
- name: 'Set MSYS2 path'
run: |
# Prepend msys2/msys64/usr/bin to the PATH
echo "$env:RUNNER_TOOL_CACHE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH
echo "${{ steps.msys2.outputs.msys2-location }}/usr/bin" >> $env:GITHUB_PATH
shell: pwsh

View File

@@ -91,5 +91,5 @@ runs:
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.static-suffix }}${{ inputs.bundle-suffix }}
path: bundles
retention-days: 1
retention-days: 5
if: steps.bundles.outputs.bundles-found == 'true'

View File

@@ -51,6 +51,10 @@ on:
make-arguments:
required: false
type: string
dry-run:
required: false
type: boolean
default: false
jobs:
build-linux:
@@ -104,9 +108,11 @@ jobs:
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
if: ${{ inputs.dry-run == false }}
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
if: ${{ inputs.dry-run == false }}

View File

@@ -40,6 +40,10 @@ on:
make-arguments:
required: false
type: string
dry-run:
required: false
type: boolean
default: false
jobs:
build-cross-compile:
@@ -60,33 +64,33 @@ jobs:
gnu-arch: aarch64
debian-arch: arm64
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
debian-version: trixie
tolerate-sysroot-errors: false
- target-cpu: arm
gnu-arch: arm
debian-arch: armhf
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
debian-version: trixie
tolerate-sysroot-errors: false
gnu-abi: eabihf
- target-cpu: s390x
gnu-arch: s390x
debian-arch: s390x
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
debian-version: trixie
tolerate-sysroot-errors: false
- target-cpu: ppc64le
gnu-arch: powerpc64le
debian-arch: ppc64el
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
debian-version: trixie
tolerate-sysroot-errors: false
- target-cpu: riscv64
gnu-arch: riscv64
debian-arch: riscv64
debian-repository: https://httpredir.debian.org/debian/
debian-version: sid
tolerate-sysroot-errors: true
debian-version: trixie
tolerate-sysroot-errors: false
steps:
- name: 'Checkout the JDK source'
@@ -189,4 +193,4 @@ jobs:
with:
make-target: 'hotspot ${{ inputs.make-arguments }}'
platform: linux-${{ matrix.target-cpu }}
if: steps.create-sysroot.outcome == 'success' || steps.get-cached-sysroot.outputs.cache-hit == 'true'
if: ((steps.create-sysroot.outcome == 'success' || steps.get-cached-sysroot.outputs.cache-hit == 'true') && inputs.dry-run == false)

View File

@@ -61,6 +61,10 @@ on:
make-arguments:
required: false
type: string
dry-run:
required: false
type: boolean
default: false
bundle-suffix:
required: false
type: string
@@ -139,6 +143,7 @@ jobs:
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: "${{ matrix.debug-level == 'debug' && '-debug' || '' }}"
if: ${{ inputs.dry-run == false }}
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
@@ -147,3 +152,4 @@ jobs:
debug-suffix: "${{ matrix.debug-level == 'debug' && '-debug' || '' }}"
bundle-suffix: ${{ inputs.bundle-suffix }}
static-suffix: ${{ inputs.static-suffix }}
if: ${{ inputs.dry-run == false }}

View File

@@ -54,6 +54,10 @@ on:
make-arguments:
required: false
type: string
dry-run:
required: false
type: boolean
default: false
jobs:
build-macos:
@@ -118,9 +122,11 @@ jobs:
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
if: ${{ inputs.dry-run == false }}
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
if: ${{ inputs.dry-run == false }}

View File

@@ -54,6 +54,10 @@ on:
make-arguments:
required: false
type: string
dry-run:
required: false
type: boolean
default: false
env:
# These are needed to make the MSYS2 bash work properly
@@ -139,6 +143,7 @@ jobs:
# Set PATH to "", so just GITHUB_PATH is included
PATH: ''
shell: env /usr/bin/bash --login -eo pipefail {0}
if: ${{ inputs.dry-run == false }}
- name: 'Build'
id: build
@@ -147,9 +152,11 @@ jobs:
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
if: ${{ inputs.dry-run == false }}
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
if: ${{ inputs.dry-run == false }}

View File

@@ -28,9 +28,7 @@ name: 'OpenJDK GHA Sanity Checks'
on:
push:
branches-ignore:
- master
- pr/*
- jdk*
workflow_dispatch:
inputs:
platforms:
@@ -43,6 +41,9 @@ on:
make-arguments:
description: 'Additional make arguments'
required: false
dry-run:
description: 'Dry run: skip actual builds and tests'
required: false
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -70,6 +71,7 @@ jobs:
windows-x64: ${{ steps.include.outputs.windows-x64 }}
windows-aarch64: ${{ steps.include.outputs.windows-aarch64 }}
docs: ${{ steps.include.outputs.docs }}
dry-run: ${{ steps.include.outputs.dry-run }}
steps:
- name: 'Checkout the scripts'
@@ -143,6 +145,35 @@ jobs:
echo 'false'
}
function check_dry_run() {
if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
# Take the user-specified one.
echo '${{ github.event.inputs.dry-run }}'
return
elif [[ $GITHUB_EVENT_NAME == push ]]; then
# Cut out the real branch name
BRANCH=${GITHUB_REF##*/}
# Dry run rebuilds the caches in current branch, so they can be reused
# for any child PR branches. Because of this, we want to trigger this
# workflow in master branch, so that actual PR branches can use the cache.
# This workflow would trigger every time contributors sync their master
# branches in their personal forks.
if [[ $BRANCH == "master" ]]; then
echo 'true'
return
fi
# ...same for stabilization branches
if [[ $BRANCH =~ "jdk(.*)" ]]; then
echo 'true'
return
fi
fi
echo 'false'
}
echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
echo "linux-x64-variants=$(check_platform linux-x64-variants variants)" >> $GITHUB_OUTPUT
echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
@@ -152,6 +183,7 @@ jobs:
echo "windows-x64=$(check_platform windows-x64 windows x64)" >> $GITHUB_OUTPUT
echo "windows-aarch64=$(check_platform windows-aarch64 windows aarch64)" >> $GITHUB_OUTPUT
echo "docs=$(check_platform docs)" >> $GITHUB_OUTPUT
echo "dry-run=$(check_dry_run)" >> $GITHUB_OUTPUT
###
### Build jobs
@@ -166,6 +198,7 @@ jobs:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.linux-x64 == 'true'
build-linux-x64-hs-nopch:
@@ -180,6 +213,7 @@ jobs:
extra-conf-options: '--disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-zero:
@@ -194,6 +228,7 @@ jobs:
extra-conf-options: '--with-jvm-variants=zero --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-minimal:
@@ -208,6 +243,7 @@ jobs:
extra-conf-options: '--with-jvm-variants=minimal --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-optimized:
@@ -223,6 +259,7 @@ jobs:
extra-conf-options: '--with-debug-level=optimized --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.linux-x64-variants == 'true'
build-linux-x64-static:
@@ -238,6 +275,7 @@ jobs:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
static-suffix: "-static"
if: needs.prepare.outputs.linux-x64 == 'true'
@@ -254,6 +292,7 @@ jobs:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
# Upload static libs bundles separately to avoid interference with normal linux-x64 bundle.
# This bundle is not used by testing jobs, but downstreams use it to check that
# dependent projects, e.g. libgraal, builds fine.
@@ -268,6 +307,7 @@ jobs:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.linux-cross-compile == 'true'
build-alpine-linux-x64:
@@ -278,6 +318,7 @@ jobs:
platform: alpine-linux-x64
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.alpine-linux-x64 == 'true'
build-macos-x64:
@@ -290,6 +331,7 @@ jobs:
xcode-toolset-version: '14.3.1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.macos-x64 == 'true'
build-macos-aarch64:
@@ -302,6 +344,7 @@ jobs:
xcode-toolset-version: '15.4'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.macos-aarch64 == 'true'
build-windows-x64:
@@ -310,10 +353,11 @@ jobs:
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x64
msvc-toolset-version: '14.43'
msvc-toolset-version: '14.44'
msvc-toolset-architecture: 'x86.x64'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.windows-x64 == 'true'
build-windows-aarch64:
@@ -322,12 +366,13 @@ jobs:
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-aarch64
msvc-toolset-version: '14.43'
msvc-toolset-version: '14.44'
msvc-toolset-architecture: 'arm64'
make-target: 'hotspot'
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.windows-aarch64 == 'true'
build-docs:
@@ -344,6 +389,7 @@ jobs:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
if: needs.prepare.outputs.docs == 'true'
###
@@ -353,17 +399,20 @@ jobs:
test-linux-x64:
name: linux-x64
needs:
- prepare
- build-linux-x64
uses: ./.github/workflows/test.yml
with:
platform: linux-x64
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
debug-suffix: -debug
test-linux-x64-static:
name: linux-x64-static
needs:
- prepare
- build-linux-x64
- build-linux-x64-static
uses: ./.github/workflows/test.yml
@@ -371,27 +420,32 @@ jobs:
platform: linux-x64
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
static-suffix: "-static"
test-macos-aarch64:
name: macos-aarch64
needs:
- prepare
- build-macos-aarch64
uses: ./.github/workflows/test.yml
with:
platform: macos-aarch64
bootjdk-platform: macos-aarch64
runs-on: macos-14
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
xcode-toolset-version: '15.4'
debug-suffix: -debug
test-windows-x64:
name: windows-x64
needs:
- prepare
- build-windows-x64
uses: ./.github/workflows/test.yml
with:
platform: windows-x64
bootjdk-platform: windows-x64
runs-on: windows-2025
dry-run: ${{ needs.prepare.outputs.dry-run == 'true' }}
debug-suffix: -debug

View File

@@ -40,6 +40,10 @@ on:
xcode-toolset-version:
required: false
type: string
dry-run:
required: false
type: boolean
default: false
debug-suffix:
required: false
type: string
@@ -147,6 +151,7 @@ jobs:
platform: ${{ inputs.platform }}
debug-suffix: ${{ matrix.debug-suffix }}
static-suffix: ${{ inputs.static-suffix }}
if: ${{ inputs.dry-run == false }}
- name: 'Install dependencies'
run: |
@@ -199,6 +204,7 @@ jobs:
&& bash ./.github/scripts/gen-test-summary.sh "$GITHUB_STEP_SUMMARY" "$GITHUB_OUTPUT"
env:
PATH: ${{ steps.path.outputs.value }}
if: ${{ inputs.dry-run == false }}
# This is a separate step, since if the markdown from a step gets bigger than
# 1024 kB it is skipped, but then the short summary above is still generated

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (c) 2019, 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
@@ -52,12 +52,39 @@
# include the SCM state that was used to build it, which can be found in ${JDK_N_INSTALL}/release,
# in property "SOURCE".
source_path="$(dirname ${0})"
this_script_dir="$(cd -- "${source_path}" > /dev/null && pwd)"
if test -z "${this_script_dir}"; then
echo "Error: Could not determine location of this script"
exit 1
fi
symbols_dir="$(dirname $this_script_dir)/src/jdk.compiler/share/data/symbols"
if [ ! -d $symbols_dir ] ; then
echo "Cannot locate symbols directory: $symbols_dir" >&2
exit 1
fi
generator_dir="$(dirname $this_script_dir)/make/langtools/src/classes/build/tools/symbolgenerator"
if [ "$1x" = "x" ] ; then
echo "Must provide the target JDK as a parameter:" >&2
echo "$0 <target-jdk>" >&2
exit 1
fi;
if [ ! -d $1 ] ; then
echo "Target JDK argument is not a directory:" $1 >&2
exit 1
fi;
if [ ! -x $1/bin/java ] ; then
echo "Target JDK argument is not a valid JDK: $1" >&2
exit 1
fi;
cd $symbols_dir
if [ ! -f symbols ] ; then
echo "Must run inside the src/jdk.compiler/share/data/symbols directory" >&2
exit 1
@@ -72,5 +99,5 @@ $1/bin/java --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \
--add-modules jdk.jdeps \
../../../../../make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java \
$generator_dir/CreateSymbols.java \
build-description-incremental symbols include.list

View File

@@ -125,7 +125,8 @@ if [ -d "$TOPLEVEL_DIR/.hg" ] ; then
VCS_TYPE="hg4idea"
fi
if [ -d "$TOPLEVEL_DIR/.git" ] ; then
# Git worktrees use a '.git' file rather than directory, so test both.
if [ -d "$TOPLEVEL_DIR/.git" -o -f "$TOPLEVEL_DIR/.git" ] ; then
VCS_TYPE="Git"
fi

View File

@@ -1,6 +1,6 @@
#! /bin/sh -f
#
# Copyright (c) 2012, 2020, 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
@@ -62,7 +62,7 @@ B=`basename "${script_directory}"`
script_dir="`cd \"${D}\" 2>/dev/null && pwd || echo \"${D}\"`/${B}"
# set up a variable for the template directory
template_dir=${script_dir}/../data/license-templates
template_dir=${script_dir}/../make/data/license-templates
# Check existence of the template directory.
if [ ! -d ${template_dir} ] ; then

View File

@@ -1,192 +0,0 @@
#
# Copyright (c) 2014, 2020, 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
src/bsd : jdk/src/bsd
src/demo : jdk/src/demo
src/java.activation : jaxws/src/java.activation
src/java.base : jdk/src/java.base
src/java.compiler : langtools/src/java.compiler
src/java.corba : corba/src/java.corba
src/java.datatransfer : jdk/src/java.datatransfer
src/java.desktop : jdk/src/java.desktop
src/java.instrument : jdk/src/java.instrument
src/java.logging : jdk/src/java.logging
src/java.management : jdk/src/java.management
src/java.management.rmi : jdk/src/java.management.rmi
src/java.naming : jdk/src/java.naming
src/java.prefs : jdk/src/java.prefs
src/java.rmi : jdk/src/java.rmi
src/java.scripting : jdk/src/java.scripting
src/java.se : jdk/src/java.se
src/java.security.jgss : jdk/src/java.security.jgss
src/java.security.sasl : jdk/src/java.security.sasl
src/java.se.ee : jdk/src/java.se.ee
src/java.smartcardio : jdk/src/java.smartcardio
src/java.sql : jdk/src/java.sql
src/java.sql.rowset : jdk/src/java.sql.rowset
src/java.transaction : jdk/src/java.transaction
src/java.xml : jaxp/src/java.xml
src/java.xml.bind : jaxws/src/java.xml.bind
src/java.xml.crypto : jdk/src/java.xml.crypto
src/java.xml.ws : jaxws/src/java.xml.ws
src/java.xml.ws.annotation : jaxws/src/java.xml.ws.annotation
src/jdk.accessibility : jdk/src/jdk.accessibility
src/jdk.aot : hotspot/src/jdk.aot
src/jdk.attach : jdk/src/jdk.attach
src/jdk.charsets : jdk/src/jdk.charsets
src/jdk.compiler : jdk/src/jdk.compiler langtools/src/jdk.compiler
src/jdk.crypto.cryptoki : jdk/src/jdk.crypto.cryptoki
src/jdk.crypto.ec : jdk/src/jdk.crypto.ec
src/jdk.crypto.mscapi : jdk/src/jdk.crypto.mscapi
src/jdk.dynalink : nashorn/src/jdk.dynalink
src/jdk.editpad : jdk/src/jdk.editpad
src/jdk.hotspot.agent : hotspot/src/jdk.hotspot.agent
src/jdk.httpserver : jdk/src/jdk.httpserver
src/jdk.incubator.httpclient : jdk/src/jdk.incubator.httpclient
src/jdk.internal.ed : jdk/src/jdk.internal.ed
src/jdk.internal.jvmstat : jdk/src/jdk.internal.jvmstat
src/jdk.internal.le : jdk/src/jdk.internal.le
src/jdk.internal.opt : jdk/src/jdk.internal.opt
src/jdk.internal.vm.ci : hotspot/src/jdk.internal.vm.ci
src/jdk.internal.vm.compiler : hotspot/src/jdk.internal.vm.compiler
src/jdk.jartool : jdk/src/jdk.jartool
src/jdk.javadoc : langtools/src/jdk.javadoc
src/jdk.jcmd : jdk/src/jdk.jcmd
src/jdk.jconsole : jdk/src/jdk.jconsole
src/jdk.jdeps : langtools/src/jdk.jdeps
src/jdk.jdi : jdk/src/jdk.jdi
src/jdk.jdwp.agent : jdk/src/jdk.jdwp.agent
src/jdk.jlink : jdk/src/jdk.jlink
src/jdk.jshell : langtools/src/jdk.jshell
src/jdk.jsobject : jdk/src/jdk.jsobject
src/jdk.jstatd : jdk/src/jdk.jstatd
src/jdk.localedata : jdk/src/jdk.localedata
src/jdk.management : jdk/src/jdk.management
src/jdk.management.agent : jdk/src/jdk.management.agent
src/jdk.naming.dns : jdk/src/jdk.naming.dns
src/jdk.naming.rmi : jdk/src/jdk.naming.rmi
src/jdk.net : jdk/src/jdk.net
src/jdk.pack : jdk/src/jdk.pack
src/jdk.scripting.nashorn : nashorn/src/jdk.scripting.nashorn
src/jdk.scripting.nashorn.shell : nashorn/src/jdk.scripting.nashorn.shell
src/jdk.sctp : jdk/src/jdk.sctp
src/jdk.security.auth : jdk/src/jdk.security.auth
src/jdk.security.jgss : jdk/src/jdk.security.jgss
src/jdk.unsupported : jdk/src/jdk.unsupported
src/jdk.xml.bind : jaxws/src/jdk.xml.bind
src/jdk.xml.dom : jaxp/src/jdk.xml.dom
src/jdk.xml.ws : jaxws/src/jdk.xml.ws
src/jdk.zipfs : jdk/src/jdk.zipfs
src/langtools/sample : langtools/src/sample
src/linux : jdk/src/linux
src/sample : jdk/src/sample
src/hotspot/share : hotspot/src/share/vm
src/hotspot/cpu/aarch64 : hotspot/src/cpu/aarch64/vm
src/hotspot/cpu/arm : hotspot/src/cpu/arm/vm
src/hotspot/cpu/ppc : hotspot/src/cpu/ppc/vm
src/hotspot/cpu/s390 : hotspot/src/cpu/s390/vm
src/hotspot/cpu/x86 : hotspot/src/cpu/x86/vm
src/hotspot/cpu/zero : hotspot/src/cpu/zero/vm
src/hotspot/os/aix : hotspot/src/os/aix/vm
src/hotspot/os/bsd : hotspot/src/os/bsd/vm
src/hotspot/os/linux : hotspot/src/os/linux/vm
src/hotspot/os/posix/dtrace : hotspot/src/os/posix/dtrace
src/hotspot/os/posix : hotspot/src/os/posix/vm
src/hotspot/os/windows : hotspot/src/os/windows/vm
src/hotspot/os_cpu/aix_ppc : hotspot/src/os_cpu/aix_ppc/vm
src/hotspot/os_cpu/bsd_x86 : hotspot/src/os_cpu/bsd_x86/vm
src/hotspot/os_cpu/bsd_zero : hotspot/src/os_cpu/bsd_zero/vm
src/hotspot/os_cpu/linux_aarch64 : hotspot/src/os_cpu/linux_aarch64/vm
src/hotspot/os_cpu/linux_arm : hotspot/src/os_cpu/linux_arm/vm
src/hotspot/os_cpu/linux_ppc : hotspot/src/os_cpu/linux_ppc/vm
src/hotspot/os_cpu/linux_s390 : hotspot/src/os_cpu/linux_s390/vm
src/hotspot/os_cpu/linux_x86 : hotspot/src/os_cpu/linux_x86/vm
src/hotspot/os_cpu/linux_zero : hotspot/src/os_cpu/linux_zero/vm
src/hotspot/os_cpu/windows_x86 : hotspot/src/os_cpu/windows_x86/vm
src/hotspot : hotspot/src
src/utils/IdealGraphVisualizer : hotspot/src/share/tools/IdealGraphVisualizer
src/utils/LogCompilation : hotspot/src/share/tools/LogCompilation
src/utils/hsdis : hotspot/src/share/tools/hsdis
src/utils/reorder : jdk/make/non-build-utils/reorder
src/utils/src/build : jdk/make/non-build-utils/src/build
make/BuildNashorn.gmk : nashorn/make/BuildNashorn.gmk
make/CompileDemos.gmk : jdk/make/CompileDemos.gmk
make/CompileInterimLangtools.gmk : langtools/make/CompileInterim.gmk
make/CompileModuleTools.gmk : jdk/make/CompileModuleTools.gmk
make/CompileToolsHotspot.gmk : hotspot/make/CompileTools.gmk
make/CompileToolsJdk.gmk : jdk/make/CompileTools.gmk
make/CopyInterimCLDRConverter.gmk : jdk/make/CopyInterimCLDRConverter.gmk
make/GenerateModuleSummary.gmk : jdk/make/GenerateModuleSummary.gmk
make/ModuleTools.gmk : jdk/make/ModuleTools.gmk
make/ToolsJdk.gmk : jdk/make/Tools.gmk
make/ToolsLangtools.gmk : langtools/make/Tools.gmk
make/UnpackSecurity.gmk : jdk/make/UnpackSecurity.gmk
make/autoconf : common/autoconf
make/conf : common/conf
make/copy : jdk/make/copy
make/copy/Copy-java.corba.gmk : corba/make/copy/Copy-java.corba.gmk
make/corba : corba/make
make/data : jdk/make/data
make/gendata : jdk/make/gendata
make/gendata/Gendata-jdk.compiler.gmk : langtools/make/gendata/Gendata-jdk.compiler.gmk
make/gensrc : jdk/make/gensrc
make/gensrc/Gensrc-java.corba.gmk : corba/make/gensrc/Gensrc-java.corba.gmk
make/gensrc/Gensrc-jdk.compiler.gmk : langtools/make/gensrc/Gensrc-jdk.compiler.gmk
make/gensrc/Gensrc-jdk.hotspot.agent.gmk : hotspot/make/gensrc/Gensrc-jdk.hotspot.agent.gmk
make/gensrc/Gensrc-jdk.internal.vm.compiler.gmk : hotspot/make/gensrc/Gensrc-jdk.internal.vm.compiler.gmk
make/gensrc/Gensrc-jdk.javadoc.gmk : langtools/make/gensrc/Gensrc-jdk.javadoc.gmk
make/gensrc/Gensrc-jdk.jdeps.gmk : langtools/make/gensrc/Gensrc-jdk.jdeps.gmk
make/gensrc/Gensrc-jdk.jshell.gmk : langtools/make/gensrc/Gensrc-jdk.jshell.gmk
make/gensrc/GensrcCommonLangtools.gmk : langtools/make/gensrc/GensrcCommon.gmk
make/hotspot : hotspot/make
make/jdk : jdk/make
make/langtools : langtools/make
make/launcher : jdk/make/launcher
make/lib : jdk/make/lib
make/lib/Lib-jdk.hotspot.agent.gmk : hotspot/make/lib/Lib-jdk.hotspot.agent.gmk
make/mapfiles : jdk/make/mapfiles
make/mapfiles/libjsig : hotspot/make/mapfiles/libjsig
make/mapfiles/libjvm_db : hotspot/make/mapfiles/libjvm_db
make/mapfiles/libjvm_dtrace : hotspot/make/mapfiles/libjvm_dtrace
make/mapfiles/libsaproc : hotspot/make/mapfiles/libsaproc
make/nashorn : nashorn/make
make/nb_native : common/nb_native
make/scripts/addNotices.sh : jdk/make/scripts/addNotices.sh
make/scripts/compare.sh : common/bin/compare.sh
make/scripts/compare_exceptions.sh.incl : common/bin/compare_exceptions.sh.incl
make/scripts/genExceptions.sh : jdk/make/scripts/genExceptions.sh
make/scripts/hide_important_warnings_from_javac.sh : common/bin/hide_important_warnings_from_javac.sh
make/scripts/logger.sh : common/bin/logger.sh
make/src/native/fixpath.c : common/src/fixpath.c
make/test/JtregNativeHotspot.gmk : hotspot/make/test/JtregNative.gmk
make/test/JtregNativeJdk.gmk : jdk/make/test/JtregNative.gmk
test/jdk : jdk/test
test/langtools : langtools/test
test/nashorn : nashorn/test
test/jaxp : jaxp/test
test/hotspot/gtest : hotspot/test/native
test/hotspot/jtreg : hotspot/test
bin : common/bin
bin/nashorn : nashorn/bin
doc : common/doc
doc/nashorn : nashorn/docs

View File

@@ -1,237 +0,0 @@
#!/bin/bash
#
# Copyright (c) 2014, 2017, 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# Script for updating a patch file as per the shuffled/unshuffled source location.
usage() {
echo "Usage: $0 [-h|--help] [-v|--verbose] [-to9|-to10] [-r <repo>] <input_patch> <output_patch>"
echo "where:"
echo " -to9 create patches appropriate for a JDK 9 source tree"
echo " When going to 9, the output patches will be suffixed with the"
echo " repo name"
echo " -to10 create patches appropriate for a JDK 10 source tree"
echo " -r <repo> specify repo for source patch, set to 'top' for top repo"
echo " <input_patch> is the input patch file, that needs shuffling/unshuffling"
echo " <output_patch> is the updated patch file "
echo " "
exit 1
}
SCRIPT_DIR=`dirname $0`
UNSHUFFLE_LIST=$SCRIPT_DIR"/unshuffle_list.txt"
if [ ! -f "$UNSHUFFLE_LIST" ] ; then
echo "FATAL: cannot find $UNSHUFFLE_LIST" >&2
exit 1
fi
vflag="false"
while [ $# -gt 0 ]
do
case $1 in
-h | --help )
usage
;;
-v | --verbose )
vflag="true"
;;
-r)
repo="$2"
shift
;;
-to9)
shuffle_to=9
;;
-to10)
shuffle_to=10
;;
-*) # bad option
usage
;;
* ) # non option
break
;;
esac
shift
done
# Make sure we have the right number of arguments
if [ ! $# -eq 2 ] ; then
echo "ERROR: Invalid number of arguments." >&2
usage
fi
# Check the given repo
repos="top corba jaxp jaxws jdk langtools nashorn hotspot"
found="false"
if [ -n "$repo" ]; then
for r in $repos ; do
if [ $repo = "$r" ] ; then
found="true"
break;
fi
done
if [ $found = "false" ] ; then
echo "ERROR: Unknown repo: $repo. Should be one of [$repos]." >&2
usage
fi
fi
if [ "$shuffle_to" != "9" -a "$shuffle_to" != "10" ]; then
echo "ERROR: Must pick either -to9 or -to10"
exit 1
fi
# When going to 10, a repo must be specified for the source patch
if [ "$shuffle_to" = "10" -a -z "$repo" ]; then
echo "ERROR: Must specify src repo for JDK 9 patch"
exit 1
fi
# Check given input/output files
input="$1"
if [ "x$input" = "x-" ] ; then
input="/dev/stdin"
fi
if [ ! -f $input -a "x$input" != "x/dev/stdin" ] ; then
echo "ERROR: Cannot find input patch file: $input" >&2
exit 1
fi
output="$2"
if [ "x$output" = "x-" ] ; then
output="/dev/stdout"
fi
base_output="$output"
if [ "$shuffle_to" = "10" ]; then
if [ -f $output -a "x$output" != "x/dev/stdout" ] ; then
echo "ERROR: Output patch already exists: $output" >&2
exit 1
fi
else
for r in $repos; do
if [ -f "$output.$r" ]; then
echo "ERROR: Output patch already exists: $output.$r" >&2
exit 1
fi
done
fi
verbose() {
if [ ${vflag} = "true" ] ; then
echo "$@" >&2
fi
}
unshuffle() {
line=$@
verbose "Attempting to rewrite: \"$line\""
# Retrieve the file name
path=
if echo "$line" | egrep '^diff' > /dev/null ; then
if ! echo "$line" | egrep '\-\-git' > /dev/null ; then
echo "ERROR: Only git patches supported. Please use 'hg export --git ...'." >&2
exit 1
fi
path="`echo "$line" | sed -e s@'diff --git a/'@@ -e s@' b/.*$'@@`"
elif echo "$line" | egrep '^\-\-\-' > /dev/null ; then
path="`echo "$line" | sed -e s@'--- a/'@@`"
elif echo "$line" | egrep '^\+\+\+' > /dev/null ; then
path="`echo "$line" | sed s@'+++ b/'@@`"
fi
verbose "Extracted path: \"$path\""
# Find the most specific matches in the shuffle list
matches=
if [ -n "$repo" -a "$repo" != "top" ]; then
matchpath="$repo"/"$path"/x
else
matchpath="$path"/x
fi
while [ "$matchpath" != "" ] ; do
matchpath="`echo $matchpath | sed s@'\(.*\)/.*$'@'\1'@`"
if [ "$shuffle_to" = "10" ] ; then
pattern=": $matchpath$"
else
pattern="^$matchpath :"
fi
verbose "Attempting to find \"$matchpath\""
matches=`egrep "$pattern" "$UNSHUFFLE_LIST"`
if ! [ "x${matches}" = "x" ] ; then
verbose "Got matches: [$matches]"
break;
fi
if ! echo "$matchpath" | egrep '.*/.*' > /dev/null ; then
break;
fi
done
# Rewrite the line, if we have a match
if ! [ "x${matches}" = "x" ] ; then
shuffled="${matches%% : *}"
unshuffled="${matches#* : }"
patch_suffix_9=""
for r in $repos; do
if [ "$unshuffled" != "${unshuffled#$r}" ]; then
unshuffled="${unshuffled#$r\/}"
patch_suffix_9=".$r"
fi
done
verbose "shuffled: $shuffled"
verbose "unshuffled: $unshuffled"
verbose "patch_suffix_9: $patch_suffix_9"
if [ "$shuffle_to" = "10" ] ; then
newline="`echo "$line" | sed -e s@"$unshuffled"@"$shuffled"@g`"
else
newline="`echo "$line" | sed -e s@"$shuffled"@"$unshuffled"@g`"
output=$base_output$patch_suffix_9
verbose "Writing to $output"
fi
verbose "Rewriting to \"$newline\""
echo "$newline" >> $output
else
echo "WARNING: no match found for $path"
echo "$line" >> $output
fi
}
while IFS= read -r line
do
if echo "$line" | egrep '^diff|^\-\-\-|^\+\+\+' > /dev/null ; then
unshuffle "$line"
else
printf "%s\n" "$line" >> $output
fi
done < "$input"

View File

@@ -62,17 +62,22 @@ Help()
echo "options:"
echo "-c Specifies the company. Set to Oracle by default."
echo "-y Specifies the copyright year. Set to current year by default."
echo "-b Specifies the base reference for change set lookup."
echo "-f Updates the copyright for all change sets in a given year,"
echo " as specified by -y."
echo " as specified by -y. Overrides -b flag."
echo "-h Print this help."
echo
}
full_year=false
base_reference=master
# Process options
while getopts "c:fhy:" option; do
while getopts "b:c:fhy:" option; do
case $option in
b) # supplied base reference
base_reference=${OPTARG}
;;
c) # supplied company year
company=${OPTARG}
;;
@@ -111,7 +116,7 @@ else
if [ "$full_year" = "true" ]; then
vcs_list_changesets=(git log --no-merges --since="${year}-01-01T00:00:00Z" --until="${year}-12-31T23:59:59Z" --pretty=tformat:"%H")
else
vcs_list_changesets=(git log --no-merges 'master..HEAD' --since="${year}-01-01T00:00:00Z" --until="${year}-12-31T23:59:59Z" --pretty=tformat:"%H")
vcs_list_changesets=(git log --no-merges "${base_reference}..HEAD" --since="${year}-01-01T00:00:00Z" --until="${year}-12-31T23:59:59Z" --pretty=tformat:"%H")
fi
vcs_changeset_message=(git log -1 --pretty=tformat:"%B") # followed by ${changeset}
vcs_changeset_files=(git diff-tree --no-commit-id --name-only -r) # followed by ${changeset}

111
bin/update_pch.sh Normal file
View File

@@ -0,0 +1,111 @@
#!/bin/sh
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
# The output of this script may require some degree of human curation:
# - Redundant headers, e.g. both x.hpp, x.inline.hpp are included;
# - Headers relative to a non-default feature should be protected by an
# appropriate 'if' clause to make sure all variants can build without
# errors.
source_path="$(dirname ${0})"
this_script_dir="$(cd -- "${source_path}" > /dev/null && pwd)"
if test -z "${this_script_dir}"; then
echo "Error: Could not determine location of this script"
exit 1
fi
# Work in top directory
cd $this_script_dir/..
# Time threshold for header compilation, if the time exceeds the
# threshold the header will be precompiled.
if [ -z "$MIN_MS" ]; then
MIN_MS=100000
fi
if [ -z "$CLEAN" ]; then
CLEAN=true
elif [ "$CLEAN" != "true" ] && [ "$CLEAN" != "false" ]; then
echo "Expected either 'true' or 'false' for CLEAN"
fi
# CBA_PATH should point to a valid ClangBuildAnalyzer executable.
# Build steps:
# git clone --depth 1 git@github.com:aras-p/ClangBuildAnalyzer.git
# cd ClangBuildAnalyzer
# make -f projects/make/Makefile
if [ -z "$CBA_PATH" ]; then
CBA_PATH="./ClangBuildAnalyzer/build/ClangBuildAnalyzer"
fi
set -eux
PRECOMPILED_HPP="src/hotspot/share/precompiled/precompiled.hpp"
CBA_CONFIG="ClangBuildAnalyzer.ini"
TIMESTAMP="$(date +%Y%m%d-%H%M)"
RUN_NAME="pch_update_$TIMESTAMP"
CBA_OUTPUT="cba_out_$TIMESTAMP"
if [ "$CLEAN" = "true" ]; then
trap 'rm -rf "build/'"$RUN_NAME"'" "$CBA_OUTPUT" "$CBA_CONFIG"' EXIT
fi
sh configure --with-toolchain-type=clang \
--with-conf-name="$RUN_NAME" \
--disable-precompiled-headers \
--with-extra-cxxflags="-ftime-trace" \
--with-extra-cflags="-ftime-trace"
make clean CONF_NAME="$RUN_NAME"
make hotspot CONF_NAME="$RUN_NAME"
"$CBA_PATH" --all "./build/$RUN_NAME/hotspot/variant-server/libjvm/objs" \
"$CBA_OUTPUT"
# Preserve license and comments on top
cat "$PRECOMPILED_HPP" | awk '/^#include/ {exit} {print}' > "$PRECOMPILED_HPP.tmp"
if [ ! -f "$CBA_CONFIG" ]; then
cat <<EOF > "$CBA_CONFIG"
[counts]
header=100
headerChain=0
template=0
function=0
fileCodegen=0
fileParse=0
[misc]
onlyRootHeaders=true
EOF
fi
"$CBA_PATH" --analyze "$CBA_OUTPUT" | \
grep " ms: " | \
# Keep the headers more expensive than ${1}ms
awk -v x="$MIN_MS" '$1 < x { exit } { print $3 }' | \
# Filter away non-hotspot headers
grep hotspot/share | \
awk -F "hotspot/share/" '{ printf "#include \"%s\"\n", $2 }' \
>> "$PRECOMPILED_HPP.tmp"
mv "$PRECOMPILED_HPP.tmp" "$PRECOMPILED_HPP"
java test/hotspot/jtreg/sources/SortIncludes.java --update "$PRECOMPILED_HPP"

View File

@@ -1451,10 +1451,10 @@ of a cross-compiling toolchain and a sysroot environment which can
easily be used together with the <code>--with-devkit</code> configure
option to cross compile the JDK. On Linux/x86_64, the following
command:</p>
<pre><code>bash configure --with-devkit=&lt;devkit-path&gt; --openjdk-target=ppc64-linux-gnu &amp;&amp; make</code></pre>
<p>will configure and build the JDK for Linux/ppc64 assuming that
<code>&lt;devkit-path&gt;</code> points to a Linux/x86_64 to Linux/ppc64
devkit.</p>
<pre><code>bash configure --with-devkit=&lt;devkit-path&gt; --openjdk-target=ppc64le-linux-gnu &amp;&amp; make</code></pre>
<p>will configure and build the JDK for Linux/ppc64le assuming that
<code>&lt;devkit-path&gt;</code> points to a Linux/x86_64 to
Linux/ppc64le devkit.</p>
<p>Devkits can be created from the <code>make/devkit</code> directory by
executing:</p>
<pre><code>make [ TARGETS=&quot;&lt;TARGET_TRIPLET&gt;+&quot; ] [ BASE_OS=&lt;OS&gt; ] [ BASE_OS_VERSION=&lt;VER&gt; ]</code></pre>
@@ -1481,22 +1481,22 @@ following targets are known to work:</p>
<td>arm-linux-gnueabihf</td>
</tr>
<tr class="even">
<td>ppc64-linux-gnu</td>
<td>ppc64le-linux-gnu</td>
</tr>
<tr class="odd">
<td>ppc64le-linux-gnu</td>
<td>riscv64-linux-gnu</td>
</tr>
<tr class="even">
<td>s390x-linux-gnu</td>
</tr>
</tbody>
</table>
<p><code>BASE_OS</code> must be one of "OEL6" for Oracle Enterprise
Linux 6 or "Fedora" (if not specified "OEL6" will be the default). If
the base OS is "Fedora" the corresponding Fedora release can be
specified with the help of the <code>BASE_OS_VERSION</code> option (with
"27" as default version). If the build is successful, the new devkits
can be found in the <code>build/devkit/result</code> subdirectory:</p>
<p><code>BASE_OS</code> must be one of <code>OL</code> for Oracle
Enterprise Linux or <code>Fedora</code>. If the base OS is
<code>Fedora</code> the corresponding Fedora release can be specified
with the help of the <code>BASE_OS_VERSION</code> option. If the build
is successful, the new devkits can be found in the
<code>build/devkit/result</code> subdirectory:</p>
<pre><code>cd make/devkit
make TARGETS=&quot;ppc64le-linux-gnu aarch64-linux-gnu&quot; BASE_OS=Fedora BASE_OS_VERSION=21
ls -1 ../../build/devkit/result/

View File

@@ -1258,11 +1258,11 @@ toolchain and a sysroot environment which can easily be used together with the
following command:
```
bash configure --with-devkit=<devkit-path> --openjdk-target=ppc64-linux-gnu && make
bash configure --with-devkit=<devkit-path> --openjdk-target=ppc64le-linux-gnu && make
```
will configure and build the JDK for Linux/ppc64 assuming that `<devkit-path>`
points to a Linux/x86_64 to Linux/ppc64 devkit.
will configure and build the JDK for Linux/ppc64le assuming that `<devkit-path>`
points to a Linux/x86_64 to Linux/ppc64le devkit.
Devkits can be created from the `make/devkit` directory by executing:
@@ -1281,16 +1281,14 @@ at least the following targets are known to work:
| x86_64-linux-gnu |
| aarch64-linux-gnu |
| arm-linux-gnueabihf |
| ppc64-linux-gnu |
| ppc64le-linux-gnu |
| riscv64-linux-gnu |
| s390x-linux-gnu |
`BASE_OS` must be one of "OEL6" for Oracle Enterprise Linux 6 or "Fedora" (if
not specified "OEL6" will be the default). If the base OS is "Fedora" the
corresponding Fedora release can be specified with the help of the
`BASE_OS_VERSION` option (with "27" as default version). If the build is
successful, the new devkits can be found in the `build/devkit/result`
subdirectory:
`BASE_OS` must be one of `OL` for Oracle Enterprise Linux or `Fedora`. If the
base OS is `Fedora` the corresponding Fedora release can be specified with the
help of the `BASE_OS_VERSION` option. If the build is successful, the new
devkits can be found in the `build/devkit/result` subdirectory:
```
cd make/devkit

View File

@@ -50,6 +50,9 @@ id="toc-factoring-and-class-design">Factoring and Class Design</a></li>
<li><a href="#commenting" id="toc-commenting">Commenting</a></li>
<li><a href="#macros" id="toc-macros">Macros</a></li>
<li><a href="#whitespace" id="toc-whitespace">Whitespace</a></li>
<li><a href="#avoid-implicit-conversions-to-bool"
id="toc-avoid-implicit-conversions-to-bool">Avoid implicit conversions
to bool</a></li>
<li><a href="#miscellaneous"
id="toc-miscellaneous">Miscellaneous</a></li>
</ul></li>
@@ -72,24 +75,78 @@ Standard Library</a></li>
Deduction</a></li>
<li><a href="#expression-sfinae" id="toc-expression-sfinae">Expression
SFINAE</a></li>
<li><a href="#trailing-return-type-syntax-for-functions"
id="toc-trailing-return-type-syntax-for-functions">Trailing return type
syntax for functions</a></li>
<li><a href="#non-type-template-parameter-values"
id="toc-non-type-template-parameter-values">Non-type template parameter
values</a></li>
<li><a href="#enum" id="toc-enum">enum</a></li>
<li><a href="#alignas" id="toc-alignas">alignas</a></li>
<li><a href="#thread_local" id="toc-thread_local">thread_local</a></li>
<li><a href="#nullptr" id="toc-nullptr">nullptr</a></li>
<li><a href="#atomic" id="toc-atomic">&lt;atomic&gt;</a></li>
<li><a href="#variable-templates-and-inline-variables"
id="toc-variable-templates-and-inline-variables">Variable Templates and
Inline Variables</a></li>
<li><a href="#initializing-variables-with-static-storage-duration"
id="toc-initializing-variables-with-static-storage-duration">Initializing
variables with static storage duration</a></li>
<li><a href="#uniform-initialization"
id="toc-uniform-initialization">Uniform Initialization</a></li>
<li><a href="#mandatory-copy-elision"
id="toc-mandatory-copy-elision">Mandatory Copy Elision</a></li>
<li><a href="#local-function-objects"
id="toc-local-function-objects">Local Function Objects</a></li>
<li><a href="#inheriting-constructors"
id="toc-inheriting-constructors">Inheriting constructors</a></li>
<li><a href="#attributes" id="toc-attributes">Attributes</a></li>
<li><a href="#noexcept" id="toc-noexcept">noexcept</a></li>
<li><a href="#enhanced-selection-statements"
id="toc-enhanced-selection-statements">Enhanced selection
statements</a></li>
<li><a href="#expression-evaluation-order"
id="toc-expression-evaluation-order">Expression Evaluation
Order</a></li>
<li><a href="#compatibility-with-c11"
id="toc-compatibility-with-c11">Compatibility with C11</a></li>
<li><a href="#additional-permitted-features"
id="toc-additional-permitted-features">Additional Permitted
Features</a></li>
</ul></li>
<li><a href="#excluded-features" id="toc-excluded-features">Excluded
Features</a>
<ul>
<li><a href="#structured-bindings"
id="toc-structured-bindings">Structured Bindings</a></li>
<li><a href="#file-system-library" id="toc-file-system-library">File
System Library</a></li>
<li><a href="#aggregate-extensions"
id="toc-aggregate-extensions">Aggregate Extensions</a></li>
<li><a href="#additional-excluded-features"
id="toc-additional-excluded-features">Additional Excluded
Features</a></li>
</ul></li>
<li><a href="#undecided-features" id="toc-undecided-features">Undecided
Features</a>
<ul>
<li><a href="#stdoptional"
id="toc-stdoptional">std::optional&lt;&gt;</a></li>
<li><a href="#stdbyte" id="toc-stdbyte">std::byte</a></li>
<li><a href="#string-views" id="toc-string-views">String Views</a></li>
<li><a href="#substring-and-subsequence-searching"
id="toc-substring-and-subsequence-searching">Substring and Subsequence
Searching</a></li>
<li><a href="#new-and-delete-with-over-aligned-data"
id="toc-new-and-delete-with-over-aligned-data"><code>new</code> and
<code>delete</code> with Over-Aligned Data</a></li>
<li><a href="#stdto_chars-and-stdfrom_chars"
id="toc-stdto_chars-and-stdfrom_chars"><code>std::to_chars()</code> and
<code>std::from_chars</code></a></li>
<li><a href="#stdlaunder"
id="toc-stdlaunder"><code>std::launder()</code></a></li>
<li><a href="#additional-undecided-features"
id="toc-additional-undecided-features">Additional Undecided
Features</a></li>
</ul></li>
</ul>
@@ -205,6 +262,16 @@ lines of code. Name what you must repeat.</p></li>
attribute, the change should be done with a "setter" accessor matched to
the simple "getter".</p></li>
</ul>
<h4 id="conventions-for-lock-free-code">Conventions for Lock-free
Code</h4>
<p>Sometimes variables are accessed concurrently without appropriate
synchronization context, such as a held mutex or at a safepoint. In such
cases the variable should be declared <code>volatile</code> and it
should NOT be accessed as a normal C++ lvalue. Rather, access should be
performed via functions from <code>Atomic</code>, such as
<code>Atomic::load</code>, <code>Atomic::store</code>, etc.</p>
<p>This special formulation makes it more clear to maintainers that the
variable is accessed concurrently in a lock-free manner.</p>
<h3 id="source-files">Source Files</h3>
<ul>
<li><p>All source files must have a globally unique basename. The build
@@ -404,22 +471,25 @@ adjust new lines horizontally to be consistent with that organization.
(E.g., trailing backslashes on long macro definitions often
align.)</p></li>
</ul>
<h3 id="miscellaneous">Miscellaneous</h3>
<ul>
<li><p>Use the <a href="https://en.cppreference.com/w/cpp/language/raii"
title="Resource Acquisition Is Initialization">Resource Acquisition Is
Initialization</a> (RAII) design pattern to manage bracketed critical
sections. See class <code>ResourceMark</code> for an example.</p></li>
<li><p>Avoid implicit conversions to <code>bool</code>.</p>
<h3 id="avoid-implicit-conversions-to-bool">Avoid implicit conversions
to bool</h3>
<ul>
<li>Use <code>bool</code> for boolean values.</li>
<li>Do not use ints or pointers as (implicit) booleans with
<code>&amp;&amp;</code>, <code>||</code>, <code>if</code>,
<code>while</code>. Instead, compare explicitly, i.e.
<code>if (x != 0)</code> or <code>if (ptr != nullptr)</code>, etc.</li>
<li>Do not use declarations in <em>condition</em> forms, i.e. don't use
<code>if (T v = value) { ... }</code>.</li>
</ul></li>
<li>Do not use non-boolean declarations in <em>condition</em> forms,
i.e. don't use <code>if (T v = value) { ... }</code>. But see <a
href="#enhanced-selection-statements">Enhanced selection
statements</a>.</li>
</ul>
<h3 id="miscellaneous">Miscellaneous</h3>
<ul>
<li><p>Use the <a href="https://en.cppreference.com/w/cpp/language/raii"
title="Resource Acquisition Is Initialization">Resource Acquisition Is
Initialization</a> (RAII) design pattern to manage bracketed critical
sections. See class <code>ResourceMark</code> for an example.</p></li>
<li><p>Use functions from globalDefinitions.hpp and related files when
performing bitwise operations on integers. Do not code directly as C
operators, unless they are extremely simple. (Examples:
@@ -431,16 +501,16 @@ default case. It is ok to have an empty default with comment.</p></li>
</ul>
<h2 id="use-of-c-features">Use of C++ Features</h2>
<p>HotSpot was originally written in a subset of the C++98/03 language.
More recently, support for C++14 is provided, though again, HotSpot only
More recently, support for C++17 is provided, though again, HotSpot only
uses a subset. (Backports to JDK versions lacking support for more
recent Standards must of course stick with the original C++98/03
subset.)</p>
<p>This section describes that subset. Features from the C++98/03
language may be used unless explicitly excluded here. Features from
C++11 and C++14 may be explicitly permitted or explicitly excluded, and
discussed accordingly here. There is a third category, undecided
features, about which HotSpot developers have not yet reached a
consensus, or perhaps have not discussed at all. Use of these features
C++11, C++14, and C++17 may be explicitly permitted or explicitly
excluded, and discussed accordingly here. There is a third category,
undecided features, about which HotSpot developers have not yet reached
a consensus, or perhaps have not discussed at all. Use of these features
is also excluded.</p>
<p>(The use of some features may not be immediately obvious and may slip
in anyway, since the compiler will accept them. The code review process
@@ -449,9 +519,9 @@ is the main defense against this.)</p>
provide more extensive discussion or rationale for limitations. Features
that don't have their own subsection are listed in omnibus feature
sections for permitted, excluded, and undecided features.</p>
<p>Lists of new features for C++11 and C++14, along with links to their
descriptions, can be found in the online documentation for some of the
compilers and libraries. The C++14 Standard is the definitive
<p>Lists of new features for C++11, C++14, and C++17, along with links
to their descriptions, can be found in the online documentation for some
of the compilers and libraries. The C++17 Standard is the definitive
description.</p>
<ul>
<li><a href="https://gcc.gnu.org/projects/cxx-status.html">C++ Standards
@@ -648,12 +718,42 @@ href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf">n1984</
For local variables, this can be used to make the code clearer by
eliminating type information that is obvious or irrelevant. Excessive
use can make code much harder to understand.</p></li>
<li><p>Function return type deduction (<a
<li><p><code>auto</code> for non-type template parameters (<a
href="http://wg21.link/p0127r2">p0127r2</a>)<br> <code>auto</code> may
be used as a placeholder for the type of a non-type template parameter.
The type is deduced from the value provided in a template
instantiation.</p></li>
</ul>
<p><a name="function-return-type-deduction"></a> * Function return type
deduction (<a
href="https://isocpp.org/files/papers/N3638.html">n3638</a>)<br> Only
use if the function body has a very small number of <code>return</code>
statements, and generally relatively little other code.</p></li>
statements, and generally relatively little other code.</p>
<ul>
<li>Class template argument deduction (<a
href="http://wg21.link/n3602">n3602</a>, <a
href="http://wg21.link/p0091r3">p0091r3</a>)<br> The template arguments
of a class template may be deduced from the arguments to a constructor.
This is similar to ordinary function argument deduction, though partial
deduction with only <em>some</em> template arguments explicitly provided
is not permitted for class template argument deduction. Deduction guides
may be used to provide additional control over the deduction. As with
<code>auto</code> variable declarations, excessive use can make code
harder to understand, because explicit type information is lacking. But
it can also remove the need to be explicit about types that are either
obvious, or that are very hard to write. For example, these allow the
addition of a scope-guard mechanism with nice syntax; something like
this</li>
</ul>
<pre><code> ScopeGuard guard{[&amp;]{ ... cleanup code ... }};</code></pre>
<ul>
<li><p>Also see <a href="#lambdaexpressions">lambda
expressions</a>.</p></li>
<li><p><code>decltype(auto)</code> should be avoided, whether for
variables, for non-type template parameters, or for function return
types. There are subtle and complex differences between this placeholder
type and <code>auto</code>. Any use would need very careful
explanation.</p></li>
</ul>
<h3 id="expression-sfinae">Expression SFINAE</h3>
<p><a href="https://en.cppreference.com/w/cpp/language/sfinae"
@@ -678,6 +778,53 @@ class="uri">https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95468</a><br>
<a
href="https://developercommunity.visualstudio.com/content/problem/396562/sizeof-deduced-type-is-sometimes-not-a-constant-ex.html"
class="uri">https://developercommunity.visualstudio.com/content/problem/396562/sizeof-deduced-type-is-sometimes-not-a-constant-ex.html</a></p>
<h3 id="trailing-return-type-syntax-for-functions">Trailing return type
syntax for functions</h3>
<p>A function's return type may be specified after the parameters and
qualifiers (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm">n2541</a>).
In such a declaration the normal return type is <code>auto</code> and
the return type is indicated by <code>-&gt;</code> followed by the type.
Although both use <code>auto</code> in the "normal" leading return type
position, this differs from <a
href="#function-return-type-deduction">function return type
deduction</a>, in that the return type is explicit rather than deduced,
but specified in a trailing position.</p>
<p>Use of trailing return types is permitted. However, the normal,
leading position for the return type is preferred. A trailing return
type should only be used where it provides some benefit. Such benefits
usually arise because a trailing return type is in a different scope
than a leading return type.</p>
<ul>
<li><p>If the function identifier is a nested name specifier, then the
trailing return type occurs in the nested scope. This may permit simpler
naming in the return type because of the different name lookup
context.</p></li>
<li><p>The trailing return type is in the scope of the parameters,
making their types accessible via <code>decltype</code>. For
example</p></li>
</ul>
<pre><code>template&lt;typename T, typename U&gt; auto add(T t, U u) -&gt; decltype(t + u);</code></pre>
<p>rather than</p>
<pre><code>template&lt;typename T, typename U&gt; decltype((*(T*)0) + (*(U*)0)) add(T t, U u);</code></pre>
<ul>
<li>Complex calculated leading return types may obscure the normal
syntactic boundaries, making it more difficult for a reader to find the
function name and parameters. This is particularly common in cases where
the return type is being used for <a
href="https://en.cppreference.com/w/cpp/language/sfinae"
title="Substitution Failure Is Not An Error">SFINAE</a>. A trailing
return type may be preferable in such situations.</li>
</ul>
<h3 id="non-type-template-parameter-values">Non-type template parameter
values</h3>
<p>C++17 extended the arguments permitted for non-type template
parameters (<a href="http://wg21.link/n4268">n4268</a>). The kinds of
values (the parameter types) aren't changed. However, the values can now
be the result of arbitrary constant expressions (with a few restrictions
on the result), rather than a much more limited and restrictive set of
expressions. In particular, the argument for a pointer or reference type
parameter can now be the result of a constexpr function.</p>
<h3 id="enum">enum</h3>
<p>Where appropriate, <em>scoped-enums</em> should be used. (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf">n2347</a>)</p>
@@ -791,6 +938,68 @@ differ from what the Java compilers implement.</p>
"conservative" memory ordering, which may differ from (may be stronger
than) sequentially consistent. There are algorithms in HotSpot that are
believed to rely on that ordering.</p>
<h3 id="variable-templates-and-inline-variables">Variable Templates and
Inline Variables</h3>
<p>The use of variable templates (including static data member
templates) (<a href="https://wg21.link/N3651">N3651</a>) is permitted.
They provide parameterized variables and constants in a simple and
direct form, instead of requiring the use of various workarounds.</p>
<p>Variables with static storage duration and variable templates may be
declared <code>inline</code> (<a
href="https://wg21.link/p0386r2">p0386r2</a>), and this usage is
permitted. This has similar effects as for declaring a function inline:
it can be defined, identically, in multiple translation units, must be
defined in every translation unit in which it is <a
href="https://en.cppreference.com/w/cpp/language/definition"
title="One Definition Rule">ODR used</a>, and the behavior of the
program is as if there is exactly one variable.</p>
<p>Declaring a variable inline allows the complete definition to be in a
header file, rather than having a declaration in a header and the
definition in a .cpp file. The guidance on <a
href="#initializing-variables-with-static-storage-duration">initialization</a>
of such variables still applies. Inline variables with dynamic
initializations can make initialization order problems worse. The few
ordering constraints that exist for non-inline variables don't apply, as
there isn't a single program-designated translation unit containing the
definition.</p>
<p>A <code>constexpr</code> static data member or static data member
template is implicitly <code>inline</code>. As a consequence, an <a
href="https://en.cppreference.com/w/cpp/language/definition"
title="One Definition Rule">ODR use</a> of such a member doesn't require
a definition in some .cpp file. (This is a change from pre-C++17.
Beginning with C++17, such a definition is considered a duplicate
definition, and is deprecated.)</p>
<p>Declaring a <code>thread_local</code> variable template or
<code>inline</code> variable is forbidden in HotSpot code. <a
href="#thread_local">The use of <code>thread_local</code></a> is already
heavily restricted.</p>
<h3
id="initializing-variables-with-static-storage-duration">Initializing
variables with static storage duration</h3>
<p>Variables with static storage duration and <em>dynamic
initialization</em> <a
href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf">C++14
3.6.2</a>). should be avoided, unless an implementation is permitted to
perform the initialization as a static initialization. The order in
which dynamic initializations occur is incompletely specified.
Initialization order problems can be difficult to deal with and lead to
surprises.</p>
<p>Variables with static storage duration and non-trivial destructors
should be avoided. HotSpot doesn't generally try to cleanup on exit, and
running destructors at exit can lead to problems.</p>
<p>Some of the approaches used in HotSpot to avoid dynamic
initialization include:</p>
<ul>
<li><p>Use the <code>Deferred&lt;T&gt;</code> class template. Add a call
to its initialization function at an appropriate place during VM
initialization. The underlying object is never destroyed.</p></li>
<li><p>For objects of class type, use a variable whose value is a
pointer to the class, initialized to <code>nullptr</code>. Provide an
initialization function that sets the variable to a dynamically
allocated object. Add a call to that function at an appropriate place
during VM initialization. Such objects are usually never
destroyed.</p></li>
</ul>
<h3 id="uniform-initialization">Uniform Initialization</h3>
<p>The use of <em>uniform initialization</em> (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm">n2672</a>),
@@ -815,6 +1024,45 @@ initialization</a></li>
<p>Although related, the use of <code>std::initializer_list</code>
remains forbidden, as part of the avoidance of the C++ Standard Library
in HotSpot code.</p>
<h3 id="mandatory-copy-elision">Mandatory Copy Elision</h3>
<p><a href="https://en.wikipedia.org/wiki/Copy_elision">Copy elision</a>
(or <a
href="https://cn.cppreference.com/w/cpp/language/copy_elision.html">here</a>)
is a compiler optimization used to avoid potentially expensive copies in
certain situations. It is critical to making practical the performance
of return by value or pass by value. It is also unusual in not following
the as-if rule for optimizations - copy elision can be applied even if
doing so bypasses side-effects of copying/moving the object. The C++
standard explicitly permits this.</p>
<p>However, because it's an optional optimization, the relevant
copy/move constructor must be available and accessible, in case the
compiler chooses to not apply the optimization even in a situation where
permitted.</p>
<p>C++17 changed some cases of copy elision so that there is never a
copy/move in these cases (<a
href="http://wg21.link/p0135r1">p0135r1</a>). The interesting cases
involve a function that returns an unnamed temporary object, and
constructors. In such cases the object being initialized from the
temporary is always direct initialized, with no copy/move ever involved;
see <a href="https://en.wikipedia.org/wiki/Copy_elision#RVO"
title="Return Value Optimization">RVO</a> and more specifically <a
href="https://cn.cppreference.com/w/cpp/language/copy_elision.html"
title="Unnamed Return Value Optimization">URVO</a>.</p>
<p>Since this is now standard behavior it can't be avoided in the
covered situations. This could change the behavior of code that relied
on side effects by constructors, but that's both uncommon and was
already problematic because of the previous optional copy elision. But
HotSpot code can, and should, explicitly take advantage of this newly
required behavior where it makes sense to do so.</p>
<p>For example, it may be beneficial to delay construction of the result
of a function until the return statement, rather than having a local
variable that is modified into the desired state and then returned.
(Though <a href="https://en.wikipedia.org/wiki/Copy_elision#NRVO"
title="Named Return Value Optimization">NRVO</a> may apply in that
case.)</p>
<p>It is also now possible to define a factory function for a class that
is neither movable nor copyable, if it can be written in a way that
makes use of this feature.</p>
<h3 id="local-function-objects">Local Function Objects</h3>
<ul>
<li>Local function objects, including lambda expressions, may be
@@ -887,6 +1135,13 @@ href="https://en.wikipedia.org/wiki/Partial_application"
title="Partial Application">partial application</a>. Again here, lambdas
are typically much simpler and less verbose than function object
classes.</p>
<p>A lambda is a constexpr function if either the parameter declaration
clause is followed by <code>constexpr</code>, or it satisfies the
requirements for a constexpr function (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0170r1.pdf">p0170r1</a>).
Thus, using a lambda to package up some computation doesn't incur
unnecessary overhead or prevent use in a context required to be
compile-time evaluated (such as an array size).</p>
<p>Because of these benefits, lambda expressions are permitted in
HotSpot code, with some restrictions and usage guidance. An anonymous
lambda is one which is passed directly as an argument. A named lambda is
@@ -934,6 +1189,18 @@ making the captured value unaffected by modifications to the outer
variable. But this only applies to captured auto variables, not member
variables, and is inconsistent with referential transparency.</p></li>
</ul></li>
<li><p>By-value capture of <code>this</code> (using a capture list like
<code>[*this]</code> (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0018r3.html">p0018r3</a>))
is also not permitted. One of the motivating use-cases is when the
lifetime of the lambda exceeds the lifetime of the object for the
containing member function. That is, we have an upward lambda that is
capturing <code>this</code> of the enclosing method. But again, that
use-case doesn't apply if only downward lambdas are used. Another
use-case is when we simply want the lambda to be operating on a copy of
<code>this</code> for some reason. This is sufficiently uncommon that it
can be handled by manual copying, so readers don't need to understand
this rare syntax.</p></li>
<li><p>Non-capturing lambdas (with an empty capture list -
<code>[]</code>) have limited utility. There are cases where no captures
are required (pure functions, for example), but if the function is small
@@ -943,14 +1210,15 @@ href="https://isocpp.org/files/papers/N3649.html">N3649</a>) are not
permitted. Capture initializers inherently increase the complexity of
the capture list, and provide little benefit over an additional in-scope
local variable.</p></li>
</ul>
<p>The use of <code>mutable</code> lambda expressions is forbidden
<li><p>The use of <code>mutable</code> lambda expressions is forbidden
because there don't seem to be many, if any, good use-cases for them in
HotSpot. A lambda expression needs to be mutable in order to modify a
by-value captured value. But with only downward lambdas, such usage
seems likely to be rare and complicated. It is better to use a function
object class in any such cases that arise, rather than requiring all
HotSpot developers to understand this relatively obscure feature.</p>
HotSpot developers to understand this relatively obscure
feature.</p></li>
</ul>
<p>While it is possible to directly invoke an anonymous lambda
expression, that feature should not be used, as such a form can be
confusing to readers. Instead, name the lambda and call it by name.</p>
@@ -1068,23 +1336,12 @@ href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm">n2540</
<p>C++11 provides simple syntax allowing a class to inherit the
constructors of a base class. Unfortunately there are a number of
problems with the original specification, and C++17 contains significant
revisions (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html"
title="p0136r1">p0136r1</a> opens with a list of 8 Core Issues). Since
HotSpot doesn't support use of C++17, use of inherited constructors
could run into those problems. Such uses might also change behavior in a
future HotSpot update to use C++17 or later, potentially in subtle ways
that could lead to hard to diagnose problems. Because of this, HotSpot
code must not use inherited constructors.</p>
<p>Note that gcc7 provides the <code>-fnew-inheriting-ctors</code>
option to use the <a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html"
title="p0136r1">p0136r1</a> semantics. This is enabled by default when
using C++17 or later. It is also enabled by default for
<code>fabi-version=11</code> (introduced by gcc7) or higher when using
C++11/14, as the change is considered a Defect Report that applies to
those versions. Earlier versions of gcc don't have that option, and
other supported compilers may not have anything similar.</p>
revisions (<a href="http:/wg21.link/p0136r1" title="p0136r1">p0136r1</a>
opens with a list of 8 Core Issues). Although those issues have been
addressed, the benefits from this feature are small compared to the
complexity. Because of this, HotSpot code must not use inherited
constructors.</p>
<p><a href="http://wg21.link/p0195r0">p0195r0</a></p>
<h3 id="attributes">Attributes</h3>
<p>The use of some attributes (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)
@@ -1100,9 +1357,17 @@ those cases HotSpot has a preferred location.</p>
beginning of the function's declaration, rather than between the
function name and the parameter list.</li>
</ul>
<p><a href="http://wg21.link/p0068r0">p0068r0</a> is the initial
proposal for the attributes added by C++17.)</p>
<p>Only the following attributes are permitted:</p>
<ul>
<li><code>[[noreturn]]</code></li>
<li><code>[[nodiscard]]</code> (<a
href="http://wg21.link/p0189r1">p0189r1</a>)</li>
<li><code>[[maybe_unused]]</code> (<a
href="http://wg21.link/p0212r1">p0212r1</a>)</li>
<li><code>[[fallthrough]]</code> (<a
href="http://wg21.link/p0188">p0188r1</a>)</li>
</ul>
<p>The following attributes are expressly forbidden:</p>
<ul>
@@ -1110,6 +1375,138 @@ function name and the parameter list.</li>
<code>memory_order_consume</code>.</li>
<li><code>[[deprecated]]</code> - Not relevant in HotSpot code.</li>
</ul>
<p>Direct use of non-standard (and presumably scoped) attributes in
shared code is also forbidden. Using such would depend on the C++17
feature that an attribute not recognized by the implementation is
ignored (<a href="http://wg21.link/p0283r2">p0283r2</a>). If such an
attribute is needed in shared code, the well-established technique of
providing an <code>ATTRIBUTE_XXX</code> macro with per-compiler
definitions (sometimes empty) should be used. Compilers may warn about
unrecognized attributes (whether by name or by location), in order to
report typos or misuse. Disabling such warnings globally would not be
desirable.</p>
<p>The use of <code>using</code> directives in attribute lists is also
forbidden. (<a href="http://wg21.link/p0028r0">p0028r0</a>) (<a
href="http://wg21.link/p0028r4">p0028r4</a>) We don't generally use
scoped attributes in attribute lists with other attributes. Rather, uses
of scoped attributes (which are implementation defined) are generally
hidden behind a portability macro that includes the surrounding
brackets.</p>
<h3 id="noexcept">noexcept</h3>
<p>Use of <code>noexcept</code> exception specifications (<a
href="http://wg21.link/n3050">n3050</a>) are permitted with restrictions
described below.</p>
<ul>
<li>Only the argument-less form of <code>noexcept</code> exception
specifications are permitted.</li>
<li>Allocation functions that may return <code>nullptr</code> to
indicate allocation failure must be declared <code>noexcept</code>.</li>
<li>All other uses of <code>noexcept</code> exception specifications are
forbidden.</li>
<li><code>noexcept</code> expressions are forbidden.</li>
<li>Dynamic exception specifications are forbidden.</li>
</ul>
<p>HotSpot is built with exceptions disabled, e.g. compile with
<code>-fno-exceptions</code> (gcc, clang) or no <code>/EH</code> option
(MSVC++). So why do we need to consider <code>noexcept</code> at all?
It's because <code>noexcept</code> exception specifications serve two
distinct purposes.</p>
<p>The first is to allow the compiler to avoid generating code or data
in support of exceptions being thrown by a function. But this is
unnecessary, because exceptions are disabled.</p>
<p>The second is to allow the compiler and library code to choose
different algorithms, depending on whether some function may throw
exceptions. This is only relevant to a certain set of functions.</p>
<ul>
<li><p>Some allocation functions (<code>operator new</code> and
<code>operator new[]</code>) return <code>nullptr</code> to indicate
allocation failure. If a <code>new</code> expression calls such an
allocation function, it must check for and handle that possibility.
Declaring such a function <code>noexcept</code> informs the compiler
that <code>nullptr</code> is a possible result. If an allocation
function is not declared <code>noexcept</code> then the compiler may
elide that checking and handling for a <code>new</code> expression
calling that function.</p></li>
<li><p>Certain Standard Library facilities (notably containers) provide
different guarantees for some operations (and may choose different
algorithms to implement those operations), depending on whether certain
functions (constructors, copy/move operations, swap) are nothrow or not.
They detect this using type traits that test whether a function is
declared <code>noexcept</code>. This can have a significant performance
impact if, for example, copying is chosen over a potentially throwing
move. But this isn't relevant, since HotSpot forbids the use of most
Standard Library facilities.</p></li>
</ul>
<p>HotSpot code can assume no exceptions will ever be thrown, even from
functions not declared <code>noexcept</code>. So HotSpot code doesn't
ever need to check, either with conditional exception specifications or
with <code>noexcept</code> expressions.</p>
<p>The exception specification is part of the type of a function (<a
href="http://wg21.link/p0012r1">p0012r1</a>. This likely has little
impact on HotSpot code, since the use of <code>noexcept</code> is
expected to be rare.</p>
<p>Dynamic exception specifications were deprecated in C++11. C++17
removed all but <code>throw()</code>, with that remaining a deprecated
equivalent to <code>noexcept</code>.</p>
<h3 id="enhanced-selection-statements">Enhanced selection
statements</h3>
<p>C++17 modified the <em>condition</em> part of <code>if</code> and
<code>switch</code> statements, permitting an <em>init-statement</em> to
be included (<a href="http://wg21.link/p0305r1">p0305r1</a>).</p>
<p>Use of this feature is permitted. (However, complex uses may
interfere with readability.) Limiting the scope of a variable involved
in the condition, while also making the value available to the
statement's body, can improve readability. The alternative method of
scope-limiting by introducing a nested scope isn't very popular and is
rarely used.</p>
<p>This new syntax is in addition to the <em>condition</em> being a
declaration with a <em>brace-or-equal-initializer</em>. For an
<code>if</code> statement this new sytax gains that benefit without
violating the long-standing guidance against using <a
href="#avoid-implicit-conversions-to-bool">implicit conversions to
<code>bool</code></a>, which still stands.</p>
<p>For example, uses of Unified Logging sometimes explicitly check
whether a <code>LogTarget</code> is enabled. Instead of</p>
<pre><code> LogTarget(...) lt;
if (lt.is_enabled()) {
LogStream log(lt);
... use log ...
}
... lt is accessible but probably not needed here ...</code></pre>
<p>using this feature one could write</p>
<pre><code> if (LogTarget(...) lt; lt.is_enabled()) {
LogStream log(lt);
... use log ...
}</code></pre>
<p>C++17 also added compile-time <code>if</code> statements (<a
href="http://wg21.link/p0292r2">p0292r2</a>). Use of
<code>if constexpr</code> is permitted. This feature can replace and
(sometimes vastly) simplify many uses of <a
href="https://en.cppreference.com/w/cpp/language/sfinae"
title="Substitution Failure Is Not An Error">SFINAE</a>. The same
declaration and initialization guidance for the <em>condition</em> part
apply here as for ordinary <code>if</code> statements.</p>
<h3 id="expression-evaluation-order">Expression Evaluation Order</h3>
<p>C++17 tightened up the evaluation order for some kinds of
subexpressions (<a href="http://wg21.link/p0138r2">p0138r2</a>). Note,
however, that the Alternate Evaluation Order for Function Calls
alternative in that paper was adopted, rather than the strict left to
right order of evaluation for function call arguments that was proposed
in the main body of the paper.</p>
<p>The primary purpose of this change seems to be to make certain kinds
of call chaining well defined. That's not a style widely used in
HotSpot. In general it is better to continue to avoid questions in this
area by isolating operations with side effects from other statements. In
particular, continue to avoid modifying a value in an expression where
it is also used.</p>
<h3 id="compatibility-with-c11">Compatibility with C11</h3>
<p>C++17 refers to C11 rather than C99. This means that C11 libraries
and functions may be used in HotSpot. There may be limitations because
of differing levels of compatibility among various compilers and
versions of those compilers.</p>
<p>Note that the C parts of the JDK have been built with C11 selected
for some time (<a
href="https://bugs.openjdk.org/browse/JDK-8292008">JDK-8292008</a>).</p>
<h3 id="additional-permitted-features">Additional Permitted
Features</h3>
<ul>
@@ -1125,8 +1522,10 @@ href="https://isocpp.org/files/papers/n3778.html">n3778</a>)</p></li>
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf">n2242</a>)
(<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf">n2555</a>)</p></li>
<li><p>Static assertions (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html">n1720</a>)</p></li>
<li><p>Static assertions (<a href="http://wg21.link/n1720">n1720</a>)
(<a href="http://wg21.link/n3928">n3928</a>)<br> Both the original
(C++11) two-argument form and the new (C++17) single-argument form are
permitted.</p></li>
<li><p><code>decltype</code> (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf">n2343</a>)
(<a
@@ -1168,8 +1567,62 @@ href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html">n2930<
href="https://en.cppreference.com/w/cpp/language/range-for">range-for</a>)</p></li>
<li><p>Unrestricted Unions (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf">n2544</a>)</p></li>
<li><p>Preprocessor Condition <code>__has_include</code> (<a
href="http://wg21.link/p0061r0">p0061r0</a>) (<a
href="http://wg21.link/p0061r1">p0061r1</a>)</p></li>
<li><p>Hexadecimal Floating-Point Literals (<a
href="http://wg21.link/p0245r1">p0245r1</a>)</p></li>
<li><p>Construction Rules for <code>enum class</code> Values (<a
href="http://wg21.link/p0138r2">p0138r2</a>)</p></li>
<li><p>Allow <code>typename</code> in template template parameter (<a
href="http://wg21.link/n4051">n4051</a>) — template template parameters
are barely used (if at all) in HotSpot, but there's no reason to
artificially disallow this syntactic regularization in any such
uses.</p></li>
</ul>
<h3 id="excluded-features">Excluded Features</h3>
<h2 id="excluded-features">Excluded Features</h2>
<h3 id="structured-bindings">Structured Bindings</h3>
<p>The use of structured bindings <a
href="http://wg21.link/p0217r3">p0217r3</a> is forbidden. Preferred
approaches for handling functions with multiple return values
include</p>
<ul>
<li><p>Return a named class/struct intended for that purpose, with named
and typed members/accessors.</p></li>
<li><p>Return a value along with out parameters (usually pointers,
sometimes references).</p></li>
<li><p>Designate a sentinel "failure" value in the normal return value
type, with some out of band location for additional information. For
example, this is the model typically used with <code>errno</code>, where
a function returns a normal result, or -1 to indicate an error, with
additional error information in <code>errno</code>.</p></li>
</ul>
<p>There is a strong preference for names and explicit types, as opposed
to offsets and implicit types. For example, there are folks who strongly
dislike that some of the Standard Library functions return
<code>std::pair</code> because <code>first</code> and
<code>second</code> members don't carry any useful information.</p>
<h3 id="file-system-library">File System Library</h3>
<p>The use of the File System library is forbidden. HotSpot doesn't do
very much with files, and already has adequate mechanisms for its needs.
Rewriting in terms of this new library doesn't provide any obviously
significant benefits. Having a mix of the existing usage and uses of
this new library would be confusing.</p>
<p><a href="http://wg21.link/n4100">n4100</a> <a
href="http://wg21.link/p0218r0">p0218r0</a> <a
href="http://wg21.link/p0219r1">p0219r1</a> <a
href="http://wg21.link/p0317r1">p0317r1</a> <a
href="http://wg21.link/p0392r0">p0392r0</a> <a
href="http://wg21.link/p0430r2">p0430r2</a> <a
href="http://wg21.link/p0492r2">p0492r2</a> <a
href="http://wg21.link/p1164r1">p1164r1</a></p>
<h3 id="aggregate-extensions">Aggregate Extensions</h3>
<p>Aggregates with base classes are forbidden. C++17 allows aggregate
initialization for classes with base classes (<a
href="https://wg21.link/p0017r1">p0017r1</a>). HotSpot makes very little
use of aggregate classes, preferring explicit constructors even for very
simple classes.</p>
<h3 id="additional-excluded-features">Additional Excluded Features</h3>
<ul>
<li><p>New string and character literals</p>
<ul>
@@ -1198,32 +1651,238 @@ Library names.</p></li>
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html">n2179</a>)
— HotSpot does not permit the use of exceptions, so this feature isn't
useful.</p></li>
<li><p>Avoid non-local variables with non-constexpr initialization. In
particular, avoid variables with types requiring non-trivial
initialization or destruction. Initialization order problems can be
difficult to deal with and lead to surprises, as can destruction
ordering. HotSpot doesn't generally try to cleanup on exit, and running
destructors at exit can also lead to problems.</p></li>
<li><p>Avoid most operator overloading, preferring named functions. When
operator overloading is used, ensure the semantics conform to the normal
expected behavior of the operation.</p></li>
<li><p>Avoid most implicit conversion constructors and (implicit or
explicit) conversion operators. (Note that conversion to
<code>bool</code> isn't needed in HotSpot code because of the "no
implicit boolean" guideline.)</p></li>
explicit) conversion operators. Conversion to <code>bool</code>
operators aren't needed because of the <a
href="#avoid-implicit-conversions-to-bool">no implicit boolean</a>
guideline.)</p></li>
<li><p>Avoid <code>goto</code> statements.</p></li>
<li><p>Attributes for namespaces and enumerators (<a
href="http://wg21.link/n4266">n4266</a> — The only applicable attribute
is <a href="#attributes"><code>[[deprecated]]</code></a>, which is
forbidden.</p></li>
<li><p>Variadic <code>using</code> declarations (<a
href="http://wg21.link/p0195r2">p0195r2</a>)</p></li>
<li><p><code>std::variant&lt;&gt;</code> (<a
href="http://wg21.link/p0088r3">p0088r3</a>) — Even if more of the C++
Standard Library is permitted, this class will remain forbidded. Invalid
accesses are indicated by throwing exceptions.</p></li>
<li><p><code>std::any</code> (<a
href="http://wg21.link/p0220r1">p0220r1</a>) — Even if more of the C++
Standard Library is permitted, this class will remain forbidden. It may
require allocation, and always uses the standard allocator. It requires
<a href="https://en.wikipedia.org/wiki/Run-time_type_information"
title="Runtime Type Information">RTTI</a>.</p></li>
<li><p><code>std::as_const()</code> (<a
href="http://wg21.link/p0007r1">p0007r1</a>) — If sufficiently useful,
HotSpot could add such a function. It would likely be added to
globalDefinitions.hpp, where there are already some similar small
utilities.</p></li>
<li><p><code>std::clamp()</code> (<a
href="http://wg21.link/p002501">p002501</a>) — This function is already
provided in globalDefinitions.hpp.</p></li>
<li><p>Parallel STL Algorithms (<a
href="http://wg21.link/p0024r2">p0024r2</a>) — Even if more of the C++
Standard Library is permitted, these will remain forbidden. They are
built on the standard C++ threading mechanisms. HotSpot doesn't use
those mechanisms, instead providing and using its own.</p></li>
<li><p>Cache Line Sizes <a href="http://wg21.link/p0154r1">p0154r1</a>
HotSpot has its own mechanisms for this, using values like
<code>DEFAULT_CACHE_LINE_SIZE</code>. The platform-specific
implementation of the HotSpot mechanisms might use these library
functions, but there is no reason to move away from the current
approach. Quoting from <a href="https://www.cppstd17.com"
title="C++17: The Complete Guide">JOSUTTIS</a>: "... if you know better,
use specific values, but using these values is better than any assumed
fixed size for code supporting multiple platforms."</p></li>
<li><p><code>register</code> storage class removal <a
href="http://wg21.link/p0001r1">p0001r1</a> — The <code>register</code>
storage class has been removed. <code>register</code> is still a
keyword, so still can't be used for normal purposes. Also, this doesn't
affect the use of <code>register</code> for gcc-style extended asm code;
that's a different syntactic element with a different meaning.</p></li>
<li><p>Value of <code>__cplusplus</code> — Testing whether
<code>__cplusplus</code> is defined or not is permitted, and indeed
required. But the value should not need to be examined. The value is
changed with each revision of the Standard. But we build HotSpot and
(most of) the rest of the JDK with a specifically selected version of
the Standard. The value of <code>__cplusplus</code> should be known and
unchanging until we change the project's build configuration again. So
examining the value shouldn't ever be necessary.</p></li>
<li><p>Removal of <code>++</code> for <code>bool</code> (<a
href="http://wg21.link/p0003r1">p0003r1</a>)</p></li>
<li><p>Removal of trigraphs (<a
href="http://wg21.link/n4086">n4086</a>)</p></li>
</ul>
<h3 id="undecided-features">Undecided Features</h3>
<h2 id="undecided-features">Undecided Features</h2>
<p>This list is incomplete; it serves to explicitly call out some
features that have not yet been discussed.</p>
<p>Some features are undecided (so implicitly forbidden) because we
don't expect to use them at all. This might be reconsidered if someone
finds a good use case.</p>
<p>Some Standard Library features are undecided (so implicitly
forbidden) because, while this Style Guide forbids the use of such, they
may be sufficiently useful that we want to permit them anyway. Doing so
may require some idiomatic mechanism for addressing things like
<code>assert</code> incompatibility, incompatibility with HotSpot's
<code>FORBID_C_FUNCTION</code> mechanism, and the like.</p>
<h3 id="stdoptional">std::optional&lt;&gt;</h3>
<p>It is undecided whether to permit the use of
<code>std::optional&lt;&gt;</code> (<a
href="http://wg21.link/p0220r1">p0220r1</a>). It may be sufficiently
useful that it should be permitted despite the usual prohibition against
using Standard Library facilities. Use of the <code>value()</code>
member function must be forbidden, as it reports an invalid access by
throwing an exception.</p>
<h3 id="stdbyte">std::byte</h3>
<p>It is undecided whether to permit the use of the
<code>std::byte</code> type (<a
href="http://wg21.link/p0298r3">p0298r3</a>). It may be sufficiently
useful that it should be permitted despite the usual prohibition against
using Standard Library facilities.</p>
<p>It has been suggested that changing the HotSpot <code>address</code>
type to use <code>std::byte</code> has some benefits. That is,
replace</p>
<pre><code>typedef u_char* address;
typedef const u_char* const_address;</code></pre>
<pre><code>using address = std::byte*;
using const_address = const std::byte*;</code></pre>
<p>in globalDefinitions.hpp.</p>
<p>A specific benefit that was mentioned is that it might improve the
horrible way that gdb handles our current definition of the
<code>address</code> type.</p>
<pre><code>#include &lt;cstddef&gt;
typedef unsigned char* address;
typedef std::byte* address_b;
int main() {
char* mem;
address addr = (address)mem;
address_b addr_b = (address_b)mem;
return 0;
}</code></pre>
<pre><code>(gdb) p addr
$1 = (address) 0x7ffff7fe4fa0 &lt;dl_main&gt; &quot;\363\017\036\372Uf\017\357\300H\211\345AWI\211\377AVAUATSH\201\354\210\002&quot;
(gdb) p addr_b
$2 = (address_b) 0x7ffff7fe4fa0 &lt;dl_main&gt;</code></pre>
<p>This needs to be explored. Some folks have said they will do so.</p>
<h3 id="string-views">String Views</h3>
<p>It is undecided whether to permit the use of
<code>std::string_view</code> (<a
href="http://wg21.link/p0220r1">p0220r1</a>).</p>
<p>HotSpot doesn't use <code>std::string</code>, but uses
<code>char*</code> strings a lot. Wrapping such in a
<code>std::string_view</code> to enable the use of various algorithms
could be useful. But since HotSpot also doesn't permit use of
<code>&lt;algorithm&gt;</code> and the like, that only gets the limited
set of algorithms provided by the view class directly.</p>
<p>There is also the issue of <code>NUL</code> termination; string views
are not necessarily <code>NUL</code> terminated. Moreover, if one goes
to the work of making one that is <code>NUL</code> terminated, that
terminator is included in the size.</p>
<p>There are other caveats. Permitting use of string views would require
discussion of those.</p>
<h3 id="substring-and-subsequence-searching">Substring and Subsequence
Searching</h3>
<p>In addition to simple substring searching, the Standard Library now
includes Boyer-Moore and Boyer-Moore-Horspool searchers, in case someone
wants to search really large texts. That seems an unlikely use-case for
HotSpot. See <a href="http://wg21.link/p0220r1">p0220r1</a>.</p>
<h3 id="new-and-delete-with-over-aligned-data"><code>new</code> and
<code>delete</code> with Over-Aligned Data</h3>
<p>It is undecided whether to permit the use of dynamic allocation of
overaligned types (<a href="http://wg21.link/n3396">n3396</a>).</p>
<p>HotSpot currently only has a couple of over-aligned types that are
dynamically allocated. These are handled manually, not going through
<code>new</code> expressions, as that couldn't work before C++17.</p>
<p>One of the ways an over-aligned type might arise is by aligning a
data member. This might be done to avoid destructive interference for
concurrent accesses. But HotSpot uses a different approach, using
explicit padding. Again, this is in part because <code>new</code> and
<code>delete</code> of overaligned types didn't work. But we might
prefer to continue this approach.</p>
<p>We would need to add <code>operator new</code> overloads to
<code>CHeapObj&lt;&gt;</code> and possibly in other places in order to
support this. However, it has been suggested that implementing it
(efficiently) on top of NMT might be difficult. Note that
<code>posix_memalign</code> / <code>_aligned_malloc</code> don't help
here, because of NMT's use of malloc headers.</p>
<p>If we don't support it we may want to add <code>operator new</code>
overloads that are deleted, to prevent attempted uses.</p>
<p>Alignment usage in non-HotSpot parts of the OpenJDK:</p>
<ul>
<li><p><code>alignas</code> used once in harfbuzz, to align a
variable.</p></li>
<li><p>libpipewire has <code>#define SPA_ALIGNED</code> macro using gcc
<code>aligned</code> attribute, but doesn't use it.</p></li>
<li><p>libsleef has <code>#define ALIGNED</code> macro using gcc
<code>aligned</code> attribute. It is not used for class or member
declarations.</p></li>
</ul>
<h3 id="stdto_chars-and-stdfrom_chars"><code>std::to_chars()</code> and
<code>std::from_chars</code></h3>
<p>It is undecided whether to permit the use of
<code>std::to_chars()</code> and <code>std::from_chars()</code> (<a
href="http://wg21.link/p0067r5">p0067r5</a>).</p>
<p>These functions provide low-level conversions between character
sequences and numeric values. This seems like a good candidate for use
in HotSpot, potentially replacing various clumsy or less performant
alternatives. There is no memory allocation. Parsing failures are
indicated via error codes rather than exceptions. Various other nice for
HotSpot properties.</p>
<p>Note that the published C++17 Standard puts these in
<code>&lt;utility&gt;</code>, but a defect report moved them to
<code>&lt;charconv&gt;</code>. This also needs
<code>&lt;system_error&gt;</code>.</p>
<p>This would require upgrading the minimum gcc version to 11.1 for
floating point conversion support. The minimum Visual Studio version is
already sufficient. The minimum clang version requirement hasn't been
determined yet.</p>
<h3 id="stdlaunder"><code>std::launder()</code></h3>
<p>It is undecided whether to permit the use of
<code>std::launder()</code> (<a
href="http://wg21.link/p0137r1">p0137r1</a>).</p>
<p>Change to permitted if we discover a place where we need it. Or maybe
we should just permit it, but hope we don't need it.</p>
<p>Also, C++20 revised the relevant part of Object Lifetime in a way
that seems more permissive and with less need of laundering. We don't
know if implementations of prior versions take advantage of the
difference.</p>
<p>See Object Lifetime: C++17 6.8/8, C++20 6.7.3/8</p>
<h3 id="additional-undecided-features">Additional Undecided
Features</h3>
<ul>
<li><p>Trailing return type syntax for functions (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm">n2541</a>)</p></li>
<li><p>Variable templates (<a
href="https://isocpp.org/files/papers/N3651.pdf">n3651</a>)</p></li>
<li><p>Member initializers and aggregates (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html">n3653</a>)</p></li>
<li><p>Rvalue references and move semantics</p></li>
<li><p>Shorthand for nested namespaces (<a
href="http://wg21.link/n4230">n4230</a>) — HotSpot makes very little use
of namespaces, so this seemingly innocuous feature probably isn't useful
to us.</p></li>
<li><p>Direct list initialization with <code>auto</code> (<a
href="http://wg21.link/n3681">n3681</a>) — This change fixed some issues
with direct list initialization and <code>auto</code>. But we don't use
that feature much, if at all. And perhaps shouldn't be using
it.</p></li>
<li><p>UTF-8 Character Literals (<a
href="http://wg21.link/n4267">n4267</a>) — Do we have a use-case for
this?</p></li>
<li><p>Fold Expressions (<a href="http://wg21.link/n4295">n4295</a>) —
Provides a simple way to apply operators to a parameter pack. HotSpot
doesn't use variadic templates very much. That makes it questionable
that developers should need to know about this feature. But if someone
does come up with a good use-case, it's likely that the alternatives are
significantly worse, because pack manipulation without this can be
complicated.</p></li>
<li><p><code>std::invoke&lt;&gt;()</code> (<a
href="http://wg21.link/n4169">n4169</a>)</p></li>
</ul>
</body>
</html>

View File

@@ -135,6 +135,17 @@ lines of code. Name what you must repeat.
change should be done with a "setter" accessor matched to the simple
"getter".
#### Conventions for Lock-free Code
Sometimes variables are accessed concurrently without appropriate synchronization
context, such as a held mutex or at a safepoint. In such cases the variable should
be declared `volatile` and it should NOT be accessed as a normal C++ lvalue. Rather,
access should be performed via functions from `Atomic`, such as `Atomic::load`,
`Atomic::store`, etc.
This special formulation makes it more clear to maintainers that the variable is
accessed concurrently in a lock-free manner.
### Source Files
* All source files must have a globally unique basename. The build
@@ -366,20 +377,22 @@ adjust new lines horizontally to be consistent with that
organization. (E.g., trailing backslashes on long macro definitions
often align.)
### Avoid implicit conversions to bool
* Use `bool` for boolean values.
* Do not use ints or pointers as (implicit) booleans with `&&`, `||`,
`if`, `while`. Instead, compare explicitly, i.e. `if (x != 0)` or
`if (ptr != nullptr)`, etc.
* Do not use non-boolean declarations in _condition_ forms, i.e. don't use
`if (T v = value) { ... }`. But see
[Enhanced selection statements](#enhanced-selection-statements).
### Miscellaneous
* Use the [Resource Acquisition Is Initialization][RAII] (RAII)
design pattern to manage bracketed critical
sections. See class `ResourceMark` for an example.
* Avoid implicit conversions to `bool`.
* Use `bool` for boolean values.
* Do not use ints or pointers as (implicit) booleans with `&&`, `||`,
`if`, `while`. Instead, compare explicitly, i.e. `if (x != 0)` or
`if (ptr != nullptr)`, etc.
* Do not use declarations in _condition_ forms, i.e. don't use
`if (T v = value) { ... }`.
* Use functions from globalDefinitions.hpp and related files when
performing bitwise
operations on integers. Do not code directly as C operators, unless
@@ -391,18 +404,17 @@ they are extremely simple. (Examples: `align_up`, `is_power_of_2`,
* Always enumerate all cases in a switch statement or provide a default
case. It is ok to have an empty default with comment.
## Use of C++ Features
HotSpot was originally written in a subset of the C++98/03 language.
More recently, support for C++14 is provided, though again,
More recently, support for C++17 is provided, though again,
HotSpot only uses a subset. (Backports to JDK versions lacking
support for more recent Standards must of course stick with the
original C++98/03 subset.)
This section describes that subset. Features from the C++98/03
language may be used unless explicitly excluded here. Features from
C++11 and C++14 may be explicitly permitted or explicitly excluded,
C++11, C++14, and C++17 may be explicitly permitted or explicitly excluded,
and discussed accordingly here. There is a third category, undecided
features, about which HotSpot developers have not yet reached a
consensus, or perhaps have not discussed at all. Use of these
@@ -417,9 +429,9 @@ more extensive discussion or rationale for limitations. Features that
don't have their own subsection are listed in omnibus feature sections
for permitted, excluded, and undecided features.
Lists of new features for C++11 and C++14, along with links to their
Lists of new features for C++11, C++14, and C++17, along with links to their
descriptions, can be found in the online documentation for some of the
compilers and libraries. The C++14 Standard is the definitive
compilers and libraries. The C++17 Standard is the definitive
description.
* [C++ Standards Support in GCC](https://gcc.gnu.org/projects/cxx-status.html)
@@ -624,13 +636,41 @@ For local variables, this can be used to make the code clearer by
eliminating type information that is obvious or irrelevant. Excessive
use can make code much harder to understand.
* `auto` for non-type template parameters
([p0127r2](http://wg21.link/p0127r2))<br>
`auto` may be used as a placeholder for the type of a non-type template
parameter. The type is deduced from the value provided in a template
instantiation.
<a name="function-return-type-deduction"></a>
* Function return type deduction
([n3638](https://isocpp.org/files/papers/N3638.html))<br>
Only use if the function body has a very small number of `return`
statements, and generally relatively little other code.
* Class template argument deduction
([n3602](http://wg21.link/n3602), [p0091r3](http://wg21.link/p0091r3))<br>
The template arguments of a class template may be deduced from the arguments
to a constructor. This is similar to ordinary function argument deduction,
though partial deduction with only _some_ template arguments explicitly
provided is not permitted for class template argument deduction. Deduction
guides may be used to provide additional control over the deduction. As with
`auto` variable declarations, excessive use can make code harder to
understand, because explicit type information is lacking. But it can also
remove the need to be explicit about types that are either obvious, or that
are very hard to write. For example, these allow the addition of a scope-guard
mechanism with nice syntax; something like this
```
ScopeGuard guard{[&]{ ... cleanup code ... }};
```
* Also see [lambda expressions](#lambdaexpressions).
* `decltype(auto)` should be avoided, whether for variables, for non-type
template parameters, or for function return types. There are subtle and
complex differences between this placeholder type and `auto`. Any use would
need very careful explanation.
### Expression SFINAE
[Substitution Failure Is Not An Error][SFINAE] (SFINAE)
@@ -652,6 +692,52 @@ Here are a few closely related example bugs:<br>
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95468><br>
<https://developercommunity.visualstudio.com/content/problem/396562/sizeof-deduced-type-is-sometimes-not-a-constant-ex.html>
### Trailing return type syntax for functions
A function's return type may be specified after the parameters and qualifiers
([n2541](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm)).
In such a declaration the normal return type is `auto` and the return type is
indicated by `->` followed by the type. Although both use `auto` in the
"normal" leading return type position, this differs from
[function return type deduction](#function-return-type-deduction),
in that the return type is explicit rather than deduced, but specified in a
trailing position.
Use of trailing return types is permitted. However, the normal, leading
position for the return type is preferred. A trailing return type should only
be used where it provides some benefit. Such benefits usually arise because a
trailing return type is in a different scope than a leading return type.
* If the function identifier is a nested name specifier, then the trailing
return type occurs in the nested scope. This may permit simpler naming in the
return type because of the different name lookup context.
* The trailing return type is in the scope of the parameters, making their
types accessible via `decltype`. For example
```
template<typename T, typename U> auto add(T t, U u) -> decltype(t + u);
```
rather than
```
template<typename T, typename U> decltype((*(T*)0) + (*(U*)0)) add(T t, U u);
```
* Complex calculated leading return types may obscure the normal syntactic
boundaries, making it more difficult for a reader to find the function name and
parameters. This is particularly common in cases where the return type is
being used for [SFINAE]. A trailing return type may be preferable in such
situations.
### Non-type template parameter values
C++17 extended the arguments permitted for non-type template parameters
([n4268](http://wg21.link/n4268)). The kinds of values (the parameter types)
aren't changed. However, the values can now be the result of arbitrary
constant expressions (with a few restrictions on the result), rather than a
much more limited and restrictive set of expressions. In particular, the
argument for a pointer or reference type parameter can now be the result of a
constexpr function.
### enum
Where appropriate, _scoped-enums_ should be used.
@@ -770,6 +856,65 @@ ordering, which may differ from (may be stronger than) sequentially
consistent. There are algorithms in HotSpot that are believed to rely
on that ordering.
### Variable Templates and Inline Variables
The use of variable templates (including static data member templates)
([N3651](https://wg21.link/N3651)) is permitted. They provide parameterized
variables and constants in a simple and direct form, instead of requiring the
use of various workarounds.
Variables with static storage duration and variable templates may be declared
`inline` ([p0386r2](https://wg21.link/p0386r2)), and this usage is
permitted. This has similar effects as for declaring a function inline: it can
be defined, identically, in multiple translation units, must be defined in
every translation unit in which it is [ODR used][ODR], and the behavior of the
program is as if there is exactly one variable.
Declaring a variable inline allows the complete definition to be in a header
file, rather than having a declaration in a header and the definition in a
.cpp file. The guidance on
[initialization](#initializing-variables-with-static-storage-duration) of such
variables still applies. Inline variables with dynamic initializations can
make initialization order problems worse. The few ordering constraints
that exist for non-inline variables don't apply, as there isn't a single
program-designated translation unit containing the definition.
A `constexpr` static data member or static data member template
is implicitly `inline`. As a consequence, an
[ODR use][ODR] of such a member doesn't require a definition in some .cpp
file. (This is a change from pre-C++17. Beginning with C++17, such a
definition is considered a duplicate definition, and is deprecated.)
Declaring a `thread_local` variable template or `inline` variable is forbidden
in HotSpot code. [The use of `thread_local`](#thread_local) is already
heavily restricted.
### Initializing variables with static storage duration
Variables with static storage duration and _dynamic initialization_
[C++14 3.6.2](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf)).
should be avoided, unless an implementation is permitted to perform the
initialization as a static initialization. The order in which dynamic
initializations occur is incompletely specified. Initialization order
problems can be difficult to deal with and lead to surprises.
Variables with static storage duration and non-trivial destructors should be
avoided. HotSpot doesn't generally try to cleanup on exit, and running
destructors at exit can lead to problems.
Some of the approaches used in HotSpot to avoid dynamic initialization
include:
* Use the `Deferred<T>` class template. Add a call to its initialization
function at an appropriate place during VM initialization. The underlying
object is never destroyed.
* For objects of class type, use a variable whose value is a pointer to the
class, initialized to `nullptr`. Provide an initialization function that sets
the variable to a dynamically allocated object. Add a call to that function at
an appropriate place during VM initialization. Such objects are usually never
destroyed.
### Uniform Initialization
The use of _uniform initialization_
@@ -787,6 +932,53 @@ Some relevant sections from cppreference.com:
Although related, the use of `std::initializer_list` remains forbidden, as
part of the avoidance of the C++ Standard Library in HotSpot code.
### Mandatory Copy Elision
[Copy elision](https://en.wikipedia.org/wiki/Copy_elision)
(or [here](https://cn.cppreference.com/w/cpp/language/copy_elision.html))
is a compiler optimization used to avoid potentially expensive copies in
certain situations. It is critical to making practical the performance of
return by value or pass by value. It is also unusual in not following the
as-if rule for optimizations - copy elision can be applied even if doing so
bypasses side-effects of copying/moving the object. The C++ standard
explicitly permits this.
However, because it's an optional optimization, the relevant copy/move
constructor must be available and accessible, in case the compiler chooses to
not apply the optimization even in a situation where permitted.
C++17 changed some cases of copy elision so that there is never a copy/move in
these cases ([p0135r1](http://wg21.link/p0135r1)). The interesting cases
involve a function that returns an unnamed temporary object, and constructors.
In such cases the object being initialized from the temporary is always direct
initialized, with no copy/move ever involved; see [RVO] and more specifically
[URVO].
Since this is now standard behavior it can't be avoided in the covered
situations. This could change the behavior of code that relied on side effects
by constructors, but that's both uncommon and was already problematic because
of the previous optional copy elision. But HotSpot code can, and should,
explicitly take advantage of this newly required behavior where it makes sense
to do so.
For example, it may be beneficial to delay construction of the result of a
function until the return statement, rather than having a local variable that
is modified into the desired state and then returned. (Though [NRVO] may apply
in that case.)
It is also now possible to define a factory function for a class that is
neither movable nor copyable, if it can be written in a way that makes use of
this feature.
[RVO]: https://en.wikipedia.org/wiki/Copy_elision#RVO
"Return Value Optimization"
[NRVO]: https://en.wikipedia.org/wiki/Copy_elision#NRVO
"Named Return Value Optimization"
[URVO]: https://cn.cppreference.com/w/cpp/language/copy_elision.html
"Unnamed Return Value Optimization"
### Local Function Objects
* Local function objects, including lambda expressions, may be used.
@@ -855,6 +1047,12 @@ Another use for local functions is [partial application][PARTIALAPP]. Again
here, lambdas are typically much simpler and less verbose than function
object classes.
A lambda is a constexpr function if either the parameter declaration clause is
followed by `constexpr`, or it satisfies the requirements for a constexpr
function ([p0170r1]). Thus, using a lambda to package up some computation
doesn't incur unnecessary overhead or prevent use in a context required to be
compile-time evaluated (such as an array size).
Because of these benefits, lambda expressions are permitted in HotSpot code,
with some restrictions and usage guidance. An anonymous lambda is one which
is passed directly as an argument. A named lambda is the value of a
@@ -906,6 +1104,17 @@ the most part they don't apply to HotSpot code, given other usage restrictions.
applies to captured auto variables, not member variables, and is
inconsistent with referential transparency.
* By-value capture of `this` (using a capture list like `[*this]` ([p0018r3]))
is also not permitted. One of the motivating use-cases is when the lifetime of
the lambda exceeds the lifetime of the object for the containing member
function. That is, we have an upward lambda that is capturing `this` of the
enclosing method. But again, that use-case doesn't apply if only downward
lambdas are used.
Another use-case is when we simply want the lambda to be operating on a copy
of `this` for some reason. This is sufficiently uncommon that it can be
handled by manual copying, so readers don't need to understand this rare
syntax.
* Non-capturing lambdas (with an empty capture list - `[]`) have limited
utility. There are cases where no captures are required (pure functions,
for example), but if the function is small and simple then that's obvious
@@ -915,7 +1124,7 @@ anyway.
Capture initializers inherently increase the complexity of the capture list,
and provide little benefit over an additional in-scope local variable.
The use of `mutable` lambda expressions is forbidden because there don't
* The use of `mutable` lambda expressions is forbidden because there don't
seem to be many, if any, good use-cases for them in HotSpot. A lambda
expression needs to be mutable in order to modify a by-value captured value.
But with only downward lambdas, such usage seems likely to be rare and
@@ -1062,21 +1271,12 @@ Do not use _inheriting constructors_
C++11 provides simple syntax allowing a class to inherit the constructors of a
base class. Unfortunately there are a number of problems with the original
specification, and C++17 contains significant revisions ([p0136r1] opens with
a list of 8 Core Issues). Since HotSpot doesn't support use of C++17, use of
inherited constructors could run into those problems. Such uses might also
change behavior in a future HotSpot update to use C++17 or later, potentially
in subtle ways that could lead to hard to diagnose problems. Because of this,
HotSpot code must not use inherited constructors.
a list of 8 Core Issues). Although those issues have been addressed, the
benefits from this feature are small compared to the complexity. Because of
this, HotSpot code must not use inherited constructors.
Note that gcc7 provides the `-fnew-inheriting-ctors` option to use the
[p0136r1] semantics. This is enabled by default when using C++17 or later.
It is also enabled by default for `fabi-version=11` (introduced by gcc7) or
higher when using C++11/14, as the change is considered a Defect Report that
applies to those versions. Earlier versions of gcc don't have that option,
and other supported compilers may not have anything similar.
[p0136r1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html
"p0136r1"
[p0136r1]: http:/wg21.link/p0136r1 "p0136r1"
[p0195r0](http://wg21.link/p0195r0)
### Attributes
@@ -1095,15 +1295,160 @@ preferred location.
function's declaration, rather than between the function name and the parameter
list.
[p0068r0](http://wg21.link/p0068r0) is the initial proposal for the attributes
added by C++17.)
Only the following attributes are permitted:
* `[[noreturn]]`
* `[[nodiscard]]` ([p0189r1](http://wg21.link/p0189r1))
* `[[maybe_unused]]` ([p0212r1](http://wg21.link/p0212r1))
* `[[fallthrough]]` ([p0188r1](http://wg21.link/p0188))
The following attributes are expressly forbidden:
* `[[carries_dependency]]` - Related to `memory_order_consume`.
* `[[deprecated]]` - Not relevant in HotSpot code.
Direct use of non-standard (and presumably scoped) attributes in shared code
is also forbidden. Using such would depend on the C++17 feature that an
attribute not recognized by the implementation is ignored
([p0283r2](http://wg21.link/p0283r2)). If such an attribute is needed in
shared code, the well-established technique of providing an `ATTRIBUTE_XXX`
macro with per-compiler definitions (sometimes empty) should be
used. Compilers may warn about unrecognized attributes (whether by name or by
location), in order to report typos or misuse. Disabling such warnings
globally would not be desirable.
The use of `using` directives in attribute lists is also forbidden.
([p0028r0](http://wg21.link/p0028r0))
([p0028r4](http://wg21.link/p0028r4))
We don't generally use scoped attributes in attribute lists with other
attributes. Rather, uses of scoped attributes (which are implementation
defined) are generally hidden behind a portability macro that includes the
surrounding brackets.
### noexcept
Use of `noexcept` exception specifications
([n3050](http://wg21.link/n3050))
are permitted with restrictions described below.
* Only the argument-less form of `noexcept` exception specifications are
permitted.
* Allocation functions that may return `nullptr` to indicate allocation
failure must be declared `noexcept`.
* All other uses of `noexcept` exception specifications are forbidden.
* `noexcept` expressions are forbidden.
* Dynamic exception specifications are forbidden.
HotSpot is built with exceptions disabled, e.g. compile with `-fno-exceptions`
(gcc, clang) or no `/EH` option (MSVC++). So why do we need to consider
`noexcept` at all? It's because `noexcept` exception specifications serve two
distinct purposes.
The first is to allow the compiler to avoid generating code or data in support
of exceptions being thrown by a function. But this is unnecessary, because
exceptions are disabled.
The second is to allow the compiler and library code to choose different
algorithms, depending on whether some function may throw exceptions. This is
only relevant to a certain set of functions.
* Some allocation functions (`operator new` and `operator new[]`) return
`nullptr` to indicate allocation failure. If a `new` expression calls such an
allocation function, it must check for and handle that possibility. Declaring
such a function `noexcept` informs the compiler that `nullptr` is a possible
result. If an allocation function is not declared `noexcept` then the compiler
may elide that checking and handling for a `new` expression calling that
function.
* Certain Standard Library facilities (notably containers) provide different
guarantees for some operations (and may choose different algorithms to
implement those operations), depending on whether certain functions
(constructors, copy/move operations, swap) are nothrow or not. They detect
this using type traits that test whether a function is declared `noexcept`.
This can have a significant performance impact if, for example, copying is
chosen over a potentially throwing move. But this isn't relevant, since
HotSpot forbids the use of most Standard Library facilities.
HotSpot code can assume no exceptions will ever be thrown, even from functions
not declared `noexcept`. So HotSpot code doesn't ever need to check, either
with conditional exception specifications or with `noexcept` expressions.
The exception specification is part of the type of a function
([p0012r1](http://wg21.link/p0012r1). This likely has little impact on HotSpot
code, since the use of `noexcept` is expected to be rare.
Dynamic exception specifications were deprecated in C++11. C++17 removed all
but `throw()`, with that remaining a deprecated equivalent to `noexcept`.
### Enhanced selection statements
C++17 modified the _condition_ part of `if` and `switch` statements, permitting
an _init-statement_ to be included
([p0305r1](http://wg21.link/p0305r1)).
Use of this feature is permitted. (However, complex uses may interfere with
readability.) Limiting the scope of a variable involved in the condition,
while also making the value available to the statement's body, can improve
readability. The alternative method of scope-limiting by introducing a nested
scope isn't very popular and is rarely used.
This new syntax is in addition to the _condition_ being a declaration with a
_brace-or-equal-initializer_. For an `if` statement this new sytax gains that
benefit without violating the long-standing guidance against using
[implicit conversions to `bool`](#avoid-implicit-conversions-to-bool),
which still stands.
For example, uses of Unified Logging sometimes explicitly check whether a
`LogTarget` is enabled. Instead of
```
LogTarget(...) lt;
if (lt.is_enabled()) {
LogStream log(lt);
... use log ...
}
... lt is accessible but probably not needed here ...
```
using this feature one could write
```
if (LogTarget(...) lt; lt.is_enabled()) {
LogStream log(lt);
... use log ...
}
```
C++17 also added compile-time `if` statements
([p0292r2](http://wg21.link/p0292r2)). Use of `if constexpr` is
permitted. This feature can replace and (sometimes vastly) simplify many uses
of [SFINAE]. The same declaration and initialization guidance for the
_condition_ part apply here as for ordinary `if` statements.
### Expression Evaluation Order
C++17 tightened up the evaluation order for some kinds of subexpressions
([p0138r2](http://wg21.link/p0138r2)). Note, however, that the Alternate
Evaluation Order for Function Calls alternative in that paper was adopted,
rather than the strict left to right order of evaluation for function call
arguments that was proposed in the main body of the paper.
The primary purpose of this change seems to be to make certain kinds of call
chaining well defined. That's not a style widely used in HotSpot. In general
it is better to continue to avoid questions in this area by isolating
operations with side effects from other statements. In particular, continue to
avoid modifying a value in an expression where it is also used.
### Compatibility with C11
C++17 refers to C11 rather than C99. This means that C11 libraries and
functions may be used in HotSpot. There may be limitations because of
differing levels of compatibility among various compilers and versions of
those compilers.
Note that the C parts of the JDK have been built with C11 selected for some
time ([JDK-8292008](https://bugs.openjdk.org/browse/JDK-8292008)).
### Additional Permitted Features
* `alignof`
@@ -1121,7 +1466,10 @@ The following attributes are expressly forbidden:
([n2555](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf))
* Static assertions
([n1720](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html))
([n1720](http://wg21.link/n1720))
([n3928](http://wg21.link/n3928))<br>
Both the original (C++11) two-argument form and the new (C++17)
single-argument form are permitted.
* `decltype`
([n2343](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf))
@@ -1168,7 +1516,72 @@ The following attributes are expressly forbidden:
* Unrestricted Unions
([n2544](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf))
### Excluded Features
* Preprocessor Condition `__has_include`
([p0061r0](http://wg21.link/p0061r0))
([p0061r1](http://wg21.link/p0061r1))
* Hexadecimal Floating-Point Literals
([p0245r1](http://wg21.link/p0245r1))
* Construction Rules for `enum class` Values
([p0138r2](http://wg21.link/p0138r2))
* Allow `typename` in template template parameter
([n4051](http://wg21.link/n4051)) &mdash; template template parameters are
barely used (if at all) in HotSpot, but there's no reason to artificially
disallow this syntactic regularization in any such uses.
## Excluded Features
### Structured Bindings
The use of structured bindings [p0217r3](http://wg21.link/p0217r3) is
forbidden. Preferred approaches for handling functions with multiple return
values include
* Return a named class/struct intended for that purpose, with named and typed
members/accessors.
* Return a value along with out parameters (usually pointers, sometimes
references).
* Designate a sentinel "failure" value in the normal return value type, with
some out of band location for additional information. For example, this is
the model typically used with `errno`, where a function returns a normal
result, or -1 to indicate an error, with additional error information in
`errno`.
There is a strong preference for names and explicit types, as opposed to
offsets and implicit types. For example, there are folks who strongly dislike
that some of the Standard Library functions return `std::pair` because `first`
and `second` members don't carry any useful information.
### File System Library
The use of the File System library is forbidden. HotSpot doesn't do very much
with files, and already has adequate mechanisms for its needs. Rewriting in
terms of this new library doesn't provide any obviously significant
benefits. Having a mix of the existing usage and uses of this new library
would be confusing.
[n4100](http://wg21.link/n4100)
[p0218r0](http://wg21.link/p0218r0)
[p0219r1](http://wg21.link/p0219r1)
[p0317r1](http://wg21.link/p0317r1)
[p0392r0](http://wg21.link/p0392r0)
[p0430r2](http://wg21.link/p0430r2)
[p0492r2](http://wg21.link/p0492r2)
[p1164r1](http://wg21.link/p1164r1)
### Aggregate Extensions
Aggregates with base classes are forbidden. C++17 allows aggregate
initialization for classes with base classes
([p0017r1](https://wg21.link/p0017r1)). HotSpot makes very little use of
aggregate classes, preferring explicit constructors even for very simple
classes.
### Additional Excluded Features
* New string and character literals
* New character types
@@ -1199,39 +1612,279 @@ namespace std;` to avoid needing to qualify Standard Library names.
([n2179](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html)) &mdash;
HotSpot does not permit the use of exceptions, so this feature isn't useful.
* Avoid non-local variables with non-constexpr initialization.
In particular, avoid variables with types requiring non-trivial
initialization or destruction. Initialization order problems can be
difficult to deal with and lead to surprises, as can destruction
ordering. HotSpot doesn't generally try to cleanup on exit, and
running destructors at exit can also lead to problems.
* Avoid most operator overloading, preferring named functions. When
operator overloading is used, ensure the semantics conform to the
normal expected behavior of the operation.
* Avoid most implicit conversion constructors and (implicit or explicit)
conversion operators. (Note that conversion to `bool` isn't needed
in HotSpot code because of the "no implicit boolean" guideline.)
conversion operators. Conversion to `bool` operators aren't needed
because of the
[no implicit boolean](#avoid-implicit-conversions-to-bool)
guideline.)
* Avoid `goto` statements.
### Undecided Features
* Attributes for namespaces and enumerators
([n4266](http://wg21.link/n4266) &mdash;
The only applicable attribute is [`[[deprecated]]`](#attributes), which is
forbidden.
* Variadic `using` declarations
([p0195r2](http://wg21.link/p0195r2))
* `std::variant<>`
([p0088r3](http://wg21.link/p0088r3)) &mdash;
Even if more of the C++ Standard Library is permitted, this class will remain
forbidded. Invalid accesses are indicated by throwing exceptions.
* `std::any`
([p0220r1](http://wg21.link/p0220r1)) &mdash;
Even if more of the C++ Standard Library is permitted, this class will remain
forbidden. It may require allocation, and always uses the standard
allocator. It requires [RTTI].
* `std::as_const()`
([p0007r1](http://wg21.link/p0007r1)) &mdash;
If sufficiently useful, HotSpot could add such a function. It would likely be
added to globalDefinitions.hpp, where there are already some similar small
utilities.
* `std::clamp()`
([p002501](http://wg21.link/p002501)) &mdash;
This function is already provided in globalDefinitions.hpp.
* Parallel STL Algorithms
([p0024r2](http://wg21.link/p0024r2)) &mdash;
Even if more of the C++ Standard Library is permitted, these will remain
forbidden. They are built on the standard C++ threading mechanisms. HotSpot
doesn't use those mechanisms, instead providing and using its own.
* Cache Line Sizes
[p0154r1](http://wg21.link/p0154r1) &mdash;
HotSpot has its own mechanisms for this, using values like
`DEFAULT_CACHE_LINE_SIZE`. The platform-specific implementation of the HotSpot
mechanisms might use these library functions, but there is no reason to move
away from the current approach. Quoting from [JOSUTTIS]: "... if you know better,
use specific values, but using these values is better than any assumed fixed
size for code supporting multiple platforms."
* `register` storage class removal
[p0001r1](http://wg21.link/p0001r1) &mdash;
The `register` storage class has been removed. `register` is still a keyword,
so still can't be used for normal purposes. Also, this doesn't affect the use
of `register` for gcc-style extended asm code; that's a different syntactic
element with a different meaning.
* Value of `__cplusplus` &mdash;
Testing whether `__cplusplus` is defined or not is permitted, and indeed
required. But the value should not need to be examined. The value is changed
with each revision of the Standard. But we build HotSpot and (most of) the
rest of the JDK with a specifically selected version of the Standard. The
value of `__cplusplus` should be known and unchanging until we change the
project's build configuration again. So examining the value shouldn't ever be
necessary.
* Removal of `++` for `bool`
([p0003r1](http://wg21.link/p0003r1))
* Removal of trigraphs
([n4086](http://wg21.link/n4086))
## Undecided Features
This list is incomplete; it serves to explicitly call out some
features that have not yet been discussed.
* Trailing return type syntax for functions
([n2541](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm))
Some features are undecided (so implicitly forbidden) because we don't expect
to use them at all. This might be reconsidered if someone finds a good use
case.
* Variable templates
([n3651](https://isocpp.org/files/papers/N3651.pdf))
Some Standard Library features are undecided (so implicitly forbidden)
because, while this Style Guide forbids the use of such, they may be
sufficiently useful that we want to permit them anyway. Doing so may require
some idiomatic mechanism for addressing things like `assert` incompatibility,
incompatibility with HotSpot's `FORBID_C_FUNCTION` mechanism, and the like.
### std::optional<>
It is undecided whether to permit the use of `std::optional<>`
([p0220r1](http://wg21.link/p0220r1)). It may be sufficiently useful that it
should be permitted despite the usual prohibition against using Standard
Library facilities. Use of the `value()` member function must be forbidden, as
it reports an invalid access by throwing an exception.
### std::byte
It is undecided whether to permit the use of the `std::byte` type
([p0298r3](http://wg21.link/p0298r3)). It may be sufficiently useful that it
should be permitted despite the usual prohibition against using Standard
Library facilities.
It has been suggested that changing the HotSpot `address` type to use
`std::byte` has some benefits. That is, replace
```
typedef u_char* address;
typedef const u_char* const_address;
```
```
using address = std::byte*;
using const_address = const std::byte*;
```
in globalDefinitions.hpp.
A specific benefit that was mentioned is that it might improve the horrible
way that gdb handles our current definition of the `address` type.
```
#include <cstddef>
typedef unsigned char* address;
typedef std::byte* address_b;
int main() {
char* mem;
address addr = (address)mem;
address_b addr_b = (address_b)mem;
return 0;
}
```
```
(gdb) p addr
$1 = (address) 0x7ffff7fe4fa0 <dl_main> "\363\017\036\372Uf\017\357\300H\211\345AWI\211\377AVAUATSH\201\354\210\002"
(gdb) p addr_b
$2 = (address_b) 0x7ffff7fe4fa0 <dl_main>
```
This needs to be explored. Some folks have said they will do so.
### String Views
It is undecided whether to permit the use of `std::string_view`
([p0220r1](http://wg21.link/p0220r1)).
HotSpot doesn't use `std::string`, but uses `char*` strings a lot. Wrapping
such in a `std::string_view` to enable the use of various algorithms could be
useful. But since HotSpot also doesn't permit use of `<algorithm>` and the
like, that only gets the limited set of algorithms provided by the view class
directly.
There is also the issue of `NUL` termination; string views are not necessarily
`NUL` terminated. Moreover, if one goes to the work of making one that is
`NUL` terminated, that terminator is included in the size.
There are other caveats. Permitting use of string views would require
discussion of those.
### Substring and Subsequence Searching
In addition to simple substring searching, the Standard Library now includes
Boyer-Moore and Boyer-Moore-Horspool searchers, in case someone wants to
search really large texts. That seems an unlikely use-case for HotSpot. See
[p0220r1](http://wg21.link/p0220r1).
### `new` and `delete` with Over-Aligned Data
It is undecided whether to permit the use of dynamic allocation of overaligned
types ([n3396](http://wg21.link/n3396)).
HotSpot currently only has a couple of over-aligned types that are dynamically
allocated. These are handled manually, not going through `new` expressions, as
that couldn't work before C++17.
One of the ways an over-aligned type might arise is by aligning a data member.
This might be done to avoid destructive interference for concurrent accesses.
But HotSpot uses a different approach, using explicit padding. Again, this is
in part because `new` and `delete` of overaligned types didn't work. But we
might prefer to continue this approach.
We would need to add `operator new` overloads to `CHeapObj<>` and possibly in
other places in order to support this. However, it has been suggested that
implementing it (efficiently) on top of NMT might be difficult. Note that
`posix_memalign` / `_aligned_malloc` don't help here, because of NMT's use of
malloc headers.
If we don't support it we may want to add `operator new` overloads that are
deleted, to prevent attempted uses.
Alignment usage in non-HotSpot parts of the OpenJDK:
* `alignas` used once in harfbuzz, to align a variable.
* libpipewire has `#define SPA_ALIGNED` macro using gcc `aligned` attribute,
but doesn't use it.
* libsleef has `#define ALIGNED` macro using gcc `aligned` attribute. It is
not used for class or member declarations.
### `std::to_chars()` and `std::from_chars`
It is undecided whether to permit the use of `std::to_chars()` and
`std::from_chars()` ([p0067r5](http://wg21.link/p0067r5)).
These functions provide low-level conversions between character sequences and
numeric values. This seems like a good candidate for use in HotSpot,
potentially replacing various clumsy or less performant alternatives. There is
no memory allocation. Parsing failures are indicated via error codes rather
than exceptions. Various other nice for HotSpot properties.
Note that the published C++17 Standard puts these in `<utility>`, but a defect
report moved them to `<charconv>`. This also needs `<system_error>`.
This would require upgrading the minimum gcc version to 11.1 for floating
point conversion support. The minimum Visual Studio version is already
sufficient. The minimum clang version requirement hasn't been determined yet.
### `std::launder()`
It is undecided whether to permit the use of `std::launder()`
([p0137r1](http://wg21.link/p0137r1)).
Change to permitted if we discover a place where we need it. Or maybe we
should just permit it, but hope we don't need it.
Also, C++20 revised the relevant part of Object Lifetime in a way that seems
more permissive and with less need of laundering. We don't know if
implementations of prior versions take advantage of the difference.
See Object Lifetime: C++17 6.8/8, C++20 6.7.3/8
### Additional Undecided Features
* Member initializers and aggregates
([n3653](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html))
* Rvalue references and move semantics
* Shorthand for nested namespaces
([n4230](http://wg21.link/n4230)) &mdash;
HotSpot makes very little use of namespaces, so this seemingly innocuous
feature probably isn't useful to us.
* Direct list initialization with `auto`
([n3681](http://wg21.link/n3681)) &mdash;
This change fixed some issues with direct list initialization and `auto`. But
we don't use that feature much, if at all. And perhaps shouldn't be using it.
* UTF-8 Character Literals
([n4267](http://wg21.link/n4267)) &mdash;
Do we have a use-case for this?
* Fold Expressions
([n4295](http://wg21.link/n4295)) &mdash;
Provides a simple way to apply operators to a parameter pack. HotSpot doesn't
use variadic templates very much. That makes it questionable that developers
should need to know about this feature. But if someone does come up with a
good use-case, it's likely that the alternatives are significantly worse,
because pack manipulation without this can be complicated.
* `std::invoke<>()`
([n4169](http://wg21.link/n4169))
[ADL]: https://en.cppreference.com/w/cpp/language/adl
"Argument Dependent Lookup"
@@ -1249,3 +1902,6 @@ features that have not yet been discussed.
[PARTIALAPP]: https://en.wikipedia.org/wiki/Partial_application
"Partial Application"
[JOSUTTIS]: https://www.cppstd17.com
"C++17: The Complete Guide"

View File

@@ -11,11 +11,8 @@
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;

View File

@@ -72,11 +72,9 @@ id="toc-notes-for-specific-tests">Notes for Specific Tests</a>
<li><a href="#non-us-locale" id="toc-non-us-locale">Non-US
locale</a></li>
<li><a href="#pkcs11-tests" id="toc-pkcs11-tests">PKCS11 Tests</a></li>
</ul></li>
<li><a href="#testing-ahead-of-time-optimizations"
id="toc-testing-ahead-of-time-optimizations">### Testing Ahead-of-time
Optimizations</a>
<ul>
id="toc-testing-ahead-of-time-optimizations">Testing Ahead-of-time
Optimizations</a></li>
<li><a href="#testing-with-alternative-security-providers"
id="toc-testing-with-alternative-security-providers">Testing with
alternative security providers</a></li>
@@ -400,7 +398,8 @@ TEST_OPTS keywords.</p>
<h4 id="jobs">JOBS</h4>
<p>Currently only applies to JTReg.</p>
<h4 id="timeout_factor">TIMEOUT_FACTOR</h4>
<p>Currently only applies to JTReg.</p>
<p>Currently only applies to <a href="#timeout_factor-1">JTReg
-timeoutFactor</a>.</p>
<h4 id="java_options">JAVA_OPTIONS</h4>
<p>Applies to JTReg, GTest and Micro.</p>
<h4 id="vm_options">VM_OPTIONS</h4>
@@ -435,6 +434,9 @@ the diff between the specified revision and the repository tip.</p>
<p>The report is stored in
<code>build/$BUILD/test-results/jcov-output/diff_coverage_report</code>
file.</p>
<h4 id="aot_jdk">AOT_JDK</h4>
<p>See <a href="#testing-ahead-of-time-optimizations">Testing
Ahead-of-time optimizations</a>.</p>
<h3 id="jtreg-keywords">JTReg keywords</h3>
<h4 id="jobs-1">JOBS</h4>
<p>The test concurrency (<code>-concurrency</code>).</p>
@@ -443,8 +445,12 @@ otherwise it defaults to JOBS, except for Hotspot, where the default is
<em>number of CPU cores/2</em>, but never more than <em>memory size in
GB/2</em>.</p>
<h4 id="timeout_factor-1">TIMEOUT_FACTOR</h4>
<p>The timeout factor (<code>-timeoutFactor</code>).</p>
<p>Defaults to 4.</p>
<p>The <code>TIMEOUT_FACTOR</code> is forwarded to JTReg framework
itself (<code>-timeoutFactor</code>). Also, some test cases that
programmatically wait a certain amount of time will apply this factor.
If we run in forced compilation mode (<code>-Xcomp</code>), the build
system will automatically adjust this factor to compensate for less
performance. Defaults to 1.</p>
<h4 id="failure_handler_timeout">FAILURE_HANDLER_TIMEOUT</h4>
<p>Sets the argument <code>-timeoutHandlerTimeout</code> for JTReg. The
default value is 0. This is only valid if the failure handler is
@@ -457,6 +463,12 @@ class, named Virtual, is currently part of the JDK build in the
<code>test/jtreg_test_thread_factory/</code> directory. This class gets
compiled during the test image build. The implementation of the Virtual
class creates a new virtual thread for executing each test class.</p>
<h4 id="jvmti_stress_agent">JVMTI_STRESS_AGENT</h4>
<p>Executes JTReg tests with JVM TI stress agent. The stress agent is
the part of test library and located in
<code>test/lib/jdk/test/lib/jvmti/libJvmtiStressAgent.cpp</code>. The
value of this argument is set as JVM TI agent options. This mode uses
ProblemList-jvmti-stress-agent.txt as an additional exclude list.</p>
<h4 id="test_mode">TEST_MODE</h4>
<p>The test mode (<code>agentvm</code> or <code>othervm</code>).</p>
<p>Defaults to <code>agentvm</code>.</p>
@@ -556,6 +568,12 @@ each fork. Same as specifying <code>-wi &lt;num&gt;</code>.</p>
same values as <code>-rff</code>, i.e., <code>text</code>,
<code>csv</code>, <code>scsv</code>, <code>json</code>, or
<code>latex</code>.</p>
<h4 id="test_jdk">TEST_JDK</h4>
<p>The path to the JDK that will be used to run the benchmarks.</p>
<p>Defaults to <code>build/&lt;CONF-NAME&gt;/jdk</code>.</p>
<h4 id="benchmarks_jar">BENCHMARKS_JAR</h4>
<p>The path to the JAR containing the benchmarks.</p>
<p>Defaults to <code>test/micro/benchmarks.jar</code>.</p>
<h4 id="vm_options-2">VM_OPTIONS</h4>
<p>Additional VM arguments to provide to forked off VMs. Same as
<code>-jvmArgs &lt;args&gt;</code></p>
@@ -601,8 +619,8 @@ element of the appropriate <code>@Artifact</code> class. (See
JTREG=&quot;JAVA_OPTIONS=-Djdk.test.lib.artifacts.nsslib-linux_aarch64=/path/to/NSS-libs&quot;</code></pre>
<p>For more notes about the PKCS11 tests, please refer to
test/jdk/sun/security/pkcs11/README.</p>
<h2 id="testing-ahead-of-time-optimizations">### Testing Ahead-of-time
Optimizations</h2>
<h3 id="testing-ahead-of-time-optimizations">Testing Ahead-of-time
Optimizations</h3>
<p>One way to improve test coverage of ahead-of-time (AOT) optimizations
in the JDK is to run existing jtreg test cases in a special "AOT_JDK"
mode. Example:</p>

View File

@@ -324,7 +324,7 @@ Currently only applies to JTReg.
#### TIMEOUT_FACTOR
Currently only applies to JTReg.
Currently only applies to [JTReg -timeoutFactor](#timeout_factor-1).
#### JAVA_OPTIONS
@@ -367,6 +367,10 @@ between the specified revision and the repository tip.
The report is stored in
`build/$BUILD/test-results/jcov-output/diff_coverage_report` file.
#### AOT_JDK
See [Testing Ahead-of-time optimizations](#testing-ahead-of-time-optimizations).
### JTReg keywords
#### JOBS
@@ -379,9 +383,11 @@ never more than *memory size in GB/2*.
#### TIMEOUT_FACTOR
The timeout factor (`-timeoutFactor`).
Defaults to 4.
The `TIMEOUT_FACTOR` is forwarded to JTReg framework itself
(`-timeoutFactor`). Also, some test cases that programmatically wait a
certain amount of time will apply this factor. If we run in forced
compilation mode (`-Xcomp`), the build system will automatically
adjust this factor to compensate for less performance. Defaults to 1.
#### FAILURE_HANDLER_TIMEOUT
@@ -397,6 +403,13 @@ the `test/jtreg_test_thread_factory/` directory. This class gets compiled
during the test image build. The implementation of the Virtual class creates a
new virtual thread for executing each test class.
#### JVMTI_STRESS_AGENT
Executes JTReg tests with JVM TI stress agent. The stress agent is the part of
test library and located in `test/lib/jdk/test/lib/jvmti/libJvmtiStressAgent.cpp`.
The value of this argument is set as JVM TI agent options.
This mode uses ProblemList-jvmti-stress-agent.txt as an additional exclude list.
#### TEST_MODE
The test mode (`agentvm` or `othervm`).
@@ -545,6 +558,18 @@ Amount of time to spend in each warmup iteration. Same as specifying `-w
Specify to have the test run save a log of the values. Accepts the same values
as `-rff`, i.e., `text`, `csv`, `scsv`, `json`, or `latex`.
#### TEST_JDK
The path to the JDK that will be used to run the benchmarks.
Defaults to `build/<CONF-NAME>/jdk`.
#### BENCHMARKS_JAR
The path to the JAR containing the benchmarks.
Defaults to `test/micro/benchmarks.jar`.
#### VM_OPTIONS
Additional VM arguments to provide to forked off VMs. Same as `-jvmArgs <args>`
@@ -612,7 +637,7 @@ For more notes about the PKCS11 tests, please refer to
test/jdk/sun/security/pkcs11/README.
### Testing Ahead-of-time Optimizations
-------------------------------------------------------------------------------
One way to improve test coverage of ahead-of-time (AOT) optimizations in
the JDK is to run existing jtreg test cases in a special "AOT_JDK" mode.
Example:

View File

@@ -301,7 +301,7 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
$(call LogWarn, Signing $(JDK_BUNDLE_NAME))
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" \
--timestamp --options runtime --deep --force \
$(JDK_MACOSX_BUNDLE_DIR_SIGNED)/$(JDK_MACOSX_BUNDLE_TOP_DIR) $(LOG_DEBUG)
$(JDK_MACOSX_BUNDLE_DIR_SIGNED)/$(JDK_MACOSX_BUNDLE_TOP_SUBDIR) $(LOG_DEBUG)
$(TOUCH) $@
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
@@ -330,7 +330,7 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
$(call LogWarn, Signing $(JRE_BUNDLE_NAME))
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" \
--timestamp --options runtime --deep --force \
$(JRE_MACOSX_BUNDLE_DIR_SIGNED)/$(JRE_MACOSX_BUNDLE_TOP_DIR) $(LOG_DEBUG)
$(JRE_MACOSX_BUNDLE_DIR_SIGNED)/$(JRE_MACOSX_BUNDLE_TOP_SUBDIR) $(LOG_DEBUG)
$(TOUCH) $@
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \

View File

@@ -85,7 +85,7 @@ CreateHkTargets = \
################################################################################
# Include module specific build settings
THIS_SNIPPET := modules/$(MODULE)/Java.gmk
THIS_SNIPPET := $(call GetModuleSnippetName, Java)
ifneq ($(wildcard $(THIS_SNIPPET)), )
include MakeSnippetStart.gmk
@@ -115,6 +115,7 @@ $(eval $(call SetupJavaCompilation, $(MODULE), \
EXCLUDE_FILES := $(EXCLUDE_FILES), \
EXCLUDE_PATTERNS := -files, \
KEEP_ALL_TRANSLATIONS := $(KEEP_ALL_TRANSLATIONS), \
TARGET_RELEASE := $(TARGET_RELEASE), \
JAVAC_FLAGS := \
$(DOCLINT) \
$(JAVAC_FLAGS) \

View File

@@ -184,7 +184,7 @@ endif
################################################################################
# Include module specific build settings
THIS_SNIPPET := modules/$(MODULE)/Jmod.gmk
THIS_SNIPPET := $(call GetModuleSnippetName, Jmod)
ifneq ($(wildcard $(THIS_SNIPPET)), )
include MakeSnippetStart.gmk
@@ -257,6 +257,7 @@ $(eval $(call SetupExecute, create_$(JMOD_FILE), \
WARN := Creating $(INTERIM_MSG)$(JMOD_FILE), \
DEPS := $(DEPS), \
OUTPUT_FILE := $(JMODS_DIR)/$(JMOD_FILE), \
WORKING_DIR := $(WORKSPACE_ROOT), \
SUPPORT_DIR := $(JMODS_SUPPORT_DIR), \
PRE_COMMAND := $(RM) $(JMODS_DIR)/$(JMOD_FILE) $(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \
COMMAND := $(JMOD) $(JMOD_SMALL_FLAGS) create --module-version $(VERSION_SHORT) \

View File

@@ -236,8 +236,8 @@ define create_overview_file
#
ifneq ($$($1_GROUPS), )
$1_OVERVIEW_TEXT += \
<p>This document is divided into \
$$(subst 2,two,$$(subst 3,three,$$(words $$($1_GROUPS)))) sections:</p> \
<p>This document has \
$$(subst 2,two,$$(subst 3,three,$$(words $$($1_GROUPS)))) major sections:</p> \
<blockquote><dl> \
#
$1_OVERVIEW_TEXT += $$(foreach g, $$($1_GROUPS), \
@@ -246,7 +246,10 @@ define create_overview_file
)
$1_OVERVIEW_TEXT += \
</dl></blockquote> \
#
<p><a href="../specs/index.html">Related documents</a> specify the Java \
programming language, the Java Virtual Machine, various protocols and file \
formats pertaining to the Java platform, and tools included in the JDK.</p> \
#
endif
$1_OVERVIEW_TEXT += \
</body></html> \

View File

@@ -114,7 +114,6 @@ ifeq ($(HSDIS_BACKEND), binutils)
TOOLCHAIN_TYPE := gcc
OPENJDK_TARGET_OS := linux
OPENJDK_TARGET_OS_TYPE := unix
CC_OUT_OPTION := -o$(SPACE)
GENDEPS_FLAGS := -MMD -MF
CFLAGS_DEBUG_SYMBOLS := -g
DISABLED_WARNINGS :=

View File

@@ -270,6 +270,7 @@ endif
# Since debug symbols are not included in the jmod files, they need to be copied
# in manually after generating the images.
# These variables are read by SetupCopyDebuginfo
ALL_JDK_MODULES := $(JDK_MODULES)
ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \
$(call FindTransitiveDepsForModule, $m)))

View File

@@ -1014,7 +1014,7 @@ else
else ifeq ($(EXTERNAL_BUILDJDK), false)
# When not cross compiling, the BUILD_JDK is the interim jdk image, and
# the javac launcher is needed.
jdk.compiler-gendata: jdk.compiler-launchers
jdk.compiler-gendata: jdk.compiler-launchers java.base-launchers
jdk.javadoc-gendata: jdk.compiler-launchers
endif
@@ -1407,7 +1407,7 @@ CLEAN_SUPPORT_DIRS += demos
CLEAN_SUPPORT_DIR_TARGETS := $(addprefix clean-, $(CLEAN_SUPPORT_DIRS))
CLEAN_TESTS += hotspot-jtreg-native jdk-jtreg-native lib
CLEAN_TEST_TARGETS += $(addprefix clean-test-, $(CLEAN_TESTS))
CLEAN_PHASES := gensrc java native include
CLEAN_PHASES += gensrc java native include
CLEAN_PHASE_TARGETS := $(addprefix clean-, $(CLEAN_PHASES))
CLEAN_MODULE_TARGETS := $(addprefix clean-, $(ALL_MODULES))
# Construct targets of the form clean-$module-$phase

View File

@@ -149,7 +149,7 @@ endef
################################################################################
PHASE_MAKEDIRS := $(TOPDIR)/make
PHASE_MAKEDIRS += $(TOPDIR)/make
# Helper macro for DeclareRecipesForPhase
# Declare a recipe for calling the module and phase specific makefile.

View File

@@ -34,18 +34,23 @@ include MakeFileStart.gmk
################################################################################
include CopyFiles.gmk
include Modules.gmk
MODULE_SRC := $(TOPDIR)/src/$(MODULE)
# Define the snippet for MakeSnippetStart/End
THIS_SNIPPET := modules/$(MODULE)/$(MAKEFILE_PREFIX).gmk
################################################################################
# Include module specific build settings
include MakeSnippetStart.gmk
THIS_SNIPPET := $(call GetModuleSnippetName, $(MAKEFILE_PREFIX))
# Include the file being wrapped.
include $(THIS_SNIPPET)
ifneq ($(wildcard $(THIS_SNIPPET)), )
include MakeSnippetStart.gmk
include MakeSnippetEnd.gmk
# Include the file being wrapped.
include $(THIS_SNIPPET)
include MakeSnippetEnd.gmk
endif
ifeq ($(MAKEFILE_PREFIX), Lib)
# We need to keep track of what libraries are generated/needed by this

View File

@@ -204,8 +204,9 @@ $(eval $(call SetTestOpt,AOT_JDK,JTREG))
$(eval $(call ParseKeywordVariable, JTREG, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR FAILURE_HANDLER_TIMEOUT \
TEST_MODE ASSERT VERBOSE RETAIN TEST_THREAD_FACTORY MAX_MEM RUN_PROBLEM_LISTS \
RETRY_COUNT REPEAT_COUNT MAX_OUTPUT REPORT AOT_JDK $(CUSTOM_JTREG_SINGLE_KEYWORDS), \
TEST_MODE ASSERT VERBOSE RETAIN TEST_THREAD_FACTORY JVMTI_STRESS_AGENT \
MAX_MEM RUN_PROBLEM_LISTS RETRY_COUNT REPEAT_COUNT MAX_OUTPUT REPORT \
AOT_JDK $(CUSTOM_JTREG_SINGLE_KEYWORDS), \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
EXTRA_PROBLEM_LISTS LAUNCHER_OPTIONS \
$(CUSTOM_JTREG_STRING_KEYWORDS), \
@@ -508,7 +509,7 @@ define SetupRunGtestTestBody
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/gtest, ( \
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/gtest, \
$$(CD) $$($1_TEST_SUPPORT_DIR) && \
$$(FIXPATH) $$(TEST_IMAGE_DIR)/hotspot/gtest/$$($1_VARIANT)/gtestLauncher \
-jdk $(JDK_UNDER_TEST) $$($1_GTEST_FILTER) \
@@ -519,7 +520,7 @@ define SetupRunGtestTestBody
> >($(TEE) $$($1_TEST_RESULTS_DIR)/gtest.txt) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
))
)
$1_RESULT_FILE := $$($1_TEST_RESULTS_DIR)/gtest.txt
@@ -643,7 +644,7 @@ define SetupRunMicroTestBody
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/micro, ( \
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/micro, \
$$(CD) $$(TEST_IMAGE_DIR) && \
$$(FIXPATH) $$($1_MICRO_TEST_JDK)/bin/java $$($1_MICRO_JAVA_OPTIONS) \
-jar $$($1_MICRO_BENCHMARKS_JAR) \
@@ -654,7 +655,7 @@ define SetupRunMicroTestBody
> >($(TEE) $$($1_TEST_RESULTS_DIR)/micro.txt) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
))
)
$1_RESULT_FILE := $$($1_TEST_RESULTS_DIR)/micro.txt
@@ -757,34 +758,34 @@ define SetupAOTBody
ifeq ($$($1_TRAINING), onestep)
$$(call LogWarn, AOT: Create AOT cache $$($1_AOT_JDK_CACHE) in one step with flags: $$($1_VM_OPTIONS)) \
$$(call ExecuteWithLog, $$($1_AOT_JDK_OUTPUT_DIR), ( \
$$(call ExecuteWithLog, $$($1_AOT_JDK_OUTPUT_DIR), \
cd $$($1_AOT_JDK_OUTPUT_DIR); \
$(JAR) --extract --file $(TEST_IMAGE_DIR)/setup_aot/TestSetupAOT.jar; \
$$(FIXPATH) $(JDK_UNDER_TEST)/bin/java $$($1_VM_OPTIONS) \
-Xlog:class+load,aot,aot+class=debug:file=$$($1_AOT_JDK_CACHE).log -Xlog:cds*=error -Xlog:aot*=error \
-Xlog:class+load$$(COMMA)aot$$(COMMA)aot+class=debug:file=$$($1_AOT_JDK_CACHE).log -Xlog:cds*=error -Xlog:aot*=error \
-XX:AOTMode=record -XX:AOTCacheOutput=$$($1_AOT_JDK_CACHE) \
TestSetupAOT $$($1_AOT_JDK_OUTPUT_DIR) > $$($1_AOT_JDK_LOG) \
))
)
else
$$(call LogWarn, AOT: Create cache configuration) \
$$(call ExecuteWithLog, $$($1_AOT_JDK_OUTPUT_DIR), ( \
$$(call ExecuteWithLog, $$($1_AOT_JDK_OUTPUT_DIR), \
cd $$($1_AOT_JDK_OUTPUT_DIR); \
$(JAR) --extract --file $(TEST_IMAGE_DIR)/setup_aot/TestSetupAOT.jar; \
$$(FIXPATH) $(JDK_UNDER_TEST)/bin/java $$($1_VM_OPTIONS) \
-Xlog:class+load,aot,aot+class=debug:file=$$($1_AOT_JDK_CONF).log -Xlog:cds*=error -Xlog:aot*=error \
-Xlog:class+load$$(COMMA)aot$$(COMMA)aot+class=debug:file=$$($1_AOT_JDK_CONF).log -Xlog:cds*=error -Xlog:aot*=error \
-XX:AOTMode=record -XX:AOTConfiguration=$$($1_AOT_JDK_CONF) \
TestSetupAOT $$($1_AOT_JDK_OUTPUT_DIR) > $$($1_AOT_JDK_LOG) \
))
)
$$(call LogWarn, AOT: Generate AOT cache $$($1_AOT_JDK_CACHE) with flags: $$($1_VM_OPTIONS))
$$(call ExecuteWithLog, $$($1_AOT_JDK_OUTPUT_DIR), ( \
$$(call ExecuteWithLog, $$($1_AOT_JDK_OUTPUT_DIR), \
$$(FIXPATH) $(JDK_UNDER_TEST)/bin/java \
$$($1_VM_OPTIONS) -Xlog:aot,aot+class=debug:file=$$($1_AOT_JDK_CACHE).log -Xlog:cds*=error -Xlog:aot*=error \
$$($1_VM_OPTIONS) -Xlog:aot$$(COMMA)aot+class=debug:file=$$($1_AOT_JDK_CACHE).log -Xlog:cds*=error -Xlog:aot*=error \
-XX:ExtraSharedClassListFile=$(JDK_UNDER_TEST)/lib/classlist \
-XX:AOTMode=create -XX:AOTConfiguration=$$($1_AOT_JDK_CONF) -XX:AOTCache=$$($1_AOT_JDK_CACHE) \
))
)
endif
@@ -876,6 +877,15 @@ define SetupRunJtregTestBody
))
endif
ifneq ($$(JTREG_JVMTI_STRESS_AGENT), )
AGENT := $$(LIBRARY_PREFIX)JvmtiStressAgent$$(SHARED_LIBRARY_SUFFIX)=$$(JTREG_JVMTI_STRESS_AGENT)
$1_JTREG_BASIC_OPTIONS += -javaoption:'-agentpath:$(TEST_IMAGE_DIR)/hotspot/jtreg/native/$$(AGENT)'
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
$$(addprefix $$($1_TEST_ROOT)/, ProblemList-jvmti-stress-agent.txt) \
))
endif
ifneq ($$(JTREG_LAUNCHER_OPTIONS), )
$1_JTREG_LAUNCHER_OPTIONS += $$(JTREG_LAUNCHER_OPTIONS)
endif
@@ -936,7 +946,8 @@ define SetupRunJtregTestBody
JTREG_ALL_OPTIONS := $$(JTREG_JAVA_OPTIONS) $$(JTREG_VM_OPTIONS)
JTREG_AUTO_PROBLEM_LISTS :=
JTREG_AUTO_TIMEOUT_FACTOR := 4
# Please reach consensus before changing this. It was not easy changing it to a `1`.
JTREG_AUTO_TIMEOUT_FACTOR := 1
ifneq ($$(findstring -Xcomp, $$(JTREG_ALL_OPTIONS)), )
JTREG_AUTO_PROBLEM_LISTS += ProblemList-Xcomp.txt
@@ -1074,9 +1085,9 @@ define SetupRunJtregTestBody
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \
$$($1_TEST_TMP_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/jtreg, ( \
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/jtreg, \
$$(COV_ENVIRONMENT) $$($1_COMMAND_LINE) \
))
)
$1_RESULT_FILE := $$($1_TEST_RESULTS_DIR)/text/stats.txt
@@ -1193,12 +1204,12 @@ define SetupRunSpecialTestBody
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/test-execution, ( \
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/test-execution, \
$$($1_TEST_COMMAND_LINE) \
> >($(TEE) $$($1_TEST_RESULTS_DIR)/test-output.txt) \
&& $$(ECHO) $$$$? > $$($1_EXITCODE) \
|| $$(ECHO) $$$$? > $$($1_EXITCODE) \
))
)
# We can not parse the various "special" tests.
parse-test-$1: run-test-$1
@@ -1243,7 +1254,7 @@ UseSpecialTestHandler = \
# Now process each test to run and setup a proper make rule
$(foreach test, $(TESTS_TO_RUN), \
$(eval TEST_ID := $(shell $(ECHO) $(strip $(test)) | \
$(TR) -cs '[a-z][A-Z][0-9]\n' '[_*1000]')) \
$(TR) -cs '[a-z][A-Z][0-9]\n' '_')) \
$(eval ALL_TEST_IDS += $(TEST_ID)) \
$(if $(call UseCustomTestHandler, $(test)), \
$(eval $(call SetupRunCustomTest, $(TEST_ID), \
@@ -1323,9 +1334,9 @@ run-test-report: post-run-test
TEST TOTAL PASS FAIL ERROR SKIP " "
$(foreach test, $(TESTS_TO_RUN), \
$(eval TEST_ID := $(shell $(ECHO) $(strip $(test)) | \
$(TR) -cs '[a-z][A-Z][0-9]\n' '[_*1000]')) \
$(TR) -cs '[a-z][A-Z][0-9]\n' '_')) \
$(ECHO) >> $(TEST_LAST_IDS) $(TEST_ID) $(NEWLINE) \
$(eval NAME_PATTERN := $(shell $(ECHO) $(test) | $(TR) -c '\n' '[_*1000]')) \
$(eval NAME_PATTERN := $(shell $(ECHO) $(test) | $(TR) -c '\n' '_')) \
$(if $(filter __________________________________________________%, $(NAME_PATTERN)), \
$(eval TEST_NAME := ) \
$(PRINTF) >> $(TEST_SUMMARY) "%2s %-49s\n" " " "$(test)" $(NEWLINE) \

View File

@@ -176,3 +176,19 @@ ULIMIT := ulimit
ifeq ($(OPENJDK_BUILD_OS), windows)
PATHTOOL := cygpath
endif
# These settings are needed to run testing with jvmti agent
ifeq ($(OPENJDK_BUILD_OS), linux)
LIBRARY_PREFIX := lib
SHARED_LIBRARY_SUFFIX := .so
endif
ifeq ($(OPENJDK_BUILD_OS), windows)
LIBRARY_PREFIX :=
SHARED_LIBRARY_SUFFIX := .dll
endif
ifeq ($(OPENJDK_BUILD_OS), macosx)
LIBRARY_PREFIX := lib
SHARED_LIBRARY_SUFFIX := .dylib
endif

View File

@@ -111,7 +111,7 @@ else ifeq ($(call isTargetOs, aix), true)
INFO := Generating export list for $(notdir $(lib)), \
DEPS := $(lib), \
OUTPUT_FILE := $(lib).exp, \
COMMAND := ( $(AR) $(ARFLAGS) -w $(lib) | $(GREP) -v '^\.' | $(AWK) '{print $$1}' | $(SORT) -u > $(lib).exp ), \
COMMAND := $(AR) $(ARFLAGS) -w $(lib) | $(GREP) -v '^\.' | $(AWK) '{print $$1}' | $(SORT) -u > $(lib).exp, \
)) \
$(eval STATIC_LIB_EXPORT_FILES += $(lib).exp) \
)

View File

@@ -63,7 +63,7 @@ TOOL_GENERATECURRENCYDATA = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_
TOOL_TZDB = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.tzdb.TzdbZoneRulesCompiler
TOOL_BLOCKED_CERTS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
TOOL_BLOCKED_CERTS = $(JAVA_SMALL) -Xlog:disable -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
--add-exports java.base/sun.security.util=ALL-UNNAMED \
build.tools.blockedcertsconverter.BlockedCertsConverter
@@ -78,6 +78,9 @@ TOOL_GENERATECACERTS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_class
TOOL_GENERATEEXTRAPROPERTIES = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.generateextraproperties.GenerateExtraProperties
TOOL_GENERATECASEFOLDING = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.generatecharacter.CaseFolding
TOOL_MAKEZIPREPRODUCIBLE = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.makezipreproducible.MakeZipReproducible
@@ -127,6 +130,9 @@ TOOL_PUBLICSUFFIXLIST = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_clas
TOOL_FIXUPPANDOC = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.fixuppandoc.Main
TOOL_VARHANDLEGUARDMETHODGENERATOR = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.methodhandle.VarHandleGuardMethodGenerator
################################################################################
# Executable javascript filter for man page generation using pandoc.

View File

@@ -36,7 +36,7 @@ $(eval $(call SetupJavaCompilation, BUILD_TOOLS_LANGTOOLS, \
COMPILER := bootjdk, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := $(TOPDIR)/make/langtools/tools, \
INCLUDES := compileproperties propertiesparser, \
INCLUDES := compileproperties flagsgenerator propertiesparser, \
COPY := .properties, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/langtools_tools_classes, \
))

View File

@@ -81,8 +81,8 @@ SLEEF_CMAKE_FILE := toolchains/$(OPENJDK_TARGET_CPU)-$(SLEEF_TOOLCHAIN_TYPE).cma
$(eval $(call SetupExecute, sleef_native_config, \
INFO := Configuring native sleef build, \
OUTPUT_DIR := $(SLEEF_NATIVE_BUILD_DIR), \
COMMAND := cd $(SLEEF_SOURCE_DIR) && $(CMAKE) -S . -B \
$(SLEEF_NATIVE_BUILD_DIR), \
WORKING_DIR := $(SLEEF_SOURCE_DIR), \
COMMAND := $(CMAKE) -S . -B $(SLEEF_NATIVE_BUILD_DIR), \
))
TARGETS := $(sleef_native_config)
@@ -91,8 +91,8 @@ $(eval $(call SetupExecute, sleef_native_build, \
INFO := Building native sleef, \
DEPS := $(sleef_native_config), \
OUTPUT_DIR := $(SLEEF_NATIVE_BUILD_DIR), \
COMMAND := cd $(SLEEF_SOURCE_DIR) && $(CMAKE) --build \
$(SLEEF_NATIVE_BUILD_DIR) -j, \
WORKING_DIR := $(SLEEF_SOURCE_DIR), \
COMMAND := $(CMAKE) --build $(SLEEF_NATIVE_BUILD_DIR) -j, \
))
TARGETS := $(sleef_native_build)
@@ -101,8 +101,8 @@ $(eval $(call SetupExecute, sleef_cross_config, \
INFO := Configuring cross-compiling sleef build, \
DEPS := $(sleef_native_build), \
OUTPUT_DIR := $(SLEEF_CROSS_BUILD_DIR), \
COMMAND := cd $(SLEEF_SOURCE_DIR) && $(CMAKE) -S . -B \
$(SLEEF_CROSS_BUILD_DIR) \
WORKING_DIR := $(SLEEF_SOURCE_DIR), \
COMMAND := $(CMAKE) -S . -B $(SLEEF_CROSS_BUILD_DIR) \
-DCMAKE_C_COMPILER=$(CC) \
-DCMAKE_TOOLCHAIN_FILE=$(SLEEF_CMAKE_FILE) \
-DNATIVE_BUILD_DIR=$(SLEEF_NATIVE_BUILD_DIR) \
@@ -116,8 +116,8 @@ $(eval $(call SetupExecute, sleef_cross_build, \
INFO := Building cross-compiling sleef, \
DEPS := $(sleef_cross_config), \
OUTPUT_DIR := $(SLEEF_NATIVE_BUILD_DIR), \
COMMAND := cd $(SLEEF_SOURCE_DIR) && $(CMAKE) --build \
$(SLEEF_CROSS_BUILD_DIR) -j, \
WORKING_DIR := $(SLEEF_SOURCE_DIR), \
COMMAND := $(CMAKE) --build $(SLEEF_CROSS_BUILD_DIR) -j, \
))
TARGETS := $(sleef_cross_build)

View File

@@ -210,17 +210,8 @@ AC_DEFUN([BASIC_SETUP_XCODE_SYSROOT],
if test $? -ne 0; then
AC_MSG_ERROR([The xcodebuild tool in the devkit reports an error: $XCODEBUILD_OUTPUT])
fi
elif test "x$TOOLCHAIN_PATH" != x; then
UTIL_LOOKUP_PROGS(XCODEBUILD, xcodebuild, $TOOLCHAIN_PATH)
if test "x$XCODEBUILD" != x; then
XCODEBUILD_OUTPUT=`"$XCODEBUILD" -version 2>&1`
if test $? -ne 0; then
AC_MSG_WARN([Ignoring the located xcodebuild tool $XCODEBUILD due to an error: $XCODEBUILD_OUTPUT])
XCODEBUILD=
fi
fi
else
UTIL_LOOKUP_PROGS(XCODEBUILD, xcodebuild)
UTIL_LOOKUP_TOOLCHAIN_PROGS(XCODEBUILD, xcodebuild)
if test "x$XCODEBUILD" != x; then
XCODEBUILD_OUTPUT=`"$XCODEBUILD" -version 2>&1`
if test $? -ne 0; then
@@ -348,21 +339,11 @@ AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
# You can force the sysroot if the sysroot encoded into the compiler tools
# is not correct.
AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
[alias for --with-sysroot for backwards compatibility])],
[SYSROOT=$with_sys_root]
)
AC_ARG_WITH(sysroot, [AS_HELP_STRING([--with-sysroot],
[use this directory as sysroot])],
[SYSROOT=$with_sysroot]
)
AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
[alias for --with-toolchain-path for backwards compatibility])],
[UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_tools_dir)]
)
AC_ARG_WITH([toolchain-path], [AS_HELP_STRING([--with-toolchain-path],
[prepend these directories when searching for toolchain binaries (compilers etc)])],
[UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_toolchain_path)]
@@ -371,6 +352,9 @@ AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
AC_ARG_WITH([xcode-path], [AS_HELP_STRING([--with-xcode-path],
[set up toolchain on Mac OS using a path to an Xcode installation])])
UTIL_DEPRECATED_ARG_WITH(sys-root)
UTIL_DEPRECATED_ARG_WITH(tools-dir)
if test "x$with_xcode_path" != x; then
if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],

View File

@@ -207,29 +207,14 @@ AC_DEFUN([BASIC_CHECK_GNU_MAKE],
UTIL_SETUP_TOOL(MAKE,
[
# Try our hardest to locate a correct version of GNU make
UTIL_LOOKUP_PROGS(CHECK_GMAKE, gmake)
UTIL_LOOKUP_TOOLCHAIN_PROGS(CHECK_GMAKE, gmake)
BASIC_CHECK_MAKE_VERSION("$CHECK_GMAKE", [gmake in PATH])
if test "x$FOUND_MAKE" = x; then
UTIL_LOOKUP_PROGS(CHECK_MAKE, make)
UTIL_LOOKUP_TOOLCHAIN_PROGS(CHECK_MAKE, make)
BASIC_CHECK_MAKE_VERSION("$CHECK_MAKE", [make in PATH])
fi
if test "x$FOUND_MAKE" = x; then
if test "x$TOOLCHAIN_PATH" != x; then
# We have a toolchain path, check that as well before giving up.
OLD_PATH=$PATH
PATH=$TOOLCHAIN_PATH:$PATH
UTIL_LOOKUP_PROGS(CHECK_TOOLSDIR_GMAKE, gmake)
BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_GMAKE", [gmake in tools-dir])
if test "x$FOUND_MAKE" = x; then
UTIL_LOOKUP_PROGS(CHECK_TOOLSDIR_MAKE, make)
BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_MAKE", [make in tools-dir])
fi
PATH=$OLD_PATH
fi
fi
if test "x$FOUND_MAKE" = x; then
AC_MSG_ERROR([Cannot find GNU make $MAKE_REQUIRED_VERSION or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.])
fi

View File

@@ -395,11 +395,9 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
# When compiling code to be executed by the Boot JDK, force compatibility with the
# oldest supported bootjdk.
OLDEST_BOOT_JDK=`$ECHO $DEFAULT_ACCEPTABLE_BOOT_VERSIONS \
OLDEST_BOOT_JDK_VERSION=`$ECHO $DEFAULT_ACCEPTABLE_BOOT_VERSIONS \
| $TR " " "\n" | $SORT -n | $HEAD -n1`
# -Xlint:-options is added to avoid "warning: [options] system modules path not set in conjunction with -source"
BOOT_JDK_SOURCETARGET="-source $OLDEST_BOOT_JDK -target $OLDEST_BOOT_JDK -Xlint:-options"
AC_SUBST(BOOT_JDK_SOURCETARGET)
AC_SUBST(OLDEST_BOOT_JDK_VERSION)
# Check if the boot jdk is 32 or 64 bit
if $JAVA -version 2>&1 | $GREP -q "64-Bit"; then
@@ -599,10 +597,9 @@ AC_DEFUN([BOOTJDK_SETUP_BUILD_JDK],
AC_ARG_WITH(build-jdk, [AS_HELP_STRING([--with-build-jdk],
[path to JDK of same version as is being built@<:@the newly built JDK@:>@])])
CREATE_BUILDJDK=false
EXTERNAL_BUILDJDK=false
BUILD_JDK_FOUND="no"
EXTERNAL_BUILDJDK_PATH=""
if test "x$with_build_jdk" != "x"; then
BUILD_JDK_FOUND=no
BOOTJDK_CHECK_BUILD_JDK([
if test "x$with_build_jdk" != x; then
BUILD_JDK=$with_build_jdk
@@ -610,40 +607,15 @@ AC_DEFUN([BOOTJDK_SETUP_BUILD_JDK],
AC_MSG_NOTICE([Found potential Build JDK using configure arguments])
fi
])
EXTERNAL_BUILDJDK=true
else
if test "x$COMPILE_TYPE" = "xcross"; then
BUILD_JDK="\$(BUILDJDK_OUTPUTDIR)/jdk"
BUILD_JDK_FOUND=yes
CREATE_BUILDJDK=true
if test "x$BUILD_JDK_FOUND" != "xyes"; then
AC_MSG_CHECKING([for Build JDK])
AC_MSG_RESULT([yes, will build it for the host platform])
else
BUILD_JDK="\$(JDK_OUTPUTDIR)"
BUILD_JDK_FOUND=yes
AC_MSG_CHECKING([for Build JDK])
AC_MSG_RESULT([yes, will use output dir])
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not find a suitable Build JDK])
fi
EXTERNAL_BUILDJDK_PATH="$BUILD_JDK"
fi
# Since these tools do not yet exist, we cannot use UTIL_FIXUP_EXECUTABLE to
# detect the need of fixpath
JMOD="$BUILD_JDK/bin/jmod"
UTIL_ADD_FIXPATH(JMOD)
JLINK="$BUILD_JDK/bin/jlink"
UTIL_ADD_FIXPATH(JLINK)
AC_SUBST(JMOD)
AC_SUBST(JLINK)
if test "x$BUILD_JDK_FOUND" != "xyes"; then
AC_MSG_CHECKING([for Build JDK])
AC_MSG_RESULT([no])
AC_MSG_ERROR([Could not find a suitable Build JDK])
fi
AC_SUBST(CREATE_BUILDJDK)
AC_SUBST(BUILD_JDK)
AC_SUBST(EXTERNAL_BUILDJDK)
AC_SUBST(EXTERNAL_BUILDJDK_PATH)
])
# The docs-reference JDK is used to run javadoc for the docs-reference targets.

View File

@@ -162,12 +162,7 @@ AC_DEFUN([BPERF_SETUP_CCACHE],
# Check if ccache is available
CCACHE_AVAILABLE=true
OLD_PATH="$PATH"
if test "x$TOOLCHAIN_PATH" != x; then
PATH=$TOOLCHAIN_PATH:$PATH
fi
UTIL_LOOKUP_PROGS(CCACHE, ccache)
PATH="$OLD_PATH"
UTIL_LOOKUP_TOOLCHAIN_PROGS(CCACHE, ccache)
AC_MSG_CHECKING([if ccache is available])
if test "x$TOOLCHAIN_TYPE" != "xgcc" && test "x$TOOLCHAIN_TYPE" != "xclang"; then

View File

@@ -110,4 +110,4 @@ $MV $OUTPUTDIR/compare.log $OUTPUTDIR/compare.log.old 2> /dev/null
export SCRIPT_DIR="$( cd "$( dirname "$0" )" > /dev/null && pwd )"
$BASH $TOPDIR/make/scripts/logger.sh $OUTPUTDIR/compare.log $BASH "$REAL_COMPARE_SCRIPT" "$@"
$BASH $TOPDIR/make/scripts/compare-logger.sh $OUTPUTDIR/compare.log $BASH "$REAL_COMPARE_SCRIPT" "$@"

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, 2023, 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
@@ -366,7 +366,7 @@ EOT
# Print additional help, e.g. a list of toolchains and JVM features.
# This must be done by the autoconf script.
( CONFIGURE_PRINT_ADDITIONAL_HELP=true . $generated_script PRINTF=printf )
( CONFIGURE_PRINT_ADDITIONAL_HELP=true . $generated_script PRINTF=printf ECHO=echo )
cat <<EOT

View File

@@ -221,6 +221,9 @@ JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER
# LeakSanitizer
JDKOPT_SETUP_LEAK_SANITIZER
# Setup static analyzer
JDKOPT_SETUP_STATIC_ANALYZER
# Fallback linker
# This needs to go before 'LIB_DETERMINE_DEPENDENCIES'
JDKOPT_SETUP_FALLBACK_LINKER

View File

@@ -37,56 +37,25 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
if test "x$TOOLCHAIN_TYPE" = xgcc; then
# Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared'
# --disable-new-dtags forces use of RPATH instead of RUNPATH for rpaths.
# This protects internal library dependencies within the JDK from being
# overridden using LD_LIBRARY_PATH. See JDK-8326891 for more information.
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1 -Wl,--disable-new-dtags'
SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
elif test "x$TOOLCHAIN_TYPE" = xclang; then
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
# Linking is different on MacOSX
SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0"
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path$(or [$]1,/.)'
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1'
elif test "x$OPENJDK_TARGET_OS" = xaix; then
# Linking is different on aix
SHARED_LIBRARY_FLAGS="-shared -Wl,-bM:SRE -Wl,-bnoentry"
SET_EXECUTABLE_ORIGIN=""
SET_SHARED_LIBRARY_ORIGIN=''
SET_SHARED_LIBRARY_NAME=''
else
# Default works for linux, might work on other platforms as well.
SHARED_LIBRARY_FLAGS='-shared'
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
if test "x$OPENJDK_TARGET_OS" = xlinux; then
SET_EXECUTABLE_ORIGIN="$SET_EXECUTABLE_ORIGIN -Wl,--disable-new-dtags"
fi
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
# arm specific settings
if test "x$OPENJDK_TARGET_CPU" = "xarm"; then
# '-Wl,-z,origin' isn't used on arm.
SET_SHARED_LIBRARY_ORIGIN='-Wl,-rpath,\$$$$ORIGIN[$]1'
else
SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
fi
fi
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
SHARED_LIBRARY_FLAGS="-dll"
SET_EXECUTABLE_ORIGIN=''
SET_SHARED_LIBRARY_ORIGIN=''
SET_SHARED_LIBRARY_NAME=''
fi
AC_SUBST(SET_EXECUTABLE_ORIGIN)
AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
AC_SUBST(SET_SHARED_LIBRARY_NAME)
AC_SUBST(SHARED_LIBRARY_FLAGS)
])
@@ -597,11 +566,11 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
# CXXFLAGS C++ language level for all of JDK, including Hotspot.
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
LANGSTD_CXXFLAGS="-std=c++14"
LANGSTD_CXXFLAGS="-std=c++17"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
LANGSTD_CXXFLAGS="-std:c++14"
LANGSTD_CXXFLAGS="-std:c++17"
else
AC_MSG_ERROR([Cannot enable C++14 for this toolchain])
AC_MSG_ERROR([Cannot enable C++17 for this toolchain])
fi
TOOLCHAIN_CFLAGS_JDK_CXXONLY="$TOOLCHAIN_CFLAGS_JDK_CXXONLY $LANGSTD_CXXFLAGS"
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM $LANGSTD_CXXFLAGS"
@@ -736,8 +705,15 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
$1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -mminimal-toc"
elif test "x$FLAGS_CPU" = xppc64le; then
# Little endian machine uses ELFv2 ABI.
# Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI.
$1_CFLAGS_CPU="-mcpu=power8 -mtune=power10"
# Use Power8 for target cpu, this is the first CPU to support PPC64 LE with ELFv2 ABI.
# Use Power10 for tuning target, this is supported by gcc >= 10
POWER_TUNE_VERSION="-mtune=power10"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${POWER_TUNE_VERSION}],
IF_FALSE: [
POWER_TUNE_VERSION="-mtune=power8"
]
)
$1_CFLAGS_CPU="-mcpu=power8 ${POWER_TUNE_VERSION}"
$1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -DABI_ELFv2"
fi
elif test "x$FLAGS_CPU" = xs390x; then
@@ -927,37 +903,6 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
IF_FALSE: [$2FDLIBM_CFLAGS=""])
fi
AC_SUBST($2FDLIBM_CFLAGS)
# Check whether the compiler supports the Arm C Language Extensions (ACLE)
# for SVE. Set SVE_CFLAGS to -march=armv8-a+sve if it does.
# ACLE and this flag are required to build the aarch64 SVE related functions in
# libvectormath. Apple Silicon does not support SVE; use macOS as a proxy for
# that check.
if test "x$OPENJDK_TARGET_CPU" = "xaarch64" && test "x$OPENJDK_TARGET_CPU" = "xlinux"; then
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
AC_LANG_PUSH(C)
OLD_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -march=armv8-a+sve"
AC_MSG_CHECKING([if Arm SVE ACLE is supported])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <arm_sve.h>],
[
svint32_t r = svdup_n_s32(1);
return 0;
])],
[
AC_MSG_RESULT([yes])
$2SVE_CFLAGS="-march=armv8-a+sve"
],
[
AC_MSG_RESULT([no])
$2SVE_CFLAGS=""
]
)
CFLAGS="$OLD_CFLAGS"
AC_LANG_POP(C)
fi
fi
AC_SUBST($2SVE_CFLAGS)
])
AC_DEFUN_ONCE([FLAGS_SETUP_BRANCH_PROTECTION],

View File

@@ -74,12 +74,12 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
# Clang needs the lld linker to work correctly
BASIC_LDFLAGS="-fuse-ld=lld -Wl,--exclude-libs,ALL"
if test "x$CXX_IS_USER_SUPPLIED" = xfalse && test "x$CC_IS_USER_SUPPLIED" = xfalse; then
UTIL_REQUIRE_PROGS(LLD, lld, $TOOLCHAIN_PATH:$PATH)
UTIL_REQUIRE_TOOLCHAIN_PROGS(LLD, lld)
fi
fi
if test "x$OPENJDK_TARGET_OS" = xaix; then
BASIC_LDFLAGS="-Wl,-b64 -Wl,-brtl -Wl,-bnorwexec -Wl,-blibpath:/usr/lib:lib -Wl,-bnoexpall \
-Wl,-bernotok -Wl,-bdatapsize:64k -Wl,-btextpsize:64k -Wl,-bstackpsize:64k"
-Wl,-bernotok -Wl,-bcdtors:mbr::s -Wl,-bdatapsize:64k -Wl,-btextpsize:64k -Wl,-bstackpsize:64k"
BASIC_LDFLAGS_JVM_ONLY="$BASIC_LDFLAGS_JVM_ONLY -Wl,-lC_r -Wl,-bbigtoc"
fi
@@ -98,7 +98,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
# Setup OS-dependent LDFLAGS
if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$TOOLCHAIN_TYPE" = xclang; then
# FIXME: We should really generalize SET_SHARED_LIBRARY_ORIGIN instead.
# FIXME: We should really generalize SetSharedLibraryOrigin instead.
OS_LDFLAGS_JVM_ONLY="-Wl,-rpath,@loader_path/. -Wl,-rpath,@loader_path/.."
OS_LDFLAGS="-mmacosx-version-min=$MACOSX_VERSION_MIN -Wl,-reproducible"
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
@@ -107,6 +107,62 @@ AC_DEFUN([FLAGS_SETUP_NMFLAGS],
AC_SUBST(NMFLAGS)
])
# Check whether the compiler supports the Arm C Language Extensions (ACLE)
# for SVE. Set SVE_CFLAGS to -march=armv8-a+sve if it does.
# ACLE and this flag are required to build the aarch64 SVE related functions
# in libvectormath.
AC_DEFUN([FLAGS_SETUP_SVE],
[
AARCH64_SVE_AVAILABLE=false
# Apple Silicon does not support SVE; use macOS as a proxy for that check.
if test "x$OPENJDK_TARGET_CPU" = "xaarch64" && test "x$OPENJDK_TARGET_OS" = "xlinux"; then
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# check the compiler and binutils support sve or not
AC_MSG_CHECKING([if Arm SVE ACLE is supported])
AC_LANG_PUSH([C])
saved_cflags="$CFLAGS"
CFLAGS="$CFLAGS -march=armv8-a+sve $CFLAGS_WARNINGS_ARE_ERRORS ARG_ARGUMENT"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[
#include <arm_sve.h>
svfloat64_t a() {}
],
[
svint32_t r = svdup_n_s32(1)
])],
[
AARCH64_SVE_AVAILABLE=true
]
)
CFLAGS="$saved_cflags"
AC_LANG_POP([C])
AC_MSG_RESULT([$AARCH64_SVE_AVAILABLE])
fi
fi
UTIL_ARG_ENABLE(NAME: aarch64-sve, DEFAULT: auto,
RESULT: AARCH64_SVE_ENABLED,
DESC: [Use SVE when compiling libsleef],
AVAILABLE: $AARCH64_SVE_AVAILABLE)
SVE_CFLAGS=""
if test "x$AARCH64_SVE_ENABLED" = xtrue; then
SVE_CFLAGS="-march=armv8-a+sve"
# Switching the initialization mode with gcc from 'pattern' to 'zero'
# avoids the use of unsupported `__builtin_clear_padding` for variable
# length aggregates
if test "x$DEBUG_LEVEL" != xrelease && test "x$TOOLCHAIN_TYPE" = xgcc ; then
AC_MSG_CHECKING([Switching the initialization mode with gcc from pattern to zero])
INIT_ZERO_FLAG="-ftrivial-auto-var-init=zero"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$INIT_ZERO_FLAG],
IF_TRUE: [
SVE_CFLAGS="${SVE_CFLAGS} $INIT_ZERO_FLAG"
]
)
fi
fi
AC_SUBST(SVE_CFLAGS)
])
################################################################################
# platform independent
AC_DEFUN([FLAGS_SETUP_ASFLAGS],
@@ -115,7 +171,11 @@ AC_DEFUN([FLAGS_SETUP_ASFLAGS],
# Force preprocessor to run, just to make sure
BASIC_ASFLAGS="-x assembler-with-cpp"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
BASIC_ASFLAGS="-nologo -c"
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
BASIC_ASFLAGS="-nologo"
else
BASIC_ASFLAGS="-nologo -c"
fi
fi
AC_SUBST(BASIC_ASFLAGS)

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
@@ -319,13 +319,11 @@ AC_DEFUN_ONCE([FLAGS_PRE_TOOLCHAIN],
AC_DEFUN([FLAGS_SETUP_TOOLCHAIN_CONTROL],
[
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
CC_OUT_OPTION=-Fo
else
# The option used to specify the target .o,.a or .so file.
# When compiling, how to specify the to be created object file.
CC_OUT_OPTION='-o$(SPACE)'
if test "x$OPENJDK_TARGET_CPU" != xaarch64; then
AS_NON_ASM_EXTENSION_OPTION=-Ta
fi
fi
AC_SUBST(CC_OUT_OPTION)
AC_SUBST(AS_NON_ASM_EXTENSION_OPTION)
# Generate make dependency files
if test "x$TOOLCHAIN_TYPE" = xgcc; then
@@ -370,6 +368,7 @@ AC_DEFUN([FLAGS_SETUP_FLAGS],
FLAGS_SETUP_RCFLAGS
FLAGS_SETUP_NMFLAGS
FLAGS_SETUP_SVE
FLAGS_SETUP_ASFLAGS
FLAGS_SETUP_ASFLAGS_CPU_DEP([TARGET])
FLAGS_SETUP_ASFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_])

View File

@@ -479,6 +479,31 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
AC_SUBST(ASAN_ENABLED)
])
################################################################################
#
# Static analyzer
#
AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_ANALYZER],
[
UTIL_ARG_ENABLE(NAME: static-analyzer, DEFAULT: false, RESULT: STATIC_ANALYZER_ENABLED,
DESC: [enable the GCC static analyzer],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if static analyzer is available])
if test "x$TOOLCHAIN_TYPE" = "xgcc"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
],
IF_ENABLED: [
STATIC_ANALYZER_CFLAGS="-fanalyzer -Wno-analyzer-fd-leak"
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $STATIC_ANALYZER_CFLAGS"
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $STATIC_ANALYZER_CFLAGS"
])
AC_SUBST(STATIC_ANALYZER_ENABLED)
])
################################################################################
#
# LeakSanitizer
@@ -540,9 +565,14 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
# with an additional define LLVM_SYMBOLIZER, which we set here.
# To calculate the correct llvm_symbolizer path we can use the location of the compiler, because
# their relation is fixed.
# In the ubsan case we have to link every binary with the C++-compiler as linker, because inherently
# the C-Compiler and the C++-compiler used as linker provide a different set of ubsan exports.
# Linking an executable with the C-compiler and one of its shared libraries with the C++-compiler
# leeds to unresolved symbols.
if test "x$TOOLCHAIN_TYPE" = "xclang" && test "x$OPENJDK_TARGET_OS" = "xaix"; then
UBSAN_CFLAGS="$UBSAN_CFLAGS -fno-sanitize=function,vptr -DLLVM_SYMBOLIZER=$(dirname $(dirname $CC))/tools/ibm-llvm-symbolizer"
UBSAN_LDFLAGS="$UBSAN_LDFLAGS -fno-sanitize=function,vptr -Wl,-bbigtoc"
UBSAN_CFLAGS="$UBSAN_CFLAGS -DLLVM_SYMBOLIZER=$(dirname $(dirname $CC))/tools/ibm-llvm-symbolizer"
UBSAN_LDFLAGS="$UBSAN_LDFLAGS -Wl,-bbigtoc"
LD="$LDCXX"
fi
UTIL_ARG_ENABLE(NAME: ubsan, DEFAULT: false, RESULT: UBSAN_ENABLED,
DESC: [enable UndefinedBehaviorSanitizer],

View File

@@ -513,6 +513,10 @@ AC_DEFUN([JVM_FEATURES_VERIFY],
[
variant=$1
if JVM_FEATURES_IS_ACTIVE(jfr) && ! JVM_FEATURES_IS_ACTIVE(services); then
AC_MSG_ERROR([Specified JVM feature 'jfr' requires feature 'services' for variant '$variant'])
fi
if JVM_FEATURES_IS_ACTIVE(jvmci) && ! (JVM_FEATURES_IS_ACTIVE(compiler1) || \
JVM_FEATURES_IS_ACTIVE(compiler2)); then
AC_MSG_ERROR([Specified JVM feature 'jvmci' requires feature 'compiler2' or 'compiler1' for variant '$variant'])

View File

@@ -28,7 +28,7 @@
################################################################################
# Minimum supported versions
JTREG_MINIMUM_VERSION=7.5.1
JTREG_MINIMUM_VERSION=8
GTEST_MINIMUM_VERSION=1.14.0
################################################################################

View File

@@ -136,12 +136,8 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
BASIC_JVM_LIBS="$BASIC_JVM_LIBS $LIBPTHREAD"
fi
# librt for legacy clock_gettime
# librt - for timers (timer_* functions)
if test "x$OPENJDK_TARGET_OS" = xlinux; then
# Hotspot needs to link librt to get the clock_* functions.
# But once our supported minimum build and runtime platform
# has glibc 2.17, this can be removed as the functions are
# in libc.
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lrt"
fi

View File

@@ -386,16 +386,28 @@ CAPSTONE_ARCH_AARCH64_NAME := @CAPSTONE_ARCH_AARCH64_NAME@
# it in sync.
BOOT_JDK := @BOOT_JDK@
BUILD_JDK := @BUILD_JDK@
CREATE_BUILDJDK := @CREATE_BUILDJDK@
EXTERNAL_BUILDJDK := @EXTERNAL_BUILDJDK@
EXTERNAL_BUILDJDK_PATH := @EXTERNAL_BUILDJDK_PATH@
ifneq ($(EXTERNAL_BUILDJDK_PATH), )
EXTERNAL_BUILDJDK := true
CREATE_BUILDJDK := false
BUILD_JDK := $(EXTERNAL_BUILDJDK_PATH)
else
EXTERNAL_BUILDJDK := false
ifeq ($(COMPILE_TYPE), cross)
CREATE_BUILDJDK := true
BUILD_JDK := $(BUILDJDK_OUTPUTDIR)/jdk
else
CREATE_BUILDJDK := false
BUILD_JDK := $(JDK_OUTPUTDIR)
endif
endif
# Whether the boot jdk jar supports --date=TIMESTAMP
BOOT_JDK_JAR_SUPPORTS_DATE := @BOOT_JDK_JAR_SUPPORTS_DATE@
# When compiling Java source to be run by the boot jdk
# use these extra flags, eg -source 6 -target 6
BOOT_JDK_SOURCETARGET := @BOOT_JDK_SOURCETARGET@
# The oldest supported boot jdk version
OLDEST_BOOT_JDK_VERSION := @OLDEST_BOOT_JDK_VERSION@
# Information about the build system
NUM_CORES := @NUM_CORES@
@@ -492,7 +504,7 @@ CXX_VERSION_NUMBER := @CXX_VERSION_NUMBER@
# Legacy support
HOTSPOT_TOOLCHAIN_TYPE := @HOTSPOT_TOOLCHAIN_TYPE@
CC_OUT_OPTION := @CC_OUT_OPTION@
AS_NON_ASM_EXTENSION_OPTION := @AS_NON_ASM_EXTENSION_OPTION@
# Flags used for overriding the default opt setting for a C/C++ source file.
C_O_FLAG_HIGHEST_JVM := @C_O_FLAG_HIGHEST_JVM@
@@ -624,17 +636,8 @@ ASFLAGS_DEBUG_SYMBOLS := @ASFLAGS_DEBUG_SYMBOLS@
# Compress (or not) jars
COMPRESS_JARS := @COMPRESS_JARS@
# Options to linker to specify the library name.
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_NAME = @SET_SHARED_LIBRARY_NAME@
SHARED_LIBRARY_FLAGS := @SHARED_LIBRARY_FLAGS@
# Set origin using the linker, ie use the relative path to the dependent library to find the dependencies.
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
SET_SHARED_LIBRARY_ORIGIN = @SET_SHARED_LIBRARY_ORIGIN@
SET_EXECUTABLE_ORIGIN = @SET_EXECUTABLE_ORIGIN@
LIBRARY_PREFIX := @LIBRARY_PREFIX@
SHARED_LIBRARY_SUFFIX := @SHARED_LIBRARY_SUFFIX@
STATIC_LIBRARY_SUFFIX := @STATIC_LIBRARY_SUFFIX@
@@ -657,8 +660,8 @@ JAVA_CMD := @JAVA@
JAVAC_CMD := @JAVAC@
JAVADOC_CMD := @JAVADOC@
JAR_CMD := @JAR@
JLINK_CMD := @JLINK@
JMOD_CMD := @JMOD@
JLINK_CMD := @FIXPATH@ $(BUILD_JDK)/bin/jlink
JMOD_CMD := @FIXPATH@ $(BUILD_JDK)/bin/jmod
# These variables are meant to be used. They are defined with = instead of := to make
# it possible to override only the *_CMD variables.
JAVA = $(JAVA_CMD) $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
@@ -898,12 +901,14 @@ JDK_MACOSX_BUNDLE_DIR = $(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR)
JRE_MACOSX_BUNDLE_DIR = $(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR)
JDK_MACOSX_BUNDLE_DIR_SIGNED = $(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR_SIGNED)
JRE_MACOSX_BUNDLE_DIR_SIGNED = $(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR_SIGNED)
JDK_MACOSX_BUNDLE_TOP_DIR = jdk-$(VERSION_NUMBER).jdk
JRE_MACOSX_BUNDLE_TOP_DIR = jre-$(VERSION_NUMBER).jre
JDK_MACOSX_CONTENTS_SUBDIR = $(JDK_MACOSX_BUNDLE_TOP_DIR)/Contents
JRE_MACOSX_CONTENTS_SUBDIR = $(JRE_MACOSX_BUNDLE_TOP_DIR)/Contents
JDK_MACOSX_BUNDLE_TOP_SUBDIR = jdk-$(VERSION_NUMBER).jdk
JRE_MACOSX_BUNDLE_TOP_SUBDIR = jre-$(VERSION_NUMBER).jre
JDK_MACOSX_CONTENTS_SUBDIR = $(JDK_MACOSX_BUNDLE_TOP_SUBDIR)/Contents
JRE_MACOSX_CONTENTS_SUBDIR = $(JRE_MACOSX_BUNDLE_TOP_SUBDIR)/Contents
JDK_MACOSX_CONTENTS_DIR = $(JDK_MACOSX_BUNDLE_DIR)/$(JDK_MACOSX_CONTENTS_SUBDIR)
JRE_MACOSX_CONTENTS_DIR = $(JRE_MACOSX_BUNDLE_DIR)/$(JRE_MACOSX_CONTENTS_SUBDIR)
JDK_MACOSX_BUNDLE_TOP_DIR = $(JDK_MACOSX_BUNDLE_DIR)/$(JDK_MACOSX_BUNDLE_TOP_SUBDIR)
JRE_MACOSX_BUNDLE_TOP_DIR = $(JRE_MACOSX_BUNDLE_DIR)/$(JRE_MACOSX_BUNDLE_TOP_SUBDIR)
# Bundle names
ifneq ($(VERSION_BUILD), )

View File

@@ -276,9 +276,6 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
ORG_CFLAGS="$CFLAGS"
ORG_CXXFLAGS="$CXXFLAGS"
# autoconf magic only relies on PATH, so update it if tools dir is specified
OLD_PATH="$PATH"
if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
if test "x$XCODEBUILD" != x; then
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version 2> /dev/null | $HEAD -n 1`
@@ -300,9 +297,10 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
fi
AC_SUBST(TOOLCHAIN_VERSION)
# Finally prepend TOOLCHAIN_PATH to the PATH, to allow --with-tools-dir to
# override all other locations.
if test "x$TOOLCHAIN_PATH" != x; then
# For the microsoft toolchain the toolchain path needs to be added to the
# normal path, or the compiler will not work in some situations in later
# configure checks.
if test "x$TOOLCHAIN_TYPE" = "xmicrosoft" && test "x$TOOLCHAIN_PATH" != x; then
export PATH=$TOOLCHAIN_PATH:$PATH
fi
])
@@ -310,13 +308,6 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
# Restore path, etc
AC_DEFUN_ONCE([TOOLCHAIN_POST_DETECTION],
[
# Restore old path, except for the microsoft toolchain, which requires the
# toolchain path to remain in place. Otherwise the compiler will not work in
# some situations in later configure checks.
if test "x$TOOLCHAIN_TYPE" != "xmicrosoft"; then
PATH="$OLD_PATH"
fi
# Restore the flags to the user specified values.
# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
CFLAGS="$ORG_CFLAGS"
@@ -655,8 +646,11 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
AS="$CC -c"
else
if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
# On 64 bit windows, the assembler is "ml64.exe"
if test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
# On Windows aarch64, the assembler is "armasm64.exe"
UTIL_LOOKUP_TOOLCHAIN_PROGS(AS, armasm64)
elif test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
# On Windows x64, the assembler is "ml64.exe"
UTIL_LOOKUP_TOOLCHAIN_PROGS(AS, ml64)
else
# otherwise, the assembler is "ml.exe"

View File

@@ -458,17 +458,18 @@ AC_DEFUN([UTIL_LOOKUP_PROGS],
################################################################################
# Call UTIL_SETUP_TOOL with AC_CHECK_TOOLS to locate the tool. This will look
# first for cross-compilation tools.
# first for tools using the cross-compilation prefix, and then for tools without
# this prefix. For each of these name variants, it will look first in the
# toolchain path, and then in the normal path.
# $1: variable to set
# $2: executable name (or list of names) to look for
# $3: [path]
AC_DEFUN([UTIL_LOOKUP_TOOLCHAIN_PROGS],
[
if test "x$ac_tool_prefix" = x; then
UTIL_LOOKUP_PROGS($1, $2, $3)
UTIL_LOOKUP_PROGS($1, $2, [$TOOLCHAIN_PATH:$PATH])
else
prefixed_names=$(for name in $2; do echo ${ac_tool_prefix}${name} $name; done)
UTIL_LOOKUP_PROGS($1, $prefixed_names, $3)
UTIL_LOOKUP_PROGS($1, $prefixed_names, [$TOOLCHAIN_PATH:$PATH])
fi
])
@@ -497,10 +498,9 @@ AC_DEFUN([UTIL_REQUIRE_PROGS],
# Like UTIL_LOOKUP_PROGS but fails if no tool was found.
# $1: variable to set
# $2: executable name (or list of names) to look for
# $3: [path]
AC_DEFUN([UTIL_REQUIRE_TOOLCHAIN_PROGS],
[
UTIL_LOOKUP_TOOLCHAIN_PROGS($1, $2, $3)
UTIL_LOOKUP_TOOLCHAIN_PROGS($1, $2)
UTIL_CHECK_NONEMPTY($1)
])

View File

@@ -45,6 +45,9 @@ ifeq ($(INCLUDE), true)
# e.g. a simple sed replacement on the input file. If the operations are
# unrelated to the main COMMAND, this is not a suitable solution.
#
# Before execution, the current working directory is changed to SUPPORT_DIR.
# This can be overridden with WORKING_DIR.
#
# If your command outputs a variety of files, or if it's really a single file
# but you don't really care about the output from the perspective, you can just
# supply an OUTPUT_DIR. You are supposed to make sure the command creates files
@@ -75,9 +78,12 @@ ifeq ($(INCLUDE), true)
# OUTPUT_DIR : The directory that will contain the result from the command
# OUTPUT_FILE : Use this if the command results in a single output file
# SUPPORT_DIR : Where to store generated support files
# WORKING_DIR : Directory to cd to before executing the command
# INFO : Message to display at LOG=info level when running command (optional)
# WARN : Message to display at LOG=warn level when running command (optional)
# DEPS : Dependencies for the execution to take place
# DRYRUN : Set to true to perform everything but executing the command \
# (defaults to false, primarily intended for debugging)
#
# Setup make rules for copying files, with an option to do more complex
@@ -133,44 +139,61 @@ define SetupExecuteBody
endif
ifeq ($$($1_WORKING_DIR), )
$1_WORKING_DIR := $$($1_SUPPORT_DIR)
endif
ifeq ($$($1_INFO)$$($1_WARN), )
# If neither info nor warn is provided, add basic info text.
$1_INFO := Running commands for $1
endif
$1_VARDEPS := $$($1_COMMAND) $$($1_PRE_COMMAND) $$($1_POST_COMMAND)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$($1_BASE)_exec.vardeps)
ifneq ($$($1_PRE_COMMAND), )
$$($1_PRE_MARKER): $$($1_DEPS)
$$($1_PRE_MARKER): $$($1_DEPS) $$($1_VARDEPS_FILE)
ifneq ($$($1_WARN), )
$$(call LogWarn, $$($1_WARN))
endif
ifneq ($$($1_INFO), )
$$(call LogInfo, $$($1_INFO))
endif
$$(call MakeDir, $$($1_SUPPORT_DIR) $$($1_OUTPUT_DIR))
$$(call MakeDir, $$(call EncodeSpace, $$($1_WORKING_DIR)) $$(call EncodeSpace, $$($1_SUPPORT_DIR)) $$(call EncodeSpace, $$($1_OUTPUT_DIR)))
$$(call ExecuteWithLog, $$($1_BASE)_pre, \
$$($1_PRE_COMMAND))
cd $$($1_WORKING_DIR) && $$($1_PRE_COMMAND))
$$(TOUCH) $$@
$$($1_EXEC_RESULT): $$($1_PRE_MARKER)
$$(call ExecuteWithLog, $$($1_BASE)_exec, \
$$($1_COMMAND))
ifneq ($$($1_DRYRUN), true)
$$(call ExecuteWithLog, $$($1_BASE)_exec, \
cd $$($1_WORKING_DIR) && $$($1_COMMAND))
else
$$(call LogWarn, DRYRUN enabled for $1, not actually running command)
$$(TOUCH) $$@
endif
ifeq ($$($1_EXEC_RESULT), $$($1_EXEC_MARKER))
$$(TOUCH) $$@
endif
$1 := $$($1_PRE_MARKER) $$($1_EXEC_RESULT)
else
$$($1_EXEC_RESULT): $$($1_DEPS)
$$($1_EXEC_RESULT): $$($1_DEPS) $$($1_VARDEPS_FILE)
ifneq ($$($1_WARN), )
$$(call LogWarn, $$($1_WARN))
endif
ifneq ($$($1_INFO), )
$$(call LogInfo, $$($1_INFO))
endif
$$(call MakeDir, $$(call EncodeSpace, $$($1_SUPPORT_DIR)) $$(call EncodeSpace, $$($1_OUTPUT_DIR)))
$$(call ExecuteWithLog, $$($1_BASE)_exec, \
$$($1_COMMAND))
$$(call MakeDir, $$(call EncodeSpace, $$($1_WORKING_DIR)) $$(call EncodeSpace, $$($1_SUPPORT_DIR)) $$(call EncodeSpace, $$($1_OUTPUT_DIR)))
ifneq ($$($1_DRYRUN), true)
$$(call ExecuteWithLog, $$($1_BASE)_exec, \
cd $$($1_WORKING_DIR) && $$($1_COMMAND))
else
$$(call LogWarn, DRYRUN enabled for $1, not actually running command)
$$(TOUCH) $$@
endif
ifeq ($$($1_EXEC_RESULT), $$($1_EXEC_MARKER))
$$(TOUCH) $$@
endif
@@ -182,7 +205,7 @@ define SetupExecuteBody
$$($1_FINAL_RESULT): $$($1_EXEC_RESULT)
$$(call ExecuteWithLog, $$($1_BASE)_post, \
$$($1_POST_COMMAND))
cd $$($1_WORKING_DIR) && $$($1_POST_COMMAND))
$$(TOUCH) $$@
$1 += $$($1_FINAL_RESULT)

View File

@@ -38,10 +38,15 @@ include JarArchive.gmk
###
# Create classes that can run on the bootjdk
TARGET_RELEASE_BOOTJDK := $(BOOT_JDK_SOURCETARGET)
# -Xlint:-options is added to avoid the warning
# "system modules path not set in conjunction with -source"
TARGET_RELEASE_BOOTJDK := -source $(OLDEST_BOOT_JDK_VERSION) \
-target $(OLDEST_BOOT_JDK_VERSION) -Xlint:-options
# Create classes that can be used in (or be a part of) the new jdk we're building
TARGET_RELEASE_NEWJDK := -source $(JDK_SOURCE_TARGET_VERSION) -target $(JDK_SOURCE_TARGET_VERSION)
# Create classes that can be used in (or be a part of) the new jdk we're
# building
TARGET_RELEASE_NEWJDK := -source $(JDK_SOURCE_TARGET_VERSION) \
-target $(JDK_SOURCE_TARGET_VERSION)
# Create classes that can be used in JDK 8, for legacy support
TARGET_RELEASE_JDK8 := --release 8
@@ -178,6 +183,10 @@ define SetupJavaCompilationBody
$1_SAFE_NAME := $$(strip $$(subst /,_, $1))
ifeq ($$($1_LOG_ACTION), )
$1_LOG_ACTION := Compiling
endif
ifeq ($$($1_SMALL_JAVA), )
# If unspecified, default to true
$1_SMALL_JAVA := true
@@ -472,7 +481,7 @@ define SetupJavaCompilationBody
# list of files.
$$($1_FILELIST): $$($1_SRCS) $$($1_VARDEPS_FILE)
$$(call MakeDir, $$(@D))
$$(call LogWarn, Compiling up to $$(words $$($1_SRCS)) files for $1)
$$(call LogWarn, $$($1_LOG_ACTION) up to $$(words $$($1_SRCS)) files for $1)
$$(eval $$(call ListPathsSafely, $1_SRCS, $$($1_FILELIST)))
# Create a $$($1_MODFILELIST) file with significant modified dependencies

View File

@@ -30,6 +30,47 @@ ifeq ($(INCLUDE), true)
include NativeCompilation.gmk
ifeq ($(call isCompiler, gcc), true)
# --disable-new-dtags forces use of RPATH instead of RUNPATH for rpaths.
# This protects internal library dependencies within the JDK from being
# overridden using LD_LIBRARY_PATH. See JDK-8326891 for more information.
SetExecutableOrigin = \
-Wl,-rpath,\$(DOLLAR)ORIGIN$1 -Wl,--disable-new-dtags
SetSharedLibraryOrigin = \
-Wl,-z,origin -Wl,-rpath,\$(DOLLAR)ORIGIN$1 -Wl,--disable-new-dtags
else ifeq ($(call isCompiler, clang), true)
ifeq ($(call isTargetOs, macosx), true)
SetExecutableOrigin = \
-Wl,-rpath,@loader_path$(or $1,/.)
SetSharedLibraryOrigin = \
-Wl,-rpath,@loader_path$(or $1,/.)
else ifeq ($(call isTargetOs, aix), true)
SetExecutableOrigin =
SetSharedLibraryOrigin =
else
ifeq ($(call isTargetOs, linux), true)
SetExecutableOrigin = \
-Wl,-rpath,\$(DOLLAR)ORIGIN$1 -Wl,--disable-new-dtags
else
SetExecutableOrigin = \
-Wl,-rpath,\$(DOLLAR)ORIGIN$1
endif
ifeq ($(call isTargetOs, arm), true)
SetSharedLibraryOrigin = \
-Wl,-rpath,\$(DOLLAR)ORIGIN$1
else
SetSharedLibraryOrigin = \
-Wl,-z,origin -Wl,-rpath,\$(DOLLAR)ORIGIN$1
endif
endif
else ifeq ($(call isCompiler, microsoft), true)
SetExecutableOrigin =
SetSharedLibraryOrigin =
else
$(error Unknown toolchain)
endif
FindSrcDirsForComponent += \
$(call uniq, $(wildcard \
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS)/native/$(strip $2) \
@@ -444,9 +485,9 @@ define SetupJdkNativeCompilationBody
ifneq ($$($1_LD_SET_ORIGIN), false)
ifeq ($$($1_TYPE), EXECUTABLE)
$1_LDFLAGS += $$(call SET_EXECUTABLE_ORIGIN)
$1_LDFLAGS += $$(call SetExecutableOrigin)
else
$1_LDFLAGS += $$(call SET_SHARED_LIBRARY_ORIGIN)
$1_LDFLAGS += $$(call SetSharedLibraryOrigin)
endif
endif
# APPEND_LDFLAGS, if it exists, must be set after the origin flags

View File

@@ -284,6 +284,12 @@ else
LogCmdlines =
endif
# Check if the command line contains redirection, that is <, > or >>,
# and if so, return a value that is interpreted as true in a make $(if)
# construct.
is_redirect = \
$(if $(filter < > >>, $1), true)
################################################################################
# ExecuteWithLog will run a command and log the output appropriately. This is
# meant to be used by commands that do "real" work, like a compilation.
@@ -291,21 +297,23 @@ endif
# of the build in case of failure. The command line itself is stored in a file,
# and also logged to stdout if the LOG=cmdlines option has been given.
#
# NOTE: If the command redirects stdout, the caller needs to wrap it in a
# subshell (by adding parentheses around it), otherwise the redirect to the
# subshell tee process will create a race condition where the target file may
# not be fully written when the make recipe is done.
#
# Param 1 - The path to base the name of the log file / command line file on
# Param 2 - The command to run
ExecuteWithLog = \
$(call LogCmdlines, Executing: [$(strip $2)]) \
$(call LogCmdlines, Executing: \
[$(if $(call is_redirect, $2),$(LEFT_PAREN) )$(strip $2)$(if $(call \
is_redirect, $2), $(RIGHT_PAREN))]) \
$(call MakeDir, $(dir $(strip $1)) $(MAKESUPPORT_OUTPUTDIR)/failure-logs) \
$(call WriteFile, $2, $(strip $1).cmdline) \
( $(RM) $(strip $1).log && $(strip $2) > >($(TEE) -a $(strip $1).log) 2> >($(TEE) -a $(strip $1).log >&2) || \
( $(RM) $(strip $1).log && \
$(if $(call is_redirect, $2),$(LEFT_PAREN) )$(strip $2)$(if $(call \
is_redirect, $2), $(RIGHT_PAREN)) \
> >($(TEE) -a $(strip $1).log) 2> >($(TEE) -a $(strip $1).log >&2) || \
( exitcode=$(DOLLAR)? && \
$(CP) $(strip $1).log $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(subst /,_,$(patsubst $(OUTPUTDIR)/%,%,$(strip $1))).log && \
$(CP) $(strip $1).cmdline $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(subst /,_,$(patsubst $(OUTPUTDIR)/%,%,$(strip $1))).cmdline && \
$(CP) $(strip $1).log $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(subst \
/,_,$(patsubst $(OUTPUTDIR)/%,%,$(strip $1))).log && \
$(CP) $(strip $1).cmdline $(MAKESUPPORT_OUTPUTDIR)/failure-logs/$(subst \
/,_,$(patsubst $(OUTPUTDIR)/%,%,$(strip $1))).cmdline && \
exit $(DOLLAR)exitcode ) )
################################################################################

View File

@@ -27,10 +27,15 @@
# MakeIncludeEnd.gmk should be included last of all in all include files
################################################################################
# Hook to include the corresponding custom file, if present.
ifneq ($(NO_CUSTOM_EXTENSIONS), true)
CUSTOM_POST_NAME := $(subst .gmk,-post.gmk, $(THIS_INCLUDE))
$(eval $(call IncludeCustomExtension, $(CUSTOM_POST_NAME)))
ifneq ($(INCLUDE_GUARD_$(THIS_INCLUDE)), true)
# This was the first time this file was included. Prevent future inclusion.
INCLUDE_GUARD_$(THIS_INCLUDE) := true
# Hook to include the corresponding custom file, if present.
ifneq ($(NO_CUSTOM_EXTENSIONS), true)
CUSTOM_POST_NAME := $(subst .gmk,-post.gmk, $(THIS_INCLUDE))
$(eval $(call IncludeCustomExtension, $(CUSTOM_POST_NAME)))
endif
endif
# Pop our helper name off the stack

View File

@@ -70,7 +70,6 @@ INCLUDE_STACK := $(THIS_INCLUDE) $(INCLUDE_STACK)
# Setup an automatic include guard
ifneq ($(INCLUDE_GUARD_$(THIS_INCLUDE)), true)
INCLUDE_GUARD_$(THIS_INCLUDE) := true
INCLUDE := true
# Hook to include the corresponding custom file, if present.

View File

@@ -33,7 +33,7 @@ include $(TOPDIR)/make/conf/module-loader-map.conf
# Append platform-specific and upgradeable modules
PLATFORM_MODULES += $(PLATFORM_MODULES_$(OPENJDK_TARGET_OS)) \
$(UPGRADEABLE_PLATFORM_MODULES)
$(UPGRADEABLE_PLATFORM_MODULES) $(CUSTOM_UPGRADEABLE_PLATFORM_MODULES)
################################################################################
# Setup module sets for docs
@@ -216,7 +216,7 @@ endif
# Find dependencies ("requires") for a given module.
# Param 1: Module to find dependencies for.
FindDepsForModule = \
$(DEPS_$(strip $1))
$(filter-out $(IMPORT_MODULES), $(DEPS_$(strip $1)))
# Find dependencies ("requires") transitively in 3 levels for a given module.
# Param 1: Module to find dependencies for.
@@ -254,7 +254,8 @@ FindTransitiveIndirectDepsForModules = \
# Upgradeable modules are those that are either defined as upgradeable or that
# require an upradeable module.
FindAllUpgradeableModules = \
$(sort $(filter-out $(MODULES_FILTER), $(UPGRADEABLE_PLATFORM_MODULES)))
$(sort $(filter-out $(MODULES_FILTER), \
$(UPGRADEABLE_PLATFORM_MODULES) $(CUSTOM_UPGRADEABLE_PLATFORM_MODULES)))
################################################################################
@@ -316,6 +317,19 @@ define ReadImportMetaData
$$(eval $$(call ReadSingleImportMetaData, $$m)))
endef
################################################################################
# Get a full snippet path for the current module and a given base name.
#
# Param 1 - The base name of the snippet file to include
GetModuleSnippetName = \
$(if $(CUSTOM_MODULE_MAKE_ROOT), \
$(if $(wildcard $(CUSTOM_MODULE_MAKE_ROOT)/$(MODULE)/$(strip $1).gmk), \
$(CUSTOM_MODULE_MAKE_ROOT)/$(MODULE)/$(strip $1).gmk, \
$(wildcard modules/$(MODULE)/$(strip $1).gmk) \
), \
$(wildcard modules/$(MODULE)/$(strip $1).gmk) \
)
################################################################################
endif # include guard

View File

@@ -109,7 +109,7 @@ define ProcessMarkdown
$$(call LogInfo, Post-processing markdown file $2)
$$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$($1_$2_TARGET_DIR))
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER)_post, \
( $$($1_POST_PROCESS) $$($1_$2_PANDOC_OUTPUT) > $$($1_$2_OUTPUT_FILE) ) )
$$($1_POST_PROCESS) $$($1_$2_PANDOC_OUTPUT) > $$($1_$2_OUTPUT_FILE) )
endif
$1 += $$($1_$2_OUTPUT_FILE)

View File

@@ -55,6 +55,42 @@ uppercase = \
$(uppercase_result) \
)
lowercase_table := A,a B,b C,c D,d E,e F,f G,g H,h I,i J,j K,k L,l M,m N,n O,o \
P,p Q,q R,r S,s T,t U,u V,v W,w X,x Y,y Z,z
lowercase_internal = \
$(if $(strip $1), $$(subst $(firstword $1), $(call lowercase_internal, \
$(wordlist 2, $(words $1), $1), $2)), $2)
# Convert a string to lower case. Works only on a-z.
# $1 - The string to convert
lowercase = \
$(strip \
$(eval lowercase_result := $(call lowercase_internal, $(lowercase_table), $1)) \
$(lowercase_result) \
)
lowercase_letters := a b c d e f g h i j k l m n o p q r s t u v w x y z
uppercase_letters := A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
titlecase_internal = \
$(strip $(or \
$(strip $(foreach l, $(lowercase_letters) $(uppercase_letters), \
$(if $(filter $l%, $1), \
$(call uppercase, $l)$(call lowercase, $(patsubst $l%,%,$1))))), \
$1))
# Convert a string to Title Case. Works only on a-z.
# $1 - The string to convert
titlecase = \
$(strip $(foreach w, $1, $(call titlecase_internal, $w)))
# Returns the first character of a string. Works only on a-z.
# $1 - The string to extract the first character from
firstchar = \
$(strip $(foreach l, $(lowercase_letters) $(uppercase_letters), \
$(if $(filter $l%, $(firstword $1)), $l)))
################################################################################
# Creates a sequence of increasing numbers (inclusive).
# Param 1 - starting number

View File

@@ -0,0 +1,228 @@
#
# Copyright (c) 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
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
include MakeIncludeStart.gmk
ifeq ($(INCLUDE), true)
################################################################################
# This file defines macros that sets up rules for running the spp.Spp build tool
################################################################################
include Execute.gmk
include $(TOPDIR)/make/ToolsJdk.gmk
NON_BYTE_NUMBER_TYPES := char short int long float double
NUMBER_TYPES := byte $(NON_BYTE_NUMBER_TYPES)
PRIMITIVE_TYPES := boolean $(NUMBER_TYPES)
################################################################################
# The Conv function converts a type given as first argument (as a normal Java
# native type name), into one of several corresponding strings, depending on
# the aspect given in the second argument
#
# The implementation dispatches the call to one of several Conv_<aspect> macros.
#
# arg $1: the type to convert
# arg $2: the aspect to convert for
# arg $3: byte order (only needed for certain aspects)
#
Conv = \
$(strip $(call Conv_$(strip $2),$(strip $1),$(strip $3)))
################################################################################
# Conv_<aspect> implementations
# Return a single letter representing the type (lowercase first letter)
Conv_x = \
$(call firstchar, $1)
# Return capitalized type name
Conv_Type = \
$(call titlecase, $1)
# Return the full descriptive name of the type, e.g. int -> integer
Conv_fulltype = \
$(if $(filter char, $1), \
character, \
$(if $(filter int, $1), \
integer, \
$1 \
) \
)
# Return the capitalized full descriptive name of the type, e.g. int -> Integer
Conv_Fulltype = \
$(call titlecase, $(call Conv_fulltype, $1))
# Return log2 bits per value (0-3)
Conv_LBPV = \
$(if $(filter byte, $1), \
0, \
$(if $(filter char short, $1), \
1, \
$(if $(filter int float, $1), \
2, \
$(if $(filter long double, $1), \
3))))
# Return float or int category
Conv_category = \
$(if $(filter float double, $1), \
floatingPointType, \
integralType \
)
# Return stream information for char
Conv_streams = \
$(if $(filter char, $1), streamableType)
# Return stream type information for char
Conv_streamtype = \
$(if $(filter char, $1), int)
# Return capitalized stream type information for char
Conv_Streamtype = \
$(if $(filter char, $1), Int)
# Return article to use for type in English text
Conv_a = \
$(if $(filter int, $1), an, a)
# Return capitalized article to use for type in English text
Conv_A = \
$(if $(filter int, $1), An, A)
# Return integer type with same size as the type
Conv_memtype = \
$(if $(filter float, $1), int, $(if $(filter double, $1), long, $1))
# Return capitalized integer type with same size as the type
Conv_Memtype = \
$(call titlecase, $(call Conv, $1, memtype))
# Return capitalized full descriptive name for integer type with same size as the type
Conv_FullMemtype = \
$(call Conv, $(call Conv, $1, memtype), Fulltype)
# Return Type or Memtype depending on byte order
# arg $2: BYTE_ORDER
Conv_Swaptype = \
$(if $(filter U, $2), \
$(call Conv, $1, Type), \
$(call Conv, $1, Memtype))
# Return fromBits method name for floating types, depending on byte order
# arg $2: BYTE_ORDER
Conv_fromBits = \
$(if $(filter float double, $1), \
$(if $(filter U, $2), , \
$(call Conv, $1, Type).$(call Conv, $1, memtype)BitsTo$(call Conv, $1, Type)))
# Return toBits method name for floating types, depending on byte order
# arg $2: BYTE_ORDER
Conv_toBits = \
$(if $(filter float double, $1), \
$(if $(filter U, $2), , \
$(call Conv, $1, Type).$1ToRaw$(call Conv, $(call Conv, $1, memtype), Type)Bits))
# Return swap method name, depending on byte order
# arg $2: BYTE_ORDER
Conv_swap = \
$(if $(filter S, $2), Bits.swap)
# Return word describing the number of bytes required by type
Conv_nbytes = \
$(if $(filter 0, $(call Conv, $1, LBPV)), one, \
$(if $(filter 1, $(call Conv, $1, LBPV)), two, \
$(if $(filter 2, $(call Conv, $1, LBPV)), four, \
$(if $(filter 3, $(call Conv, $1, LBPV)), eight))))
# Return word describing the number of bytes required by type, minus one
Conv_nbytesButOne = \
$(if $(filter 0, $(call Conv, $1, LBPV)), zero, \
$(if $(filter 1, $(call Conv, $1, LBPV)), one, \
$(if $(filter 2, $(call Conv, $1, LBPV)), three, \
$(if $(filter 3, $(call Conv, $1, LBPV)), seven))))
################################################################################
# Setup make rules that runs the spp.Spp build tool on an input file.
#
# Parameter 1 is the name of the rule. This name is used as variable prefix,
# and the targets generated are listed in a variable by that name.
#
# Remaining parameters are named arguments. These include:
# BEGIN_END Set to true to exclude everything outside #begin/#end (default: false)
# SUBST_EMPTY_LINES Set to false to not generate empty lines for removed lines (default: true)
# SOURCE_FILE The input file to process (required)
# OUTPUT_FILE The output file (required)
# INFO Override default message to print (optional)
# KEYS One or more keys to control the generation (optional)
# REPLACEMENTS one or more text replacement patterns, using the syntax:
# VAR=VALUE [VAR=VALUE] ...
#
SetupStreamPreProcessing = $(NamedParamsMacroTemplate)
define SetupStreamPreProcessingBody
# Verify arguments
ifeq ($$($1_SOURCE_FILE), )
$$(error Must specify SOURCE_FILE (in $1))
endif
ifeq ($$($1_OUTPUT_FILE), )
$$(error Must specify OUTPUT_FILE (in $1))
endif
$1_COMMAND_LINE :=
ifeq ($$($1_BEGIN_END), true)
$1_COMMAND_LINE += -be
endif
ifeq ($$($1_SUBST_EMPTY_LINES), false)
$1_COMMAND_LINE += -nel
endif
$1_COMMAND_LINE += $$(foreach k, $$($1_KEYS), -K$$k)
$1_COMMAND_LINE += $$(subst $$$$(SPACE), ,$$(foreach d, $$($1_REPLACEMENTS), -D$$d))
$1_COMMAND_LINE += -i$$($1_SOURCE_FILE) -o$$($1_OUTPUT_FILE).tmp
ifeq ($$($1_INFO), )
$1_INFO := Preprocessing $$(notdir $$($1_SOURCE_FILE)) for $(MODULE)
endif
$$(eval $$(call SetupExecute, RUN_SPP_$1, \
INFO := $$($1_INFO), \
DEPS := $$($1_SOURCE_FILE) $$(BUILD_TOOLS_JDK), \
OUTPUT_FILE := $$($1_OUTPUT_FILE), \
COMMAND := $$(TOOL_SPP) $$($1_COMMAND_LINE), \
PRE_COMMAND := $$(RM) $$($1_OUTPUT_FILE).tmp $$($1_OUTPUT_FILE), \
POST_COMMAND := $$(MV) $$($1_OUTPUT_FILE).tmp $$($1_OUTPUT_FILE), \
))
$1 += $$(RUN_SPP_$1)
endef
################################################################################
endif # include guard
include MakeIncludeEnd.gmk

View File

@@ -156,8 +156,8 @@ define SetupBuildLauncherBody
DISABLED_WARNINGS_gcc := unused-function unused-variable, \
DISABLED_WARNINGS_clang := unused-function, \
LDFLAGS := $$($1_LDFLAGS), \
LDFLAGS_linux := $$(call SET_EXECUTABLE_ORIGIN,/../lib), \
LDFLAGS_macosx := $$(call SET_EXECUTABLE_ORIGIN,/../lib), \
LDFLAGS_linux := $$(call SetExecutableOrigin,/../lib), \
LDFLAGS_macosx := $$(call SetExecutableOrigin,/../lib), \
LDFLAGS_FILTER_OUT := $$($1_LDFLAGS_FILTER_OUT), \
JDK_LIBS := $$($1_JDK_LIBS), \
JDK_LIBS_windows := $$($1_JDK_LIBS_windows), \

View File

@@ -93,6 +93,14 @@ DEPENDENCY_TARGET_SED_PATTERN := \
-e 's/$$$$/ :/' \
#
################################################################################
# Setup compiler-specific argument to specify output file
ifeq ($(call isCompiler, microsoft), true)
CC_OUT_OPTION := -Fo
else
CC_OUT_OPTION := -o$(SPACE)
endif
################################################################################
# Create the recipe needed to compile a single native source file.
#
@@ -236,7 +244,7 @@ define CreateCompiledNativeFileBody
# For assembler calls just create empty dependency lists
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_COMPILER) $$($1_FLAGS) \
$(CC_OUT_OPTION)$$($1_OBJ) -Ta $$($1_SRC_FILE))) \
$(CC_OUT_OPTION)$$($1_OBJ) $(AS_NON_ASM_EXTENSION_OPTION) $$($1_SRC_FILE))) \
| $(TR) -d '\r' | $(GREP) -v -e "Assembling:" || test "$$$$?" = "1" ; \
$(ECHO) > $$($1_DEPS_FILE) ; \
$(ECHO) > $$($1_DEPS_TARGETS_FILE)
@@ -334,7 +342,7 @@ define CreateWindowsResourceFile
$$(call LogInfo, Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$($1_BASENAME)))
$$(call MakeDir, $$(@D) $$($1_OBJECT_DIR))
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_RC) $$($1_RCFLAGS) $$($1_SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \
$$($1_RC) $$($1_RCFLAGS) $$($1_SYSROOT_CFLAGS) -Fo$$@ \
$$($1_VERSIONINFO_RESOURCE) 2>&1 ))
# Windows RC compiler does not support -showIncludes, so we mis-use CL
# for this. Filter out RC specific arguments that are unknown to CL.
@@ -344,7 +352,7 @@ define CreateWindowsResourceFile
$$(call ExecuteWithLog, $$($1_RES_DEPS_FILE)$(OBJ_SUFFIX), \
$$($1_CC) $$(filter-out -l%, $$($1_RCFLAGS)) \
$$($1_SYSROOT_CFLAGS) -showIncludes -nologo -TC \
$(CC_OUT_OPTION)$$($1_RES_DEPS_FILE)$(OBJ_SUFFIX) -P -Fi$$($1_RES_DEPS_FILE).pp \
-Fo$$($1_RES_DEPS_FILE)$(OBJ_SUFFIX) -P -Fi$$($1_RES_DEPS_FILE).pp \
$$($1_VERSIONINFO_RESOURCE)) 2>&1 \
| $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \
-e "^$$(notdir $$($1_VERSIONINFO_RESOURCE))$$$$" || test "$$$$?" = "1" ; \

View File

@@ -50,6 +50,26 @@ GetEntitlementsFile = \
$(if $(wildcard $f), $f, $(DEFAULT_ENTITLEMENTS_FILE)) \
)
ifeq ($(call isCompiler, gcc), true)
SetSharedLibraryName = \
-Wl,-soname=$1
else ifeq ($(call isCompiler, clang), true)
ifeq ($(call isTargetOs, macosx), true)
SetSharedLibraryName = \
-Wl,-install_name,@rpath/$1
else ifeq ($(call isTargetOs, aix), true)
SetSharedLibraryName =
else
# Default works for linux, might work on other platforms as well.
SetSharedLibraryName = \
-Wl,-soname=$1
endif
else ifeq ($(call isCompiler, microsoft), true)
SetSharedLibraryName =
else
$(error Unknown toolchain)
endif
################################################################################
define SetupLinking
# Unless specifically set, stripping should only happen if symbols are also
@@ -131,7 +151,7 @@ define CreateDynamicLibraryOrExecutable
# A shared dynamic library or an executable binary has been specified
ifeq ($$($1_TYPE), LIBRARY)
# Generating a dynamic library.
$1_EXTRA_LDFLAGS += $$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
$1_EXTRA_LDFLAGS += $$(call SetSharedLibraryName,$$($1_BASENAME))
endif
ifeq ($(MACOSX_CODESIGN_MODE), hardened)

View File

@@ -113,9 +113,10 @@ define CreateDynamicLibraryOrExecutableMicrosoft
$$(CHMOD) +x $$($1_TARGET)
endif
ifneq ($$($1_MANIFEST), )
$$($1_MT) -nologo -manifest $$($1_MANIFEST) \
-identity:"$$($1_NAME).exe, version=$$($1_MANIFEST_VERSION)" \
-outputresource:$$@;#1
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_run_mt, \
$$($1_MT) -nologo -manifest $$($1_MANIFEST) \
-identity:"$$($1_NAME).exe$$(COMMA) version=$$($1_MANIFEST_VERSION)" \
'-outputresource:$$($1_TARGET);$$(HASH)1')
endif
ifneq ($(SIGNING_HOOK), )
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_call_signing_hook, \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2023, 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
@@ -51,7 +51,6 @@ DOCS_MODULES= \
jdk.jdwp.agent \
jdk.jfr \
jdk.jlink \
jdk.jsobject \
jdk.jshell \
jdk.jstatd \
jdk.localedata \

View File

@@ -26,7 +26,7 @@
# Versions and download locations for dependencies used by GitHub Actions (GHA)
GTEST_VERSION=1.14.0
JTREG_VERSION=7.5.1+1
JTREG_VERSION=8+2
LINUX_X64_BOOT_JDK_EXT=tar.gz
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk24/1f9ff9062db4449d8ca828c504ffae90/36/GPL/openjdk-24_linux-x64_bin.tar.gz

View File

@@ -1174,9 +1174,9 @@ var getJibProfilesDependencies = function (input, common) {
jtreg: {
server: "jpg",
product: "jtreg",
version: "7.5.1",
build_number: "1",
file: "bundles/jtreg-7.5.1+1.zip",
version: "8",
build_number: "2",
file: "bundles/jtreg-8+2.zip",
environment_name: "JT_HOME",
environment_path: input.get("jtreg", "home_path") + "/bin",
configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"),
@@ -1192,8 +1192,8 @@ var getJibProfilesDependencies = function (input, common) {
server: "jpg",
product: "jcov",
version: "3.0",
build_number: "1",
file: "bundles/jcov-3.0+1.zip",
build_number: "3",
file: "bundles/jcov-3.0+3.zip",
environment_name: "JCOV_HOME",
},

View File

@@ -62,7 +62,6 @@ UPGRADEABLE_PLATFORM_MODULES= \
java.compiler \
jdk.graal.compiler \
jdk.graal.compiler.management \
jdk.jsobject \
#
PLATFORM_MODULES= \

View File

@@ -67,6 +67,8 @@ ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* CDECL __asan_default_opt
#endif
"print_suppressions=0,"
"handle_segv=0,"
// A lot of libjsig related tests fail because of the link order check; so better avoid it
"verify_asan_link_order=0,"
// See https://github.com/google/sanitizers/issues/1322. Hopefully this is resolved
// at some point and we can remove this option.
"intercept_tls_get_addr=0";

View File

@@ -62,5 +62,8 @@
// thread so it is easier to track down. You can override these options by setting the environment
// variable UBSAN_OPTIONS.
ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __ubsan_default_options() {
return "halt_on_error=1,print_stacktrace=1" _LLVM_SYMBOLIZER(LLVM_SYMBOLIZER);
return "halt_on_error=1,"
"handle_segv=0,"
"handle_sigbus=0,"
"print_stacktrace=1" _LLVM_SYMBOLIZER(LLVM_SYMBOLIZER);
}

View File

@@ -39,7 +39,7 @@
#
# make TARGETS="aarch64-linux-gnu" BASE_OS=Fedora
# or
# make TARGETS="arm-linux-gnueabihf ppc64-linux-gnu" BASE_OS=Fedora BASE_OS_VERSION=17
# make TARGETS="arm-linux-gnueabihf ppc64le-linux-gnu" BASE_OS=Fedora BASE_OS_VERSION=17
#
# to build several devkits for a specific OS version at once.
# You can find the final results under ../../build/devkit/result/<host>-to-<target>
@@ -50,7 +50,7 @@
# makefile again for cross compilation. Ex:
#
# PATH=$PWD/../../build/devkit/result/x86_64-linux-gnu-to-x86_64-linux-gnu/bin:$PATH \
# make TARGETS="arm-linux-gnueabihf,ppc64-linux-gnu" BASE_OS=Fedora
# make TARGETS="arm-linux-gnueabihf ppc64le-linux-gnu" BASE_OS=Fedora
#
# This is the makefile which iterates over all host and target platforms.
#

View File

@@ -69,15 +69,26 @@ else ifeq ($(BASE_OS), Fedora)
ifeq ($(BASE_OS_VERSION), )
BASE_OS_VERSION := $(DEFAULT_OS_VERSION)
endif
ifeq ($(filter aarch64 armhfp ppc64le riscv64 s390x x86_64, $(ARCH)), )
$(error Only "aarch64 armhfp ppc64le riscv64 s390x x86_64" architectures are supported for Fedora, but "$(ARCH)" was requested)
endif
ifeq ($(ARCH), riscv64)
ifeq ($(filter 38 39 40 41, $(BASE_OS_VERSION)), )
$(error Only Fedora 38-41 are supported for "$(ARCH)", but Fedora $(BASE_OS_VERSION) was requested)
endif
BASE_URL := http://fedora.riscv.rocks/repos-dist/f$(BASE_OS_VERSION)/latest/$(ARCH)/Packages/
else
LATEST_ARCHIVED_OS_VERSION := 35
ifeq ($(filter x86_64 armhfp, $(ARCH)), )
LATEST_ARCHIVED_OS_VERSION := 36
ifeq ($(filter aarch64 armhfp x86_64, $(ARCH)), )
FEDORA_TYPE := fedora-secondary
else
FEDORA_TYPE := fedora/linux
endif
ifeq ($(ARCH), armhfp)
ifneq ($(BASE_OS_VERSION), 36)
$(error Fedora 36 is the last release supporting "armhfp", but $(BASE_OS) was requested)
endif
endif
NOT_ARCHIVED := $(shell [ $(BASE_OS_VERSION) -gt $(LATEST_ARCHIVED_OS_VERSION) ] && echo true)
ifeq ($(NOT_ARCHIVED),true)
BASE_URL := https://dl.fedoraproject.org/pub/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/
@@ -464,7 +475,7 @@ ifeq ($(ARCH), armhfp)
$(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --with-float=hard
endif
ifneq ($(filter riscv64 ppc64 ppc64le s390x, $(ARCH)), )
ifneq ($(filter riscv64 ppc64le s390x, $(ARCH)), )
# We only support 64-bit on these platforms anyway
CONFIG += --disable-multilib
endif

View File

@@ -64,6 +64,30 @@ IS_WSL=`echo $UNAME_RELEASE | grep Microsoft`
IS_MSYS=`echo $UNAME_OS | grep -i Msys`
MSYS2_ARG_CONV_EXCL="*" # make "cmd.exe /c" work for msys2
CMD_EXE="cmd.exe /c"
# Detect host architecture to determine devkit platform support
# Note: The devkit always includes x86, x64, and aarch64 libraries and tools
# The difference is in toolchain capabilities:
# - On x64|AMD64 hosts: aarch64 tools are cross-compilation tools (Hostx64/arm64)
# - On aarch64|ARMv8 hosts: aarch64 tools are native tools (Hostarm64/arm64)
HOST_ARCH=`echo $PROCESSOR_IDENTIFIER`
case $HOST_ARCH in
AMD64)
echo "Running on x64 host - generating devkit with native x86/x64 tools and cross-compiled aarch64 tools."
echo "For native aarch64 compilation tools, run this script on a Windows/aarch64 machine."
SUPPORTED_PLATFORMS="x86, x64 (native) and aarch64 (cross-compiled)"
;;
ARMv8)
echo "Running on aarch64 host - generating devkit with native tools for all platforms (x86, x64, aarch64)."
SUPPORTED_PLATFORMS="x86, x64, and aarch64 (all native)"
;;
*)
echo "Unknown host architecture: $HOST_ARCH"
echo "Proceeding with devkit generation - toolchain capabilities may vary."
SUPPORTED_PLATFORMS="x86, x64, and aarch64"
;;
esac
if test "x$IS_CYGWIN" != "x"; then
BUILD_ENV="cygwin"
elif test "x$IS_MSYS" != "x"; then
@@ -139,6 +163,7 @@ DEVKIT_ROOT="${BUILD_DIR}/VS${VS_VERSION}-${VS_VERSION_SP}-devkit"
DEVKIT_BUNDLE="${DEVKIT_ROOT}.tar.gz"
echo "Creating devkit in $DEVKIT_ROOT"
echo "Platform support: $SUPPORTED_PLATFORMS"
MSVCR_DLL=${MSVC_CRT_DIR}/vcruntime${VS_DLL_VERSION}.dll
VCRUNTIME_1_DLL=${MSVC_CRT_DIR}/vcruntime${VS_DLL_VERSION}_1.dll
@@ -156,7 +181,11 @@ REDIST_SUBDIR="VC/Redist/MSVC/$REDIST_VERSION"
echo "Copying VC..."
rm -rf $DEVKIT_ROOT/VC
mkdir -p $DEVKIT_ROOT/VC/bin
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/arm64" $DEVKIT_ROOT/VC/bin/
if [ -d "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostarm64/arm64" ]; then
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostarm64/arm64" $DEVKIT_ROOT/VC/bin/
else
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/arm64" $DEVKIT_ROOT/VC/bin/
fi
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/x64" $DEVKIT_ROOT/VC/bin/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx86/x86" $DEVKIT_ROOT/VC/bin/
mkdir -p $DEVKIT_ROOT/VC/lib

View File

@@ -47,8 +47,9 @@ ifeq ($(call check-jvm-feature, dtrace), true)
$(call LogInfo, Generating dtrace header file $(@F))
$(call MakeDir, $(@D) $(DTRACE_SUPPORT_DIR))
$(call ExecuteWithLog, $(DTRACE_SUPPORT_DIR)/$(@F).d, \
($(CPP) $(DTRACE_CPP_FLAGS) $(SYSROOT_CFLAGS) $< > $(DTRACE_SUPPORT_DIR)/$(@F).d))
$(call ExecuteWithLog, $@, $(DTRACE) $(DTRACE_FLAGS) -h -o $@ -s $(DTRACE_SUPPORT_DIR)/$(@F).d)
$(CPP) $(DTRACE_CPP_FLAGS) $(SYSROOT_CFLAGS) $< > $(DTRACE_SUPPORT_DIR)/$(@F).d)
$(call ExecuteWithLog, $@, \
$(DTRACE) $(DTRACE_FLAGS) -h -o $@ -s $(DTRACE_SUPPORT_DIR)/$(@F).d)
# Process all .d files in DTRACE_SOURCE_DIR. They are:
# hotspot_jni.d hotspot.d hs_private.d

View File

@@ -62,13 +62,13 @@ $(eval $(call SetupJdkLibrary, BUILD_GTEST_LIBGTEST, \
DISABLED_WARNINGS_gcc := format-nonliteral maybe-uninitialized undef \
unused-result zero-as-null-pointer-constant, \
DISABLED_WARNINGS_clang := format-nonliteral undef unused-result, \
DISABLED_WARNINGS_microsoft := 4530, \
DEFAULT_CFLAGS := false, \
CFLAGS := $(JVM_CFLAGS) \
-I$(GTEST_FRAMEWORK_SRC)/googletest \
-I$(GTEST_FRAMEWORK_SRC)/googletest/include \
-I$(GTEST_FRAMEWORK_SRC)/googlemock \
-I$(GTEST_FRAMEWORK_SRC)/googlemock/include, \
CFLAGS_windows := -EHsc, \
CFLAGS_macosx := -DGTEST_OS_MAC=1, \
OPTIMIZATION := $(JVM_OPTIMIZATION), \
COPY_DEBUG_SYMBOLS := $(GTEST_COPY_DEBUG_SYMBOLS), \
@@ -98,7 +98,6 @@ $(eval $(call SetupJdkLibrary, BUILD_GTEST_LIBJVM, \
-I$(GTEST_FRAMEWORK_SRC)/googletest/include \
-I$(GTEST_FRAMEWORK_SRC)/googlemock/include \
$(addprefix -I, $(GTEST_TEST_SRC)), \
CFLAGS_windows := -EHsc, \
CFLAGS_macosx := -DGTEST_OS_MAC=1, \
DISABLED_WARNINGS_gcc := $(DISABLED_WARNINGS_gcc) \
undef stringop-overflow, \
@@ -110,7 +109,7 @@ $(eval $(call SetupJdkLibrary, BUILD_GTEST_LIBJVM, \
self-assign-overloaded, \
DISABLED_WARNINGS_clang_test_g1ServiceThread.cpp := delete-abstract-non-virtual-dtor, \
DISABLED_WARNINGS_clang_test_logDecorations.cpp := missing-field-initializers, \
DISABLED_WARNINGS_microsoft := $(DISABLED_WARNINGS_microsoft), \
DISABLED_WARNINGS_microsoft := $(DISABLED_WARNINGS_microsoft) 4530, \
LD_SET_ORIGIN := false, \
DEFAULT_LDFLAGS := false, \
LDFLAGS := $(JVM_LDFLAGS), \
@@ -153,7 +152,7 @@ $(eval $(call SetupJdkExecutable, BUILD_GTEST_LAUNCHER, \
-I$(GTEST_FRAMEWORK_SRC)/googlemock \
-I$(GTEST_FRAMEWORK_SRC)/googlemock/include, \
LD_SET_ORIGIN := false, \
LDFLAGS_unix := $(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_unix := $(call SetSharedLibraryOrigin), \
JDK_LIBS := gtest:libjvm, \
COPY_DEBUG_SYMBOLS := $(GTEST_COPY_DEBUG_SYMBOLS), \
ZIP_EXTERNAL_DEBUG_SYMBOLS := false, \

View File

@@ -97,11 +97,13 @@ CFLAGS_VM_VERSION := \
DISABLED_WARNINGS_gcc := array-bounds comment delete-non-virtual-dtor \
empty-body format-zero-length implicit-fallthrough int-in-bool-context \
invalid-offsetof \
maybe-uninitialized missing-field-initializers \
shift-negative-value unknown-pragmas unused-but-set-variable \
unused-local-typedefs unused-variable
DISABLED_WARNINGS_clang := delete-non-abstract-non-virtual-dtor missing-braces \
DISABLED_WARNINGS_clang := delete-non-abstract-non-virtual-dtor \
invalid-offsetof missing-braces \
sometimes-uninitialized unknown-pragmas unused-but-set-variable \
unused-function unused-local-typedef unused-private-field unused-variable

View File

@@ -57,7 +57,7 @@ ifeq ($(call check-jvm-feature, zero), true)
-DZERO_LIBARCH='"$(OPENJDK_TARGET_CPU_LEGACY_LIB)"' $(LIBFFI_CFLAGS)
JVM_LIBS_FEATURES += $(LIBFFI_LIBS)
ifeq ($(ENABLE_LIBFFI_BUNDLING), true)
JVM_LDFLAGS_FEATURES += $(call SET_EXECUTABLE_ORIGIN,/..)
JVM_LDFLAGS_FEATURES += $(call SetExecutableOrigin,/..)
endif
else
JVM_EXCLUDE_PATTERNS += /zero/

View File

@@ -1,7 +1,7 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.cppStandard": "c++17",
"C_Cpp.default.compilerPath": "{{COMPILER}}",
// Configure ccls

View File

@@ -1,7 +1,7 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.cppStandard": "c++17",
"C_Cpp.default.compilerPath": "{{COMPILER}}",
// Configure clangd

View File

@@ -1,5 +1,5 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.cppStandard": "c++17",
"C_Cpp.default.compilerPath": "{{COMPILER}}",

View File

@@ -1,7 +1,7 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.cppStandard": "c++17",
"C_Cpp.default.compilerPath": "{{COMPILER}}",
// Configure RTags

View File

@@ -12,12 +12,18 @@
],
"extensions": {
"recommendations": [
"oracle.oracle-java",
// {{INDEXER_EXTENSIONS}}
]
},
"settings": {
// {{INDEXER_SETTINGS}}
// Java extension
"jdk.project.jdkhome": "{{OUTPUTDIR}}/jdk",
"jdk.java.onSave.organizeImports": false, // prevents unnecessary changes
"jdk.serverVmOptions": ["-Xmx2G"], // prevent out of memory
// Additional conventions
"files.associations": {
"*.gmk": "makefile"

View File

@@ -79,6 +79,7 @@ class Bundle {
"NumberElements/nan",
"NumberElements/currencyDecimal",
"NumberElements/currencyGroup",
"NumberElements/lenientMinusSigns",
};
private static final String[] TIME_PATTERN_KEYS = {
@@ -542,10 +543,10 @@ class Bundle {
if (pattern != null) {
// Perform date-time format pattern conversion which is
// applicable to both SimpleDateFormat and j.t.f.DateTimeFormatter.
String transPattern = translateDateFormatLetters(calendarType, pattern, this::convertDateTimePatternLetter);
String transPattern = translateDateFormatLetters(calendarType, key, pattern, this::convertDateTimePatternLetter);
dateTimePatterns.add(i, transPattern);
// Additionally, perform SDF specific date-time format pattern conversion
sdfPatterns.add(i, translateDateFormatLetters(calendarType, transPattern, this::convertSDFLetter));
sdfPatterns.add(i, translateDateFormatLetters(calendarType, key, transPattern, this::convertSDFLetter));
} else {
dateTimePatterns.add(i, null);
sdfPatterns.add(i, null);
@@ -568,7 +569,7 @@ class Bundle {
}
}
private String translateDateFormatLetters(CalendarType calendarType, String cldrFormat, ConvertDateTimeLetters converter) {
private String translateDateFormatLetters(CalendarType calendarType, String patternKey, String cldrFormat, ConvertDateTimeLetters converter) {
String pattern = cldrFormat;
int length = pattern.length();
boolean inQuote = false;
@@ -587,7 +588,7 @@ class Bundle {
if (nextc == '\'') {
i++;
if (count != 0) {
converter.convert(calendarType, lastLetter, count, jrePattern);
converter.convert(calendarType, patternKey, lastLetter, count, jrePattern);
lastLetter = 0;
count = 0;
}
@@ -597,7 +598,7 @@ class Bundle {
}
if (!inQuote) {
if (count != 0) {
converter.convert(calendarType, lastLetter, count, jrePattern);
converter.convert(calendarType, patternKey, lastLetter, count, jrePattern);
lastLetter = 0;
count = 0;
}
@@ -614,7 +615,7 @@ class Bundle {
}
if (!(c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z')) {
if (count != 0) {
converter.convert(calendarType, lastLetter, count, jrePattern);
converter.convert(calendarType, patternKey, lastLetter, count, jrePattern);
lastLetter = 0;
count = 0;
}
@@ -627,7 +628,7 @@ class Bundle {
count++;
continue;
}
converter.convert(calendarType, lastLetter, count, jrePattern);
converter.convert(calendarType, patternKey, lastLetter, count, jrePattern);
lastLetter = c;
count = 1;
}
@@ -637,7 +638,7 @@ class Bundle {
}
if (count != 0) {
converter.convert(calendarType, lastLetter, count, jrePattern);
converter.convert(calendarType, patternKey, lastLetter, count, jrePattern);
}
if (cldrFormat.contentEquals(jrePattern)) {
return cldrFormat;
@@ -661,7 +662,7 @@ class Bundle {
* on the support given by the SimpleDateFormat and the j.t.f.DateTimeFormatter
* for date-time formatting.
*/
private void convertDateTimePatternLetter(CalendarType calendarType, char cldrLetter, int count, StringBuilder sb) {
private void convertDateTimePatternLetter(CalendarType calendarType, String patternKey, char cldrLetter, int count, StringBuilder sb) {
switch (cldrLetter) {
case 'u':
case 'U':
@@ -683,7 +684,7 @@ class Bundle {
* Perform a conversion of CLDR date-time format pattern letter which is
* specific to the SimpleDateFormat.
*/
private void convertSDFLetter(CalendarType calendarType, char cldrLetter, int count, StringBuilder sb) {
private void convertSDFLetter(CalendarType calendarType, String patternKey, char cldrLetter, int count, StringBuilder sb) {
switch (cldrLetter) {
case 'G':
if (calendarType != CalendarType.GREGORIAN) {
@@ -722,6 +723,17 @@ class Bundle {
appendN('z', count, sb);
break;
case 'y':
// If the style is FULL/LONG for a Japanese Calendar, make the
// count == 4 for Gan-nen
if (calendarType == CalendarType.JAPANESE &&
(patternKey.contains("full-") ||
patternKey.contains("long-"))) {
count = 4;
}
appendN(cldrLetter, count, sb);
break;
case 'Z':
if (count == 4 || count == 5) {
sb.append("XXX");
@@ -767,6 +779,7 @@ class Bundle {
.collect(Collectors.toMap(
e -> calendarPrefix + e.getKey(),
e -> translateDateFormatLetters(calendarType,
e.getKey(),
(String)e.getValue(),
this::convertDateTimePatternLetter)
))
@@ -775,7 +788,7 @@ class Bundle {
@FunctionalInterface
private interface ConvertDateTimeLetters {
void convert(CalendarType calendarType, char cldrLetter, int count, StringBuilder sb);
void convert(CalendarType calendarType, String patternKey, char cldrLetter, int count, StringBuilder sb);
}
/**

View File

@@ -844,6 +844,26 @@ class LDMLParseHandler extends AbstractLDMLHandler<Object> {
});
break;
// Lenient parsing
case "parseLenients":
if ("lenient".equals(attributes.getValue("level"))) {
pushKeyContainer(qName, attributes, attributes.getValue("scope"));
} else {
pushIgnoredContainer(qName);
}
break;
case "parseLenient":
// Use only the lenient minus sign for now
if (currentContainer instanceof KeyContainer kc
&& kc.getKey().equals("number")
&& attributes.getValue("sample").equals("-")) {
pushStringEntry(qName, attributes, currentNumberingSystem + "NumberElements/lenientMinusSigns");
} else {
pushIgnoredContainer(qName);
}
break;
default:
// treat anything else as a container
pushContainer(qName, attributes);
@@ -1150,6 +1170,14 @@ class LDMLParseHandler extends AbstractLDMLHandler<Object> {
currentStyle = "";
putIfEntry();
break;
case "parseLenient":
if (currentContainer instanceof StringEntry se) {
// Convert to a simple concatenation of lenient minuses
// e.g. "[\--﹣ −⁻₋ ]" -> "--﹣‐‑‒–−⁻₋➖" for the root locale
put(se.getKey(), se.getValue().replaceAll("[\\[\\]\\\\ ]", ""));
}
break;
default:
putIfEntry();
}

View File

@@ -0,0 +1,73 @@
/*
* Copyright (c) 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package build.tools.generatecharacter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class CaseFolding {
public static void main(String[] args) throws Throwable {
if (args.length != 3) {
System.err.println("Usage: java CaseFolding TemplateFile CaseFolding.txt CaseFolding.java");
System.exit(1);
}
var templateFile = Paths.get(args[0]);
var caseFoldingTxt = Paths.get(args[1]);
var genSrcFile = Paths.get(args[2]);
var supportedTypes = "^.*; [CTS]; .*$";
var caseFoldingEntries = Files.lines(caseFoldingTxt)
.filter(line -> !line.startsWith("#") && line.matches(supportedTypes))
.map(line -> {
String[] cols = line.split("; ");
return new String[] {cols[0], cols[1], cols[2]};
})
.filter(cols -> {
// the folding case doesn't map back to the original char.
var cp1 = Integer.parseInt(cols[0], 16);
var cp2 = Integer.parseInt(cols[2], 16);
return Character.toUpperCase(cp2) != cp1 && Character.toLowerCase(cp2) != cp1;
})
.map(cols -> String.format(" entry(0x%s, 0x%s)", cols[0], cols[2]))
.collect(Collectors.joining(",\n", "", ""));
// hack, hack, hack! the logic does not pick 0131. just add manually to support 'I's.
// 0049; T; 0131; # LATIN CAPITAL LETTER I
final String T_0x0131_0x49 = String.format(" entry(0x%04x, 0x%04x),\n", 0x0131, 0x49);
// Generate .java file
Files.write(
genSrcFile,
Files.lines(templateFile)
.map(line -> line.contains("%%%Entries") ? T_0x0131_0x49 + caseFoldingEntries : line)
.collect(Collectors.toList()),
StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
}
}

View File

@@ -0,0 +1,325 @@
/*
* Copyright (c) 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package build.tools.methodhandle;
import java.io.PrintWriter;
import java.lang.classfile.TypeKind;
import java.lang.invoke.MethodType;
import java.lang.invoke.VarHandle;
import java.lang.reflect.Method;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* A helper program to generate the VarHandleGuards class with a set of
* static guard methods each of which corresponds to a particular shape and
* performs a type check of the symbolic type descriptor with the VarHandle
* type descriptor before linking/invoking to the underlying operation as
* characterized by the operation member name on the VarForm of the
* VarHandle.
* <p>
* The generated class essentially encapsulates pre-compiled LambdaForms,
* one for each method, for the most common set of method signatures.
* This reduces static initialization costs, footprint costs, and circular
* dependencies that may arise if a class is generated per LambdaForm.
* <p>
* A maximum of L*T*S methods will be generated where L is the number of
* access modes kinds (or unique operation signatures) and T is the number
* of variable types and S is the number of shapes (such as instance field,
* static field, or array access).
* If there are 4 unique operation signatures, 5 basic types (Object, int,
* long, float, double), and 3 shapes then a maximum of 60 methods will be
* generated. However, the number is likely to be less since there may
* be duplicate signatures.
* <p>
* Each method is annotated with @LambdaForm.Compiled to inform the runtime
* that such methods should be treated as if a method of a class that is the
* result of compiling a LambdaForm. Annotation of such methods is
* important for correct evaluation of certain assertions and method return
* type profiling in HotSpot.
*
* @see java.lang.invoke.GenerateJLIClassesHelper
*/
public final class VarHandleGuardMethodGenerator {
static final String CLASS_HEADER = """
/*
* 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package java.lang.invoke;
import jdk.internal.vm.annotation.AOTSafeClassInitializer;
import jdk.internal.vm.annotation.ForceInline;
import jdk.internal.vm.annotation.Hidden;
// This file is generated by build.tools.methodhandle.VarHandleGuardMethodGenerator.
// Do not edit!
@AOTSafeClassInitializer
final class VarHandleGuards {
""";
static final String GUARD_METHOD_SIG_TEMPLATE = "<RETURN> <NAME>_<SIGNATURE>(<PARAMS>)";
static final String GUARD_METHOD_TEMPLATE =
"""
@ForceInline
@LambdaForm.Compiled
@Hidden
static final <METHOD> throws Throwable {
boolean direct = handle.checkAccessModeThenIsDirect(ad);
if (direct && handle.vform.methodType_table[ad.type] == ad.symbolicMethodTypeErased) {
<RESULT_ERASED>MethodHandle.linkToStatic(<LINK_TO_STATIC_ARGS>);<RETURN_ERASED>
} else {
MethodHandle mh = handle.getMethodHandle(ad.mode);
<RETURN>mh.asType(ad.symbolicMethodTypeInvoker).invokeBasic(<LINK_TO_INVOKER_ARGS>);
}
}""";
static final String GUARD_METHOD_TEMPLATE_V =
"""
@ForceInline
@LambdaForm.Compiled
@Hidden
static final <METHOD> throws Throwable {
boolean direct = handle.checkAccessModeThenIsDirect(ad);
if (direct && handle.vform.methodType_table[ad.type] == ad.symbolicMethodTypeErased) {
MethodHandle.linkToStatic(<LINK_TO_STATIC_ARGS>);
} else if (direct && handle.vform.getMethodType_V(ad.type) == ad.symbolicMethodTypeErased) {
MethodHandle.linkToStatic(<LINK_TO_STATIC_ARGS>);
} else {
MethodHandle mh = handle.getMethodHandle(ad.mode);
mh.asType(ad.symbolicMethodTypeInvoker).invokeBasic(<LINK_TO_INVOKER_ARGS>);
}
}""";
// A template for deriving the operations
// could be supported by annotating VarHandle directly with the
// operation kind and shape
interface VarHandleTemplate {
Object get();
void set(Object value);
boolean compareAndSet(Object actualValue, Object expectedValue);
Object compareAndExchange(Object actualValue, Object expectedValue);
Object getAndUpdate(Object value);
}
record HandleType(Class<?> receiver, Class<?>... intermediates) {
}
public static void main(String... args) throws Throwable {
if (args.length != 1) {
System.err.println("Usage: java VarHandleGuardMethodGenerator VarHandleGuards.java");
System.exit(1);
}
Path outputFile = Path.of(args[0]);
try (PrintWriter pw = new PrintWriter(Files.newBufferedWriter(
outputFile,
StandardCharsets.UTF_8,
StandardOpenOption.CREATE,
StandardOpenOption.TRUNCATE_EXISTING))) {
print(pw);
}
}
public static void print(PrintWriter pw) {
pw.println(CLASS_HEADER);
// Declare the stream of shapes
List<HandleType> hts = List.of(
// Object->T
new HandleType(Object.class),
// <static>->T
new HandleType(null),
// Array[index]->T
new HandleType(Object.class, int.class),
// MS[base]->T
new HandleType(Object.class, long.class),
// MS[base][offset]->T
new HandleType(Object.class, long.class, long.class)
);
// The 5 JVM calling convention types
List<Class<?>> basicTypes = List.of(Object.class, int.class, long.class, float.class, double.class);
Stream.of(VarHandleTemplate.class.getMethods()).<MethodType>
mapMulti((m, sink) -> {
for (var ht : hts) {
for (var bt : basicTypes) {
sink.accept(generateMethodType(m, ht.receiver, bt, ht.intermediates));
}
}
}).
distinct().
map(VarHandleGuardMethodGenerator::generateMethod).
forEach(pw::println);
pw.println("}");
}
static MethodType generateMethodType(Method m, Class<?> receiver, Class<?> value, Class<?>... intermediates) {
Class<?> returnType = m.getReturnType() == Object.class
? value : m.getReturnType();
List<Class<?>> params = new ArrayList<>();
if (receiver != null)
params.add(receiver);
Collections.addAll(params, intermediates);
for (var p : m.getParameters()) {
params.add(value);
}
return MethodType.methodType(returnType, params);
}
static String generateMethod(MethodType mt) {
Class<?> returnType = mt.returnType();
var params = new LinkedHashMap<String, String>();
params.put("handle", className(VarHandle.class));
for (int i = 0; i < mt.parameterCount(); i++) {
params.put("arg" + i, className(mt.parameterType(i)));
}
params.put("ad", "VarHandle.AccessDescriptor");
// Generate method signature line
String RETURN = className(returnType);
String NAME = "guard";
String SIGNATURE = getSignature(mt);
String PARAMS = params.entrySet().stream().
map(e -> e.getValue() + " " + e.getKey()).
collect(Collectors.joining(", "));
String METHOD = GUARD_METHOD_SIG_TEMPLATE.
replace("<RETURN>", RETURN).
replace("<NAME>", NAME).
replace("<SIGNATURE>", SIGNATURE).
replace("<PARAMS>", PARAMS);
// Generate method
params.remove("ad");
List<String> LINK_TO_STATIC_ARGS = new ArrayList<>(params.keySet());
LINK_TO_STATIC_ARGS.add("handle.vform.getMemberName(ad.mode)");
List<String> LINK_TO_INVOKER_ARGS = new ArrayList<>(params.keySet());
LINK_TO_INVOKER_ARGS.set(0, LINK_TO_INVOKER_ARGS.get(0) + ".asDirect()");
RETURN = returnType == void.class
? ""
: returnType == Object.class
? "return "
: "return (" + returnType.getName() + ") ";
String RESULT_ERASED = returnType == void.class
? ""
: returnType != Object.class
? "return (" + returnType.getName() + ") "
: "Object r = ";
String RETURN_ERASED = returnType != Object.class
? ""
: "\n return ad.returnType.cast(r);";
String template = returnType == void.class
? GUARD_METHOD_TEMPLATE_V
: GUARD_METHOD_TEMPLATE;
return template.
replace("<METHOD>", METHOD).
replace("<NAME>", NAME).
replaceAll("<RETURN>", RETURN).
replace("<RESULT_ERASED>", RESULT_ERASED).
replace("<RETURN_ERASED>", RETURN_ERASED).
replaceAll("<LINK_TO_STATIC_ARGS>", String.join(", ", LINK_TO_STATIC_ARGS)).
replace("<LINK_TO_INVOKER_ARGS>", String.join(", ", LINK_TO_INVOKER_ARGS))
.indent(4);
}
static String className(Class<?> c) {
String n = c.getCanonicalName();
if (n == null)
throw new IllegalArgumentException("Not representable in source code: " + c);
if (!c.isPrimitive() && c.getPackageName().equals("java.lang")) {
n = n.substring("java.lang.".length());
} else if (c.getPackageName().equals("java.lang.invoke")) {
n = n.substring("java.lang.invoke.".length());
}
return n;
}
static String getSignature(MethodType m) {
StringBuilder sb = new StringBuilder(m.parameterCount() + 1);
for (int i = 0; i < m.parameterCount(); i++) {
Class<?> pt = m.parameterType(i);
sb.append(getCharType(pt));
}
sb.append('_').append(getCharType(m.returnType()));
return sb.toString();
}
static char getCharType(Class<?> pt) {
return TypeKind.from(pt).upperBound().descriptorString().charAt(0);
}
}

View File

@@ -0,0 +1,161 @@
/*
* Copyright (c) 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package flagsgenerator;
import com.sun.source.tree.CompilationUnitTree;
import com.sun.source.util.JavacTask;
import com.sun.source.util.TreePath;
import com.sun.source.util.Trees;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
import java.util.stream.Collectors;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.TypeElement;
import javax.lang.model.element.VariableElement;
import javax.lang.model.util.ElementFilter;
import javax.tools.ToolProvider;
public class FlagsGenerator {
public static void main(String... args) throws IOException {
var compiler = ToolProvider.getSystemJavaCompiler();
try (var fm = compiler.getStandardFileManager(null, null, null)) {
JavacTask task = (JavacTask) compiler.getTask(null, null, d -> {}, null, null, fm.getJavaFileObjects(args[0]));
Trees trees = Trees.instance(task);
CompilationUnitTree cut = task.parse().iterator().next();
task.analyze();
TypeElement clazz = (TypeElement) trees.getElement(new TreePath(new TreePath(cut), cut.getTypeDecls().get(0)));
Map<Integer, List<String>> flag2Names = new TreeMap<>();
Map<FlagTarget, Map<Integer, List<String>>> target2FlagBit2Fields = new EnumMap<>(FlagTarget.class);
Map<String, String> customToString = new HashMap<>();
Set<String> noToString = new HashSet<>();
for (VariableElement field : ElementFilter.fieldsIn(clazz.getEnclosedElements())) {
String flagName = field.getSimpleName().toString();
for (AnnotationMirror am : field.getAnnotationMirrors()) {
switch (am.getAnnotationType().toString()) {
case "com.sun.tools.javac.code.Flags.Use" -> {
long flagValue = ((Number) field.getConstantValue()).longValue();
int flagBit = 63 - Long.numberOfLeadingZeros(flagValue);
flag2Names.computeIfAbsent(flagBit, _ -> new ArrayList<>())
.add(flagName);
List<?> originalTargets = (List<?>) valueOfValueAttribute(am);
originalTargets.stream()
.map(value -> FlagTarget.valueOf(value.toString()))
.forEach(target -> target2FlagBit2Fields.computeIfAbsent(target, _ -> new HashMap<>())
.computeIfAbsent(flagBit, _ -> new ArrayList<>())
.add(flagName));
}
case "com.sun.tools.javac.code.Flags.CustomToStringValue" -> {
customToString.put(flagName, (String) valueOfValueAttribute(am));
}
case "com.sun.tools.javac.code.Flags.NoToStringValue" -> {
noToString.add(flagName);
}
}
}
}
//verify there are no flag overlaps:
for (Entry<FlagTarget, Map<Integer, List<String>>> targetAndFlag : target2FlagBit2Fields.entrySet()) {
for (Entry<Integer, List<String>> flagAndFields : targetAndFlag.getValue().entrySet()) {
if (flagAndFields.getValue().size() > 1) {
throw new AssertionError("duplicate flag for target: " + targetAndFlag.getKey() +
", flag: " + flagAndFields.getKey() +
", flags fields: " + flagAndFields.getValue());
}
}
}
try (PrintWriter out = new PrintWriter(Files.newBufferedWriter(Paths.get(args[1])))) {
out.println("""
package com.sun.tools.javac.code;
public enum FlagsEnum {
""");
for (Entry<Integer, List<String>> e : flag2Names.entrySet()) {
String constantName = e.getValue().stream().collect(Collectors.joining("_OR_"));
String toString = e.getValue()
.stream()
.filter(n -> !noToString.contains(n))
.map(n -> customToString.getOrDefault(n, n.toLowerCase(Locale.US)))
.collect(Collectors.joining(" or "));
out.println(" " + constantName + "(1L<<" + e.getKey() + ", \"" + toString + "\"),");
}
out.println("""
;
private final long value;
private final String toString;
private FlagsEnum(long value, String toString) {
this.value = value;
this.toString = toString;
}
public long value() {
return value;
}
public String toString() {
return toString;
}
}
""");
}
}
}
private static Object valueOfValueAttribute(AnnotationMirror am) {
return am.getElementValues()
.values()
.iterator()
.next()
.getValue();
}
private enum FlagTarget {
BLOCK,
CLASS,
METHOD,
MODULE,
PACKAGE,
TYPE_VAR,
VARIABLE;
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, 2018, 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
@@ -47,6 +47,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
@@ -93,7 +94,9 @@ public class ClassGenerator {
FACTORY_FIELD_LINT("factory.decl.field.lint"),
WILDCARDS_EXTENDS("wildcards.extends"),
SUPPRESS_WARNINGS("suppress.warnings"),
LINT_CATEGORY("lint.category");
LINT_CATEGORY("lint.category"),
DIAGNOSTIC_FLAGS_EMPTY("diagnostic.flags.empty"),
DIAGNOSTIC_FLAGS_NON_EMPTY("diagnostic.flags.non-empty");
/** stub key (as it appears in the property file) */
String key;
@@ -259,17 +262,30 @@ public class ClassGenerator {
.map(MessageLine::lintCategory)
.findFirst().orElse(null);
//System.out.println("category for " + key + " = " + lintCategory);
String diagnosticFlags = lines.stream()
.filter(MessageLine::isDiagnosticFlags)
.map(MessageLine::diagnosticFlags)
.flatMap(Stream::of)
.map(s -> s.replace('-', '_'))
.map(s -> s.toUpperCase(Locale.ROOT))
.collect(Collectors.joining(", "));
String factoryName = factoryName(key);
if (msgInfo.getTypes().isEmpty()) {
//generate field
String factoryField;
if (lintCategory == null) {
factoryField = StubKind.FACTORY_FIELD.format(k.keyClazz, factoryName,
diagnosticFlags.isEmpty() ?
StubKind.DIAGNOSTIC_FLAGS_EMPTY.format() :
StubKind.DIAGNOSTIC_FLAGS_NON_EMPTY.format(diagnosticFlags),
"\"" + keyParts[0] + "\"",
"\"" + Stream.of(keyParts).skip(2).collect(Collectors.joining(".")) + "\"",
javadoc);
} else {
factoryField = StubKind.FACTORY_FIELD_LINT.format(k.keyClazz, factoryName,
diagnosticFlags.isEmpty() ?
StubKind.DIAGNOSTIC_FLAGS_EMPTY.format() :
StubKind.DIAGNOSTIC_FLAGS_NON_EMPTY.format(diagnosticFlags),
StubKind.LINT_CATEGORY.format("\"" + lintCategory + "\""),
"\"" + keyParts[0] + "\"",
"\"" + Stream.of(keyParts).skip(2).collect(Collectors.joining(".")) + "\"",
@@ -287,11 +303,17 @@ public class ClassGenerator {
String methodBody;
if (lintCategory == null) {
methodBody = StubKind.FACTORY_METHOD_BODY.format(k.keyClazz,
diagnosticFlags.isEmpty() ?
StubKind.DIAGNOSTIC_FLAGS_EMPTY.format() :
StubKind.DIAGNOSTIC_FLAGS_NON_EMPTY.format(diagnosticFlags),
"\"" + keyParts[0] + "\"",
"\"" + Stream.of(keyParts).skip(2).collect(Collectors.joining(".")) + "\"",
argNames.stream().collect(Collectors.joining(", ")));
} else {
methodBody = StubKind.FACTORY_METHOD_BODY_LINT.format(k.keyClazz,
diagnosticFlags.isEmpty() ?
StubKind.DIAGNOSTIC_FLAGS_EMPTY.format() :
StubKind.DIAGNOSTIC_FLAGS_NON_EMPTY.format(diagnosticFlags),
StubKind.LINT_CATEGORY.format("\"" + lintCategory + "\""),
"\"" + keyParts[0] + "\"",
"\"" + Stream.of(keyParts).skip(2).collect(Collectors.joining(".")) + "\"",

View File

@@ -32,7 +32,8 @@ import java.util.List;
* A message within the message file.
* A message is a series of lines containing a "name=value" property,
* optionally preceded by a comment describing the use of placeholders
* such as {0}, {1}, etc within the property value.
* such as {0}, {1}, etc within the property value, a lint category,
* and/or a list of diagnostic flags.
*/
public final class Message {
final MessageLine firstLine;
@@ -49,7 +50,7 @@ public final class Message {
public MessageInfo getMessageInfo() {
if (messageInfo == null) {
MessageLine l = firstLine.prev;
if (l != null && l.isLint()) {
while (l != null && (l.isLint() || l.isDiagnosticFlags())) {
l = l.prev;
}
if (l != null && l.isInfo())
@@ -74,7 +75,7 @@ public final class Message {
while (l.text.isEmpty())
l = l.next;
} else {
if (l.prev != null && (l.prev.isInfo() || l.prev.isLint()))
while (l.prev != null && (l.prev.isInfo() || l.prev.isLint() || l.prev.isDiagnosticFlags()))
l = l.prev;
}

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
@@ -25,6 +25,7 @@
package propertiesparser.parser;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -39,6 +40,7 @@ public class MessageLine {
static final Pattern infoPattern = Pattern.compile(String.format("# ([0-9]+: %s, )*[0-9]+: %s",
typePattern.pattern(), typePattern.pattern()));
static final Pattern lintPattern = Pattern.compile("# lint: ([a-z\\-]+)");
static final Pattern diagnosticFlagsPattern = Pattern.compile("# flags: ([a-z\\-]+(, ([a-z\\-]+))*)");
public String text;
MessageLine prev;
@@ -69,6 +71,19 @@ public class MessageLine {
}
}
public boolean isDiagnosticFlags() {
return diagnosticFlagsPattern.matcher(text).matches();
}
public String[] diagnosticFlags() {
Matcher matcher = diagnosticFlagsPattern.matcher(text);
if (matcher.matches()) {
return matcher.group(1).split(", ", -1);
} else {
return null;
}
}
boolean hasContinuation() {
return (next != null) && text.endsWith("\\");
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014, 2024, 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
@@ -76,7 +76,7 @@ public interface MessageType {
ANNOTATION("annotation", "Compound", "com.sun.tools.javac.code.Attribute"),
BOOLEAN("boolean", "boolean", null),
COLLECTION("collection", "Collection", "java.util"),
FLAG("flag", "Flag", "com.sun.tools.javac.code.Flags"),
FLAG("flag", "FlagsEnum", "com.sun.tools.javac.code"),
FRAGMENT("fragment", "Fragment", null),
DIAGNOSTIC("diagnostic", "JCDiagnostic", "com.sun.tools.javac.util"),
MODIFIER("modifier", "Modifier", "javax.lang.model.element"),

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
@@ -27,6 +27,7 @@ toplevel.decl=\
package {0};\n\
\n\
{1}\n\
import com.sun.tools.javac.util.JCDiagnostic.DiagnosticFlag;\n\
import com.sun.tools.javac.util.JCDiagnostic.Error;\n\
import com.sun.tools.javac.util.JCDiagnostic.Warning;\n\
import com.sun.tools.javac.util.JCDiagnostic.LintWarning;\n\
@@ -34,6 +35,10 @@ toplevel.decl=\
import com.sun.tools.javac.util.JCDiagnostic.Fragment;\n\
import com.sun.tools.javac.code.Lint.LintCategory;\n\
\n\
import java.util.EnumSet;\n\
\n\
import static com.sun.tools.javac.util.JCDiagnostic.DiagnosticFlag.*;\n\
\n\
public class {2} '{'\n\
{3}\n\
'}'\n
@@ -58,22 +63,22 @@ factory.decl.method.arg=\
arg{0}
factory.decl.method.body=\
return new {0}({1}, {2}, {3});
return new {0}({1}, {2}, {3}, {4});
factory.decl.method.body.lint=\
return new {0}({1}, {2}, {3}, {4});
return new {0}({1}, {2}, {3}, {4}, {5});
factory.decl.field=\
/**\n\
' '* {4}\n\
' '*/\n\
public static final {0} {1} = new {0}({2}, {3});
public static final {0} {1} = new {0}({2}, {3}, {4});
factory.decl.field.lint=\
/**\n\
' '* {5}\n\
' '*/\n\
public static final {0} {1} = new {0}({2}, {3}, {4});
public static final {0} {1} = new {0}({2}, {3}, {4}, {5});
wildcards.extends=\
{0}<? extends {1}>
@@ -84,3 +89,9 @@ suppress.warnings=\
lint.category=\
LintCategory.get({0}).get()
diagnostic.flags.empty=\
EnumSet.noneOf(DiagnosticFlag.class)
diagnostic.flags.non-empty=\
EnumSet.of({0})

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