Compare commits

..

1094 Commits

Author SHA1 Message Date
Patricio Chilano Mateo
c59e44a7aa 8357914: TestEmptyBootstrapMethodsAttr.java fails when run with TEST_THREAD_FACTORY=Virtual
Reviewed-by: lmesnik, dholmes, sspitsyn, syan
2025-06-05 15:02:02 +00:00
Dmitry Chuyko
23f1d4f9a9 8337666: AArch64: SHA3 GPR intrinsic
Reviewed-by: aph
2025-06-05 14:28:27 +00:00
Erik Gahlin
33ed7c1842 8358689: test/micro/org/openjdk/bench/java/net/SocketEventOverhead.java does not build after JDK-8351594
Reviewed-by: alanb
2025-06-05 13:08:48 +00:00
Viktor Klang
782bbca439 8358633: Test ThreadPoolExecutorTest::testTimedInvokeAnyNullTimeUnit is broken by JDK-8347491
Reviewed-by: alanb
2025-06-05 12:04:57 +00:00
Erik Gahlin
6cdfd36ac8 8358590: JFR: Include min and max in MethodTiming event
Reviewed-by: mgronlun
2025-06-05 11:42:31 +00:00
Erik Gahlin
eb770a060a 8351594: JFR: Rate-limited sampling of Java events
Reviewed-by: mgronlun, alanb
2025-06-05 11:36:08 +00:00
Nizar Benalla
c5daf89053 8349369: test/docs/jdk/javadoc/doccheck/checks/jdkCheckLinks.java did not report on missing man page files
Reviewed-by: hannesw
2025-06-05 11:05:52 +00:00
Nizar Benalla
bd08932d5b 8356633: Incorrect use of {@link} in jdk.jshell
Reviewed-by: rgiulietti, vyazici
2025-06-05 10:31:23 +00:00
Markus Grönlund
d450e341c7 8357962: JFR Cooperative Sampling reveals inconsistent interpreter frames as part of JVMTI PopFrame
Reviewed-by: dholmes, eosterlund
2025-06-05 10:14:41 +00:00
Magnus Ihse Bursie
66feb490bd 8358543: Remove CommentChecker.java and DirDiff.java
Reviewed-by: erikj
2025-06-05 09:30:44 +00:00
Aleksey Shipilev
dc949003de 8358588: ThreadSnapshot.ThreadLock should be static nested class
Reviewed-by: alanb, sspitsyn, amenkov
2025-06-05 09:02:23 +00:00
Johannes Bechberger
ace70a6d6a 8358666: [REDO] Implement JEP 509: JFR CPU-Time Profiling
Reviewed-by: mgronlun
2025-06-05 08:18:18 +00:00
Dingli Zhang
48b97ac0e0 8358634: RISC-V: Fix several broken documentation web-links
Reviewed-by: fyang
2025-06-05 07:34:48 +00:00
Jaikiran Pai
08023481ed 8358558: (zipfs) Reorder the listing of "accessMode" property in the ZIP file system's documentation
Reviewed-by: dfuchs, vyazici, alanb, lancea
2025-06-05 04:24:05 +00:00
Vladimir Kozlov
849655a145 8358632: [asan] reports heap-buffer-overflow in AOTCodeCache::copy_bytes
Reviewed-by: vlivanov, iveresov
2025-06-05 03:25:46 +00:00
Hannes Greule
575806c0e5 8358078: javap crashes with NPE on preview class file
Reviewed-by: liach
2025-06-05 01:41:21 +00:00
David Holmes
8f8b367ae3 8350029: Illegal invokespecial interface not caught by verification
Reviewed-by: coleenp, matsaave
2025-06-05 00:35:26 +00:00
Markus Grönlund
9186cc7310 8358628: [BACKOUT] 8342818: Implement JEP 509: JFR CPU-Time Profiling
Reviewed-by: pchilanomate, dholmes
2025-06-04 23:55:18 +00:00
Magnus Ihse Bursie
b787ff6def 8358538: Update GHA Windows runner to 2025
Reviewed-by: shade
2025-06-04 23:19:33 +00:00
Johannes Bechberger
5b27e9c2df 8342818: Implement JEP 509: JFR CPU-Time Profiling
Reviewed-by: mgronlun, mdoerr, pchilanomate, apangin, shade
2025-06-04 22:08:58 +00:00
Aleksey Shipilev
3cf3e4bbec 8358339: Handle MethodCounters::_method backlinks after JDK-8355003
Reviewed-by: coleenp, kvn, iveresov
2025-06-04 21:32:29 +00:00
Joe Darcy
77c110c309 8357000: Write overview documentation for start of release changes
Reviewed-by: erikj, iris, ihse, dholmes
2025-06-04 20:03:48 +00:00
Ian Graves
901144ee0d 8358217: jdk/incubator/vector/PreferredSpeciesTest.java#id0 failures - expected [128] but found [256]
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Jaikiran Pai <jpai@openjdk.org>
Reviewed-by: syan, psandoz
2025-06-04 19:46:30 +00:00
Justin Lu
8f821175cc 8358170: Repurpose testCompat in test/jdk/java/util/TimeZone/Bug8167143.java
Reviewed-by: naoto
2025-06-04 18:46:31 +00:00
Matthew Donovan
5ed246d17d 8357592: Update output parsing in test/jdk/sun/security/tools/jarsigner/compatibility/Compatibility.java
Reviewed-by: rhalade
2025-06-04 18:07:07 +00:00
Sergey Bylokhov
8939acc8ab 8358057: Update validation of ICC_Profile header data
Reviewed-by: honkar
2025-06-04 17:53:17 +00:00
Ashutosh Mehra
fd0ab04367 8358330: AsmRemarks and DbgStrings clear() method may not get called before their destructor
Reviewed-by: kvn
2025-06-04 16:52:38 +00:00
Justin Lu
8a79ac8863 8358449: Locale.getISOCountries does not specify the returned set is unmodifiable
Reviewed-by: naoto
2025-06-04 16:40:22 +00:00
Stuart Marks
ef47635d5a 8358015: Fix SequencedMap sequenced view method specifications
Reviewed-by: jpai, bchristi
2025-06-04 16:14:31 +00:00
Stefan Karlsson
c909216446 8357443: ZGC: Optimize old page iteration in remap remembered phase
Reviewed-by: aboldtch, eosterlund
2025-06-04 14:56:20 +00:00
Aleksey Shipilev
4e314cb9e0 8356000: C1/C2-only modes use 2 compiler threads on low CPU count machines
Reviewed-by: kvn, dfenacci, galder
2025-06-04 14:21:34 +00:00
Matias Saavedra Silva
a2723d91df 8345347: Test runtime/cds/TestDefaultArchiveLoading.java should accept VM flags or be marked as flagless
Reviewed-by: lmesnik, stefank, ccheung
2025-06-04 14:16:20 +00:00
Igor Veresov
ae1892fb0f 8358003: KlassTrainingData initializer reads garbage holder
Reviewed-by: coleenp, shade, vlivanov
2025-06-04 14:07:49 +00:00
Tom Shull
0352477ff5 8357660: [JVMCI] Add support for retrieving all BootstrapMethodInvocations directly from ConstantPool
Reviewed-by: dnsimon, yzheng
2025-06-04 13:50:36 +00:00
Erik Gahlin
a653ff4893 8358536: jdk/jfr/api/consumer/TestRecordingFileWrite.java times out
Reviewed-by: mgronlun
2025-06-04 13:39:31 +00:00
Emanuel Peter
248341d372 8344942: Template-Based Testing Framework
Co-authored-by: Tobias Hartmann <thartmann@openjdk.org>
Co-authored-by: Tobias Holenstein <tholenstein@openjdk.org>
Co-authored-by: Theo Weidmann <tweidmann@openjdk.org>
Co-authored-by: Roberto Castañeda Lozano <rcastanedalo@openjdk.org>
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Co-authored-by: Manuel Hässig <mhaessig@openjdk.org>
Reviewed-by: chagedorn, mhaessig, rcastanedalo
2025-06-04 13:16:24 +00:00
Archie Cobbs
09ec4de74d 8358066: Non-ascii package names gives compilation error "import requires canonical name"
Reviewed-by: jlahoda, naoto
2025-06-04 12:56:18 +00:00
Robbin Ehn
dc961609f8 8356159: RISC-V: Add Zabha
Reviewed-by: fyang, fjiang
2025-06-04 12:43:23 +00:00
Alan Bateman
7838321b74 8358496: Concurrent reading from Socket with timeout executes sequentially
Reviewed-by: dfuchs
2025-06-04 09:52:45 +00:00
Sean Coffey
42f48a39e8 8350689: Turn on timestamp and thread metadata by default for java.security.debug
Reviewed-by: mullan
2025-06-04 09:41:51 +00:00
Matthias Baesken
cd16b68962 8357155: [asan] ZGC does not work (x86_64 and ppc64)
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: mdoerr, aboldtch
2025-06-04 09:06:46 +00:00
Martin Doerr
ab23500034 8354636: [PPC64] Clean up comments regarding frame manager
Reviewed-by: amitkumar, rrich
2025-06-04 08:31:37 +00:00
He-Pin(kerr)
f141674d16 8347491: IllegalArgumentationException thrown by ThreadPoolExecutor doesn't have a useful message
Reviewed-by: vklang, liach, pminborg
2025-06-04 08:28:29 +00:00
Markus Grönlund
b6d60280e7 8358429: JFR: minimize the time the Threads_lock is held for sampling
Reviewed-by: egahlin
2025-06-04 08:20:48 +00:00
Markus Grönlund
955bfcd550 8357671: JFR: Remove JfrTraceIdEpoch synchronizing
Reviewed-by: egahlin
2025-06-04 08:19:24 +00:00
Magnus Ihse Bursie
edf92721c2 8356977: UTF-8 cleanups
Reviewed-by: naoto, prr
2025-06-04 08:10:42 +00:00
Jaikiran Pai
b5cfd76c04 8358456: ZipFile.getInputStream(ZipEntry) throws unspecified IllegalArgumentException
Reviewed-by: lancea
2025-06-04 06:38:06 +00:00
Aleksey Shipilev
683319f25c 8357798: ReverseOrderListView uses Boolean boxes after JDK-8356080
Reviewed-by: liach, smarks
2025-06-04 06:04:05 +00:00
Aleksey Shipilev
b918dc84ec 8357434: x86: Simplify Interpreter::profile_taken_branch
Reviewed-by: kvn, vlivanov
2025-06-04 06:02:49 +00:00
Alan Bateman
f17b2bc06a 8356870: HotSpotDiagnosticMXBean.dumpThreads and jcmd Thread.dump_to_file updates
Reviewed-by: sspitsyn, kevinw
2025-06-04 04:10:10 +00:00
Vladimir Kozlov
ebd85288ce 8358289: [asan] runtime/cds/appcds/aotCode/AOTCodeFlags.java reports heap-buffer-overflow in ArchiveBuilder
Reviewed-by: shade, iklam, asmehra
2025-06-04 02:14:17 +00:00
Anjian Wen
939521b8e4 8358105: RISC-V: Optimize interpreter profile updates
Reviewed-by: fjiang, fyang
2025-06-04 02:03:22 +00:00
Cesar Soares Lucas
2345065166 8357600: Patch nmethod flushing message to include more details
Reviewed-by: shade, kvn
2025-06-03 23:39:32 +00:00
Naoto Sato
9c74d54514 8358158: test/jdk/java/io/Console/CharsetTest.java failing with NoClassDefFoundError: jtreg/SkippedException
Reviewed-by: joehw, jlu, iris
2025-06-03 23:28:00 +00:00
Daniel Gredler
939753579b 8356803: Test TextLayout/TestControls fails on windows & linux: line and paragraph separator show non-zero advance
8356812: Create an automated version of TextLayout/TestControls

Reviewed-by: prr, honkar
2025-06-03 23:27:44 +00:00
Alex Menkov
da49fa5e15 8354460: Streaming output for attach API should be turned on by default
Reviewed-by: sspitsyn, kevinw
2025-06-03 20:47:17 +00:00
Cesar Soares Lucas
704b5990a7 8358534: Bailout in Conv2B::Ideal when type of cmp input is not supported
Reviewed-by: shade
2025-06-03 20:15:20 +00:00
Tom Shull
e235b61a8b 8357987: [JVMCI] Add support for retrieving all methods of a ResolvedJavaType
Reviewed-by: dnsimon, yzheng, never
2025-06-03 19:38:58 +00:00
Magnus Ihse Bursie
a44a470052 8358515: make cmp-baseline is broken after JDK-8349665
Reviewed-by: erikj
2025-06-03 19:23:29 +00:00
Stefan Lobbenmeier
cc11b7d1f5 8356128: Correct documentation for --linux-package-deps
Reviewed-by: asemenyuk, almatvee
2025-06-03 19:22:52 +00:00
Alex Menkov
406f1bc5b9 8357650: ThreadSnapshot to take snapshot of thread for thread dumps
Co-authored-by: Alan Bateman <alanb@openjdk.org>
Co-authored-by: Alex Menkov <amenkov@openjdk.org>
Reviewed-by: sspitsyn, kevinw
2025-06-03 18:46:55 +00:00
Daniel D. Daugherty
e984fa7997 8358539: ProblemList jdk/jfr/api/consumer/TestRecordingFileWrite.java
Reviewed-by: ayang, bpb
2025-06-03 18:41:05 +00:00
Alisen Chung
461cb84277 8345538: Robot.mouseMove doesn't clamp bounds on macOS when trying to move mouse off screen
Reviewed-by: honkar, prr
2025-06-03 18:02:47 +00:00
Chris Plummer
c382da5798 8358178: Some nsk/jdi tests should be run with includevirtualthreads=y even though they pass without
Reviewed-by: sspitsyn, lmesnik
2025-06-03 17:19:31 +00:00
Larry Cable
44d62c8e21 8358077: sun.tools.attach.VirtualMachineImpl::checkCatchesAndSendQuitTo on Linux leaks file handles after JDK-8327114
Reviewed-by: kevinw, sspitsyn, syan
2025-06-03 17:13:22 +00:00
Jatin Bhateja
d7e58ac480 8351635: C2 ROR/ROL: assert failed: Long constant expected
Reviewed-by: thartmann, chagedorn
2025-06-03 17:00:54 +00:00
Brian Burkhalter
57862005f9 8354450: A File should be invalid if an element of its name sequence ends with a space
Reviewed-by: alanb
2025-06-03 16:32:12 +00:00
Justin Lu
04c15466f6 8358095: Cleanup tests with explicit locale provider set to only CLDR
Reviewed-by: bpb, naoto
2025-06-03 16:13:14 +00:00
Patricio Chilano Mateo
16e120b008 8357910: LoaderConstraintsTest.java fails when run with TEST_THREAD_FACTORY=Virtual
Reviewed-by: dholmes, coleenp
2025-06-03 16:12:53 +00:00
Erik Gahlin
d7def20afa 8358448: JFR: Incorrect time unit for MethodTiming event
Reviewed-by: mgronlun, ayang
2025-06-03 16:02:14 +00:00
Brian Burkhalter
4604c86d2f 8357425: (fs) SecureDirectoryStream setPermissions should use fchmodat
Reviewed-by: alanb
2025-06-03 15:43:26 +00:00
Michael McMahon
b6f827ef05 8348986: Improve coverage of enhanced exception messages
Reviewed-by: dfuchs
2025-06-03 15:36:29 +00:00
Igor Veresov
01f01b6f7b 8358283: Inconsistent failure mode for MetaspaceObj::operator new(size_t, MemTag)
Reviewed-by: kvn, kbarrett
2025-06-03 15:31:07 +00:00
Yudi Zheng
faf19abd31 8358333: Use VEX2 prefix in Assembler::psllq
Reviewed-by: jbhateja, thartmann
2025-06-03 15:10:53 +00:00
Archie Cobbs
e2f736658f 8329951: var emits deprecation warnings that do not point to the file or position
Reviewed-by: vromero
2025-06-03 14:35:17 +00:00
Erik Österlund
d3f54dae30 8357954: G1: No SATB barriers applied for runtime IN_NATIVE atomics
Reviewed-by: shade, kbarrett, tschatzl
2025-06-03 14:27:41 +00:00
Axel Boldt-Christmas
4618374269 8358310: ZGC: riscv, ppc ZPlatformAddressOffsetBits may return a too large value
Reviewed-by: eosterlund, mdoerr, fyang
2025-06-03 12:15:08 +00:00
Joel Sikström
78a392aa3b 8356880: ZGC: Backoff in ZLiveMap::reset spin-loop
Reviewed-by: stefank, eosterlund, aboldtch
2025-06-03 11:42:10 +00:00
Kim Barrett
c1a81cfb51 8358284: doc/testing.html is not up to date after JDK-8355003
Reviewed-by: jwaters, dholmes, erikj
2025-06-03 10:08:32 +00:00
Axel Boldt-Christmas
def7355cc9 8356716: ZGC: Cleanup Uncommit Logic
Reviewed-by: eosterlund, jsikstro
2025-06-03 09:36:21 +00:00
Martin Doerr
457d9de81d 8358013: [PPC64] VSX has poor performance on Power8
Reviewed-by: dbriemann, clanger
2025-06-03 09:24:13 +00:00
Chad Rakoczy
4402527683 8357223: AArch64: Optimize interpreter profile updates
Reviewed-by: shade, aph
2025-06-03 08:55:34 +00:00
Aleksey Shipilev
8674f49127 8358318: JFR: Tighten up PlatformTracer initialization
Reviewed-by: egahlin
2025-06-03 08:30:17 +00:00
Aleksey Shipilev
6f783e5fab 8358319: Pem.decode should cache the Pattern
Reviewed-by: ascarpino
2025-06-03 08:14:23 +00:00
Aleksey Shipilev
cff75eb606 8358316: PKCS8Key.getEncoded() can throw NPE after JDK-8298420
Reviewed-by: ascarpino
2025-06-03 08:14:05 +00:00
Marc Chevalier
be923a8b72 8353266: C2: Wrong execution with Integer.bitCount(int) intrinsic on AArch64
Reviewed-by: aph, thartmann
2025-06-03 08:06:43 +00:00
Albert Mingkun Yang
dbf562c725 8358313: G1: Refactor G1CollectedHeap::is_maximal_no_gc
Reviewed-by: jsikstro, tschatzl
2025-06-03 07:25:54 +00:00
Doug Simon
6cfd4057dc 8357619: [JVMCI] Revisit phantom_ref parameter in JVMCINMethodData::get_nmethod_mirror
Reviewed-by: eosterlund, never
2025-06-03 06:20:29 +00:00
Doug Simon
497a1822ca 8358254: [AOT] runtime/cds/appcds/applications/JavacBench.java#aot crashes with SEGV in ClassLoaderData::holder
Reviewed-by: never
2025-06-03 06:19:23 +00:00
Roman Marchenko
c5f235c000 8347826: Introspector shows wrong method list after 8071693
Reviewed-by: azvegint, serb, aivanov
2025-06-03 06:00:28 +00:00
David Beaumont
832c5b06e8 8350880: (zipfs) Add support for read-only zip file systems
Reviewed-by: lancea, alanb, jpai
2025-06-03 04:01:09 +00:00
Manuel Hässig
24edd3b2c1 8354930: IGV: dump C2 graph before and after live range stretching
Reviewed-by: rcastanedalo, chagedorn
2025-06-03 03:19:19 +00:00
Qizheng Xing
c96803dc8b 8358035: Remove unused compute_fingerprint declaration in ClassFileStream
Reviewed-by: ccheung, iklam
2025-06-03 03:09:18 +00:00
Harshitha Onkar
e490b4f04d 8357082: Stabilize and add debug logs to CopyAreaOOB.java
Reviewed-by: serb
2025-06-02 21:52:08 +00:00
Sergey Bylokhov
0418b3295a 8357696: Enhance code consistency: java.desktop/unix
Reviewed-by: prr
2025-06-02 20:23:14 +00:00
Chris Plummer
5243f3851b 8357924: Remove runtime/ErrorHandling/CreateCoredumpOnCrash.java from problem list for macosx-x64
Reviewed-by: syan, dholmes
2025-06-02 19:07:29 +00:00
Erik Gahlin
1373ceb7f3 8356698: JFR: @Contextual
Reviewed-by: mgronlun
2025-06-02 18:22:35 +00:00
Alex Menkov
ec02a87aee 8345745: Update mode of the Attach API communication pipe.
Reviewed-by: sspitsyn, kevinw
2025-06-02 18:13:24 +00:00
Magnus Ihse Bursie
a7671e7360 8358337: JDK-8357991 was committed with incorrect indentation
Reviewed-by: shade
2025-06-02 17:06:45 +00:00
Ioi Lam
bce2bd24ef 8356308: Assert with -Xlog:class+path when classpath has an empty element
Reviewed-by: dholmes, ccheung
2025-06-02 16:52:05 +00:00
Calvin Cheung
8b6a11f7e0 8352187: Don't start management agent during AOT cache creation
Reviewed-by: shade, iklam, kvn
2025-06-02 16:51:44 +00:00
Magnus Ihse Bursie
ab5de45636 8357991: make bootcycle-images is broken after JDK-8349665
Reviewed-by: erikj
2025-06-02 16:50:10 +00:00
William Kemper
99a4b22ae7 8358102: GenShen: Age tables could be seeded with cumulative values
Reviewed-by: ysr
2025-06-02 16:48:16 +00:00
Matias Saavedra Silva
1b6ae2059b 8357576: FieldInfo::_index is not initialized by the constructor
Reviewed-by: coleenp, dholmes
2025-06-02 15:29:30 +00:00
Hannes Wallnöfer
daab7b5cee 8357796: Stylesheet adjustments after JDK-8357452
Reviewed-by: rriggs
2025-06-02 15:27:14 +00:00
Phil Race
a4eb15195c 8357672: Extreme font sizes can cause font substitution
Reviewed-by: dmarkov, jdv
2025-06-02 15:24:09 +00:00
Aleksey Shipilev
b3594c9e55 8357481: Excessive CompileTask wait/notify monitor creation
Reviewed-by: vlivanov, kvn
2025-06-02 13:08:41 +00:00
Erik Österlund
83b15da2eb 8351997: AArch64: Interpreter volatile reference stores with G1 are not sequentially consistent
Reviewed-by: shade, aph, fbredberg
2025-06-02 12:26:08 +00:00
Coleen Phillimore
c22af0c29e 8358205: Remove unused JFR array allocation code
Reviewed-by: kbarrett, mgronlun
2025-06-02 11:50:50 +00:00
Viktor Klang
83cb0c6de5 8358151: Harden JSR166 Test case testShutdownNow_delayedTasks
Reviewed-by: alanb, shade
2025-06-02 09:22:37 +00:00
Martin Doerr
612f2c0c0b 8357981: [PPC64] Remove old instructions from VM_Version::determine_features()
Reviewed-by: dbriemann, mbaesken
2025-06-02 09:21:31 +00:00
Roman Kennke
eb9badd8a4 8358169: Shenandoah/JVMCI: Export GC state constants
Reviewed-by: dnsimon, shade
2025-06-02 08:57:16 +00:00
Guoxiong Li
a9e7a74d00 8357109: Parallel: Fix typo in YoungedGeneration
Reviewed-by: ayang, zgu, tschatzl
2025-06-02 08:47:36 +00:00
Martin Doerr
ba9f44c90f 8357793: [PPC64] VM crashes with -XX:-UseSIGTRAP -XX:-ImplicitNullChecks
Reviewed-by: shade, dbriemann
2025-06-02 08:31:10 +00:00
Martin Doerr
40ce05d408 8358231: Template interpreter generator crashes with ShouldNotReachHere on some platforms after 8353686
Reviewed-by: shade, amitkumar, mbaesken, kvn
2025-06-02 08:28:10 +00:00
Albert Mingkun Yang
6418306211 8357944: Remove unused CollectedHeap::is_maximal_no_gc
Reviewed-by: jsikstro, tschatzl
2025-06-02 08:23:06 +00:00
Thomas Schatzl
3f59bfd2e1 8334759: gc/g1/TestMixedGCLiveThreshold.java fails on Windows with JTREG_TEST_THREAD_FACTORY=Virtual due to extra memory allocation
Reviewed-by: ayang, iwalulya
2025-06-02 07:59:10 +00:00
Robbin Ehn
c5a1543ee3 8357968: RISC-V: Interpreter volatile reference stores with G1 are not sequentially consistent
Reviewed-by: eosterlund, fbredberg, shade, fyang
2025-06-02 05:43:20 +00:00
Prasanta Sadhukhan
90d6ad0157 8356594: JSplitPane loses divider location when reopened via JOptionPane.createDialog()
Reviewed-by: kizune
2025-06-02 02:06:06 +00:00
David Holmes
3193a28c53 8358259: ProblemList compiler/startup/StartupOutput.java on Windows
Reviewed-by: darcy
2025-06-01 23:36:25 +00:00
Igor Veresov
85e36d7924 8358236: [AOT] Graal crashes when trying to use persisted MDOs
Reviewed-by: kvn
2025-06-01 21:21:27 +00:00
Matthias Baesken
c1b5f62a8c 8358136: Make langtools/jdk/javadoc/doclet/testLinkOption/TestRedirectLinks.java intermittent
Reviewed-by: jpai, nbenalla, syan
2025-06-01 09:06:04 +00:00
Alan Bateman
ac9af69eee 8357637: Native resources cached in thread locals not released when FJP common pool threads clears thread locals
Reviewed-by: vklang
2025-06-01 06:17:50 +00:00
Vladimir Kozlov
e3eb089d47 8357175: Failure to generate or load AOT code should be handled gracefully
Reviewed-by: iveresov, asmehra
2025-06-01 03:57:28 +00:00
Mikhail Yankelevich
470ffeedda 8230016: re-visit test sun/security/pkcs11/Serialize/SerializeProvider.java
Reviewed-by: rhalade
2025-06-01 03:50:39 +00:00
Ashutosh Mehra
59dc849909 8358230: Incorrect location for the assert for blob != nullptr in CodeBlob::create
Reviewed-by: kvn
2025-06-01 01:04:54 +00:00
Srinivas Vamsi Parasa
fc3d3d9b30 8351994: Enable Extended EVEX to REX2/REX demotion when src and dst are the same
Reviewed-by: sviswanathan, jbhateja, epeter
2025-05-31 23:07:55 +00:00
Jaikiran Pai
a3f9e22263 8358218: Problemlist jdk/incubator/vector/PreferredSpeciesTest.java#id0
Reviewed-by: psandoz
2025-05-31 16:31:24 +00:00
Jaikiran Pai
84002d12ed 8228773: URLClassLoader constructors should include API note warning that the parent should not be null
Reviewed-by: alanb, mullan
2025-05-31 13:02:58 +00:00
Sergey Bylokhov
3a3ea7e17f 8357598: Toolkit.removeAWTEventListener should handle null listener in AWTEventListenerProxy
Reviewed-by: aivanov, dnguyen
2025-05-31 07:06:08 +00:00
Chad Rakoczy
19360a904b 8356949: AArch64: Tighten up template interpreter method entry code
Reviewed-by: aph, shade
2025-05-31 02:48:33 +00:00
David Briemann
061b24d4f9 8357304: [PPC64] C2: Implement MinV, MaxV and Reduction nodes
Reviewed-by: mdoerr, varadam
2025-05-31 02:47:26 +00:00
Ian Graves
c62223a5af 8358215: ProblemList jdk/incubator/vector/PreferredSpeciesTest.java
Reviewed-by: psandoz
2025-05-31 00:41:16 +00:00
Serguei Spitsyn
c67fc73595 8320189: vmTestbase/nsk/jvmti/scenarios/bcinstr/BI02/bi02t001 memory corruption when using -Xcheck:jni
Reviewed-by: lmesnik, amenkov
2025-05-31 00:40:23 +00:00
Sergey Bylokhov
d9d00d33a6 8358107: Rollback JDK-8357299 changeset
Reviewed-by: psadhukhan
2025-05-31 00:26:50 +00:00
Sergey Bylokhov
5ad02c98f1 8355004: Apply java.io.Serial annotations in java.compiler
Reviewed-by: liach, darcy
2025-05-31 00:16:40 +00:00
Bradford Wetmore
2926435d22 8341346: Add support for exporting TLS Keying Material
Reviewed-by: hchao, jnimeh, weijun
2025-05-30 23:06:36 +00:00
Mohamed Issa
0df8c9684b 8353686: Optimize Math.cbrt for x86 64 bit platforms
Reviewed-by: sviswanathan, sparasa, jbhateja
2025-05-30 21:47:20 +00:00
Alex Menkov
db340e54f8 8356222: Thread.print command reports waiting on the Class initialization monitor for both carrier and virtual threads
Reviewed-by: alanb, sspitsyn
2025-05-30 21:11:58 +00:00
Ian Graves
09301c1dc0 8356634: VectorShape#largestShapeFor should have public access
Reviewed-by: psandoz
2025-05-30 21:11:38 +00:00
Alex Menkov
abbffc0103 8358202: ProblemList vmTestbase/nsk/jvmti/AttachOnDemand/attach045/TestDescription.java
Reviewed-by: sspitsyn, cjplummer
2025-05-30 21:00:34 +00:00
Chris Plummer
14e41ab055 8357172: Extend try block in nsk/jdi tests to capture exceptions thrown by Debuggee.classByName()
Reviewed-by: lmesnik, sspitsyn
2025-05-30 20:14:14 +00:00
Anthony Scarpino
c9d6e01233 8358076: KeyFactory.getInstance("EdDSA").generatePublic(null) throws NPE
Reviewed-by: weijun
2025-05-30 20:13:00 +00:00
Daniel Gredler
94039e22bb 8353230: Emoji rendering regression after JDK-8208377
Reviewed-by: prr, honkar
2025-05-30 19:16:17 +00:00
Ashutosh Mehra
b7ca672d5c 8357047: [ubsan] AdapterFingerPrint::AdapterFingerPrint runtime error: index 3 out of bounds
Reviewed-by: kvn, adinn
2025-05-30 18:26:19 +00:00
Chris Plummer
82807d43f8 8357184: Test vmTestbase/nsk/jdi/ExceptionEvent/_itself_/exevent008/TestDescription.java fails with unreported exception
Reviewed-by: lmesnik, sspitsyn
2025-05-30 17:58:46 +00:00
Chris Plummer
3cc630985d 8353955: nsk/jdi tests should be fixed to not always require includevirtualthreads=y
Reviewed-by: sspitsyn, amenkov, lmesnik
2025-05-30 17:36:03 +00:00
Naoto Sato
4fa4f15122 8357882: Use UTF-8 encoded data in LocaleDataTest
Reviewed-by: jlu, joehw
2025-05-30 17:23:52 +00:00
Naoto Sato
eaf7815ea6 8357886: Remove TimeZoneNames_* of the COMPAT locale data provider
Reviewed-by: joehw, jlu
2025-05-30 17:22:51 +00:00
Justin Lu
81464cd114 8358089: Remove the GenerateKeyList.java test tool
Reviewed-by: naoto
2025-05-30 17:13:04 +00:00
Artur Barashev
99048c3d4a 8357033: Reduce stateless session ticket size
Reviewed-by: wetmore, djelinski, ascarpino
2025-05-30 16:03:13 +00:00
Archie Cobbs
26275a10b2 8355753: @SuppressWarnings("this-escape") not respected for indirect leak via field
Reviewed-by: vromero
2025-05-30 14:42:36 +00:00
Thomas Stuefe
ae3d96a4ec 8357683: (process) SIGQUIT still blocked after JDK-8234262 with jdk.lang.Process.launchMechanism=FORK or VFORK
Reviewed-by: rriggs
2025-05-30 13:40:25 +00:00
Alexey Ivanov
12ee80cac7 8357675: Amend headless message
Reviewed-by: prr, shade
2025-05-30 13:31:35 +00:00
Anjian Wen
acd64ba24a 8357626: RISC-V: Tighten up template interpreter method entry code
Reviewed-by: fyang, fjiang
2025-05-30 10:56:37 +00:00
Qizheng Xing
a0eb1900c9 8358104: Fix ZGC compilation error on GCC 10.2
Reviewed-by: kbarrett, jsikstro
2025-05-30 09:41:08 +00:00
nibjen
566e3b21ed 8357253: Test test/jdk/sun/security/ssl/SSLSessionImpl/ResumeClientTLS12withSNI.java writes in src dir
Reviewed-by: coffeys
2025-05-30 09:22:16 +00:00
Abhishek Kumar
e33eeeea04 8341311: [Accessibility,macOS,VoiceOver] VoiceOver announces incorrect number of items in submenu of JPopupMenu
Reviewed-by: asemenov, kizune
2025-05-30 06:25:08 +00:00
Daniel Skantz
6f9e1175a9 8356246: C2: Compilation fails with "assert(bol->is_Bool()) failed: unexpected if shape" in StringConcat::eliminate_unneeded_control
Reviewed-by: rcastanedalo, kvn
2025-05-30 06:23:11 +00:00
Amit Kumar
20005511e3 8353500: [s390x] Intrinsify Unsafe::setMemory
Reviewed-by: lucy, mdoerr
2025-05-30 03:50:43 +00:00
Alexander Matveev
fd51b03910 8351369: [macos] Use --install-dir option with DMG packaging
Reviewed-by: asemenyuk
2025-05-30 03:07:04 +00:00
Prasanta Sadhukhan
64503c784b 8357299: Graphics copyArea doesn't copy any pixels when there is overflow
Reviewed-by: achung, kizune, prr
2025-05-30 02:06:56 +00:00
Alexey Semenyuk
a05f9dea18 8358017: Various enhancements of jpackage test helpers
Reviewed-by: almatvee
2025-05-29 21:44:47 +00:00
Dean Long
648c337bea 8356648: runtime/Thread/AsyncExceptionTest.java fails with +StressCompiledExceptionHandlers
Reviewed-by: thartmann, kvn
2025-05-29 21:41:49 +00:00
Boris Ulasevich
cb8eea4ecd 8356095: AArch64: Obsolete -XX:+NearCPool option
Reviewed-by: aph
2025-05-29 21:29:35 +00:00
Shaojin Wen
727412d1b5 8357690: Add @Stable and final to java.lang.CharacterDataLatin1 and other CharacterData classes
Reviewed-by: naoto
2025-05-29 20:09:58 +00:00
Shaojin Wen
d922e318bc 8349400: Improve startup speed via eliminating nested classes
Reviewed-by: valeriep, rriggs
2025-05-29 20:09:01 +00:00
Justin Lu
e509997fe8 8357275: Locale.Builder.setLanguageTag should mention conversions made on language tag
Reviewed-by: naoto
2025-05-29 17:39:08 +00:00
Ioi Lam
e306367813 8357693: AOTCodeCompressedOopsTest.java failed with -XX:+UseLargePages
Reviewed-by: kvn, shade
2025-05-29 17:06:42 +00:00
Justin Lu
f318868268 8348328: Update IANA Language Subtag Registry to Version 2025-05-15
Reviewed-by: iris, naoto
2025-05-29 17:01:28 +00:00
Brian Burkhalter
79aff26c28 8354724: Methods in java.io.Reader to read all characters and all lines
Reviewed-by: rriggs, smarks, jpai, alanb
2025-05-29 15:20:39 +00:00
Aleksey Shipilev
d8a783020d 8357999: SA: FileMapInfo.metadataTypeArray initialization issue after JDK-8355003
Reviewed-by: ayang, iklam, kvn, sspitsyn
2025-05-29 15:06:51 +00:00
Thomas Stuefe
4cf729cfac 8323497: On x64, use 32-bit immediate moves for narrow klass base if possible
Reviewed-by: shade, kvn, rkennke
2025-05-29 10:42:50 +00:00
Hannes Wallnöfer
a2743bab4f 8357458: Missing Highlight.js license file
Reviewed-by: jlahoda
2025-05-29 09:19:02 +00:00
Erik Gahlin
07f5b762a0 8352738: Implement JEP 520: JFR Method Timing and Tracing
Co-authored-by: Markus Grönlund <mgronlun@openjdk.org>
Reviewed-by: shade, mgronlun
2025-05-29 08:31:17 +00:00
Adam Sotona
d43f588db1 8357955: java.lang.classfile.Signature.ArrayTypeSig.of IAE not thrown for dims > 255
Reviewed-by: jlahoda
2025-05-29 07:03:26 +00:00
Phil Race
04e0fe00ab 8356049: Need a simple way to play back a sound clip
Reviewed-by: serb, aivanov, kizune
2025-05-29 05:52:12 +00:00
Lei Zhu
83a2804858 8357408: runtime/interpreter/CountBytecodesTest.java should be flagless
Reviewed-by: shade, syan, lmesnik
2025-05-29 05:40:36 +00:00
Ioi Lam
2ec6ab347a 8357525: Default CDS archive becomes non-deterministic after JDK-8305895
Reviewed-by: shade, coleenp
2025-05-28 22:58:34 +00:00
Ioi Lam
dede3532f7 8355798: Implement JEP 514: Ahead-of-Time Command Line Ergonomics
Reviewed-by: erikj, kvn, asmehra
2025-05-28 22:12:14 +00:00
Shaojin Wen
b7f0f480ce 8357681: Fixed the DigitList::toString method causing incorrect results during debugging
Reviewed-by: jlu, naoto
2025-05-28 20:36:44 +00:00
Anthony Scarpino
bb2c80c0e9 8298420: Implement JEP 470: PEM Encodings of Cryptographic Objects (Preview)
Reviewed-by: weijun, mr, mullan, jnimeh
2025-05-28 19:52:18 +00:00
Gerard Ziemski
28f509317d 8356233: NMT: tty->print_cr should not be used in VirtualMemoryTracker::add_reserved_region()
Reviewed-by: jsjolen, dholmes
2025-05-28 19:14:36 +00:00
Henry Jen
cd052c72cd 8345431: Improve jar --validate to detect duplicate or invalid entries
Reviewed-by: lancea, jpai
2025-05-28 17:22:41 +00:00
Naoto Sato
b2a61a9972 8356985: Use "stdin.encoding" in Console's read*() methods
Reviewed-by: jlu, smarks, alanb, vyazici
2025-05-28 16:24:04 +00:00
Alexey Semenyuk
8949c07484 8357930: Amendment for JDK-8333664
Reviewed-by: almatvee
2025-05-28 16:18:46 +00:00
PAWAN CHAWDHARY
e579cca619 8354475: TestDockerMemoryMetricsSubgroup.java fails with exitValue = 1
Reviewed-by: lmesnik, mseledtsov
2025-05-28 15:59:37 +00:00
Thomas Schatzl
2e6838a20d 8357307: VM GC operations should have a public gc_succeeded()
Reviewed-by: ayang, iwalulya
2025-05-28 15:49:34 +00:00
gauthamkrishnanibm
4ced4e73fc 8334742: Change java.time month/day field types to 'byte'
Reviewed-by: rriggs
2025-05-28 15:38:00 +00:00
Igor Veresov
e3f85c961b 8355003: Implement JEP 515: Ahead-of-Time Method Profiling
Co-authored-by: John R Rose <jrose@openjdk.org>
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Co-authored-by: Ioi Lam <iklam@openjdk.org>
Co-authored-by: Vladimir Kozlov <kvn@openjdk.org>
Co-authored-by: Aleksey Shipilev <shade@openjdk.org>
Reviewed-by: kvn, ihse, cjplummer, iklam
2025-05-28 15:15:03 +00:00
Magnus Ihse Bursie
63d0e7ff11 8355725: SPEC_FILTER stopped working
Reviewed-by: erikj
2025-05-28 14:42:35 +00:00
Magnus Ihse Bursie
a4f870df55 8357510: [REDO] RunTest variables should always be assigned
Reviewed-by: erikj
2025-05-28 14:42:21 +00:00
Magnus Ihse Bursie
7bd8375fe4 8357920: Add .rej and .orig to .gitignore
Reviewed-by: syan, erikj
2025-05-28 14:25:12 +00:00
Viktor Klang
18285fc136 8356553: Incorrect uses of {@link} in AbstractQueuedLongSynchronizer and AbstractQueuedSynchronizer
Reviewed-by: alanb
2025-05-28 14:23:23 +00:00
Markus Grönlund
1a65719ab3 8357911: JFR: Fix subtle xor method tagging bug
Reviewed-by: egahlin
2025-05-28 13:51:40 +00:00
Markus Grönlund
016cc4f333 8357830: JfrVframeStream::_cont_entry shadows super-class field
Reviewed-by: egahlin
2025-05-28 13:51:24 +00:00
Marc Chevalier
4b9290af0a 8356647: C2: Excessively strict assert in PhaseIdealLoop::do_unroll
Reviewed-by: chagedorn, epeter, dlong
2025-05-28 13:26:15 +00:00
Fabio Romano
c9e6c4d017 8356891: Some code simplifications in BigInteger
Reviewed-by: rgiulietti
2025-05-28 12:48:47 +00:00
Casper Norrbin
6ebae6cded 8241678: Remove PerfData sampling via StatSampler
Reviewed-by: jsjolen, ayang
2025-05-28 12:00:15 +00:00
Serguei Spitsyn
f30e15411f 8357673: remove test serviceability/jvmti/vthread/TestPinCaseWithCFLH
Reviewed-by: amenkov, lmesnik
2025-05-28 11:38:20 +00:00
Per Minborg
0671309de5 8357919: Arena::allocate returns segments with address zero if the segment length is zero after JDK-8345687
Reviewed-by: mcimadamore
2025-05-28 10:57:57 +00:00
Mikhail Yankelevich
627ef34498 8304065: HttpServer.stop should terminate immediately if no exchanges are in progress
Co-authored-by: Eirik Bjørsnøs <eirbjo@openjdk.org>
Reviewed-by: dfuchs, michaelm
2025-05-28 10:34:50 +00:00
Hannes Wallnöfer
39714b6030 8357869: Remove PreviewNote taglet in its current form
Reviewed-by: erikj
2025-05-28 09:46:49 +00:00
Andrew Haley
4e1878ca45 8355022: Implement JEP 506: Scoped Values
Reviewed-by: liach, alanb
2025-05-28 09:41:37 +00:00
Markus Grönlund
f02190bc30 8357829: Commented out sample limit in JfrSamplerThread::task_stacktrace
Reviewed-by: shade
2025-05-28 08:57:04 +00:00
Albert Mingkun Yang
1e0caedb9a 8357854: Parallel: Inline args of PSOldGen::initialize_performance_counters
Reviewed-by: tschatzl, jsikstro
2025-05-28 08:47:36 +00:00
Axel Boldt-Christmas
f74fbfe5de 8357449: ZGC: Multiple medium page sizes
Reviewed-by: stefank, jsikstro
2025-05-28 08:20:48 +00:00
Raffaello Giulietti
efeb050e00 8357808: Add a command line option for specifying a counter in TestRandomFloatingDecimal
Reviewed-by: liach
2025-05-28 08:13:02 +00:00
Marc Chevalier
1d57ff8ad4 8357781: Deep recursion in PhaseCFG::set_next_call leads to stack overflow
Reviewed-by: thartmann, kvn, mhaessig
2025-05-28 07:52:17 +00:00
Thomas Schatzl
db51556687 8354428: [ubsan] g1BiasedArray.hpp: pointer overflow in address calculation
Reviewed-by: ayang, kbarrett, mbaesken
2025-05-28 06:55:20 +00:00
Matthias Baesken
670ef8cc52 8357561: BootstrapLoggerTest does not work on Ubuntu 24 with LANG de_DE.UTF-8
Reviewed-by: dfuchs
2025-05-28 05:54:10 +00:00
Ioi Lam
72b9aafd5a 8357917: Assert in MetaspaceShared::preload_and_dump() when printing exception
Reviewed-by: kvn, jrose
2025-05-28 02:39:59 +00:00
Dingli Zhang
96fb31e2db 8357695: RISC-V: Move vector intrinsic condition checks into match_rule_supported_vector
Reviewed-by: fyang, fjiang
2025-05-28 02:27:06 +00:00
Steffen Nießing
4cad437956 8357597: Proxy.getInvocationHandler throws NullPointerException instead of IllegalArgumentException for null
Reviewed-by: rriggs, jpai, liach
2025-05-28 01:54:48 +00:00
Alex Menkov
c110623d38 8357282: Test vmTestbase/nsk/jvmti/AttachOnDemand/attach045/TestDescription.java fails after ClassNotFoundException
Reviewed-by: lmesnik, sspitsyn
2025-05-27 23:23:26 +00:00
Magnus Ihse Bursie
f25f4a3eb2 8349665: Make clean removes module-deps.gmk
Reviewed-by: erikj
2025-05-27 22:41:39 +00:00
William Kemper
2e8b195a96 8354078: Implement JEP 521: Generational Shenandoah
Reviewed-by: ysr
2025-05-27 21:40:27 +00:00
Andrey Turbanov
11ad1733f8 8354944: Remove unnecessary PartiallyOrderedSet.nodes
Reviewed-by: serb, aivanov
2025-05-27 20:43:09 +00:00
Brian Burkhalter
4755276f36 8357912: (fs) Remove @since tag from java.nio.file.FileSystems.newFileSystem(Path,ClassLoader)
Reviewed-by: lancea, alanb
2025-05-27 19:47:56 +00:00
Per Minborg
da228e0693 8357145: CRC/Inflater/Deflater/Adler32 methods that take a ByteBuffer throw UOE if backed by shared memory segment
Reviewed-by: alanb
2025-05-27 19:15:40 +00:00
Per Minborg
d4b923d175 8357268: Use JavaNioAccess.getBufferAddress rather than DirectBuffer.address()
Reviewed-by: alanb, valeriep
2025-05-27 19:11:12 +00:00
Brian Burkhalter
c1f066e17e 8356888: (fs) FileSystems.newFileSystem that take an env must specify IllegalArgumentException
Reviewed-by: lancea, alanb, jpai
2025-05-27 17:11:24 +00:00
Aleksey Shipilev
c29537740e 8357800: Initialize JvmtiThreadState bool fields with bool literals
Reviewed-by: alanb, stefank
2025-05-27 14:44:40 +00:00
Albert Mingkun Yang
cdff7b963c 8357801: Parallel: Remove deprecated PSVirtualSpace methods
Reviewed-by: tschatzl, iwalulya
2025-05-27 14:33:35 +00:00
Magnus Ihse Bursie
72a3022dc6 8357842: PandocFilter misses copyright header
Reviewed-by: syan, erikj
2025-05-27 12:35:31 +00:00
Serhiy Sachkov
b4b11d7771 8356443: Update open/test/jdk/TEST.groups manual test groups definitions with missing manual test
Reviewed-by: msheppar
2025-05-27 11:38:08 +00:00
Ivan Walulya
67d4ed173a 8357559: G1HeapRegionManager refactor rename functions related to the number of regions in different states
Reviewed-by: ayang, tschatzl
2025-05-27 10:43:16 +00:00
Jan Lahoda
9c191cc0fa 8356245: stdin.encoding and stdout.encoding in jshell don't respect console code pages
Reviewed-by: asotona, cstein, liach
2025-05-27 09:49:26 +00:00
Aleksey Shipilev
b9db99d7f7 8357797: Use StructuredTaskScopeImpl.ST_NEW for state init
Reviewed-by: alanb
2025-05-27 09:43:07 +00:00
Viktor Klang
aea32ec506 8357647: Stream gatherers forward upstream size information to downstream
Reviewed-by: liach, alanb
2025-05-27 09:17:29 +00:00
Arno Zeller
f62b9780c3 8357448: AOT crashes on linux musl with AddReads.java
Reviewed-by: mbaesken, shade, mdoerr
2025-05-27 09:11:00 +00:00
Michael McMahon
7cb6e5eb3e 8353124: java/lang/Thread/virtual/stress/Skynet.java#Z times out on macosx-x64-debug
Reviewed-by: alanb
2025-05-27 08:37:32 +00:00
Jatin Bhateja
5924c2d6c7 8357267: ZGC: Handle APX EGPRs spilling in ZRuntimeCallSpill
Reviewed-by: rcastanedalo, sviswanathan
2025-05-27 08:28:55 +00:00
Bhavana Kilambi
7bc315fa6a 8355585: Aarch64: Add aarch64 backend for Float16 vector operations
Reviewed-by: epeter, haosun, xgong, aph
2025-05-27 08:17:02 +00:00
Joel Sikström
85af573cb6 8356848: Separate Metaspace and GC printing
Reviewed-by: stefank, stuefe
2025-05-27 06:58:57 +00:00
Feilong Jiang
78d0dc7502 8357460: RISC-V: Optimize array fill stub for small size
Reviewed-by: wenanjian, fyang
2025-05-27 03:39:28 +00:00
Jasmine Karthikeyan
37d04a1e36 8355512: Test compiler/vectorization/TestVectorZeroCount.java times out with -XX:TieredStopAtLevel=3
Reviewed-by: chagedorn, epeter
2025-05-27 02:05:46 +00:00
Doug Lea
2c034f57d6 8357146: ForkJoinPool:schedule(*) does not throw RejectedExecutionException when pool is shutdown
Reviewed-by: alanb
2025-05-26 22:37:42 +00:00
Markus Grönlund
bbceab0725 8352251: Implement JEP 518: JFR Cooperative Sampling
Co-authored-by: Aleksey Shipilev <shade@openjdk.org>
Co-authored-by: Erik Österlund <eosterlund@openjdk.org>
Co-authored-by: Boris Ulasevich <bulasevich@openjdk.org>
Co-authored-by: Patricio Chilano Mateo <pchilanomate@openjdk.org>
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Co-authored-by: Fei Yang <fyang@openjdk.org>
Co-authored-by: Amit Kumar <amitkumar@openjdk.org>
Reviewed-by: eosterlund, egahlin
2025-05-26 18:37:55 +00:00
Emanuel Peter
e8eff4d25b 8357530: C2 SuperWord: Diagnostic flag AutoVectorizationOverrideProfitability
Reviewed-by: thartmann, kvn
2025-05-26 18:31:19 +00:00
Daniel Skantz
a300c35655 8357105: C2: compilation fails with "assert(false) failed: empty program detected during loop optimization"
Reviewed-by: syan, rcastanedalo
2025-05-26 14:22:12 +00:00
Nizar Benalla
bd095896dd 8356632: Fix remaining {@link/@linkplain} tags with refer to private/protected types in java.base
Reviewed-by: weijun, liach
2025-05-26 12:40:49 +00:00
Robbin Ehn
daa8eda530 8357056: RISC-V: Asm fixes - load/store width
Reviewed-by: fjiang, mli, luhenry, fyang
2025-05-26 11:52:32 +00:00
Jatin Bhateja
7002233ed9 8351950: C2: AVX512 vector assembler routines causing SIGFPE / no valid evex tuple_table entry
Reviewed-by: epeter, sviswanathan
2025-05-26 11:16:59 +00:00
Kieran Farrell
f825a51198 7046003: Default value of Authenticator.getRequestingURL() is not specified
Reviewed-by: michaelm, jpai
2025-05-26 11:12:49 +00:00
Roland Westrelin
ed4cd2acd2 8356989: Unexpected null in C2 compiled code
Reviewed-by: chagedorn, kvn, thartmann
2025-05-26 08:33:37 +00:00
Thomas Schatzl
9946c85e2f 8357621: G1: Clean up G1BiasedArray
Reviewed-by: sjohanss, ayang
2025-05-26 08:27:30 +00:00
Suchismith Roy
5cdeef81dd 8331859: [PPC64] Remove support for Power7 and older
Reviewed-by: mdoerr
2025-05-26 08:25:46 +00:00
Manuel Hässig
a37e8265b5 8357649: IGV: add block index to the supplemental node properties
Co-authored-by: Roberto Castañeda Lozano <rcastanedalo@openjdk.org>
Reviewed-by: rcastanedalo, chagedorn
2025-05-26 07:51:23 +00:00
Magnus Ihse Bursie
3dbd2d3d2d 8347570: Configure fails on macOS if directory name do not have correct case
Reviewed-by: erikj
2025-05-26 07:40:51 +00:00
Christian Hagedorn
99f33b4d9b 8357568: IGV: Show NULL and numbers up to 4 characters in "Condense graph" filter
Reviewed-by: thartmann, mchevalier, mhaessig
2025-05-26 07:24:25 +00:00
Jayathirth D V
a50d3bee12 8312198: [macos] metal pipeline - window rendering stops after display sleep
Reviewed-by: serb, avu, prr
2025-05-26 06:03:28 +00:00
Jan Lahoda
aac287ebac 8353581: Support for import module in JShell's code completion
Reviewed-by: asotona
2025-05-26 04:41:02 +00:00
Shaojin Wen
4a4209ffef 8357685: Change the type of Integer::digits from char[] to byte[]
Reviewed-by: rgiulietti, liach
2025-05-25 17:39:53 +00:00
Nizar Benalla
b034710b2a 8356629: Incorrect use of {@linkplain} in java.sql
Reviewed-by: lancea
2025-05-25 12:56:55 +00:00
Shaojin Wen
b037353734 8357081: Removed unused methods of HexDigits
Reviewed-by: rriggs, jpai
2025-05-24 17:08:03 +00:00
Sorna Sarathi N
1f24a5414d 8357644: Add missing CPE statements
Reviewed-by: asemenyuk
2025-05-24 15:06:25 +00:00
Thomas Stuefe
e89330579d 8334513: New test gc/TestAlwaysPreTouchBehavior.java is failing on MacOS aarch64
Reviewed-by: mbaesken, aph
2025-05-24 09:51:53 +00:00
Chen Liang
070c84cd22 8357178: Simplify Class::componentType
Reviewed-by: rriggs
2025-05-23 22:58:09 +00:00
Dean Long
66747710a4 8357468: [asan] heap buffer overflow reported in PcDesc::pc_offset() pcDesc.hpp:57
Reviewed-by: kvn, thartmann
2025-05-23 19:29:09 +00:00
Sergey Bylokhov
236e1b6d52 8357401: BigDecimal: Constants ONE_TENTH and ONE_HALF are unused after JDK-8341402
Reviewed-by: bpb, liach, darcy
2025-05-23 18:17:40 +00:00
Harshitha Onkar
85ca0813f1 8354316: clang/linux build fails with -Wunused-result warning at XToolkit.c:695:9
Reviewed-by: aivanov, ihse, serb, kizune, syan, erikj
2025-05-23 17:59:47 +00:00
Justin Lu
2f530f89e0 8357281: sun.util.Locale.LanguageTag should be immutable
Reviewed-by: naoto, liach
2025-05-23 17:44:39 +00:00
Tejesh R
917c1546f3 8139228: JFileChooser renders file names as HTML document
Reviewed-by: prr, serb, aivanov
2025-05-23 16:59:17 +00:00
Doug Simon
2b6b7661b9 8357581: [JVMCI] Add HotSpotProfilingInfo
Reviewed-by: kvn, never
2025-05-23 16:29:57 +00:00
Aleksey Shipilev
a58bfb93ff 8357638: Problemlist more Hotspot tests for static JDK
Reviewed-by: kvn
2025-05-23 16:20:19 +00:00
Aggelos Biboudis
90e076b2a1 8357654: [BACKOUT] JDK-8343580: Type error with inner classes of generic classes in functions generic by outer
Reviewed-by: mcimadamore, liach, vromero
2025-05-23 14:55:57 +00:00
Viktor Klang
6a07820483 8357285: JSR166 Test case testShutdownNow_delayedTasks failed
Reviewed-by: alanb
2025-05-23 14:53:44 +00:00
Alexey Semenyuk
b07da7bcdc 8357171: Test tools/jpackage/windows/WinOSConditionTest.java fails for non administrator
Reviewed-by: erikj
2025-05-23 13:53:07 +00:00
Archie Cobbs
d0402ddad7 8355323: JShell LocalExecutionControl should add stopCheck() at method entry
Reviewed-by: liach, jlahoda
2025-05-23 13:34:32 +00:00
Thomas Schatzl
48df41b699 8357306: G1: Remove _gc_succeeded from VM_G1CollectForAllocation because it is always true
Reviewed-by: ayang, sjohanss
2025-05-23 12:01:45 +00:00
Renjith Kannath Pariyangad
f5e6d2c93c 8334016: Make PrintNullString.java automatic
Reviewed-by: aivanov, prr, dnguyen
2025-05-23 11:57:35 +00:00
Manukumar V S
84a67e83e3 8341370: Test java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java fails intermittently on macOS-aarch64
Reviewed-by: kizune, dnguyen
2025-05-23 11:56:25 +00:00
Daniel Jeliński
488e4ea5c6 8357539: TimeSource.now() is not monotonic
Reviewed-by: dfuchs, jpai
2025-05-23 11:55:21 +00:00
Stefan Karlsson
68ee06f0c9 8357563: Shenandoah headers leak un-prefixed defines
Reviewed-by: shade, kbarrett
2025-05-23 09:42:25 +00:00
Aggelos Biboudis
02995887b2 8343580: Type error with inner classes of generic classes in functions generic by outer
Reviewed-by: vromero
2025-05-23 09:07:58 +00:00
Albert Mingkun Yang
36f6d155e3 8354517: Parallel: JDK-8339668 causes up to 3.7x slowdown in openjdk.bench.vm.gc.systemgc
Reviewed-by: tschatzl, aboldtch, zgu
2025-05-23 08:22:50 +00:00
Kim Barrett
ae7ae847d4 8356016: Build fails by clang(XCode 16.3) on macOS after JDK-8347719
Reviewed-by: shade, mgronlun
2025-05-23 06:54:51 +00:00
Doug Simon
d6e4c5f659 8357506: [JVMCI] Consolidate eager JVMCI initialization code
Reviewed-by: kvn, yzheng
2025-05-23 06:32:56 +00:00
Jan Lahoda
9d9e41f5b4 8356894: Adjust CreateSymbols to properly handle the newly added @jdk.internal.RequiresIdentity
Reviewed-by: vromero, liach
2025-05-23 04:35:29 +00:00
Abhishek Kumar
99e01301cd 8356145: ListEnterExitTest.java fails on macos
Reviewed-by: aivanov, jdv, kizune
2025-05-23 04:35:11 +00:00
Anjian-Wen
1fd65b7a7b 8351140: RISC-V: Intrinsify Unsafe::setMemory
Reviewed-by: fjiang, fyang
2025-05-23 03:48:09 +00:00
jeremy
4193d052c0 8356061: [macos] com/apple/laf/RootPane/RootPaneDefaultButtonTest.java test fails on macosx-aarch64 machine
Reviewed-by: jdv, serb
2025-05-23 02:25:12 +00:00
Manukumar V S
a94d1a0407 8357305: Compilation failure in javax/swing/JMenuItem/bug6197830.java
Reviewed-by: aivanov
2025-05-23 02:24:09 +00:00
Ioi Lam
8402469565 8355236: AOT Assembly crash with unregistered class and -Xlog:cds+resolve=trace
Reviewed-by: shade, kvn
2025-05-23 00:21:29 +00:00
Shaojin Wen
796ec5e7cf 8353741: Eliminate table lookup in UUID.toString
Reviewed-by: rriggs
2025-05-22 23:35:13 +00:00
Daniel Gredler
fdda766190 8356814: LineBreakMeasurer.nextLayout() slower than necessary when no break needed
Reviewed-by: prr, dnguyen, honkar
2025-05-22 21:25:33 +00:00
Phil Race
139a05d059 8357176: java.awt javadoc code examples still use Applet API
Reviewed-by: aivanov, serb
2025-05-22 19:19:45 +00:00
Vladimir Kozlov
b1b786a3be 8357402: Crash in AdapterHandlerLibrary::lookup
Reviewed-by: shade, iveresov
2025-05-22 18:59:37 +00:00
pawan chawdhary
9ca1004e76 8352926: New test TestDockerMemoryMetricsSubgroup.java fails
Reviewed-by: mseledtsov, lmesnik
2025-05-22 17:08:08 +00:00
Doug Simon
1258af42be 8357135: java.lang.OutOfMemoryError: Error creating or attaching to libjvmci after JDK-8356447
Reviewed-by: never, yzheng
2025-05-22 17:01:48 +00:00
Jiangli Zhou
16d4551134 8355452: GHA: Test jtreg tier1 on linux-x64 static-jdk
Reviewed-by: ihse, shade
2025-05-22 15:34:12 +00:00
Brian Burkhalter
72e440d06e 8357303: (fs) UnixSecureDirectoryStream.implDelete has unused haveFlags parameter
Reviewed-by: alanb, shade
2025-05-22 15:17:34 +00:00
Chen Liang
12efc1fe33 8357165: test java/lang/invoke/ClassValueTest.java fails intermittently
Reviewed-by: jpai
2025-05-22 14:24:59 +00:00
Serhiy Sachkov
428d33ef3c 8357462: Amend open/test/jdk//java/foreign/TestMatrix.java test scenario to run as manual
Reviewed-by: jvernee, syan
2025-05-22 12:30:26 +00:00
Roman Kennke
1e57648abd 8350457: Implement JEP 519: Compact Object Headers
Reviewed-by: mdoerr, coleenp, zgu
2025-05-22 10:48:50 +00:00
Jaikiran Pai
26053fe783 8357406: Remove usages of jdk.tracePinnedThreads system property from httpclient tests
Reviewed-by: vyazici, djelinski, dfuchs, syan
2025-05-22 10:44:21 +00:00
Aggelos Biboudis
c0665efd4f 8354323: Safeguard SwitchBootstraps.typeSwitch when used outside the compiler
Reviewed-by: jlahoda, liach
2025-05-22 08:36:47 +00:00
Anton Artemov
85b24c3c4e 8350869: os::stat doesn't follow symlinks on Windows
Reviewed-by: dholmes, mgronlun
2025-05-22 07:56:34 +00:00
Jason Zaugg
d9b6e4b132 8352642: Set zipinfo-time=false when constructing zipfs FileSystem in com.sun.tools.javac.file.JavacFileManager$ArchiveContainer for better performance
Reviewed-by: liach, jpai, jlahoda, lancea
2025-05-22 07:25:43 +00:00
Marc Chevalier
e348aa071d 8351958: Some compile commands should be made diagnostic
Reviewed-by: thartmann, kvn
2025-05-22 06:55:48 +00:00
Stefan Karlsson
a919f6d04e 8356372: JVMTI heap sampling not working properly with outside TLAB allocations
Co-authored-by: Stefan Johansson <sjohanss@openjdk.org>
Reviewed-by: sjohanss, sspitsyn
2025-05-22 06:39:55 +00:00
Vladimir Kozlov
8184ce39a8 8357514: Disable AOT caching for runtime stubs
Reviewed-by: iveresov, iklam
2025-05-22 06:09:34 +00:00
Jan Lahoda
061b5cc6b9 8347050: Console.readLine() drops '\' when reading through JLine
Reviewed-by: naoto
2025-05-22 05:59:19 +00:00
Jan Lahoda
ec6706520b 8357361: Exception when compiling switch expression with inferred type
Reviewed-by: vromero
2025-05-22 05:56:17 +00:00
Sergey Bylokhov
68c1d305e7 8357287: Unify usage of ICC profile "header size" constants in CMM-related code
Reviewed-by: honkar, prr
2025-05-22 04:31:46 +00:00
Ioi Lam
3bebb1fa76 8357504: Refactor the assignment of loader bits in InstanceKlassFlags
Reviewed-by: matsaave, ccheung
2025-05-22 04:04:54 +00:00
Zdenek Zambersky
ee6891456e 8343618: Stack smashing in awt_InputMethod.c on Linux s390x
Co-authored-by: Ichiroh Takiguchi <itakiguchi@openjdk.org>
Reviewed-by: prr, aph, amitkumar
2025-05-22 03:39:47 +00:00
Mikael Vidstedt
b685ea5408 8357511: [BACKOUT] 8357048: RunTest variables should always be assigned
Reviewed-by: dholmes, erikj
2025-05-22 00:37:54 +00:00
Shaojin Wen
07871cd78a 8357063: Document preconditions for DecimalDigits methods
Reviewed-by: vyazici, liach, rriggs
2025-05-21 22:39:11 +00:00
Calvin Cheung
f687cac889 8353504: CDS archives are not found when JVM is in non-variant location
Reviewed-by: iklam, shade
2025-05-21 22:13:07 +00:00
Alexey Semenyuk
3ee14471e1 8357503: gcbasher fails with java.lang.IllegalArgumentException: Unknown constant pool type
Reviewed-by: dholmes
2025-05-21 21:56:41 +00:00
Ian Graves
4d7068923c 8351993: VectorShuffle access to and from MemorySegments
Reviewed-by: psandoz
2025-05-21 21:11:34 +00:00
Erik Joelsson
afcbf6b2f4 8357173: Split jtreg test group jdk tier3
Reviewed-by: mikael
2025-05-21 19:49:51 +00:00
Doug Simon
81536830ed 8345826: Do not automatically resolve jdk.internal.vm.ci when libgraal is used
Reviewed-by: iklam, never, kvn
2025-05-21 19:21:20 +00:00
Jiangli Zhou
400c935082 8356904: Skip jdk/test/lib/process/TestNativeProcessBuilder on static-jdk
Reviewed-by: henryjen, rriggs
2025-05-21 18:55:56 +00:00
Alexander Zvegintsev
2dfbf41d2a 8351907: [XWayland] [OL10] Robot.mousePress() is delivered to wrong place
Reviewed-by: honkar, prr
2025-05-21 17:21:05 +00:00
Hannes Wallnöfer
f1eead6035 8357452: Remove code span highlight in JavaDoc default stylesheet
Reviewed-by: nbenalla, jjg, liach
2025-05-21 17:20:46 +00:00
Alexey Semenyuk
6546de1d3a 8357478: Fix copyright header in src/jdk.jpackage/share/classes/jdk/jpackage/internal/AppImageDesc.java
Reviewed-by: jpai
2025-05-21 16:32:36 +00:00
Brian Burkhalter
275cfd323b 8357280: (bf) Remove @requires tags from java/nio/Buffer/LimitDirectMemory[NegativeTest].java
Reviewed-by: alanb
2025-05-21 15:21:49 +00:00
Hannes Wallnöfer
254713ab59 8338833: Error on reference not found for a snippet target
Reviewed-by: prappo
2025-05-21 14:37:30 +00:00
Alexey Semenyuk
21c1282207 8333664: Decouple command line parsing and package building in jpackage
Reviewed-by: almatvee
2025-05-21 14:37:14 +00:00
Chihiro Ito
b63ec0ab58 8356945: jdk/jfr/event/os/TestProcessStart failed on Windows Subsystem for Linux
Reviewed-by: egahlin
2025-05-21 14:05:33 +00:00
Hannes Wallnöfer
a07150af11 8357376: Disable syntax highlighting for JDK API docs
Reviewed-by: erikj
2025-05-21 13:24:39 +00:00
Thomas Schatzl
a175767ccf 8357018: Guidance for ParallelRefProcEnabled is wrong in the man pages
Reviewed-by: kbarrett, iwalulya
2025-05-21 12:54:05 +00:00
Dingli Zhang
108e454a04 8356924: RISC-V: Clean up cost for vector instructions
Reviewed-by: fjiang, fyang, gcao
2025-05-21 11:43:13 +00:00
Vicente Romero
a4f66f5439 8325859: Potential information loss during type inference
Reviewed-by: mcimadamore
2025-05-21 11:27:05 +00:00
Roman Kennke
2c126f1954 8357370: Export supported GCs in JVMCI
Reviewed-by: dnsimon
2025-05-21 11:11:58 +00:00
Aleksey Shipilev
b8057cf103 8357436: Change jspawnhelper warning recommendation from VFORK to FORK
Reviewed-by: stuefe, alanb
2025-05-21 10:54:40 +00:00
Magnus Ihse Bursie
7c82e09b50 8357048: RunTest variables should always be assigned
Reviewed-by: erikj
2025-05-21 09:23:23 +00:00
Sergey Bylokhov
5f38d1bb94 8357193: [VS 2022 17.14] Warning C5287 in debugInit.c: enum type mismatch during build
Reviewed-by: sspitsyn
2025-05-21 08:57:55 +00:00
Yudi Zheng
735c7899d1 8334717: Add JVMCI support for APX EGPRs
Reviewed-by: dnsimon
2025-05-21 08:54:19 +00:00
Andrey Turbanov
a0cdf36bdf 8357224: Avoid redundant WeakHashMap.get in Toolkit.removeAWTEventListener
Reviewed-by: liach, aivanov, serb
2025-05-21 08:39:43 +00:00
Ivan Walulya
91194517c7 8355756: G1HeapSizingPolicy::full_collection_resize_amount should consider allocation size
Reviewed-by: ayang, tschatzl
2025-05-21 08:07:17 +00:00
Aggelos Biboudis
50a7755fa4 8347530: Improve error message with invalid permits clauses
Reviewed-by: jlahoda
2025-05-21 06:44:54 +00:00
Axel Boldt-Christmas
50e873f0e8 8356455: ZGC: Replace ZIntrusiveRBTree with IntrusiveRBTree
Reviewed-by: stefank, eosterlund, jsikstro
2025-05-21 05:59:52 +00:00
Thomas Stuefe
74fc4e4ee7 8357179: Deprecate VFORK launch mechanism from Process implementation (linux)
Reviewed-by: rriggs
2025-05-21 04:39:35 +00:00
Vladimir Kozlov
cedd1a5343 8357250: assert(shift >= 0 && shift < 4) failed: unexpected compressd klass shift!
Reviewed-by: asmehra, mdoerr
2025-05-20 20:11:56 +00:00
Ferenc Rakoczi
972f2ebe97 8351412: Add AVX-512 intrinsics for ML-KEM
Reviewed-by: sviswanathan
2025-05-20 19:06:22 +00:00
Patrick Strawderman
e9d1d87b34 8357013: HttpURLConnection#getResponseCode can avoid substring call when parsing to int
Reviewed-by: dfuchs
2025-05-20 17:20:49 +00:00
Brian Burkhalter
bcf5cd6941 8355954: File.delete removes read-only files (win)
Reviewed-by: alanb
2025-05-20 15:49:51 +00:00
Weijun Wang
6162e2c521 8357062: Update Public Suffix List to 823beb1
Reviewed-by: mullan
2025-05-20 14:50:46 +00:00
Roland Westrelin
62d155e8c3 8355230: Crash in fuzzer tests: assert(n != nullptr) failed: must not be null
Reviewed-by: thartmann, epeter
2025-05-20 14:18:41 +00:00
Emanuel Peter
277bb208a2 8355094: Performance drop in auto-vectorized kernel due to split store
Reviewed-by: vlivanov, thartmann
2025-05-20 13:51:47 +00:00
Albert Mingkun Yang
e6750a5bb0 8357218: G1: Remove loop in G1CollectedHeap::try_collect_fullgc
Reviewed-by: kbarrett, tschatzl
2025-05-20 13:15:43 +00:00
Manukumar V S
1a97eb429b 8355515: Clarify the purpose of forcePass() and forceFail() methods
Reviewed-by: aivanov, kizune
2025-05-20 12:06:35 +00:00
Anton Artemov
ab985a7c5d 8341544: Restore fence() in Mutex
Reviewed-by: eosterlund, dholmes
2025-05-20 10:44:34 +00:00
Anton Artemov
0db5511ce6 8354969: Add strdup function for ResourceArea
Reviewed-by: dholmes, iklam
2025-05-20 10:20:59 +00:00
Arno Zeller
f8fc7eeb24 8357052: java/io/File/GetXSpace.java prints wrong values in exception
Reviewed-by: bpb
2025-05-20 10:19:22 +00:00
Jan Lahoda
e961b13cd6 8356165: System.in in jshell replace supplementary characters with ??
Reviewed-by: cstein, asotona
2025-05-20 06:04:33 +00:00
Ioi Lam
f8d7f663c1 8356998: Convert -Xlog:cds to -Xlog:aot (step 2)
Reviewed-by: ccheung, matsaave
2025-05-20 05:46:34 +00:00
Ioi Lam
7077535c0b 8356595: Convert -Xlog:cds to -Xlog:aot (step1)
Reviewed-by: ccheung, dholmes, jsjolen, matsaave
2025-05-20 03:44:25 +00:00
Jan Lahoda
39d8d109dd 8348906: InstanceOfTree#getType doesn't specify when it returns null
Reviewed-by: liach
2025-05-20 02:40:05 +00:00
Sergey Bylokhov
890456f0f7 8355078: java.awt.Color.createContext() uses unnecessary synchronization
Reviewed-by: prr
2025-05-19 23:43:19 +00:00
Vicente Romero
637e9d16dd 8354556: Expand value-based class warnings to java.lang.ref API
Co-authored-by: Archie Cobbs <acobbs@openjdk.org>
Reviewed-by: jlahoda
2025-05-19 22:47:13 +00:00
Sergey Bylokhov
fbeea1daef 8356844: Missing @Serial annotation for sun.print.CustomOutputBin#serialVersionUID
Reviewed-by: aivanov, prr
2025-05-19 21:33:22 +00:00
Yannik Stradmann
27a4243561 8354560: Exponentially delay subsequent native thread creation in case of EAGAIN
Reviewed-by: dholmes, fbredberg
2025-05-19 21:28:02 +00:00
Leonid Mesnik
bd99525633 8356193: Remove tests from ProblemList-enable-preview.txt fixed by JDK-8344706
Reviewed-by: rriggs
2025-05-19 17:09:15 +00:00
Stuart Marks
6818dcc08e 8351230: Collections.synchronizedList returns a list that is not thread-safe
Reviewed-by: jpai
2025-05-19 16:53:13 +00:00
Vladimir Kozlov
6a58af310a 8357143: New test AOTCodeCompressedOopsTest.java fails on platforms without AOT Code Cache support
Reviewed-by: asmehra, fyang, shade, mdoerr
2025-05-19 15:00:54 +00:00
Vladimir Kozlov
84a98ab43f 8357166: Many AOT tests failed with VM crash
Reviewed-by: thartmann, shade
2025-05-19 14:53:52 +00:00
Mikhail Yankelevich
fbc12be732 8349151: Refactor test/java/security/cert/CertificateFactory/slowstream.sh to java test
Reviewed-by: weijun
2025-05-19 14:33:12 +00:00
Erik Gahlin
265d630125 8357187: JFR: User-defined defaults should be respected when an incorrect setting is set
Reviewed-by: mgronlun
2025-05-19 13:38:38 +00:00
Hamlin Li
92fd44992b 8350960: RISC-V: Add riscv backend for Float16 operations - vectorization
Reviewed-by: fyang, dzhang, luhenry
2025-05-19 13:32:17 +00:00
Hamlin Li
2e26b43158 8356875: RISC-V: extension flag UseZvfh should depends on UseZfh
Reviewed-by: fyang, luhenry
2025-05-19 13:32:03 +00:00
Daniel Gredler
3acfa9e4e7 8356966: java/awt/Graphics2D/DrawString/IgnoredWhitespaceTest.java fails on Linux after JDK-8350203
Reviewed-by: honkar, aivanov
2025-05-19 11:28:54 +00:00
Roland Westrelin
26cb016b75 8350329: C2: Div looses dependency on condition that guarantees divisor not zero in counted loop after peeling
Reviewed-by: thartmann, chagedorn
2025-05-19 11:06:03 +00:00
Johan Sjölen
7f7add1e56 8355608: Async UL should take the file lock of stream when outputting
Reviewed-by: aboldtch, iklam
2025-05-19 10:52:41 +00:00
Sorna Sarathi N
afcaf84022 8357106: Add missing classpath exception copyright headers
Reviewed-by: jpai
2025-05-19 10:17:13 +00:00
Manuel Hässig
36c9be70e2 8356974: tools/launcher/ToolsOpts.java fails if the build id contains "-J"
Reviewed-by: jpai, thartmann
2025-05-19 10:15:56 +00:00
Johan Sjölen
133c6fb4f3 8355481: Clean up MHN_copyOutBootstrapArguments
Reviewed-by: dholmes, coleenp
2025-05-19 10:04:32 +00:00
Serhiy Sachkov
effe40a24c 8351843: change test/jdk/com/sun/net/httpserver/simpleserver/RootDirPermissionsTest.java to a manual test
Reviewed-by: dfuchs
2025-05-19 09:08:33 +00:00
Andrey Turbanov
2fb3329d71 8356846: Remove unnecessary List.contains key from TIFFDirectory.removeTagSet
Reviewed-by: aivanov, serb
2025-05-19 08:08:09 +00:00
Aleksey Shipilev
67fb1ee7f1 8356946: x86: Optimize interpreter profile updates
Reviewed-by: kvn, jsjolen
2025-05-19 08:04:44 +00:00
Manuel Hässig
50a7c61d28 8355970: C2: Add command line option to print the compile phases
Reviewed-by: chagedorn, kvn, mchevalier
2025-05-19 07:39:42 +00:00
Jan Lahoda
77a3e04ffc 8357016: Candidate main methods not computed properly
Reviewed-by: jpai, vromero
2025-05-19 07:29:25 +00:00
Albert Mingkun Yang
969708bd8f 8356157: Remove retry loop in collect of SerialHeap and ParallelScavengeHeap
Reviewed-by: tschatzl, zgu
2025-05-19 05:17:05 +00:00
Kuai Wei
9927ec0b91 8356328: Some C2 IR nodes miss size_of() function
Reviewed-by: thartmann, chagedorn
2025-05-18 23:28:01 +00:00
Matthias Baesken
6c42856b8d 8356778: Compiler add event logging in case of failures
Reviewed-by: lucy
2025-05-18 11:32:37 +00:00
Calvin Cheung
76570c627d 8357149: Test runtime/cds/appcds/aotCode/AOTCodeFlags.java is broken after JDK-8354887
Reviewed-by: kvn, iklam
2025-05-16 22:12:59 +00:00
Chris Plummer
10258dc56e 8356811: Some nsk/jdi tests can fetch ThreadReference from static field in the debuggee: part 4
Reviewed-by: sspitsyn, amenkov
2025-05-16 20:45:21 +00:00
Naoto Sato
3dd3451700 8357075: Remove leftover COMPAT locale data tests
Reviewed-by: joehw, iris, jlu
2025-05-16 18:02:42 +00:00
Ashutosh Mehra
63ef90be97 8357084: Zero build fails after JDK-8354887
Reviewed-by: ccheung, kvn
2025-05-16 17:21:16 +00:00
Evgeny Nikitin
d524509224 8356702: CTW: Update modules
Reviewed-by: lmesnik
2025-05-16 16:20:52 +00:00
Evgeny Nikitin
413843cf8e 8356649: Update JCStress test suite
Reviewed-by: lmesnik
2025-05-16 16:20:37 +00:00
Timofei Pushkin
46a12e781e 8315130: java.lang.IllegalAccessError when processing classlist to create CDS archive
Reviewed-by: iklam, ccheung
2025-05-16 13:51:58 +00:00
Christian Stein
bca293d012 8336470: Source launcher should work with service loader SPI in unnamed module
Reviewed-by: alanb
2025-05-16 13:19:01 +00:00
Weijun Wang
079fccfa9a 8353888: Implement JEP 510: Key Derivation Function API
Reviewed-by: valeriep, mullan, liach
2025-05-16 12:25:04 +00:00
Marc Chevalier
0d8675780f 8355488: Add stress mode for C2 loop peeling
Reviewed-by: thartmann, chagedorn
2025-05-16 11:32:01 +00:00
Marc Chevalier
a0a3060709 8353638: C2: deoptimization and re-execution cycle with StringBuilder
Reviewed-by: thartmann, chagedorn
2025-05-16 11:31:37 +00:00
Andrew Haley
a6ebcf61eb 8354674: AArch64: Intrinsify Unsafe::setMemory
Reviewed-by: adinn
2025-05-16 09:28:35 +00:00
kieran-farrell
a8d8ffa8ad 8356395: Spec needs to be clarified for InterfaceAddress class level API documentation and getBroadcast() method
Reviewed-by: dfuchs
2025-05-16 07:33:17 +00:00
Paul H
f6b0f016f6 8332947: [macos] OpenURIHandler events not received when AWT is embedded in another toolkit
Reviewed-by: kcr, honkar, prr
2025-05-15 22:35:48 +00:00
Calvin Cheung
efdbb6afce 8354083: Support --add-reads with -XX:+AOTClassLinking
Reviewed-by: iklam, alanb
2025-05-15 21:14:42 +00:00
Alex Menkov
fe790cb319 8356177: Regression after JDK-8352180
Reviewed-by: sspitsyn, cjplummer, lmesnik
2025-05-15 20:39:48 +00:00
Chen Liang
9223ed788a 8351996: Behavioral updates for ClassValue::remove
Co-authored-by: John R Rose <jrose@openjdk.org>
Reviewed-by: vklang, jrose
2025-05-15 20:32:02 +00:00
Ashutosh Mehra
c59debb384 8354887: Preserve runtime blobs in AOT code cache
Co-authored-by: Andrew Dinn <adinn@openjdk.org>
Reviewed-by: kvn, adinn
2025-05-15 17:18:56 +00:00
Archie Cobbs
850c789a82 8349754: Invalid "early reference" error when class extends an outer class
Reviewed-by: mcimadamore
2025-05-15 16:35:16 +00:00
Johannes Graham
1e61352b54 8356709: Avoid redundant String formatting in BigDecimal.valueOf(double)
Reviewed-by: rgiulietti
2025-05-15 16:33:35 +00:00
Naoto Sato
e056bbec92 8356822: Refactor HTML anchor tags to javadoc in Charset
Reviewed-by: iris, liach
2025-05-15 16:14:13 +00:00
Leo Korinth
b3e856f9b3 8356847: Problem list two test cases for JDK-8284234
Reviewed-by: tschatzl
2025-05-15 16:03:43 +00:00
Amit Kumar
a1c7e494c8 8350482: [s390x] Relativize esp in interpreter frames
Reviewed-by: lucy, rrich
2025-05-15 15:38:56 +00:00
Volkan Yazici
8fcfddb2d2 8353197: Document preconditions for JavaLangAccess methods
Reviewed-by: pminborg, liach
2025-05-15 14:54:27 +00:00
Brian Burkhalter
3df8ca1eba 8356678: (fs) Files.readAttributes should map ENOTDIR to NoSuchFileException where possible (unix)
Reviewed-by: alanb, cstein
2025-05-15 14:47:02 +00:00
Jiangli Zhou
073af3bbaa 8356892: runtime/jni/CalleeSavedRegisters/FPRegs.java fails on static-jdk
Reviewed-by: dholmes, shade
2025-05-15 14:39:52 +00:00
Volkan Yazici
81e8e670ce 8351347: HttpClient Improve logging of response headers
Reviewed-by: dfuchs, michaelm
2025-05-15 14:10:16 +00:00
Daniel Lundén
5cb231714f 8351568: Improve source code documentation for PhaseCFG::insert_anti_dependences
Reviewed-by: rcastanedalo, chagedorn
2025-05-15 12:54:49 +00:00
Adam Sotona
1d36f173c4 8351232: NPE: Cannot invoke "getDeclarationAttributes" because "sym" is null
Reviewed-by: liach
2025-05-15 12:04:17 +00:00
Aleksei Voitylov
883e52aa10 8353237: [AArch64] Incorrect result of VectorizedHashCode intrinsic on Cortex-A53
Reviewed-by: aph
2025-05-15 11:06:22 +00:00
Leo Korinth
13b3541467 8356866: Cleanup hotspot/jtreg/ProblemList.txt
Reviewed-by: syan, tschatzl
2025-05-15 09:20:56 +00:00
Thomas Schatzl
b8d2bdb465 8355743: G1: Collection set clearing is not recorded as part of "Free Collection Set Time"
Reviewed-by: iwalulya, shade
2025-05-15 08:03:44 +00:00
Andrey Turbanov
e557b6956b 8356843: Avoid redundant HashMap.get to obtain old value in Toolkit.setDesktopProperty
Reviewed-by: aivanov, serb
2025-05-15 07:57:14 +00:00
Arno Zeller
dc881ee369 8354530: AIX: sporadic unexpected errno when calling setsockopt in Net.joinOrDrop
Reviewed-by: alanb, clanger
2025-05-15 07:50:28 +00:00
Ioi Lam
5e50a58474 8356838: AOT incorrectly sets a cached class's loader type to boot
Reviewed-by: ccheung, iveresov
2025-05-14 23:11:46 +00:00
Ioi Lam
b66ab8ebe2 8356693: AOT assembly phase fails with -javaagent
Reviewed-by: asmehra, ccheung, shade
2025-05-14 22:00:46 +00:00
Yudi Zheng
948ade8e70 8356971: [JVMCI] Export VM_Version::supports_avx512_simd_sort to JVMCI compiler
Reviewed-by: dnsimon
2025-05-14 19:47:38 +00:00
Ben Perez
ecabea6cd3 8347608: Optimize Java implementation of ML-KEM
Reviewed-by: weijun
2025-05-14 19:38:34 +00:00
Alisen Chung
e91088a9e8 8343739: Test java/awt/event/KeyEvent/ExtendedKeyCode/ExtendedKeyCodeTest.java failed: Wrong extended key code
Reviewed-by: serb, prr
2025-05-14 18:47:42 +00:00
Chris Plummer
75504a35ee 8356588: Some nsk/jdi tests can fetch ThreadReference from static field in the debuggee: part 3
Reviewed-by: amenkov, sspitsyn
2025-05-14 18:12:35 +00:00
Naoto Sato
7c8e273fde 8356420: Provide examples on wrapping System.in
Reviewed-by: liach, smarks, alanb, bpb, iris
2025-05-14 17:41:42 +00:00
Chris Plummer
a2628357a9 8356641: Test com/sun/jdi/EarlyThreadGroupChildrenTest.java fails sometimes on macOS
Reviewed-by: kevinw, amenkov, sspitsyn
2025-05-14 17:07:28 +00:00
Srinivas Vamsi Parasa
10436c1e1d 8356281: Fix for TestFPComparison failure due to incorrect result
Reviewed-by: sviswanathan, thartmann, jbhateja
2025-05-14 15:39:09 +00:00
Jiangli Zhou
1afd887b13 8356102: TestJcmdOutput, JcmdWithNMTDisabled and DumpSharedDictionary hs/tier1 tests fail on static-jdk
Reviewed-by: dholmes
2025-05-14 14:58:29 +00:00
Manuel Hässig
97b0dd2167 8336906: C2: assert(bb->is_reachable()) failed: getting result from unreachable basicblock
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Co-authored-by: Dean Long <dlong@openjdk.org>
Reviewed-by: epeter, dlong
2025-05-14 14:12:10 +00:00
Jaikiran Pai
a989245a24 8327466: ct.sym zip not reproducible across build environment timezones
Reviewed-by: erikj, jlahoda
2025-05-14 12:38:40 +00:00
Coleen Phillimore
3270b00957 8356173: Remove ThreadCritical
Reviewed-by: dholmes, kbarrett, jsjolen
2025-05-14 12:00:23 +00:00
Aleksey Shipilev
5c73dfc28c 8352533: Report useful IOExceptions when jspawnhelper fails
Reviewed-by: simonis, rriggs, stuefe
2025-05-14 09:05:49 +00:00
Fernando Guallini
86f39ab5bb 8249825: Tests sun/security/ssl/SSLSocketImpl/SetClientMode.java and NonAutoClose.java marked with @ignore
Reviewed-by: abarashev, rhalade
2025-05-14 08:39:21 +00:00
Martin Doerr
fc6f4da8e7 8351666: [PPC64] Make non-volatile VectorRegisters available for C2 register allocation
Reviewed-by: rrich
2025-05-14 08:38:01 +00:00
Anjian-Wen
b76b610788 8356869: RISC-V: Improve tail handling of array fill stub
Reviewed-by: fyang, fjiang, mli
2025-05-14 08:28:11 +00:00
Serguei Spitsyn
265bc5f47d 8353496: SuspendResume1.java and SuspendResume2.java timeout after JDK-8319447
Reviewed-by: cjplummer, alanb
2025-05-14 08:21:54 +00:00
Raffaello Giulietti
d1032d71bf 8343829: Unify decimal and hexadecimal parsing in FloatingDecimal
Reviewed-by: darcy
2025-05-14 07:59:19 +00:00
Marc Chevalier
3b27198166 8325647: [IR framework] Only prints stdout if exitCode is 134
Reviewed-by: chagedorn, thartmann
2025-05-14 07:57:53 +00:00
Magnus Ihse Bursie
a3e094e1a0 8354968: Replace unicode sequences in comment text with UTF-8 characters
Reviewed-by: naoto
2025-05-14 06:42:07 +00:00
Magnus Ihse Bursie
dd2515993b 8356644: Update encoding declaration to UTF-8
Reviewed-by: prr, naoto
2025-05-14 06:32:54 +00:00
Alexander Zuev
e07c65b892 8323545: java/awt/GraphicsDevice/CheckDisplayModes.java fails with "exit code: 133"
Reviewed-by: achung, serb
2025-05-14 04:59:44 +00:00
Jaikiran Pai
2c4e8d211a 8347712: IllegalStateException on multithreaded ZipFile access with non-UTF8 charset
8355975: ZipFile uses incorrect Charset if another instance for the same ZIP file was constructed with a different Charset

Co-authored-by: Eirik Bjørsnøs <eirbjo@openjdk.org>
Reviewed-by: eirbjo, lancea, redestad, alanb
2025-05-14 01:53:19 +00:00
Kim Barrett
530d14a16e 8356686: doc/building.html is not up to date after JDK-8301971
Reviewed-by: jwaters, shade, erikj
2025-05-14 00:51:49 +00:00
Kim Barrett
dd2aba98f5 8356689: Make HotSpot Style Guide change process more prominent
Reviewed-by: dholmes, shade, stefank, kvn
2025-05-14 00:50:38 +00:00
Chihiro Ito
0c4bc48928 8356820: fixpath should allow + in paths on Windows
Reviewed-by: erikj
2025-05-14 00:25:59 +00:00
Chen Liang
a96424b24c 8356694: Removed unused subclass audits in ObjectInput/OutputStream
Reviewed-by: alanb, rriggs
2025-05-14 00:03:20 +00:00
Valerie Peng
4c0a0ab6bc 8353578: Refactor existing usage of internal HKDF impl to use the KDF API
Co-authored-by: Kevin Driver <kdriver@openjdk.org>
Reviewed-by: djelinski, wetmore, mullan, kdriver, weijun
2025-05-13 22:43:31 +00:00
Ben Perez
10dcdf1b47 8347606: Optimize Java implementation of ML-DSA
Reviewed-by: weijun
2025-05-13 22:31:55 +00:00
Shaojin Wen
1bded7188f 8356605: JRSUIControl.hashCode and JRSUIState.hashCode can use Long.hashCode
Reviewed-by: prr, serb
2025-05-13 22:16:42 +00:00
Igor Veresov
89242eecd2 8356885: Don't emit C1 profiling for casts if TypeProfileCasts is off
Reviewed-by: vlivanov, kvn
2025-05-13 21:49:46 +00:00
Justin Lu
e149bd3a0c 8352755: Misconceptions about j.text.DecimalFormat digits during parsing
Reviewed-by: naoto
2025-05-13 20:23:10 +00:00
Kelvin Nilsen
e7ce661adb 8356667: GenShen: Eliminate races with ShenandoahFreeSet::available()
Reviewed-by: wkemper
2025-05-13 18:08:10 +00:00
Alexander Matveev
1569925af4 8356819: [macos] MacSign should use "openssl" and "faketime" from Homebrew by default
Reviewed-by: asemenyuk
2025-05-13 18:06:32 +00:00
Brent Christian
d1543429ff 8356107: [java.lang] Use @requires tag instead of exiting based on os.name or separatorChar property
Reviewed-by: naoto, bpb
2025-05-13 17:05:15 +00:00
Doug Simon
08b2df80c6 8356447: Change default for EagerJVMCI to true
Reviewed-by: yzheng, kvn, never
2025-05-13 15:58:59 +00:00
Brian Burkhalter
0318e49500 8351415: (fs) Path::toAbsolutePath should specify if an absolute path has a root component
Reviewed-by: alanb
2025-05-13 15:21:30 +00:00
Archie Cobbs
b8c69dfb2a 8356551: Javac rejects receiver parameter in constructor of local class in early construction context
Reviewed-by: mcimadamore
2025-05-13 14:31:17 +00:00
Raffaello Giulietti
64a858c7b8 8355992: Add unsignedMultiplyExact and *powExact methods to Math and StrictMath
Reviewed-by: darcy
2025-05-13 14:04:53 +00:00
Per Minborg
066477de80 8356080: Address post-integration comments for Stable Values
Reviewed-by: liach
2025-05-13 13:40:48 +00:00
Alan Bateman
fa419489d3 8350765: Need to pin when accessing thread container from virtual thread
Reviewed-by: vklang, jpai
2025-05-13 13:35:40 +00:00
Aleksey Shipilev
48d2acb386 8356783: CompilerTask hot_method is redundant
Reviewed-by: kvn, cslucas
2025-05-13 13:17:12 +00:00
Aleksey Shipilev
de10644721 8356631: OopHandle replacement methods should not be called on empty handles
Reviewed-by: coleenp, eosterlund
2025-05-13 12:46:52 +00:00
Erik Gahlin
14d372b15b 8356816: JFR: Move printing of metadata into separate class
Reviewed-by: mgronlun
2025-05-13 12:40:14 +00:00
Marc Chevalier
d930dc5df3 8356275: TestCodeEntryAlignment fails with "Alignment must be <= CodeEntryAlignment"
Reviewed-by: thartmann
2025-05-13 11:26:36 +00:00
Volkan Yazici
7dcc386af9 8354024: [JMH] Create ephemeral UnixDomainSocketAddress provider with thread-safe close semantics
Reviewed-by: michaelm
2025-05-13 11:08:16 +00:00
Daniel Gredler
85db4631ae 8350203: [macos] Newlines and tabs are not ignored when drawing text to a Graphics2D object
8353187: Test TextLayout/TestControls fails on macOS: width of 0x9, 0xa, 0xd isn't zero

Reviewed-by: honkar, aivanov, prr
2025-05-13 10:37:57 +00:00
Severin Gehwolf
38bb8adf4f 8354941: Build failure with glibc 2.42 due to uabs() name collision
Reviewed-by: kbarrett, thartmann
2025-05-13 09:59:49 +00:00
Andrew Dinn
8ffc121b2f 8356774: AArch64: StubGen final stubs buffer too small for ZGC on Cavium CPU
Reviewed-by: shade
2025-05-13 09:42:44 +00:00
Alan Bateman
132a890a9b 8342486: Implement JEP 505: Structured Concurrency (Fifth Preview)
Co-authored-by: Alan Bateman <alanb@openjdk.org>
Co-authored-by: Viktor Klang <vklang@openjdk.org>
Reviewed-by: vklang
2025-05-13 08:43:26 +00:00
Andrey Turbanov
522c7b446f 8356175: Remove unnecessary Map.get from XWM.getInsets
Reviewed-by: tr, aivanov, serb
2025-05-13 08:10:11 +00:00
Volkan Yazici
ad161a4ef8 8355360: -d option of jwebserver command should accept relative paths
Reviewed-by: dfuchs, michaelm
2025-05-13 07:58:36 +00:00
Stefan Johansson
526f543adf 8353184: ZGC: Simplify and correct tlab_used() tracking
Reviewed-by: stefank, aboldtch
2025-05-13 07:44:30 +00:00
Jan Lahoda
03dca0323d 8354908: javac mishandles supplementary character in character literal
Reviewed-by: naoto, vromero
2025-05-13 06:16:34 +00:00
Per Minborg
6e0846918c 8356658: java/foreign/TestBufferStackStress2.java failed again with junit action timed out
Reviewed-by: jpai, alanb
2025-05-13 05:47:17 +00:00
Jan Lahoda
24d77adee9 8356057: PrintingProcessor (-Xprint) does not print type variable bounds and type annotations for Object supertypes
Reviewed-by: darcy, vromero
2025-05-13 04:44:07 +00:00
Valerie Peng
4fc10a1e7e 8356087: Problematic KeyInfo check using key algorithm in P11SecretKeyFactory class
Reviewed-by: weijun
2025-05-13 03:46:30 +00:00
Anjian-Wen
adebfa7ffd 8356700: RISC-V: Declare incompressible scope in fill_words / zero_memory assembler routines
Reviewed-by: fyang, fjiang
2025-05-13 03:06:36 +00:00
Bhavana Kilambi
303f4101d4 8355708: Two Float16 IR tests fail after JDK-8345125
Reviewed-by: jbhateja, haosun, mhaessig
2025-05-12 23:21:17 +00:00
Kelvin Nilsen
c23469df16 8355340: GenShen: Remove unneeded log messages related to remembered set write table
Reviewed-by: wkemper, ysr
2025-05-12 23:14:27 +00:00
Justin Lu
b6b5ac1ef9 8348351: Improve lazy initialization of the available currencies set
Reviewed-by: liach, naoto
2025-05-12 20:35:13 +00:00
Vladimir Kozlov
2595fcc7cc 8356192: Enable AOT code caching only on supported platforms
Reviewed-by: shade, mdoerr, fyang
2025-05-12 20:29:42 +00:00
Roger Riggs
0f5c608143 8356695: java/lang/StringBuilder/HugeCapacity.java failing with OOME
Reviewed-by: liach, lancea, rgiulietti
2025-05-12 20:01:43 +00:00
Daniel Fuchs
45dfc2c6d6 8353642: Deprecate URL::getPermission method and networking permission classes for removal
Reviewed-by: djelinski, iris, mullan, michaelm
2025-05-12 16:49:42 +00:00
Brian Burkhalter
8d7866ef5f 8356606: (fs) PosixFileAttributes.permissions() implementations should return an EnumSet
Reviewed-by: liach, alanb
2025-05-12 16:48:13 +00:00
Mikael Vidstedt
50dced88ff 8356656: Drop unused DEVKIT_HOME from jib-profiles.js
Reviewed-by: erikj
2025-05-12 16:31:24 +00:00
Mikael Vidstedt
e463895428 8356657: Use stable source-date for cmp-baseline jib profiles
Reviewed-by: liach, iris, alanb, jpai, erikj
2025-05-12 16:31:12 +00:00
Joel Sikström
8128f638fa 8355692: Refactor stream indentation
Reviewed-by: stefank, cnorrbin
2025-05-12 15:49:38 +00:00
Archie Cobbs
f5525ecf58 8348410: Preview flag not checked during compilation resulting in runtime crash
Co-authored-by: Aggelos Biboudis <abimpoudis@openjdk.org>
Reviewed-by: jlahoda, mcimadamore
2025-05-12 14:42:27 +00:00
Johan Sjölen
7ae52ce572 8356390: Rename ResolvedIndyEntry::set_flags to set_has_appendix
Co-authored-by: John R Rose <jrose@openjdk.org>
Reviewed-by: coleenp, dholmes
2025-05-12 12:34:28 +00:00
Hamlin Li
8545e13571 8356642: RISC-V: enable hotspot/jtreg/compiler/vectorapi/VectorFusedMultiplyAddSubTest.java
Reviewed-by: fyang, fjiang, mhaessig
2025-05-12 12:25:13 +00:00
Abhishek Kumar
ab8c808ed8 8356752: Log mouse enter and exit events for debugging
Reviewed-by: jdv, tr
2025-05-12 09:15:13 +00:00
Daniel Lundén
2b32541609 8354767: Test crashed: assert(increase < max_live_nodes_increase_per_iteration) failed: excessive live node increase in single iteration of IGVN: 4470 (should be at most 4000)
Reviewed-by: chagedorn, dfenacci, rcastanedalo, epeter
2025-05-12 09:02:25 +00:00
Saranya Natarajan
0258d9998e 8347515: C2: assert(!success || (C->macro_count() == (old_macro_count - 1))) failed: elimination must have deleted one node from macro list
Reviewed-by: thartmann, chagedorn
2025-05-12 08:50:01 +00:00
Fredrik Bredberg
39a28ffe4e 8355646: Optimize ObjectMonitor::exit
Reviewed-by: pchilanomate, coleenp
2025-05-12 08:16:15 +00:00
Ivan Walulya
a3afc9f7ce 8308854: G1 archive region allocation may expand/shrink the heap above/below -Xms
Reviewed-by: tschatzl, ayang
2025-05-12 08:15:53 +00:00
Per Minborg
43008b42cf 8356486: ReverseOrderListView should override reversed() to return base
Reviewed-by: liach, smarks
2025-05-12 07:12:19 +00:00
Per Minborg
45cf32bd2c 8347408: Create an internal method handle adapter for system calls with errno
Reviewed-by: mcimadamore
2025-05-12 06:59:41 +00:00
Hannes Greule
de801fea76 8353551: C2: Constant folding for ReverseBytes nodes
Reviewed-by: epeter, vlivanov
2025-05-12 06:43:52 +00:00
Anjian-Wen
d7cb933b89 8356593: RISC-V: Small improvement to array fill stub
Reviewed-by: fyang
2025-05-12 03:01:46 +00:00
Erik Gahlin
74f047b84d 8356224: JFR: Default value of @Registered is ignored
Reviewed-by: mgronlun
2025-05-11 22:40:29 +00:00
Sergey Bylokhov
97d2a37927 8355790: Enhance code consistency: java.desktop/unix:sun.awt
Reviewed-by: achung, prr
2025-05-11 07:39:15 +00:00
Ioi Lam
436960308c 8356597: AOT cache and CDS archive should not be created in read-only mode
Reviewed-by: shade, kvn
2025-05-10 15:16:19 +00:00
Alexander Matveev
fa7c5a65ba 8356664: [macos] AppContentTest fails after JDK-8352480
Reviewed-by: asemenyuk
2025-05-10 02:59:05 +00:00
Jatin Bhateja
3b336a9da0 8352675: Support Intel AVX10 converged vector ISA feature detection
Reviewed-by: sviswanathan, vlivanov, yzheng
2025-05-09 23:33:32 +00:00
Chen Liang
0f2a6c266b 8356577: Migrate ClassFileVersionTest to be feature-agnostic
Reviewed-by: dholmes, alanb
2025-05-09 21:58:24 +00:00
Roger Riggs
8fadf295b0 8351443: Improve robustness of StringBuilder
Reviewed-by: liach, rgiulietti, bchristi, jpai
2025-05-09 21:48:16 +00:00
Koushik Thirupattur
68a118509a 8310003: Improve logging when default truststore is inaccessible
Reviewed-by: mullan
2025-05-09 19:20:17 +00:00
Calvin Cheung
3b20bed6e2 8356229: cmp-baseline build fail due to lib/modules difference
Reviewed-by: iklam, erikj, liach
2025-05-09 18:22:45 +00:00
Phil Race
30cb94d6b0 8346683: Problem list automated tests that fail on macOS15
Reviewed-by: dmarkov
2025-05-09 18:10:18 +00:00
Sergey Bylokhov
375f3dc9ed 8356053: Test java/awt/Toolkit/Headless/HeadlessToolkit.java fails by timeout
Reviewed-by: prr, kizune
2025-05-09 17:50:51 +00:00
Joe Wang
66f0442713 8353232: Standardizing and Unifying XML Component Configurations
Reviewed-by: lancea
2025-05-09 17:12:53 +00:00
Fabio Romano
1c5eb370b7 8355719: Reduce memory consumption of BigInteger.pow()
Reviewed-by: rgiulietti
2025-05-09 17:06:33 +00:00
Alexander Matveev
601f05e06d 8352480: Don't follow symlinks in additional content for app images
Reviewed-by: asemenyuk
2025-05-09 16:47:06 +00:00
Shaojin Wen
2661f62ca2 8356036: (fs) FileKey.hashCode and UnixFileStore.hashCode implementations can use Long.hashCode
Reviewed-by: liach, bpb
2025-05-09 16:42:49 +00:00
Joe Darcy
bed29a03d1 8356555: Incorrect use of {@link} in BigDecimal
Reviewed-by: bpb, nbenalla, liach, iris
2025-05-09 16:35:51 +00:00
Calvin Cheung
dd25799c21 8356212: runtime/cds/appcds/LotsOfSyntheticClasses.java timed out with -XX:+AOTClassLinking
Reviewed-by: iklam, shade, syan
2025-05-09 16:17:14 +00:00
Naoto Sato
5f00c877e2 8356450: NPE in CLDRTimeZoneNameProviderImpl for tzdata downgrades after JDK-8342550
Reviewed-by: bpb, jlu, joehw
2025-05-09 16:16:56 +00:00
Liam Miller-Cushon
0e0bd642ab 8356441: IllegalStateException in RichDiagnosticFormatter after JDK-8355065
Reviewed-by: liach, mcimadamore
2025-05-09 15:45:25 +00:00
Patricio Chilano Mateo
9ebb5d42d4 8346255: java/lang/management/ThreadMXBean/VirtualThreadDeadlocks.java finds no deadlock
Reviewed-by: kevinw, dholmes, alanb
2025-05-09 15:05:09 +00:00
Serguei Spitsyn
411a63ea1b 8356251: Need minor cleanup for interp_only_mode
Reviewed-by: lmesnik, cjplummer
2025-05-09 12:24:28 +00:00
Magnus Ihse Bursie
568dcc15cb 8334391: JDK build should exclude *-files directories for Java source
Reviewed-by: erikj
2025-05-09 10:05:23 +00:00
Magnus Ihse Bursie
a091e2f281 8351029: IncludeCustomExtension does not work on cygwin with source code below /home
Reviewed-by: erikj
2025-05-09 09:10:06 +00:00
Magnus Ihse Bursie
3aa2ea7e67 8301971: Make JDK source code UTF-8
8338973: Document need to have UTF-8 locale available to build the JDK

Reviewed-by: erikj, naoto, mbaesken
2025-05-09 09:05:10 +00:00
Yudi Zheng
74e981e855 8353735: [JVMCI] Allow specifying storage kind of the callee save register
Reviewed-by: dnsimon, cslucas
2025-05-09 08:39:16 +00:00
Matthias Baesken
c88f94c9d7 8356394: Remove USE_LIBRARY_BASED_TLS_ONLY macro
Reviewed-by: dholmes, kbarrett, lucy
2025-05-09 07:12:51 +00:00
Ioi Lam
591e71ebe5 8354890: AOT-initialize j.l.i.MethodHandleImpl and inner classes
Reviewed-by: liach, vlivanov
2025-05-09 06:00:23 +00:00
Jatin Bhateja
53ad4b2ad2 8355364: [REDO] Missing REX2 prefix accounting in ZGC barriers leads to incorrect encoding
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: aboldtch, sviswanathan
2025-05-09 05:28:56 +00:00
Sergey Bylokhov
9a0e6f338f 8356571: Re-enable -Wtype-limits for GCC in LCMS
Reviewed-by: jwaters, prr
2025-05-09 02:08:29 +00:00
Alexey Semenyuk
cc3a366e2a 8333568: Test that jpackage doesn't modify R/O files/directories
Reviewed-by: almatvee
2025-05-09 00:06:26 +00:00
Alexey Semenyuk
8a8893ec03 8356562: SigningAppImageTwoStepsTest test fails
Reviewed-by: almatvee
2025-05-08 22:18:56 +00:00
Julian Waters
c2a4fa1d83 8355573: Remove kludge_c++11.h from jpackage code
Reviewed-by: asemenyuk, almatvee
2025-05-08 22:11:37 +00:00
Ioi Lam
4379e2d26b 8356125: Interned strings are omitted from AOT cache
Reviewed-by: shade, ccheung
2025-05-08 17:54:47 +00:00
Vladimir Ivanov
b7b437d5bd 8356453: C2: assert(!vbox->is_Phi()) during vector box expansion
Reviewed-by: thartmann, kvn
2025-05-08 17:53:27 +00:00
Naoto Sato
e4ecda2b25 8356221: Clarify Console.charset() method description
Reviewed-by: bpb
2025-05-08 17:52:05 +00:00
Chris Plummer
9273094538 8356023: Some nsk/jdi tests can fetch ThreadReference from static field in the debuggee: part 2
Reviewed-by: amenkov, sspitsyn, lmesnik
2025-05-08 17:48:26 +00:00
Joe Darcy
24d84cf66a 8354091: Update RELEASE_25 description for Flexible Constructor Bodies
Reviewed-by: iris, liach, vromero
2025-05-08 16:30:01 +00:00
Casper Norrbin
1e8927dded 8354433: Assert in AbstractRBTree::visit_range_in_order(const K& from, const K& to, F f) is wrong
Reviewed-by: jsjolen, aboldtch
2025-05-08 16:21:14 +00:00
Casper Norrbin
7f3191a630 8354878: File Leak in CgroupSubsystemFactory::determine_type of cgroupSubsystem_linux.cpp:300
Reviewed-by: sgehwolf, jsjolen, dholmes
2025-05-08 16:20:53 +00:00
Roman Kennke
6b1e88a946 8356329: Report compact object headers in hs_err
Reviewed-by: stuefe, lmesnik, zgu
2025-05-08 16:07:25 +00:00
Maurizio Cimadamore
c6ffacb575 8344703: Compiler Implementation for Flexible Constructor Bodies
Reviewed-by: vromero, liach, jlahoda
2025-05-08 15:14:35 +00:00
Eirik Bjørsnøs
2ea629f3f2 8353440: Disable FTP fallback for non-local file URLs by default
Reviewed-by: dfuchs
2025-05-08 14:52:53 +00:00
Magnus Ihse Bursie
57297e60de 8354278: Revert use of non-POSIX echo -n introduced in JDK-8301197
Reviewed-by: iris
2025-05-08 13:33:57 +00:00
Kevin Walls
900b3ff7ee 8351359: OperatingSystemMXBean: values from getCpuLoad and getProcessCpuLoad are stale after 24.8 days (Windows)
Reviewed-by: amenkov, sspitsyn
2025-05-08 13:18:02 +00:00
Christian Hagedorn
ad07426fab 8356084: C2: Data is wrongly rewired to Initialized Assertion Predicates instead of Template Assertion Predicates
Reviewed-by: epeter, kvn
2025-05-08 11:34:46 +00:00
Christian Hagedorn
b47b2062a2 8355674: C2: Partial Peeling should not introduce Phi nodes above OpaqueInitializedAssertionPredicate nodes
Reviewed-by: epeter, thartmann
2025-05-08 11:33:31 +00:00
Amit Kumar
5df7089c3e 8350398: [s390x] Relativize initial_sp/monitors in interpreter frames
Reviewed-by: lucy, aph
2025-05-08 10:56:01 +00:00
nibjen
2c1eb339d6 8350830: Values converted incorrectly when reading TLS session tickets
Reviewed-by: djelinski, ascarpino
2025-05-08 09:06:19 +00:00
Andrew Dinn
daf6fa1e61 8356085: AArch64: compiler stub buffer size wrongly depends on ZGC
Reviewed-by: shade, kvn
2025-05-08 07:44:42 +00:00
Anass Baya
223eec5501 8354219: Automate javax/swing/JComboBox/ComboPopupBug.java
Reviewed-by: aivanov, achung
2025-05-08 07:30:40 +00:00
Jaikiran Pai
52a5583d69 8356154: Respecify java.net.Socket constructors that allow creating UDP sockets to throw IllegalArgumentException
Reviewed-by: dfuchs, alanb
2025-05-08 03:56:45 +00:00
Ioi Lam
3e258cbddf 8356407: Part of class verification is skipped in AOT training run
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Reviewed-by: matsaave, coleenp
2025-05-08 01:08:52 +00:00
Markus KARG
7642556a5a 8343110: Add getChars(int, int, char[], int) to CharSequence and CharBuffer
Reviewed-by: liach, jpai, rriggs
2025-05-08 00:58:10 +00:00
Magnus Ihse Bursie
493ac93606 8244533: Configure should abort on missing short names in Windows
Co-authored-by: Jorn Vernee <jvernee@openjdk.org>
Co-authored-by: Magnus Ihse Bursie <ihse@openjdk.org>
Reviewed-by: erikj
2025-05-07 21:33:39 +00:00
Chen Liang
8c1b915c7e 8356126: Duplication handling and optimization of CaptureCallState
Reviewed-by: jvernee
2025-05-07 18:11:03 +00:00
Chen Liang
3f6b17777f 8332934: Do loop with continue with subsequent switch leads to incorrect stack maps
Reviewed-by: vromero
2025-05-07 18:09:23 +00:00
Alex Menkov
cb02158090 8354461: Update tests to disable streaming output for attach tools
Reviewed-by: sspitsyn, cjplummer
2025-05-07 18:05:48 +00:00
Ioi Lam
28e6b7cb74 8351313: VM crashes when AOTMode/AOTCache/AOTConfiguration are empty
Reviewed-by: ccheung, shade, kvn
2025-05-07 17:40:44 +00:00
Ioi Lam
40f696dbe4 8356318: Unexpected VerifyError in AOT training run
Reviewed-by: shade, kvn
2025-05-07 17:36:37 +00:00
Thomas Stuefe
da5dc5287b 8356025: Provide a PrintVMInfoAtExit diagnostic switch
Reviewed-by: mbaesken, jsikstro
2025-05-07 16:52:45 +00:00
Leonid Mesnik
c8a30c2aab 8347004: vmTestbase/metaspace/shrink_grow/ShrinkGrowTest/ShrinkGrowTest.java fails with CDS disabled
Reviewed-by: coleenp
2025-05-07 15:42:00 +00:00
Gergö Barany
90f0f1b88b 8354443: [Graal] crash after deopt in TestG1BarrierGeneration.java
Reviewed-by: dnsimon, yzheng
2025-05-07 14:49:37 +00:00
Chen Liang
d7e648bb27 8355775: Improve symbolic sharing in dynamic constant pool entries
Reviewed-by: asotona
2025-05-07 14:08:21 +00:00
Magnus Ihse Bursie
ca5e0b1848 8282493: Add --with-jcov-modules convenience option
Reviewed-by: erikj
2025-05-07 13:28:46 +00:00
Magnus Ihse Bursie
a72f7506bf 8356379: Need a proper way to test existence of binary from configure
Reviewed-by: erikj
2025-05-07 13:23:28 +00:00
Magnus Ihse Bursie
fa765e7d34 8356335: Remove linux-x86 from jib profiles
Reviewed-by: erikj
2025-05-07 13:23:16 +00:00
Volkan Yazici
60a4594b9f 8355578: [java.net] Use @requires tag instead of exiting based on "os.name" property value
Reviewed-by: dfuchs
2025-05-07 12:07:47 +00:00
Sergey Bylokhov
0844745e7b 8339561: The test/jdk/java/awt/Paint/ListRepaint.java may fail after JDK-8327401
Reviewed-by: azvegint
2025-05-07 09:21:58 +00:00
Per Minborg
1bdff3ccd0 8356114: java/foreign/TestBufferStackStress2.java failed with junit action timed out
Reviewed-by: djelinski, alanb
2025-05-07 09:12:44 +00:00
Hamlin Li
50554fa198 8355704: RISC-V: enable TestIRFma.java
Reviewed-by: rehn, luhenry
2025-05-07 08:34:03 +00:00
Hamlin Li
1a4bbb0027 8355699: RISC-V: support SUADD/SADD/SUSUB/SSUB
Reviewed-by: fyang, luhenry
2025-05-07 08:33:49 +00:00
Hamlin Li
da004cb657 8356030: RISC-V: enable (part of) BasicDoubleOpTest.java
Reviewed-by: fyang, luhenry
2025-05-07 08:33:35 +00:00
Manuel Hässig
b5fd289f53 8356310: compiler/print/TestPrintAssemblyDeoptRace.java fails with Improperly specified VM option 'DeoptimizeALot'
Reviewed-by: epeter, mchevalier, thartmann, chagedorn, rcastanedalo
2025-05-07 08:16:35 +00:00
Ivan Bereziuk
328715d84c 8356187: TestJcmd.java may incorrectly parse podman version
Reviewed-by: sgehwolf
2025-05-07 08:06:29 +00:00
Aleksey Shipilev
50895835e0 8356259: Lift basic -Xlog:jit* logging to "info" level
Reviewed-by: kvn
2025-05-07 07:44:05 +00:00
Matthias Baesken
21f01e0c89 8356269: Fix broken web-links after JDK-8295470
Reviewed-by: chagedorn, epeter
2025-05-07 07:19:42 +00:00
Christian Stein
910d77d39e 8354260: Launcher help text is wrong for -Xms
Reviewed-by: jsikstro, jlahoda
2025-05-07 06:55:29 +00:00
Daishi Tabata
4458719a10 8355249: Remove the use of WMIC from the entire source code
Reviewed-by: erikj, ihse, asemenyuk
2025-05-07 06:19:56 +00:00
Galder Zamarreño
772c97039e 8354257: xctracenorm profiler not working with JDK JMH benchmarks
Reviewed-by: ihse
2025-05-07 06:17:50 +00:00
Phil Race
4e3ec3c04c 8356208: Remove obsolete code in PSPrinterJob for plugin printing
Reviewed-by: serb
2025-05-07 05:36:00 +00:00
Amit Kumar
0eb680ca46 8350308: [s390x] Relativize last_sp (and top_frame_sp) in interpreter frames
Reviewed-by: lucy, rrich
2025-05-07 04:12:56 +00:00
Sergey Bylokhov
762423d64d 8355561: [macos] Build failure with Xcode 16.3
Reviewed-by: kizune, prr
2025-05-07 02:54:41 +00:00
Dingli Zhang
acad0b4968 8356188: RISC-V: Cleanup effect of vmaskcmp_fp
Reviewed-by: fyang, gcao
2025-05-07 00:58:19 +00:00
Alexey Semenyuk
cbbab07d23 8356309: Fix issues uncovered after running jpackage tests locally with installing test packages
Reviewed-by: almatvee
2025-05-06 23:40:48 +00:00
Patricio Chilano Mateo
9a23f721c7 8316682: serviceability/jvmti/vthread/SelfSuspendDisablerTest timed out
Reviewed-by: lmesnik, pchilanomate
2025-05-06 22:08:51 +00:00
Jiangli Zhou
bed5114e3a 8356209: Problemlist failed gtests on static-jdk
Reviewed-by: alanb
2025-05-06 19:38:39 +00:00
Alexandre Iline
e2df9cdeb0 8356226: JCov Grabber server didn't respond
Reviewed-by: erikj
2025-05-06 19:19:10 +00:00
Coleen Phillimore
4977588d5e 8330022: Failure test/hotspot/jtreg/vmTestbase/nsk/sysdict/share/BTreeTest.java: Could not initialize class java.util.concurrent.ThreadLocalRandom
Co-authored-by: David Leopoldseder <davleopo@openjdk.org>
Reviewed-by: tschatzl, matsaave
2025-05-06 19:00:06 +00:00
Brent Christian
fe29cad5e0 8298783: java/lang/ref/FinalizerHistogramTest.java failed with "RuntimeException: MyObject is not found in test output"
Reviewed-by: kbarrett, jpai
2025-05-06 18:40:33 +00:00
Justin Lu
0cb355ee92 8356096: ISO 4217 Amendment 179 Update
Reviewed-by: naoto, iris
2025-05-06 18:27:20 +00:00
Koushik Thirupattur
5d17a28c4e 8353001: Remove leftover Security Manager parsing code in sun.security.util.Debug
Reviewed-by: mullan
2025-05-06 18:10:46 +00:00
Magnus Ihse Bursie
08dd4a75c5 8354273: Replace even more Unicode characters with ASCII
Reviewed-by: naoto
2025-05-06 18:00:57 +00:00
Alexey Semenyuk
9c43871fd1 8356219: jpackage places libapplauncher.so in incorrect location in the app image
Reviewed-by: almatvee
2025-05-06 17:57:23 +00:00
Jiangli Zhou
064b036ebd 8356050: Problemlist jdk, langtools & lib-test tier1 tests requiring runtime usages of <jdk>/bin/tools for static-jdk
Reviewed-by: ihse
2025-05-06 17:56:03 +00:00
Raffaello Giulietti
052e2522b6 8356152: String.concat can throw StringIndexOutOfBoundsException
Reviewed-by: liach, aturbanov, redestad, rriggs
2025-05-06 17:32:36 +00:00
Harshitha Onkar
b21b3a38a5 8355528: Update HarfBuzz to 11.2.0
Reviewed-by: dnguyen, prr
2025-05-06 16:50:14 +00:00
Volodymyr Paprotski
a6995a3d42 8354473: Incorrect results for compress/expand tests with -XX:+EnableX86ECoreOpts
Reviewed-by: jbhateja, sviswanathan, epeter
2025-05-06 16:26:21 +00:00
Hannes Wallnöfer
9477c42215 8356276: JavaScript error in script.js after JDK-8348282
Reviewed-by: liach
2025-05-06 16:01:44 +00:00
Matthias Baesken
088825ed88 8355979: ATTRIBUTE_NO_UBSAN needs to be extended to handle float divisions by zero on AIX
Reviewed-by: jkern, lucy
2025-05-06 14:15:37 +00:00
Roman Kennke
bfdafb7626 8356266: Fix non-Shenandoah build after JDK-8356075
Reviewed-by: dnsimon, shade
2025-05-06 13:25:07 +00:00
Coleen Phillimore
ddd07b107e 8356172: IdealGraphPrinter doesn't need ThreadCritical
Reviewed-by: rcastanedalo, chagedorn
2025-05-06 11:48:02 +00:00
Roman Kennke
614ba9fc41 8356075: Support Shenandoah GC in JVMCI
Reviewed-by: shade, dnsimon, cslucas
2025-05-06 11:08:51 +00:00
Joel Sikström
ecfaf354d7 8356083: ZGC: Duplicate ZTestEntry symbols in gtests
Reviewed-by: aboldtch, tschatzl
2025-05-06 09:50:44 +00:00
Manuel Hässig
1eee15eea6 8258229: Crash in nmethod::reloc_string_for
Reviewed-by: galder, thartmann
2025-05-06 09:05:37 +00:00
Harald Eilertsen
8c4f2ff21e 8356182: Build fails on aarch64 without ZGC
This work was sponsored by The FreeBSD Foundation

Reviewed-by: stefank, chagedorn
2025-05-06 08:28:31 +00:00
Roberto Castañeda Lozano
def907ab89 8354520: IGV: dump contextual information
Reviewed-by: epeter, dfenacci
2025-05-06 08:16:09 +00:00
Emanuel Peter
9f8fbf2922 8352869: Verify.checkEQ: extension for NaN, VectorAPI and arbitrary Objects
Reviewed-by: chagedorn, thartmann
2025-05-06 06:26:09 +00:00
Manukumar V S
e09d2e275b 8288471: java/awt/ScrollPane/bug8077409Test.java is unstable and fails intermittently in CI
Reviewed-by: abhiscxk, serb
2025-05-06 02:51:23 +00:00
Leonid Mesnik
64b58f6a54 8356089: java/lang/IO/IO.java fails with -XX:+AOTClassLinking
Reviewed-by: epavlova, iklam
2025-05-06 01:59:33 +00:00
Calvin Cheung
7f6ea27d3e 8356020: Failed assert in virtualMemoryTracker.cpp
Reviewed-by: iklam, gziemski
2025-05-06 01:34:50 +00:00
Boris Ulasevich
aea2837143 8355896: Lossy narrowing cast of JVMCINMethodData::size
Reviewed-by: kvn, dnsimon
2025-05-06 01:26:15 +00:00
Nizar Benalla
606f2012b0 8174840: Elements.overrides does not check the return type of the methods
Co-authored-by: Pavel Rappo <prappo@openjdk.org>
Reviewed-by: liach, darcy
2025-05-05 21:52:25 +00:00
Steffen Nießing
2a4f37cc16 8356119: Typo in bytecode behavior for Lookup.findGetter
Reviewed-by: liach
2025-05-05 20:52:13 +00:00
Archie Cobbs
ca7e4c4e05 8352612: No way to add back lint categories after "none"
Reviewed-by: mcimadamore
2025-05-05 20:40:45 +00:00
Calvin Cheung
620f81671a 8327495: Print more warning with -Xshare:auto when CDS fails to use archive
Reviewed-by: iklam, matsaave
2025-05-05 19:36:26 +00:00
Oleksii Sylichenko
6bcbc3b0a2 8353489: Increase timeout and improve Windows compatibility in test/jdk/java/lang/ProcessBuilder/Basic.java
Reviewed-by: rriggs
2025-05-05 18:56:48 +00:00
Roger Riggs
65f188f29f 8354334: Remove @ValueBased from ProcessHandle
Reviewed-by: liach
2025-05-05 18:35:46 +00:00
Tom Rodriguez
cc34135fff 8343158: [JVMCI] ZGC should deoptimize on old gen allocation
Reviewed-by: aboldtch, eosterlund
2025-05-05 17:26:01 +00:00
Justin Lu
32f67a3e38 8356040: java/util/PluggableLocale/LocaleNameProviderTest.java timed out
Reviewed-by: naoto
2025-05-05 16:42:44 +00:00
Aleksey Shipilev
f68764490c 8356153: Shenandoah stubs are missing in AOT Code Cache addresses table
Reviewed-by: kvn
2025-05-05 16:30:25 +00:00
Joe Darcy
6719b9214f 8356108: Update SourceVersion.RELEASE_25 description for JEPs 511 and 512
Reviewed-by: vromero, liach, iris, jlahoda
2025-05-05 15:42:19 +00:00
Aleksey Shipilev
1501a5e41e 8356122: Client build fails after JDK-8350209
Reviewed-by: chagedorn
2025-05-05 12:51:02 +00:00
Coleen Phillimore
a8cd01f6e2 8355353: File Leak in os::read_image_release_file of os.cpp:1552
Reviewed-by: zgu, jsjolen
2025-05-05 11:57:01 +00:00
Robbin Ehn
026479767c 8352730: RISC-V: Disable tests in qemu-user
Reviewed-by: fyang, mli
2025-05-05 11:43:45 +00:00
Jan Lahoda
f1e06c3c05 8299934: LocalExecutionControl replaces default uncaught exception handler
Reviewed-by: liach
2025-05-05 09:00:59 +00:00
Anton Artemov
6dd5553823 8354329: Rewrite runtime/ClassFile/JsrRewriting.java and OomWhileParsingRepeatedJsr.java tests
Reviewed-by: matsaave, coleenp
2025-05-05 08:52:52 +00:00
Johan Sjölen
8511220f9d 8355490: Make VM_RedefineClasses::merge_constant_pools only take reference arguments
Reviewed-by: amenkov, sspitsyn, coleenp
2025-05-05 07:15:46 +00:00
Johan Sjölen
f04e556d47 8355711: Remove incorrect overflow check in RawBytecodeStream::raw_next
Reviewed-by: dlong, matsaave
2025-05-05 07:14:24 +00:00
Johan Sjölen
604225fb0c 8354954: Typed static memory for late initialization of static class members in Hotspot
Reviewed-by: qamai, kbarrett, jvernee
2025-05-05 06:58:20 +00:00
Marc Chevalier
69d0f7a395 8354284: Add more compiler test folders to tier1 runs
Reviewed-by: chagedorn, kvn
2025-05-05 06:57:09 +00:00
Daniel Jeliński
c94a7ae11e 8354276: Strict HTTP header validation
Reviewed-by: dfuchs, jpai
2025-05-05 05:29:06 +00:00
Jan Lahoda
a5f4366a7f 8353565: Javac throws "inconsistent stack types at join point" exception
Reviewed-by: vromero, liach, mcimadamore
2025-05-05 05:04:17 +00:00
Tatsunori Uchino
c8ce61c8ca 8355371: NegativeArraySizeException in print methods in IO or System.console() in JShell
8354910: Output by java.io.IO or System.console() corrupted for some non-ASCII characters

Reviewed-by: liach, jlahoda
2025-05-05 05:03:15 +00:00
Amit Kumar
5b3ae92105 8350182: [s390x] Relativize locals in interpreter frames
Reviewed-by: lucy, rrich
2025-05-05 04:02:51 +00:00
Mikhail Yankelevich
03f0ec4a35 8183348: Better cleanup for jdk/test/sun/security/pkcs12/P12SecretKey.java
Reviewed-by: rhalade, weijun
2025-05-02 23:15:26 +00:00
Chen Liang
4d2d12987f 8355962: RISCV64 cross build fails after 8354996
Reviewed-by: erikj, manc
2025-05-02 22:34:10 +00:00
Vicente Romero
56468c42be 8322810: Lambda expression types can't be classes
Reviewed-by: mcimadamore
2025-05-02 20:44:22 +00:00
Peter B. Kessler
60ba81d77f 8354347: Increase the default padding size for aarch64 in JDK code.
Reviewed-by: aph, ecaspole
2025-05-02 18:54:11 +00:00
Mohamed Issa
c8bbcaf5de 8348638: Performance regression in Math.tanh
Reviewed-by: jbhateja, epeter, sviswanathan
2025-05-02 17:21:50 +00:00
Brian Burkhalter
84f570c573 8355445: [java.nio] Use @requires tag instead of exiting based on "os.name" property value
Reviewed-by: lancea, jpai, iris
2025-05-02 17:00:12 +00:00
Brian Burkhalter
4826a91e7a 8355443: [java.io] Use @requires tag instead of exiting based on File.separatorChar value
Reviewed-by: naoto, vyazici
2025-05-02 16:59:56 +00:00
Brian Burkhalter
5faa559022 8355444: [java.io] Use @requires tag instead of exiting based on "os.name" property value
Reviewed-by: jpai, lancea
2025-05-02 16:59:41 +00:00
Mikael Vidstedt
01fd49ffb3 8355446: Change to Xcode 15.4 for building on macOS at Oracle
Reviewed-by: erikj, ihse
2025-05-02 16:56:05 +00:00
Per Minborg
9f9e73d5f9 8349146: [REDO] Implement a better allocator for downcalls
Reviewed-by: mcimadamore, jvernee, liach
2025-05-02 14:14:59 +00:00
Ivan Walulya
995d54161f 8355681: G1HeapRegionManager::find_contiguous_allow_expand ignores free regions when checking regions available for allocation
Reviewed-by: tschatzl, ayang
2025-05-02 12:54:09 +00:00
Ivan Bereziuk
cf2f9ce820 8356032: createAutoconfBundle.sh downloads to local directory
Reviewed-by: erikj
2025-05-02 12:49:03 +00:00
Suchismith Roy
cdad6d788d 8216437: PPC64: Add intrinsic for GHASH algorithm
Reviewed-by: mdoerr, amitkumar
2025-05-02 12:30:32 +00:00
Coleen Phillimore
afb9134a31 8355627: Don't use ThreadCritical for EventLog list
Reviewed-by: shade, lmesnik, zgu
2025-05-02 11:40:19 +00:00
Hamlin Li
811f117ce3 8355980: RISC-V: remove vmclr_m before vmsXX and vmfXX
Reviewed-by: dzhang, fyang
2025-05-02 08:28:57 +00:00
Jan Lahoda
d29700cc80 8344706: Implement JEP 512: Compact Source Files and Instance Main Methods
Co-authored-by: Stuart Marks <smarks@openjdk.org>
Reviewed-by: liach, cstein, vromero, naoto
2025-05-02 06:10:48 +00:00
Chen Liang
bd7c77898a 8350549: MethodHandleProxies.WRAPPER_TYPES is not thread-safe
Reviewed-by: jpai, jvernee
2025-05-02 01:30:47 +00:00
Weijun Wang
c514f135cc 8356051: Update SignatureUtil.java with the new KnownOIDs
Reviewed-by: rhalade
2025-05-02 00:25:19 +00:00
Weijun Wang
494ef6cb8c 8354305: SHAKE128 and SHAKE256 MessageDigest algorithms
Reviewed-by: valeriep, mullan
2025-05-01 23:34:35 +00:00
Valerie Peng
6536430a3b 8348732: SunJCE and SunPKCS11 have different PBE key encodings
Reviewed-by: weijun, fferrari
2025-05-01 23:08:16 +00:00
Vladimir Kozlov
aae2bb6249 8350209: Preserve adapters in AOT cache
Co-authored-by: Ashutosh Mehra <asmehra@openjdk.org>
Reviewed-by: vlivanov, asmehra, ihse, iklam
2025-05-01 21:03:24 +00:00
Sergey Kuksenko
c116b18b89 8355559: Benchmark modification/extension shouldn't affect the behavior of other benchmarks
Reviewed-by: ecaspole
2025-05-01 18:45:20 +00:00
William Kemper
9e26b9facb 8355372: GenShen: Test gc/shenandoah/generational/TestOldGrowthTriggers.java fails with UseCompactObjectHeaders enabled
Reviewed-by: ysr, kdnilsen
2025-05-01 17:40:57 +00:00
Koushik Thirupattur
394961c8fe 8328914: Document the java.security.debug property in javadoc
Reviewed-by: mullan
2025-05-01 17:26:32 +00:00
Joe Wang
cf0db96314 8354084: Streamline XPath API's extension function control
Reviewed-by: rriggs, naoto
2025-05-01 17:03:29 +00:00
Mikhail Yankelevich
6b553acbaa 8277424: javax/net/ssl/TLSCommon/TLSTest.java fails with connection refused
Reviewed-by: rhalade
2025-05-01 16:16:25 +00:00
Kevin Walls
09cae5fd8f 8354407: Test com/sun/management/OperatingSystemMXBean/GetProcessCpuLoad.java still fails on Windows
Reviewed-by: cjplummer, lmesnik
2025-05-01 16:05:59 +00:00
Shaojin Wen
2ad639f1b3 8356021: Use Double::hashCode in java.util.Locale::hashCode
Reviewed-by: rriggs, liach
2025-05-01 15:47:01 +00:00
Chen Liang
bee273d6b4 8297271: AccessFlag.maskToAccessFlags should be specific to class file version
Reviewed-by: rriggs
2025-05-01 14:37:26 +00:00
Artur Barashev
34807df762 8355779: When no "signature_algorithms_cert" extension is present we do not apply certificate scope constraints to algorithms in "signature_algorithms" extension
Reviewed-by: mullan
2025-05-01 13:09:14 +00:00
Matthew Donovan
7b31762375 8354235: Test javax/net/ssl/SSLSocket/Tls13PacketSize.java failed with java.net.SocketException: An established connection was aborted by the software in your host machine
Reviewed-by: rhalade
2025-05-01 11:04:33 +00:00
Hamlin Li
0cd0afb2b3 8355913: RISC-V: improve hotspot/jtreg/compiler/vectorization/runner/BasicFloatOpTest.java
Reviewed-by: fyang, rehn
2025-05-01 08:15:24 +00:00
Jan Lahoda
0a697f6ff4 8344708: Implement JEP 511: Module Import Declarations
Reviewed-by: mcimadamore, vromero, alanb
2025-05-01 07:42:38 +00:00
Gustavo Simon
b218410508 8354292: Remove unused PRAGMA_FORMAT_IGNORED
Reviewed-by: mbaesken, kbarrett, shade
2025-05-01 07:32:10 +00:00
Aleksey Shipilev
8ef7e256a0 8355769: Optimize nmethod dependency recording
Reviewed-by: adinn, vlivanov, kvn
2025-05-01 07:29:56 +00:00
Chris Plummer
e2ae50d877 8355569: Some nsk/jdi tests can glean the "main" thread by using the ClassPrepareEvent for the debuggee main class
Reviewed-by: sspitsyn, amenkov
2025-04-30 22:53:31 +00:00
Chen Liang
e36756b264 8297727: Forcing LF interpretation lead to StackOverflowError in reflection code
Reviewed-by: jvernee
2025-04-30 21:56:13 +00:00
Chen Liang
24bc714d5e 8355956: Prepare javap for class file format aware access flag parsing
Reviewed-by: vromero
2025-04-30 21:55:57 +00:00
Zhengyu Gu
4cc19ba5e3 8355650: Remove unused fields in ParkEvent
Reviewed-by: coleenp
2025-04-30 20:24:54 +00:00
Chen Liang
bccf057fa4 8355971: Build warnings after the changes for JDK-8354996
Reviewed-by: shade, erikj
2025-04-30 19:26:27 +00:00
Rajan Halade
1313349a2e 8350498: Remove two Camerfirma root CA certificates
Reviewed-by: mullan
2025-04-30 18:14:10 +00:00
Mat Carter
1ff7e813e3 8354897: Support Soft/Weak Reference in AOT cache
Co-authored-by: Ioi Lam <iklam@openjdk.org>
Reviewed-by: liach, eosterlund
2025-04-30 18:05:59 +00:00
Gerard Ziemski
9a2a2c5bb1 8354547: REDO: Force clients to explicitly pass mem_tag value, even if it is mtNone
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Reviewed-by: stefank, coleenp, jsjolen
2025-04-30 17:57:00 +00:00
Volkan Yazici
18983b635f 8355391: Use Long::hashCode in java.time
Reviewed-by: rriggs, pminborg, naoto
2025-04-30 17:52:55 +00:00
Chris Plummer
50145bb74a 8355773: Some nsk/jdi tests can fetch ThreadReference from static field in the debuggee
Reviewed-by: sspitsyn, amenkov
2025-04-30 17:15:52 +00:00
Chris Plummer
486acc06e0 8355453: nsk.share.jdi.Debugee.waitingEvent() does not timeout properly
Reviewed-by: lmesnik, amenkov, sspitsyn
2025-04-30 17:09:53 +00:00
Gautham Krishnan
66122811aa 8342886: Update MET timezone in TimeZoneNames files
Reviewed-by: naoto
2025-04-30 16:06:22 +00:00
Per Minborg
fbc4691bfa 8351565: Implement JEP 502: Stable Values (Preview)
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Reviewed-by: vklang, jvernee, alanb, liach
2025-04-30 16:03:25 +00:00
Roger Riggs
4c695fa8a4 8351000: StringBuilder getChar and putChar robustness
Reviewed-by: liach, lancea, rgiulietti, pminborg
2025-04-30 13:50:57 +00:00
Rajat Mahajan
482538b100 8351884: Refactor bug8033699.java test code
Reviewed-by: aivanov, honkar, dmarkov
2025-04-30 12:23:24 +00:00
Andrey Turbanov
0110acaa90 8354791: Use Hashtable.putIfAbsent in CSS constructor
Reviewed-by: serb, aivanov
2025-04-30 11:29:06 +00:00
Tongbao Zhang
526951dba7 8354145: G1: UseCompressedOops boundary is calculated on maximum heap region size instead of maxiumum ergonomic heap region size
Reviewed-by: tschatzl, ayang
2025-04-30 09:57:23 +00:00
Gui Cao
765cef4546 8355878: RISC-V: jdk/incubator/vector/DoubleMaxVectorTests.java fails when using RVV
Reviewed-by: fyang, dzhang
2025-04-30 09:04:54 +00:00
Marc Chevalier
d802fd0da2 8352422: [ubsan] Out-of-range reported in ciMethod.cpp:917:20: runtime error: 2.68435e+09 is outside the range of representable values of type 'int'
Reviewed-by: epeter, dlong
2025-04-30 08:45:54 +00:00
Volkan Yazici
7d9a43839a 8355370: Include server name in HTTP test server thread names to improve diagnostics
Reviewed-by: dfuchs, jpai
2025-04-30 08:15:21 +00:00
Anjian-Wen
375ac6d446 8355796: RISC-V: compiler/vectorapi/AllBitsSetVectorMatchRuleTest.java fails after JDK-8355657
Reviewed-by: fyang, gcao
2025-04-30 01:58:41 +00:00
Alexey Semenyuk
1a9a9288a6 8355651: Issues with post-image hook
Reviewed-by: almatvee
2025-04-30 01:14:51 +00:00
Chen Liang
dcffd9d9ac 8347471: Provide valid flags and mask in AccessFlag.Location
Reviewed-by: rriggs
2025-04-30 00:39:02 +00:00
Leonid Mesnik
83d0bd85af 8355069: Allocation::check_out_of_memory() should support CheckUnhandledOops mode
Reviewed-by: sspitsyn
2025-04-29 23:44:45 +00:00
Chen Liang
1652948862 8355442: Reference field lambda forms with type casts are not generated
Reviewed-by: jvernee
2025-04-29 23:07:14 +00:00
William Kemper
5e27547e2d 8355789: GenShen: assert(_degen_point == ShenandoahGC::_degenerated_unset) failed: Should not be set yet: Outside of Cycle
Reviewed-by: kdnilsen, ysr
2025-04-29 22:56:19 +00:00
Vladimir Ivanov
6850757fe6 8355689: Wrong native entry name for FloatMaxVector vector math stubs with -XX:MaxVectorSize=8
Reviewed-by: psandoz, haosun, kvn
2025-04-29 22:25:20 +00:00
Artur Barashev
8b16897b74 8355262: Test sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java failed: accept timed out
Reviewed-by: jnimeh, wetmore
2025-04-29 20:42:37 +00:00
Brent Christian
bf52eb0358 8355632: WhiteBox.waitForReferenceProcessing() fails assert for return type
Reviewed-by: kbarrett
2025-04-29 20:15:00 +00:00
Mark Powers
c2485d5f7d 8351113: RC2ParameterSpec throws IllegalArgumentException when offset is negative
Reviewed-by: mullan
2025-04-29 19:12:52 +00:00
Aleksey Shipilev
ead6757486 8342283: CDS cannot handle a large number of classes
Co-authored-by: Ioi Lam <iklam@openjdk.org>
Reviewed-by: iklam, lmesnik, ccheung
2025-04-29 18:08:28 +00:00
Manukumar V S
bd7561c315 8355441: Remove antipattern from PassFailJFrame.forcePass javadoc
Reviewed-by: aivanov, honkar
2025-04-29 16:43:15 +00:00
Chen Liang
5d2d1ab574 8354996: Reduce dynamic code generation for a single downcall
Reviewed-by: jvernee
2025-04-29 15:42:08 +00:00
Julian Waters
fa2a9d1e10 8354919: Move HotSpot .editorconfig into the global .editorconfig
Reviewed-by: erikj, ihse
2025-04-29 15:37:16 +00:00
Liam Miller-Cushon
b5156bb16a 8355065: ConcurrentModificationException in RichDiagnosticFormatter
Reviewed-by: vromero
2025-04-29 14:32:38 +00:00
Fei Yang
2ed7ad4b5c 8355667: RISC-V: Add backend implementation for unsigned vector Min / Max operations
Reviewed-by: mli, gcao
2025-04-29 13:41:04 +00:00
Matthias Baesken
9f42ff8960 8355594: Warnings occur when building with clang and enabling ubsan
Reviewed-by: erikj, jkern, ihse
2025-04-29 13:26:51 +00:00
David Linus Briemann
edf8ce8db1 8355739: AssertionError: Invalid CPU feature name after 8353786
Reviewed-by: vlivanov, shade, mdoerr
2025-04-29 11:57:37 +00:00
Manuel Hässig
6a0c24f9db 8355472: Clean up x86 nativeInst after 32-bit x86 removal
Reviewed-by: shade, rcastanedalo, jwaters
2025-04-29 09:22:18 +00:00
Kuai Wei
31e70e41d5 8355697: Create windows devkit on wsl and msys2
Reviewed-by: ihse, erikj
2025-04-29 08:31:20 +00:00
Marc Chevalier
108078a681 8338194: ubsan: mulnode.cpp:862:59: runtime error: shift exponent 64 is too large for 64-bit type 'long unsigned int'
Reviewed-by: dlong, dfenacci
2025-04-29 07:43:37 +00:00
Kevin Walls
841989b270 8318730: MonitorVmStartTerminate.java still times out after JDK-8209595
Reviewed-by: lmesnik, sspitsyn, cjplummer
2025-04-29 06:57:33 +00:00
Gustavo Simon
44374a5720 8350542: Optional.orElseThrow(Supplier) does not specify behavior when supplier returns null
Reviewed-by: liach, clanger
2025-04-29 04:17:00 +00:00
Chen Liang
e4cb49fc85 8342206: Convenience method to check if a constant pool entry matches nominal descriptors
Reviewed-by: asotona
2025-04-29 03:06:23 +00:00
Gui Cao
7bde2bb571 8355654: RISC-V: Relax register constraint for some vector-scalar instructions
Reviewed-by: fyang, dzhang
2025-04-29 02:12:04 +00:00
Boris Ulasevich
7cf190fbb0 8345225: AARCH64: VM crashes with -NearCpool +UseShenandoahGC options
Reviewed-by: aph, shade
2025-04-29 01:50:23 +00:00
Gui Cao
ea3cf1b882 8355668: RISC-V: jdk/incubator/vector/Int256VectorTests.java fails when using RVV
Reviewed-by: fyang
2025-04-29 01:23:47 +00:00
Zhengyu Gu
62ef706dd1 8355648: Thread.SpinAcquire()'s lock name parameter is not used
Reviewed-by: shade, coleenp
2025-04-28 23:31:54 +00:00
Roger Riggs
1fd136cd6b 8354335: No longer deprecate wrapper class constructors for removal
Reviewed-by: liach, bchristi, iris
2025-04-28 21:36:14 +00:00
Jiangli Zhou
62d165d0e4 8355669: Add static-jdk-bundles make target
Reviewed-by: ihse
2025-04-28 19:44:04 +00:00
Leonid Mesnik
af4388abf2 8355649: Missing ResourceMark in ExceptionMark::check_no_pending_exception
Reviewed-by: jsjolen, shade
2025-04-28 19:24:09 +00:00
Jiangli Zhou
acd93df612 8355080: java.base/jdk.internal.foreign.SystemLookup.find() doesn't work on static JDK
Reviewed-by: mcimadamore, jvernee
2025-04-28 18:55:26 +00:00
Roger Riggs
2f8448034f 8354053: Remove unused JavaIOFilePermissionAccess
Reviewed-by: liach, weijun
2025-04-28 18:21:46 +00:00
Mikael Vidstedt
a090aa3ff8 8354902: Change to Visual Studio 17.13.2 for building on Windows at Oracle
Reviewed-by: erikj, ihse
2025-04-28 17:13:44 +00:00
Naoto Sato
c0dc31422d 8355558: SJIS.java test is always ignored
Reviewed-by: bpb
2025-04-28 16:03:40 +00:00
Joachim Kern
b1e778d9d2 8354686: [AIX] now ubsan is possible
Reviewed-by: mbaesken, clanger
2025-04-28 14:38:59 +00:00
Joel Sikström
66358fa2c0 8355616: Incorrect ifdef in compilationMemoryStatistic.cpp
Reviewed-by: shade, stuefe, jwaters
2025-04-28 14:08:59 +00:00
Tobias Hartmann
e7a416254b 8355717: Problem list tests until JDK-8355708 is fixed
Reviewed-by: chagedorn
2025-04-28 13:54:41 +00:00
Vladimir Kozlov
3eaec040b4 8355635: Do not collect C strings in C2 scratch buffer
Reviewed-by: jrose, thartmann, shade
2025-04-28 13:29:51 +00:00
Anton Artemov
a7359a5091 8354453: Don't strcpy in os::strdup, use memcpy instead
Reviewed-by: jsjolen, kbarrett
2025-04-28 12:12:50 +00:00
Hannes Wallnöfer
b0c3485d6c 8348282: Add option for syntax highlighting in javadoc snippets
Reviewed-by: liach, nbenalla, erikj
2025-04-28 10:04:20 +00:00
Suchismith Roy
2447b9812a 8355498: [AIX] Adapt code for C++ VLA rule
Reviewed-by: jkern, mdoerr
2025-04-28 08:44:36 +00:00
Aleksey Shipilev
db6fa5923c 8355617: Remove historical debug_only macro in favor of DEBUG_ONLY
Reviewed-by: stefank, kbarrett, jwaters
2025-04-28 08:43:14 +00:00
Bhavana Kilambi
3140de411b 8345125: Aarch64: Add aarch64 backend for Float16 scalar operations
Reviewed-by: aph, haosun
2025-04-28 08:08:42 +00:00
Anjian-Wen
a05ff55be4 8355657: RISC-V: Improve PrintOptoAssembly output of vector-scalar instructions
Reviewed-by: fyang, gcao
2025-04-28 07:15:41 +00:00
Matthias Baesken
7df1bfe27b 8354811: clock_tics_per_sec code duplication between os_linux and os_posix
Reviewed-by: lucy, clanger, asteiner
2025-04-28 06:56:09 +00:00
Nikita Gubarkov
40e7986c41 8355611: Get rid of SurfaceManagerFactory
Reviewed-by: serb, prr
2025-04-28 06:44:16 +00:00
Damon Fenacci
1f228e5539 8354119: Missing C2 proper allocation failure handling during initialization (during generate_uncommon_trap_blob)
Reviewed-by: kvn, chagedorn, mdoerr, amitkumar, fyang, bulasevich
2025-04-28 06:18:53 +00:00
Kelvin Nilsen
cd6f0d19d5 8355336: GenShen: Resume Old GC even with back-to-back Young GC triggers
Reviewed-by: wkemper
2025-04-27 20:10:20 +00:00
Tejesh R
9c86ac2723 8354495: Open source several AWT DataTransfer tests
Reviewed-by: azvegint
2025-04-27 11:44:40 +00:00
jeremy
04bb5dcf57 8355203: [macos] AquaButtonUI and AquaRootPaneUI repaint default button unnecessarily
Reviewed-by: serb, prr
2025-04-27 11:24:29 +00:00
Ioi Lam
4e7b513372 8351333: [ubsan] CDSMapLogger::log_region applying non-zero offset to null pointer
Reviewed-by: ccheung
2025-04-27 06:05:50 +00:00
Yasumasa Suenaga
898d479800 8355077: Compiler error at splashscreen_gif.c due to unterminated string initialization
Reviewed-by: prr
2025-04-27 02:29:44 +00:00
Bradford Wetmore
21b0f5ea15 8355637: SSLSessionImpl's "serialization" list documentation is incorrectly ordered
Reviewed-by: ascarpino
2025-04-26 05:46:05 +00:00
Jatin Bhateja
3b3a055d76 8342676: Unsigned Vector Min / Max transforms
Reviewed-by: sviswanathan, epeter
2025-04-26 03:31:21 +00:00
Anjian-Wen
91a9043f9d 8355562: RISC-V: Cleanup names of vector-scalar instructions in riscv_v.ad
Reviewed-by: fyang, fjiang
2025-04-26 02:58:51 +00:00
Vladimir Ivanov
e57fd71049 8353786: Migrate Vector API math library support to FFM API
Reviewed-by: jbhateja, kvn, psandoz, xgong, jvernee, mli
2025-04-25 21:22:37 +00:00
Ioi Lam
5db62abb42 8315719: Adapt AOTClassLinking test case for dynamic CDS archive
Reviewed-by: ccheung
2025-04-25 20:58:40 +00:00
Manukumar V S
2785570f56 8355366: Fix the wrong usage of PassFailJFrame.forcePass() in some manual tests
Reviewed-by: honkar, aivanov, prr
2025-04-25 20:12:45 +00:00
Jiangli Zhou
4b88029988 8355439: Some hotspot/jtreg/serviceability/sa/* tests fail on static JDK due to explicit checks for shared libraries in process memory map
Reviewed-by: sspitsyn, cjplummer
2025-04-25 17:11:54 +00:00
Brent Christian
d8f012ea2a 8305186: Reference.waitForReferenceProcessing should be more accessible to tests
Reviewed-by: kbarrett
2025-04-25 17:06:26 +00:00
Chen Liang
ac05002cbe 8354877: DirectClassBuilder default flags should include ACC_SUPER
Reviewed-by: asotona
2025-04-25 16:34:52 +00:00
Stuart Marks
15f42e348d 8350703: Add standard system property stdin.encoding
Reviewed-by: naoto, alanb
2025-04-25 16:32:42 +00:00
Chris Plummer
77f5a24648 8355214: nsk/jdi/ThreadStartRequest/addThreadFilter/addthreadfilter001.java should use JDIBase superclass
Reviewed-by: lmesnik, sspitsyn
2025-04-25 16:30:26 +00:00
Calvin Cheung
597bcc6953 8352003: Support --add-opens with -XX:+AOTClassLinking
Co-authored-by: Alan Bateman <alanb@openjdk.org>
Reviewed-by: iklam, alanb, matsaave
2025-04-25 16:12:35 +00:00
Anjian-Wen
5c067232bf 8355074: RISC-V: C2: Support Vector-Scalar version of Zvbb Vector And-Not instruction
Reviewed-by: fjiang, fyang
2025-04-25 12:50:12 +00:00
Anton Artemov
a2f9c24844 8354327: Rewrite runtime/LoadClass/LoadClassNegative.java
Reviewed-by: coleenp, lmesnik
2025-04-25 11:31:10 +00:00
Eirik Bjørsnøs
e6cea4025b 8355475: UNCTest should use an existing UNC path
Reviewed-by: dfuchs
2025-04-25 11:17:15 +00:00
Nizar Benalla
f66b9ba7bc 8346785: Potential infinite loop in JavadocTokenizer.ensures
Reviewed-by: liach, hannesw
2025-04-25 10:08:37 +00:00
Severin Gehwolf
89f9268ed7 8355524: Only every second line in upgradeable files is being used
Reviewed-by: shade, alanb
2025-04-25 08:20:51 +00:00
Evgeny Nikitin
b41e0b1749 8355387: [jittester] Disable downcasts by default
Reviewed-by: thartmann, chagedorn
2025-04-25 07:20:25 +00:00
Aleksey Shipilev
dbd2fb0e5a 8355473: Clean up x86 globals/VM_Version after 32-bit x86 removal
Reviewed-by: chagedorn, coleenp, jwaters
2025-04-25 07:11:24 +00:00
Matthias Baesken
70030bac04 8354803: ALL_64_BITS is the same across platforms
Reviewed-by: stefank, lucy
2025-04-25 07:09:37 +00:00
Tobias Hartmann
f27fc010f6 8355576: Problem list compiler/c2/TestVerifyConstraintCasts.java until JDK-8355574 is fixed
Reviewed-by: chagedorn
2025-04-25 07:09:10 +00:00
Quan Anh Mai
ed604038ff 8346836: C2: Verify CastII/CastLL bounds at runtime
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Reviewed-by: vlivanov, epeter
2025-04-25 02:09:58 +00:00
Xiaolong Peng
8a39f07d07 8354431: gc/logging/TestGCId fails on Shenandoah
Reviewed-by: wkemper, phh
2025-04-24 23:23:58 +00:00
David Beaumont
e01e33d19b 8354424: java/util/logging/LoggingDeadlock5.java fails intermittently in tier6
Reviewed-by: dfuchs, smarks
2025-04-24 19:18:13 +00:00
Chris Plummer
370e6113de 8355221: Get rid of unnecessary override of JDIBase.breakpointForCommunication in nsk/jdi tests
Reviewed-by: lmesnik, amenkov
2025-04-24 17:19:15 +00:00
Chris Plummer
29f10700e7 8355211: nsk/jdi/EventRequest/disable/disable001.java should use JDIBase superclass
Reviewed-by: lmesnik, amenkov
2025-04-24 17:17:54 +00:00
Hamlin Li
862797f0c1 8355293: [TEST] RISC-V: enable more ir tests
Reviewed-by: fyang, luhenry
2025-04-24 16:23:12 +00:00
Hamlin Li
3270a7d359 8355476: RISC-V: using zext_w directly in vector_update_crc32 could trigger assert
Reviewed-by: fyang, fjiang
2025-04-24 16:21:44 +00:00
Gennadiy Krivoshein
8e51ff70d8 8315113: Print request Chromaticity.MONOCHROME attribute does not work on macOS
Reviewed-by: prr, psadhukhan
2025-04-24 16:06:29 +00:00
Mikael Vidstedt
751e0392bc 8355235: Clean out old versions from Tools.gmk
Reviewed-by: erikj
2025-04-24 15:55:05 +00:00
Aleksey Shipilev
0edd018a48 8355432: Remove CompileTask from SA
Reviewed-by: cjplummer, lmesnik
2025-04-24 14:48:00 +00:00
Viktor Klang
356c4d9ca9 8355369: Remove setAccessible usage for setting final fields in java.util.concurrent
Reviewed-by: pminborg, dl, rgiulietti, alanb
2025-04-24 14:14:24 +00:00
Joel Sikström
cf96b107d5 8354362: Use automatic indentation in CollectedHeap printing
Reviewed-by: stefank, lkorinth, stuefe
2025-04-24 14:14:10 +00:00
Marc Chevalier
0537c6927d 8355492: MissedOptCastII is missing UnlockDiagnosticVMOptions flag
Reviewed-by: rcastanedalo, chagedorn, thartmann
2025-04-24 13:39:43 +00:00
Oleksii Sylichenko
34c4d895ca 8353190: Use "/native" Run Option for TestAvailableProcessors Execution
Reviewed-by: dholmes
2025-04-24 12:50:03 +00:00
Sean Coffey
1ec64811a3 8350582: Correct the parsing of the ssl value in javax.net.debug
Reviewed-by: wetmore, hchao
2025-04-24 12:01:34 +00:00
Kim Barrett
d3f31b0d8e 8347719: [REDO] Portable implementation of FORBID_C_FUNCTION and ALLOW_C_FUNCTION
Reviewed-by: tschatzl, jsjolen
2025-04-24 11:43:53 +00:00
Marc Chevalier
6254046f50 8320909: C2: Adapt IGVN's enqueuing logic to match idealization of AndNode with LShift operand
Reviewed-by: epeter, thartmann
2025-04-24 10:27:50 +00:00
Saranya Natarajan
74a2c831a2 8352620: C2: rename MemNode::memory_type() to MemNode::value_basic_type()
Reviewed-by: rcastanedalo, thartmann
2025-04-24 09:33:15 +00:00
Roland Westrelin
be6e4406d8 8349139: C2: Div looses dependency on condition that guarantees divisor not zero in counted loop
Reviewed-by: chagedorn, epeter, qamai
2025-04-24 09:10:43 +00:00
Manuel Hässig
290d24d16a 8355400: Better git detection in update_copyright_year.sh
Reviewed-by: erikj, chagedorn
2025-04-24 08:36:35 +00:00
Manuel Hässig
84e9264e76 8346552: C2: Add IR tests to check that Predicate cloning in Loop Unswitching works as expected
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: chagedorn, epeter
2025-04-24 08:29:08 +00:00
Stefan Karlsson
953eef4f11 8347337: ZGC: String dedups short-lived strings
Reviewed-by: kbarrett, aboldtch, eosterlund
2025-04-24 07:20:25 +00:00
Jan Lahoda
7bfbb9a515 8348928: Check for case label validity are misbehaving when binding patterns with unnamed bindings are present
Reviewed-by: asotona, abimpoudis, vromero
2025-04-24 06:58:37 +00:00
Aleksey Shipilev
188c236071 8353558: x86: Use better instructions for ICache sync when available
Reviewed-by: kvn, adinn
2025-04-24 06:58:21 +00:00
Vladimir Ivanov
428334b616 8353216: Improve VerifyMethodHandles for method handle linkers
Reviewed-by: dlong
2025-04-24 01:09:17 +00:00
Ioi Lam
bbec3c0730 8354558: -XX:AOTMode=record crashes with boot loader package-info class
Reviewed-by: ccheung, matsaave
2025-04-24 00:00:36 +00:00
Alexander Zvegintsev
b10a304b2b 8354553: Open source several clipboard tests batch0
Reviewed-by: serb, prr
2025-04-23 23:03:22 +00:00
William Kemper
ac17449bdb 8353596: GenShen: Test TestClone.java#generational-no-coops intermittent timed out
Reviewed-by: kdnilsen, ysr
2025-04-23 22:58:47 +00:00
Alexander Zvegintsev
4873eec06f 8354554: Open source several clipboard tests batch1
Reviewed-by: serb, prr
2025-04-23 22:57:42 +00:00
Harshitha Onkar
3b7f43f95e 8355429: Open source ProgressMonitor test
Reviewed-by: azvegint
2025-04-23 22:41:31 +00:00
Alexey Semenyuk
669d4d6bfa 8355328: Improve negative tests coverage for jpackage signing
Reviewed-by: almatvee
2025-04-23 22:29:59 +00:00
Chen Liang
bd1c53e960 8354899: Reduce overhead associated with type switches
Reviewed-by: asotona
2025-04-23 21:40:50 +00:00
Chen Liang
ffe6a4f9e1 8355335: Avoid pattern matching switches in core ClassFile API
Reviewed-by: asotona
2025-04-23 21:39:55 +00:00
Ioi Lam
88e0b00a46 8353298: AOT cache creation asserts with _array_klasses in an unregistered InstanceKlass
Reviewed-by: ccheung, kvn
2025-04-23 21:25:30 +00:00
Ioi Lam
adcaf01b4f 8355237: Upstream AOT test cases from Leyden repo to mainline
Reviewed-by: ccheung, kvn, lmesnik, shade
2025-04-23 20:19:02 +00:00
Alexey Ivanov
bf8a881f02 8352733: Improve RotFontBoundsTest test
Use PassFailJFrame framework for creating manual test UI.

Provide check boxes for each degree of rotation which allow
hiding and showing the specified rotation.
Provide 'Select All' and 'Clear All' buttons.
Display Java version at the bottom of the test.

Reviewed-by: prr, azvegint, abhiscxk, honkar
2025-04-23 18:47:11 +00:00
Sergey Kuksenko
35716647b5 8353478: Update crypto microbenchmarks to cover ML-DSA, ML-KEM, and HSS algorithms
Reviewed-by: ecaspole
2025-04-23 17:03:37 +00:00
Justin Lu
ac41bc31c9 8354343: Hardening of Currency tests for not yet defined future ISO 4217 currency
Reviewed-by: naoto
2025-04-23 16:52:42 +00:00
Sangheon Kim
8bd5645218 8346568: G1: Other time can be negative
Reviewed-by: tschatzl, iwalulya
2025-04-23 16:37:07 +00:00
Leonid Mesnik
2ec61f0f34 8353214: Add testing with --enable-preview
Reviewed-by: erikj
2025-04-23 16:13:23 +00:00
Naoto Sato
f097aa90c9 8355215: Add @spec tags to Emoji related methods
Reviewed-by: joehw, iris, jlu
2025-04-23 16:07:36 +00:00
Leonid Mesnik
1a72febc97 8355228: Improve runtime/CompressedOops/CompressedClassPointersEncodingScheme.java to support JDK build with -XX:+UseCompactObjectHeaders
Reviewed-by: syan, stuefe, coleenp
2025-04-23 16:04:40 +00:00
Phil Race
32a597b36f 8355333: Some Problem list entries point to non-existent / wrong files
Reviewed-by: serb
2025-04-23 15:44:56 +00:00
Jiangli Zhou
12c3a231e6 8354898: jdk/internal/loader/NativeLibraries/Main.java fails on static JDK
Reviewed-by: jpai
2025-04-23 14:55:15 +00:00
Jaikiran Pai
6befc18974 8355278: Improve debuggability of com/sun/jndi/ldap/LdapPoolTimeoutTest.java test
Reviewed-by: aefimov
2025-04-23 14:23:38 +00:00
Stefan Karlsson
023f30bcaa 8355394: ZGC: Windows compile error in ZUtils
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: aboldtch, tschatzl
2025-04-23 14:10:04 +00:00
Stefan Karlsson
e8a1a6462d 8355401: Remove unused HWperKB
Reviewed-by: ayang, tschatzl
2025-04-23 14:08:20 +00:00
Jan Lahoda
3c7f78c066 8341833: incomplete snippet from loaded files from command line is ignored
Reviewed-by: liach, asotona
2025-04-23 13:26:22 +00:00
Archie Cobbs
a372937d84 8350983: JShell LocalExecutionControl only needs stopCheck() on backward branches
Reviewed-by: jlahoda, liach, asotona
2025-04-23 13:22:57 +00:00
Shaojin Wen
c873837da6 8355300: Add final to BitSieve
Reviewed-by: liach, pminborg
2025-04-23 13:01:42 +00:00
Robert Toyonaga
44c5aca54d 8341491: Reserve and commit memory operations should be protected by NMT lock
Reviewed-by: stuefe, stefank
2025-04-23 11:53:09 +00:00
Erik Gahlin
ef0cd1823d 8354949: JFR: Split up the EventInstrumentation class
Reviewed-by: mgronlun, liach
2025-04-23 11:48:48 +00:00
Albert Mingkun Yang
82c249446f 8354228: Parallel: Set correct minimum of InitialSurvivorRatio
Reviewed-by: tschatzl, gli
2025-04-23 10:40:45 +00:00
Stefan Karlsson
e76f20301c 8354309: Sort GC includes
Reviewed-by: eosterlund, iwalulya, kbarrett
2025-04-23 10:13:26 +00:00
Tobias Hartmann
c2e90bcc80 8355363: [BACKOUT] 8354668: Missing REX2 prefix accounting in ZGC barriers leads to incorrect encoding
Reviewed-by: chagedorn
2025-04-23 08:21:07 +00:00
Fredrik Bredberg
263983d0fb 8298733: Reconsider monitors_on_stack assert
Reviewed-by: pchilanomate, coleenp
2025-04-23 08:04:57 +00:00
Andrey Turbanov
27faf45422 8354826: Make ResolverConfigurationImpl.lock field final
Reviewed-by: dfuchs, jpai
2025-04-23 06:22:30 +00:00
Daniel Jeliński
9a2b425b13 8354920: SA core file support on Linux only prints error messages when debug logging is enabled
Reviewed-by: cjplummer, kevinw
2025-04-23 05:17:41 +00:00
Prasanta Sadhukhan
8c89fb9535 8355179: Reinstate javax/swing/JScrollBar/4865918/bug4865918.java headful and macos run
Reviewed-by: abhiscxk, serb
2025-04-23 03:40:26 +00:00
Shaojin Wen
bc518a6cbb 8355240: Remove unused Import in StringUTF16
Reviewed-by: rgiulietti
2025-04-23 02:32:36 +00:00
Fei Yang
a8c6ff161c 8355239: RISC-V: Do not support subword scatter store
Reviewed-by: mli, fjiang
2025-04-23 02:10:25 +00:00
Jatin Bhateja
4c373703d9 8354668: Missing REX2 prefix accounting in ZGC barriers leads to incorrect encoding
Reviewed-by: aboldtch, sviswanathan
2025-04-23 02:04:46 +00:00
Damon Nguyen
5392488232 8355332: Fix failing semi-manual test EDT issue
Reviewed-by: azvegint
2025-04-23 00:13:09 +00:00
Chris Plummer
b7e8952ad6 8355071: Fix nsk/jdi test to not require lookup of main thread in order to set the breakpoint used for communication
Reviewed-by: lmesnik, amenkov
2025-04-22 23:21:26 +00:00
Damon Nguyen
cc9148ddef 8354695: Open source several swing tests batch7
Reviewed-by: kizune, achung
2025-04-22 20:27:17 +00:00
Alexander Zuev
1b8f760d1b 8354928: Clean up and open source some miscellaneous AWT tests
Reviewed-by: prr, dnguyen
2025-04-22 20:17:01 +00:00
Eric Caspole
239760ac09 8355233: Add a DMB related benchmark
Reviewed-by: kvn
2025-04-22 19:59:41 +00:00
Alisen Chung
d61765f64d 8353488: Open some JComboBox bugs 3
Reviewed-by: kizune
2025-04-22 17:56:04 +00:00
Harshitha Onkar
486a66469b 8353486: Open source Swing Tests - Set 4
Reviewed-by: azvegint, dnguyen, tr
2025-04-22 17:49:52 +00:00
Alexander Zvegintsev
f98af0ad61 8354701: Open source few JToolTip tests
Reviewed-by: honkar
2025-04-22 17:31:31 +00:00
Ioi Lam
e020752ea4 8354484: SIGSEGV when supertype of an AOT-cached class is excluded
Reviewed-by: ccheung, shade
2025-04-22 16:55:11 +00:00
Jamil Nimeh
594b26516e 8350126: Regression ~3% on Crypto-ChaCha20Poly1305.encrypt for MacOSX aarch64
Reviewed-by: aph
2025-04-22 16:49:29 +00:00
Boris Ulasevich
d783a94098 8332368: ubsan aarch64: immediate_aarch64.cpp:298:31: runtime error: shift exponent 32 is too large for 32-bit type 'int'
Reviewed-by: adinn
2025-04-22 16:46:44 +00:00
Tejesh R
6a31061339 8354248: Open source several AWT GridBagLayout and List tests
Reviewed-by: abhiscxk
2025-04-22 16:11:55 +00:00
Alisen Chung
1889dacb19 8353007: Open some JComboBox bugs 2
Reviewed-by: kizune, honkar
2025-04-22 16:01:34 +00:00
Sergey Bylokhov
477da161e6 8352638: Enhance code consistency: java.desktop/windows
Reviewed-by: prr
2025-04-22 15:50:58 +00:00
Alexander Zvegintsev
a4c5ed8144 8354561: Open source several swing tests batch0
Reviewed-by: prr, psadhukhan
2025-04-22 15:46:04 +00:00
Alisen Chung
da16c83973 8354466: Open some misc Swing bugs 9
Reviewed-by: kizune, honkar
2025-04-22 15:26:59 +00:00
Per Minborg
072b8273a4 8354300: Mark String.hash field @Stable
Reviewed-by: liach, shade, vlivanov
2025-04-22 15:10:26 +00:00
Martin Balao
5264d80bea 8350661: PKCS11 HKDF throws ProviderException when requesting a 31-byte AES key
Reviewed-by: fferrari, valeriep, djelinski
2025-04-22 14:37:10 +00:00
Stefan Karlsson
f2587d9bd2 8354938: ZGC: Disable UseNUMA when ZFakeNUMA is used
Reviewed-by: aboldtch, jsikstro
2025-04-22 11:48:46 +00:00
Stefan Karlsson
0f1c448ca1 8354922: ZGC: Use MAP_FIXED_NOREPLACE when reserving memory
Reviewed-by: aboldtch, eosterlund
2025-04-22 11:23:40 +00:00
Alisen Chung
9eeb86d972 8354341: Open some JTable bugs 7
Reviewed-by: kizune, serb
2025-04-22 08:58:42 +00:00
Ivan Šipka
7cd084cf35 8350442: Update copyright
Reviewed-by: naoto, jlu
2025-04-22 08:46:52 +00:00
Hamlin Li
bcc33d5ef3 8352504: RISC-V: implement and enable CMoveI/L
8346786: RISC-V: Reconsider ConditionalMoveLimit when adding conditional move

Reviewed-by: fyang, fjiang
2025-04-22 08:32:03 +00:00
Stefan Johansson
50358d1ca4 8354929: ZGC: Update collection stats while holding page allocator lock
Reviewed-by: stefank, tschatzl, aboldtch
2025-04-22 08:00:01 +00:00
Tejesh R
367bcc5df8 8353445: Open source several AWT Menu tests - Batch 1
Reviewed-by: abhiscxk, prr
2025-04-22 07:59:45 +00:00
Alisen Chung
7eab2d9f91 8354095: Open some JTable bugs 5
Reviewed-by: kizune, honkar
2025-04-22 07:58:30 +00:00
Alisen Chung
0b2a2f38d0 8353685: Open some JComboBox bugs 4
Reviewed-by: honkar, kizune
2025-04-22 07:45:56 +00:00
Tejesh R
17b080b2c9 8353446: Open source several AWT Menu tests - Batch 2
Reviewed-by: abhiscxk
2025-04-22 07:44:44 +00:00
Doug Simon
2f7806ffe5 8355034: [JVMCI] assert(static_cast<int>(_jvmci_data_size) == align_up(compiler->is_jvmci() ? jvmci_data->size() : 0, oopSize)) failed: failed: 104 != 16777320
Reviewed-by: never, yzheng, cslucas
2025-04-22 07:07:31 +00:00
Alisen Chung
a55ccd267c 8352905: Open some JComboBox bugs 1
Reviewed-by: honkar, psadhukhan
2025-04-22 07:04:26 +00:00
Abhishek Kumar
33bdc807b1 8355241: Move NativeDialogToFrontBackTest.java PL test to manual category
Reviewed-by: psadhukhan
2025-04-22 06:51:18 +00:00
Tejesh R
d1d7d2569c 8353957: Open source several AWT ScrollPane tests - Batch 1
Reviewed-by: psadhukhan
2025-04-22 06:23:24 +00:00
Tejesh R
e2cb64674f 8343977: Convert java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest to main
Reviewed-by: prr, achung
2025-04-22 05:56:07 +00:00
Chen Liang
0be3f163ed 8341608: jdeps in JDK 23 crashes when parsing signatures while jdeps in JDK 22 works fine
Reviewed-by: jpai, henryjen
2025-04-22 03:29:59 +00:00
Tejesh R
f880fa91dc 8352793: Open source several AWT TextComponent tests - Batch 1
Reviewed-by: prr, serb
2025-04-22 03:09:45 +00:00
Alisen Chung
ade67df0f3 8354233: Open some JTable bugs 6
Reviewed-by: kizune
2025-04-22 01:04:48 +00:00
Alisen Chung
7a72f0fac9 8354465: Open some JTable bugs 8
Reviewed-by: serb, kizune
2025-04-22 01:03:45 +00:00
Alexey Semenyuk
47f78a7529 8354990: Improve negative tests coverage for jpackage signing
8354989: Bug in MacCertificate class

Reviewed-by: almatvee
2025-04-22 00:27:25 +00:00
Harshitha Onkar
9a0cff692d 8353942: Open source Swing Tests - Set 5
Reviewed-by: serb, dnguyen
2025-04-21 23:11:03 +00:00
Harshitha Onkar
f7155183d7 8353011: Open source Swing JButton tests - Set 1
Reviewed-by: serb
2025-04-21 22:35:17 +00:00
Justin Lu
1526dd81d9 8354344: Test behavior after cut-over for future ISO 4217 currency
Reviewed-by: naoto
2025-04-21 20:24:20 +00:00
Alexander Zuev
8270cd0ad2 8353470: Clean up and open source couple AWT Graphics related tests (Part 2)
Reviewed-by: serb
2025-04-21 20:23:15 +00:00
Alexander Zuev
a7128d86ea 8354653: Clean up and open source KeyEvent related tests (Part 4)
Reviewed-by: serb
2025-04-21 20:19:45 +00:00
Joe Wang
684d3b336e 8354774: DocumentBuilderFactory getAttribute throws NPE
Reviewed-by: naoto, lancea
2025-04-21 18:25:59 +00:00
Roman Kennke
ecb54a05c6 8354523: runtime/Monitor/SyncOnValueBasedClassTest.java triggers SIGSEGV
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Co-authored-by: Fei Yang <fyang@openjdk.org>
Co-authored-by: Amit Kumar <amitkumar@openjdk.org>
Reviewed-by: coleenp, aboldtch
2025-04-21 17:43:09 +00:00
Alexander Zuev
cd2d49f711 8354472: Clean up and open source KeyEvent related tests (Part 3)
Reviewed-by: honkar
2025-04-21 17:37:58 +00:00
Emanuel Peter
4dd64b4971 8354477: C2 SuperWord: make use of memory edges more explicit
Reviewed-by: kvn, roland
2025-04-21 11:41:45 +00:00
Liming Liu
128f2d1cad 8354572: Turn off AlwaysMergeDMB for Ampere CPU by default
Reviewed-by: shade
2025-04-19 10:02:13 +00:00
Sergey Bylokhov
c7c77eb6aa 8354077: Get rid of offscreenSharingEnabled windows flag
Reviewed-by: prr
2025-04-19 07:48:54 +00:00
Alexey Bakhtin
4f58af0a8d 8259540: MissingResourceException for key cvc-complex-type.2.4.d.1
Reviewed-by: joehw
2025-04-19 00:30:37 +00:00
Harshitha Onkar
bd73127d74 8354532: Open source JFileChooser Tests - Set 7
Reviewed-by: prr
2025-04-18 23:29:53 +00:00
Harshitha Onkar
76dec47f00 8354340: Open source Swing Tests - Set 6
Reviewed-by: azvegint, achung
2025-04-18 21:35:17 +00:00
Damon Nguyen
38f9b3a973 8353748: Open source several swing tests batch6
Reviewed-by: kizune
2025-04-18 21:11:41 +00:00
Harshitha Onkar
bf63f9ffa5 8353319: Open source Swing tests - Set 3
Reviewed-by: abhiscxk, dnguyen
2025-04-18 20:58:21 +00:00
Harshitha Onkar
abbf1a02cb 8355051: Problemlist java/awt/Graphics2D/CopyAreaOOB.java on macosx-aarch64
Reviewed-by: prr, aivanov
2025-04-18 19:38:09 +00:00
Abhishek Kumar
f8f1be3de5 8353552: Opensource Several Font related tests - Batch 3
8355048: ProblemList TestGlyphVectorLayout.java on all platforms

Reviewed-by: serb, aivanov
2025-04-18 18:50:08 +00:00
Damon Nguyen
924638c471 8353661: Open source several swing tests batch5
Reviewed-by: jdv
2025-04-18 17:08:46 +00:00
Damon Nguyen
a551cc9294 8353293: Open source several swing tests batch4
Reviewed-by: serb
2025-04-18 17:07:16 +00:00
Phil Race
bb08a70bd8 8355002: Clean up some mentions of "applet" in tests
Reviewed-by: serb
2025-04-18 17:01:42 +00:00
Alexey Semenyuk
22e8a97a1c 8354988: Separate stderr and stdout in Executor class from jpackage test lib
Reviewed-by: almatvee
2025-04-18 12:12:52 +00:00
Jayathirth D V
eda7394551 8354900: javax/swing/AbstractButton/bug4133768.java failing on macosx-aarch64
Reviewed-by: abhiscxk
2025-04-18 12:05:01 +00:00
Ivan Šipka
0feecb7c6a 8351851: Update PmemTest to run on AMD64
Reviewed-by: adinn
2025-04-18 10:44:29 +00:00
Anjian-Wen
0995b9409d 8354815: RISC-V: Change type of bitwise rotation shift to iRegIorL2I
Reviewed-by: fyang, fjiang
2025-04-18 02:20:39 +00:00
Alexey Semenyuk
38f138bc22 8354985: Add unit tests for Executor class from jpackage test lib
Reviewed-by: almatvee
2025-04-17 23:37:45 +00:00
Alexander Zuev
ad7c475fb1 8353655: Clean up and open source KeyEvent related tests (Part 1)
Reviewed-by: abhiscxk
2025-04-17 19:53:45 +00:00
Andrey Turbanov
1b4b317aac 8354789: Unnecessary null check in sun.awt.windows.WToolkit.getFontPeer
Reviewed-by: aivanov, tr
2025-04-17 19:19:26 +00:00
Stuart Marks
7b0618859a 8354464: Additional cleanup setting up native.encoding
Reviewed-by: naoto, alanb
2025-04-17 18:31:10 +00:00
Cesar Soares Lucas
4eae9b5ba6 8354541: Remove Shenandoah post barrier expand loop opts
Reviewed-by: shade
2025-04-17 17:40:38 +00:00
Phil Race
31e293b082 8354552: Open source a few Swing tests
Reviewed-by: dnguyen, psadhukhan
2025-04-17 16:32:46 +00:00
Phil Race
3e3dff6767 8354451: Open source some more Swing popup menu tests
Reviewed-by: jdv, kizune
2025-04-17 16:31:24 +00:00
Alexander Zuev
e163a76f2b 8354106: Clean up and open source KeyEvent related tests (Part 2)
Reviewed-by: abhiscxk, prr
2025-04-17 16:26:36 +00:00
Johannes Graham
04c32fc08a 8354522: Clones of DecimalFormat cause interferences when used concurrently
Reviewed-by: jlu, naoto
2025-04-17 16:22:00 +00:00
Alexander Zuev
5660922568 8353070: Clean up and open source couple AWT Graphics related tests (Part 1)
Reviewed-by: serb
2025-04-17 16:20:35 +00:00
Damon Nguyen
e639cd6a77 8353213: Open source several swing tests batch3
Reviewed-by: prr
2025-04-17 16:18:56 +00:00
Chris Plummer
d1d81dd01c 8353953: con/sun/jdi tests should be fixed to not always require includevirtualthreads=y
Reviewed-by: sspitsyn, amenkov
2025-04-17 15:37:05 +00:00
Ferenc Rakoczi
cd8adf13ed 8354926: Remove remnants of debugging in the fix for JDK-8348561 and JDK-8349721
Reviewed-by: adinn
2025-04-17 14:01:46 +00:00
Saint Wesonga
86f3eafade 8353009: Improve documentation for Windows AArch64 builds
Reviewed-by: erikj, ihse
2025-04-17 13:59:44 +00:00
Artur Barashev
abb23828f9 8350807: Certificates using MD5 algorithm that are disabled by default are incorrectly allowed in TLSv1.3 when re-enabled
Reviewed-by: mullan
2025-04-17 13:45:47 +00:00
Jayathirth D V
dda4b5a4ad 8354418: Open source Swing tests Batch 4
Reviewed-by: abhiscxk
2025-04-17 13:36:05 +00:00
Abhishek Kumar
e21387e045 8354365: Opensource few Modal and Full Screen related tests
Reviewed-by: jdv, tr
2025-04-17 13:08:49 +00:00
Jayathirth D V
4c99489420 8354285: Open source Swing tests Batch 3
Reviewed-by: abhiscxk
2025-04-17 13:07:19 +00:00
Abhishek Kumar
e9c8986a65 8354493: Opensource Several MultiScreen and Insets related tests
Reviewed-by: psadhukhan, tr
2025-04-17 12:31:30 +00:00
SendaoYan
9502ab0bf5 8354766: Test TestUnexported.java javac build fails
Reviewed-by: nbenalla, jpai
2025-04-17 12:26:15 +00:00
Coleen Phillimore
5125ceb922 8349405: Redundant and confusing null checks on data from CP::resolved_klasses
Reviewed-by: dholmes, iklam
2025-04-17 11:47:21 +00:00
Marc Chevalier
1138a186eb 8344251: C2: remove blackholes with dead control input
Reviewed-by: shade, thartmann, kvn
2025-04-17 07:24:14 +00:00
Marc Chevalier
fabf67c376 8354625: Compile::igv_print_graph_to_network doesn't use its second parameter
Reviewed-by: rcastanedalo, thartmann
2025-04-17 07:21:34 +00:00
Maxim Kartashev
a4e9da3747 8354191: GTK LaF should use pre-multiplied alpha same as cairo
Reviewed-by: avu, prr
2025-04-17 06:59:01 +00:00
Tejesh R
e00355a036 8353958: Open source several AWT ScrollPane tests - Batch 2
Reviewed-by: prr, psadhukhan
2025-04-17 06:40:54 +00:00
Tejesh R
3d0feba00a 8352865: Open source several AWT TextComponent tests - Batch 2
Reviewed-by: prr, serb, jdv
2025-04-17 06:39:50 +00:00
Matthias Baesken
af7a19a8cf 8354802: MAX_SECS definition is unused in os_linux
Reviewed-by: kbarrett, dholmes
2025-04-17 06:34:43 +00:00
Cesar Soares Lucas
055b750d99 8354543: Set more meaningful names for "get_vm_result" and "get_vm_result_2"
Reviewed-by: shade, coleenp
2025-04-17 06:08:36 +00:00
Ioi Lam
a71f621a32 8353694: Resolved Class/Field/Method CP entries missing from AOT Configuration
Reviewed-by: shade, vlivanov
2025-04-17 03:10:58 +00:00
Anjian-Wen
07aad68c17 8329887: RISC-V: C2: Support Zvbb Vector And-Not instruction
Reviewed-by: fyang, fjiang
2025-04-17 02:16:24 +00:00
Leonid Mesnik
db2dffb6e5 8354559: gc/g1/TestAllocationFailure.java doesn't need WB API
Reviewed-by: ayang, kbarrett
2025-04-16 23:04:37 +00:00
Erik Gahlin
a2d7f441b8 8295651: JFR: 'jfr scrub' should summarize what was removed
Reviewed-by: mgronlun
2025-04-16 20:11:26 +00:00
Volodymyr Paprotski
0c34bf0476 8354471: Assertion failure with -XX:-EnableX86ECoreOpts
Reviewed-by: sviswanathan, jbhateja
2025-04-16 19:57:42 +00:00
Phil Race
98dac46aac 8353589: Open source a few Swing menu-related tests
Reviewed-by: jdv, honkar
2025-04-16 18:05:07 +00:00
Ioi Lam
e433fa2719 8352001: AOT cache should not contain classes injected into built-in class loaders
Reviewed-by: ccheung, matsaave
2025-04-16 17:52:53 +00:00
Damon Nguyen
d80db00f82 8354873: javax/swing/plaf/metal/MetalIconFactory/bug4952462.java failing on CI
Reviewed-by: honkar
2025-04-16 17:19:47 +00:00
Mikael Vidstedt
7a107e2fc4 8351603: Change to GCC 14.2.0 for building on Linux at Oracle
8344272: gcc devkit doesn't have lto-plugin where needed

Reviewed-by: ihse, erikj
2025-04-16 16:28:12 +00:00
Rohitash Kumar
84458ec18c 8353013: java.net.URI.create(String) may have low performance to scan the host/domain name from URI string when the hostname starts with number
Reviewed-by: michaelm, xpeng
2025-04-16 16:08:31 +00:00
KIRIYAMA Takuya
c3de94cee1 8352942: jdk/jfr/startupargs/TestMemoryOptions.java fails with 32-bit build
Reviewed-by: phh
2025-04-16 15:42:40 +00:00
Ferenc Rakoczi
465c8e6583 8349721: Add aarch64 intrinsics for ML-KEM
Reviewed-by: adinn
2025-04-16 12:35:24 +00:00
Jan Lahoda
1ad869f844 8322706: AnnotationTypeMismatchException in javac with annotation processing
Reviewed-by: vromero
2025-04-16 11:43:42 +00:00
Johan Sjölen
7ffad35dac 8352568: Test gtest/AsyncLogGtest.java failed at droppingMessage_vm
Reviewed-by: mbaesken, dholmes
2025-04-16 11:32:47 +00:00
Jaikiran Pai
c6243fc27f Merge
Reviewed-by: dfuchs
2025-04-16 11:26:59 +00:00
Robbin Ehn
fe3bd5d62f 8354667: [TESTBUG] AccessZeroNKlassHitsProtectionZone cds tests require cds
Reviewed-by: lmesnik, syan
2025-04-16 09:56:39 +00:00
Abhishek Kumar
8c6b611f35 8353832: Opensource FontClass, Selection and Icon tests
Reviewed-by: jdv
2025-04-16 09:52:53 +00:00
Jan Lahoda
cfbbcd78bc 8350595: jshell <TAB> completion on arrays does not work for clone()
Reviewed-by: asotona
2025-04-16 09:23:15 +00:00
Jaikiran Pai
4c3c2b32a1 8354576: InetAddress.getLocalHost() on macos may return address of an interface which is not UP - leading to "Network is down" error
Reviewed-by: alanb, dfuchs, vyazici
2025-04-16 08:35:05 +00:00
Severin Gehwolf
18d605fadb 8354629: Test tools/jlink/ClassFileInMetaInfo.java fails on builds with configure option --enable-linkable-runtime
Reviewed-by: alanb
2025-04-16 08:23:03 +00:00
Artur Barashev
ed30fce6df 8347847: Enhance jar file support
Reviewed-by: rhalade, jnibedita, pkumaraswamy, ahgross, hchao, weijun, mullan
2025-04-16 13:05:32 +05:30
Damon Fenacci
38afa4d42f 8338430: Improve compiler transformations
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: ahgross, rhalade, thartmann, epeter
2025-04-16 13:05:32 +05:30
Jamil Nimeh
e91b3f0c3d 8337692: Better TLS connection support
Co-authored-by: Ferenc Rakoczi <ferenc.r.rakoczi@oracle.com>
Reviewed-by: rhalade, valeriep, pkumaraswamy, mpowers, ahgross, mbalao
2025-04-16 13:05:32 +05:30
Hai-May Chao
ef38a04b44 8337494: Clarify JarInputStream behavior
Reviewed-by: jpai, rhalade, lancea
2025-04-16 13:05:32 +05:30
Jaikiran Pai
cf871db447 8342562: Enhance Deflater operations
Reviewed-by: rhalade, alanb, lancea
2025-04-16 13:05:32 +05:30
Prasanta Sadhukhan
43b2b0bd1e 8343007: Enhance Buffered Image handling
Reviewed-by: rhalade, mschoene, jdv, prr
2025-04-16 13:05:32 +05:30
Aleksey Shipilev
9a5c7b3fa9 8351162: Clean up x86 (Macro)Assembler after 32-bit x86 removal
Reviewed-by: kvn, coleenp
2025-04-16 05:54:21 +00:00
Jayathirth D V
2be5bc847a 8354214: Open source Swing tests Batch 2
Reviewed-by: abhiscxk, honkar
2025-04-16 04:48:25 +00:00
Prasanta Sadhukhan
55afcb57a5 8352682: Opensource JComponent tests
Reviewed-by: jdv, honkar
2025-04-16 03:58:17 +00:00
Jaikiran Pai
5526490743 8354565: jtreg failure handler GatherProcessInfoTimeoutHandler has a leftover call to System.loadLibrary
Reviewed-by: alanb, kbarrett
2025-04-16 01:57:57 +00:00
Damon Nguyen
a2dc9c71e4 8352908: Open source several swing tests batch1
Reviewed-by: honkar
2025-04-15 23:48:27 +00:00
Srinivas Vamsi Parasa
513c4650c5 8354544: Fix bugs in increment and xor APX codegen
Reviewed-by: thartmann, jbhateja
2025-04-15 21:25:06 +00:00
Damon Nguyen
4e3f1848ee 8353000: Open source several swing tests batch2
Reviewed-by: azvegint
2025-04-15 19:36:10 +00:00
Aleksey Shipilev
cec48ed270 8354542: Clean up x86 stubs after 32-bit x86 removal
Reviewed-by: adinn, kvn
2025-04-15 16:19:03 +00:00
Alexey Semenyuk
fc1464727f 8354320: Changes to jpackage.md cause pandoc warning
Reviewed-by: almatvee, ihse, alanb
2025-04-15 16:06:12 +00:00
Matthias Baesken
36864a2a08 8351491: Add info from release file to hserr file
Reviewed-by: dholmes, lucy
2025-04-15 11:55:47 +00:00
Coleen Phillimore
273a9a6155 8354448: [REDO] Remove friends for ObjectMonitor
Reviewed-by: kbarrett, shade, dholmes
2025-04-15 11:49:58 +00:00
Volkan Yazici
5fc18f5b8a 8350279: HttpClient: Add a new HttpResponse method to identify connections
Reviewed-by: dfuchs, jpai
2025-04-15 11:41:47 +00:00
Patrick Strawderman
03fd43fc91 8353453: URLDecoder should use HexFormat
Reviewed-by: rriggs, jpai
2025-04-15 11:26:36 +00:00
Severin Gehwolf
4e24dc003c 8353185: Introduce the concept of upgradeable files in context of JEP 493
Reviewed-by: clanger, ihse, alanb
2025-04-15 10:16:31 +00:00
Erik Gahlin
d7676c39b6 8354508: JFR: Strengthen metadata checks for labels
Reviewed-by: shade
2025-04-15 09:48:11 +00:00
Matthias Baesken
81d4c80742 8354507: [ubsan] subnode.cpp:406:36: runtime error: negation of -9223372036854775808 cannot be represented in type 'long int'
Reviewed-by: mdoerr, thartmann
2025-04-15 09:02:41 +00:00
Daniel Lundén
24be888d65 8351833: Unexpected increase in live nodes when splitting Phis through MergeMems in PhiNode::Ideal
Reviewed-by: chagedorn, rcastanedalo, kvn
2025-04-15 08:58:02 +00:00
Jayathirth D V
b78378437c 8354163: Open source Swing tests Batch 1
Reviewed-by: psadhukhan
2025-04-15 08:41:37 +00:00
Aleksey Shipilev
3090e2187c 8353572: x86: AMD platforms miss the check for CLWB feature flag
Reviewed-by: vlivanov, kvn
2025-04-15 06:03:50 +00:00
Axel Boldt-Christmas
76ff97811a 8354510: Skipped gtest cause test failure
Reviewed-by: rehn, erikj
2025-04-15 05:11:40 +00:00
Dr Heinz M. Kabutz
c7b70a138f 8354111: JavaDoc states that Iterator.remove() is linear in the LinkedBlockingDeque
Reviewed-by: liach, smarks
2025-04-15 02:48:32 +00:00
David Holmes
92e52fe1df 8353946: Incorrect WINDOWS ifdef in os::build_agent_function_name
Reviewed-by: kbarrett
2025-04-15 02:00:49 +00:00
Alexander Zvegintsev
5280b7b031 8353592: Open source several scrollbar tests
Reviewed-by: psadhukhan, honkar
2025-04-14 22:07:26 +00:00
Daniel Fuchs
9e7763d442 8354536: Problem-list java/util/logging/LoggingDeadlock5.java due to JDK-8354424
Reviewed-by: smarks
2025-04-14 19:27:16 +00:00
Volkan Yazici
f6d8c8cb0c 8351339: WebSocket::sendBinary assume that user supplied buffers are BIG_ENDIAN
Reviewed-by: michaelm, dfuchs
2025-04-14 19:16:17 +00:00
Gerard Ziemski
0da480a91d 8354535: [BACKOUT] Force clients to explicitly pass mem_tag value, even if it is mtNone
Reviewed-by: stefank, jsjolen
2025-04-14 18:47:59 +00:00
Andrej Pecimuth
de0e648844 8352724: Verify bounds for primitive array reads in JVMCI
Reviewed-by: dnsimon
2025-04-14 18:31:27 +00:00
Phil Race
46a6fc84ef 8353483: Open source some JProgressBar tests
Reviewed-by: honkar, serb
2025-04-14 16:58:06 +00:00
Vladimir Ivanov
d684867066 8346230: [perf] scalability issue for the specjvm2008::xml.transform workload
Reviewed-by: joehw, jbhateja
2025-04-14 16:55:37 +00:00
Gerard Ziemski
43b194741c 8344883: Force clients to explicitly pass mem_tag value, even if it is mtNone
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Reviewed-by: stefank, jsjolen
2025-04-14 16:22:07 +00:00
Naoto Sato
d748bb5cbb 8343157: Examine large files for character encoding/decoding
Reviewed-by: alanb
2025-04-14 16:09:35 +00:00
David Beaumont
313c34ae56 8354513: Bug in j.u.l.Handler deadlock test allows null pointer during race condition
Reviewed-by: dfuchs
2025-04-14 15:58:43 +00:00
Sean Mullan
16657dba99 8354449: Remove com/sun/org/apache/xml/internal/security/resource/xmlsecurity_de.properties
Reviewed-by: weijun, ihse
2025-04-14 14:44:11 +00:00
Axel Boldt-Christmas
97e1075739 8354358: ZGC: ZPartition::prime handle discontiguous reservations correctly
Reviewed-by: stefank, jsikstro, eosterlund
2025-04-14 13:28:49 +00:00
Roberto Castañeda Lozano
51ce312001 8348645: IGV: visualize live ranges
Reviewed-by: thartmann, dfenacci
2025-04-14 12:07:13 +00:00
Matthias Baesken
f8ae1d4e6c 8354254: Remove the linux ppc64 -minsert-sched-nops=regroup_exact compile flag
Reviewed-by: erikj, mdoerr
2025-04-14 08:52:33 +00:00
Radim Vansa
f169fc5a99 8353175: Eliminate double iteration of stream in FieldDescriptor reinitialization
Reviewed-by: jsjolen, shade, fparain
2025-04-14 08:18:59 +00:00
Matthias Baesken
cf27a42d92 8354426: [ubsan] applying non-zero offset 34359738368 to null pointer in CompressedKlassPointers::encoding_range_end
Reviewed-by: mdoerr, jkern
2025-04-14 08:12:08 +00:00
Aleksey Shipilev
44245f33cd 8354215: Clean up Loom support after 32-bit x86 removal
Reviewed-by: coleenp, pchilanomate
2025-04-14 06:56:29 +00:00
Joel Sikström
337dacdd3f 8354310: JFR: Inconsistent metadata in ZPageAllocation
Reviewed-by: egahlin, stefank, eosterlund
2025-04-14 06:36:47 +00:00
Aleksey Shipilev
2595c47b57 8354231: x86: Purge FPU support from (Macro)Assembler after 32-bit x86 removal
Reviewed-by: coleenp, kvn, vlivanov
2025-04-14 06:16:17 +00:00
Abhishek Kumar
b539fb0bc1 8352877: Opensource Several Font related tests - Batch 1
Reviewed-by: aivanov, serb
2025-04-14 05:27:24 +00:00
Hannes Wallnöfer
5d97608970 8254622: Hide superclasses from conditionally exported packages
Reviewed-by: kcr, liach
2025-04-13 10:08:39 +00:00
Sergey Bylokhov
ed756b9700 8352922: Refactor client classes javadoc to use @throws instead of @exception
Reviewed-by: prr
2025-04-12 23:36:27 +00:00
Serguei Spitsyn
04ad59de76 8316397: StackTrace/Suspended/GetStackTraceSuspendedStressTest.java failed with: SingleStep event is NOT expected
Reviewed-by: dholmes, pchilanomate
2025-04-12 07:20:19 +00:00
Thomas Stuefe
034c0d4de5 8350753: Deprecate UseCompressedClassPointers
Reviewed-by: coleenp, dholmes
2025-04-12 05:58:39 +00:00
William Kemper
e8bcedb09b 8354452: Shenandoah: Enforce range checks on parameters controlling heuristic sleep times
Reviewed-by: ysr
2025-04-11 21:25:09 +00:00
Coleen Phillimore
d14e84c03b 8354446: [BACKOUT] Remove friends for ObjectMonitor
Reviewed-by: pchilanomate
2025-04-11 19:59:52 +00:00
Erik Gahlin
1d7138fe02 8353614: JFR: jfr print --exact
Reviewed-by: mgronlun
2025-04-11 15:12:54 +00:00
Archie Cobbs
e604bb9e94 8352731: Compiler workaround to forcibly set "-Xlint:-options" can be removed
Reviewed-by: mcimadamore
2025-04-11 13:29:32 +00:00
Hannes Wallnöfer
2321722a45 8346109: Create JDK taglet for additional preview notes
Reviewed-by: ihse, liach, rriggs
2025-04-11 13:25:50 +00:00
Coleen Phillimore
9ead2b75ce 8354180: Clean up uses of ObjectMonitor caches
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: aboldtch, fbredberg
2025-04-11 13:12:16 +00:00
Eirik Bjørsnøs
cae7a206a2 8353662: Add test for non-local file URL fallback to FTP
Reviewed-by: dfuchs
2025-04-11 12:49:40 +00:00
Matthias Baesken
b5d2e25478 8354189: Remove JLI_ReportErrorMessageSys on Windows
Reviewed-by: alanb, mdoerr
2025-04-11 11:32:42 +00:00
Manuel Hässig
efb5a80e52 8353730: TestSubNodeFloatDoubleNegation.java fails with native Float16 support
Reviewed-by: chagedorn, thartmann
2025-04-11 11:29:56 +00:00
Jorn Vernee
8bb0ca4971 8353917: jnativescan: Simplify ClassResolver
Reviewed-by: mcimadamore
2025-04-11 11:15:32 +00:00
Coleen Phillimore
36069f6efa 8354234: Remove friends for ObjectMonitor
Reviewed-by: aboldtch, dholmes
2025-04-11 11:03:45 +00:00
Magnus Ihse Bursie
d4e194bc46 8354266: Fix non-UTF-8 text encoding
Reviewed-by: rgiulietti, erikj, naoto, eirbjo
2025-04-11 10:22:15 +00:00
Volkan Yazici
e1b677091e 8353949: HttpHeaders.firstValueAsLong unnecessarily boxes to Long
Reviewed-by: dfuchs, djelinski, michaelm
2025-04-11 09:06:11 +00:00
Evgeny Nikitin
1fc1cc5da9 8354255: [jittester] Remove TempDir debug output
Reviewed-by: chagedorn, thartmann
2025-04-11 08:15:01 +00:00
Aleksey Shipilev
cf0308b271 8351152: x86: Remove code blocks that handle UseSSE < 2
Reviewed-by: vlivanov, kvn
2025-04-11 07:10:41 +00:00
Alexander Zvegintsev
d8bed69373 8354317: [XWayland] Problem list two tests crashing XWayland server
Reviewed-by: serb, jdv
2025-04-11 06:09:39 +00:00
Prasanta Sadhukhan
f955a8cbd2 8352687: Opensource few JInternalFrame and JTextField tests
Reviewed-by: honkar
2025-04-11 03:53:29 +00:00
Thomas Fitzsimmons
4478a99e31 8354057: Odd debug output in -Xlog:os+container=debug on certain systems
Reviewed-by: sgehwolf, asmehra, lmesnik
2025-04-11 02:06:22 +00:00
Serguei Spitsyn
1c34f3cdb1 8352773: JVMTI should disable events during java upcalls
Reviewed-by: lmesnik, dholmes, cjplummer, coleenp
2025-04-11 01:25:55 +00:00
Chen Liang
7bb8b1768f 8347472: Correct Attribute traversal and writing for Code attributes
Reviewed-by: asotona
2025-04-11 00:18:23 +00:00
Stuart Marks
83c7d3bbe8 8351740: Clean up some code around initialization of encoding properties
Reviewed-by: naoto, alanb, rriggs
2025-04-10 21:43:14 +00:00
Michael McMahon
e35f67b908 8285888: Clarify that java.net.http.HttpClient do NOT support Digest authentication
Reviewed-by: jpai, dfuchs
2025-04-10 21:16:30 +00:00
Mikael Vidstedt
7382ea1a7e 8354230: Wrong boot jdk for alpine-linux-x64 in GHA
Reviewed-by: erikj, iris, djelinski, sgehwolf
2025-04-10 21:15:23 +00:00
Archie Cobbs
4890b74c04 8354216: Small cleanups relating to Log.DiagnosticHandler
Reviewed-by: mcimadamore
2025-04-10 20:33:11 +00:00
Calvin Cheung
7680f70ad6 8171508: Remove -Dsun.java.launcher.is_altjvm option
Reviewed-by: dholmes, stuefe
2025-04-10 19:57:30 +00:00
Harshitha Onkar
3131dd1d5c 8346465: Add a check in setData() to restrict the update of Built-In ICC_Profiles
Reviewed-by: aivanov, jdv, prr, serb
2025-04-10 19:55:29 +00:00
Roger Riggs
af5db51306 8353641: Deprecate core library permission classes for removal
Reviewed-by: mullan, iris
2025-04-10 19:19:31 +00:00
Jeremy Wood
60f3d60741 8351110: ImageIO.write for JPEG can write corrupt JPEG for certain thumbnail dimensions
Reviewed-by: aivanov, prr
2025-04-10 18:31:53 +00:00
Zihao Lin
dc249be247 8350462: MethodTypeForm.LF_INTERPRET can cache the MemberName instead
Reviewed-by: liach, jvernee
2025-04-10 17:21:51 +00:00
Archie Cobbs
799e5b33a1 8354071: Add LintCategory property indicating whether @SuppressWarnings is supported
Reviewed-by: mcimadamore
2025-04-10 17:06:44 +00:00
David Beaumont
36e11b6827 8353683: [REDO] j.u.l.Handler classes create deadlock risk via synchronized publish() method
Reviewed-by: smarks
2025-04-10 16:01:00 +00:00
Mikhail Yankelevich
0e223f1456 8349534: Refactor jdk/sun/security/krb5/runNameEquals.sh to java test
Co-authored-by: Weijun Wang <weijun@openjdk.org>
Reviewed-by: mullan
2025-04-10 15:30:44 +00:00
Alexander Zvegintsev
2ba80d2403 8353586: Open source several toolkit tests
Reviewed-by: dnguyen, psadhukhan
2025-04-10 15:20:23 +00:00
Archie Cobbs
e50af6db09 8354090: Refactor import warning suppression in Check.java
Reviewed-by: mcimadamore
2025-04-10 14:46:36 +00:00
fabioromano1
c4c3edfa96 8341402: BigDecimal's square root optimization
Reviewed-by: rgiulietti
2025-04-10 14:34:52 +00:00
Joel Sikström
7e69b98e05 8350441: ZGC: Overhaul Page Allocation
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Co-authored-by: Erik Österlund <eosterlund@openjdk.org>
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Co-authored-by: Stefan Johansson <sjohanss@openjdk.org>
Reviewed-by: stefank, aboldtch, eosterlund
2025-04-10 11:37:20 +00:00
Kim Barrett
6c2667018a 8324686: Remove redefinition of NULL for MSVC
Reviewed-by: shade, dholmes
2025-04-10 10:21:32 +00:00
Volkan Yazici
51b3d6bba2 8352431: java/net/httpclient/EmptyAuthenticate.java uses "localhost"
Reviewed-by: dfuchs, jpai
2025-04-10 10:18:46 +00:00
Jatin Bhateja
9a3f9997b6 8346236: Auto vectorization support for various Float16 operations
Reviewed-by: epeter, sviswanathan
2025-04-10 09:44:58 +00:00
SendaoYan
6545e0d9a3 8353189: [ASAN] memory leak after 8352184
Co-authored-by: Jiangli Zhou <jiangli@openjdk.org>
Co-authored-by: David Holmes <dholmes@openjdk.org>
Reviewed-by: dholmes, jiangli
2025-04-10 08:42:47 +00:00
Serhiy Sachkov
f94a4f7acc 8353847: Remove extra args to System.out.printf in open/test/jdk/java/net/httpclient tests
Reviewed-by: dfuchs
2025-04-10 08:28:01 +00:00
Saranya Natarajan
04e2a0621d 8351660: C2: SIGFPE in unsigned_mod_value
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: chagedorn, dfenacci, epeter
2025-04-10 07:59:09 +00:00
Aleksey Shipilev
73c8c755ea 8351157: Clean up x86 GC barriers after 32-bit x86 removal
Reviewed-by: kbarrett, wkemper, tschatzl
2025-04-10 07:54:00 +00:00
Erik Gahlin
c447a10225 8353856: Deprecate FlighRecorderPermission class for removal
Reviewed-by: mgronlun
2025-04-10 07:42:40 +00:00
Manuel Hässig
4f80437ee0 8353842: C2: Add graph dumps before and after loop opts phase
Reviewed-by: chagedorn, epeter
2025-04-10 07:24:45 +00:00
Roland Westrelin
bcac42aabc 8349479: C2: when a Type node becomes dead, make CFG path that uses it unreachable
Reviewed-by: chagedorn, vlivanov
2025-04-10 07:04:15 +00:00
Alexey Semenyuk
45b7c74873 8341641: Make %APPDATA% and %LOCALAPPDATA% env variables available in *.cfg files
Reviewed-by: almatvee
2025-04-10 01:38:47 +00:00
Chen Liang
5c438c5e6b 8352748: Remove com.sun.tools.classfile from the JDK
Reviewed-by: ihse, jlahoda, vromero
2025-04-09 22:58:44 +00:00
Ferenc Rakoczi
e87ff328d5 8351034: Add AVX-512 intrinsics for ML-DSA
Reviewed-by: sviswanathan, lmesnik, vpaprotski, jbhateja
2025-04-09 21:15:45 +00:00
Ioi Lam
e3f26b056e 8351319: AOT cache support for custom class loaders broken since JDK-8348426
Reviewed-by: ccheung, matsaave, jrose
2025-04-09 20:57:15 +00:00
Liam Miller-Cushon
4954a336f8 8350563: C2 compilation fails because PhaseCCP does not reach a fixpoint
Co-authored-by: Matthias Ernst <mernst@google.com>
Reviewed-by: chagedorn, epeter
2025-04-09 20:20:15 +00:00
Magnus Ihse Bursie
4a242e3a65 8354213: Restore pointless unicode characters to ASCII
Reviewed-by: naoto, erikj, iris
2025-04-09 20:14:10 +00:00
Dean Long
776e1cf1df 8353041: NeverBranchNode causes incorrect block frequency calculation
Reviewed-by: thartmann, rcastanedalo
2025-04-09 20:06:49 +00:00
Alexander Zvegintsev
cc546e7a28 8353549: Open source events tests batch2
Reviewed-by: honkar, kizune
2025-04-09 17:49:18 +00:00
Jiangli Zhou
faacbd96a3 8353938: hotspot/jtreg/serviceability/dcmd/jvmti/LoadAgentDcmdTest.java fails on static JDK
Reviewed-by: alanb
2025-04-09 17:47:47 +00:00
Coleen Phillimore
6352ee1a6e 8349007: The jtreg test ResolvedMethodTableHash takes excessive time
Reviewed-by: lmesnik, matsaave
2025-04-09 17:43:11 +00:00
Danish Nawab
5f2a604b63 8353840: JNativeScan should not abort for missing classes
Reviewed-by: jvernee, liach
2025-04-09 15:25:24 +00:00
Raffaello Giulietti
1f21da75eb 8351462: Improve robustness of String concatenation
Reviewed-by: liach, pminborg, rriggs
2025-04-09 15:16:02 +00:00
Ioi Lam
567c6885a3 8353597: Refactor handling VM options for AOT cache input and output
Reviewed-by: kvn, asmehra
2025-04-09 15:03:38 +00:00
Chen Liang
4dc9e58906 8310310: Migrate CreateSymbols tool in make/langtools to Classfile API
Reviewed-by: ihse, jlahoda
2025-04-09 14:51:15 +00:00
Kevin Walls
7a7b9ed7fe 8353727: HeapDumpPath doesn't expand %p
Reviewed-by: stuefe, lmesnik
2025-04-09 14:49:04 +00:00
Per Minborg
c3e043956e 8354121: Use a record class rather than a lambda in AbstractMemorySegmentImpl::cleanupAction
Reviewed-by: liach
2025-04-09 13:47:24 +00:00
Yudi Zheng
9d8b93b6e2 8354181: [Backout] 8334046: Set different values for CompLevel_any and CompLevel_all
Reviewed-by: thartmann, chagedorn
2025-04-09 13:08:21 +00:00
Zhengyu Gu
da462cf225 8353692: Relax memory constraint on updating ObjectMonitorTable's item count
Reviewed-by: rkennke, dholmes
2025-04-09 12:58:00 +00:00
Per Minborg
f9d705b17e 8351757: Test java/foreign/TestDeadlock.java#FileChannel_map timed out after passing
Reviewed-by: djelinski, rriggs
2025-04-09 12:44:47 +00:00
Alan Bateman
6c93ad42f3 8351927: Change VirtualThread implementation to use use FJP delayed task handling
Reviewed-by: vklang
2025-04-09 12:36:35 +00:00
Magnus Ihse Bursie
7aeaa3c21c 8187520: Add --disable-java-warnings-as-errors configure option
Reviewed-by: shade, erikj
2025-04-09 10:40:03 +00:00
Kevin Walls
cd9fa3f7aa 8353439: Shell grouping of -XX:OnError= commands is surprising
Reviewed-by: dholmes, stuefe
2025-04-09 09:47:03 +00:00
Marc Chevalier
a1d566ce4b 8348853: Fold layout helper check for objects implementing non-array interfaces
Reviewed-by: thartmann, roland
2025-04-09 09:28:36 +00:00
Daishi Tabata
f7fa05f577 8353698: Output of Simple Web Server is garbled if the console's encoding is not UTF-8
Reviewed-by: djelinski, dfuchs
2025-04-09 09:11:24 +00:00
Aleksey Shipilev
250eb743c1 8353192: C2: Clean up x86 backend after 32-bit x86 removal
Reviewed-by: kvn, epeter
2025-04-09 08:22:48 +00:00
Cesar Soares Lucas
9ee5590328 8334046: Set different values for CompLevel_any and CompLevel_all
Reviewed-by: shade, kvn
2025-04-09 08:01:13 +00:00
Aleksey Shipilev
6df34c361e 8353174: Clean up thread register handling after 32-bit x86 removal
Reviewed-by: cslucas, kvn, vlivanov
2025-04-09 07:28:47 +00:00
Evgeny Nikitin
0f70aae1cc 8353841: [jittester] Fix JITTester build after asm removal
Reviewed-by: thartmann, chagedorn
2025-04-09 07:03:24 +00:00
Stefan Karlsson
3340e13fd0 8352994: ZGC: Fix regression introduced in JDK-8350572
Reviewed-by: aboldtch, tschatzl
2025-04-09 06:19:08 +00:00
Cesar Soares Lucas
b045e3fbd7 8352681: C2 compilation hits asserts "must set the initial type just once"
Reviewed-by: chagedorn, dfenacci
2025-04-09 05:34:01 +00:00
Cesar Soares Lucas
473251dbb3 8353593: MethodData "mileage_*" methods and fields aren't used and can be removed
Reviewed-by: phh, thartmann
2025-04-09 05:09:30 +00:00
Thomas Stuefe
743d1c64c2 8353273: Reduce number of oop map entries in instances
Reviewed-by: lmesnik, fparain, jsjolen
2025-04-09 05:08:51 +00:00
David Holmes
2a0cf8353a 8354088: [BACKOUT] Run jtreg in the work dir
Reviewed-by: darcy, iris
2025-04-09 03:03:14 +00:00
Fei Yang
73bb647218 8353829: RISC-V: Auto-enable several more extensions for debug builds
Reviewed-by: rehn, fjiang
2025-04-09 01:44:46 +00:00
Ioi Lam
c26c575867 8353014: Exclude AOT tooling classes from AOT cache
Reviewed-by: vlivanov, kvn
2025-04-09 01:15:40 +00:00
Xiaolong Peng
aec1fe0a17 8351091: Shenandoah: global marking context completeness is not accurately maintained
Reviewed-by: ysr, wkemper
2025-04-09 01:00:02 +00:00
William Kemper
b4ab964b72 8353218: Shenandoah: Out of date comment references Brooks pointers
Reviewed-by: ysr, kdnilsen
2025-04-08 22:00:58 +00:00
Koushik Thirupattur
63fa255c06 8354061: Update copyright in NameFormat.java fix after JDK-8349890
Reviewed-by: mullan
2025-04-08 21:58:21 +00:00
Archie Cobbs
5b42c46b48 8353757: Log class should have a proper clear() method
Reviewed-by: vromero, mcimadamore
2025-04-08 20:04:44 +00:00
Hannes Wallnöfer
24ff96afe4 8352389: Remove incidental whitespace in pre/code content
Reviewed-by: liach
2025-04-08 18:45:53 +00:00
Markus Grönlund
257f817c7f 8353431: JFR: Sets to use hashmap instead of binary search as backend
Reviewed-by: egahlin
2025-04-08 18:41:10 +00:00
Magnus Ihse Bursie
689d73a30d 8317012: Explicitly check for 32-bit word size for using libatomic with zero
Reviewed-by: erikj, shade
2025-04-08 17:39:59 +00:00
Justin Lu
5cac579619 8353713: Improve Currency.getInstance exception handling
Reviewed-by: naoto
2025-04-08 17:37:13 +00:00
Magnus Ihse Bursie
e1a4a6beb6 8340185: Use make -k on GHA to catch more build errors
Reviewed-by: shade
2025-04-08 16:57:00 +00:00
Magnus Ihse Bursie
bd73a06416 8300339: Run jtreg in the work dir
Reviewed-by: erikj
2025-04-08 16:55:48 +00:00
Per Minborg
b98d6aebdd 8339527: Adjust threshold for MemorySegment::fill native invocation
Reviewed-by: jvernee
2025-04-08 16:34:20 +00:00
Sean Mullan
3cbe686d62 8348967: Deprecate security permission classes for removal
Reviewed-by: rriggs, iris
2025-04-08 16:13:43 +00:00
Roland Westrelin
4645ddbb6b 8341976: C2: use_mem_state != load->find_exact_control(load->in(0)) assert failure
Reviewed-by: chagedorn, dfenacci
2025-04-08 15:52:05 +00:00
Daniel Jeliński
58ff36f3bd 8350705: [JMH] test security.SSLHandshake failed for 2 threads configuration
Reviewed-by: hchao, mullan
2025-04-08 15:19:32 +00:00
Viktor Klang
676cfae91c 8354016: Update ReentrantReadWriteLock documentation to reflect its new max capacity
Reviewed-by: alanb
2025-04-08 13:49:15 +00:00
Coleen Phillimore
250437e557 8351654: Agent transformer bytecodes should be verified
Reviewed-by: dholmes, lmesnik
2025-04-08 13:12:28 +00:00
Damon Fenacci
d9f2e69215 8352963: [REDO] Missing late inline cleanup causes compiler/vectorapi/VectorLogicalOpIdentityTest.java IR failure
Reviewed-by: vlivanov, thartmann
2025-04-08 13:05:15 +00:00
Artur Barashev
dfa79c3730 8340321: Disable SHA-1 in TLS/DTLS 1.2 handshake signatures
Reviewed-by: mullan
2025-04-08 13:02:50 +00:00
Hamlin Li
cc5e9388d8 8353600: RISC-V: compiler/vectorization/TestRotateByteAndShortVector.java is failing with Zvbb
Reviewed-by: fyang, luhenry
2025-04-08 13:00:07 +00:00
Hamlin Li
21db0fdbfb 8353665: RISC-V: IR verification fails in TestSubNodeFloatDoubleNegation.java
Reviewed-by: thartmann, luhenry
2025-04-08 12:59:36 +00:00
Harald Eilertsen
b3751b90f6 8353573: System giflib not found by configure if it's not in system directories
Reviewed-by: erikj
2025-04-08 12:40:54 +00:00
Harald Eilertsen
3d24f1a382 8353580: libjpeg is not found if not installed in system directories
Reviewed-by: erikj
2025-04-08 12:40:10 +00:00
Koushik Thirupattur
d8bed13047 8353945: Test javax/security/auth/x500/X500Principal/NameFormat.java fails after JDK-8349890
Reviewed-by: mullan
2025-04-08 11:50:59 +00:00
Jan Lahoda
9088afc4f1 8353332: Test jdk/jshell/ToolProviderTest.java failed in relation to enable-preview
Reviewed-by: jpai, asotona
2025-04-08 09:25:23 +00:00
Roberto Castañeda Lozano
fda5eecd67 8353669: IGV: dump OOP maps for MachSafePoint nodes
Reviewed-by: chagedorn, thartmann
2025-04-08 08:27:00 +00:00
Aleksey Shipilev
ea07e719ca 8352256: ObjectSynchronizer::quick_notify misses JFR event notification path
Reviewed-by: dholmes, coleenp, mgronlun
2025-04-08 08:12:59 +00:00
Jaikiran Pai
9844c1c52b 8066583: DeflaterInput/OutputStream and InflaterInput/OutputStream should explain responsibility for freeing resources
Reviewed-by: liach, alanb, lancea
2025-04-08 06:07:44 +00:00
Alan Bateman
fb955bcb15 8353267: jmod create finds the wrong set of packages when class file are in non-package location
Reviewed-by: rriggs
2025-04-08 06:03:16 +00:00
Fei Yang
80ff7b9c94 8353695: RISC-V: compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java is failing with Zvkn
Reviewed-by: fjiang, mli
2025-04-08 01:37:29 +00:00
Jaikiran Pai
b64cdc2813 8353787: Increased number of SHA-384-Digest java.util.jar.Attributes$Name instances leading to higher memory footprint
Reviewed-by: mullan, lancea
2025-04-08 00:35:33 +00:00
Jaikiran Pai
edaeb4b2da 8352895: UserCookie.java runs wrong test class
Reviewed-by: dfuchs
2025-04-08 00:33:36 +00:00
6737 changed files with 232095 additions and 458583 deletions

View File

@@ -1,7 +1,14 @@
root = true
[*]
charset = utf-8
[*.{cpp,hpp,c,h,java,cc,hh,m,mm,S,md,properties,gmk,m4,ac}]
trim_trailing_whitespace = true
[Makefile]
trim_trailing_whitespace = true
[src/hotspot/**.{cpp,hpp,h}]
indent_style = space
indent_size = 2

1
.gitattributes vendored
View File

@@ -1,4 +1,5 @@
* -text
* encoding=utf-8
*.java diff=java
*.c diff=cpp
*.h diff=cpp

263
.github/README.md vendored
View File

@@ -1,263 +0,0 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# Welcome to JetBrains Runtime!
JetBrains Runtime is a fork of [OpenJDK](https://github.com/openjdk/jdk) available for Windows, Mac OS X, and Linux.
It supports enhanced class redefinition ([DCEVM](https://ssw.jku.at/dcevm/)),
features optional [JCEF](https://github.com/JetBrains/jcef), a framework for embedding Chromium-based browsers,
includes a number of improvements in font rendering, keyboards support,
windowing/focus subsystems, HiDPI, accessibility, and performance, provides better desktop integration
and bugfixes not yet present in OpenJDK.
> **_NOTE_**: This is a **development** branch that is periodically synchronized with
> the [OpenJDK master](https://github.com/openjdk/jdk/tree/master) branch.
>
Release builds are based on these branches:
* [jbr11](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr11) (JDK 11)
* [jbr17](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr17) (JDK 17)
* [jbr21](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr21) (JDK 21)
Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list
can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases).
## Releases based on JDK 21
| IDE Version | Latest JBR | Date Released |
|-------------|---------------------------------------------------------------------------------------------------------|---------------|
| 2025.1 | [21.0.6-b895.97](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-21.0.6b895.97) | 04-Mar-2025 |
| 2024.3 | [21.0.6-b631.39](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-21.0.6b631.39) | 10-Feb-2025 |
| 2024.2 | [21.0.4-b509.30](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-21.0.5b509.30) | 26-Nov-2024 |
| 2024.1 | [21.0.2-b346.3](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-21.0.2b346.3) | 30-Jan-2024 |
## Releases based on JDK 17
| IDE Version | Latest JBR | Date Released |
|-------------|--------------------------------------------------------------------------------------------------------|---------------|
| 2024.2 | [17.0.11-b1312.2](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.11b1312.2) | 18-Jun-2024|
| 2024.1 | [17.0.12-b1207.37](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.12b1207.37) | 15-Oct-2024|
| 2023.3 | [17.0.12-b1087.25](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.12b1087.25) | 02-Sep-2024|
| 2023.2 | [17.0.12-b1000.54](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.12b1000.54) | 02-Sep-2024|
| 2023.1 | [17.0.10-b829.27](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.10b829.27) | 21-Mar-2024 |
| 2022.3 | [17.0.6-b653.34](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b653.34) | 28-Feb-2023 |
| 2022.2 | [17.0.6-b469.82](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b469.82) | 06-Mar-2023 |
## Releases based on JDK 11
| IDE Version | Latest JBR | Date Released |
|-------------|-------------------------------------------------------------------------------------------------------|---------------|
| 2022.1 | [11_0_16-b2043.64](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr11_0_16b2043.64) | 10-Nov-2022 |
| 2021.3 | [11_0_14_1-b1751.46](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr11_0_14_1b1751.46) | 21-Feb-2022 |
| 2021.2 | [11_0_13-b1504.49](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jb11_0_13-b1504.49) | 15-Nov-2021 |
| 2021.1 | [11.0.11+9-b1341.60](https://github.com/JetBrains/JetBrainsRuntime/issues/171#issuecomment-1248891540)| 15-Jun-2021 |
| 2020.3 | [11_0_10-b1145.115](https://github.com/JetBrains/JetBrainsRuntime/issues/171#issuecomment-1249243977) | 21-Jun-2021 |
## Release Flavours
There are many kinds of JBR bundles available on the [Releases page](https://github.com/JetBrains/JetBrainsRuntime/releases):
| Flavour | Description |
|---------------|---------------------------------------------------------------------------------------------------------------|
| JBR | Contains the Java Runtime Environment (JRE) suitable to _run_ JVM-based programs. |
| JBRSDK | Contains the Software Developmet Kit (SDK) suitable to _develop_ and _run_ JVM-based programs. |
| JBR with JCEF | Contains both JBR and JCEF; this flavour is bundled by default with all IntelliJ IDEs. |
| vanilla | Contains just JBR. |
| fastdebug | The native binaries in this bundle are less optimized and are easier to debug. They also run much slower. |
| FreeType | The bundle includes the freetype library built from sources; normally, the library is provided by the system. |
| Vulkan | The bundle includes experimental Vulkan support. | |
| debug symbols | In addition to the usual contents of the bundle the debug information is also included. |
## Contents
- [Welcome to JetBrains Runtime](#welcome-to-jetbrains-runtime)
- [Why Use JetBrains Runtime?](#why-use-jetbrains-runtime)
- [Products Built on JetBrains Runtime](#products-built-on-jetbrains-runtime)
- [Getting Sources](#getting-sources)
- [macOS, Linux](#macos-linux)
- [Windows](#sources-windows)
- [Configuring the Build Environment](#configuring-the-build-environment)
- [Linux (Docker)](#linux-docker)
- [Ubuntu Linux](#ubuntu-linux)
- [Windows](#build-windows)
- [macOS](#macos)
- [Developing](#developing)
- [Contributing](#contributing)
- [Resources](#resources)
## Why Use JetBrains Runtime?
* **Embedded browser**: JetBrains Runtime includes the Java Chromium Embedded Framework ([JCEF](https://github.com/JetBrains/jcef)), which
enables you to embed a Chromium-based browsers in your JVM-based application.
To use it, [download a build with JCEF](https://github.com/JetBrains/JetBrainsRuntime/releases).
* **Enhanced class re-definition** with the [DCEVM](https://ssw.jku.at/dcevm/) technology that makes it easier to reload
changed code without restarting JVM; this feature needs to be explicitly enabled with `-XX:+AllowEnhancedClassRedefinition`.
* **Better FPS performance** for graphics-intensive applications.
* **Improved font rendering**, **keyboard input** (such as shortcuts and multinational keyboards),
**HiDPI** and **accessibility** support.
* **Robust desktop experience**: GUI-related fixes often reach JetBrains Runtime much earlier than the corresponding version of OpenJDK.
* Additional capabilities that are made available to applications through
[JBR API](https://github.com/JetBrains/JetBrainsRuntimeApi) services such as, for example,
the ability to wrap a native graphics texture into `java.awt.Image`.
## Products Built on JetBrains Runtime
* [Android Studio](https://developer.android.com/studio). The official IDE for Google's Android operating system.
* [CLion](https://www.jetbrains.com/clion/). A cross-platform IDE for C and C++ from JetBrains.
* [DataGrip](https://www.jetbrains.com/datagrip/). The IDE for Databases and SQL from JetBrains.
* [GoLand](https://www.jetbrains.com/go/). The cross-platform Go IDE from JetBrains.
* [IntelliJ IDEA](https://www.jetbrains.com/idea/). The IDE for JVM from JetBrains.
* [JProfiler](https://www.ej-technologies.com/products/jprofiler/overview.html). The Java profiler.
* [PhpStorm](https://www.jetbrains.com/phpstorm/). The PHP IDE from JetBrains.
* [PyCharm](https://www.jetbrains.com/pycharm/). The Python IDE from JetBrains.
* [Rider](https://www.jetbrains.com/rider/). The cross-platform .NET IDE from JetBrains.
* [RubyMine](https://www.jetbrains.com/ruby/). The Ruby and Rails IDE from JetBrains.
* [Toolbox App](https://www.jetbrains.com/toolbox-app/). JetBrains IDE manager.
* [WebStorm](https://www.jetbrains.com/webstorm/). The JavaScript IDE from JetBrains.
* [YourKit](https://www.yourkit.com/). Java and .NET profilers.
## Getting Sources
### macOS, Linux
```
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
### Windows
<a name="sources-windows"></a>
```
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
## Configuring the Build Environment
Here are quick per-platform instructions for those who can't wait to get started.
Please refer to [OpenJDK build docs](https://openjdk.java.net/groups/build/doc/building.html) for in-depth
coverage of all the details.
> **_TIP:_** To get a preliminary report of what's missing, run `./configure` and check its output.
> It would usually have meaningful advice on how to solve the problem.
### Linux (Docker)
Download an image from [Docker Hub](https://hub.docker.com/repository/docker/jetbrains/runtime/general) related to your architecture:
```
$ docker pull jetbrains/runtime:oraclelinux8_aarch64
```
or
```
$ docker pull jetbrains/runtime:oraclelinux8_x64
```
Create and run a new container from the downloaded image
```
$ docker run -v $JetBrainsRuntime:/JetBrainsRuntime -it jetbrains/runtime:oraclelinux8_[arch]
```
where `$JetBrainsRuntime` is a full path to the directory where the repository was cloned to.
Run these commands in the container:
```
# cd /JetBrainsRuntime
# sh ./configure
# make images
```
### Ubuntu Linux
Install the necessary tools, libraries, and headers with:
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev libspeechd-dev libwayland-dev \
wayland-protocols libxkbcommon-x11-0
```
Get Java 23 (for instance, [Azul Zulu Builds of OpenJDK 23](https://www.azul.com/downloads/?version=java-23&os=linux&package=jdk#zulu)).
Then run the following:
```
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
```
This will build the release configuration under `./build/linux-x86_64-server-release/`.
### Windows
<a name="build-windows"></a>
Install the following:
* [Cygwin x64](http://www.cygwin.com/).
Required packages: `autoconf`, `binutils`, `cpio`, `diffutils`, `file`, `gawk`, `gcc-core`, `make`, `m4`, `unzip`, `zip`.
Install those together with Cygwin.
* [Visual Studio compiler toolset](https://visualstudio.microsoft.com/downloads/).
Install with the desktop development kit, which includes Windows SDK and compilers.
Visual Studio 2019 is supported by default.
* Java 21 (for instance, [Azul Zulu Builds of OpenJDK 21](https://www.azul.com/downloads/?version=java-21-lts&os=windows&package=jdk#zulu)).
If you have problems while configuring, read [Java tips on Cygwin](http://horstmann.com/articles/cygwin-tips.html).
From the command line:
```
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
```
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.
In the Cygwin shell:
```
$ cd JetBrainsRuntime
$ git checkout main
$ bash configure --with-toolchain-version=2019
$ make images
```
This will build the release configuration under `./build/windows-x86_64-server-release/`.
#### Enable optional NVDA screen reader support
If you want to add support of a11y announcing via [NVDA screen reader](https://www.nvaccess.org/about-nvda/),
you will need to bundle the NVDA Controller Client library.
You can do it with the following steps:
1. Download the NVDA Controller Client library. You can find the link in its official README [here](https://github.com/nvaccess/nvda/blob/master/extras/controllerClient/readme.md)
2. Pass the path to the unpacked package to `configure` via an additional flag `--with-nvdacontrollerclient=<path>`.
The build system will search the required library files under `<path>/<target-arch>`.
#### Disable optional JAWS screen reader support
JBR is built with built-in support of JAWS screen reader.
If you want to disable it, run `configure` with the additional flag `--disable-jaws-client`.
### macOS
Install the following:
* Xcode command line developer tools and `autoconf` via [Homebrew](https://brew.sh/).
* Java 21 (for instance, [Azul Zulu Builds of OpenJDK 21](https://www.azul.com/downloads/?version=java-21-lts&os=macos&package=jdk#zulu)).
From the command line:
```
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
```
This will build the release configuration under `./build/macosx-x86_64-server-release/`.
## Developing
You can use [CLion](https://www.jetbrains.com/clion/) to develop native parts of the JetBrains Runtime and
[IntelliJ IDEA](https://www.jetbrains.com/idea/) for the parts written in Java.
Both require projects to be created.
### CLion
Run
```
$ make compile-commands
```
in the git root and open the resulting `build/.../compile_commands.json` file as a project.
Then use `Tools | Compilation Database | Change Project Root` to point to git root of this repository.
See also this detailed step-by-step tutorial for all platforms:
[How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).
### IDEA
Run
```
$ sh ./bin/idea.sh
```
in the git root to generate project files (add `--help` for options). If you have multiple
configurations (for example, `release` and `fastdebug`), supply the `--conf <conf_name>` argument.
Then open the git root directory as a project in IDEA.
## Contributing
We are happy to receive your pull requests!
Before you submit one, please sign our [Contributor License Agreement (CLA)](https://www.jetbrains.com/agreements/cla/).
## Resources
* [JetBrains Runtime on GitHub](https://github.com/JetBrains/JetBrainsRuntime).
* [OpenJDK build instructions](https://openjdk.java.net/groups/build/doc/building.html).
* [OpenJDK test instructions](https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk/master/doc/building.html#running-tests).
* [How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2025, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -42,7 +42,7 @@ runs:
- name: 'Build'
id: build
run: >
make LOG=info ${{ inputs.make-target }}
make -k LOG=info ${{ inputs.make-target }}
|| bash ./.github/scripts/gen-build-failure-report.sh "$GITHUB_STEP_SUMMARY"
shell: bash

View File

@@ -32,10 +32,16 @@ inputs:
debug-suffix:
description: 'File name suffix denoting debug level, possibly empty'
required: false
static-suffix:
description: 'Static bundle file name suffix'
required: false
outputs:
jdk-path:
description: 'Path to the installed JDK bundle'
value: ${{ steps.path-name.outputs.jdk }}
static-jdk-path:
description: 'Path to the installed static JDK bundle'
value: ${{ steps.path-name.outputs.static_jdk }}
symbols-path:
description: 'Path to the installed symbols bundle'
value: ${{ steps.path-name.outputs.symbols }}
@@ -61,6 +67,15 @@ runs:
path: bundles
if: steps.download-bundles.outcome == 'failure'
- name: 'Download static bundles artifact'
id: download-static-bundles
uses: actions/download-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.static-suffix }}
path: bundles
continue-on-error: true
if: ${{ inputs.static-suffix == '-static' }}
- name: 'Unpack bundles'
run: |
if [[ -e bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.zip ]]; then
@@ -75,6 +90,20 @@ runs:
tar -xf bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz -C bundles/jdk
fi
if [[ '${{ inputs.static-suffix }}' == '-static' ]]; then
if [[ -e bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.static-suffix }}.zip ]]; then
echo 'Unpacking static jdk bundle...'
mkdir -p bundles/static-jdk
unzip -q bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.static-suffix }}.zip -d bundles/static-jdk
fi
if [[ -e bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.static-suffix }}.tar.gz ]]; then
echo 'Unpacking static jdk bundle...'
mkdir -p bundles/static-jdk
tar -xf bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.static-suffix }}.tar.gz -C bundles/static-jdk
fi
fi
if [[ -e bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz ]]; then
echo 'Unpacking symbols bundle...'
mkdir -p bundles/symbols
@@ -106,4 +135,12 @@ runs:
echo "jdk=$jdk_dir" >> $GITHUB_OUTPUT
echo "symbols=$symbols_dir" >> $GITHUB_OUTPUT
echo "tests=$tests_dir" >> $GITHUB_OUTPUT
if [[ '${{ inputs.static-suffix }}' == '-static' ]]; then
static_jdk_dir="$GITHUB_WORKSPACE/$(dirname $(find bundles/static-jdk -name bin -type d))"
if [[ '${{ runner.os }}' == 'Windows' ]]; then
static_jdk_dir="$(cygpath $static_jdk_dir)"
fi
echo "static_jdk=$static_jdk_dir" >> $GITHUB_OUTPUT
fi
shell: bash

View File

@@ -35,6 +35,9 @@ inputs:
bundle-suffix:
description: 'Bundle name suffix, possibly empty'
required: false
static-suffix:
description: 'Static JDK bundle name suffix, possibly empty'
required: false
runs:
using: composite
@@ -46,6 +49,8 @@ runs:
# Rename bundles to consistent names
jdk_bundle_zip="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}.zip 2> /dev/null || true)"
jdk_bundle_tar_gz="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
static_jdk_bundle_zip="$(ls build/*/bundles/static-jdk-*_bin${{ inputs.debug-suffix }}.zip 2> /dev/null || true)"
static_jdk_bundle_tar_gz="$(ls build/*/bundles/static-jdk-*_bin${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
symbols_bundle="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}-symbols.tar.gz 2> /dev/null || true)"
tests_bundle="$(ls build/*/bundles/jdk-*_bin-tests${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
static_libs_bundle="$(ls build/*/bundles/jdk-*_bin-static-libs${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
@@ -58,6 +63,12 @@ runs:
if [[ "$jdk_bundle_tar_gz" != "" ]]; then
mv "$jdk_bundle_tar_gz" "bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$static_jdk_bundle_zip" != "" ]]; then
mv "$static_jdk_bundle_zip" "bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.static-suffix }}.zip"
fi
if [[ "$static_jdk_bundle_tar_gz" != "" ]]; then
mv "$static_jdk_bundle_tar_gz" "bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.static-suffix }}.tar.gz"
fi
if [[ "$symbols_bundle" != "" ]]; then
mv "$symbols_bundle" "bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
@@ -68,7 +79,7 @@ runs:
mv "$static_libs_bundle" "bundles/static-libs-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$jdk_bundle_zip$jdk_bundle_tar_gz$symbols_bundle$tests_bundle$static_libs_bundle" != "" ]]; then
if [[ "$jdk_bundle_zip$jdk_bundle_tar_gz$static_jdk_bundle_zip$static_jdk_bundle_tar_gz$symbols_bundle$tests_bundle$static_libs_bundle" != "" ]]; then
echo 'bundles-found=true' >> $GITHUB_OUTPUT
else
echo 'bundles-found=false' >> $GITHUB_OUTPUT
@@ -78,7 +89,7 @@ runs:
- name: 'Upload bundles artifact'
uses: actions/upload-artifact@v4
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.bundle-suffix }}
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.static-suffix }}${{ inputs.bundle-suffix }}
path: bundles
retention-days: 1
if: steps.bundles.outputs.bundles-found == 'true'

View File

@@ -64,6 +64,9 @@ on:
bundle-suffix:
required: false
type: string
static-suffix:
required: false
type: string
jobs:
build-linux:
@@ -143,3 +146,4 @@ jobs:
platform: ${{ inputs.platform }}
debug-suffix: "${{ matrix.debug-level == 'debug' && '-debug' || '' }}"
bundle-suffix: ${{ inputs.bundle-suffix }}
static-suffix: ${{ inputs.static-suffix }}

View File

@@ -63,7 +63,7 @@ env:
jobs:
build-windows:
name: build
runs-on: windows-2019
runs-on: windows-2025
defaults:
run:
shell: bash
@@ -102,7 +102,7 @@ jobs:
id: toolchain-check
run: |
set +e
'/c/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/vc/auxiliary/build/vcvars64.bat' -vcvars_ver=${{ inputs.msvc-toolset-version }}
'/c/Program Files/Microsoft Visual Studio/2022/Enterprise/vc/auxiliary/build/vcvars64.bat' -vcvars_ver=${{ inputs.msvc-toolset-version }}
if [ $? -eq 0 ]; then
echo "Toolchain is already installed"
echo "toolchain-installed=true" >> $GITHUB_OUTPUT
@@ -115,7 +115,7 @@ jobs:
run: |
# Run Visual Studio Installer
'/c/Program Files (x86)/Microsoft Visual Studio/Installer/vs_installer.exe' \
modify --quiet --installPath 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise' \
modify --quiet --installPath 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise' \
--add Microsoft.VisualStudio.Component.VC.${{ inputs.msvc-toolset-version }}.${{ inputs.msvc-toolset-architecture }}
if: steps.toolchain-check.outputs.toolchain-installed != 'true'

View File

@@ -31,7 +31,6 @@ on:
- master
- pr/*
- jdk*
- main
workflow_dispatch:
inputs:
platforms:
@@ -232,16 +231,14 @@ jobs:
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'static-jdk-image'
make-target: 'static-jdk-bundles'
# There are issues with fastdebug static build in GHA due to space limit.
# Only do release build for now.
debug-levels: '[ "release" ]'
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
# It currently doesn't produce any bundles, but probably will do in
# the future.
bundle-suffix: "-static"
static-suffix: "-static"
if: needs.prepare.outputs.linux-x64 == 'true'
build-linux-x64-static-libs:
@@ -313,7 +310,7 @@ jobs:
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x64
msvc-toolset-version: '14.29'
msvc-toolset-version: '14.43'
msvc-toolset-architecture: 'x86.x64'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
@@ -325,7 +322,7 @@ jobs:
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-aarch64
msvc-toolset-version: '14.29'
msvc-toolset-version: '14.43'
msvc-toolset-architecture: 'arm64'
make-target: 'hotspot'
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
@@ -362,6 +359,19 @@ jobs:
platform: linux-x64
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
debug-suffix: -debug
test-linux-x64-static:
name: linux-x64-static
needs:
- build-linux-x64
- build-linux-x64-static
uses: ./.github/workflows/test.yml
with:
platform: linux-x64
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
static-suffix: "-static"
test-macos-aarch64:
name: macos-aarch64
@@ -373,6 +383,7 @@ jobs:
bootjdk-platform: macos-aarch64
runs-on: macos-14
xcode-toolset-version: '15.4'
debug-suffix: -debug
test-windows-x64:
name: windows-x64
@@ -382,4 +393,5 @@ jobs:
with:
platform: windows-x64
bootjdk-platform: windows-x64
runs-on: windows-2019
runs-on: windows-2025
debug-suffix: -debug

View File

@@ -1,270 +0,0 @@
#
# Copyright 2000-2023 JetBrains s.r.o.
# 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.
#
name: 'Build OpenJDK on pull request'
on:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
###
### Determine platforms to include
###
select:
name: 'Select platforms'
runs-on: ubuntu-22.04
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86: ${{ steps.include.outputs.linux-x86 }}
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
macos-x64: ${{ steps.include.outputs.macos-x64 }}
macos-aarch64: ${{ steps.include.outputs.macos-aarch64 }}
windows-x64: ${{ steps.include.outputs.windows-x64 }}
windows-aarch64: ${{ steps.include.outputs.windows-aarch64 }}
windows-x86: ${{ steps.include.outputs.windows-x86 }}
steps:
# This function must be inlined in main.yml, or we'd be forced to checkout the repo
- name: 'Check what jobs to run'
id: include
run: |
# Determine which platform jobs to run
# Returns 'true' if the input platform list matches any of the platform monikers given as argument,
# 'false' otherwise.
# arg $1: platform name or names to look for
function check_platform() {
if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
input='${{ github.event.inputs.platforms }}'
elif [[ $GITHUB_EVENT_NAME == push ]]; then
if [[ '${{ !secrets.JDK_SUBMIT_FILTER || startsWith(github.ref, 'refs/heads/submit/') }}' == 'false' ]]; then
# If JDK_SUBMIT_FILTER is set, and this is not a "submit/" branch, don't run anything
>&2 echo 'JDK_SUBMIT_FILTER is set and not a "submit/" branch'
echo 'false'
return
else
input='${{ secrets.JDK_SUBMIT_PLATFORMS }}'
fi
fi
normalized_input="$(echo ,$input, | tr -d ' ')"
if [[ "$normalized_input" == ",," ]]; then
# For an empty input, assume all platforms should run
echo 'true'
return
else
# Check for all acceptable platform names
for part in $* ; do
if echo "$normalized_input" | grep -q -e ",$part," ; then
echo 'true'
return
fi
done
fi
echo 'false'
}
echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
echo "linux-x86=$(check_platform linux-x86 linux x86)" >> $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
echo "macos-x64=$(check_platform macos-x64 macos x64)" >> $GITHUB_OUTPUT
echo "macos-aarch64=$(check_platform macos-aarch64 macos aarch64)" >> $GITHUB_OUTPUT
echo "windows-x64=$(check_platform windows-x64 windows x64)" >> $GITHUB_OUTPUT
echo "windows-x86=$(check_platform windows-x86 windows x86)" >> $GITHUB_OUTPUT
echo "windows-aarch64=$(check_platform windows-aarch64 windows aarch64)" >> $GITHUB_OUTPUT
echo "docs=$(check_platform docs)" >> $GITHUB_OUTPUT
###
### Build jobs
###
build-linux-x64:
name: linux-x64
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
# The linux-x64 jdk bundle is used as buildjdk for the cross-compile job
if: needs.select.outputs.linux-x64 == 'true' || needs.select.outputs.linux-cross-compile == 'true'
build-linux-x86:
name: linux-x86
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x86
gcc-major-version: '10'
gcc-package-suffix: '-multilib'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
apt-architecture: 'i386'
# Some multilib libraries do not have proper inter-dependencies, so we have to
# install their dependencies manually.
apt-extra-packages: 'libfreetype6-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libc6-i386'
extra-conf-options: '--with-target-bits=32'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x86 == 'true'
build-linux-cross-compile:
name: linux-cross-compile
needs:
- select
- build-linux-x64
uses: ./.github/workflows/build-cross-compile.yml
with:
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
apt-gcc-cross-version: '10.4.0-4ubuntu1~22.04cross1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-cross-compile == 'true'
build-macos-x64:
name: macos-x64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-x64
xcode-toolset-version: '12.5.1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-x64 == 'true'
build-macos-aarch64:
name: macos-aarch64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-aarch64
xcode-toolset-version: '12.5.1'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-aarch64 == 'true'
build-windows-x64:
name: windows-x64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'x86.x64'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-x64 == 'true'
build-windows-x86:
name: windows-x86
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x86
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'x86'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-x86 == 'true'
build-windows-aarch64:
name: windows-aarch64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-aarch64
msvc-toolset-version: '14.29'
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 }}
if: needs.select.outputs.windows-aarch64 == 'true'
build-docs:
name: docs
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
debug-levels: '[ "debug" ]'
make-target: 'docs-jdk-bundles'
# Make sure we never try to make full docs, since that would require a
# build JDK, and we do not need the additional testing of the graphs.
extra-conf-options: '--disable-full-docs'
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.docs == 'true'
# Remove bundles so they are not misconstrued as binary distributions from the JDK project
remove-bundles:
name: 'Remove bundle artifacts'
runs-on: ubuntu-22.04
if: always()
needs:
- build-linux-x64
- build-linux-x86
- build-linux-cross-compile
- build-macos-x64
- build-macos-aarch64
- build-windows-x64
- build-windows-aarch64
- build-windows-x86
steps:
# Hack to get hold of the api environment variables that are only defined for actions
- name: 'Get API configuration'
id: api
uses: actions/github-script@v6
with:
script: 'return { url: process.env["ACTIONS_RUNTIME_URL"], token: process.env["ACTIONS_RUNTIME_TOKEN"] }'
- name: 'Remove bundle artifacts'
run: |
# Find and remove all bundle artifacts
ALL_ARTIFACT_URLS="$(curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
'${{ fromJson(steps.api.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview')"
BUNDLE_ARTIFACT_URLS="$(echo "$ALL_ARTIFACT_URLS" | jq -r -c '.value | map(select(.name|startswith("bundles-"))) | .[].url')"
for url in $BUNDLE_ARTIFACT_URLS; do
echo "Removing $url"
curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
-X DELETE "$url" \
|| echo "Failed to remove bundle"
done

View File

@@ -40,6 +40,12 @@ on:
xcode-toolset-version:
required: false
type: string
debug-suffix:
required: false
type: string
static-suffix:
required: false
type: string
env:
# These are needed to make the MSYS2 bash work properly
@@ -86,35 +92,35 @@ jobs:
- test-name: 'hs/tier1 common'
test-suite: 'test/hotspot/jtreg/:tier1_common'
debug-suffix: -debug
debug-suffix: ${{ inputs.debug-suffix }}
- test-name: 'hs/tier1 compiler part 1'
test-suite: 'test/hotspot/jtreg/:tier1_compiler_1'
debug-suffix: -debug
debug-suffix: ${{ inputs.debug-suffix }}
- test-name: 'hs/tier1 compiler part 2'
test-suite: 'test/hotspot/jtreg/:tier1_compiler_2'
debug-suffix: -debug
debug-suffix: ${{ inputs.debug-suffix }}
- test-name: 'hs/tier1 compiler part 3'
test-suite: 'test/hotspot/jtreg/:tier1_compiler_3'
debug-suffix: -debug
debug-suffix: ${{ inputs.debug-suffix }}
- test-name: 'hs/tier1 gc'
test-suite: 'test/hotspot/jtreg/:tier1_gc'
debug-suffix: -debug
debug-suffix: ${{ inputs.debug-suffix }}
- test-name: 'hs/tier1 runtime'
test-suite: 'test/hotspot/jtreg/:tier1_runtime'
debug-suffix: -debug
debug-suffix: ${{ inputs.debug-suffix }}
- test-name: 'hs/tier1 serviceability'
test-suite: 'test/hotspot/jtreg/:tier1_serviceability'
debug-suffix: -debug
debug-suffix: ${{ inputs.debug-suffix }}
- test-name: 'lib-test/tier1'
test-suite: 'test/lib-test/:tier1'
debug-suffix: -debug
debug-suffix: ${{ inputs.debug-suffix }}
steps:
- name: 'Checkout the JDK source'
@@ -140,6 +146,7 @@ jobs:
with:
platform: ${{ inputs.platform }}
debug-suffix: ${{ matrix.debug-suffix }}
static-suffix: ${{ inputs.static-suffix }}
- name: 'Install dependencies'
run: |
@@ -160,6 +167,21 @@ jobs:
else
echo "value=$PATH" >> $GITHUB_OUTPUT
fi
if [[ '${{ inputs.static-suffix }}' == '-static' ]]; then
echo "static-hotspot-problemlist-path=`pwd`/test/hotspot/jtreg/ProblemList-StaticJdk.txt" >> $GITHUB_OUTPUT
echo "static-jdk-problemlist-path=`pwd`/test/jdk/ProblemList-StaticJdk.txt" >> $GITHUB_OUTPUT
echo "static-langtools-problemlist-path=`pwd`/test/langtools/ProblemList-StaticJdk.txt" >> $GITHUB_OUTPUT
echo "static-lib-test-problemlist-path=`pwd`/test/lib-test/ProblemList-StaticJdk.txt" >> $GITHUB_OUTPUT
fi
- name: 'Set Extra Options'
id: extra-options
run: |
if [[ '${{ inputs.static-suffix }}' == '-static' ]]; then
echo "test-jdk=JDK_UNDER_TEST=${{ steps.bundles.outputs.static-jdk-path }}" >> $GITHUB_OUTPUT
echo "compile-jdk=JDK_FOR_COMPILE=${{ steps.bundles.outputs.jdk-path }}" >> $GITHUB_OUTPUT
echo "extra-problem-lists=EXTRA_PROBLEM_LISTS=${{ steps.path.outputs.static-hotspot-problemlist-path }}%20${{ steps.path.outputs.static-jdk-problemlist-path }}%20${{ steps.path.outputs.static-langtools-problemlist-path }}%20${{ steps.path.outputs.static-lib-test-problemlist-path }}" >> $GITHUB_OUTPUT
fi
- name: 'Run tests'
id: run-tests
@@ -171,7 +193,9 @@ jobs:
JDK_IMAGE_DIR=${{ steps.bundles.outputs.jdk-path }}
SYMBOLS_IMAGE_DIR=${{ steps.bundles.outputs.symbols-path }}
TEST_IMAGE_DIR=${{ steps.bundles.outputs.tests-path }}
JTREG='JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash;VERBOSE=fail,error,time;KEYWORDS=!headful'
${{ steps.extra-options.outputs.test-jdk }}
${{ steps.extra-options.outputs.compile-jdk }}
JTREG='JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash;VERBOSE=fail,error,time;KEYWORDS=!headful;${{ steps.extra-options.outputs.extra-problem-lists }}'
&& bash ./.github/scripts/gen-test-summary.sh "$GITHUB_STEP_SUMMARY" "$GITHUB_OUTPUT"
env:
PATH: ${{ steps.path.outputs.value }}
@@ -204,7 +228,7 @@ jobs:
echo '::warning ::Missing test-support directory'
fi
artifact_name="results-${{ inputs.platform }}-$(echo ${{ matrix.test-name }} | tr '/ ' '__')"
artifact_name="results-${{ inputs.platform }}-$(echo ${{ matrix.test-name }}${{ inputs.static-suffix }} | tr '/ ' '__')"
echo "artifact-name=$artifact_name" >> $GITHUB_OUTPUT
if: always()

3
.gitignore vendored
View File

@@ -23,4 +23,5 @@ NashornProfile.txt
/.gdbinit
/.lldbinit
**/core.[0-9]*
/jbr-api/
*.rej
*.orig

View File

@@ -1,3 +1,3 @@
# Contributing to the JDK
Please see the [OpenJDK Developers Guide](https://openjdk.org/guide/).
Please see the [OpenJDK Developers' Guide](https://openjdk.org/guide/).

View File

@@ -1,5 +1,3 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# Welcome to the JDK!
For build instructions please see the

View File

@@ -25,26 +25,7 @@
# Shell script for generating an IDEA project from a given list of modules
usage() {
echo "Usage: $0 [-h|--help] [-q|--quiet] [-a|--absolute-paths] [-r|--root <path>] [-o|--output <path>] [-c|--conf <conf_name>] [modules...]"
echo " -h | --help"
echo " -q | --quiet
No stdout output"
echo " -a | --absolute-paths
Use absolute paths to this jdk, so that generated .idea
project files can be moved independently of jdk sources"
echo " -r | --root <path>
Project content root
Default: $TOPLEVEL_DIR"
echo " -o | --output <path>
Where .idea directory with project files will be generated
(e.g. using '-o .' will place project files in './.idea')
Default: same as --root"
echo " -c | --conf <conf_name>
make configuration (release, slowdebug etc)"
echo " [modules...]
Generate project modules for specific java modules
(e.g. 'java.base java.desktop')
Default: all existing modules (java.* and jdk.*)"
echo "usage: $0 [-h|--help] [-v|--verbose] [-o|--output <path>] [-c|--conf <conf_name>] [modules]+"
exit 1
}
@@ -52,13 +33,10 @@ SCRIPT_DIR=`dirname $0`
#assume TOP is the dir from which the script has been called
TOP=`pwd`
cd $SCRIPT_DIR; SCRIPT_DIR=`pwd`
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
cd .. ; TOPLEVEL_DIR=`pwd`
fi
cd $TOP;
VERBOSE=true
ABSOLUTE_PATHS=false
IDEA_OUTPUT=$TOP/.idea
VERBOSE="false"
CONF_ARG=
while [ $# -gt 0 ]
do
@@ -67,24 +45,14 @@ do
usage
;;
-q | --quiet )
VERBOSE=false
;;
-a | --absolute-paths )
ABSOLUTE_PATHS=true
;;
-r | --root )
TOPLEVEL_DIR="$2"
shift
-v | --vebose )
VERBOSE="true"
;;
-o | --output )
IDEA_OUTPUT="$2/.idea"
IDEA_OUTPUT=$2/.idea
shift
;;
-c | --conf )
CONF_ARG="CONF_NAME=$2"
shift
@@ -101,17 +69,20 @@ do
shift
done
if [ "x$IDEA_OUTPUT" = "x" ] ; then
IDEA_OUTPUT="$TOPLEVEL_DIR/.idea"
if [ -e $IDEA_OUTPUT ] ; then
rm -r $IDEA_OUTPUT
fi
mkdir -p $IDEA_OUTPUT || exit 1
cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
cd $SCRIPT_DIR/..
TOPLEVEL_DIR=`pwd`
cd $IDEA_OUTPUT
fi
mkdir -p $IDEA_OUTPUT || exit 1
cd "$TOP" ; cd $TOPLEVEL_DIR; TOPLEVEL_DIR=`pwd`
cd "$TOP" ; cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
cd ..; IDEA_OUTPUT_PARENT=`pwd`
cd "$SCRIPT_DIR/.." ; OPENJDK_DIR=`pwd`
IDEA_MAKE="$OPENJDK_DIR/make/ide/idea/jdk"
MAKE_DIR="$SCRIPT_DIR/../make"
IDEA_MAKE="$MAKE_DIR/ide/idea/jdk"
IDEA_TEMPLATE="$IDEA_MAKE/template"
cp -r "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
@@ -123,31 +94,31 @@ if [ -d "$TEMPLATES_OVERRIDE" ] ; then
done
fi
if [ "$VERBOSE" = true ] ; then
echo "Will generate IDEA project files in \"$IDEA_OUTPUT\" for project \"$TOPLEVEL_DIR\""
if [ "$VERBOSE" = "true" ] ; then
echo "output dir: $IDEA_OUTPUT"
echo "idea template dir: $IDEA_TEMPLATE"
fi
cd $TOP ; make idea-gen-config ALLOW=TOPLEVEL_DIR,IDEA_OUTPUT_PARENT,IDEA_OUTPUT,MODULES TOPLEVEL_DIR="$TOPLEVEL_DIR" \
IDEA_OUTPUT_PARENT="$IDEA_OUTPUT_PARENT" IDEA_OUTPUT="$IDEA_OUTPUT" MODULES="$*" $CONF_ARG || exit 1
cd $TOP ; make idea-gen-config ALLOW=IDEA_OUTPUT,MODULES IDEA_OUTPUT=$IDEA_OUTPUT MODULES="$*" $CONF_ARG || exit 1
cd $SCRIPT_DIR
. $IDEA_OUTPUT/env.cfg
# Expect MODULES, MODULE_NAMES, RELATIVE_PROJECT_DIR, RELATIVE_BUILD_DIR to be set
if [ "xMODULES" = "x" ] ; then
echo "FATAL: MODULES is empty" >&2; exit 1
# Expect MODULE_ROOTS, MODULE_NAMES, BOOT_JDK & SPEC to be set
if [ "x$MODULE_ROOTS" = "x" ] ; then
echo "FATAL: MODULE_ROOTS is empty" >&2; exit 1
fi
if [ "x$MODULE_NAMES" = "x" ] ; then
echo "FATAL: MODULE_NAMES is empty" >&2; exit 1
fi
if [ "x$RELATIVE_PROJECT_DIR" = "x" ] ; then
echo "FATAL: RELATIVE_PROJECT_DIR is empty" >&2; exit 1
if [ "x$BOOT_JDK" = "x" ] ; then
echo "FATAL: BOOT_JDK is empty" >&2; exit 1
fi
if [ "x$RELATIVE_BUILD_DIR" = "x" ] ; then
echo "FATAL: RELATIVE_BUILD_DIR is empty" >&2; exit 1
if [ "x$SPEC" = "x" ] ; then
echo "FATAL: SPEC is empty" >&2; exit 1
fi
if [ -d "$TOPLEVEL_DIR/.hg" ] ; then
@@ -158,43 +129,6 @@ if [ -d "$TOPLEVEL_DIR/.git" ] ; then
VCS_TYPE="Git"
fi
if [ "$ABSOLUTE_PATHS" = true ] ; then
if [ "x$PATHTOOL" != "x" ]; then
PROJECT_DIR="`$PATHTOOL -am $OPENJDK_DIR`"
TOPLEVEL_PROJECT_DIR="`$PATHTOOL -am $TOPLEVEL_DIR`"
else
PROJECT_DIR="$OPENJDK_DIR"
TOPLEVEL_PROJECT_DIR="$TOPLEVEL_DIR"
fi
MODULE_DIR="$PROJECT_DIR"
TOPLEVEL_MODULE_DIR="$TOPLEVEL_PROJECT_DIR"
cd "$IDEA_OUTPUT_PARENT" && cd "$RELATIVE_BUILD_DIR" && BUILD_DIR="`pwd`"
CLION_SCRIPT_TOPDIR="$OPENJDK_DIR"
CLION_PROJECT_DIR="$PROJECT_DIR"
else
if [ "$RELATIVE_PROJECT_DIR" = "." ] ; then
PROJECT_DIR=""
else
PROJECT_DIR="/$RELATIVE_PROJECT_DIR"
fi
if [ "$RELATIVE_TOPLEVEL_PROJECT_DIR" = "." ] ; then
TOPLEVEL_PROJECT_DIR=""
else
TOPLEVEL_PROJECT_DIR="/$RELATIVE_TOPLEVEL_PROJECT_DIR"
fi
MODULE_DIR="\$MODULE_DIR\$$PROJECT_DIR"
PROJECT_DIR="\$PROJECT_DIR\$$PROJECT_DIR"
TOPLEVEL_MODULE_DIR="\$MODULE_DIR\$$TOPLEVEL_PROJECT_DIR"
TOPLEVEL_PROJECT_DIR="\$PROJECT_DIR\$$TOPLEVEL_PROJECT_DIR"
BUILD_DIR="\$PROJECT_DIR\$/$RELATIVE_BUILD_DIR"
CLION_SCRIPT_TOPDIR="$CLION_RELATIVE_PROJECT_DIR"
CLION_PROJECT_DIR="\$PROJECT_DIR\$/$CLION_SCRIPT_TOPDIR"
fi
if [ "$VERBOSE" = true ] ; then
echo "Project root: $PROJECT_DIR"
echo "Generating IDEA project files..."
fi
### Replace template variables
NUM_REPLACEMENTS=0
@@ -218,106 +152,116 @@ add_replacement() {
eval TO$NUM_REPLACEMENTS='$2'
}
add_replacement "###PATHTOOL###" "$PATHTOOL"
add_replacement "###CLION_SCRIPT_TOPDIR###" "$CLION_SCRIPT_TOPDIR"
add_replacement "###CLION_PROJECT_DIR###" "$CLION_PROJECT_DIR"
add_replacement "###PROJECT_DIR###" "$PROJECT_DIR"
add_replacement "###MODULE_DIR###" "$MODULE_DIR"
add_replacement "###TOPLEVEL_PROJECT_DIR###" "$TOPLEVEL_PROJECT_DIR"
add_replacement "###TOPLEVEL_MODULE_DIR###" "$TOPLEVEL_MODULE_DIR"
add_replacement "###MODULE_NAMES###" "$MODULE_NAMES"
add_replacement "###VCS_TYPE###" "$VCS_TYPE"
add_replacement "###BUILD_DIR###" "$BUILD_DIR"
add_replacement "###RELATIVE_BUILD_DIR###" "$RELATIVE_BUILD_DIR"
if [ "x$PATHTOOL" != "x" ]; then
add_replacement "###BASH_RUNNER_PREFIX###" "\$PROJECT_DIR\$/.idea/bash.bat"
else
add_replacement "###BASH_RUNNER_PREFIX###" ""
fi
if [ "x$PATHTOOL" != "x" ]; then
SPEC_DIR=`dirname $SPEC`
if [ "x$CYGPATH" != "x" ]; then
add_replacement "###BUILD_DIR###" "`$CYGPATH -am $SPEC_DIR`"
add_replacement "###IMAGES_DIR###" "`$CYGPATH -am $SPEC_DIR`/images/jdk"
add_replacement "###ROOT_DIR###" "`$CYGPATH -am $TOPLEVEL_DIR`"
add_replacement "###IDEA_DIR###" "`$CYGPATH -am $IDEA_OUTPUT`"
if [ "x$JT_HOME" = "x" ]; then
add_replacement "###JTREG_HOME###" ""
else
add_replacement "###JTREG_HOME###" "`$PATHTOOL -am $JT_HOME`"
add_replacement "###JTREG_HOME###" "`$CYGPATH -am $JT_HOME`"
fi
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
add_replacement "###BUILD_DIR###" "`wslpath -am $SPEC_DIR`"
add_replacement "###IMAGES_DIR###" "`wslpath -am $SPEC_DIR`/images/jdk"
add_replacement "###ROOT_DIR###" "`wslpath -am $TOPLEVEL_DIR`"
add_replacement "###IDEA_DIR###" "`wslpath -am $IDEA_OUTPUT`"
if [ "x$JT_HOME" = "x" ]; then
add_replacement "###JTREG_HOME###" ""
else
add_replacement "###JTREG_HOME###" "`wslpath -am $JT_HOME`"
fi
else
add_replacement "###BUILD_DIR###" "$SPEC_DIR"
add_replacement "###JTREG_HOME###" "$JT_HOME"
add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk"
add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR"
add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT"
fi
MODULE_IMLS=""
TEST_MODULE_DEPENDENCIES=""
for module in $MODULE_NAMES; do
MODULE_IMLS="$MODULE_IMLS<module fileurl=\"file://\$PROJECT_DIR$/.idea/$module.iml\" filepath=\"\$PROJECT_DIR$/.idea/$module.iml\" /> "
TEST_MODULE_DEPENDENCIES="$TEST_MODULE_DEPENDENCIES<orderEntry type=\"module\" module-name=\"$module\" scope=\"TEST\" /> "
SOURCE_PREFIX="<sourceFolder url=\"file://"
SOURCE_POSTFIX="\" isTestSource=\"false\" />"
for root in $MODULE_ROOTS; do
if [ "x$CYGPATH" != "x" ]; then
root=`$CYGPATH -am $root`
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
root=`wslpath -am $root`
fi
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
done
add_replacement "###MODULE_IMLS###" "$MODULE_IMLS"
add_replacement "###TEST_MODULE_DEPENDENCIES###" "$TEST_MODULE_DEPENDENCIES"
add_replacement "###SOURCE_ROOTS###" "$SOURCES"
replace_template_dir "$IDEA_OUTPUT"
### Generate module project files
### Compile the custom Logger
if [ "$VERBOSE" = true ] ; then
echo "Generating project modules:"
fi
(
DEFAULT_IFS="$IFS"
IFS='#'
for value in $MODULES; do
(
eval "$value"
if [ "$VERBOSE" = true ] ; then
echo " $module"
fi
MAIN_SOURCE_DIRS=""
CONTENT_ROOTS=""
IFS=' '
for dir in $moduleSrcDirs; do
case $dir in
"src/"*) MAIN_SOURCE_DIRS="$MAIN_SOURCE_DIRS <sourceFolder url=\"file://$MODULE_DIR/$dir\" isTestSource=\"false\" />" ;;
*"/support/gensrc/$module") ;; # Exclude generated sources to avoid module-info conflicts, see https://youtrack.jetbrains.com/issue/IDEA-185108
*) CONTENT_ROOTS="$CONTENT_ROOTS <content url=\"file://$MODULE_DIR/$dir\">\
<sourceFolder url=\"file://$MODULE_DIR/$dir\" isTestSource=\"false\" generated=\"true\" /></content>" ;;
esac
done
if [ "x$MAIN_SOURCE_DIRS" != "x" ] ; then
CONTENT_ROOTS="<content url=\"file://$MODULE_DIR/src/$module\">$MAIN_SOURCE_DIRS</content>$CONTENT_ROOTS"
fi
add_replacement "###MODULE_CONTENT_ROOTS###" "$CONTENT_ROOTS"
DEPENDENCIES=""
for dep in $moduleDependencies; do
case $MODULE_NAMES in # Exclude skipped modules from dependencies
*"$dep"*) DEPENDENCIES="$DEPENDENCIES<orderEntry type=\"module\" module-name=\"$dep\" /> "
esac
done
add_replacement "###DEPENDENCIES###" "$DEPENDENCIES"
cp "$IDEA_OUTPUT/module.iml" "$IDEA_OUTPUT/$module.iml"
IFS="$DEFAULT_IFS"
replace_template_file "$IDEA_OUTPUT/$module.iml"
)
done
)
rm "$IDEA_OUTPUT/module.iml"
CLASSES=$IDEA_OUTPUT/classes
### Create shell script runner for Windows
if [ "x$PATHTOOL" != "x" ]; then
echo "@echo off" > "$IDEA_OUTPUT/bash.bat"
if [ "x$WSL_DISTRO_NAME" != "x" ] ; then
echo "wsl -d $WSL_DISTRO_NAME --cd \"%cd%\" -e %*" >> "$IDEA_OUTPUT/bash.bat"
if [ "x$ANT_HOME" = "x" ] ; then
# try some common locations
if [ -f "/usr/share/ant/lib/ant.jar" ] ; then
ANT_HOME="/usr/share/ant"
else
echo "$WINENV_ROOT\bin\bash.exe -l -c \"cd %CD:\=/%/ && %*\"" >> "$IDEA_OUTPUT/bash.bat"
try_ant=$(ls /opt/homebrew/Cellar/ant/*/libexec/lib/ant.jar 2> /dev/null | sort -r | head -n 1)
if [ "x$try_ant" != "x" ] ; then
ANT_HOME=$(cd $(dirname $try_ant)/.. && pwd)
else
try_ant=$(ls /usr/local/Cellar/ant/*/libexec/lib/ant.jar 2> /dev/null | sort -r | head -n 1)
if [ "x$try_ant" != "x" ] ; then
ANT_HOME=$(cd $(dirname $try_ant)/.. && pwd)
fi
fi
fi
else
if [ ! -f "$ANT_HOME/lib/ant.jar" ] ; then
echo "FATAL: ANT_HOME is incorrect. Try removing it and use autodetection, or fix the value" >&2; exit 1
fi
fi
if [ "x$ANT_HOME" = "x" ] ; then
echo "FATAL: cannot find ant. Try setting ANT_HOME." >&2; exit 1
fi
CP=$ANT_HOME/lib/ant.jar
rm -rf $CLASSES; mkdir $CLASSES
# If we have a Windows boot JDK, we need a .exe suffix
if [ -e "$BOOT_JDK/bin/java.exe" ] ; then
JAVAC=javac.exe
else
JAVAC=javac
fi
if [ "$VERBOSE" = true ] ; then
IDEA_PROJECT_DIR="`dirname $IDEA_OUTPUT`"
if [ "x$PATHTOOL" != "x" ]; then
IDEA_PROJECT_DIR="`$PATHTOOL -am $IDEA_PROJECT_DIR`"
fi
echo "
Now you can open \"$IDEA_PROJECT_DIR\" as IDEA project
You can also run 'bash \"$IDEA_OUTPUT/jdk-clion/update-project.sh\"' to generate Clion project"
fi
# If we are on WSL, the boot JDK might be either Windows or Linux,
# and we need to use realpath instead of CYGPATH to make javac work on both.
# We need to handle this case first since CYGPATH might be set on WSL.
if [ "x$WSL_DISTRO_NAME" != "x" ]; then
JAVAC_SOURCE_FILE=`realpath --relative-to=./ $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
JAVAC_SOURCE_PATH=`realpath --relative-to=./ $IDEA_OUTPUT/src`
JAVAC_CLASSES=`realpath --relative-to=./ $CLASSES`
ANT_TEMP=`mktemp -d -p ./`
cp $ANT_HOME/lib/ant.jar $ANT_TEMP/ant.jar
JAVAC_CP=$ANT_TEMP/ant.jar
elif [ "x$CYGPATH" != "x" ] ; then ## CYGPATH may be set in env.cfg
JAVAC_SOURCE_FILE=`$CYGPATH -am $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
JAVAC_SOURCE_PATH=`$CYGPATH -am $IDEA_OUTPUT/src`
JAVAC_CLASSES=`$CYGPATH -am $CLASSES`
JAVAC_CP=`$CYGPATH -am $CP`
else
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java
JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src
JAVAC_CLASSES=$CLASSES
JAVAC_CP=$CP
fi
$BOOT_JDK/bin/$JAVAC -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE
if [ "x$WSL_DISTRO_NAME" != "x" ]; then
rm -rf $ANT_TEMP
fi

0
configure vendored Executable file → Normal file
View File

View File

@@ -282,9 +282,34 @@ possible, use an SSD. The build process is very disk intensive, and
having slow disk access will significantly increase build times. If you
need to use a network share for the source code, see below for
suggestions on how to keep the build artifacts on a local disk.</p></li>
<li><p>On Windows, if using <a href="#cygwin">Cygwin</a>, extra care
must be taken to make sure the environment is consistent. It is
recommended that you follow this procedure:</p>
<li><p>UTF-8 support is needed to compile the JDK. On Unix systems, this
typically means that the <code>C.UTF-8</code> or
<code>en_US.UTF-8</code> locale needs to be available. For Windows
users, please see the section on <a href="#locale-requirements">Locale
Requirements</a> below.</p></li>
<li><p>On Windows, extra care must be taken to have a smooth building
experience:</p>
<ul>
<li><p>Make sure that all relevant paths have short names. Short names
are used by the build system to create space-free alternative paths.
Short name creation is enabled per volume. The default setting can be
checked with the command: <code>fsutil 8dot3name query</code>. If short
name creation was turned off when a directory was created, it will not
have a short name. Whether a short name exists can be checked by running
<code>dir /X</code> in the containing directory (in cmd.exe). If a short
path is present you should see something like 'ASDF~1' being displayed
in one of the columns of the ouput. If a directory is missing a short
name, the safest way to get one is to enable short names for that
particular volume with
<code>fsutil 8dot3name set &lt;drive letter&gt;: 0</code> (note that
you need to run as administrator for this), and then re-create the
particular directory. A short name should be generated automatically
then. Another option is to manually assign a short name to the directory
using
<code>fsutil file setShortName &lt;path&gt; &lt;short name&gt;</code>.</p></li>
<li><p>If using <a href="#cygwin">Cygwin</a>, you must make sure the
file permissions and attributes between Windows and Cygwin are
consistent. It is recommended that you follow this procedure:</p>
<ul>
<li><p>Create the directory that is going to contain the top directory
of the JDK clone by using the <code>mkdir</code> command in the Cygwin
@@ -294,6 +319,9 @@ it's children will inherit those attributes.</p></li>
<li><p>Do not put the JDK clone in a path under your Cygwin home
directory. This is especially important if your user name contains
spaces and/or mixed upper and lower case letters.</p></li>
</ul>
<p>Failure to follow these procedures might result in hard-to-debug
build problems.</p></li>
<li><p>You need to install a git client. You have two choices, Cygwin
git or Git for Windows. Unfortunately there are pros and cons with each
choice.</p>
@@ -311,9 +339,7 @@ It does work well with the Skara CLI tooling, however. To alleviate the
line ending problems, make sure you set <code>core.autocrlf</code> to
<code>false</code> (this is asked during installation).</p></li>
</ul></li>
</ul>
<p>Failure to follow this procedure might result in hard-to-debug build
problems.</p></li>
</ul></li>
</ul>
<h2 id="build-hardware-requirements">Build Hardware Requirements</h2>
<p>The JDK is a massive project, and require machines ranging from
@@ -376,7 +402,7 @@ to date at the time of writing.</p>
</tr>
<tr class="odd">
<td>macOS</td>
<td>macOS 13.x (Ventura)</td>
<td>macOS 14.x</td>
</tr>
<tr class="even">
<td>Windows</td>
@@ -513,8 +539,8 @@ this makes it difficult for a project such as the JDK to keep pace with
a continuously updated machine running macOS. See the section on <a
href="#apple-xcode">Apple Xcode</a> on some strategies to deal with
this.</p>
<p>It is recommended that you use at least macOS 13 (Ventura) and Xcode
14, but earlier versions may also work.</p>
<p>It is recommended that you use at least macOS 14 and Xcode 15.4, but
earlier versions may also work.</p>
<p>The standard macOS environment contains the basic tooling needed to
build, but for external libraries a package manager is recommended. The
JDK uses <a href="https://brew.sh/">homebrew</a> in the examples, but
@@ -586,15 +612,15 @@ to compile successfully without issues.</p>
<tbody>
<tr class="odd">
<td>Linux</td>
<td>gcc 13.2.0</td>
<td>gcc 14.2.0</td>
</tr>
<tr class="even">
<td>macOS</td>
<td>Apple Xcode 14.3.1 (using clang 14.0.3)</td>
<td>Apple Xcode 15.4 (using clang 15.0.0)</td>
</tr>
<tr class="odd">
<td>Windows</td>
<td>Microsoft Visual Studio 2022 version 17.6.5</td>
<td>Microsoft Visual Studio 2022 version 17.13.2</td>
</tr>
</tbody>
</table>
@@ -604,7 +630,7 @@ standard for C, and C++14 for C++.</p>
<p>The minimum accepted version of gcc is 10.0. Older versions will not
be accepted by <code>configure</code>.</p>
<p>The JDK is currently known to compile successfully with gcc version
13.2 or newer.</p>
14.2 or newer.</p>
<p>In general, any version between these two should be usable.</p>
<h3 id="clang">clang</h3>
<p>The minimum accepted version of clang is 13. Older versions will not
@@ -1722,6 +1748,20 @@ packages in the sysroot, configure the build with
--with-devkit=$DEVKIT \
--with-sysroot=$SYSROOT</code></pre>
<p>and run <code>make</code> normally.</p>
<h4 id="building-for-windows-aarch64">Building for Windows AArch64</h4>
<p>The Visual Studio Build Tools can be used for building the JDK
without a full Visual Studio installation. To set up the Visual Studio
2022 Build Tools on a Windows AArch64 machine for a native build, launch
the installer as follows in a Windows command prompt:</p>
<pre><code>vs_buildtools.exe --quiet --wait --norestart --nocache ^
--installPath &quot;%ProgramFiles(x86)%\Microsoft Visual Studio\2022\BuildTools&quot; ^
--add Microsoft.VisualStudio.Component.VC.CoreBuildTools ^
--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 ^
--add Microsoft.VisualStudio.Component.Windows11SDK.22621</code></pre>
<p>To generate Windows AArch64 builds using Cygwin on a Windows x64
machine, you must set the proper target platform by adding
<code>--openjdk-target=aarch64-unknown-cygwin</code> to your configure
command line.</p>
<h2 id="build-performance">Build Performance</h2>
<p>Building the JDK requires a lot of horsepower. Some of the build
tools can be adjusted to utilize more or less of resources such as

View File

@@ -83,19 +83,44 @@ on where and how to check out the source code.
for the source code, see below for suggestions on how to keep the build
artifacts on a local disk.
* On Windows, if using [Cygwin](#cygwin), extra care must be taken to make sure
the environment is consistent. It is recommended that you follow this
procedure:
* UTF-8 support is needed to compile the JDK. On Unix systems, this typically
means that the `C.UTF-8` or `en_US.UTF-8` locale needs to be available. For
Windows users, please see the section on [Locale
Requirements](#locale-requirements) below.
* Create the directory that is going to contain the top directory of the JDK
clone by using the `mkdir` command in the Cygwin bash shell. That is, do
*not* create it using Windows Explorer. This will ensure that it will have
proper Cygwin attributes, and that it's children will inherit those
attributes.
* On Windows, extra care must be taken to have a smooth building experience:
* Do not put the JDK clone in a path under your Cygwin home directory. This
is especially important if your user name contains spaces and/or mixed
upper and lower case letters.
* Make sure that all relevant paths have short names. Short names are used by
the build system to create space-free alternative paths. Short name
creation is enabled per volume. The default setting can be checked with the
command: `fsutil 8dot3name query`. If short name creation was turned off
when a directory was created, it will not have a short name. Whether a
short name exists can be checked by running `dir /X` in the containing
directory (in cmd.exe). If a short path is present you should see something
like 'ASDF~1' being displayed in one of the columns of the ouput. If a
directory is missing a short name, the safest way to get one is to enable
short names for that particular volume with `fsutil 8dot3name set <drive
letter>: 0` (note that you need to run as administrator for this), and then
re-create the particular directory. A short name should be generated
automatically then. Another option is to manually assign a short name to
the directory using `fsutil file setShortName <path> <short name>`.
* If using [Cygwin](#cygwin), you must make sure the file permissions and
attributes between Windows and Cygwin are consistent. It is recommended
that you follow this procedure:
* Create the directory that is going to contain the top directory of the
JDK clone by using the `mkdir` command in the Cygwin bash shell. That is,
do *not* create it using Windows Explorer. This will ensure that it will
have proper Cygwin attributes, and that it's children will inherit those
attributes.
* Do not put the JDK clone in a path under your Cygwin home directory. This
is especially important if your user name contains spaces and/or mixed
upper and lower case letters.
Failure to follow these procedures might result in hard-to-debug build
problems.
* You need to install a git client. You have two choices, Cygwin git or Git
for Windows. Unfortunately there are pros and cons with each choice.
@@ -113,9 +138,6 @@ on where and how to check out the source code.
make sure you set `core.autocrlf` to `false` (this is asked during
installation).
Failure to follow this procedure might result in hard-to-debug build
problems.
## Build Hardware Requirements
The JDK is a massive project, and require machines ranging from decent to
@@ -175,7 +197,7 @@ time of writing.
| ----------------- | ---------------------------------- |
| Linux/x64 | Oracle Enterprise Linux 6.4 / 8.x |
| Linux/aarch64 | Oracle Enterprise Linux 7.6 / 8.x |
| macOS | macOS 13.x (Ventura) |
| macOS | macOS 14.x |
| Windows | Windows Server 2016 |
The double version numbers for Linux are due to the hybrid model used at
@@ -327,7 +349,7 @@ difficult for a project such as the JDK to keep pace with a continuously
updated machine running macOS. See the section on [Apple Xcode](#apple-xcode)
on some strategies to deal with this.
It is recommended that you use at least macOS 13 (Ventura) and Xcode 14, but
It is recommended that you use at least macOS 14 and Xcode 15.4, but
earlier versions may also work.
The standard macOS environment contains the basic tooling needed to build, but
@@ -390,11 +412,11 @@ possible to compile the JDK with both older and newer versions, but the closer
you stay to this list, the more likely you are to compile successfully without
issues.
| Operating system | Toolchain version |
| ------------------ | ------------------------------------------- |
| Linux | gcc 13.2.0 |
| macOS | Apple Xcode 14.3.1 (using clang 14.0.3) |
| Windows | Microsoft Visual Studio 2022 version 17.6.5 |
| Operating system | Toolchain version |
| ------------------ | -------------------------------------------- |
| Linux | gcc 14.2.0 |
| macOS | Apple Xcode 15.4 (using clang 15.0.0) |
| Windows | Microsoft Visual Studio 2022 version 17.13.2 |
All compilers are expected to be able to handle the C11 language standard for
C, and C++14 for C++.
@@ -404,7 +426,7 @@ C, and C++14 for C++.
The minimum accepted version of gcc is 10.0. Older versions will not be accepted
by `configure`.
The JDK is currently known to compile successfully with gcc version 13.2 or
The JDK is currently known to compile successfully with gcc version 14.2 or
newer.
In general, any version between these two should be usable.
@@ -1457,6 +1479,24 @@ sh ./configure --with-jvm-variants=server \
and run `make` normally.
#### Building for Windows AArch64
The Visual Studio Build Tools can be used for building the JDK without a full
Visual Studio installation. To set up the Visual Studio 2022 Build Tools on a
Windows AArch64 machine for a native build, launch the installer as follows
in a Windows command prompt:
```
vs_buildtools.exe --quiet --wait --norestart --nocache ^
--installPath "%ProgramFiles(x86)%\Microsoft Visual Studio\2022\BuildTools" ^
--add Microsoft.VisualStudio.Component.VC.CoreBuildTools ^
--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 ^
--add Microsoft.VisualStudio.Component.Windows11SDK.22621
```
To generate Windows AArch64 builds using Cygwin on a Windows x64 machine,
you must set the proper target platform by adding
`--openjdk-target=aarch64-unknown-cygwin` to your configure command line.
## Build Performance
Building the JDK requires a lot of horsepower. Some of the build tools can be

View File

@@ -32,11 +32,12 @@
<ul>
<li><a href="#introduction" id="toc-introduction">Introduction</a>
<ul>
<li><a href="#changing-this-document"
id="toc-changing-this-document">Changing this Document</a></li>
<li><a href="#why-care-about-style" id="toc-why-care-about-style">Why
Care About Style?</a></li>
<li><a href="#counterexamples-and-updates"
id="toc-counterexamples-and-updates">Counterexamples and
Updates</a></li>
<li><a href="#counterexamples"
id="toc-counterexamples">Counterexamples</a></li>
</ul></li>
<li><a href="#structure-and-formatting"
id="toc-structure-and-formatting">Structure and Formatting</a>
@@ -99,6 +100,21 @@ writing HotSpot code. Following these will help new code fit in with
existing HotSpot code, making it easier to read and maintain. Failure to
follow these guidelines may lead to discussion during code reviews, if
not outright rejection of a change.</p>
<h3 id="changing-this-document">Changing this Document</h3>
<p>Proposed changes should be discussed on the <a
href="mailto:hotspot-dev@openjdk.org">HotSpot Developers</a> mailing
list. Changes are likely to be cautious and incremental, since HotSpot
coders have been using these guidelines for years.</p>
<p>Substantive changes are approved by <a
href="https://www.rfc-editor.org/rfc/rfc7282.html">rough consensus</a>
of the <a href="https://openjdk.org/census#hotspot">HotSpot Group</a>
Members. The Group Lead determines whether consensus has been
reached.</p>
<p>Editorial changes (changes that only affect the description of
HotSpot style, not its substance) do not require the full consensus
gathering process. The normal HotSpot pull request process may be used
for editorial changes, with the additional requirement that the
requisite reviewers are also HotSpot Group Members.</p>
<h3 id="why-care-about-style">Why Care About Style?</h3>
<p>Some programmers seem to have lexers and even C preprocessors
installed directly behind their eyeballs. The rest of us require code
@@ -124,7 +140,7 @@ conforms locally to its own peculiar conventions, it is not worth
reformatting the whole thing. Also consider separating changes that make
extensive stylistic updates from those which make functional
changes.</p>
<h3 id="counterexamples-and-updates">Counterexamples and Updates</h3>
<h3 id="counterexamples">Counterexamples</h3>
<p>Many of the guidelines mentioned here have (sometimes widespread)
counterexamples in the HotSpot code base. Finding a counterexample is
not sufficient justification for new code to follow the counterexample
@@ -137,20 +153,6 @@ bring it up for discussion and possible change. The architectural rule,
of course, is "When in Rome do as the Romans". Sometimes in the suburbs
of Rome the rules are a little different; these differences can be
pointed out here.</p>
<p>Proposed changes should be discussed on the <a
href="mailto:hotspot-dev@openjdk.org">HotSpot Developers</a> mailing
list. Changes are likely to be cautious and incremental, since HotSpot
coders have been using these guidelines for years.</p>
<p>Substantive changes are approved by <a
href="https://www.rfc-editor.org/rfc/rfc7282.html">rough consensus</a>
of the <a href="https://openjdk.org/census#hotspot">HotSpot Group</a>
Members. The Group Lead determines whether consensus has been
reached.</p>
<p>Editorial changes (changes that only affect the description of
HotSpot style, not its substance) do not require the full consensus
gathering process. The normal HotSpot pull request process may be used
for editorial changes, with the additional requirement that the
requisite reviewers are also HotSpot Group Members.</p>
<h2 id="structure-and-formatting">Structure and Formatting</h2>
<h3 id="factoring-and-class-design">Factoring and Class Design</h3>
<ul>

View File

@@ -8,6 +8,24 @@ HotSpot code, making it easier to read and maintain. Failure to
follow these guidelines may lead to discussion during code reviews, if
not outright rejection of a change.
### Changing this Document
Proposed changes should be discussed on the
[HotSpot Developers](mailto:hotspot-dev@openjdk.org) mailing
list. Changes are likely to be cautious and incremental, since HotSpot
coders have been using these guidelines for years.
Substantive changes are approved by
[rough consensus](https://www.rfc-editor.org/rfc/rfc7282.html) of
the [HotSpot Group](https://openjdk.org/census#hotspot) Members.
The Group Lead determines whether consensus has been reached.
Editorial changes (changes that only affect the description of HotSpot
style, not its substance) do not require the full consensus gathering
process. The normal HotSpot pull request process may be used for
editorial changes, with the additional requirement that the requisite
reviewers are also HotSpot Group Members.
### Why Care About Style?
Some programmers seem to have lexers and even C preprocessors
@@ -38,7 +56,7 @@ reformatting the whole thing. Also consider separating changes that
make extensive stylistic updates from those which make functional
changes.
### Counterexamples and Updates
### Counterexamples
Many of the guidelines mentioned here have (sometimes widespread)
counterexamples in the HotSpot code base. Finding a counterexample is
@@ -54,22 +72,6 @@ rule, of course, is "When in Rome do as the Romans". Sometimes in the
suburbs of Rome the rules are a little different; these differences
can be pointed out here.
Proposed changes should be discussed on the
[HotSpot Developers](mailto:hotspot-dev@openjdk.org) mailing
list. Changes are likely to be cautious and incremental, since HotSpot
coders have been using these guidelines for years.
Substantive changes are approved by
[rough consensus](https://www.rfc-editor.org/rfc/rfc7282.html) of
the [HotSpot Group](https://openjdk.org/census#hotspot) Members.
The Group Lead determines whether consensus has been reached.
Editorial changes (changes that only affect the description of HotSpot
style, not its substance) do not require the full consensus gathering
process. The normal HotSpot pull request process may be used for
editorial changes, with the additional requirement that the requisite
reviewers are also HotSpot Group Members.
## Structure and Formatting
### Factoring and Class Design

View File

@@ -189,7 +189,7 @@ wants to find) and design tests using those models.</p>
<p>Prefer having checks inside test code.</p>
<p>Not only does having test logic outside, e.g. verification method,
depending on asserts in product code contradict with several items above
but also decreases tests readability and stability. It is much easier
but also decreases test's readability and stability. It is much easier
to understand that a test is testing when all testing logic is located
inside a test or nearby in shared test libraries. As a rule of thumb,
the closer a check to a test, the better.</p>
@@ -198,7 +198,7 @@ the closer a check to a test, the better.</p>
<p>Prefer <code>EXPECT</code> over <code>ASSERT</code> if possible.</p>
<p>This is related to the <a href="#informativeness">informativeness</a>
property of tests, information for other checks can help to better
localize a defects root-cause. One should use <code>ASSERT</code> if it
localize a defect's root-cause. One should use <code>ASSERT</code> if it
is impossible to continue test execution or if it does not make much
sense. Later in the text, <code>EXPECT</code> forms will be used to
refer to both <code>ASSERT/EXPECT</code>.</p>
@@ -235,7 +235,7 @@ which checks that the absolute value of the difference between
<code>eps</code>.</p>
<h3 id="c-string-comparison">C string comparison</h3>
<p>Use string special macros for C strings comparisons.</p>
<p><code>EXPECT_EQ</code> just compares pointers values, which is
<p><code>EXPECT_EQ</code> just compares pointers' values, which is
hardly what one wants comparing C strings. GoogleTest provides
<code>EXPECT_STREQ</code> and <code>EXPECT_STRNE</code> macros to
compare C string contents. There are also case-insensitive versions
@@ -293,7 +293,7 @@ subsystem, etc.</p>
<p>This naming scheme helps to find tests, filter them and simplifies
test failure analysis. For example, class <code>Foo</code> - test group
<code>Foo</code>, compiler logging subsystem - test group
<code>CompilerLogging</code>, G1 GC test group <code>G1GC</code>, and
<code>CompilerLogging</code>, G1 GC - test group <code>G1GC</code>, and
so forth.</p>
<h3 id="filename">Filename</h3>
<p>A test file must have <code>test_</code> prefix and <code>.cpp</code>
@@ -345,7 +345,7 @@ name starts or ends with an underscore are enough to be safe.</p>
<h3 id="friend-classes">Friend classes</h3>
<p>All test purpose friends should have either <code>Test</code> or
<code>Testable</code> suffix.</p>
<p>It greatly simplifies understanding of friendships purpose and
<p>It greatly simplifies understanding of friendship's purpose and
allows statically check that private members are not exposed
unexpectedly. Having <code>FooTest</code> as a friend of
<code>Foo</code> without any comments will be understood as a necessary
@@ -435,7 +435,7 @@ inapplicable tests.</p>
<h3 id="flag-restoring">Flag restoring</h3>
<p>Restore changed flags.</p>
<p>It is quite common for tests to configure JVM in a certain way
changing flags values. GoogleTest provides two ways to set up
changing flags' values. GoogleTest provides two ways to set up
environment before a test and restore it afterward: using either
constructor and destructor or <code>SetUp</code> and
<code>TearDown</code> functions. Both ways require to use a test fixture
@@ -444,7 +444,7 @@ class, which sometimes is too wordy. The simpler facilities like
be used in such cases to restore/set values.</p>
<p>Caveats:</p>
<ul>
<li><p>Changing a flags value could break the invariants between flags'
<li><p>Changing a flag's value could break the invariants between flags'
values and hence could lead to unexpected/unsupported JVM
state.</p></li>
<li><p><code>FLAG_SET_*</code> macros can change more than one flag (in

View File

@@ -106,7 +106,7 @@ Prefer having checks inside test code.
Not only does having test logic outside, e.g. verification method,
depending on asserts in product code contradict with several items
above but also decreases tests readability and stability. It is much
above but also decreases test's readability and stability. It is much
easier to understand that a test is testing when all testing logic is
located inside a test or nearby in shared test libraries. As a rule of
thumb, the closer a check to a test, the better.
@@ -119,7 +119,7 @@ Prefer `EXPECT` over `ASSERT` if possible.
This is related to the [informativeness](#informativeness) property of
tests, information for other checks can help to better localize a
defects root-cause. One should use `ASSERT` if it is impossible to
defect's root-cause. One should use `ASSERT` if it is impossible to
continue test execution or if it does not make much sense. Later in
the text, `EXPECT` forms will be used to refer to both
`ASSERT/EXPECT`.
@@ -160,7 +160,7 @@ value of the difference between `v1` and `v2` is not greater than `eps`.
Use string special macros for C strings comparisons.
`EXPECT_EQ` just compares pointers values, which is hardly what one
`EXPECT_EQ` just compares pointers' values, which is hardly what one
wants comparing C strings. GoogleTest provides `EXPECT_STREQ` and
`EXPECT_STRNE` macros to compare C string contents. There are also
case-insensitive versions `EXPECT_STRCASEEQ`, `EXPECT_STRCASENE`.
@@ -226,7 +226,7 @@ subsystem, etc.
This naming scheme helps to find tests, filter them and simplifies
test failure analysis. For example, class `Foo` - test group `Foo`,
compiler logging subsystem - test group `CompilerLogging`, G1 GC test
compiler logging subsystem - test group `CompilerLogging`, G1 GC - test
group `G1GC`, and so forth.
### Filename
@@ -287,7 +287,7 @@ Fixture classes should be named after tested classes, subsystems, etc
All test purpose friends should have either `Test` or `Testable` suffix.
It greatly simplifies understanding of friendships purpose and allows
It greatly simplifies understanding of friendship's purpose and allows
statically check that private members are not exposed unexpectedly.
Having `FooTest` as a friend of `Foo` without any comments will be
understood as a necessary evil to get testability.
@@ -397,7 +397,7 @@ and filter out inapplicable tests.
Restore changed flags.
It is quite common for tests to configure JVM in a certain way
changing flags values. GoogleTest provides two ways to set up
changing flags' values. GoogleTest provides two ways to set up
environment before a test and restore it afterward: using either
constructor and destructor or `SetUp` and `TearDown` functions. Both ways
require to use a test fixture class, which sometimes is too wordy. The
@@ -406,7 +406,7 @@ be used in such cases to restore/set values.
Caveats:
* Changing a flags value could break the invariants between flags' values and hence could lead to unexpected/unsupported JVM state.
* Changing a flag's value could break the invariants between flags' values and hence could lead to unexpected/unsupported JVM state.
* `FLAG_SET_*` macros can change more than one flag (in order to
maintain invariants) so it is hard to predict what flags will be

View File

@@ -0,0 +1,127 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Explanation of start of release changes</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
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 li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css" />
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<header id="title-block-header">
<h1 class="title">Explanation of start of release changes</h1>
</header>
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#overview" id="toc-overview">Overview</a></li>
<li><a href="#details-and-file-updates"
id="toc-details-and-file-updates">Details and file updates</a>
<ul>
<li><a href="#meta-data-files" id="toc-meta-data-files">Meta-data
files</a></li>
<li><a href="#src-files" id="toc-src-files"><code>src</code>
files</a></li>
<li><a href="#test-files" id="toc-test-files"><code>test</code>
files</a></li>
</ul></li>
</ul>
</nav>
<h2 id="overview">Overview</h2>
<p>The start of release changes, the changes that turn JDK <em>N</em>
into JDK (<em>N</em>+1), are primarily small updates to various files
along with new files to store symbol information to allow
<code>javac --release N ...</code> to run on JDK (<em>N</em>+1).</p>
<p>The updates include changes to files holding meta-data about the
release, files under the <code>src</code> directory for API and tooling
updates, and incidental updates under the <code>test</code>
directory.</p>
<h2 id="details-and-file-updates">Details and file updates</h2>
<p>As a matter of policy, there are a number of semantically distinct
concepts which get incremented separately at the start of a new
release:</p>
<ul>
<li>Feature value of <code>Runtime.version()</code></li>
<li>Highest source version modeled by
<code>javax.lang.model.SourceVersion</code></li>
<li>Highest class file format major version recognized by the
platform</li>
<li>Highest
<code>-source</code>/<code>-target</code>/<code>--release</code>
argument recognized by <code>javac</code> and related tools</li>
</ul>
<p>The expected file updates are listed below. Additional files may need
to be updated for a particular release.</p>
<h3 id="meta-data-files">Meta-data files</h3>
<ul>
<li><code>jcheck/conf</code>: update meta-data used by
<code>jcheck</code> and the Skara tooling</li>
<li><code>make/conf/version-numbers.conf</code>: update to meta-data
used in the build</li>
</ul>
<h3 id="src-files"><code>src</code> files</h3>
<ul>
<li><code>src/hotspot/share/classfile/classFileParser.cpp</code>: add a
<code>#define</code> for the new version</li>
<li><code>src/java.base/share/classes/java/lang/classfile/ClassFile.java</code>:
add a constant for the new class file format version</li>
<li><code>src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java</code>:
add an <code>enum</code> constant for the new class file format
version</li>
<li><code>src/java.compiler/share/classes/javax/lang/model/SourceVersion.java</code>:
add an <code>enum</code> constant for the new source version</li>
<li><code>src/java.compiler/share/classes/javax/lang/model/util/*</code>
visitors: Update <code>@SupportedSourceVersion</code> annotations to
latest value. Note this update is done in lieu of introducing another
set of visitors for each Java SE release.</li>
<li><code>src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java</code>:
add an <code>enum</code> constant for the new source version internal to
<code>javac</code></li>
<li><code>src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java</code>:
add an <code>enum</code> constant for the new class file format version
internal to <code>javac</code></li>
<li><code>src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java</code>:
add an <code>enum</code> constant for the new target version internal to
<code>javac</code></li>
<li><code>src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java</code>
update printing processor to support the new source version</li>
<li>The symbol information for <code>--release</code> is stored as new
text files in the <code>src/jdk.compiler/share/data/symbols</code>
directory, one file per module. The README file in that directory
contains directions on how to create the files.</li>
</ul>
<h3 id="test-files"><code>test</code> files</h3>
<ul>
<li><code>test/langtools/tools/javac/api/TestGetSourceVersions.java</code>:
add new <code>SourceVersion</code> constant to test matrix.</li>
<li><code>test/langtools/tools/javac/classfiles/ClassVersionChecker.java</code>:
add new enum constant for the new class file version</li>
<li><code>test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.java</code>
update annotation processor extended by <code>javac</code> tests to
cover the new source version</li>
<li><code>test/langtools/tools/javac/preview/classReaderTest/Client.nopreview.out</code>
and
<code>test/langtools/tools/javac/preview/classReaderTest/Client.preview.out</code>:
update expected messages for preview errors and warnings</li>
</ul>
</body>
</html>

View File

@@ -0,0 +1,68 @@
% Explanation of start of release changes
## Overview
The start of release changes, the changes that turn JDK _N_ into JDK
(_N_+1), are primarily small updates to various files along with new files to
store symbol information to allow `javac --release N ...` to run on
JDK (_N_+1).
The updates include changes to files holding meta-data about the
release, files under the `src` directory for API and tooling updates,
and incidental updates under the `test` directory.
## Details and file updates
As a matter of policy, there are a number of semantically distinct
concepts which get incremented separately at the start of a new
release:
* Feature value of `Runtime.version()`
* Highest source version modeled by `javax.lang.model.SourceVersion`
* Highest class file format major version recognized by the platform
* Highest `-source`/`-target`/`--release` argument recognized by
`javac` and related tools
The expected file updates are listed below. Additional files may need
to be updated for a particular release.
### Meta-data files
* `jcheck/conf`: update meta-data used by `jcheck` and the Skara tooling
* `make/conf/version-numbers.conf`: update to meta-data used in the build
### `src` files
* `src/hotspot/share/classfile/classFileParser.cpp`: add a `#define`
for the new version
* `src/java.base/share/classes/java/lang/classfile/ClassFile.java`:
add a constant for the new class file format version
* `src/java.base/share/classes/java/lang/reflect/ClassFileFormatVersion.java`:
add an `enum` constant for the new class file format version
* `src/java.compiler/share/classes/javax/lang/model/SourceVersion.java`:
add an `enum` constant for the new source version
* `src/java.compiler/share/classes/javax/lang/model/util/*` visitors: Update
`@SupportedSourceVersion` annotations to latest value. Note this update
is done in lieu of introducing another set of visitors for each Java
SE release.
* `src/jdk.compiler/share/classes/com/sun/tools/javac/code/Source.java`:
add an `enum` constant for the new source version internal to `javac`
* `src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java`:
add an `enum` constant for the new class file format version internal to `javac`
* `src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Target.java`:
add an `enum` constant for the new target version internal to `javac`
* `src/jdk.compiler/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java`
update printing processor to support the new source version
* The symbol information for `--release` is stored as new text files in the
`src/jdk.compiler/share/data/symbols` directory, one file per
module. The README file in that directory contains directions on how
to create the files.
### `test` files
* `test/langtools/tools/javac/api/TestGetSourceVersions.java`: add new `SourceVersion` constant to test matrix.
* `test/langtools/tools/javac/classfiles/ClassVersionChecker.java`: add new enum constant for the new class file version
* `test/langtools/tools/javac/lib/JavacTestingAbstractProcessor.java`
update annotation processor extended by `javac` tests to cover the new source version
* `test/langtools/tools/javac/preview/classReaderTest/Client.nopreview.out` and `test/langtools/tools/javac/preview/classReaderTest/Client.preview.out`: update expected messages for preview errors and warnings

View File

@@ -72,6 +72,11 @@ 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>
<li><a href="#testing-with-alternative-security-providers"
id="toc-testing-with-alternative-security-providers">Testing with
alternative security providers</a></li>
@@ -411,6 +416,13 @@ instrumentation
special target <code>jcov-test</code> instead of <code>test</code>, e.g.
<code>make jcov-test TEST=jdk_lang</code>. This will make sure the JCov
image is built, and that JCov reporting is enabled.</p>
<p>To include JCov coverage for just a subset of all modules, you can
use the <code>--with-jcov-modules</code> arguments to
<code>configure</code>, e.g.
<code>--with-jcov-modules=jdk.compiler,java.desktop</code>.</p>
<p>For more fine-grained control, you can pass arbitrary filters to JCov
using <code>--with-jcov-filters</code>, and you can specify a specific
JDK to instrument using <code>--with-jcov-input-jdk</code>.</p>
<p>The JCov report is stored in
<code>build/$BUILD/test-results/jcov-output/report</code>.</p>
<p>Please note that running with JCov reporting can be very memory
@@ -589,6 +601,37 @@ 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>
<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>
<pre><code>$ make test JTREG=&quot;AOT_JDK=onestep&quot; \
TEST=open/test/hotspot/jtreg/runtime/invokedynamic</code></pre>
<p>In this testing mode, we first perform an AOT training run (see
https://openjdk.org/jeps/483) of a special test program (<a
href="../test/setup_aot/TestSetupAOT.java">test/setup_aot/TestSetupAOT.java</a>)
that accesses about 5,0000 classes in the JDK core libraries.
Optimization artifacts for these classes (such as pre-linked lambda
expressions, execution profiles, and pre-generated native code) are
stored into an AOT cache file, which will be used by all the JVMs
launched by the selected jtreg test cases.</p>
<p>When the jtreg tests call into the core libraries classes that are in
the AOT cache, we will be able to test the AOT optimizations that were
used on those classes.</p>
<p>Please note that not all existing jtreg test cases can be executed
with the AOT_JDK mode. See <a
href="../test/hotspot/jtreg/ProblemList-AotJdk.txt">test/hotspot/jtreg/ProblemList-AotJdk.txt</a>
and <a
href="../test/jdk/ProblemList-AotJdk.txt">test/jdk/ProblemList-AotJdk.txt</a>.</p>
<p>Also, test cases that were written specifically to test AOT, such as
the tests under <a
href="../test/hotspot/jtreg/runtime/cds/">test/hotspot/jtreg/runtime/cds</a>,
cannot be executed with the AOT_JDK mode.</p>
<p>Valid values for <code>AOT_JDK</code> are <code>onestep</code> and
<code>twostep</code>. These control how the AOT cache is generated. See
https://openjdk.org/jeps/514 for details. All other values are
ignored.</p>
<h3 id="testing-with-alternative-security-providers">Testing with
alternative security providers</h3>
<p>Some security tests use a hardcoded provider for

View File

@@ -345,6 +345,14 @@ The simplest way to run tests with JCov coverage report is to use the special
target `jcov-test` instead of `test`, e.g. `make jcov-test TEST=jdk_lang`. This
will make sure the JCov image is built, and that JCov reporting is enabled.
To include JCov coverage for just a subset of all modules, you can use the
`--with-jcov-modules` arguments to `configure`, e.g.
`--with-jcov-modules=jdk.compiler,java.desktop`.
For more fine-grained control, you can pass arbitrary filters to JCov using
`--with-jcov-filters`, and you can specify a specific JDK to instrument
using `--with-jcov-input-jdk`.
The JCov report is stored in `build/$BUILD/test-results/jcov-output/report`.
Please note that running with JCov reporting can be very memory intensive.
@@ -603,6 +611,43 @@ $ make test TEST="jtreg:sun/security/pkcs11/Secmod/AddTrustedCert.java" \
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:
```
$ make test JTREG="AOT_JDK=onestep" \
TEST=open/test/hotspot/jtreg/runtime/invokedynamic
```
In this testing mode, we first perform an AOT training run
(see https://openjdk.org/jeps/483) of a special test program
([test/setup_aot/TestSetupAOT.java](../test/setup_aot/TestSetupAOT.java))
that accesses about 5,0000 classes in the JDK core libraries.
Optimization artifacts for these classes (such as pre-linked
lambda expressions, execution profiles, and pre-generated native code)
are stored into an AOT cache file, which will be used by all the JVMs
launched by the selected jtreg test cases.
When the jtreg tests call into the core libraries classes that are in
the AOT cache, we will be able to test the AOT optimizations that were
used on those classes.
Please note that not all existing jtreg test cases can be executed with
the AOT_JDK mode. See
[test/hotspot/jtreg/ProblemList-AotJdk.txt](../test/hotspot/jtreg/ProblemList-AotJdk.txt)
and [test/jdk/ProblemList-AotJdk.txt](../test/jdk/ProblemList-AotJdk.txt).
Also, test cases that were written specifically to test AOT, such as the tests
under [test/hotspot/jtreg/runtime/cds](../test/hotspot/jtreg/runtime/cds/),
cannot be executed with the AOT_JDK mode.
Valid values for `AOT_JDK` are `onestep` and `twostep`. These control how
the AOT cache is generated. See https://openjdk.org/jeps/514 for details.
All other values are ignored.
### Testing with alternative security providers
Some security tests use a hardcoded provider for `KeyFactory`, `Cipher`,

View File

@@ -1,274 +0,0 @@
#!/usr/bin/env python3
import argparse
import os.path
import sys
import subprocess
errors_count = 0
def fatal(msg):
sys.stderr.write(f"[fatal] {msg}\n")
sys.exit(1)
def error(msg):
global errors_count
errors_count += 1
sys.stderr.write(f"[error] {msg}\n")
def verbose(options, *msg):
if options.verbose:
sys.stderr.write(f"[verbose] ")
sys.stderr.write(*msg)
sys.stderr.write('\n')
def first_line(str):
return "" if not str else str.splitlines()[0]
class Options:
def __init__(self):
ap = argparse.ArgumentParser(description="Show commit differences between branches of JBR git repos",
epilog="Example: %(prog)s --from origin/jbr17 --to jbr17.b469 --path "
"src/hotspot --limit 200")
ap.add_argument('--jbr', dest='jbrpath', help='path to JBR git root', required=True)
ap.add_argument('--from', dest='frombranch', help='branch to take commits from', required=True)
ap.add_argument('--to', dest='tobranch', help='branch to apply new commits to', required=True)
ap.add_argument('--path', dest='path', help='limit to changes in this path (relative to git root)')
ap.add_argument('--limit', dest='limit', help='limit to this many log entries in --jdk repo', type=int,
default=-1)
ap.add_argument('--html', dest="ishtml", help="print out HTML rather than plain text", action='store_true')
ap.add_argument('-o', dest="output", help="print the list of missing commits to this file"
" to be used as exclude list later")
ap.add_argument('--exclude', dest='exclude', help='exclude commits listed in the given file '
'(can use edited -o output file as input here)')
ap.add_argument('-v', dest='verbose', help="verbose output", default=False, action='store_true')
args = ap.parse_args()
if not os.path.isdir(args.jbrpath):
fatal(f"{args.jbrpath} not a directory")
if not git_is_available():
fatal("can't run git commands; make sure git is in PATH")
self.frombranch = args.frombranch
self.tobranch = args.tobranch
self.jbrpath = args.jbrpath
self.path = args.path
self.limit = args.limit
self.exclude = args.exclude
self.output = args.output
self.ishtml = args.ishtml
self.verbose = args.verbose
class GitRepo:
def __init__(self, rootpath):
self.rootpath = rootpath
def run_git_cmd(self, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
p = subprocess.run(args, capture_output=True, text=True)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
return p.stdout
def save_git_cmd(self, fname, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
with open(fname, "w") as stdout_file:
p = subprocess.run(args, stdout=stdout_file)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
def current_branch(self):
branch_name = self.run_git_cmd(["branch", "--show-current"]).strip()
return branch_name
def log(self, branch, path=None, limit=None):
cmds = ["log", "--no-decorate", branch]
if limit:
cmds.extend(["-n", str(limit)])
if path:
cmds.append(path)
full_log = self.run_git_cmd(cmds)
return full_log
class Commit:
def __init__(self, lines):
self.sha = lines[0].split()[1]
self.message = ""
self.fullmessage = ""
self.bugid = ""
# Commit message starts after one blank line
read_message = False
for l in lines:
if read_message:
self.fullmessage += l.strip() + "\n"
if not read_message and l == "":
read_message = True
if len(self.fullmessage) > 0:
self.message = first_line(self.fullmessage).strip()
t = self.message.split(' ')
if len(t) > 1:
bugid = t[0]
if bugid.startswith("fixup"):
bugid = t[1]
bugid = bugid.strip(":")
if bugid.startswith("JBR-") or bugid.isnumeric():
self.bugid = bugid
class History:
def __init__(self, log):
log_itr = iter(log.splitlines())
self.commits = []
self.unique_fullmessages = set()
self.duplicates = set()
commit_lines = []
for line in log_itr:
if line.startswith("commit ") and len(commit_lines) > 0:
commit = Commit(commit_lines)
self.add_commit(commit)
commit_lines = []
commit_lines.append(line)
if len(commit_lines) > 0:
commit = Commit(commit_lines)
self.add_commit(commit)
def add_commit(self, commit):
self.commits.append(commit)
if commit.fullmessage in self.unique_fullmessages:
self.duplicates.add(commit.fullmessage)
else:
self.unique_fullmessages.add(commit.fullmessage)
def appears_more_than_once(self, commit):
return commit.fullmessage in self.duplicates
def contains(self, commit):
return commit.fullmessage in self.unique_fullmessages
def size(self):
return len(self.commits)
def print_explanation(options, jbr):
verbose(options, f"Reading history from '{jbr.rootpath}'")
if options.path:
verbose(options, f"\t(only under '{options.path}')")
if options.limit > 0:
verbose(options, f"\t(up to '{options.limit}' commits)")
verbose(options, f"Searching for missing fixes in '{options.tobranch}' compared with '{options.frombranch}'")
def git_is_available():
p = None
try:
p = subprocess.run(["git", "--help"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
except:
pass
return p is not None and p.returncode == 0
def main():
check_python_min_requirements()
options = Options()
jbr = GitRepo(options.jbrpath)
print_explanation(options, jbr)
commits_to_save = []
try:
log_from = jbr.log(options.frombranch, options.path, options.limit)
log_to = jbr.log(options.tobranch, options.path, options.limit)
history_from = History(log_from)
history_to = History(log_to)
verbose(options,
f"Read {history_from.size()} commits from '{options.frombranch}', {history_to.size()} from {options.tobranch}")
exclude_list = []
if options.exclude:
with open(options.exclude, "r") as exclude_file:
l = exclude_file.read().split('\n')
exclude_list = list(filter(lambda line: not line.startswith("#"), l))
warned = set()
for c in history_from.commits:
if c.message:
verbose(options, f"Looking for commit '{c.message}'")
if c.message in exclude_list:
verbose(options, "...nope, in exclude list")
continue
if not history_to.contains(c):
commits_to_save.append(c)
else:
if history_from.appears_more_than_once(c) and c.fullmessage not in warned:
# Not sure which of those seemingly identical commits are present in the target branch
error(f"Commit '{c.message}' appears more than once in branch '{options.frombranch}'. ")
warned.add(c.fullmessage)
except KeyboardInterrupt:
fatal("Interrupted")
print_out_commits(options, commits_to_save)
save_commits_to_file(commits_to_save, options)
if errors_count > 0:
error(f"{errors_count} error(s) generated to stderr. MANUAL CHECK OF COMMITS IS REQUIRED.")
def save_commits_to_file(commits_to_save, options):
if len(commits_to_save) > 0 and options.output:
print()
with open(options.output, "w") as out:
for i, c in enumerate(reversed(commits_to_save)):
print(f"# {c.sha}", file=out)
print(c.message, file=out)
def print_out_commits(options, commits_to_save):
if options.ishtml:
print("<html><body>")
print(f"<p><b>Commits on <code>{options.frombranch}</code>"
f" missing from <code>{options.tobranch}</code></b></p></h1>")
if len(commits_to_save) > 0:
for c in sorted(commits_to_save, key=lambda commit: commit.bugid):
if options.ishtml:
msg = c.message
bugurl = ""
if c.bugid:
if c.bugid.isnumeric():
bugurl = f"https://bugs.openjdk.org/browse/JDK-{c.bugid}"
elif c.bugid.startswith("JBR-"):
bugurl = f"https://youtrack.jetbrains.com/issue/{c.bugid}"
if len(bugurl) > 0:
msg = msg.replace(c.bugid, f"<a href='{bugurl}'>{c.bugid}</a>")
sha = f"<a href='https://jetbrains.team/p/jbre/repositories/jbr/commits?commits={c.sha}'>" \
f"{c.sha[0:8]}</a>"
print(f"<li>{msg} ({sha})</li>")
else:
print(f"{c.message} ({c.sha[0:8]})")
if options.ishtml:
print("</body></html>")
def check_python_min_requirements():
if sys.version_info < (3, 6):
fatal("Minimum version 3.6 is required to run this script")
if __name__ == '__main__':
main()

View File

@@ -1,12 +0,0 @@
#!/bin/bash
if [[ -z "$1" ]]; then
SCANNER=wayland-scanner
else
SCANNER="$1"
fi
set -ex
"$SCANNER" client-header src/java.desktop/share/native/libwakefield/protocol/wakefield.xml src/java.desktop/unix/native/libawt_wlawt/wakefield-client-protocol.h
"$SCANNER" private-code src/java.desktop/share/native/libwakefield/protocol/wakefield.xml src/java.desktop/unix/native/libawt_wlawt/wakefield-client-protocol.c

View File

@@ -1 +0,0 @@
1.0.2

View File

@@ -1,230 +0,0 @@
#!/usr/bin/env python3
import argparse
import math
import os.path
import sys
import subprocess
def fatal(msg):
sys.stderr.write(f"[fatal] {msg}\n")
sys.exit(1)
def verbose(options, *msg):
if options.verbose:
sys.stdout.write(f"[verbose] ")
sys.stdout.write(*msg)
sys.stdout.write('\n')
def first_line(str):
return "" if not str else str.splitlines()[0]
class Options:
def __init__(self):
ap = argparse.ArgumentParser(description="Show bugfixes differences between JBR and OpenJDK git repos",
epilog="Example: %(prog)s --jdk ./jdk11u/ --jbr ./JetBrainsRuntime/ --path src/hotspot --limit 200")
ap.add_argument('--jdk', dest='jdkpath', help='path to OpenJDK git repo', required=True)
ap.add_argument('--jbr', dest='jbrpath', help='path to JBR git repo', required=True)
ap.add_argument('--path', dest='path', help='limit to changes in this path (relative to git root)')
ap.add_argument('--limit', dest='limit', help='limit to this many log entries in --jdk repo', type=int, default=-1)
ap.add_argument('-o', dest="output_dir", help="save patches to this directory (created if necessary)")
ap.add_argument('-v', dest='verbose', help="verbose output", default=False, action='store_true')
args = ap.parse_args()
if not os.path.isdir(args.jdkpath):
fatal(f"{args.jdkpath} not a directory")
if not os.path.isdir(args.jbrpath):
fatal(f"{args.jbrpath} not a directory")
if not git_is_available():
fatal("can't run git commands; make sure git is in PATH")
self.jdkpath = args.jdkpath
self.jbrpath = args.jbrpath
self.path = args.path
self.limit = args.limit
self.output_dir = args.output_dir
self.verbose = args.verbose
class GitRepo:
def __init__(self, rootpath):
self.rootpath = rootpath
def run_git_cmd(self, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
p = subprocess.run(args, capture_output=True, text=True)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
return p.stdout
def save_git_cmd(self, fname, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
with open(fname, "w") as stdout_file:
p = subprocess.run(args, stdout=stdout_file)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
def current_branch(self):
branch_name = self.run_git_cmd(["branch", "--show-current"]).strip()
return branch_name
def log(self, path=None, limit=None):
cmds = ["log", "--no-decorate"]
if limit:
cmds.extend(["-n", str(limit)])
if path:
cmds.append(path)
full_log = self.run_git_cmd(cmds)
return full_log
class Commit:
def __init__(self, lines):
self.sha = lines[0].split()[1]
self.message = ""
self.bugid = None
# Commit message starts after one blank line
read_message = False
for l in lines:
if read_message:
self.message += l + "\n"
if not read_message and l == "":
read_message = True
if self.message and self.message != "" and ":" in self.message:
maybe_bugid = self.message.split(":")[0].strip()
if 10 >= len(maybe_bugid) >= 4:
self.bugid = maybe_bugid
class History:
def __init__(self, log):
log_itr = iter(log.splitlines())
self.commits = []
commit_lines = []
for line in log_itr:
if line.startswith("commit ") and len(commit_lines) > 0:
commit = Commit(commit_lines)
self.commits.append(commit)
commit_lines = []
commit_lines.append(line)
if len(commit_lines) > 0:
commit = Commit(commit_lines)
self.commits.append(commit)
def contains(self, str):
return any(str in commit.message for commit in self.commits)
def size(self):
return len(self.commits)
def print_explanation(options, jdk, jbr):
verbose(options, f"Reading history from '{jdk.rootpath}' on branch '{jdk.current_branch()}'")
if options.path:
verbose(options, f"\t(only under '{options.path}')")
verbose(options, f"Searching for same fixes in '{jbr.rootpath}' on branch '{jbr.current_branch()}'")
def git_is_available():
p = None
try:
p = subprocess.run(["git", "--help"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
except:
pass
return p is not None and p.returncode == 0
def main():
check_python_min_requirements()
options = Options()
jdk = GitRepo(options.jdkpath)
jbr = GitRepo(options.jbrpath)
print_explanation(options, jdk, jbr)
commits_to_save = []
try:
jdk_log = jdk.log(options.path, options.limit)
jdk_history = History(jdk_log)
jbr_log = jbr.log(options.path)
jbr_history = History(jbr_log)
verbose(options, f"Read {jdk_history.size()} commits in JDK, {jbr_history.size()} in JBR")
for c in jdk_history.commits:
if c.bugid:
verbose(options, f"Looking for bugfix for {c.bugid}")
if not jbr_history.contains(c.bugid):
commits_to_save.append(c)
print(f"[note] Fix for {c.bugid} not found in JBR ({jbr.rootpath})")
print(f" commit {c.sha}")
print(f" {first_line(c.message).strip()}")
except KeyboardInterrupt:
fatal("Interrupted")
if len(commits_to_save) > 0 and options.output_dir:
print()
if not os.path.exists(options.output_dir):
verbose(options, f"Creating output directory {options.output_dir}")
os.makedirs(options.output_dir)
nzeroes = len(str(len(commits_to_save)))
for i, c in enumerate(reversed(commits_to_save)):
fname = os.path.join(options.output_dir, f"{str(i).zfill(nzeroes)}-{c.bugid}.patch")
print(f"[note] {c.bugid} saved as {fname}")
fname = os.path.abspath(fname)
jdk.save_git_cmd(fname, ["format-patch", "-1", c.sha, "--stdout"])
script_fname = os.path.join(options.output_dir, "apply.sh")
with open(script_fname, "w") as script_file:
print(apply_script_code.format(os.path.abspath(jbr.rootpath), os.path.abspath(options.output_dir)),
file=script_file)
print(f"[note] Execute 'bash {script_fname}' to apply patches to {jbr.rootpath}")
def check_python_min_requirements():
if sys.version_info < (3, 6):
fatal("Minimum version 3.6 is required to run this script")
apply_script_code = """
#!/bin/bash
GITROOT={0}
PATCHROOT={1}
cd $PATCHROOT || exit 1
PATCHES=$(find $PATCHROOT -name '*.patch' | sort -n)
for P in $PATCHES; do
git -C $GITROOT am $P
if [ $? != 0 ]; then
mv "$P" "$P.failed"
echo "[ERROR] Patch $P did not apply cleanly. Try applying it manually."
echo "[NOTE] Execute this script to apply the remaining patches."
exit 1
else
mv "$P" "$P.done"
fi
done
echo "[NOTE] Done applying patches; check $PATCHROOT for .patch and .patch.failed to see if all have been applied."
"""
if __name__ == '__main__':
main()

View File

@@ -1 +0,0 @@
JetBrainsRuntime

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="IssueNavigationConfiguration">
<option name="links">
<list>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})([A-Z]+\-\d+)(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://youtrack.jetbrains.com/issue/$1" />
</IssueNavigationLink>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})(?:JDK-)?(\d{7})(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
</IssueNavigationLink>
</list>
</option>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/jdk.iml" filepath="$PROJECT_DIR$/.idea/jdk.iml" />
###MODULE_IMLS###
<module fileurl="file://$PROJECT_DIR$/.idea/test.iml" filepath="$PROJECT_DIR$/.idea/test.iml" />
</modules>
</component>
</project>

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="IssueNavigationConfiguration">
<option name="links">
<list>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})([A-Z]+\-\d+)(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://youtrack.jetbrains.com/issue/$1" />
</IssueNavigationLink>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})(?:JDK-)?(\d{7})(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
</IssueNavigationLink>
</list>
</option>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -1,135 +0,0 @@
apply plugin: 'java'
import org.gradle.internal.os.OperatingSystem
repositories {
mavenCentral()
}
def test_jvm = {
if (project.hasProperty('jbsdkhome')) {
file(jbsdkhome + (OperatingSystem.current().isWindows()?"/bin/java.exe" : "/bin/java")).absolutePath
} else {
if (OperatingSystem.current().isMacOsX()) {
file('../../../build/macosx-x86_64-normal-server-release/images/jdk-bundle/jdk-11.0.4.jdk/Contents/Home/bin/java').absolutePath
} else if (OperatingSystem.current().isLinux()) {
file('../../../build/linux-x86_64-normal-server-release/images/jdk/bin/java').absolutePath
} else {
file('../../../build/windows-x86_64-normal-server-release/images/jdk/bin/java.exe').absolutePath
}
}
}
dependencies {
testCompile('junit:junit:4.12'){
exclude group: 'org.hamcrest'
}
testCompile 'org.hamcrest:hamcrest-library:1.3'
testCompile 'net.java.dev.jna:jna:4.4.0'
testCompile 'com.twelvemonkeys.imageio:imageio-tiff:3.3.2'
testCompile 'org.apache.commons:commons-lang3:3.0'
}
def jdk_modules = ["java.base", "java.logging", "java.prefs",
"java.se.ee", "java.sql", "java.datatransfer",
"java.management", "java.rmi", "java.security.jgss",
"java.sql.rowset", "java.desktop", "java.management.rmi",
"java.scripting", "java.security.sasl", "java.transaction",
"java.instrument", "java.naming", "java.se",
"java.smartcardio", "java.xml.crypto"]
def jdk_class_dirs = []
jdk_modules.collect(jdk_class_dirs) {
new File("../../../src/" + it + "/share/classes")
}
if (OperatingSystem.current().isMacOsX())
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/macosx/classes"
}
else if (OperatingSystem.current().isLinux()) {
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/solaris/classes"
}
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/unix/classes"
}
} else
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/windows/classes"
}
sourceSets.main.java.srcDirs = jdk_class_dirs
sourceSets {
test {
java {
srcDir "../../../test/jdk/jbu"
}
}
}
test.dependsOn.clear()
test.dependsOn tasks.compileTestJava
test {
systemProperty "jb.java2d.metal", "true"
systemProperty "testdata", file('../../../test/jdk/jbu/testdata').absolutePath
// Generate golden images for DroidFontTest and MixedTextTest
// systemProperty "gentestdata", ""
// Enable Java2D logging (https://confluence.jetbrains.com/display/JRE/Java2D+Rendering+Logging)
// systemProperty "sun.java2d.trace", "log"
// systemProperty "sun.java2d.trace", "log,pimpl"
outputs.upToDateWhen { false }
executable = test_jvm()
// Enable async/dtrace profiler
jvmArgs "-XX:+PreserveFramePointer"
// Enable native J2D logging (only in debug build)
// Can be turned on for J2D by adding "#define DEBUG 1" into jdk/src/share/native/sun/java2d/Trace.h
// environment 'J2D_TRACE_LEVEL', '4'
}
def buildDir = project.buildscript.sourceFile.parentFile.parentFile.parentFile.parentFile
def make_cmd = "make"
if (OperatingSystem.current().isWindows()) {
def cyg_make_cmd = new File("c:/cygwin64/bin/make.exe")
if (cyg_make_cmd.exists()) make_cmd = cyg_make_cmd.absolutePath
}
def test_run = false
task make_images {
doLast {
if (!test_run) {
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath, "images")
def proc = pb.redirectErrorStream(true).start()
proc.inputStream.eachLine { println it }
assert proc.waitFor() == 0
}
}
}
task make_clean {
doLast {
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath, "clean")
def proc = pb.redirectErrorStream(true).start()
proc.inputStream.eachLine { println it }
assert proc.waitFor() == 0
}
}
task run_test {
doLast {
test_run = true
}
}
tasks.cleanTest.dependsOn tasks.run_test
classes.dependsOn.clear()
classes.dependsOn tasks.make_images
tasks.cleanClasses.dependsOn tasks.make_clean

View File

@@ -1,54 +0,0 @@
java.base,
java.compiler,
java.datatransfer,
java.desktop,
java.instrument,
java.logging,
java.management,
java.management.rmi,
java.naming,
java.net.http,
java.prefs,
java.rmi,
java.scripting,
java.se,
java.security.jgss,
java.security.sasl,
java.smartcardio,
java.sql,
java.sql.rowset,
java.transaction.xa,
java.xml,
java.xml.crypto,
jdk.accessibility,
jdk.attach,
jdk.charsets,
jdk.compiler,
jdk.crypto.cryptoki,
jdk.crypto.ec,
jdk.dynalink,
jdk.httpserver,
jdk.internal.ed,
jdk.internal.le,
jdk.internal.vm.ci,
jdk.javadoc,
jdk.jdi,
jdk.jdwp.agent,
jdk.jfr,
jdk.jsobject,
jdk.localedata,
jdk.management,
jdk.management.agent,
jdk.management.jfr,
jdk.naming.dns,
jdk.naming.rmi,
jdk.net,
jdk.sctp,
jdk.security.auth,
jdk.security.jgss,
jdk.unsupported,
jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
jdk.jcmd

View File

@@ -1,190 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
function check_bundle_type_maketest() {
# check whether last char is 't', if so remove it
if [ "${bundle_type: -1}" == "t" ] && [ "${bundle_type: -2}" != "ft" ]; then
bundle_type="${bundle_type%?}"
do_maketest=1
else
do_maketest=0
fi
}
function getVersionProp() {
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
}
DISABLE_WARNINGS_AS_ERRORS=""
CONTINUOUS_INTEGRATION=""
while getopts ":iwc?" o; do
case "${o}" in
i) INC_BUILD=1 ;;
w) DISABLE_WARNINGS_AS_ERRORS="--disable-warnings-as-errors" ;;
c) CONTINUOUS_INTEGRATION=1 ;;
esac
done
shift $((OPTIND-1))
if [[ $# -lt 2 ]]; then
echo "Required at least two arguments: build_number bundle_type"
exit 1
fi
build_number=$1
bundle_type=$2
# shellcheck disable=SC2034
architecture=${3:-x64} # aarch64 or x64
check_bundle_type_maketest
tag_prefix="jdk-"
VERSION_FEATURE=$(getVersionProp "DEFAULT_VERSION_FEATURE")
VERSION_INTERIM=$(getVersionProp "DEFAULT_VERSION_INTERIM")
VERSION_UPDATE=$(getVersionProp "DEFAULT_VERSION_UPDATE")
VERSION_PATCH=$(getVersionProp "DEFAULT_VERSION_PATCH")
[[ $VERSION_UPDATE = 0 ]] && JBSDK_VERSION="$VERSION_FEATURE" || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}"
[[ $VERSION_PATCH = 0 ]] || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}.${VERSION_PATCH}"
echo "##teamcity[setParameter name='env.JBSDK_VERSION' value='${JBSDK_VERSION}']"
OPENJDK_TAG=$(git tag -l | grep "$tag_prefix$JBSDK_VERSION" | grep -v ga | sort -t "-" -k 2 -g | tail -n 1)
JDK_BUILD_NUMBER=${JDK_BUILD_NUMBER:=$(echo $OPENJDK_TAG | awk -F "-|[+]" '{print $3}')}
[ -z $JDK_BUILD_NUMBER ] && JDK_BUILD_NUMBER=1
re='^[0-9]+$'
if ! [[ $JDK_BUILD_NUMBER =~ $re ]] ; then
echo "error: JDK_BUILD_NUMBER Not a number: $JDK_BUILD_NUMBER"
JDK_BUILD_NUMBER=1
fi
echo "##teamcity[setParameter name='env.JDK_UPDATE_NUMBER' value='${JDK_BUILD_NUMBER}']"
VENDOR_NAME="JetBrains s.r.o."
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION}+${JDK_BUILD_NUMBER}-${build_number}"
[ -z "$bundle_type" ] || VENDOR_VERSION_STRING="${VENDOR_VERSION_STRING}-${bundle_type}"
do_reset_changes=0
do_reset_dcevm=0
HEAD_REVISION=0
STATIC_CONF_ARGS=""
common_conf_props_file="jb/project/tools/common/static_conf_args.txt"
if [[ -f "$common_conf_props_file" ]]; then
STATIC_CONF_ARGS=$(<$common_conf_props_file)
fi
OS_NAME=$(uname -s)
# Enable reproducible builds
TZ=UTC
export TZ
SOURCE_DATE_EPOCH="$(git log -1 --pretty=%ct)"
export SOURCE_DATE_EPOCH
COPYRIGHT_YEAR=""
BUILD_TIME=""
TOUCH_TIME=""
REPRODUCIBLE_TAR_OPTS=""
case "$OS_NAME" in
Linux)
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
;;
CYGWIN*)
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
;;
Darwin)
COPYRIGHT_YEAR="$(date -u -r $SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%F)"
TOUCH_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%Y%m%d%H%M.%S)"
REPRODUCIBLE_TAR_OPTS="--uid 0 --gid 0 --numeric-owner"
;;
esac
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
if [ "$bundle_type" == "nomodft" ]; then
WITH_BUNDLED_FREETYPE="--with-freetype=bundled"
else
WITH_BUNDLED_FREETYPE=""
fi
REPRODUCIBLE_BUILD_OPTS="--with-source-date=$SOURCE_DATE_EPOCH
--with-hotspot-build-time=$BUILD_TIME
--with-copyright-year=$COPYRIGHT_YEAR
--disable-absolute-paths-in-output
--with-build-user=builduser"
function zip_native_debug_symbols() {
image_bundle_path=$(echo $1 | cut -d"/" -f-4)
jdk_name=$(echo $1 | cut -d"/" -f5)
jbr_diz_name=$2
[ -d "dizfiles" ] && rm -rf dizfiles
mkdir dizfiles
rsync_target="../../../../dizfiles"
[ -z "$jdk_name" ] && rsync_target=$rsync_target"/"$jbr_diz_name
(cd $image_bundle_path && find . -name '*.diz' -exec rsync -R {} $rsync_target \;)
[ ! -z "$jdk_name" ] && mv dizfiles/$jdk_name dizfiles/$jbr_diz_name
(cd dizfiles && find $jbr_diz_name -print0 | COPYFILE_DISABLE=1 \
tar --no-recursion --null -T - -czf ../"$jbr_diz_name".tar.gz) || do_exit $?
}
function do_exit() {
exit_code=$1
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
if [ $do_reset_dcevm -eq 1 ]; then
[ ! -z $HEAD_REVISION ] && git reset --hard $HEAD_REVISION
fi
exit "$exit_code"
}
function update_jsdk_mods() {
__jsdk=$1
__jcef_mods=$2
__orig_jsdk_mods=$3
__updated_jsdk_mods=$4
# re-create java.desktop.jmod with updated module-info.class
tmp=.java.desktop.$$.tmp
mkdir "$tmp" || exit $?
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.desktop.jmod || exit $?
"$__jsdk"/bin/javac \
--patch-module java.desktop="$__orig_jsdk_mods"/java.desktop.jmod \
--module-path "$__jcef_mods" -d "$tmp"/classes src/java.desktop/share/classes/module-info.java || exit $?
"$__jsdk"/bin/jmod \
create --class-path "$tmp"/classes --config "$tmp"/conf --header-files "$tmp"/include --legal-notice "$tmp"/legal --libs "$tmp"/lib \
java.desktop.jmod || exit $?
mv java.desktop.jmod "$__updated_jsdk_mods" || exit $?
rm -rf "$tmp"
# re-create java.base.jmod with updated hashes
tmp=.java.base.$$.tmp
mkdir "$tmp" || exit $?
hash_modules=$("$__jsdk"/bin/jmod describe "$__orig_jsdk_mods"/java.base.jmod | grep hashes | awk '{print $2}' | tr '\n' '|' | sed s/\|$//) || exit $?
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.base.jmod || exit $?
rm "$__updated_jsdk_mods"/java.base.jmod || exit $? # temp exclude from path
"$__jsdk"/bin/jmod \
create --module-path "$__updated_jsdk_mods" --hash-modules "$hash_modules" \
--class-path "$tmp"/classes --cmds "$tmp"/bin --config "$tmp"/conf --header-files "$tmp"/include --legal-notice "$tmp"/legal --libs "$tmp"/lib \
java.base.jmod || exit $?
mv java.base.jmod "$__updated_jsdk_mods" || exit $?
rm -rf "$tmp"
}
function get_mods_list() {
__mods=$1
echo $(ls $__mods) | sed s/\.jmod/,/g | sed s/,$//g | sed s/' '//g
}
function copy_jmods() {
__mods_list=$1
__jmods_from=$2
__jmods_to=$3
mkdir -p $__jmods_to
echo "${__mods_list}," | while read -d, mod; do cp $__jmods_from/$mod.jmod $__jmods_to/; done
}

View File

@@ -1,4 +0,0 @@
--with-vendor-url=https://www.jetbrains.com/
--with-vendor-bug-url=https://youtrack.jetbrains.com/issues/JBR
--with-vendor-vm-bug-url=https://youtrack.jetbrains.com/issues/JBR

View File

@@ -1,185 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_aarch64
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_linux_aarch64}
function do_configure {
GTK_SHELL_PATH=/gtk-shell.xml
if [ ! -e $GTK_SHELL_PATH ]; then
echo $GTK_SHELL_PATH" does not exist"
GTK_SHELL_PATH=`pwd`/gtk-shell.xml
if [ ! -e $GTK_SHELL_PATH ]; then
echo $GTK_SHELL_PATH" does not exist"
curl -O https://raw.githubusercontent.com/GNOME/gtk/refs/heads/main/gdk/wayland/protocol/gtk-shell.xml
fi
fi
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
--with-gtk-shell1-protocol=$GTK_SHELL_PATH \
--with-vulkan \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
$WITH_BUNDLED_FREETYPE \
|| do_exit $?
}
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
__cds_opt=''
if is_musl; then libc_type_suffix='musl-' ; fi
__cds_opt="--generate-cds-archive"
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
$__cds_opt --add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/cef_server ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/cef_server
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-aarch64-server-release
jbr_name_postfix=""
case "$bundle_type" in
"jcef")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"nomodft" | "")
jbr_name_postfix="_ft"
;;
"fd")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-aarch64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
cat $JCEF_PATH/jcef.version >> $JSDK/release
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-aarch64-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
do_exit 0

View File

@@ -1,203 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_x64
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_linux_x64}
function do_configure {
if is_musl; then
LINUX_TARGET=""
else
LINUX_TARGET="\
--build=x86_64-unknown-linux-gnu \
--openjdk-target=x86_64-unknown-linux-gnu"
fi
GTK_SHELL_PATH=/gtk-shell.xml
if [ ! -e $GTK_SHELL_PATH ]; then
echo $GTK_SHELL_PATH" does not exist"
GTK_SHELL_PATH=`pwd`/gtk-shell.xml
if [ ! -e $GTK_SHELL_PATH ]; then
echo $GTK_SHELL_PATH" does not exist"
curl -O https://raw.githubusercontent.com/GNOME/gtk/refs/heads/main/gdk/wayland/protocol/gtk-shell.xml
fi
fi
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
--with-gtk-shell1-protocol=$GTK_SHELL_PATH \
--with-vulkan \
$LINUX_TARGET \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
$WITH_BUNDLED_FREETYPE \
|| do_exit $?
}
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
__cds_opt=''
if is_musl; then
libc_type_suffix='musl-'
else
LINUX_TARGET="\
--build=x86_64-unknown-linux-gnu \
--openjdk-target=x86_64-unknown-linux-gnu"
fi
__cds_opt="--generate-cds-archive"
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x64-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
$__cds_opt --add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/cef_server ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/cef_server
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86_64-server-release
jbr_name_postfix=""
case "$bundle_type" in
"jcef")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
jbrsdk_name_postfix="_${bundle_type}"
do_maketest=1
;;
"nomod" | "")
bundle_type=""
jbrsdk_name_postfix="_${bundle_type}"
;;
"nomodft" | "")
jbr_name_postfix="_ft"
jbrsdk_name_postfix="_ft"
;;
"fd")
do_reset_changes=1
jbr_name_postfix="_${bundle_type}"
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-x86_64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
cat $JCEF_PATH/jcef.version >> $JSDK/release
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ]|| [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x64-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
do_exit 0

View File

@@ -1,146 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
source jb/project/tools/common/scripts/common.sh
function do_configure {
linux32 bash configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
$STATIC_CONF_ARGS \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
__cds_opt=''
if is_musl; then libc_type_suffix='musl-' ; fi
__cds_opt="--generate-cds-archive"
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x86-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x86-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
$__cds_opt --add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86-server-release
case "$bundle_type" in
"jcef")
echo "not implemented" && do_exit 1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-x86-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(grep -v "jdk.internal.vm" jb/project/tools/common/modules.list | xargs | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x86-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
do_exit 0

View File

@@ -1,63 +0,0 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
source "$SCRIPT_DIR/jetsign-common.sh" || exit 1
function isMacOsBinary() {
file "$1" | grep -q 'Mach-O'
}
function isSigned() {
codesign --verify "$1" >/dev/null 2>&1 && ! grep -q Signature=adhoc < <(codesign --display --verbose "$1" 2>&1)
}
# last argument is a path to be signed
pathToBeSigned="$(pwd)/${*: -1}"
jetSignArgs=("${@:1:$#-1}")
if [[ ! -f "$pathToBeSigned" ]]; then
echo "$pathToBeSigned is missing or not a file"
exit 1
elif isSigned "$pathToBeSigned" && ! isForced "${jetSignArgs[@]}" ; then
echo "Already signed: $pathToBeSigned"
elif [[ "$JETSIGN_CLIENT" == "null" ]]; then
echo "JetSign client is missing, cannot proceed with signing"
exit 1
elif ! isMacOsBinary "$pathToBeSigned" && [[ "$pathToBeSigned" != *.sit ]] && [[ "$pathToBeSigned" != *.tar.gz ]]; then
echo "$pathToBeSigned won't be signed, assumed not to be a macOS executable"
else
if isMacOsBinary "$pathToBeSigned" && ! isSigned "$pathToBeSigned" ; then
echo "Unsigned macOS binary: $pathToBeSigned"
fi
workDir=$(dirname "$pathToBeSigned")
pathSigned="$workDir/signed/${pathToBeSigned##*/}"
jetSignExtensions=$(jetSignExtensions "${jetSignArgs[@]}")
contentType=$(jetSignContentType "$pathToBeSigned")
(
cd "$workDir" || exit 1
max_attempts=3
attempt=1
while [ $attempt -le $max_attempts ]; do
if "$JETSIGN_CLIENT" -log-format text -max-wait 1m -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"; then
break
else
if [ $attempt -eq $max_attempts ]; then
echo "Failed to sign after $max_attempts attempts"
exit 1
fi
echo "Attempt $attempt failed, retrying in 5 seconds..."
sleep 5
((attempt++))
fi
done
# SRE-1223 (Codesign removes execute bits in executable files) workaround
chmod "$(stat -f %A "$pathToBeSigned")" "$pathSigned"
if isMacOsBinary "$pathSigned"; then
isSigned "$pathSigned"
fi
rm "$pathToBeSigned"
mv "$pathSigned" "$pathToBeSigned"
rm -rf "$workDir/signed"
)
fi

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
</dict>
</plist>

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<false/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<false/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<false/>
<key>com.apple.security.cs.disable-library-validation</key>
<false/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<false/>
</dict>
</plist>

View File

@@ -1,63 +0,0 @@
#!/bin/bash
set -euo pipefail
function isForced() {
for arg in "$@"; do
if [[ "$arg" == --force ]]; then
return 0
fi
done
return 1
}
function jetSignExtensions() {
args=("$@")
((lastElementIndex=${#args[@]}-1))
for index in "${!args[@]}"; do
arg=${args[$index]}
case "$arg" in
--sign | -s)
echo -n 'mac_codesign_identity='
continue
;;
--entitlements)
echo -n 'mac_codesign_entitlements='
continue
;;
--options=runtime)
echo -n 'mac_codesign_options=runtime'
;;
--force)
echo -n 'mac_codesign_force=true'
;;
--timestamp | --verbose | -v)
continue
;;
*)
echo -n "$arg"
;;
esac
if [[ $index != "$lastElementIndex" ]]; then
echo -n ","
fi
done
}
# See jetbrains.sign.util.FileUtil.contentType
function jetSignContentType() {
case "${1##*/}" in
*.sit)
echo -n 'application/x-mac-app-zip'
;;
*.tar.gz)
echo -n 'application/x-mac-app-targz'
;;
*.pkg)
echo -n 'application/x-mac-pkg'
;;
*)
echo -n 'application/x-mac-app-bin'
;;
esac
}

View File

@@ -1,192 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_mac
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 17)}
XCODE_PATH=${XCODE_PATH:-}
if [ -d "$XCODE_PATH" ]; then
WITH_XCODE_PATH="--with-xcode-path=$XCODE_PATH"
else
if [ -z "${CONTINUOUS_INTEGRATION:-}" ]; then
WITH_XCODE_PATH=""
if [ -n "${XCODE_PATH}" ]; then
echo "XCode not found in the directory: ${XCODE_PATH}"
echo "default XCode will be used"
fi
else
if [ -z "${XCODE_PATH}" ]; then
echo "specify XCode via setting XCODE_PATH"
else
echo "XCode not found in the directory: ${XCODE_PATH}"
fi
do_exit 1
fi
fi
function do_configure {
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-macosx-bundle-name-base=${VENDOR_VERSION_STRING} \
--with-macosx-bundle-id-base="com.jetbrains.jbr" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
$WITH_XCODE_PATH \
|| do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
__cds_opt=''
__cds_opt="--generate-cds-archive"
tmp=.bundle.$$.tmp
mkdir "$tmp" || do_exit $?
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix:-}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix:-}b${build_number}
JRE_CONTENTS=$tmp/$__root_dir/Contents
mkdir -p "$JRE_CONTENTS" || do_exit $?
echo Running jlink...
"$JSDK"/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
$__cds_opt --add-modules "$__modules" --output "$JRE_CONTENTS/Home" || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$JRE_CONTENTS/Home/release"
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $JRE_CONTENTS/Home/release > release
mv release $JRE_CONTENTS/Home/release
cp $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home/lib/src.zip $JRE_CONTENTS/Home/lib
copy_jmods "$__modules" "$__modules_path" "$JRE_CONTENTS"/Home/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk "${JBR}_diz"
fi
if [ "$bundle_type" == "jcef" ]; then
cat $JCEF_PATH/jcef.version >> "$JRE_CONTENTS/Home/release"
fi
cp -R "$JSDK"/../MacOS "$JRE_CONTENTS"
cp "$JSDK"/../Info.plist "$JRE_CONTENTS"
[ -n "$bundle_type" ] && (cp -a $JCEF_PATH/Frameworks "$JRE_CONTENTS" || do_exit $?)
echo Creating "$JBR".tar.gz ...
# Normalize timestamp
find "$tmp"/"$__root_dir" -print0 | xargs -0 touch -c -h -t "$TOUCH_TIME"
(cd "$tmp" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
COPYFILE_DISABLE=1 tar $REPRODUCIBLE_TAR_OPTS --no-recursion --null -T - \
-czf "$JBR".tar.gz --exclude='*.dSYM' --exclude='man') || do_exit $?
mv "$tmp"/"$JBR".tar.gz "$JBR".tar.gz
rm -rf "$tmp"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
CONF_ARCHITECTURE=x86_64
if [[ "${architecture}" == *aarch64* ]]; then
CONF_ARCHITECTURE=aarch64
fi
RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=1
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-fastdebug
JBSDK=macosx-${architecture}-server-release
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
# test/jdk/jb/java/awt/Focus/FullScreenFocusStealing.java test/jdk/java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java test/jdk/java/awt/datatransfer/DataFlavor/DataFlavorRemoteTest.java test/jdk/java/awt/Robot/NonEmptyErrorStream.java
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
fi
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat "$JSDK"/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-${architecture}-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
COPYFILE_DISABLE=1 tar -pczf "$JBRSDK_TEST".tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi
do_exit 0

View File

@@ -1,63 +0,0 @@
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
APP_PATH=$1
if [[ -z "$APP_PATH" ]]; then
echo "Usage: $0 AppPath"
exit 1
fi
if [[ ! -f "$APP_PATH" ]]; then
echo "AppName '$APP_PATH' does not exist or not a file"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
# check required parameters
: "${APPLE_ISSUER_ID}"
: "${APPLE_KEY_ID}"
: "${APPLE_PRIVATE_KEY}"
# shellcheck disable=SC2064
trap "rm -f \"$PWD/tmp_key\"" INT EXIT RETURN
echo -n "${APPLE_PRIVATE_KEY}" > tmp_key
log "Notarizing $APP_PATH..."
xcrun notarytool submit --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" "$APP_PATH" 2>&1 --wait| tee "notarytool.submit.out"
REQUEST_ID="$(grep -e " id: " "notarytool.submit.out" | grep -oE '([0-9a-f-]{36})'| head -n1)"
waitOutput=$(xcrun notarytool wait "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" --timeout 6h)
if [ $? -ne 0 ]; then
log "Notarizing failed (wait command)"
echo "$waitOutput"
exit 1
else
echo "$waitOutput"
fi
logOutout=$(xcrun notarytool log "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" developer_log.json)
if [ $? -ne 0 ]; then
log "Notarizing failed (log command)"
echo "$logOutout"
exit 1
else
echo "$logOutout"
fi
infoOUtput=$(xcrun notarytool info "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}")
if [ $? -ne 0 ]; then
log "Notarizing failed (info command)"
echo "$infoOUtput"
exit 1
else
echo "$infoOUtput"
fi
log "Notarizing finished"

View File

@@ -1,41 +0,0 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
source "$SCRIPT_DIR/jetsign-common.sh" || exit 1
function isSigned() {
pkgutil --check-signature "$1" >/dev/null 2>&1 && grep -q "signed by a developer certificate" < <(pkgutil --check-signature "$1" 2>&1)
}
# second last argument is a path to be signed
pathToBeSigned="$(pwd)/${*:(-2):1}"
# last argument is a path to signed file
pathOut="$(pwd)/${*:(-1)}"
jetSignArgs=("${@:1:$#-2}")
if [[ ! -f "$pathToBeSigned" ]]; then
echo "$pathToBeSigned is missing or not a file"
exit 1
elif isSigned "$pathToBeSigned" && ! isForced "${jetSignArgs[@]}" ; then
echo "Already signed: $pathToBeSigned"
elif [[ "$JETSIGN_CLIENT" == "null" ]]; then
echo "JetSign client is missing, cannot proceed with signing"
exit 1
elif [[ "$pathToBeSigned" != *.pkg ]]; then
echo "$pathToBeSigned won't be signed, assumed not to be a macOS package"
else
if ! isSigned "$pathToBeSigned" ; then
echo "Unsigned macOS package: $pathToBeSigned"
fi
workDir=$(dirname "$pathToBeSigned")
pathSigned="$workDir/signed/${pathToBeSigned##*/}"
jetSignExtensions=$(jetSignExtensions "${jetSignArgs[@]}")
contentType=$(jetSignContentType "$pathToBeSigned")
(
cd "$workDir" || exit 1
"$JETSIGN_CLIENT" -log-format text -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"
isSigned "$pathSigned"
rm -f "$pathOut"
mv "$pathSigned" "$pathOut"
rm -rf "$workDir/signed"
)
fi

View File

@@ -1,241 +0,0 @@
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
if [[ $# -lt 5 ]]; then
echo "Usage: $0 AppDirectory AppName BundleId CertificateID InstallerCertificateID"
exit 1
fi
APPLICATION_PATH=$1
PKG_NAME=$2
BUNDLE_ID=$3
JB_DEVELOPER_CERT=$4
JB_INSTALLER_CERT=$5
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
# Use JetBrains sign utility if it's available
if [[ "${JETSIGN_CLIENT:=}" == "null" ]] || [[ "$JETSIGN_CLIENT" == "" ]]; then
JB_SIGN=false
SIGN_UTILITY="codesign"
PRODUCTSIGN_UTILITY="productsign"
else
JB_SIGN=true
SIGN_UTILITY="$SCRIPT_DIR/codesign.sh"
PRODUCTSIGN_UTILITY="$SCRIPT_DIR/productsign.sh"
fi
if [[ ! -d "$APPLICATION_PATH" ]]; then
echo "AppDirectory '$APPLICATION_PATH' does not exist or not a directory"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
# Cleanup files left from previous sign attempt (if any)
find "$APPLICATION_PATH" -name '*.cstemp' -exec rm '{}' \;
log "Signing libraries and executables..."
# -perm +111 searches for executables
for f in \
"Contents/Home/lib" "Contents/MacOS"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "*.node" -o -perm +111 \) \
-exec sh -c '"$1" --timestamp -v -s "$2" --options=runtime --force --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
fi
done
log "Signing JCEF libraries and executables..."
if [ -d "$APPLICATION_PATH/Contents/Frameworks" ]; then
find "$APPLICATION_PATH/Contents/Frameworks" \
-type f \( -name "*.dylib" -o -perm +111 \) \
-exec sh -c '"$1" --timestamp -v -s "$2" --options=runtime --force --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements_jcef.xml" {} \;
fi
log "Signing jmod files"
JMODS_DIR="$APPLICATION_PATH/Contents/Home/jmods"
JMOD_EXE="$BOOT_JDK/bin/jmod"
if [ -d "$JMODS_DIR" ]; then
log "processing jmods"
for jmod_file in "$JMODS_DIR"/*.jmod; do
log "Processing $jmod_file"
TMP_DIR="$JMODS_DIR/tmp"
rm -rf "$TMP_DIR"
mkdir "$TMP_DIR"
log "Unzipping $jmod_file"
$JMOD_EXE extract --dir "$TMP_DIR" "$jmod_file" >/dev/null
log "Signing dylibs in $TMP_DIR"
find "$TMP_DIR" \
-type f \( -name "*.dylib" -o -name "*.so"-o -perm +111 -o -name jarsigner -o -name jnativescan -o -name jdeps -o -name jpackageapplauncher -o -name jspawnhelper -o -name jar -o -name javap -o -name jdeprscan -o -name jfr -o -name rmiregistry -o -name java -o -name jhsdb -o -name jstatd -o -name jstatd -o -name jpackage -o -name keytool -o -name jmod -o -name jlink -o -name jimage -o -name jstack -o -name jcmd -o -name jps -o -name jmap -o -name jstat -o -name jinfo -o -name jshell -o -name jwebserver -o -name javac -o -name serialver -o -name jrunscript -o -name jdb -o -name jconsole -o -name javadoc \) \
-exec sh -c '"$1" --timestamp -v -s "$2" --options=runtime --force --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
log "Removing $jmod_file"
rm -f "$jmod_file"
cmd="$JMOD_EXE create --class-path $TMP_DIR/classes"
# Check each directory and add to the command if it exists
[ -d "$TMP_DIR/bin" ] && cmd="$cmd --cmds $TMP_DIR/bin"
[ -d "$TMP_DIR/conf" ] && cmd="$cmd --config $TMP_DIR/conf"
[ -d "$TMP_DIR/lib" ] && cmd="$cmd --libs $TMP_DIR/lib"
[ -d "$TMP_DIR/include" ] && cmd="$cmd --header-files $TMP_DIR/include"
[ -d "$TMP_DIR/legal" ] && cmd="$cmd --legal-notices $TMP_DIR/legal"
[ -d "$TMP_DIR/man" ] && cmd="$cmd --man-pages $TMP_DIR/man"
log "Creating jmod file"
log "$cmd"
# Add the output file
cmd="$cmd $jmod_file"
# Execute the command
eval $cmd
log "Removing $TMP_DIR"
rm -rf "$TMP_DIR"
done
log "Repack java.base.jmod with new hashes of modules"
hash_modules=$($JMOD_EXE describe $JMODS_DIR/java.base.jmod | grep hashes | awk '{print $2}' | tr '\n' '|' | sed s/\|$//) || exit $?
TMP_DIR="$JMODS_DIR/tmp"
rm -rf "$TMP_DIR"
mkdir "$TMP_DIR"
jmod_file="$JMODS_DIR/java.base.jmod"
log "Unzipping $jmod_file"
$JMOD_EXE extract --dir "$TMP_DIR" "$jmod_file" >/dev/null
log "Removing java.base.jmod"
rm -f "$jmod_file"
cmd="$JMOD_EXE create --class-path $TMP_DIR/classes --hash-modules \"$hash_modules\" --module-path $JMODS_DIR"
# Check each directory and add to the command if it exists
[ -d "$TMP_DIR/bin" ] && cmd="$cmd --cmds $TMP_DIR/bin"
[ -d "$TMP_DIR/conf" ] && cmd="$cmd --config $TMP_DIR/conf"
[ -d "$TMP_DIR/lib" ] && cmd="$cmd --libs $TMP_DIR/lib"
[ -d "$TMP_DIR/include" ] && cmd="$cmd --header-files $TMP_DIR/include"
[ -d "$TMP_DIR/legal" ] && cmd="$cmd --legal-notices $TMP_DIR/legal"
[ -d "$TMP_DIR/man" ] && cmd="$cmd --man-pages $TMP_DIR/man"
log "Creating jmod file"
log "$cmd"
# Add the output file
cmd="$cmd $jmod_file"
# Execute the command
eval $cmd
log "Removing $TMP_DIR"
rm -rf "$TMP_DIR"
else
echo "Directory '$JMODS_DIR' does not exist. Skipping signing of jmod files."
fi
log "Signing libraries in jars in $APPLICATION_PATH"
# todo: add set -euo pipefail; into the inner sh -c
# `-e` prevents `grep -q && printf` loginc
# with `-o pipefail` there's no input for 'while' loop
find "$APPLICATION_PATH" -name '*.jar' \
-exec sh -c "set -u; unzip -l \"\$0\" | grep -q -e '\.dylib\$' -e '\.jnilib\$' -e '\.so\$' -e '\.tbd\$' -e '^jattach\$' && printf \"\$0\0\" " {} \; |
while IFS= read -r -d $'\0' file; do
log "Processing libraries in $file"
rm -rf jarfolder jar.jar
mkdir jarfolder
filename="${file##*/}"
log "Filename: $filename"
cp "$file" jarfolder && (cd jarfolder && jar xf "$filename" && rm "$filename")
find jarfolder \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "jattach" \) \
-exec sh -c '"$1" --timestamp --force -v -s "$2" --options=runtime --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
(cd jarfolder; zip -q -r -o -0 ../jar.jar .)
mv jar.jar "$file"
done
rm -rf jarfolder jar.jar
log "Signing other files..."
# shellcheck disable=SC2043
for f in \
"Contents/Home/bin"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -perm +111 \) \
-exec sh -c '"$1" --timestamp -v -s "$2" --options=runtime --force --entitlements "$3" "$4" || exit 1' sh "$SIGN_UTILITY" "$JB_DEVELOPER_CERT" "$SCRIPT_DIR/entitlements.xml" {} \;
fi
done
log "Signing whole frameworks..."
# shellcheck disable=SC2043
if [ "$JB_SIGN" = true ]; then for f in \
"Contents/Frameworks/cef_server.app/Contents/Frameworks" "Contents/Frameworks"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \( -name '*.framework' -o -name '*.app' \) -maxdepth 1 | while read -r line
do
log "Signing '$line':"
tar -pczf tmp-to-sign.tar.gz -C "$(dirname "$line")" "$(basename "$line")"
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements_jcef.xml" tmp-to-sign.tar.gz || exit 1
rm -rf "$line"
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$line")"
rm -f tmp-to-sign.tar.gz
done
fi
done; fi
log "Checking framework signatures..."
if [ -d "$APPLICATION_PATH/Contents/Frameworks" ]; then
find "$APPLICATION_PATH/Contents/Frameworks" -name '*.framework' -maxdepth 1 | while read -r line
do
log "Checking '$line':"
codesign --verify --deep --strict --verbose=4 "$line"
done
fi
log "Signing whole app..."
if [ "$JB_SIGN" = true ]; then
tar -pczf tmp-to-sign.tar.gz --exclude='man' -C "$(dirname "$APPLICATION_PATH")" "$(basename "$APPLICATION_PATH")"
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements.xml" tmp-to-sign.tar.gz || exit 1
rm -rf "$APPLICATION_PATH"
tar -xzf tmp-to-sign.tar.gz --directory "$(dirname "$APPLICATION_PATH")"
rm -f tmp-to-sign.tar.gz
else
"$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements "$SCRIPT_DIR/entitlements.xml" "$APPLICATION_PATH" || exit 1
fi
BUILD_NAME="$(basename "$APPLICATION_PATH")"
log "Creating $PKG_NAME..."
rm -rf "$PKG_NAME"
mkdir -p unsigned
pkgbuild --identifier $BUNDLE_ID --root $APPLICATION_PATH \
--install-location /Library/Java/JavaVirtualMachines/${BUILD_NAME} unsigned/${PKG_NAME}
log "Signing $PKG_NAME..."
"$PRODUCTSIGN_UTILITY" --timestamp --sign "$JB_INSTALLER_CERT" unsigned/${PKG_NAME} ${PKG_NAME}
log "Verifying java is not broken"
find "$APPLICATION_PATH" \
-type f -name 'java' -perm +111 -exec {} -version \;

View File

@@ -1,155 +0,0 @@
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
[[ "${SCRIPT_VERBOSE:-}" == "1" ]] && set -x
export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
export COPYFILE_DISABLE=true
INPUT_FILE=$1
EXPLODED=$2.exploded
USERNAME=$3
PASSWORD=$4
CODESIGN_STRING=$5
JB_INSTALLER_CERT=$6
NOTARIZE=$7
BUNDLE_ID=$8
SCRIPT_DIR="$(cd "$(dirname "$0")" >/dev/null && pwd)"
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
log "Deleting $EXPLODED ..."
if test -d "$EXPLODED"; then
find "$EXPLODED" -mindepth 1 -maxdepth 1 -exec chmod -R u+wx '{}' \;
fi
rm -rf "$EXPLODED"
mkdir "$EXPLODED"
log "Unzipping $INPUT_FILE to $EXPLODED ..."
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
BUILD_NAME="$(ls "$EXPLODED")"
#sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
rm -f $EXPLODED/$BUILD_NAME/Contents/CodeResources
mv "$INPUT_FILE" "$INPUT_FILE".origin
log "$INPUT_FILE extracted and removed"
APP_NAME=$(basename "$INPUT_FILE" | awk -F".tar" '{ print $1 }')
PKG_NAME="$APP_NAME.pkg"
APPLICATION_PATH=$EXPLODED/$(ls $EXPLODED)
find "$APPLICATION_PATH/Contents/Home/bin" \
-maxdepth 1 -type f -name '*.jnilib' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Linking $file"
b="$(basename "$file" .jnilib)"
ln -sf "$b.jnilib" "$(dirname "$file")/$b.dylib"
fi
done
find "$APPLICATION_PATH/Contents/" \
-maxdepth 1 -type f -name '*.txt' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Moving $file"
mv "$file" "$APPLICATION_PATH/Contents/Resources"
fi
done
non_plist=$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist' | wc -l)
if [[ $non_plist -gt 0 ]]; then
log "Only Info.plist file is allowed in Contents directory but found $non_plist file(s):"
log "$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist')"
exit 1
fi
if [[ "${JETSIGN_CLIENT:=}" == "null" ]] || [[ "$JETSIGN_CLIENT" == "" ]]; then
log "Unlocking keychain..."
# Make sure *.p12 is imported into local KeyChain
security unlock-keychain -p "$PASSWORD" "/Users/$USERNAME/Library/Keychains/login.keychain"
fi
attempt=1
limit=1
ec=0
set +e
while [[ $attempt -le $limit ]]; do
log "Signing (attempt $attempt) $APPLICATION_PATH ..."
"$SCRIPT_DIR/sign.sh" "$APPLICATION_PATH" "$PKG_NAME" "$BUNDLE_ID" "$CODESIGN_STRING" "$JB_INSTALLER_CERT"
ec=$?
((attempt += 1))
if [[ $ec -ne 0 ]]; then
log "Signing failed, wait for 30 sec and try to sign again"
sleep 30
else
log "Signing done"
codesign -v "$APPLICATION_PATH" -vvvvv
log "Check sign done"
spctl -a -v $APPLICATION_PATH
fi
done
set -e
if [[ $ec -ne 0 ]]; then
log "Signing failed, restore original input file"
mv "$INPUT_FILE".origin "$INPUT_FILE"
fi
if [ "$NOTARIZE" = "yes" ]; then
log "Notarizing..."
"$SCRIPT_DIR/notarize.sh" "$PKG_NAME"
log "Stapling..."
appStaplerOutput=$(xcrun stapler staple "$APPLICATION_PATH")
if [ $? -ne 0 ]; then
log "Stapling application failed"
echo "$appStaplerOutput"
exit 1
else
echo "$appStaplerOutput"
fi
log "Stapling package..."
pkgStaplerOutput=$(xcrun stapler staple "$PKG_NAME")
if [ $? -ne 0 ]; then
log "Stapling package failed"
echo "$pkgStaplerOutput"
exit 1
else
echo "$pkgStaplerOutput"
fi
# Verify stapling
log "Verifying stapling..."
if ! stapler validate "$APPLICATION_PATH"; then
log "Stapling verification failed for application"
exit 1
fi
if ! stapler validate "$PKG_NAME"; then
log "Stapling verification failed for package"
exit 1
fi
else
log "Notarization disabled"
log "Stapling disabled"
fi
log "Zipping $BUILD_NAME to $INPUT_FILE ..."
(
if [[ "$APPLICATION_PATH" != "$EXPLODED/$BUILD_NAME" ]]; then
mv $APPLICATION_PATH $EXPLODED/$BUILD_NAME
else
echo "No move, source == destination: $APPLICATION_PATH"
fi
tar -pczvf $INPUT_FILE --exclude='man' -C $EXPLODED $BUILD_NAME
log "Finished zipping"
)
rm -rf "$EXPLODED"
log "Done"

View File

@@ -1,30 +0,0 @@
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
index 522acb7cb43..c40e689d5de 100644
--- jb/project/tools/common/modules.list
+++ jb/project/tools/common/modules.list
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef,
+gluegen.rt,
+jogl.all
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index 897647ee368..781d1809493 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -116,7 +116,11 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop;
+ jdk.unsupported.desktop,
+ jcef,
+ jogl.all;
+
+ exports java.awt.peer to jcef;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

View File

@@ -1,30 +0,0 @@
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
index 522acb7..c40e689 100644
--- jb/project/tools/common/modules.list
+++ jb/project/tools/common/modules.list
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef,
+gluegen.rt,
+jogl.all
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index 897647e..781d180 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -116,7 +116,11 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop;
+ jdk.unsupported.desktop,
+ jcef,
+ jogl.all;
+
+ exports java.awt.peer to jcef;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

View File

@@ -1,267 +0,0 @@
prog.verbose=disabled
prog.printresults=enabled
global.env.outputwidth=640
global.env.outputheight=480
global.env.runcount=5
global.env.repcount=0
global.env.testtime=2500
global.results.workunits=units
global.results.timeunits=sec
global.results.ratio=unitspersec
global.dest.offscreen=disabled
global.dest.frame.defaultframe=enabled
global.dest.frame.transframe=disabled
global.dest.frame.shapedframe=disabled
global.dest.frame.shapedtransframe=disabled
global.dest.compatimg.compatimg=disabled
global.dest.compatimg.opqcompatimg=disabled
global.dest.compatimg.bmcompatimg=disabled
global.dest.compatimg.transcompatimg=disabled
global.dest.volimg.volimg=disabled
global.dest.volimg.opqvolimg=disabled
global.dest.volimg.bmvolimg=disabled
global.dest.volimg.transvolimg=disabled
global.dest.bufimg.IntXrgb=disabled
global.dest.bufimg.IntArgb=disabled
global.dest.bufimg.IntArgbPre=disabled
global.dest.bufimg.3ByteBgr=disabled
global.dest.bufimg.ByteIndexed=disabled
global.dest.bufimg.ByteGray=disabled
global.dest.bufimg.4ByteAbgr=disabled
global.dest.bufimg.4ByteAbgrPre=disabled
global.dest.bufimg.custom=disabled
graphics.opts.anim=2
graphics.opts.sizes=250
graphics.opts.alpharule=SrcOver
graphics.opts.transform=ident
graphics.opts.extraalpha=Off
graphics.opts.xormode=Off
graphics.opts.clip=Off
graphics.opts.renderhint=Default
graphics.render.opts.paint=random
graphics.render.opts.alphacolor=Off
graphics.render.opts.antialias=On
graphics.render.opts.stroke=width1
graphics.render.tests.drawLine=disabled
graphics.render.tests.drawLineHoriz=disabled
graphics.render.tests.drawLineVert=disabled
graphics.render.tests.fillRect=disabled
graphics.render.tests.drawRect=disabled
graphics.render.tests.fillOval=disabled
graphics.render.tests.drawOval=disabled
graphics.render.tests.fillPoly=disabled
graphics.render.tests.drawPoly=enabled
graphics.render.tests.shape.fillCubic=disabled
graphics.render.tests.shape.drawCubic=disabled
graphics.render.tests.shape.fillEllipse2D=disabled
graphics.render.tests.shape.drawEllipse2D=disabled
graphics.imaging.src.offscr.opaque=disabled
graphics.imaging.src.offscr.bitmask=disabled
graphics.imaging.src.offscr.translucent=disabled
graphics.imaging.src.opqcompatimg.opaque=disabled
graphics.imaging.src.opqcompatimg.bitmask=disabled
graphics.imaging.src.opqcompatimg.translucent=disabled
graphics.imaging.src.bmcompatimg.opaque=disabled
graphics.imaging.src.bmcompatimg.bitmask=disabled
graphics.imaging.src.bmcompatimg.translucent=disabled
graphics.imaging.src.transcompatimg.opaque=disabled
graphics.imaging.src.transcompatimg.bitmask=disabled
graphics.imaging.src.transcompatimg.translucent=disabled
graphics.imaging.src.opqvolimg.opaque=disabled
graphics.imaging.src.opqvolimg.bitmask=disabled
graphics.imaging.src.opqvolimg.translucent=disabled
graphics.imaging.src.bmvolimg.opaque=disabled
graphics.imaging.src.bmvolimg.bitmask=disabled
graphics.imaging.src.bmvolimg.translucent=disabled
graphics.imaging.src.transvolimg.opaque=disabled
graphics.imaging.src.transvolimg.bitmask=disabled
graphics.imaging.src.transvolimg.translucent=disabled
graphics.imaging.src.bufimg.IntXrgb.opaque=disabled
graphics.imaging.src.bufimg.IntXrgb.bitmask=disabled
graphics.imaging.src.bufimg.IntXrgb.translucent=disabled
graphics.imaging.src.bufimg.IntArgb.opaque=disabled
graphics.imaging.src.bufimg.IntArgb.bitmask=disabled
graphics.imaging.src.bufimg.IntArgb.translucent=disabled
graphics.imaging.src.bufimg.IntArgbPre.opaque=disabled
graphics.imaging.src.bufimg.IntArgbPre.bitmask=disabled
graphics.imaging.src.bufimg.IntArgbPre.translucent=disabled
graphics.imaging.src.bufimg.ByteGray.opaque=disabled
graphics.imaging.src.bufimg.ByteGray.bitmask=disabled
graphics.imaging.src.bufimg.ByteGray.translucent=disabled
graphics.imaging.src.bufimg.3ByteBgr.opaque=disabled
graphics.imaging.src.bufimg.3ByteBgr.bitmask=disabled
graphics.imaging.src.bufimg.3ByteBgr.translucent=disabled
graphics.imaging.src.bufimg.4ByteAbgr.opaque=disabled
graphics.imaging.src.bufimg.4ByteAbgr.bitmask=disabled
graphics.imaging.src.bufimg.4ByteAbgr.translucent=disabled
graphics.imaging.src.bufimg.4ByteAbgrPre.opaque=disabled
graphics.imaging.src.bufimg.4ByteAbgrPre.bitmask=disabled
graphics.imaging.src.bufimg.4ByteAbgrPre.translucent=disabled
graphics.imaging.src.bufimg.ByteIndexedBm.opaque=disabled
graphics.imaging.src.bufimg.ByteIndexedBm.bitmask=disabled
graphics.imaging.src.bufimg.ByteIndexedBm.translucent=disabled
graphics.imaging.src.bufimg.unmanagedIntXrgb.opaque=disabled
graphics.imaging.src.bufimg.unmanagedIntXrgb.bitmask=disabled
graphics.imaging.src.bufimg.unmanagedIntXrgb.translucent=disabled
graphics.imaging.src.bufimg.unmanagedIntArgb.opaque=disabled
graphics.imaging.src.bufimg.unmanagedIntArgb.bitmask=disabled
graphics.imaging.src.bufimg.unmanagedIntArgb.translucent=disabled
graphics.imaging.src.bufimg.unmanagedIntArgbPre.opaque=disabled
graphics.imaging.src.bufimg.unmanagedIntArgbPre.bitmask=disabled
graphics.imaging.src.bufimg.unmanagedIntArgbPre.translucent=disabled
graphics.imaging.src.bufimg.unmanaged3ByteBgr.opaque=disabled
graphics.imaging.src.bufimg.unmanaged3ByteBgr.bitmask=disabled
graphics.imaging.src.bufimg.unmanaged3ByteBgr.translucent=disabled
graphics.imaging.benchmarks.opts.interpolation=Nearest neighbor
graphics.imaging.benchmarks.opts.touchsrc=Off
graphics.imaging.benchmarks.tests.drawimage=disabled
graphics.imaging.benchmarks.tests.drawimagebg=disabled
graphics.imaging.benchmarks.tests.drawimagescaleup=disabled
graphics.imaging.benchmarks.tests.drawimagescaledown=disabled
graphics.imaging.benchmarks.tests.drawimagescalesplit=disabled
graphics.imaging.benchmarks.tests.drawimagetxform=disabled
graphics.imaging.imageops.opts.op=convolve3x3zero
graphics.imaging.imageops.tests.graphics2d.drawimageop=disabled
graphics.imaging.imageops.tests.bufimgop.filternull=disabled
graphics.imaging.imageops.tests.bufimgop.filtercached=disabled
graphics.imaging.imageops.tests.rasterop.filternull=disabled
graphics.imaging.imageops.tests.rasterop.filtercached=disabled
graphics.misc.copytests.copyAreaVert=disabled
graphics.misc.copytests.copyAreaHoriz=disabled
graphics.misc.copytests.copyAreaDiag=disabled
pixel.opts.renderto=Off
pixel.opts.renderfrom=Off
pixel.src.1BitBinary=disabled
pixel.src.2BitBinary=disabled
pixel.src.4BitBinary=disabled
pixel.src.ByteIndexed=disabled
pixel.src.ByteGray=disabled
pixel.src.Short555=disabled
pixel.src.Short565=disabled
pixel.src.ShortGray=disabled
pixel.src.3ByteBgr=disabled
pixel.src.4ByteAbgr=disabled
pixel.src.IntXrgb=disabled
pixel.src.IntXbgr=disabled
pixel.src.IntArgb=disabled
pixel.bimgtests.getrgb=disabled
pixel.bimgtests.setrgb=disabled
pixel.rastests.getdataelem=disabled
pixel.rastests.setdataelem=disabled
pixel.rastests.getpixel=disabled
pixel.rastests.setpixel=disabled
pixel.dbtests.getelem=disabled
pixel.dbtests.setelem=disabled
text.opts.data.tlength=16
text.opts.data.tscript=english
text.opts.font.fname=serif,physical
text.opts.font.fstyle=0
text.opts.font.fsize=13.0
text.opts.font.ftx=Identity
text.opts.graphics.textaa=Off
text.opts.graphics.tfm=Off
text.opts.graphics.gaa=Off
text.opts.graphics.gtx=Identity
text.opts.advopts.gvstyle=0
text.opts.advopts.tlruns=1
text.opts.advopts.maptype=FONT
text.Rendering.tests.drawString=disabled
text.Rendering.tests.drawChars=disabled
text.Rendering.tests.drawBytes=disabled
text.Rendering.tests.drawGlyphVectors=disabled
text.Rendering.tests.drawTextLayout=disabled
text.Measuring.tests.stringWidth=disabled
text.Measuring.tests.stringBounds=disabled
text.Measuring.tests.charsWidth=disabled
text.Measuring.tests.charsBounds=disabled
text.Measuring.tests.fontcandisplay=disabled
text.Measuring.tests.gvWidth=disabled
text.Measuring.tests.gvLogicalBounds=disabled
text.Measuring.tests.gvVisualBounds=disabled
text.Measuring.tests.gvPixelBounds=disabled
text.Measuring.tests.gvOutline=disabled
text.Measuring.tests.gvGlyphLogicalBounds=disabled
text.Measuring.tests.gvGlyphVisualBounds=disabled
text.Measuring.tests.gvGlyphPixelBounds=disabled
text.Measuring.tests.gvGlyphOutline=disabled
text.Measuring.tests.gvGlyphTransform=disabled
text.Measuring.tests.gvGlyphMetrics=disabled
text.Measuring.tests.tlAdvance=disabled
text.Measuring.tests.tlAscent=disabled
text.Measuring.tests.tlBounds=disabled
text.Measuring.tests.tlGetCaretInfo=disabled
text.Measuring.tests.tlGetNextHit=disabled
text.Measuring.tests.tlGetCaretShape=disabled
text.Measuring.tests.tlGetLogicalHighlightShape=disabled
text.Measuring.tests.tlHitTest=disabled
text.Measuring.tests.tlOutline=disabled
text.construction.tests.gvfromfontstring=disabled
text.construction.tests.gvfromfontchars=disabled
text.construction.tests.gvfromfontci=disabled
text.construction.tests.gvfromfontglyphs=disabled
text.construction.tests.gvfromfontlayout=disabled
text.construction.tests.tlfromfont=disabled
text.construction.tests.tlfrommap=disabled
imageio.opts.size=250
imageio.opts.content=photo
imageio.input.opts.general.source.file=disabled
imageio.input.opts.general.source.url=disabled
imageio.input.opts.general.source.byteArray=disabled
imageio.input.opts.imageio.useCache=Off
imageio.input.image.toolkit.opts.format=
imageio.input.image.toolkit.tests.createImage=disabled
imageio.input.image.imageio.opts.format=
imageio.input.image.imageio.tests.imageioRead=disabled
imageio.input.image.imageio.reader.opts.seekForwardOnly=On
imageio.input.image.imageio.reader.opts.ignoreMetadata=On
imageio.input.image.imageio.reader.opts.installListener=Off
imageio.input.image.imageio.reader.tests.read=disabled
imageio.input.image.imageio.reader.tests.getImageMetadata=disabled
imageio.input.stream.tests.construct=disabled
imageio.input.stream.tests.read=disabled
imageio.input.stream.tests.readByteArray=disabled
imageio.input.stream.tests.readFullyByteArray=disabled
imageio.input.stream.tests.readBit=disabled
imageio.input.stream.tests.readByte=disabled
imageio.input.stream.tests.readUnsignedByte=disabled
imageio.input.stream.tests.readShort=disabled
imageio.input.stream.tests.readUnsignedShort=disabled
imageio.input.stream.tests.readInt=disabled
imageio.input.stream.tests.readUnsignedInt=disabled
imageio.input.stream.tests.readFloat=disabled
imageio.input.stream.tests.readLong=disabled
imageio.input.stream.tests.readDouble=disabled
imageio.input.stream.tests.skipBytes=disabled
imageio.output.opts.general.dest.file=disabled
imageio.output.opts.general.dest.byteArray=disabled
imageio.output.opts.imageio.useCache=Off
imageio.output.image.imageio.opts.format=
imageio.output.image.imageio.tests.imageioWrite=disabled
imageio.output.image.imageio.writer.opts.installListener=Off
imageio.output.image.imageio.writer.tests.write=disabled
imageio.output.stream.tests.construct=disabled
imageio.output.stream.tests.write=disabled
imageio.output.stream.tests.writeByteArray=disabled
imageio.output.stream.tests.writeBit=disabled
imageio.output.stream.tests.writeByte=disabled
imageio.output.stream.tests.writeShort=disabled
imageio.output.stream.tests.writeInt=disabled
imageio.output.stream.tests.writeFloat=disabled
imageio.output.stream.tests.writeLong=disabled
imageio.output.stream.tests.writeDouble=disabled
cmm.opts.profiles=1001
cmm.colorconv.data.fromRGB=disabled
cmm.colorconv.data.toRGB=disabled
cmm.colorconv.data.fromCIEXYZ=disabled
cmm.colorconv.data.toCIEXYZ=disabled
cmm.colorconv.ccop.ccopOptions.size=250
cmm.colorconv.ccop.ccopOptions.content=photo
cmm.colorconv.ccop.ccopOptions.srcType=INT_RGB
cmm.colorconv.ccop.ccopOptions.dstType=INT_RGB
cmm.colorconv.ccop.op_img=disabled
cmm.colorconv.ccop.op_rst=disabled
cmm.colorconv.ccop.op_draw=disabled
cmm.colorconv.embed.embedOptions.Images=512x512
cmm.colorconv.embed.embd_img_read=disabled
cmm.profiles.getHeader=disabled
cmm.profiles.getNumComponents=disabled

View File

@@ -1,267 +0,0 @@
prog.verbose=disabled
prog.printresults=enabled
global.env.outputwidth=640
global.env.outputheight=480
global.env.runcount=5
global.env.repcount=0
global.env.testtime=2500
global.results.workunits=units
global.results.timeunits=sec
global.results.ratio=unitspersec
global.dest.offscreen=disabled
global.dest.frame.defaultframe=enabled
global.dest.frame.transframe=disabled
global.dest.frame.shapedframe=disabled
global.dest.frame.shapedtransframe=disabled
global.dest.compatimg.compatimg=disabled
global.dest.compatimg.opqcompatimg=disabled
global.dest.compatimg.bmcompatimg=disabled
global.dest.compatimg.transcompatimg=disabled
global.dest.volimg.volimg=disabled
global.dest.volimg.opqvolimg=disabled
global.dest.volimg.bmvolimg=disabled
global.dest.volimg.transvolimg=disabled
global.dest.bufimg.IntXrgb=disabled
global.dest.bufimg.IntArgb=disabled
global.dest.bufimg.IntArgbPre=disabled
global.dest.bufimg.3ByteBgr=disabled
global.dest.bufimg.ByteIndexed=disabled
global.dest.bufimg.ByteGray=disabled
global.dest.bufimg.4ByteAbgr=disabled
global.dest.bufimg.4ByteAbgrPre=disabled
global.dest.bufimg.custom=disabled
graphics.opts.anim=2
graphics.opts.sizes=250
graphics.opts.alpharule=SrcOver
graphics.opts.transform=ident
graphics.opts.extraalpha=Off
graphics.opts.xormode=Off
graphics.opts.clip=Off
graphics.opts.renderhint=Default
graphics.render.opts.paint=random
graphics.render.opts.alphacolor=Off
graphics.render.opts.antialias=Off
graphics.render.opts.stroke=width1
graphics.render.tests.drawLine=disabled
graphics.render.tests.drawLineHoriz=disabled
graphics.render.tests.drawLineVert=disabled
graphics.render.tests.fillRect=disabled
graphics.render.tests.drawRect=disabled
graphics.render.tests.fillOval=disabled
graphics.render.tests.drawOval=disabled
graphics.render.tests.fillPoly=disabled
graphics.render.tests.drawPoly=enabled
graphics.render.tests.shape.fillCubic=disabled
graphics.render.tests.shape.drawCubic=disabled
graphics.render.tests.shape.fillEllipse2D=disabled
graphics.render.tests.shape.drawEllipse2D=disabled
graphics.imaging.src.offscr.opaque=disabled
graphics.imaging.src.offscr.bitmask=disabled
graphics.imaging.src.offscr.translucent=disabled
graphics.imaging.src.opqcompatimg.opaque=disabled
graphics.imaging.src.opqcompatimg.bitmask=disabled
graphics.imaging.src.opqcompatimg.translucent=disabled
graphics.imaging.src.bmcompatimg.opaque=disabled
graphics.imaging.src.bmcompatimg.bitmask=disabled
graphics.imaging.src.bmcompatimg.translucent=disabled
graphics.imaging.src.transcompatimg.opaque=disabled
graphics.imaging.src.transcompatimg.bitmask=disabled
graphics.imaging.src.transcompatimg.translucent=disabled
graphics.imaging.src.opqvolimg.opaque=disabled
graphics.imaging.src.opqvolimg.bitmask=disabled
graphics.imaging.src.opqvolimg.translucent=disabled
graphics.imaging.src.bmvolimg.opaque=disabled
graphics.imaging.src.bmvolimg.bitmask=disabled
graphics.imaging.src.bmvolimg.translucent=disabled
graphics.imaging.src.transvolimg.opaque=disabled
graphics.imaging.src.transvolimg.bitmask=disabled
graphics.imaging.src.transvolimg.translucent=disabled
graphics.imaging.src.bufimg.IntXrgb.opaque=disabled
graphics.imaging.src.bufimg.IntXrgb.bitmask=disabled
graphics.imaging.src.bufimg.IntXrgb.translucent=disabled
graphics.imaging.src.bufimg.IntArgb.opaque=disabled
graphics.imaging.src.bufimg.IntArgb.bitmask=disabled
graphics.imaging.src.bufimg.IntArgb.translucent=disabled
graphics.imaging.src.bufimg.IntArgbPre.opaque=disabled
graphics.imaging.src.bufimg.IntArgbPre.bitmask=disabled
graphics.imaging.src.bufimg.IntArgbPre.translucent=disabled
graphics.imaging.src.bufimg.ByteGray.opaque=disabled
graphics.imaging.src.bufimg.ByteGray.bitmask=disabled
graphics.imaging.src.bufimg.ByteGray.translucent=disabled
graphics.imaging.src.bufimg.3ByteBgr.opaque=disabled
graphics.imaging.src.bufimg.3ByteBgr.bitmask=disabled
graphics.imaging.src.bufimg.3ByteBgr.translucent=disabled
graphics.imaging.src.bufimg.4ByteAbgr.opaque=disabled
graphics.imaging.src.bufimg.4ByteAbgr.bitmask=disabled
graphics.imaging.src.bufimg.4ByteAbgr.translucent=disabled
graphics.imaging.src.bufimg.4ByteAbgrPre.opaque=disabled
graphics.imaging.src.bufimg.4ByteAbgrPre.bitmask=disabled
graphics.imaging.src.bufimg.4ByteAbgrPre.translucent=disabled
graphics.imaging.src.bufimg.ByteIndexedBm.opaque=disabled
graphics.imaging.src.bufimg.ByteIndexedBm.bitmask=disabled
graphics.imaging.src.bufimg.ByteIndexedBm.translucent=disabled
graphics.imaging.src.bufimg.unmanagedIntXrgb.opaque=disabled
graphics.imaging.src.bufimg.unmanagedIntXrgb.bitmask=disabled
graphics.imaging.src.bufimg.unmanagedIntXrgb.translucent=disabled
graphics.imaging.src.bufimg.unmanagedIntArgb.opaque=disabled
graphics.imaging.src.bufimg.unmanagedIntArgb.bitmask=disabled
graphics.imaging.src.bufimg.unmanagedIntArgb.translucent=disabled
graphics.imaging.src.bufimg.unmanagedIntArgbPre.opaque=disabled
graphics.imaging.src.bufimg.unmanagedIntArgbPre.bitmask=disabled
graphics.imaging.src.bufimg.unmanagedIntArgbPre.translucent=disabled
graphics.imaging.src.bufimg.unmanaged3ByteBgr.opaque=disabled
graphics.imaging.src.bufimg.unmanaged3ByteBgr.bitmask=disabled
graphics.imaging.src.bufimg.unmanaged3ByteBgr.translucent=disabled
graphics.imaging.benchmarks.opts.interpolation=Nearest neighbor
graphics.imaging.benchmarks.opts.touchsrc=Off
graphics.imaging.benchmarks.tests.drawimage=disabled
graphics.imaging.benchmarks.tests.drawimagebg=disabled
graphics.imaging.benchmarks.tests.drawimagescaleup=disabled
graphics.imaging.benchmarks.tests.drawimagescaledown=disabled
graphics.imaging.benchmarks.tests.drawimagescalesplit=disabled
graphics.imaging.benchmarks.tests.drawimagetxform=disabled
graphics.imaging.imageops.opts.op=convolve3x3zero
graphics.imaging.imageops.tests.graphics2d.drawimageop=disabled
graphics.imaging.imageops.tests.bufimgop.filternull=disabled
graphics.imaging.imageops.tests.bufimgop.filtercached=disabled
graphics.imaging.imageops.tests.rasterop.filternull=disabled
graphics.imaging.imageops.tests.rasterop.filtercached=disabled
graphics.misc.copytests.copyAreaVert=disabled
graphics.misc.copytests.copyAreaHoriz=disabled
graphics.misc.copytests.copyAreaDiag=disabled
pixel.opts.renderto=Off
pixel.opts.renderfrom=Off
pixel.src.1BitBinary=disabled
pixel.src.2BitBinary=disabled
pixel.src.4BitBinary=disabled
pixel.src.ByteIndexed=disabled
pixel.src.ByteGray=disabled
pixel.src.Short555=disabled
pixel.src.Short565=disabled
pixel.src.ShortGray=disabled
pixel.src.3ByteBgr=disabled
pixel.src.4ByteAbgr=disabled
pixel.src.IntXrgb=disabled
pixel.src.IntXbgr=disabled
pixel.src.IntArgb=disabled
pixel.bimgtests.getrgb=disabled
pixel.bimgtests.setrgb=disabled
pixel.rastests.getdataelem=disabled
pixel.rastests.setdataelem=disabled
pixel.rastests.getpixel=disabled
pixel.rastests.setpixel=disabled
pixel.dbtests.getelem=disabled
pixel.dbtests.setelem=disabled
text.opts.data.tlength=16
text.opts.data.tscript=english
text.opts.font.fname=serif,physical
text.opts.font.fstyle=0
text.opts.font.fsize=13.0
text.opts.font.ftx=Identity
text.opts.graphics.textaa=Off
text.opts.graphics.tfm=Off
text.opts.graphics.gaa=Off
text.opts.graphics.gtx=Identity
text.opts.advopts.gvstyle=0
text.opts.advopts.tlruns=1
text.opts.advopts.maptype=FONT
text.Rendering.tests.drawString=disabled
text.Rendering.tests.drawChars=disabled
text.Rendering.tests.drawBytes=disabled
text.Rendering.tests.drawGlyphVectors=disabled
text.Rendering.tests.drawTextLayout=disabled
text.Measuring.tests.stringWidth=disabled
text.Measuring.tests.stringBounds=disabled
text.Measuring.tests.charsWidth=disabled
text.Measuring.tests.charsBounds=disabled
text.Measuring.tests.fontcandisplay=disabled
text.Measuring.tests.gvWidth=disabled
text.Measuring.tests.gvLogicalBounds=disabled
text.Measuring.tests.gvVisualBounds=disabled
text.Measuring.tests.gvPixelBounds=disabled
text.Measuring.tests.gvOutline=disabled
text.Measuring.tests.gvGlyphLogicalBounds=disabled
text.Measuring.tests.gvGlyphVisualBounds=disabled
text.Measuring.tests.gvGlyphPixelBounds=disabled
text.Measuring.tests.gvGlyphOutline=disabled
text.Measuring.tests.gvGlyphTransform=disabled
text.Measuring.tests.gvGlyphMetrics=disabled
text.Measuring.tests.tlAdvance=disabled
text.Measuring.tests.tlAscent=disabled
text.Measuring.tests.tlBounds=disabled
text.Measuring.tests.tlGetCaretInfo=disabled
text.Measuring.tests.tlGetNextHit=disabled
text.Measuring.tests.tlGetCaretShape=disabled
text.Measuring.tests.tlGetLogicalHighlightShape=disabled
text.Measuring.tests.tlHitTest=disabled
text.Measuring.tests.tlOutline=disabled
text.construction.tests.gvfromfontstring=disabled
text.construction.tests.gvfromfontchars=disabled
text.construction.tests.gvfromfontci=disabled
text.construction.tests.gvfromfontglyphs=disabled
text.construction.tests.gvfromfontlayout=disabled
text.construction.tests.tlfromfont=disabled
text.construction.tests.tlfrommap=disabled
imageio.opts.size=250
imageio.opts.content=photo
imageio.input.opts.general.source.file=disabled
imageio.input.opts.general.source.url=disabled
imageio.input.opts.general.source.byteArray=disabled
imageio.input.opts.imageio.useCache=Off
imageio.input.image.toolkit.opts.format=
imageio.input.image.toolkit.tests.createImage=disabled
imageio.input.image.imageio.opts.format=
imageio.input.image.imageio.tests.imageioRead=disabled
imageio.input.image.imageio.reader.opts.seekForwardOnly=On
imageio.input.image.imageio.reader.opts.ignoreMetadata=On
imageio.input.image.imageio.reader.opts.installListener=Off
imageio.input.image.imageio.reader.tests.read=disabled
imageio.input.image.imageio.reader.tests.getImageMetadata=disabled
imageio.input.stream.tests.construct=disabled
imageio.input.stream.tests.read=disabled
imageio.input.stream.tests.readByteArray=disabled
imageio.input.stream.tests.readFullyByteArray=disabled
imageio.input.stream.tests.readBit=disabled
imageio.input.stream.tests.readByte=disabled
imageio.input.stream.tests.readUnsignedByte=disabled
imageio.input.stream.tests.readShort=disabled
imageio.input.stream.tests.readUnsignedShort=disabled
imageio.input.stream.tests.readInt=disabled
imageio.input.stream.tests.readUnsignedInt=disabled
imageio.input.stream.tests.readFloat=disabled
imageio.input.stream.tests.readLong=disabled
imageio.input.stream.tests.readDouble=disabled
imageio.input.stream.tests.skipBytes=disabled
imageio.output.opts.general.dest.file=disabled
imageio.output.opts.general.dest.byteArray=disabled
imageio.output.opts.imageio.useCache=Off
imageio.output.image.imageio.opts.format=
imageio.output.image.imageio.tests.imageioWrite=disabled
imageio.output.image.imageio.writer.opts.installListener=Off
imageio.output.image.imageio.writer.tests.write=disabled
imageio.output.stream.tests.construct=disabled
imageio.output.stream.tests.write=disabled
imageio.output.stream.tests.writeByteArray=disabled
imageio.output.stream.tests.writeBit=disabled
imageio.output.stream.tests.writeByte=disabled
imageio.output.stream.tests.writeShort=disabled
imageio.output.stream.tests.writeInt=disabled
imageio.output.stream.tests.writeFloat=disabled
imageio.output.stream.tests.writeLong=disabled
imageio.output.stream.tests.writeDouble=disabled
cmm.opts.profiles=1001
cmm.colorconv.data.fromRGB=disabled
cmm.colorconv.data.toRGB=disabled
cmm.colorconv.data.fromCIEXYZ=disabled
cmm.colorconv.data.toCIEXYZ=disabled
cmm.colorconv.ccop.ccopOptions.size=250
cmm.colorconv.ccop.ccopOptions.content=photo
cmm.colorconv.ccop.ccopOptions.srcType=INT_RGB
cmm.colorconv.ccop.ccopOptions.dstType=INT_RGB
cmm.colorconv.ccop.op_img=disabled
cmm.colorconv.ccop.op_rst=disabled
cmm.colorconv.ccop.op_draw=disabled
cmm.colorconv.embed.embedOptions.Images=512x512
cmm.colorconv.embed.embd_img_read=disabled
cmm.profiles.getHeader=disabled
cmm.profiles.getNumComponents=disabled

View File

@@ -1,267 +0,0 @@
prog.verbose=disabled
prog.printresults=enabled
global.env.outputwidth=640
global.env.outputheight=480
global.env.runcount=5
global.env.repcount=0
global.env.testtime=2500
global.results.workunits=units
global.results.timeunits=sec
global.results.ratio=unitspersec
global.dest.offscreen=disabled
global.dest.frame.defaultframe=enabled
global.dest.frame.transframe=disabled
global.dest.frame.shapedframe=disabled
global.dest.frame.shapedtransframe=disabled
global.dest.compatimg.compatimg=disabled
global.dest.compatimg.opqcompatimg=disabled
global.dest.compatimg.bmcompatimg=disabled
global.dest.compatimg.transcompatimg=disabled
global.dest.volimg.volimg=disabled
global.dest.volimg.opqvolimg=disabled
global.dest.volimg.bmvolimg=disabled
global.dest.volimg.transvolimg=disabled
global.dest.bufimg.IntXrgb=disabled
global.dest.bufimg.IntArgb=disabled
global.dest.bufimg.IntArgbPre=disabled
global.dest.bufimg.3ByteBgr=disabled
global.dest.bufimg.ByteIndexed=disabled
global.dest.bufimg.ByteGray=disabled
global.dest.bufimg.4ByteAbgr=disabled
global.dest.bufimg.4ByteAbgrPre=disabled
global.dest.bufimg.custom=disabled
graphics.opts.anim=2
graphics.opts.sizes=250
graphics.opts.alpharule=SrcOver
graphics.opts.transform=ident
graphics.opts.extraalpha=Off
graphics.opts.xormode=Off
graphics.opts.clip=Off
graphics.opts.renderhint=Default
graphics.render.opts.paint=single
graphics.render.opts.alphacolor=Off
graphics.render.opts.antialias=Off
graphics.render.opts.stroke=width1
graphics.render.tests.drawLine=disabled
graphics.render.tests.drawLineHoriz=disabled
graphics.render.tests.drawLineVert=disabled
graphics.render.tests.fillRect=disabled
graphics.render.tests.drawRect=disabled
graphics.render.tests.fillOval=disabled
graphics.render.tests.drawOval=disabled
graphics.render.tests.fillPoly=disabled
graphics.render.tests.drawPoly=enabled
graphics.render.tests.shape.fillCubic=disabled
graphics.render.tests.shape.drawCubic=disabled
graphics.render.tests.shape.fillEllipse2D=disabled
graphics.render.tests.shape.drawEllipse2D=disabled
graphics.imaging.src.offscr.opaque=disabled
graphics.imaging.src.offscr.bitmask=disabled
graphics.imaging.src.offscr.translucent=disabled
graphics.imaging.src.opqcompatimg.opaque=disabled
graphics.imaging.src.opqcompatimg.bitmask=disabled
graphics.imaging.src.opqcompatimg.translucent=disabled
graphics.imaging.src.bmcompatimg.opaque=disabled
graphics.imaging.src.bmcompatimg.bitmask=disabled
graphics.imaging.src.bmcompatimg.translucent=disabled
graphics.imaging.src.transcompatimg.opaque=disabled
graphics.imaging.src.transcompatimg.bitmask=disabled
graphics.imaging.src.transcompatimg.translucent=disabled
graphics.imaging.src.opqvolimg.opaque=disabled
graphics.imaging.src.opqvolimg.bitmask=disabled
graphics.imaging.src.opqvolimg.translucent=disabled
graphics.imaging.src.bmvolimg.opaque=disabled
graphics.imaging.src.bmvolimg.bitmask=disabled
graphics.imaging.src.bmvolimg.translucent=disabled
graphics.imaging.src.transvolimg.opaque=disabled
graphics.imaging.src.transvolimg.bitmask=disabled
graphics.imaging.src.transvolimg.translucent=disabled
graphics.imaging.src.bufimg.IntXrgb.opaque=disabled
graphics.imaging.src.bufimg.IntXrgb.bitmask=disabled
graphics.imaging.src.bufimg.IntXrgb.translucent=disabled
graphics.imaging.src.bufimg.IntArgb.opaque=disabled
graphics.imaging.src.bufimg.IntArgb.bitmask=disabled
graphics.imaging.src.bufimg.IntArgb.translucent=disabled
graphics.imaging.src.bufimg.IntArgbPre.opaque=disabled
graphics.imaging.src.bufimg.IntArgbPre.bitmask=disabled
graphics.imaging.src.bufimg.IntArgbPre.translucent=disabled
graphics.imaging.src.bufimg.ByteGray.opaque=disabled
graphics.imaging.src.bufimg.ByteGray.bitmask=disabled
graphics.imaging.src.bufimg.ByteGray.translucent=disabled
graphics.imaging.src.bufimg.3ByteBgr.opaque=disabled
graphics.imaging.src.bufimg.3ByteBgr.bitmask=disabled
graphics.imaging.src.bufimg.3ByteBgr.translucent=disabled
graphics.imaging.src.bufimg.4ByteAbgr.opaque=disabled
graphics.imaging.src.bufimg.4ByteAbgr.bitmask=disabled
graphics.imaging.src.bufimg.4ByteAbgr.translucent=disabled
graphics.imaging.src.bufimg.4ByteAbgrPre.opaque=disabled
graphics.imaging.src.bufimg.4ByteAbgrPre.bitmask=disabled
graphics.imaging.src.bufimg.4ByteAbgrPre.translucent=disabled
graphics.imaging.src.bufimg.ByteIndexedBm.opaque=disabled
graphics.imaging.src.bufimg.ByteIndexedBm.bitmask=disabled
graphics.imaging.src.bufimg.ByteIndexedBm.translucent=disabled
graphics.imaging.src.bufimg.unmanagedIntXrgb.opaque=disabled
graphics.imaging.src.bufimg.unmanagedIntXrgb.bitmask=disabled
graphics.imaging.src.bufimg.unmanagedIntXrgb.translucent=disabled
graphics.imaging.src.bufimg.unmanagedIntArgb.opaque=disabled
graphics.imaging.src.bufimg.unmanagedIntArgb.bitmask=disabled
graphics.imaging.src.bufimg.unmanagedIntArgb.translucent=disabled
graphics.imaging.src.bufimg.unmanagedIntArgbPre.opaque=disabled
graphics.imaging.src.bufimg.unmanagedIntArgbPre.bitmask=disabled
graphics.imaging.src.bufimg.unmanagedIntArgbPre.translucent=disabled
graphics.imaging.src.bufimg.unmanaged3ByteBgr.opaque=disabled
graphics.imaging.src.bufimg.unmanaged3ByteBgr.bitmask=disabled
graphics.imaging.src.bufimg.unmanaged3ByteBgr.translucent=disabled
graphics.imaging.benchmarks.opts.interpolation=Nearest neighbor
graphics.imaging.benchmarks.opts.touchsrc=Off
graphics.imaging.benchmarks.tests.drawimage=disabled
graphics.imaging.benchmarks.tests.drawimagebg=disabled
graphics.imaging.benchmarks.tests.drawimagescaleup=disabled
graphics.imaging.benchmarks.tests.drawimagescaledown=disabled
graphics.imaging.benchmarks.tests.drawimagescalesplit=disabled
graphics.imaging.benchmarks.tests.drawimagetxform=disabled
graphics.imaging.imageops.opts.op=convolve3x3zero
graphics.imaging.imageops.tests.graphics2d.drawimageop=disabled
graphics.imaging.imageops.tests.bufimgop.filternull=disabled
graphics.imaging.imageops.tests.bufimgop.filtercached=disabled
graphics.imaging.imageops.tests.rasterop.filternull=disabled
graphics.imaging.imageops.tests.rasterop.filtercached=disabled
graphics.misc.copytests.copyAreaVert=disabled
graphics.misc.copytests.copyAreaHoriz=disabled
graphics.misc.copytests.copyAreaDiag=disabled
pixel.opts.renderto=Off
pixel.opts.renderfrom=Off
pixel.src.1BitBinary=disabled
pixel.src.2BitBinary=disabled
pixel.src.4BitBinary=disabled
pixel.src.ByteIndexed=disabled
pixel.src.ByteGray=disabled
pixel.src.Short555=disabled
pixel.src.Short565=disabled
pixel.src.ShortGray=disabled
pixel.src.3ByteBgr=disabled
pixel.src.4ByteAbgr=disabled
pixel.src.IntXrgb=disabled
pixel.src.IntXbgr=disabled
pixel.src.IntArgb=disabled
pixel.bimgtests.getrgb=disabled
pixel.bimgtests.setrgb=disabled
pixel.rastests.getdataelem=disabled
pixel.rastests.setdataelem=disabled
pixel.rastests.getpixel=disabled
pixel.rastests.setpixel=disabled
pixel.dbtests.getelem=disabled
pixel.dbtests.setelem=disabled
text.opts.data.tlength=16
text.opts.data.tscript=english
text.opts.font.fname=serif,physical
text.opts.font.fstyle=0
text.opts.font.fsize=13.0
text.opts.font.ftx=Identity
text.opts.graphics.textaa=Off
text.opts.graphics.tfm=Off
text.opts.graphics.gaa=Off
text.opts.graphics.gtx=Identity
text.opts.advopts.gvstyle=0
text.opts.advopts.tlruns=1
text.opts.advopts.maptype=FONT
text.Rendering.tests.drawString=disabled
text.Rendering.tests.drawChars=disabled
text.Rendering.tests.drawBytes=disabled
text.Rendering.tests.drawGlyphVectors=disabled
text.Rendering.tests.drawTextLayout=disabled
text.Measuring.tests.stringWidth=disabled
text.Measuring.tests.stringBounds=disabled
text.Measuring.tests.charsWidth=disabled
text.Measuring.tests.charsBounds=disabled
text.Measuring.tests.fontcandisplay=disabled
text.Measuring.tests.gvWidth=disabled
text.Measuring.tests.gvLogicalBounds=disabled
text.Measuring.tests.gvVisualBounds=disabled
text.Measuring.tests.gvPixelBounds=disabled
text.Measuring.tests.gvOutline=disabled
text.Measuring.tests.gvGlyphLogicalBounds=disabled
text.Measuring.tests.gvGlyphVisualBounds=disabled
text.Measuring.tests.gvGlyphPixelBounds=disabled
text.Measuring.tests.gvGlyphOutline=disabled
text.Measuring.tests.gvGlyphTransform=disabled
text.Measuring.tests.gvGlyphMetrics=disabled
text.Measuring.tests.tlAdvance=disabled
text.Measuring.tests.tlAscent=disabled
text.Measuring.tests.tlBounds=disabled
text.Measuring.tests.tlGetCaretInfo=disabled
text.Measuring.tests.tlGetNextHit=disabled
text.Measuring.tests.tlGetCaretShape=disabled
text.Measuring.tests.tlGetLogicalHighlightShape=disabled
text.Measuring.tests.tlHitTest=disabled
text.Measuring.tests.tlOutline=disabled
text.construction.tests.gvfromfontstring=disabled
text.construction.tests.gvfromfontchars=disabled
text.construction.tests.gvfromfontci=disabled
text.construction.tests.gvfromfontglyphs=disabled
text.construction.tests.gvfromfontlayout=disabled
text.construction.tests.tlfromfont=disabled
text.construction.tests.tlfrommap=disabled
imageio.opts.size=250
imageio.opts.content=photo
imageio.input.opts.general.source.file=disabled
imageio.input.opts.general.source.url=disabled
imageio.input.opts.general.source.byteArray=disabled
imageio.input.opts.imageio.useCache=Off
imageio.input.image.toolkit.opts.format=
imageio.input.image.toolkit.tests.createImage=disabled
imageio.input.image.imageio.opts.format=
imageio.input.image.imageio.tests.imageioRead=disabled
imageio.input.image.imageio.reader.opts.seekForwardOnly=On
imageio.input.image.imageio.reader.opts.ignoreMetadata=On
imageio.input.image.imageio.reader.opts.installListener=Off
imageio.input.image.imageio.reader.tests.read=disabled
imageio.input.image.imageio.reader.tests.getImageMetadata=disabled
imageio.input.stream.tests.construct=disabled
imageio.input.stream.tests.read=disabled
imageio.input.stream.tests.readByteArray=disabled
imageio.input.stream.tests.readFullyByteArray=disabled
imageio.input.stream.tests.readBit=disabled
imageio.input.stream.tests.readByte=disabled
imageio.input.stream.tests.readUnsignedByte=disabled
imageio.input.stream.tests.readShort=disabled
imageio.input.stream.tests.readUnsignedShort=disabled
imageio.input.stream.tests.readInt=disabled
imageio.input.stream.tests.readUnsignedInt=disabled
imageio.input.stream.tests.readFloat=disabled
imageio.input.stream.tests.readLong=disabled
imageio.input.stream.tests.readDouble=disabled
imageio.input.stream.tests.skipBytes=disabled
imageio.output.opts.general.dest.file=disabled
imageio.output.opts.general.dest.byteArray=disabled
imageio.output.opts.imageio.useCache=Off
imageio.output.image.imageio.opts.format=
imageio.output.image.imageio.tests.imageioWrite=disabled
imageio.output.image.imageio.writer.opts.installListener=Off
imageio.output.image.imageio.writer.tests.write=disabled
imageio.output.stream.tests.construct=disabled
imageio.output.stream.tests.write=disabled
imageio.output.stream.tests.writeByteArray=disabled
imageio.output.stream.tests.writeBit=disabled
imageio.output.stream.tests.writeByte=disabled
imageio.output.stream.tests.writeShort=disabled
imageio.output.stream.tests.writeInt=disabled
imageio.output.stream.tests.writeFloat=disabled
imageio.output.stream.tests.writeLong=disabled
imageio.output.stream.tests.writeDouble=disabled
cmm.opts.profiles=1001
cmm.colorconv.data.fromRGB=disabled
cmm.colorconv.data.toRGB=disabled
cmm.colorconv.data.fromCIEXYZ=disabled
cmm.colorconv.data.toCIEXYZ=disabled
cmm.colorconv.ccop.ccopOptions.size=250
cmm.colorconv.ccop.ccopOptions.content=photo
cmm.colorconv.ccop.ccopOptions.srcType=INT_RGB
cmm.colorconv.ccop.ccopOptions.dstType=INT_RGB
cmm.colorconv.ccop.op_img=disabled
cmm.colorconv.ccop.op_rst=disabled
cmm.colorconv.ccop.op_draw=disabled
cmm.colorconv.embed.embedOptions.Images=512x512
cmm.colorconv.embed.embd_img_read=disabled
cmm.profiles.getHeader=disabled
cmm.profiles.getNumComponents=disabled

View File

@@ -1,49 +0,0 @@
#!/bin/bash
#set -euo pipefail
set -x
BASE_DIR=$(dirname "$0")
source $BASE_DIR/run_inc.sh
if [ -z "$DACAPOTEST_DIR" ]; then
DACAPOTEST_DIR="./"
fi
DACAPOTEST=${DACAPOTEST:='dacapo-9.12-bach.jar'}
if [ -z "$DACAPOTEST" ]; then
if [ ! -f "$DACAPOTEST_DIR/$DACAPOTEST" ]; then
echo "ERR### cannot find $DACAPOTEST_DIR/$DACAPOTEST"
exit 2
fi
fi
TRACE=false
if [[ ($# -eq 1 && "$1" == "-help") ]] ; then
echo "Usage: run_dc.sh [rendering_options]"
echo "$RENDER_OPS_DOC"
exit 3
fi
OPTS=""
# use time + repeat
OPTS="$OPTS -no-validation $1"
echo "OPTS: $OPTS"
echo "Unit: Milliseconds (not FPS), lower is better"
for i in `seq $N` ; do
if [ $i -eq 1 ]; then
echo x
fi
$JAVA \
-jar $DACAPOTEST $OPTS 2>&1 | tee dacapo_$1$MODE_$i.log | grep "PASSED" | awk '{print $7 }'
if [ $i -ne $N ]; then
sleep $ST
fi
done | $DATAMASH_CMD | expand -t12 > dacapo_$1.log

View File

@@ -1,127 +0,0 @@
export LC_ALL=C
ST=1 # sleep between iterations
# number of iterations (jvm spawned)
N=5
# number of repeats (within jvm)
R=3
type datamash 2>&1 > /dev/null ; ec=$?
if [ $ec -ne 0 ] ; then
echo "Missing datamash utility"
exit 1
fi
DATAMASH_CMD="datamash --format=%.2f -H count x min x q1 x median x q3 x max x mad x"
J2D_OPTS=""
OS=""
case "$OSTYPE" in
linux*) echo "Linux"
;;
darwin*) echo "OSX"
;;
*) echo "unknown: $OSTYPE"
exit 1
;;
esac
read -r -d '' RENDER_OPS_DOC << EOM
rendering_options:
-opengl # OpenGL pipeline (windows, linux, macOS)
-metal # Metal pipeline (macOS)
-vulkan # Vulkan pipeline (WLToolkit)
-accelsd # Vulkan full acceleration (WLToolkit, Vulkan)
-tk tk_name # AWT toolkit (linux: WLToolkit|XToolkit)
-scale # UI scale
-N num # Number of iterations (JVM runs)
-R num # Number of repeats in the test
EOM
while [ $# -ge 1 ] ; do
case "$1" in
-opengl) J2D_OPTS=$J2D_OPTS" -Dsun.java2d.opengl=true"
shift
;;
-metal) J2D_OPTS=$J2D_OPTS" -Dsun.java2d.metal=true"
shift
;;
-vulkan) J2D_OPTS=$J2D_OPTS" -Dsun.java2d.vulkan=true"
shift
;;
-accelsd) J2D_OPTS=$J2D_OPTS" -Dsun.java2d.vulkan.accelsd=true"
shift
;;
-tk) shift
if [ $# -ge 1 ] ; then
J2D_OPTS=$J2D_OPTS" -Dawt.toolkit.name="$1
shift
else
echo "Invalid parameters for -tk option. Use: -tk tkname"
exit 1
fi
;;
-N) shift
if [ $# -ge 1 ] ; then
N=$1
shift
else
echo "Invalid parameters for -N option. Use: -N <number>"
exit 1
fi
;;
-R) shift
if [ $# -ge 1 ] ; then
R=$1
shift
else
echo "Invalid parameters for -R option. Use: -R <number>"
exit 1
fi
;;
-scale) shift
if [ $# -ge 1 ] ; then
J2D_OPTS=$J2D_OPTS" -Dsun.java2d.uiScale="$1
shift
else
echo "Invalid parameters for -scale option. Use: -scale scale"
exit 1
fi
;;
-dSync) shift
if [ $# -ge 1 ] ; then
J2D_OPTS=$J2D_OPTS" -Dsun.java2d.metal.displaySync="$1
shift
else
echo "Invalid parameters for -dSync option. Use: -dSync [true|false]"
exit 1
fi
;;
-jdk) shift
if [ $# -ge 1 ] ; then
JAVA=$1/bin/java
shift
else
echo "Invalid parameters for -jdk option"
exit 1
fi
;;
*) break
;;
esac
done
if [ -z "$JAVA" ] ; then
BUILD_DIR=`find $BASE_DIR/../../../../build -name '*-release' -type d | head -n 1`
JAVA=`find $BUILD_DIR/images/jdk -name java -type f | head -n 1`
fi
JAVA_HOME=`dirname $JAVA`/../
"$JAVA" -version
LANG=C
WS_ROOT=$BASE_DIR/../../../..
echo "N: $N"
echo "R: $R"
echo "J2D_OPTS: $J2D_OPTS"

View File

@@ -1,53 +0,0 @@
#!/bin/bash
BASE_DIR=$(dirname "$0")
source $BASE_DIR/run_inc.sh
J2DBENCH_DIR=$WS_ROOT/src/demo/share/java2d/J2DBench
if [ -z "$J2DBENCH" ]; then
if [ ! -f "$J2DBENCH_DIR/dist/J2DBench.jar" ]; then
PATH=$JAVA_HOME/bin:$PATH make -C $J2DBENCH_DIR
fi
if [ ! -f "$J2DBENCH_DIR/dist/J2DBench.jar" ]; then
echo "Cannot build J2DBench. You may use J2DBench env variable instead pointing to the J2DBench.jar."
exit 1
fi
J2DBENCH=$J2DBENCH_DIR/dist/J2DBench.jar
fi
if [ $# -ne 1 ] ; then
echo "Usage: run_j2b.sh [rendering_options] bench_name"
echo
echo "bench_name: poly250 poly250-rand_col poly250-AA-rand_col"
echo ""
echo "$RENDER_OPS_DOC"
exit 2
fi
if [ ! -f "$BASE_DIR/j2dbopts_$1.txt" ]; then
echo "Unknown test: $1"
exit 1
fi
OPTS="j2dbopts_$1.txt"
#OPTS=j2dbopts_poly250.txt
#OPTS=j2dbopts_poly250-rand_col.txt
#OPTS=j2dbopts_poly250-AA-rand_col.txt
echo "OPTS: $OPTS"
for i in `seq $N`; do
if [ $i -eq 1 ]; then
echo x
fi
echo `$JAVA $J2D_OPTS -jar $J2DBENCH \
-batch -loadopts $BASE_DIR/$OPTS -saveres pl.res \
-title pl -desc pl | awk '/averaged/{print $3}' | head -n1`
if [ $i -ne $N ]; then
sleep $ST
fi
done | $DATAMASH_CMD | expand -t12

View File

@@ -1,88 +0,0 @@
#!/bin/bash
#set -euo pipefail
#set -x
BASE_DIR=$(dirname "$0")
source $BASE_DIR/run_inc.sh
RENDERPERFTEST_DIR=$WS_ROOT/test/jdk/performance/client/RenderPerfTest
RENDERPERFTEST=""
if [ -z "$RENDERPERFTEST" ]; then
if [ ! -f "$RENDERPERFTEST_DIR/dist/RenderPerfTest.jar" ]; then
PATH=$JAVA_HOME/bin:$PATH make -C $RENDERPERFTEST_DIR
fi
if [ ! -f "$RENDERPERFTEST_DIR/dist/RenderPerfTest.jar" ]; then
echo "Cannot build RenderPerfTest. You may use RENDERPERFTEST env variable instead pointing to the RenderPerfTest.jar."
exit 1
fi
RENDERPERFTEST=$RENDERPERFTEST_DIR/dist/RenderPerfTest.jar
fi
TRACE=false
# removes leading hyphen
mode_param="${1/-}"
MODE="Robot"
while [ $# -ge 1 ] ; do
case "$1" in
-onscreen) MODE="Robot"
shift
;;
-volatile) MODE="Volatile"
shift
;;
-buffer) MODE="Buffer"
shift
;;
*) break
;;
esac
done
if [[ ($# -eq 1 && "$1" == "-help") || ($# -eq 0) ]] ; then
echo "Usage: run_rp.sh [rp_rendering_mode] [rendering_options] bench_name"
echo
echo "bench_name: ArgbSurfaceBlitImage ArgbSwBlitImage BgrSurfaceBlitImage BgrSwBlitImage"
echo " Image ImageAA Image_XOR VolImage VolImageAA"
echo " ClipFlatBox ClipFlatBoxAA ClipFlatOval ClipFlatOvalAA"
echo " FlatBox FlatBoxAA FlatOval FlatOvalAA FlatOval_XOR FlatQuad FlatQuadAA"
echo " RotatedBox RotatedBoxAA RotatedBox_XOR RotatedOval RotatedOvalAA"
echo " WiredBox WiredBoxAA WiredBubbles WiredBubblesAA WiredQuad WiredQuadAA"
echo " Lines LinesAA Lines_XOR"
echo " TextGray TextLCD TextLCD_XOR TextNoAA TextNoAA_XOR"
echo " LargeTextGray LargeTextLCD LargeTextNoAA WhiteTextGray WhiteTextLCD WhiteTextNoAA"
echo " LinGrad3RotatedOval LinGrad3RotatedOvalAA LinGradRotatedOval LinGradRotatedOvalAA"
echo " RadGrad3RotatedOval RadGrad3RotatedOvalAA"
echo ""
echo "rp_rendering_mode: "
echo " -onscreen : rendering to the window and check it using Robot"
echo " -volatile : rendering to volatile image (default)"
echo " -buffer : rendering to buffered image"
echo "$RENDER_OPS_DOC"
exit 2
fi
OPTS=""
# use time + repeat
OPTS="$OPTS -t -n=$N -e$MODE $1"
echo "OPTS: $OPTS"
echo "Unit: Milliseconds (not FPS), lower is better"
for i in `seq $R` ; do
if [ $i -eq 1 ]; then
echo x
fi
# echo "[debug] " + "test run"
# $JAVA $J2D_OPTS -DTRACE=$TRACE \
# -jar $RENDERPERFTEST $OPTS 2>&1 | awk '/'$1'/{print $3 }' | tee test_run.log
$JAVA $J2D_OPTS -DTRACE=$TRACE \
-jar $RENDERPERFTEST $OPTS -v 2>&1 | tee render_$1_${mode_param}_$i.log | grep -v "^#" | tail -n 1 | \
awk '{print $3 }'
if [ $i -ne $N ]; then
sleep $ST
fi
done | $DATAMASH_CMD | expand -t12 | tee render_$1_${mode_param}.log

View File

@@ -1,39 +0,0 @@
#!/bin/bash
BASE_DIR=$(dirname "$0")
source $BASE_DIR/run_inc.sh
SWINGMARK_DIR=$WS_ROOT/test/jdk/performance/client/SwingMark
if [ -z "$SWINGMARK" ]; then
if [ ! -f "$SWINGMARK_DIR/dist/SwingMark.jar" ]; then
PATH=$JAVA_HOME/bin:$PATH make -C $SWINGMARK_DIR
fi
if [ ! -f "$SWINGMARK_DIR/dist/SwingMark.jar" ]; then
echo "Cannot build SwingMark. You may use SWINGMARK env variable instead pointing to the SwingMark.jar."
exit 1
fi
SWINGMARK=$SWINGMARK_DIR/dist/SwingMark.jar
fi
if [ $# -eq 1 -a "$1" == "--help" ] ; then
shift
echo "Usage: run_sm [rendering_options]"
echo ""
echo "$RENDER_OPS_DOC"
exit 0
fi
for i in `seq $N` ; do
if [ $i -eq 1 ]; then
echo x
fi
# SwingMark gives 1 global 'Score: <value>'
echo `$JAVA $J2D_OPTS -jar $BASE_DIR/../../../../test/jdk/performance/client/SwingMark/dist/SwingMark.jar \
-r $R -q -lf javax.swing.plaf.metal.MetalLookAndFeel | awk '/Score/{print $2}'`
if [ $i -ne $N ]; then
sleep $ST
fi
done | $DATAMASH_CMD | expand -t12

View File

@@ -1,162 +0,0 @@
#!/bin/bash
set -euo pipefail
TC_PRINT=0
# Always print TeamCity service messages if running under TeamCity
[[ -n "${TEAMCITY_VERSION:-}" ]] && TC_PRINT=1
while getopts ":t" o; do
case "${o}" in
t) TC_PRINT=1 ;;
*);;
esac
done
shift $((OPTIND-1))
NEWFILEPATH="$1"
CONFIGID="$2"
BUILDID="$3"
TOKEN="$4"
if [ ! -f "$NEWFILEPATH" ]; then
echo "File not found: $NEWFILEPATH"
exit 1
fi
#
# Get the size of new artifact
#
unameOut="$(uname -s)"
case "${unameOut}" in
Linux*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
Darwin*)
NEWFILESIZE=$(stat -f%z "$NEWFILEPATH")
;;
CYGWIN*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
MINGW*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
*)
echo "Unknown machine: ${unameOut}"
exit 1
esac
FILENAME=$(basename "${NEWFILEPATH}")
#
# Get pattern of artifact name
# Base filename pattern: <BUNDLE_TYPE>-<JDK_VERSION>-<OS>-<ARCH>-b<BUILD>.tar.gz: jbr_dcevm-17.0.2-osx-x64-b1234.tar.gz
# BUNDLE_TYPE: jbr, jbrsdk, jbr_dcevm, jbrsdk_jcef etc.
# OS_ARCH_PATTERN - <os_architecture>: osx-x64, linux-aarch64, linux-musl-x64, windows-x64 etc.
BUNDLE_TYPE=jbrsdk
OS_ARCH_PATTERN=""
FILE_EXTENSION=tar.gz
re='(jbr[a-z_]*).*-[0-9_\.]+-(.+)-b[0-9]+(.+)'
if [[ $FILENAME =~ $re ]]; then
BUNDLE_TYPE=${BASH_REMATCH[1]}
OS_ARCH_PATTERN=${BASH_REMATCH[2]}
FILE_EXTENSION=${BASH_REMATCH[3]}
else
echo "File name $FILENAME does not match regex $re"
exit 1
fi
function test_started_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testStarted name='$1']"
fi
}
function test_failed_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testFailed name='$1' message='$2']"
fi
}
function test_finished_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testFinished name='$1']"
fi
}
test_name="${BUNDLE_TYPE}_${OS_ARCH_PATTERN//\-/_}${FILE_EXTENSION//\./_}"
test_started_msg "$test_name"
echo "BUNDLE_TYPE: $BUNDLE_TYPE"
echo "OS_ARCH_PATTERN: $OS_ARCH_PATTERN"
echo "FILE_EXTENSION: $FILE_EXTENSION"
echo "Size of $FILENAME is $NEWFILESIZE bytes"
#
# Get previous successful build ID
# Example:
# CONFIGID=IntellijCustomJdk_Jdk17_Master_LinuxX64jcef
# BUILDID=12345678
#
# expected return value
# id="123".number="567"
#
CURL_RESPONSE=$(curl -sSL --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/?locator=buildType:(id:$CONFIGID),status:success,count:1,finishDate:(build:$BUILDID,condition:before)")
re='id=\"([0-9]+)\".+number=\"([0-9\.]+)\"'
# ID: Previous successful build id
ID=0
if [[ $CURL_RESPONSE =~ $re ]]; then
ID=${BASH_REMATCH[1]}
echo "Previous build ID: $ID"
echo "Previous build number: ${BASH_REMATCH[2]}"
else
msg="ERROR: cannot find previous build"
echo "$msg"
echo "$CURL_RESPONSE"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
fi
#
# Get artifacts from previous successful build
#
# expected return value
# name="jbrsdk_jcef*.tar.gz size="123'
#
CURL_RESPONSE=$(curl -sSL --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/$ID?fields=id,number,artifacts(file(name,size))")
echo "Artifacts of the previous build:"
echo "$CURL_RESPONSE"
# Find binary size (in response) with reg exp
re="name=\"(${BUNDLE_TYPE}[^\"]+${OS_ARCH_PATTERN}[^\"]+${FILE_EXTENSION})\" size=\"([0-9]+)\""
if [[ $CURL_RESPONSE =~ $re ]]; then
prevFileName=${BASH_REMATCH[1]}
echo "Previous artifact name: $prevFileName"
prevFileSize=${BASH_REMATCH[2]}
echo "Previous artifact size: $prevFileSize"
((allowedSize=prevFileSize+prevFileSize/20)) # use 5% threshold
echo "Allowed size: $allowedSize"
if [[ "$NEWFILESIZE" -gt "$allowedSize" ]]; then
msg="ERROR: new size is significantly greater than previous size (need to investigate)"
echo "$msg"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
else
echo "PASSED"
test_finished_msg "$test_name"
fi
else
msg="ERROR: cannot find string with size in xml response:"
echo "Regex: $re"
echo "$msg"
echo "$CURL_RESPONSE"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
fi

View File

@@ -1,93 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
usage ()
{
echo "Usage: perfcmp.sh [options] <test_results_cur> <test_results_ref> <results> <test_prefix> <noHeaders>"
echo "Options:"
echo -e " -h, --help\tdisplay this help"
echo -e " -tc\tprint teacmity statistic"
echo -e "test_results_cur - the file with metrics values for the current measuring"
echo -e "test_results_ref - the file with metrics values for the reference measuring"
echo -e "results - results of comaprison"
echo -e "test_prefix - specifys measuring type, makes sense for enabled -tc, by default no prefixes"
echo -e "noHeaders - by default 1-st line contains headers"
echo -e ""
echo -e "test_results_* files content should be in csv format with header and tab separator:"
echo -e "The 1-st column is the test name"
echo -e "The 2-st column is the test value"
echo -e ""
echo -e "Example:"
echo -e "Test Value"
echo -e "Testname 51.54"
}
while [ -n "$1" ]
do
case "$1" in
-h | --help) usage
exit 1 ;;
-tc) tc=1
shift
break ;;
*) break;;
esac
done
if [[ "$#" < "3" ]]; then
echo "Error: Invalid arguments"
usage
exit 1
fi
curFile=$1
refFile=$2
resFile=$3
testNamePrefix=$4
noHeaders=$5
echo $curFile
echo $refFile
echo $resFile
curValues=`cat "$curFile" | cut -f 2 | tr -d '\t'`
if [ -z $noHeaders ]; then
curValuesHeader=`echo "$curValues" | head -n +1`_cur
header=`cat "$refFile" | head -n +1 | awk -F'\t' -v x=$curValuesHeader '{print " "$1"\t"$2"_ref\t"x"\tratio"}'`
testContent=`paste -d '\t' $refFile <(echo "$curValues") | tail -n +2`
else
testContent=`paste -d '\t' $refFile <(echo "$curValues") | tail -n +1`
fi
testContent=`echo "$testContent" | tr "," "." | awk -F'\t' '{
if ($3>$2+$2*0.1) {
print "* "$1"\t"$2"\t"$3"\t"(($2>0)?$3/$2:"-")
} else {
print " "$1"\t"$2"\t"$3"\t"(($2>0)?$3/$2:"-")
}
}'`
if [ -z $noHeaders ]; then
echo "$header" > $resFile
fi
echo "$testContent" >> $resFile
cat "$resFile" | tr '\t' ';' | column -t -s ';' | tee $resFile
if [ -z $tc ]; then
exit 0
fi
failed=0
echo "$testContent" 2>&1 | (
while read -r s; do
testname=`echo "$s" | cut -f 1 | tr -d "[:space:]" | tr -d "*"`
duration=`echo "$s" | cut -f 3`
echo "$s" | cut -c1 | grep -c "*" && failed=1
echo \#\#teamcity[testStarted name=\'$testNamePrefix$testname\']
echo "===>$s"
echo \#\#teamcity[buildStatisticValue key=\'$testNamePrefix$testname\' value=\'$duration\']
[ $failed -eq 1 ] && echo \#\#teamcity[testFailed name=\'$testNamePrefix$testname\' message=\'$s\']
echo \#\#teamcity[testFinished name=\'$testNamePrefix$testname\' duration=\'$duration\']
failed=0
done
)

View File

@@ -1,155 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_aarch64
if [ -z "$BUILD_JDK" ]; then
echo "BUILD_JDK environment variable must be specified and point to a JDK built from the current sources" \
" and is able to run on the build system. See OpenJDK documentation for --with-build-jdk for more info."
exit 1
fi
source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_aarch64}
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
--enable-option-checking=fatal \
--openjdk-target=aarch64-unknown-cygwin \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-build-jdk=$BUILD_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
echo Running jlink ...
${BUILD_JDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-aarch64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=0
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=0
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-aarch64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean || do_exit $?
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean || do_exit $?
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
where cygpath
if [ $? -eq 0 ]; then
JCEF_PATH="$(cygpath -w $JCEF_PATH | sed 's/\\/\//g')"
fi
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods "$BUILD_JDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not unchanged
cat $JCEF_PATH/jcef.version >> $JSDK/release
fi
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0

View File

@@ -1,148 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_x64
source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_x64}
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
__cds_opt=''
__cds_opt="--generate-cds-archive"
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
echo Running jlink ...
${JSDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
$__cds_opt --add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=0
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=0
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-x86_64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean || do_exit $?
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean || do_exit $?
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
where cygpath
if [ $? -eq 0 ]; then
JCEF_PATH="$(cygpath -w $JCEF_PATH | sed 's/\\/\//g')"
fi
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
cat $JCEF_PATH/jcef.version >> $JSDK/release
fi
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0

View File

@@ -1,138 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
__cds_opt=''
__cds_opt="--generate-cds-archive"
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
echo Running jlink ...
${JSDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
$__cds_opt --add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-server-release
case "$bundle_type" in
"jcef")
echo "not implemented" && do_exit 1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=0
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-x86_64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean || do_exit $?
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean || do_exit $?
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
if [ "$bundle_type" == "jcef" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
fi
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(grep -v "jdk.internal.vm" jb/project/tools/common/modules.list | xargs | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0

View File

@@ -1,59 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script packs test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
source jb/project/tools/common/scripts/common.sh
[ "$bundle_type" == "jcef" ] && do_maketest=1
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
echo Creating $JBR.tar.gz ...
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
echo Creating $JBR.zip ...
/usr/bin/zip -r $JBR.zip $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
RELEASE_NAME=windows-aarch64-server-release
IMAGES_DIR=build/$RELEASE_NAME/images
BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-aarch64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -1,59 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script packs test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
source jb/project/tools/common/scripts/common.sh
[ "$bundle_type" == "jcef" ] && do_maketest=1
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
echo Creating $JBR.tar.gz ...
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
echo Creating $JBR.zip ...
/usr/bin/zip -r $JBR.zip $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
RELEASE_NAME=windows-x86_64-server-release
IMAGES_DIR=build/$RELEASE_NAME/images
BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -1,55 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# fd - the fastdebug bundles which also include the jcef module
#
source jb/project/tools/common/scripts/common.sh
[ "$bundle_type" == "jcef" ] && echo "not implemented" && do_exit 1
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
echo Creating $JBR.tar.gz ...
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
echo Creating $JBR.zip ...
/usr/bin/zip -r $JBR.zip $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
RELEASE_NAME=windows-x86_64-server-release
IMAGES_DIR=build/$RELEASE_NAME/images
BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $BASE_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -174,9 +174,11 @@ else
JRE_IMAGE_HOMEDIR := $(JRE_IMAGE_DIR)
JDK_BUNDLE_SUBDIR := jdk-$(VERSION_NUMBER)
JRE_BUNDLE_SUBDIR := jre-$(VERSION_NUMBER)
STATIC_JDK_BUNDLE_SUBDIR := static-jdk-$(VERSION_NUMBER)
ifneq ($(DEBUG_LEVEL), release)
JDK_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
JRE_BUNDLE_SUBDIR := $(JRE_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
STATIC_JDK_BUNDLE_SUBDIR := $(STATIC_JDK_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
endif
# In certain situations, the JDK_IMAGE_DIR points to an image without the
# the symbols and demos. If so, the symobls and demos can be found in a
@@ -500,6 +502,21 @@ ifneq ($(filter static-libs-graal-bundles, $(MAKECMDGOALS)), )
STATIC_LIBS_GRAAL_TARGETS += $(BUILD_STATIC_LIBS_GRAAL_BUNDLE)
endif
#################################################################################
ifneq ($(filter static-jdk-bundles, $(MAKECMDGOALS)), )
STATIC_JDK_BUNDLE_FILES := $(call FindFiles, $(STATIC_JDK_IMAGE_DIR))
$(eval $(call SetupBundleFile, BUILD_STATIC_JDK_BUNDLE, \
BUNDLE_NAME := $(STATIC_JDK_BUNDLE_NAME), \
FILES := $(STATIC_JDK_BUNDLE_FILES), \
BASE_DIRS := $(STATIC_JDK_IMAGE_DIR), \
SUBDIR := $(STATIC_JDK_BUNDLE_SUBDIR), \
))
STATIC_JDK_TARGETS += $(BUILD_STATIC_JDK_BUNDLE)
endif
################################################################################
product-bundles: $(PRODUCT_TARGETS)
@@ -510,11 +527,12 @@ docs-javase-bundles: $(DOCS_JAVASE_TARGETS)
docs-reference-bundles: $(DOCS_REFERENCE_TARGETS)
static-libs-bundles: $(STATIC_LIBS_TARGETS)
static-libs-graal-bundles: $(STATIC_LIBS_GRAAL_TARGETS)
static-jdk-bundles: $(STATIC_JDK_TARGETS)
jcov-bundles: $(JCOV_TARGETS)
.PHONY: product-bundles test-bundles \
docs-jdk-bundles docs-javase-bundles docs-reference-bundles \
static-libs-bundles static-libs-graal-bundles jcov-bundles
static-libs-bundles static-libs-graal-bundles static-jdk-bundles jcov-bundles
################################################################################

View File

@@ -95,14 +95,16 @@ define SetupInterimModule
SRC := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim \
$$(wildcard $(SUPPORT_OUTPUTDIR)/gensrc/$1) \
$(TOPDIR)/src/$1/share/classes, \
EXCLUDES := sun javax/tools/snippet-files, \
EXCLUDES := sun, \
EXCLUDE_FILES := $(TOPDIR)/src/$1/share/classes/module-info.java \
$(TOPDIR)/src/$1/share/classes/javax/tools/ToolProvider.java \
$(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/Main.java \
$(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/MemoryClassLoader.java \
$(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/MemoryContext.java \
$(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/MemoryModuleFinder.java \
$(TOPDIR)/src/$1/share/classes/com/sun/tools/javac/launcher/SourceLauncher.java \
Standard.java, \
EXCLUDE_PATTERNS := -files, \
EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim/module-info.java \
$($1.interim_EXTRA_FILES), \
COPY := .gif .png .xml .css .svg .js .js.template .txt .woff .woff2 javax.tools.JavaCompilerTool, \

View File

@@ -107,13 +107,13 @@ $(eval $(call SetupJavaCompilation, $(MODULE), \
BIN := $(if $($(MODULE)_BIN), $($(MODULE)_BIN), $(JDK_OUTPUTDIR)/modules), \
HEADERS := $(SUPPORT_OUTPUTDIR)/headers, \
CREATE_API_DIGEST := true, \
PROCESS_JBR_API := true, \
CLEAN := $(CLEAN), \
CLEAN_FILES := $(CLEAN_FILES), \
COPY := $(COPY), \
DISABLED_WARNINGS := $(DISABLED_WARNINGS_java), \
EXCLUDES := $(EXCLUDES), \
EXCLUDE_FILES := $(EXCLUDE_FILES), \
EXCLUDE_PATTERNS := -files, \
KEEP_ALL_TRANSLATIONS := $(KEEP_ALL_TRANSLATIONS), \
JAVAC_FLAGS := \
$(DOCLINT) \

View File

@@ -80,7 +80,7 @@ $(eval $(call SetupJavaCompilation, COMPILE_DEPEND, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := $(TOPDIR)/make/jdk/src/classes, \
INCLUDES := build/tools/depend, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/plugins, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/depend, \
DISABLED_WARNINGS := options, \
JAVAC_FLAGS := \
--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
@@ -93,21 +93,13 @@ $(eval $(call SetupJavaCompilation, COMPILE_DEPEND, \
--add-exports jdk.internal.opt/jdk.internal.opt=jdk.javadoc.interim, \
))
$(eval $(call SetupJavaCompilation, COMPILE_JBR_API_PLUGIN, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := $(TOPDIR)/make/jdk/src/classes, \
INCLUDES := build/tools/jbrapi, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/plugins, \
))
DEPEND_SERVICE_PROVIDER := $(BUILDTOOLS_OUTPUTDIR)/depend/META-INF/services/com.sun.source.util.Plugin
PLUGINS_SERVICE_PROVIDER := $(BUILDTOOLS_OUTPUTDIR)/plugins/META-INF/services/com.sun.source.util.Plugin
$(PLUGINS_SERVICE_PROVIDER):
$(call MakeDir, $(BUILDTOOLS_OUTPUTDIR)/plugins/META-INF/services)
$(DEPEND_SERVICE_PROVIDER):
$(call MakeDir, $(BUILDTOOLS_OUTPUTDIR)/depend/META-INF/services)
$(ECHO) build.tools.depend.Depend > $@
$(ECHO) build.tools.jbrapi.JBRApiPlugin >> $@
TARGETS += $(COMPILE_DEPEND) $(COMPILE_JBR_API_PLUGIN) $(PLUGINS_SERVICE_PROVIDER)
TARGETS += $(COMPILE_DEPEND) $(DEPEND_SERVICE_PROVIDER)
################################################################################

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -34,22 +34,28 @@ else
JCOV_INPUT_IMAGE_DIR := $(JDK_IMAGE_DIR)
endif
JCOV_SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/jcov
#moving instrumented jdk image in and out of jcov_temp because of CODETOOLS-7902299
JCOV_TEMP := $(SUPPORT_OUTPUTDIR)/jcov_temp
JCOV_TEMP := $(JCOV_SUPPORT_DIR)/temp
ifneq ($(JCOV_MODULES), )
JCOV_MODULES_FILTER := $(foreach m, $(JCOV_MODULES), -include_module $m)
endif
$(JCOV_IMAGE_DIR)/release: $(JCOV_INPUT_IMAGE_DIR)/release
$(call LogWarn, Creating instrumented jdk image with JCov)
$(call MakeDir, $(JCOV_TEMP) $(IMAGES_OUTPUTDIR))
$(RM) -r $(JCOV_IMAGE_DIR) $(JCOV_TEMP)/*
$(CP) -r $(JCOV_INPUT_IMAGE_DIR) $(JCOV_TEMP)/$(JCOV_IMAGE_SUBDIR)
$(JAVA) -Xmx3g -jar $(JCOV_HOME)/lib/jcov.jar JREInstr \
$(call ExecuteWithLog, $(JCOV_SUPPORT_DIR)/run-jcov, \
$(JAVA) -Xmx3g -jar $(JCOV_HOME)/lib/jcov.jar JREInstr \
-t $(JCOV_TEMP)/$(JCOV_IMAGE_SUBDIR)/template.xml \
-rt $(JCOV_HOME)/lib/jcov_network_saver.jar \
-exclude 'java.lang.Object' \
-exclude 'jdk.internal.org.objectweb.**' \
-exclude jdk.test.Main -exclude '**\$Proxy*' \
$(JCOV_FILTERS) \
$(JCOV_TEMP)/$(JCOV_IMAGE_SUBDIR)
$(JCOV_MODULES_FILTER) $(JCOV_FILTERS) \
$(JCOV_TEMP)/$(JCOV_IMAGE_SUBDIR))
$(MV) $(JCOV_TEMP)/$(JCOV_IMAGE_SUBDIR) $(JCOV_IMAGE_DIR)
$(RMDIR) $(JCOV_TEMP)

View File

@@ -92,20 +92,16 @@ REFERENCE_TAGS := $(JAVADOC_TAGS)
JAVADOC_DISABLED_DOCLINT_WARNINGS := missing
JAVADOC_DISABLED_DOCLINT_PACKAGES := org.w3c.* javax.smartcardio
# Allow overriding on the command line
# (intentionally sharing name with the javac option)
JAVA_WARNINGS_ARE_ERRORS ?= -Werror
# The initial set of options for javadoc
JAVADOC_OPTIONS := -use -keywords -notimestamp \
-serialwarn -encoding ISO-8859-1 -docencoding UTF-8 -breakiterator \
-serialwarn -encoding utf-8 -docencoding utf-8 -breakiterator \
-splitIndex --system none -javafx --expand-requires transitive \
--override-methods=summary
# The reference options must stay stable to allow for comparisons across the
# development cycle.
REFERENCE_OPTIONS := -XDignore.symbol.file=true -use -keywords -notimestamp \
-serialwarn -encoding ISO-8859-1 -breakiterator -splitIndex --system none \
-serialwarn -encoding utf-8 -breakiterator -splitIndex --system none \
-html5 -javafx --expand-requires transitive
# Should we add DRAFT stamps to the generated javadoc?
@@ -264,7 +260,7 @@ define create_overview_file
$$($1_OVERVIEW): $$($1_OVERVIEW_VARDEPS_FILE)
$$(call LogInfo, Creating overview.html for $1)
$$(call MakeDir, $$(@D))
$$(ECHO) -n '$$($1_OVERVIEW_TEXT)' > $$@
$$(PRINTF) "%s" '$$($1_OVERVIEW_TEXT)' > $$@
endef
################################################################################
@@ -322,7 +318,9 @@ define SetupApiDocsGenerationBody
# Ignore the doclint warnings in certain packages
$1_OPTIONS += -Xdoclint/package:$$(call CommaList, $$(addprefix -, \
$$(JAVADOC_DISABLED_DOCLINT_PACKAGES)))
$1_OPTIONS += $$(JAVA_WARNINGS_ARE_ERRORS)
ifeq ($$(JAVA_WARNINGS_AS_ERRORS), true)
$1_OPTIONS += -Werror
endif
$1_DOC_TITLE := $$($1_LONG_NAME)<br>Version $$(VERSION_SPECIFICATION) API \
Specification
@@ -542,7 +540,9 @@ $(eval $(call SetupApiDocsGeneration, REFERENCE_API, \
# Format: space-delimited list of names, including at most one '%' as a
# wildcard. Spec source files match if their filename or any enclosing folder
# name matches one of the items in SPEC_FILTER.
SPEC_FILTER := %
ifeq ($(SPEC_FILTER), )
SPEC_FILTER := %
endif
ApplySpecFilter = \
$(strip $(foreach file, $(1), \

View File

@@ -76,10 +76,14 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $(JLI_TRACE_FILE)))
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.raw \
$(CLASSLIST_FILE_VM_OPTS) \
-Xlog:aot=off \
-Xlog:cds=off \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.HelloClasslist $(LOG_DEBUG)
$(GREP) -v HelloClasslist $@.raw > $@.interim
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -Xshare:dump \
-Xlog:aot=off \
-Xlog:cds=off \
-XX:SharedClassListFile=$@.interim -XX:SharedArchiveFile=$@.jsa \
-Xmx128M -Xms128M $(LOG_INFO)
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.raw.2 \
@@ -87,6 +91,8 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
-Djava.lang.invoke.MethodHandle.TRACE_RESOLVE=true \
$(CLASSLIST_FILE_VM_OPTS) \
--module-path $(SUPPORT_OUTPUTDIR)/classlist.jar \
-Xlog:aot=off \
-Xlog:cds=off \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.HelloClasslist \
2> $(LINK_OPT_DIR)/stderr > $(JLI_TRACE_FILE) \
@@ -100,6 +106,8 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
$(GREP) -v HelloClasslist $@.raw.2 > $@.raw.3
$(GREP) -v @cp $@.raw.3 > $@.raw.4
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java \
-Xlog:aot=off \
-Xlog:cds=off \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.SortClasslist $@.raw.4 > $@

View File

@@ -162,7 +162,7 @@ define CreateCDSArchive
endif
ifeq ($(DEBUG_CDS_ARCHIVE), true)
$1_$2_CDS_DUMP_FLAGS += -Xlog:cds+map*=trace:file=$$(JDK_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE).cdsmap:none:filesize=0
$1_$2_CDS_DUMP_FLAGS += -Xlog:aot+map*=trace:file=$$(JDK_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE).cdsmap:none:filesize=0
endif
$$(eval $$(call SetupExecute, $1_$2_gen_cds_archive_jdk, \

View File

@@ -37,10 +37,6 @@ include MakeFileStart.gmk
include $(TOPDIR)/make/InitSupport.gmk
include LogUtils.gmk
# Force early generation of module-deps.gmk
GENERATE_MODULE_DEPS_FILE := true
include Modules.gmk
# Inclusion of this pseudo-target will cause make to execute this file
# serially, regardless of -j.
.NOTPARALLEL:
@@ -114,7 +110,18 @@ reconfigure:
CUSTOM_CONFIG_DIR="$(CUSTOM_CONFIG_DIR)" \
$(RECONFIGURE_COMMAND) )
.PHONY: print-modules print-targets print-tests print-configuration reconfigure
# Create files that are needed to run most targets in Main.gmk
create-make-helpers:
( cd $(TOPDIR) && \
$(MAKE) $(MAKE_ARGS) -j 1 -f make/GenerateFindTests.gmk \
$(USER_MAKE_VARS) )
( cd $(TOPDIR) && \
$(MAKE) $(MAKE_ARGS) -j 1 -f make/Main.gmk $(USER_MAKE_VARS) \
UPDATE_MODULE_DEPS=true NO_RECIPES=true \
create-main-targets-include )
.PHONY: print-modules print-targets print-tests print-configuration \
reconfigure create-make-helpers
##############################################################################
# The main target. This will delegate all other targets into Main.gmk.
@@ -134,7 +141,7 @@ TARGET_DESCRIPTION := target$(if $(word 2, $(MAIN_TARGETS)),s) \
# variables are explicitly propagated using $(USER_MAKE_VARS).
main: MAKEOVERRIDES :=
main: $(INIT_TARGETS)
main: $(INIT_TARGETS) create-make-helpers
ifneq ($(SEQUENTIAL_TARGETS)$(PARALLEL_TARGETS), )
$(call RotateLogFiles)
$(ECHO) "Building $(TARGET_DESCRIPTION)" $(BUILD_LOG_PIPE_SIMPLE)
@@ -144,6 +151,9 @@ main: $(INIT_TARGETS)
( cd $(TOPDIR) && \
$(MAKE) $(MAKE_ARGS) -j 1 -f make/Main.gmk $(USER_MAKE_VARS) \
$(SEQUENTIAL_TARGETS) )
# We might have cleaned away essential files, recreate them.
( cd $(TOPDIR) && \
$(MAKE) $(MAKE_ARGS) -j 1 -f make/Init.gmk create-make-helpers )
endif
ifneq ($(PARALLEL_TARGETS), )
$(call PrepareFailureLogs)

View File

@@ -1,73 +0,0 @@
#
# Copyright 2000-2023 JetBrains s.r.o.
# 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 $(SPEC)
include MakeBase.gmk
include Utils.gmk
JBR_API_ORIGIN := https://github.com/JetBrains/JetBrainsRuntimeApi.git
JBR_API_DIR := $(TOPDIR)/jbr-api
ARTIFACT_NAME := jbr-api-SNAPSHOT
ifeq ($(call isBuildOsEnv, windows.cygwin windows.msys2), true)
HOME := $$USERPROFILE
M2_REPO := $(shell $(PATHTOOL) $(HOME))/.m2/repository
else ifeq ($(call isBuildOsEnv, windows.wsl1 windows.wsl2), true)
HOME := `cmd.exe /C "echo %USERPROFILE%" 2> /dev/null`
M2_REPO := $(shell $(PATHTOOL) $(HOME))/.m2/repository
else
M2_REPO := $(HOME)/.m2/repository
endif
M2_ARTIFACT := $(M2_REPO)/com/jetbrains/jbr-api/SNAPSHOT
M2_POM_CONTENT := \
<?xml version="1.0" encoding="UTF-8"?> \
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" \
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> \
<modelVersion>4.0.0</modelVersion> \
<groupId>com.jetbrains</groupId> \
<artifactId>jbr-api</artifactId> \
<version>SNAPSHOT</version> \
</project> \
jbr-api:
if [ -d "$(JBR_API_DIR)" ]; then \
$(GIT) -C "$(JBR_API_DIR)" fetch; \
$(GIT) -C "$(JBR_API_DIR)" merge-base --is-ancestor origin/main HEAD || \
$(ECHO) "!!! Current JBR API revision is outdated, update the branch in $(JBR_API_DIR) !!!"; \
else \
$(ECHO) "JBR API directory does not exist. Initializing..."; \
$(GIT) clone "$(JBR_API_ORIGIN)" "$(JBR_API_DIR)" --config core.autocrlf=false; \
fi
$(BASH) "$(JBR_API_DIR)/tools/build.sh" dev "$(BOOT_JDK)"
if [ -d "$(M2_REPO)" ]; then \
$(MKDIR) -p $(M2_ARTIFACT); \
$(ECHO) "$(M2_POM_CONTENT)" > $(M2_ARTIFACT)/$(ARTIFACT_NAME).pom; \
$(CP) "$(JBR_API_DIR)/out/$(ARTIFACT_NAME).jar" "$(M2_ARTIFACT)"; \
$(ECHO) "Installed into local Maven repository as com.jetbrains:jbr-api:SNAPSHOT"; \
else \
$(ECHO) "No Maven repository found at $(M2_REPO) - skipping local installation"; \
fi
.PHONY: jbr-api

View File

@@ -42,6 +42,12 @@ include MakeFileStart.gmk
include $(TOPDIR)/make/MainSupport.gmk
include FindTests.gmk
ifeq ($(UPDATE_MODULE_DEPS), true)
# Update module-deps.gmk if requested. This is read in Modules.gmk.
GENERATE_MODULE_DEPS_FILE := true
endif
include Modules.gmk
# Are we requested to ignore dependencies?
@@ -352,7 +358,7 @@ $(eval $(call SetupTarget, vscode-project-ccls, \
$(eval $(call SetupTarget, idea-gen-config, \
MAKEFILE := ide/idea/jdk/IdeaGenConfig, \
ARGS := IDEA_OUTPUT="$(IDEA_OUTPUT)" MODULES="$(MODULES)" TOPLEVEL_DIR="$(TOPLEVEL_DIR)" IDEA_OUTPUT_PARENT="$(IDEA_OUTPUT_PARENT)", \
ARGS := IDEA_OUTPUT="$(IDEA_OUTPUT)" MODULES="$(MODULES)", \
))
################################################################################
@@ -411,12 +417,14 @@ $(eval $(call SetupTarget, create-source-revision-tracker, \
))
BOOTCYCLE_TARGET := product-images
BOOTCYCLE_SPEC := $(dir $(SPEC))bootcycle-spec.gmk
bootcycle-images:
ifneq ($(COMPILE_TYPE), cross)
$(call LogWarn, Boot cycle build step 2: Building a new JDK image using previously built image)
$(call MakeDir, $(OUTPUTDIR)/bootcycle-build)
+$(MAKE) $(MAKE_ARGS) -f $(TOPDIR)/make/Init.gmk PARALLEL_TARGETS=$(BOOTCYCLE_TARGET) \
LOG_PREFIX="[bootcycle] " JOBS= SPEC=$(dir $(SPEC))bootcycle-spec.gmk main
LOG_PREFIX="[bootcycle] " JOBS= SPEC=$(BOOTCYCLE_SPEC) main
else
$(call LogWarn, Boot cycle build disabled when cross compiling)
endif
@@ -875,6 +883,12 @@ $(eval $(call SetupTarget, static-libs-graal-bundles, \
DEPS := static-libs-graal-image, \
))
$(eval $(call SetupTarget, static-jdk-bundles, \
MAKEFILE := Bundles, \
TARGET := static-jdk-bundles, \
DEPS := static-jdk-image, \
))
ifeq ($(JCOV_ENABLED), true)
$(eval $(call SetupTarget, jcov-bundles, \
MAKEFILE := Bundles, \
@@ -1486,14 +1500,6 @@ create-main-targets-include:
@$(ECHO) ALL_MAIN_TARGETS := $(sort $(ALL_TARGETS)) > \
$(MAKESUPPORT_OUTPUTDIR)/main-targets.gmk
################################################################################
# JBR API
$(eval $(call SetupTarget, jbr-api, \
MAKEFILE := JBRApi, \
TARGET := jbr-api \
))
.PHONY: $(ALL_TARGETS)
FRC: # Force target

View File

@@ -57,7 +57,7 @@ define SetupTargetBody
endef
define CleanDocs
@$(ECHO) -n "Cleaning docs ..."
@$(PRINTF) "Cleaning docs ..."
@$(ECHO) "" $(LOG_DEBUG)
$(RM) -r $(SUPPORT_OUTPUTDIR)/docs
$(RM) -r $(SUPPORT_OUTPUTDIR)/javadoc
@@ -67,28 +67,28 @@ endef
# Cleans the dir given as $1
define CleanDir
@$(ECHO) -n "Cleaning $(strip $1) build artifacts ..."
@$(PRINTF) "Cleaning %s build artifacts ..." "$(strip $1)"
@$(ECHO) "" $(LOG_DEBUG)
($(CD) $(OUTPUTDIR) && $(RM) -r $1)
@$(ECHO) " done"
endef
define CleanSupportDir
@$(ECHO) -n "Cleaning$(strip $1) build artifacts ..."
@$(PRINTF) "Cleaning %s build artifacts ..." "$(strip $1)"
@$(ECHO) "" $(LOG_DEBUG)
$(RM) -r $(SUPPORT_OUTPUTDIR)/$(strip $1)
@$(ECHO) " done"
endef
define CleanMakeSupportDir
@$(ECHO) -n "Cleaning $(strip $1) make support artifacts ..."
@$(PRINTF) "Cleaning %s make support artifacts ..." "$(strip $1)"
@$(ECHO) "" $(LOG_DEBUG)
$(RM) -r $(MAKESUPPORT_OUTPUTDIR)/$(strip $1)
@$(ECHO) " done"
endef
define CleanTest
@$(ECHO) -n "Cleaning test $(strip $1) ..."
@$(PRINTF) "Cleaning test %s ..." "$(strip $1)"
@$(ECHO) "" $(LOG_DEBUG)
$(RM) -r $(SUPPORT_OUTPUTDIR)/test/$(strip $(subst -,/,$1))
# Remove as much of the test directory structure as is empty
@@ -97,25 +97,25 @@ define CleanTest
endef
define Clean-gensrc
@$(ECHO) -n "Cleaning gensrc $(if $1,for $(strip $1) )..."
@$(PRINTF) "Cleaning gensrc %s..." "$(if $1,for $(strip $1) )"
@$(ECHO) "" $(LOG_DEBUG)
$(RM) -r $(SUPPORT_OUTPUTDIR)/gensrc/$(strip $1)
@$(ECHO) " done"
endef
define Clean-java
@$(ECHO) -n "Cleaning java $(if $1,for $(strip $1) )..."
@$(PRINTF) "Cleaning java %s..." "$(if $1,for $(strip $1) )"
@$(ECHO) "" $(LOG_DEBUG)
$(RM) -r $(JDK_OUTPUTDIR)/modules/$(strip $1)
$(RM) -r $(SUPPORT_OUTPUTDIR)/special_classes/$(strip $1)
$(ECHO) " done"
$(ECHO) -n "Cleaning headers $(if $1,for $(strip $1) )..."
$(PRINTF) "Cleaning headers %s..." "$(if $1,for $(strip $1) )"
$(RM) -r $(SUPPORT_OUTPUTDIR)/headers/$(strip $1)
@$(ECHO) " done"
endef
define Clean-native
@$(ECHO) -n "Cleaning native $(if $1,for $(strip $1) )..."
@$(PRINTF) "Cleaning native %s..." "$(if $1,for $(strip $1) )"
@$(ECHO) "" $(LOG_DEBUG)
$(RM) -r $(SUPPORT_OUTPUTDIR)/native/$(strip $1)
$(RM) -r $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1)
@@ -124,7 +124,7 @@ define Clean-native
endef
define Clean-include
@$(ECHO) -n "Cleaning include $(if $1,for $(strip $1) )..."
@$(PRINTF) "Cleaning include %s..." "$(if $1,for $(strip $1) )"
@$(ECHO) "" $(LOG_DEBUG)
$(RM) -r $(SUPPORT_OUTPUTDIR)/modules_include/$(strip $1)
@$(ECHO) " done"

View File

@@ -50,7 +50,8 @@ include $(TOPDIR)/make/Global.gmk
# Targets provided by Init.gmk.
ALL_INIT_TARGETS := print-modules print-targets print-configuration \
print-tests reconfigure pre-compare-build post-compare-build
print-tests reconfigure pre-compare-build post-compare-build \
create-make-helpers
# CALLED_TARGETS is the list of targets that the user provided,
# or "default" if unspecified.
@@ -161,19 +162,19 @@ ifneq ($(SKIP_SPEC), true)
( cd $(TOPDIR) && \
$(foreach spec, $(SPECS), \
$(MAKE) $(MAKE_INIT_ARGS) -j 1 -f $(TOPDIR)/make/Init.gmk \
SPEC=$(spec) $(MAKE_INIT_MAIN_TARGET_ARGS) \
main && \
SPEC=$(spec) TOPDIR_ALT=$(TOPDIR) \
$(MAKE_INIT_MAIN_TARGET_ARGS) main && \
$(if $(and $(COMPARE_BUILD), $(PARALLEL_TARGETS)), \
$(MAKE) $(MAKE_INIT_ARGS) -f $(TOPDIR)/make/Init.gmk \
SPEC=$(spec) \
SPEC=$(spec) TOPDIR_ALT=$(TOPDIR) \
COMPARE_BUILD="$(COMPARE_BUILD)" \
pre-compare-build && \
$(MAKE) $(MAKE_INIT_ARGS) -j 1 -f $(TOPDIR)/make/Init.gmk \
SPEC=$(spec) $(MAKE_INIT_MAIN_TARGET_ARGS) \
SPEC=$(spec) TOPDIR_ALT=$(TOPDIR) \
COMPARE_BUILD="$(COMPARE_BUILD):NODRYRUN=true" \
main && \
$(MAKE_INIT_MAIN_TARGET_ARGS) main && \
$(MAKE) $(MAKE_INIT_ARGS) -f $(TOPDIR)/make/Init.gmk \
SPEC=$(spec) \
SPEC=$(spec) TOPDIR_ALT=$(TOPDIR) \
COMPARE_BUILD="$(COMPARE_BUILD):NODRYRUN=true" \
post-compare-build && \
) \

View File

@@ -250,13 +250,14 @@ endef
# Param 1: FORCE = force generation of main-targets.gmk or LAZY = do not force.
# Param 2: The SPEC file to use.
define DefineMainTargets
SPEC_FILE := $(strip $2)
# We will start by making sure the main-targets.gmk file is removed, if
# make has not been restarted. By the -include, we will trigger the
# rule for generating the file (which is never there since we removed it),
# thus generating it fresh, and make will restart, incrementing the restart
# count.
main_targets_file := $$(dir $(strip $2))make-support/main-targets.gmk
main_targets_file := $$(dir $$(SPEC_FILE))make-support/main-targets.gmk
ifeq ($$(MAKE_RESTARTS), )
# Only do this if make has not been restarted, and if we do not force it.
@@ -267,11 +268,12 @@ define DefineMainTargets
$$(main_targets_file):
@( cd $$(TOPDIR) && \
$$(MAKE) $$(MAKE_LOG_FLAGS) -r -R -f $$(TOPDIR)/make/GenerateFindTests.gmk \
-I $$(TOPDIR)/make/common SPEC=$(strip $2) )
$$(MAKE) $$(MAKE_LOG_FLAGS) -s -r -R -f $$(TOPDIR)/make/GenerateFindTests.gmk \
-I $$(TOPDIR)/make/common SPEC=$$(SPEC_FILE) TOPDIR_ALT=$$(TOPDIR))
@( cd $$(TOPDIR) && \
$$(MAKE) $$(MAKE_LOG_FLAGS) -r -R -f $$(TOPDIR)/make/Main.gmk \
-I $$(TOPDIR)/make/common SPEC=$(strip $2) NO_RECIPES=true \
$$(MAKE) $$(MAKE_LOG_FLAGS) -s -r -R -f $$(TOPDIR)/make/Main.gmk \
-I $$(TOPDIR)/make/common SPEC=$$(SPEC_FILE) TOPDIR_ALT=$$(TOPDIR) \
UPDATE_MODULE_DEPS=true NO_RECIPES=true \
$$(MAKE_LOG_VARS) \
create-main-targets-include )

View File

@@ -115,6 +115,7 @@ JTREG_COV_OPTIONS :=
ifeq ($(TEST_OPTS_JCOV), true)
JCOV_OUTPUT_DIR := $(TEST_RESULTS_DIR)/jcov-output
JCOV_SUPPORT_DIR := $(TEST_SUPPORT_DIR)/jcov-support
JCOV_GRABBER_LOG := $(JCOV_OUTPUT_DIR)/grabber.log
JCOV_RESULT_FILE := $(JCOV_OUTPUT_DIR)/result.xml
JCOV_REPORT := $(JCOV_OUTPUT_DIR)/report
@@ -534,22 +535,21 @@ define SetupRunGtestTestBody
$$(eval $1_PASSED := $$(shell $$(AWK) '/\[ PASSED \] .* tests?./ \
{ print $$$$4 }' $$($1_RESULT_FILE))) \
$$(if $$($1_PASSED), , $$(eval $1_PASSED := 0)) \
$$(eval $1_SKIPPED := $$(shell $$(AWK) \
'/YOU HAVE [0-9]+ DISABLED TEST/ { \
if (match($$$$0, /[0-9]+/, arr)) { \
print arr[0]; \
found=1; \
} \
} \
END { if (!found) print 0; }' \
$$($1_RESULT_FILE))) \
$$(eval $1_GTEST_DISABLED := $$(shell $$(AWK) '/YOU HAVE .* DISABLED TEST/ \
{ print $$$$3 }' $$($1_RESULT_FILE))) \
$$(if $$($1_GTEST_DISABLED), , $$(eval $1_GTEST_DISABLED := 0)) \
$$(eval $1_GTEST_SKIPPED := $$(shell $$(AWK) '/\[ SKIPPED \] .* tests?.*/ \
{ print $$$$4 }' $$($1_RESULT_FILE))) \
$$(if $$($1_GTEST_SKIPPED), , $$(eval $1_GTEST_SKIPPED := 0)) \
$$(eval $1_SKIPPED := $$(shell \
$$(EXPR) $$($1_GTEST_DISABLED) + $$($1_GTEST_SKIPPED))) \
$$(eval $1_FAILED := $$(shell $$(AWK) '/\[ FAILED \] .* tests?, \
listed below/ { print $$$$4 }' $$($1_RESULT_FILE))) \
$$(if $$($1_FAILED), , $$(eval $1_FAILED := 0)) \
$$(eval $1_ERROR := $$(shell \
$$(EXPR) $$($1_RUN) - $$($1_PASSED) - $$($1_FAILED))) \
$$(EXPR) $$($1_RUN) - $$($1_PASSED) - $$($1_FAILED) - $$($1_GTEST_SKIPPED))) \
$$(eval $1_TOTAL := $$(shell \
$$(EXPR) $$($1_RUN) + $$($1_SKIPPED))) \
$$(EXPR) $$($1_RUN) + $$($1_GTEST_DISABLED))) \
, \
$$(eval $1_PASSED := 0) \
$$(eval $1_FAILED := 0) \
@@ -583,6 +583,8 @@ define SetMicroValue
else
ifneq ($3, )
$1_$2 := $3
else
$1_$2 :=
endif
endif
endef
@@ -709,6 +711,8 @@ define SetJtregValue
else
ifneq ($3, )
$1_$2 := $3
else
$1_$2 :=
endif
endif
endif
@@ -721,6 +725,7 @@ endef
# Parameter 1 is the name of the rule.
#
# Remaining parameters are named arguments.
# TRAINING The AOT training mode: onestep or twostep
# VM_OPTIONS List of JVM arguments to use when creating AOT cache
#
# After calling this, the following variables are defined
@@ -749,23 +754,39 @@ define SetupAOTBody
$$($1_AOT_JDK_CACHE): $$(JDK_IMAGE_DIR)/release
$$(call MakeDir, $$($1_AOT_JDK_OUTPUT_DIR))
$$(call LogWarn, AOT: Create cache configuration) \
$$(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,cds,cds+class=debug:file=$$($1_AOT_JDK_CONF).log -Xlog:cds*=error \
-XX:AOTMode=record -XX:AOTConfiguration=$$($1_AOT_JDK_CONF) \
TestSetupAOT $$($1_AOT_JDK_OUTPUT_DIR) > $$($1_AOT_JDK_LOG) \
))
ifeq ($$($1_TRAINING), onestep)
$$(call LogWarn, AOT: Generate AOT cache $$($1_AOT_JDK_CACHE) with flags: $$($1_VM_OPTIONS))
$$(call ExecuteWithLog, $$($1_AOT_JDK_OUTPUT_DIR), ( \
$$(FIXPATH) $(JDK_UNDER_TEST)/bin/java \
$$($1_VM_OPTIONS) -Xlog:cds,cds+class=debug:file=$$($1_AOT_JDK_CACHE).log -Xlog:cds*=error \
-XX:ExtraSharedClassListFile=$(JDK_UNDER_TEST)/lib/classlist \
-XX:AOTMode=create -XX:AOTConfiguration=$$($1_AOT_JDK_CONF) -XX:AOTCache=$$($1_AOT_JDK_CACHE) \
))
$$(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), ( \
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 \
-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), ( \
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 \
-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), ( \
$$(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 \
-XX:ExtraSharedClassListFile=$(JDK_UNDER_TEST)/lib/classlist \
-XX:AOTMode=create -XX:AOTConfiguration=$$($1_AOT_JDK_CONF) -XX:AOTCache=$$($1_AOT_JDK_CACHE) \
))
endif
$1_AOT_TARGETS += $$($1_AOT_JDK_CACHE)
@@ -831,7 +852,7 @@ define SetupRunJtregTestBody
JTREG_RETRY_COUNT ?= 0
JTREG_REPEAT_COUNT ?= 0
JTREG_REPORT ?= files
JTREG_AOT_JDK ?= false
JTREG_AOT_JDK ?= none
ifneq ($$(JTREG_RETRY_COUNT), 0)
ifneq ($$(JTREG_REPEAT_COUNT), 0)
@@ -841,6 +862,12 @@ define SetupRunJtregTestBody
endif
endif
ifeq ($$(JTREG_RUN_PROBLEM_LISTS), true)
JTREG_PROBLEM_LIST_PREFIX := -match:
else
JTREG_PROBLEM_LIST_PREFIX := -exclude:
endif
ifneq ($$(JTREG_TEST_THREAD_FACTORY), )
$1_JTREG_BASIC_OPTIONS += -testThreadFactoryPath:$$(JTREG_TEST_THREAD_FACTORY_JAR)
$1_JTREG_BASIC_OPTIONS += -testThreadFactory:$$(JTREG_TEST_THREAD_FACTORY)
@@ -869,7 +896,7 @@ define SetupRunJtregTestBody
# version of the JDK.
$1_JTREG_BASIC_OPTIONS += -$$($1_JTREG_TEST_MODE) \
-verbose:$$(JTREG_VERBOSE) -retain:$$(JTREG_RETAIN) \
-concurrency:$$($1_JTREG_JOBS) -timeoutFactor:$$(JTREG_TIMEOUT_FACTOR) \
-concurrency:$$($1_JTREG_JOBS) \
-vmoption:-XX:MaxRAMPercentage=$$($1_JTREG_MAX_RAM_PERCENTAGE) \
-vmoption:-Dtest.boot.jdk="$$(BOOT_JDK)" \
-vmoption:-Djava.io.tmpdir="$$($1_TEST_TMP_DIR)"
@@ -902,12 +929,6 @@ define SetupRunJtregTestBody
$1_JTREG_BASIC_OPTIONS += -nativepath:$$($1_JTREG_NATIVEPATH)
endif
ifeq ($$(JTREG_RUN_PROBLEM_LISTS), true)
JTREG_PROBLEM_LIST_PREFIX := -match:
else
JTREG_PROBLEM_LIST_PREFIX := -exclude:
endif
ifneq ($$($1_JTREG_PROBLEM_LIST), )
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$($1_JTREG_PROBLEM_LIST))
endif
@@ -930,6 +951,11 @@ define SetupRunJtregTestBody
JTREG_AUTO_PROBLEM_LISTS += ProblemList-shenandoah.txt
endif
ifneq ($$(findstring --enable-preview, $$(JTREG_ALL_OPTIONS)), )
JTREG_AUTO_PROBLEM_LISTS += ProblemList-enable-preview.txt
endif
ifneq ($$(JTREG_EXTRA_PROBLEM_LISTS), )
# Accept both absolute paths as well as relative to the current test root.
$1_JTREG_BASIC_OPTIONS += $$(addprefix $$(JTREG_PROBLEM_LIST_PREFIX), $$(wildcard \
@@ -966,12 +992,12 @@ define SetupRunJtregTestBody
endif
endif
ifeq ($$(JTREG_AOT_JDK), true)
ifneq ($$(filter $$(JTREG_AOT_JDK), onestep twostep), )
$$(call LogWarn, Add AOT target for $1)
$$(eval $$(call SetupAOT, $1, VM_OPTIONS := $$(JTREG_ALL_OPTIONS) ))
$$(eval $$(call SetupAOT, $1, \
TRAINING := $$(JTREG_AOT_JDK), \
VM_OPTIONS := $$(JTREG_ALL_OPTIONS) ))
$$(call LogWarn, AOT_JDK_CACHE=$$($1_AOT_JDK_CACHE))
$1_JTREG_BASIC_OPTIONS += -vmoption:-XX:AOTCache="$$($1_AOT_JDK_CACHE)"
endif
@@ -989,6 +1015,7 @@ define SetupRunJtregTestBody
endif
JTREG_TIMEOUT_FACTOR ?= $$(JTREG_AUTO_TIMEOUT_FACTOR)
$1_JTREG_BASIC_OPTIONS += -timeoutFactor:$$(JTREG_TIMEOUT_FACTOR)
clean-outputdirs-$1:
$$(call LogWarn, Clean up dirs for $1)
@@ -1339,12 +1366,14 @@ TARGETS += run-all-tests pre-run-test post-run-test run-test-report run-test
ifeq ($(TEST_OPTS_JCOV), true)
JCOV_VM_OPTS := -Xmx4g -Djdk.xml.totalEntitySizeLimit=0 -Djdk.xml.maxGeneralEntitySizeLimit=0
jcov-do-start-grabber:
$(call MakeDir, $(JCOV_OUTPUT_DIR))
if $(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -status 1>/dev/null 2>&1 ; then \
$(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -stop -stoptimeout 3600 ; \
fi
$(JAVA) -Xmx4g -jar $(JCOV_HOME)/lib/jcov.jar Grabber -v -t \
$(JAVA) $(JCOV_VM_OPTS) -jar $(JCOV_HOME)/lib/jcov.jar Grabber -v -t \
$(JCOV_IMAGE_DIR)/template.xml -o $(JCOV_RESULT_FILE) \
1>$(JCOV_GRABBER_LOG) 2>&1 &
@@ -1357,6 +1386,10 @@ ifeq ($(TEST_OPTS_JCOV), true)
$(JAVA) -jar $(JCOV_HOME)/lib/jcov.jar GrabberManager -stop -stoptimeout 3600
JCOV_REPORT_TITLE := JDK code coverage report<br/>
ifneq ($(JCOV_MODULES), )
JCOV_MODULES_FILTER := $(foreach m, $(JCOV_MODULES), -include_module $m)
JCOV_REPORT_TITLE += Included modules: $(JCOV_MODULES)<br>
endif
ifneq ($(JCOV_FILTERS), )
JCOV_REPORT_TITLE += Code filters: $(JCOV_FILTERS)<br>
endif
@@ -1364,11 +1397,12 @@ ifeq ($(TEST_OPTS_JCOV), true)
jcov-gen-report: jcov-stop-grabber
$(call LogWarn, Generating JCov report ...)
$(JAVA) -Xmx4g -jar $(JCOV_HOME)/lib/jcov.jar RepGen -sourcepath \
$(call ExecuteWithLog, $(JCOV_SUPPORT_DIR)/run-jcov-repgen, \
$(JAVA) $(JCOV_VM_OPTS) -jar $(JCOV_HOME)/lib/jcov.jar RepGen -sourcepath \
`$(ECHO) $(TOPDIR)/src/*/share/classes/ | $(TR) ' ' ':'` -fmt html \
$(JCOV_FILTERS) \
$(JCOV_MODULES_FILTER) $(JCOV_FILTERS) \
-mainReportTitle "$(JCOV_REPORT_TITLE)" \
-o $(JCOV_REPORT) $(JCOV_RESULT_FILE)
-o $(JCOV_REPORT) $(JCOV_RESULT_FILE))
TARGETS += jcov-do-start-grabber jcov-start-grabber jcov-stop-grabber \
jcov-gen-report
@@ -1388,7 +1422,7 @@ ifeq ($(TEST_OPTS_JCOV), true)
jcov-gen-diffcoverage: jcov-stop-grabber
$(call LogWarn, Generating diff coverage with changeset $(TEST_OPTS_JCOV_DIFF_CHANGESET) ... )
$(DIFF_COMMAND)
$(JAVA) -Xmx4g -jar $(JCOV_HOME)/lib/jcov.jar \
$(JAVA) $(JCOV_VM_OPTS) -jar $(JCOV_HOME)/lib/jcov.jar \
DiffCoverage -replaceDiff "src/.*/classes/:" -all \
$(JCOV_RESULT_FILE) $(JCOV_SOURCE_DIFF) > \
$(JCOV_DIFF_COVERAGE_REPORT)

View File

@@ -217,9 +217,9 @@ else ifeq ($(OPENJDK_TARGET_OS), macosx)
else ifeq ($(OPENJDK_TARGET_OS), windows)
NUM_CORES := $(NUMBER_OF_PROCESSORS)
MEMORY_SIZE := $(shell \
$(EXPR) `wmic computersystem get totalphysicalmemory -value \
| $(GREP) = | $(SED) 's/\\r//g' \
| $(CUT) -d "=" -f 2-` / 1024 / 1024 \
$(EXPR) `powershell -Command \
"(Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory" \
| $(SED) 's/\\r//g' ` / 1024 / 1024 \
)
endif
ifeq ($(NUM_CORES), )

View File

@@ -134,17 +134,33 @@ AC_DEFUN_ONCE([BASIC_SETUP_BUILD_ENV],
)
AC_SUBST(BUILD_ENV)
AC_MSG_CHECKING([for locale to use])
if test "x$LOCALE" != x; then
# Check if we actually have C.UTF-8; if so, use it
if $LOCALE -a | $GREP -q -E "^C\.(utf8|UTF-8)$"; then
LOCALE_USED=C.UTF-8
AC_MSG_RESULT([C.UTF-8 (recommended)])
elif $LOCALE -a | $GREP -q -E "^en_US\.(utf8|UTF-8)$"; then
LOCALE_USED=en_US.UTF-8
AC_MSG_RESULT([en_US.UTF-8 (acceptable fallback)])
else
AC_MSG_WARN([C.UTF-8 locale not found, using C locale])
LOCALE_USED=C
# As a fallback, check if users locale is UTF-8. USER_LOCALE was saved
# by the wrapper configure script before autconf messed up LC_ALL.
if $ECHO $USER_LOCALE | $GREP -q -E "\.(utf8|UTF-8)$"; then
LOCALE_USED=$USER_LOCALE
AC_MSG_RESULT([$USER_LOCALE (untested fallback)])
AC_MSG_WARN([Could not find C.UTF-8 or en_US.UTF-8 locale. This is not supported, and the build might fail unexpectedly.])
else
AC_MSG_RESULT([no UTF-8 locale found])
AC_MSG_WARN([No UTF-8 locale found. This is not supported. Proceeding with the C locale, but the build might fail unexpectedly.])
LOCALE_USED=C
fi
AC_MSG_NOTICE([The recommended locale is C.UTF-8, but en_US.UTF-8 is also accepted.])
fi
else
AC_MSG_WARN([locale command not not found, using C locale])
LOCALE_USED=C
LOCALE_USED=C.UTF-8
AC_MSG_RESULT([C.UTF-8 (default)])
AC_MSG_WARN([locale command not not found, using C.UTF-8 locale])
fi
export LC_ALL=$LOCALE_USED
@@ -399,11 +415,21 @@ AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
[ CONF_NAME=${with_conf_name} ])
# Test from where we are running configure, in or outside of src root.
if test "x$OPENJDK_BUILD_OS" = xwindows || test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
# These systems have case insensitive paths, so convert them to lower case.
[ cmp_configure_start_dir=`$ECHO $CONFIGURE_START_DIR | $TR '[:upper:]' '[:lower:]'` ]
[ cmp_topdir=`$ECHO $TOPDIR | $TR '[:upper:]' '[:lower:]'` ]
[ cmp_custom_root=`$ECHO $CUSTOM_ROOT | $TR '[:upper:]' '[:lower:]'` ]
else
cmp_configure_start_dir="$CONFIGURE_START_DIR"
cmp_topdir="$TOPDIR"
cmp_custom_root="$CUSTOM_ROOT"
fi
AC_MSG_CHECKING([where to store configuration])
if test "x$CONFIGURE_START_DIR" = "x$TOPDIR" \
|| test "x$CONFIGURE_START_DIR" = "x$CUSTOM_ROOT" \
|| test "x$CONFIGURE_START_DIR" = "x$TOPDIR/make/autoconf" \
|| test "x$CONFIGURE_START_DIR" = "x$TOPDIR/make" ; then
if test "x$cmp_configure_start_dir" = "x$cmp_topdir" \
|| test "x$cmp_configure_start_dir" = "x$cmp_custom_root" \
|| test "x$cmp_configure_start_dir" = "x$cmp_topdir/make/autoconf" \
|| test "x$cmp_configure_start_dir" = "x$cmp_topdir/make" ; then
# We are running configure from the src root.
# Create a default ./build/target-variant-debuglevel output root.
if test "x${CONF_NAME}" = x; then
@@ -424,7 +450,12 @@ AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
# If configuration is situated in normal build directory, just use the build
# directory name as configuration name, otherwise use the complete path.
if test "x${CONF_NAME}" = x; then
CONF_NAME=`$ECHO $CONFIGURE_START_DIR | $SED -e "s!^${TOPDIR}/build/!!"`
[ if [[ "$cmp_configure_start_dir" =~ ^${cmp_topdir}/build/[^/]+$ ||
"$cmp_configure_start_dir" =~ ^${cmp_custom_root}/build/[^/]+$ ]]; then ]
CONF_NAME="${CONFIGURE_START_DIR##*/}"
else
CONF_NAME="$CONFIGURE_START_DIR"
fi
fi
OUTPUTDIR="$CONFIGURE_START_DIR"
AC_MSG_RESULT([in current directory])

View File

@@ -468,7 +468,15 @@ AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
AC_MSG_CHECKING([if the pandoc smart extension needs to be disabled for markdown])
if $PANDOC --list-extensions | $GREP -q '+smart'; then
AC_MSG_RESULT([yes])
PANDOC_MARKDOWN_FLAG="markdown-smart"
PANDOC_MARKDOWN_FLAG="$PANDOC_MARKDOWN_FLAG-smart"
else
AC_MSG_RESULT([no])
fi
AC_MSG_CHECKING([if the pandoc tex_math_dollars extension needs to be disabled for markdown])
if $PANDOC --list-extensions | $GREP -q '+tex_math_dollars'; then
AC_MSG_RESULT([yes])
PANDOC_MARKDOWN_FLAG="$PANDOC_MARKDOWN_FLAG-tex_math_dollars"
else
AC_MSG_RESULT([no])
fi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, 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
@@ -89,8 +89,8 @@ AC_DEFUN([BASIC_SETUP_PATHS_WINDOWS],
WINENV_TEMP_DIR=$($PATHTOOL -u $($CMD /q /c echo %TEMP% 2> /dev/null) | $TR -d '\r\n')
AC_MSG_RESULT([$WINENV_TEMP_DIR])
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl1" || test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
# Don't trust the current directory for WSL, but change to an OK temp dir
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
# Don't trust the current directory for WSL2, but change to an OK temp dir
cd "$WINENV_TEMP_DIR"
# Bring along confdefs.h or autoconf gets all confused
cp "$CONFIGURE_START_DIR/confdefs.h" "$WINENV_TEMP_DIR"
@@ -159,7 +159,7 @@ AC_DEFUN([BASIC_SETUP_PATHS_WINDOWS],
else
WINENV_PREFIX_ARG="$WINENV_PREFIX"
fi
FIXPATH_ARGS="-e $PATHTOOL -p $WINENV_PREFIX_ARG -r ${WINENV_ROOT//\\/\\\\} -t $WINENV_TEMP_DIR -c $CMD -q"
FIXPATH_ARGS="-e $PATHTOOL -p $WINENV_PREFIX_ARG -r ${WINENV_ROOT//\\/\\\\} -t $WINENV_TEMP_DIR -c $CMD"
FIXPATH_BASE="$BASH $FIXPATH_DIR/fixpath.sh $FIXPATH_ARGS"
FIXPATH="$FIXPATH_BASE exec"
@@ -215,7 +215,7 @@ AC_DEFUN([BASIC_WINDOWS_FINALIZE_FIXPATH],
if test "x$OPENJDK_BUILD_OS" = xwindows; then
FIXPATH_CMDLINE=". $TOPDIR/make/scripts/fixpath.sh -e $PATHTOOL \
-p $WINENV_PREFIX_ARG -r ${WINENV_ROOT//\\/\\\\} -t $WINENV_TEMP_DIR \
-c $CMD -q"
-c $CMD"
$ECHO > $OUTPUTDIR/fixpath '#!/bin/bash'
$ECHO >> $OUTPUTDIR/fixpath export PATH='"[$]PATH:'$PATH'"'
$ECHO >> $OUTPUTDIR/fixpath $FIXPATH_CMDLINE '"[$]@"'
@@ -228,7 +228,7 @@ AC_DEFUN([BASIC_WINDOWS_FINALIZE_FIXPATH],
# Platform-specific finalization
AC_DEFUN([BASIC_WINDOWS_FINALIZE],
[
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl1" || test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
# Change back from temp dir
cd $CONFIGURE_START_DIR
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
@@ -180,11 +180,13 @@ AC_DEFUN([BOOTJDK_CHECK_JAVA_HOME],
# Test: Is there a java or javac in the PATH, which is a symlink to the JDK?
AC_DEFUN([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK],
[
UTIL_LOOKUP_PROGS(JAVAC_CHECK, javac, , NOFIXPATH)
UTIL_LOOKUP_PROGS(JAVA_CHECK, java, , NOFIXPATH)
BINARY="$JAVAC_CHECK"
if test "x$JAVAC_CHECK" = x; then
BINARY="$JAVA_CHECK"
UTIL_LOOKUP_PROGS(JAVAC_CHECK, javac)
UTIL_GET_EXECUTABLE(JAVAC_CHECK) # Will setup JAVAC_CHECK_EXECUTABLE
UTIL_LOOKUP_PROGS(JAVA_CHECK, java)
UTIL_GET_EXECUTABLE(JAVA_CHECK) # Will setup JAVA_CHECK_EXECUTABLE
BINARY="$JAVAC_CHECK_EXECUTABLE"
if test "x$JAVAC_CHECK_EXECUTABLE" = x; then
BINARY="$JAVA_CHECK_EXECUTABLE"
fi
if test "x$BINARY" != x; then
# So there is a java(c) binary, it might be part of a JDK.

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
@@ -75,7 +75,8 @@ AC_DEFUN([BPERF_CHECK_MEMORY_SIZE],
FOUND_MEM=yes
elif test "x$OPENJDK_BUILD_OS" = xwindows; then
# Windows, but without cygwin
MEMORY_SIZE=`wmic computersystem get totalphysicalmemory -value | grep = | cut -d "=" -f 2-`
MEMORY_SIZE=`powershell -Command \
"(Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory" | $SED 's/\\r//g' `
MEMORY_SIZE=`expr $MEMORY_SIZE / 1024 / 1024`
FOUND_MEM=yes
fi

View File

@@ -49,7 +49,9 @@ fi
export CONFIG_SHELL=$BASH
export _as_can_reexec=no
# Make sure all shell commands are executed with the C locale
# Save user's current locale, but make sure all future shell commands are
# executed with the C locale
export USER_LOCALE=$LC_ALL
export LC_ALL=C
if test "x$CUSTOM_CONFIG_DIR" != x; then

View File

@@ -261,6 +261,7 @@ JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE_COH
JDKOPT_ENABLE_DISABLE_COMPATIBLE_CDS_ALIGNMENT
JDKOPT_SETUP_MACOSX_SIGNING
JDKOPT_SETUP_SIGNING_HOOK
JDKOPT_SETUP_JAVA_WARNINGS
################################################################################
#

View File

@@ -573,12 +573,20 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
TOOLCHAIN_CFLAGS_JDK="$TOOLCHAIN_CFLAGS_JDK -fvisibility=hidden -fstack-protector"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# The -utf-8 option sets source and execution character sets to UTF-8 to enable correct
# compilation of all source files regardless of the active code page on Windows.
TOOLCHAIN_CFLAGS_JVM="-nologo -MD -Zc:preprocessor -Zc:inline -Zc:throwingNew -permissive- -utf-8 -MP"
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:preprocessor -Zc:inline -Zc:throwingNew -permissive- -utf-8 -Zc:wchar_t-"
TOOLCHAIN_CFLAGS_JVM="-nologo -MD -Zc:preprocessor -Zc:inline -Zc:throwingNew -permissive- -MP"
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:preprocessor -Zc:inline -Zc:throwingNew -permissive- -Zc:wchar_t-"
fi
# Set character encoding in source
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
CHARSET_CFLAGS="-finput-charset=utf-8"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# The -utf-8 option sets both source and execution character sets
CHARSET_CFLAGS="-utf-8 -validate-charset"
fi
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM $CHARSET_CFLAGS"
TOOLCHAIN_CFLAGS_JDK="$TOOLCHAIN_CFLAGS_JDK $CHARSET_CFLAGS"
# CFLAGS C language level for JDK sources (hotspot only uses C++)
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
LANGSTD_CFLAGS="-std=c11"
@@ -721,11 +729,10 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
$1_CFLAGS_CPU="-fsigned-char -Wno-psabi $ARM_ARCH_TYPE_FLAGS $ARM_FLOAT_TYPE_FLAGS -DJDK_ARCH_ABI_PROP_NAME='\"\$(JDK_ARCH_ABI_PROP_NAME)\"'"
$1_CFLAGS_CPU_JVM="-DARM"
elif test "x$FLAGS_CPU_ARCH" = xppc; then
$1_CFLAGS_CPU_JVM="-minsert-sched-nops=regroup_exact -mno-multiple -mno-string"
$1_CFLAGS_CPU_JVM="-mno-multiple -mno-string"
if test "x$FLAGS_CPU" = xppc64; then
# -mminimal-toc fixes `relocation truncated to fit' error for gcc 4.1.
# Use ppc64 instructions, but schedule for power5
$1_CFLAGS_CPU="-mcpu=powerpc64 -mtune=power5"
$1_CFLAGS_CPU="-mcpu=power8 -mtune=power8"
$1_CFLAGS_CPU_JVM="${$1_CFLAGS_CPU_JVM} -mminimal-toc"
elif test "x$FLAGS_CPU" = xppc64le; then
# Little endian machine uses ELFv2 ABI.

View File

@@ -292,12 +292,12 @@ AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
$ECHO "* Debug level: $DEBUG_LEVEL"
$ECHO "* HS debug level: $HOTSPOT_DEBUG_LEVEL"
$ECHO "* JVM variants: $JVM_VARIANTS"
$ECHO -n "* JVM features: "
$PRINTF "* JVM features: "
for variant in $JVM_VARIANTS; do
features_var_name=JVM_FEATURES_$variant
JVM_FEATURES_FOR_VARIANT=${!features_var_name}
$ECHO -n "$variant: '$JVM_FEATURES_FOR_VARIANT' "
$PRINTF "%s: \'%s\' " "$variant" "$JVM_FEATURES_FOR_VARIANT"
done
$ECHO ""

View File

@@ -244,31 +244,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
fi
AC_SUBST(HOTSPOT_OVERRIDE_LIBPATH)
# Should we build the client for the JAWS screen reader?
if test "x$OPENJDK_TARGET_OS" = xwindows; then
AC_MSG_CHECKING([if JAWS client support is enabled])
A11Y_JAWS_ANNOUNCING_ENABLED=true
AC_ARG_ENABLE(
[jaws-client],
[AS_HELP_STRING([--disable-jaws-client], [Set to disable to exclude the client for the JAWS screen reader from the build])],
[
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
AC_MSG_WARN([--[enable|disable]-jaws-client[=*] flags are ignored for headless builds])
elif test "x$enableval" != xyes; then
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
]
)
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
AC_MSG_RESULT([$A11Y_JAWS_ANNOUNCING_ENABLED])
else
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
AC_SUBST(A11Y_JAWS_ANNOUNCING_ENABLED)
])
################################################################################
@@ -430,10 +405,19 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
JCOV_FILTERS="$with_jcov_filters"
fi
fi
UTIL_ARG_WITH(NAME: jcov-modules, TYPE: string,
DEFAULT: [], RESULT: JCOV_MODULES_COMMMA_SEPARATED,
DESC: [which modules to include in jcov (comma-separated)],
OPTIONAL: true)
# Replace "," with " ".
JCOV_MODULES=${JCOV_MODULES_COMMMA_SEPARATED//,/ }
AC_SUBST(JCOV_ENABLED)
AC_SUBST(JCOV_HOME)
AC_SUBST(JCOV_INPUT_JDK)
AC_SUBST(JCOV_FILTERS)
AC_SUBST(JCOV_MODULES)
])
################################################################################
@@ -545,8 +529,21 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
# Silence them for now.
UBSAN_CHECKS="-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-sanitize=shift-base -fno-sanitize=alignment \
$ADDITIONAL_UBSAN_CHECKS"
UBSAN_CFLAGS="$UBSAN_CHECKS -Wno-stringop-truncation -Wno-format-overflow -Wno-array-bounds -Wno-stringop-overflow -fno-omit-frame-pointer -DUNDEFINED_BEHAVIOR_SANITIZER"
UBSAN_CFLAGS="$UBSAN_CHECKS -Wno-array-bounds -fno-omit-frame-pointer -DUNDEFINED_BEHAVIOR_SANITIZER"
if test "x$TOOLCHAIN_TYPE" = "xgcc"; then
UBSAN_CFLAGS="$UBSAN_CFLAGS -Wno-format-overflow -Wno-stringop-overflow -Wno-stringop-truncation"
fi
UBSAN_LDFLAGS="$UBSAN_CHECKS"
# On AIX, the llvm_symbolizer is not found out of the box, so we have to provide the
# full qualified llvm_symbolizer path in the __ubsan_default_options() function in
# make/data/ubsan/ubsan_default_options.c. To get it there we compile our sources
# 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.
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"
fi
UTIL_ARG_ENABLE(NAME: ubsan, DEFAULT: false, RESULT: UBSAN_ENABLED,
DESC: [enable UndefinedBehaviorSanitizer],
CHECK_AVAILABLE: [
@@ -1013,6 +1010,18 @@ AC_DEFUN([JDKOPT_SETUP_SIGNING_HOOK],
AC_SUBST(SIGNING_HOOK)
])
################################################################################
#
# Setup how javac should handle warnings.
#
AC_DEFUN([JDKOPT_SETUP_JAVA_WARNINGS],
[
UTIL_ARG_ENABLE(NAME: java-warnings-as-errors, DEFAULT: true,
RESULT: JAVA_WARNINGS_AS_ERRORS,
DESC: [consider java warnings to be an error])
AC_SUBST(JAVA_WARNINGS_AS_ERRORS)
])
################################################################################
#
# fallback linker

View File

@@ -62,19 +62,29 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBJPEG],
if test "x${with_libjpeg}" = "xbundled"; then
USE_EXTERNAL_LIBJPEG=false
LIBJPEG_CFLAGS=""
LIBJPEG_LIBS=""
elif test "x${with_libjpeg}" = "xsystem"; then
AC_CHECK_HEADER(jpeglib.h, [],
[ AC_MSG_ERROR([--with-libjpeg=system specified, but jpeglib.h not found!])])
AC_CHECK_LIB(jpeg, jpeg_CreateDecompress, [],
[ AC_MSG_ERROR([--with-libjpeg=system specified, but no libjpeg found])])
PKG_CHECK_MODULES(LIBJPEG, libjpeg, [LIBJPEG_FOUND=yes], [LIBJPEG_FOUND=no])
if test "x${LIBJPEG_FOUND}" = "xyes"; then
# PKG_CHECK_MODULES will set LIBJPEG_CFLAGS and LIBJPEG_LIBS
USE_EXTERNAL_LIBJPEG=true
else
AC_CHECK_HEADER(jpeglib.h, [],
[ AC_MSG_ERROR([--with-libjpeg=system specified, but jpeglib.h not found!])])
AC_CHECK_LIB(jpeg, jpeg_CreateDecompress, [],
[ AC_MSG_ERROR([--with-libjpeg=system specified, but no libjpeg found])])
USE_EXTERNAL_LIBJPEG=true
LIBJPEG_LIBS="-ljpeg"
USE_EXTERNAL_LIBJPEG=true
LIBJPEG_CFLAGS=""
LIBJPEG_LIBS="-ljpeg"
fi
else
AC_MSG_ERROR([Invalid use of --with-libjpeg: ${with_libjpeg}, use 'system' or 'bundled'])
fi
AC_SUBST(USE_EXTERNAL_LIBJPEG)
AC_SUBST(LIBJPEG_CFLAGS)
AC_SUBST(LIBJPEG_LIBS)
])
@@ -85,6 +95,10 @@ AC_DEFUN_ONCE([LIB_SETUP_GIFLIB],
[
AC_ARG_WITH(giflib, [AS_HELP_STRING([--with-giflib],
[use giflib from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
AC_ARG_WITH(giflib-include, [AS_HELP_STRING([--with-giflib-include],
[specify directory for the system giflib include files])])
AC_ARG_WITH(giflib-lib, [AS_HELP_STRING([--with-giflib-lib],
[specify directory for the system giflib library])])
AC_MSG_CHECKING([for which giflib to use])
# default is bundled
@@ -97,11 +111,40 @@ AC_DEFUN_ONCE([LIB_SETUP_GIFLIB],
if test "x${with_giflib}" = "xbundled"; then
USE_EXTERNAL_LIBGIF=false
GIFLIB_CFLAGS=""
GIFLIB_LIBS=""
elif test "x${with_giflib}" = "xsystem"; then
AC_CHECK_HEADER(gif_lib.h, [],
[ AC_MSG_ERROR([--with-giflib=system specified, but gif_lib.h not found!])])
AC_CHECK_LIB(gif, DGifGetCode, [],
[ AC_MSG_ERROR([--with-giflib=system specified, but no giflib found!])])
GIFLIB_H_FOUND=no
if test "x${with_giflib_include}" != x; then
GIFLIB_CFLAGS="-I${with_giflib_include}"
GIFLIB_H_FOUND=yes
fi
if test "x$GIFLIB_H_FOUND" = xno; then
AC_CHECK_HEADER(gif_lib.h,
[
GIFLIB_CFLAGS=""
GIFLIB_H_FOUND=yes
])
fi
if test "x$GIFLIB_H_FOUND" = xno; then
AC_MSG_ERROR([--with-giflib=system specified, but gif_lib.h not found!])
fi
GIFLIB_LIB_FOUND=no
if test "x${with_giflib_lib}" != x; then
GIFLIB_LIBS="-L${with_giflib_lib} -lgif"
GIFLIB_LIB_FOUND=yes
fi
if test "x$GIFLIB_LIB_FOUND" = xno; then
AC_CHECK_LIB(gif, DGifGetCode,
[
GIFLIB_LIBS="-lgif"
GIFLIB_LIB_FOUND=yes
])
fi
if test "x$GIFLIB_LIB_FOUND" = xno; then
AC_MSG_ERROR([--with-giflib=system specified, but no giflib found!])
fi
USE_EXTERNAL_LIBGIF=true
GIFLIB_LIBS=-lgif
@@ -110,6 +153,7 @@ AC_DEFUN_ONCE([LIB_SETUP_GIFLIB],
fi
AC_SUBST(USE_EXTERNAL_LIBGIF)
AC_SUBST(GIFLIB_CFLAGS)
AC_SUBST(GIFLIB_LIBS)
])

View File

@@ -1,121 +0,0 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, JetBrains s.r.o.. 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.
#
################################################################################
# Setup nvdacontrollerclient (The library for communication with
# NVDA - a screen reader for Microsoft Windows)
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_NVDACONTROLLERCLIENT], [
# To enable NVDA, user specifies neither --with-nvdacontrollerclient or
# a pair (--with-nvdacontrollerclient-include, --with-nvdacontrollerclient-lib)
AC_ARG_WITH(nvdacontrollerclient, [AS_HELP_STRING([--with-nvdacontrollerclient],
[specify prefix directory for the NVDA Controller Client library package
(expecting headers and libs under PATH/<target-arch>/)])])
AC_ARG_WITH(nvdacontrollerclient-include, [AS_HELP_STRING([--with-nvdacontrollerclient-include],
[specify directory for the NVDA Controller Client include files])])
AC_ARG_WITH(nvdacontrollerclient-lib, [AS_HELP_STRING([--with-nvdacontrollerclient-lib],
[specify directory for the NVDA Controller Client library])])
NVDACONTROLLERCLIENT_FOUND=no
NVDACONTROLLERCLIENT_LIB=
NVDACONTROLLERCLIENT_DLL=
NVDACONTROLLERCLIENT_CFLAGS=
if test "x${NEEDS_LIB_NVDACONTROLLERCLIENT}" = "xtrue" ; then
if (test "x${with_nvdacontrollerclient_include}" = "x" && test "x${with_nvdacontrollerclient_lib}" != "x") || \
(test "x${with_nvdacontrollerclient_include}" != "x" && test "x${with_nvdacontrollerclient_lib}" = "x") ; then
AC_MSG_ERROR([Must specify both or neither of --with-nvdacontrollerclient-include and --with-nvdacontrollerclient-lib])
elif (test "x${with_nvdacontrollerclient}" != "x" && test "x${with_nvdacontrollerclient_include}" != "x") ; then
AC_MSG_ERROR([Must specify either --with-nvdacontrollerclient or a pair (--with-nvdacontrollerclient-include, --with-nvdacontrollerclient-lib)])
fi
if (test "x${with_nvdacontrollerclient}" != "x") || \
(test "x${with_nvdacontrollerclient_include}" != "x" && test "x${with_nvdacontrollerclient_lib}" != "x") ; then
AC_MSG_CHECKING([for nvdacontrollerclient])
if test "x${OPENJDK_TARGET_OS}" != "xwindows" ; then
AC_MSG_ERROR([--with-nvdacontrollerclient[-*] flags are applicable only to Windows builds])
fi
if test "x${OPENJDK_TARGET_CPU_ARCH}" = "xaarch64" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient32"
NVDACONTROLLERCLIENT_ARCHDIR="arm64"
elif test "x${OPENJDK_TARGET_CPU_ARCH}" = "xx86" && test "x${OPENJDK_TARGET_CPU_BITS}" = "x64" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient64"
NVDACONTROLLERCLIENT_ARCHDIR="x64"
elif test "x${OPENJDK_TARGET_CPU_ARCH}" = "xx86" && test "x${OPENJDK_TARGET_CPU_BITS}" = "x32" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient32"
NVDACONTROLLERCLIENT_ARCHDIR="x86"
else
AC_MSG_ERROR([The nvdacontrollerclient library exists only for x86_32, x86_64, AArch64 architectures])
fi
if test "x${with_nvdacontrollerclient}" != "x" ; then
# NVDACONTROLLERCLIENT_ARCHDIR is used only here
NVDACONTROLLERCLIENT_INC_PATH="${with_nvdacontrollerclient}/${NVDACONTROLLERCLIENT_ARCHDIR}"
NVDACONTROLLERCLIENT_BIN_PATH="${with_nvdacontrollerclient}/${NVDACONTROLLERCLIENT_ARCHDIR}"
else
NVDACONTROLLERCLIENT_INC_PATH="${with_nvdacontrollerclient_include}"
NVDACONTROLLERCLIENT_BIN_PATH="${with_nvdacontrollerclient_lib}"
fi
POTENTIAL_NVDACONTROLLERCLIENT_DLL="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.dll"
POTENTIAL_NVDACONTROLLERCLIENT_LIB="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.lib"
POTENTIAL_NVDACONTROLLERCLIENT_EXP="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.exp"
if ! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_DLL}" || \
! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_LIB}" || \
! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_EXP}" ; then
AC_MSG_ERROR([Could not find ${NVDACONTROLLERCLIENT_BIN_BASENAME}.dll and/or ${NVDACONTROLLERCLIENT_BIN_BASENAME}.lib and/or ${NVDACONTROLLERCLIENT_BIN_BASENAME}.exp inside ${NVDACONTROLLERCLIENT_BIN_PATH}])
fi
if ! test -s "${NVDACONTROLLERCLIENT_INC_PATH}/nvdaController.h" ; then
AC_MSG_ERROR([Could not find the header file nvdaController.h inside ${NVDACONTROLLERCLIENT_INC_PATH}])
fi
NVDACONTROLLERCLIENT_CFLAGS="-I${NVDACONTROLLERCLIENT_INC_PATH}"
NVDACONTROLLERCLIENT_DLL="${POTENTIAL_NVDACONTROLLERCLIENT_DLL}"
NVDACONTROLLERCLIENT_LIB="${POTENTIAL_NVDACONTROLLERCLIENT_LIB}"
NVDACONTROLLERCLIENT_FOUND=yes
AC_MSG_RESULT([includes at ${NVDACONTROLLERCLIENT_INC_PATH} ; binaries at ${NVDACONTROLLERCLIENT_BIN_PATH}])
fi
elif test "x${with_nvdacontrollerclient}" != "x" || \
test "x${with_nvdacontrollerclient_include}" != "x" || test "x${with_nvdacontrollerclient_lib}" != "x" ; then
AC_MSG_WARN([[nvdacontrollerclient is not used, so --with-nvdacontrollerclient[-*] is ignored]])
fi
if test "x${NVDACONTROLLERCLIENT_FOUND}" = "xyes" ; then
A11Y_NVDA_ANNOUNCING_ENABLED=true
else
A11Y_NVDA_ANNOUNCING_ENABLED=false
fi
AC_SUBST(A11Y_NVDA_ANNOUNCING_ENABLED)
AC_SUBST(NVDACONTROLLERCLIENT_CFLAGS)
AC_SUBST(NVDACONTROLLERCLIENT_DLL)
AC_SUBST(NVDACONTROLLERCLIENT_LIB)
])

View File

@@ -1,92 +0,0 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, JetBrains s.r.o.. 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.
#
################################################################################
# Setup speechd
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_SPEECHD],
[
AC_ARG_WITH(speechd, [AS_HELP_STRING([--with-speechd],
[specify prefix directory for the libspeechd package
(expecting the headers under PATH/include); required for AccessibleAnnouncer to work])])
AC_ARG_WITH(speechd-include, [AS_HELP_STRING([--with-speechd-include],
[specify directory for the speechd include files])])
if test "x$NEEDS_LIB_SPEECHD" = xfalse || test "x${with_speechd}" = xno || \
test "x${with_speechd_include}" = xno; then
if (test "x${with_speechd}" != x && test "x${with_speechd}" != xno) || \
(test "x${with_speechd_include}" != x && test "x${with_speechd_include}" != xno); then
AC_MSG_WARN([[speechd not used, so --with-speechd[-*] is ignored]])
fi
A11Y_SPEECHD_ANNOUNCING_ENABLED=false
SPEECHD_CFLAGS=
SPEECHD_LIBS=
else
SPEECHD_FOUND=no
if test "x${with_speechd}" != x && test "x${with_speechd}" != xyes; then
AC_MSG_CHECKING([for speechd header and library])
if test -s "${with_speechd}/include/libspeechd.h"; then
SPEECHD_CFLAGS="-I${with_speechd}/include"
SPEECHD_LIBS="-L${with_speechd}/lib -lspeechd"
SPEECHD_FOUND=yes
AC_MSG_RESULT([$SPEECHD_FOUND])
else
AC_MSG_ERROR([Can't find 'include/libspeechd.h' under ${with_speechd} given with the --with-speechd option.])
fi
fi
if test "x${with_speechd_include}" != x; then
AC_MSG_CHECKING([for speechd headers])
if test -s "${with_speechd_include}/libspeechd.h"; then
SPEECHD_CFLAGS="-I${with_speechd_include}"
SPEECHD_FOUND=yes
AC_MSG_RESULT([$SPEECHD_FOUND])
else
AC_MSG_ERROR([Can't find 'include/libspeechd.h' under ${with_speechd} given with the --with-speechd-include option.])
fi
fi
if test "x$SPEECHD_FOUND" = xno; then
# Are the libspeechd headers installed in the default /usr/include location?
AC_CHECK_HEADERS([libspeechd.h],
[ SPEECHD_FOUND=yes ],
[ SPEECHD_FOUND=no; break ]
)
if test "x$SPEECHD_FOUND" = xyes; then
SPEECHD_CFLAGS=
SPEECHD_LIBS="-lspeechd"
fi
fi
if test "x$SPEECHD_FOUND" = xno; then
A11Y_SPEECHD_ANNOUNCING_ENABLED=false
else
A11Y_SPEECHD_ANNOUNCING_ENABLED=true
fi
fi
AC_SUBST(A11Y_SPEECHD_ANNOUNCING_ENABLED)
AC_SUBST(SPEECHD_CFLAGS)
AC_SUBST(SPEECHD_LIBS)
])

View File

@@ -1,223 +0,0 @@
#
# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2023, JetBrains s.r.o.. 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.
#
################################################################################
# Setup wayland
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_WAYLAND],
[
AC_ARG_WITH(wayland, [AS_HELP_STRING([--with-wayland],
[specify prefix directory for the wayland package
(expecting the headers under PATH/include)])])
AC_ARG_WITH(wayland-include, [AS_HELP_STRING([--with-wayland-include],
[specify directory for the wayland include files])])
AC_ARG_WITH(wayland-lib, [AS_HELP_STRING([--with-wayland-lib],
[specify directory for the wayland library files])])
AC_ARG_WITH(wayland-protocols, [AS_HELP_STRING([--with-wayland-protocols],
[specify the root directory for the wayland protocols xml files])])
AC_ARG_WITH(gtk-shell1-protocol, [AS_HELP_STRING([--with-gtk-shell1-protocol],
[specify the path to the gtk-shell1 Wayland protocol xml file])])
if test "x$NEEDS_LIB_WAYLAND" = xfalse; then
if (test "x${with_wayland}" != x && test "x${with_wayland}" != xno) || \
(test "x${with_wayland_include}" != x && test "x${with_wayland_include}" != xno); then
AC_MSG_WARN([[wayland not used, so --with-wayland[-*] is ignored]])
fi
WAYLAND_CFLAGS=
WAYLAND_LIBS=
VULKAN_FLAGS=
VULKAN_ENABLED=false
else
WAYLAND_FOUND=no
WAYLAND_INCLUDES=
WAYLAND_DEFINES=
if test "x${with_wayland}" = xno || test "x${with_wayland_include}" = xno; then
AC_MSG_ERROR([It is not possible to disable the use of wayland. Remove the --without-wayland option.])
fi
if test "x${with_wayland}" != x; then
AC_MSG_CHECKING([for wayland headers])
if test -s "${with_wayland}/include/wayland-client.h" && test -s "${with_wayland}/include/wayland-cursor.h"; then
WAYLAND_INCLUDES="-I${with_wayland}/include"
WAYLAND_LIBS="-L${with_wayland}/lib -lwayland-client -lwayland-cursor"
WAYLAND_FOUND=yes
AC_MSG_RESULT([$WAYLAND_FOUND])
else
AC_MSG_ERROR([Can't find 'include/wayland-client.h' and 'include/wayland-cursor.h' under ${with_wayland} given with the --with-wayland option.])
fi
fi
if test "x${with_wayland_include}" != x; then
AC_MSG_CHECKING([for wayland headers])
if test -s "${with_wayland_include}/wayland-client.h" && test -s "${with_wayland_include}/wayland-cursor.h"; then
WAYLAND_INCLUDES="-I${with_wayland_include}"
WAYLAND_FOUND=yes
AC_MSG_RESULT([$WAYLAND_FOUND])
else
AC_MSG_ERROR([Can't find 'wayland-client.h' and 'wayland-cursor.h' under ${with_wayland_include} given with the --with-wayland-include option.])
fi
fi
UTIL_REQUIRE_PROGS(WAYLAND_SCANNER, wayland-scanner)
if test "x${with_wayland_protocols}" != x; then
WAYLAND_PROTOCOLS_ROOT=${with_wayland_protocols}
else
WAYLAND_PROTOCOLS_ROOT=/usr/share/wayland-protocols/
fi
AC_MSG_CHECKING([for wayland-protocols])
if test -d "$WAYLAND_PROTOCOLS_ROOT"; then
AC_MSG_RESULT([yes])
else
AC_MSG_ERROR([Can't find 'wayland-protocols' under $WAYLAND_PROTOCOLS_ROOT.])
fi
GTK_SHELL1_PROTOCOL_PATH=
if test "x${with_gtk_shell1_protocol}" != x && test "x${with_gtk_shell1_protocol}" != xno; then
AC_MSG_CHECKING([for the gtk-shell1 Wayland protocol])
if test -s "${with_gtk_shell1_protocol}"; then
WAYLAND_DEFINES="${WAYLAND_DEFINES} -DHAVE_GTK_SHELL1"
GTK_SHELL1_PROTOCOL_PATH="${with_gtk_shell1_protocol}"
AC_MSG_RESULT([yes])
else
AC_MSG_ERROR([Can't find gtk-shell1 protocol in ${with_gtk_shell1_protocol} given with the --with-gtk-shell1-protocol option.])
fi
fi
if test "x${with_wayland_lib}" != x; then
WAYLAND_LIBS="-L${with_wayland_lib} -lwayland-client -lwayland-cursor"
fi
if test "x$WAYLAND_FOUND" = xno; then
# Are the wayland headers installed in the default /usr/include location?
AC_CHECK_HEADERS([wayland-client.h wayland-cursor.h],
[ WAYLAND_FOUND=yes ],
[ WAYLAND_FOUND=no; break ]
)
if test "x$WAYLAND_FOUND" = xyes; then
WAYLAND_INCLUDES=
WAYLAND_LIBS="-lwayland-client -lwayland-cursor"
DEFAULT_WAYLAND=yes
fi
fi
if test "x$WAYLAND_FOUND" = xno; then
HELP_MSG_MISSING_DEPENDENCY([wayland])
AC_MSG_ERROR([Could not find wayland! $HELP_MSG ])
fi
WAYLAND_CFLAGS="${WAYLAND_INCLUDES} ${WAYLAND_DEFINES}"
# Checking for vulkan sdk
AC_ARG_WITH(vulkan, [AS_HELP_STRING([--with-vulkan],
[specify whether we use vulkan])])
AC_ARG_WITH(vulkan-include, [AS_HELP_STRING([--with-vulkan-include],
[specify directory for the vulkan include files ({with-vulkan-include}/vulkan/vulkan.h)])])
AC_ARG_WITH(vulkan-shader-compiler, [AS_HELP_STRING([--with-vulkan-shader-compiler],
[specify which shader compiler to use: glslc/glslangValidator])])
if test "x$SUPPORTS_LIB_VULKAN" = xfalse; then
if (test "x${with_vulkan}" != x && test "x${with_vulkan}" != xno) || \
(test "x${with_vulkan_include}" != x && test "x${with_vulkan_include}" != xno); then
AC_MSG_WARN([[vulkan not used, so --with-vulkan-include is ignored]])
fi
VULKAN_FLAGS=
VULKAN_ENABLED=false
else
# Do not build vulkan rendering pipeline by default
if (test "x${with_vulkan}" = x && test "x${with_vulkan_include}" = x) || \
test "x${with_vulkan}" = xno || test "x${with_vulkan_include}" = xno ; then
VULKAN_FLAGS=
VULKAN_ENABLED=false
else
VULKAN_FOUND=no
if test "x${with_vulkan_include}" != x; then
AC_MSG_CHECKING([for ${with_vulkan_include}/vulkan/vulkan.h])
if test -s "${with_vulkan_include}/vulkan/vulkan.h"; then
VULKAN_FOUND=yes
VULKAN_FLAGS="-DVK_USE_PLATFORM_WAYLAND_KHR -I${with_vulkan_include} -DVULKAN_ENABLED"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AC_MSG_ERROR([Can't find 'vulkan/vulkan.h' under '${with_vulkan_include}'])
fi
fi
if test "x$VULKAN_FOUND" = xno && test "x${VULKAN_SDK}" != x; then
AC_MSG_CHECKING([for ${VULKAN_SDK}/include/vulkan/vulkan.h])
if test -s "${VULKAN_SDK}/include/vulkan/vulkan.h"; then
VULKAN_FOUND=yes
VULKAN_FLAGS="-DVK_USE_PLATFORM_WAYLAND_KHR -I${VULKAN_SDK}/include -DVULKAN_ENABLED"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
fi
if test "x$VULKAN_FOUND" = xno; then
# Check default /usr/include location
AC_CHECK_HEADERS([vulkan/vulkan.h],
[ VULKAN_FOUND=yes
VULKAN_FLAGS="-DVK_USE_PLATFORM_WAYLAND_KHR -DVULKAN_ENABLED"
],
[ VULKAN_FOUND=no; break ]
)
fi
if test "x$VULKAN_FOUND" = xno; then
HELP_MSG_MISSING_DEPENDENCY([vulkan])
AC_MSG_ERROR([Could not find vulkan! $HELP_MSG ])
else
# Find shader compiler - glslc or glslangValidator
if (test "x${with_vulkan_shader_compiler}" = x || test "x${with_vulkan_shader_compiler}" = xglslc); then
UTIL_LOOKUP_PROGS(GLSLC, glslc)
SHADER_COMPILER="$GLSLC"
VULKAN_SHADER_COMPILER="glslc --target-env=vulkan1.2 -mfmt=num -o"
fi
if (test "x${with_vulkan_shader_compiler}" = x || test "x${with_vulkan_shader_compiler}" = xglslangValidator) && \
test "x$SHADER_COMPILER" = x; then
UTIL_LOOKUP_PROGS(GLSLANG, glslangValidator)
SHADER_COMPILER="$GLSLANG"
VULKAN_SHADER_COMPILER="glslangValidator --target-env vulkan1.2 -x -o"
fi
if test "x$SHADER_COMPILER" != x; then
VULKAN_ENABLED=true
else
AC_MSG_ERROR([Can't find shader compiler])
fi
fi
fi
fi
fi
AC_SUBST(VULKAN_FLAGS)
AC_SUBST(VULKAN_SHADER_COMPILER)
AC_SUBST(VULKAN_ENABLED)
AC_SUBST(WAYLAND_CFLAGS)
AC_SUBST(WAYLAND_LIBS)
AC_SUBST(WAYLAND_PROTOCOLS_ROOT)
AC_SUBST(GTK_SHELL1_PROTOCOL_PATH)
])

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
@@ -33,10 +33,7 @@ m4_include([lib-freetype.m4])
m4_include([lib-hsdis.m4])
m4_include([lib-std.m4])
m4_include([lib-x11.m4])
m4_include([lib-speechd.m4])
m4_include([lib-nvdacontrollerclient.m4])
m4_include([lib-dbus.m4])
m4_include([lib-wayland.m4])
m4_include([lib-tests.m4])
################################################################################
@@ -44,27 +41,14 @@ m4_include([lib-tests.m4])
################################################################################
AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
[
# Check if X11, wayland and vulkan is needed
# Check if X11 is needed
if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
# No X11 and wayland support on windows or macosx
# No X11 support on windows or macosx
NEEDS_LIB_X11=false
NEEDS_LIB_SPEECHD=false
NEEDS_LIB_WAYLAND=false
SUPPORTS_LIB_VULKAN=false
else
# All other instances need X11, even if building headless only, libawt still
# needs X11 headers.
NEEDS_LIB_X11=true
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
NEEDS_LIB_SPEECHD=false
NEEDS_LIB_WAYLAND=false
SUPPORTS_LIB_VULKAN=false
else
NEEDS_LIB_SPEECHD=true
NEEDS_LIB_WAYLAND=true
SUPPORTS_LIB_VULKAN=true
fi
fi
# Check if fontconfig is needed
@@ -90,13 +74,11 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
NEEDS_LIB_FREETYPE=true
fi
# Check if alsa and dbus is needed
# Check if alsa is needed
if test "x$OPENJDK_TARGET_OS" = xlinux; then
NEEDS_LIB_ALSA=true
NEEDS_LIB_DBUS=true
else
NEEDS_LIB_ALSA=false
NEEDS_LIB_DBUS=false
fi
# Check if ffi is needed
@@ -105,13 +87,6 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
else
NEEDS_LIB_FFI=false
fi
# Check if nvdacontrollerclient is needed
if test "x$OPENJDK_TARGET_OS" = xwindows && test "x$ENABLE_HEADLESS_ONLY" != xtrue; then
NEEDS_LIB_NVDACONTROLLERCLIENT=true
else
NEEDS_LIB_NVDACONTROLLERCLIENT=false
fi
])
################################################################################
@@ -123,13 +98,7 @@ AC_DEFUN([LIB_SETUP_JVM_LIBS],
# 32-bit platforms needs fallback library for 8-byte atomic ops on Zero
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
if test "x$OPENJDK_$1_OS" = xlinux &&
(test "x$OPENJDK_$1_CPU" = xarm ||
test "x$OPENJDK_$1_CPU" = xm68k ||
test "x$OPENJDK_$1_CPU" = xmips ||
test "x$OPENJDK_$1_CPU" = xmipsel ||
test "x$OPENJDK_$1_CPU" = xppc ||
test "x$OPENJDK_$1_CPU" = xsh ||
test "x$OPENJDK_$1_CPU" = xriscv32); then
test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then
BASIC_JVM_LIBS_$1="$BASIC_JVM_LIBS_$1 -latomic"
fi
fi
@@ -151,10 +120,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
LIB_SETUP_LIBFFI
LIB_SETUP_MISC_LIBS
LIB_SETUP_X11
LIB_SETUP_SPEECHD
LIB_SETUP_NVDACONTROLLERCLIENT
LIB_SETUP_DBUS
LIB_SETUP_WAYLAND
LIB_TESTS_SETUP_GTEST
# Math library
@@ -187,7 +153,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
if test "x$OPENJDK_TARGET_OS" = xwindows; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib powrprof.lib uuid.lib \
ws2_32.lib winmm.lib version.lib psapi.lib Synchronization.lib"
ws2_32.lib winmm.lib version.lib psapi.lib"
fi
LIB_SETUP_JVM_LIBS(BUILD)
LIB_SETUP_JVM_LIBS(TARGET)

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
@@ -454,6 +454,7 @@ JCOV_ENABLED := @JCOV_ENABLED@
JCOV_HOME := @JCOV_HOME@
JCOV_INPUT_JDK := @JCOV_INPUT_JDK@
JCOV_FILTERS := @JCOV_FILTERS@
JCOV_MODULES := @JCOV_MODULES@
# AddressSanitizer
ASAN_ENABLED := @ASAN_ENABLED@
@@ -470,33 +471,6 @@ UBSAN_LDFLAGS := @UBSAN_LDFLAGS@
X_CFLAGS := @X_CFLAGS@
X_LIBS := @X_LIBS@
# Necessary additional compiler flags to compile dbus
DBUS_CFLAGS := @DBUS_CFLAGS@
DBUS_FOUND := @DBUS_FOUND@
# Linux speechd a11y announcer
A11Y_SPEECHD_ANNOUNCING_ENABLED:=@A11Y_SPEECHD_ANNOUNCING_ENABLED@
SPEECHD_CFLAGS:=@SPEECHD_CFLAGS@
SPEECHD_LIBS:=@SPEECHD_LIBS@
# Windows NVDA a11y announcer
A11Y_NVDA_ANNOUNCING_ENABLED:=@A11Y_NVDA_ANNOUNCING_ENABLED@
NVDACONTROLLERCLIENT_CFLAGS:=@NVDACONTROLLERCLIENT_CFLAGS@
NVDACONTROLLERCLIENT_DLL:=@NVDACONTROLLERCLIENT_DLL@
NVDACONTROLLERCLIENT_LIB:=@NVDACONTROLLERCLIENT_LIB@
# Windows the client for the JAWS screen reader
A11Y_JAWS_ANNOUNCING_ENABLED:=@A11Y_JAWS_ANNOUNCING_ENABLED@
WAYLAND_CFLAGS:=@WAYLAND_CFLAGS@
WAYLAND_LIBS:=@WAYLAND_LIBS@
WAYLAND_PROTOCOLS_ROOT:=@WAYLAND_PROTOCOLS_ROOT@
WAYLAND_SCANNER:=@WAYLAND_SCANNER@
GTK_SHELL1_PROTOCOL_PATH:=@GTK_SHELL1_PROTOCOL_PATH@
VULKAN_FLAGS:=@VULKAN_FLAGS@
VULKAN_SHADER_COMPILER:=@VULKAN_SHADER_COMPILER@
VULKAN_ENABLED:=@VULKAN_ENABLED@
# The lowest required version of macosx
MACOSX_VERSION_MIN := @MACOSX_VERSION_MIN@
# The highest allowed version of macosx
@@ -544,6 +518,7 @@ DISABLED_WARNINGS_CXX := @DISABLED_WARNINGS_CXX@
# A global flag (true or false) determining if native warnings are considered errors.
WARNINGS_AS_ERRORS := @WARNINGS_AS_ERRORS@
JAVA_WARNINGS_AS_ERRORS := @JAVA_WARNINGS_AS_ERRORS@
CFLAGS_CCACHE := @CFLAGS_CCACHE@
ADLC_LANGSTD_CXXFLAGS := @ADLC_LANGSTD_CXXFLAGS@
@@ -827,8 +802,10 @@ TAR_SUPPORTS_TRANSFORM := @TAR_SUPPORTS_TRANSFORM@
# Build setup
USE_EXTERNAL_LIBJPEG := @USE_EXTERNAL_LIBJPEG@
LIBJPEG_CFLAGS := @LIBJPEG_CFLAGS@
LIBJPEG_LIBS := @LIBJPEG_LIBS@
USE_EXTERNAL_LIBGIF := @USE_EXTERNAL_LIBGIF@
GIFLIB_CFLAGS := @GIFLIB_CFLAGS@
GIFLIB_LIBS := @GIFLIB_LIBS@
USE_EXTERNAL_LIBZ := @USE_EXTERNAL_LIBZ@
LIBZ_CFLAGS := @LIBZ_CFLAGS@
@@ -870,10 +847,12 @@ SVE_CFLAGS := @SVE_CFLAGS@
JDK_IMAGE_SUBDIR := jdk
JRE_IMAGE_SUBDIR := jre
JCOV_IMAGE_SUBDIR := jdk-jcov
STATIC_JDK_IMAGE_SUBDIR := static-jdk
# Colon left out to be able to override output dir for bootcycle-images
JDK_IMAGE_DIR = $(IMAGES_OUTPUTDIR)/$(JDK_IMAGE_SUBDIR)
JRE_IMAGE_DIR = $(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR)
STATIC_JDK_IMAGE_DIR = $(IMAGES_OUTPUTDIR)/$(STATIC_JDK_IMAGE_SUBDIR)
JCOV_IMAGE_DIR = $(IMAGES_OUTPUTDIR)/$(JCOV_IMAGE_SUBDIR)
# Test image, as above
@@ -953,6 +932,7 @@ DOCS_JAVASE_BUNDLE_NAME := javase-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
DOCS_REFERENCE_BUNDLE_NAME := jdk-reference-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
STATIC_LIBS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-static-libs$(DEBUG_PART).tar.gz
STATIC_LIBS_GRAAL_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-static-libs-graal$(DEBUG_PART).tar.gz
STATIC_JDK_BUNDLE_NAME := static-jdk-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)
JCOV_BUNDLE_NAME := jdk-jcov-$(BASE_NAME)_bin$(DEBUG_PART).$(JDK_BUNDLE_EXTENSION)
JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_BUNDLE_NAME)
@@ -963,6 +943,7 @@ TEST_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(TEST_BUNDLE_NAME)
DOCS_JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(DOCS_JDK_BUNDLE_NAME)
DOCS_JAVASE_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(DOCS_JAVASE_BUNDLE_NAME)
DOCS_REFERENCE_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(DOCS_REFERENCE_BUNDLE_NAME)
STATIC_JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(STATIC_JDK_BUNDLE_NAME)
JCOV_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JCOV_BUNDLE_NAME)
# This macro is called to allow inclusion of closed source counterparts.

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