Compare commits

..

868 Commits

Author SHA1 Message Date
Christoph Langer
05f18b1062 8329838: [21u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 21.0.3
Reviewed-by: goetz
2024-04-08 08:22:11 +02:00
Martin Balao
778a6c4030 8319851: Improve exception logging
Reviewed-by: mbaesken
Backport-of: 87dfeeb14fdd0fa1648a8bec91b5b713cc2c1b83
2024-04-03 16:49:53 +02:00
Martin Balao
517bd93d01 8322122: Enhance generation of addresses
Backport-of: 1a4a46e102a2bc282fcbec571169867d715f4ade
2024-03-27 07:55:30 +01:00
Alexey Bakhtin
5378f80a1d 8318340: Improve RSA key implementations
Reviewed-by: mbalao
Backport-of: 62d9cec1d6b804a70381bfb8ac902b6bb649f8ae
2024-03-27 07:26:13 +01:00
Yuri Nesterenko
8eba98ad61 8315708: Enhance HTTP/2 client usage
Reviewed-by: mbalao
Backport-of: 4bd9637dfe12d330afd7409c27c5778b28a24cf4
2024-03-26 22:44:18 +01:00
Goetz Lindenmaier
07fc624683 8327391: Add SipHash attribution file
Backport-of: fcf48ab3d3
2024-03-15 08:50:52 +00:00
Sergey Bylokhov
29bf21fd99 8322750: Test "api/java_awt/interactive/SystemTrayTests.html" failed because A blue ball icon is added outside of the system tray
Backport-of: 5a988a5087
2024-03-05 03:24:52 +00:00
Christoph Langer
36b5ac46ed 8323664: java/awt/font/JNICheck/FreeTypeScalerJNICheck.java still fails with JNI warning on some Windows configurations
Backport-of: 99c9ae127c
2024-02-27 09:50:34 +00:00
Matthias Baesken
4296ddfc63 8325496: Make TrimNativeHeapInterval a product switch
Backport-of: d31fd78d96
2024-02-27 09:24:21 +00:00
Sergey Bylokhov
1b7c5aff86 8321151: JDK-8294427 breaks Windows L&F on all older Windows versions
Backport-of: f695ca5884
2024-02-26 18:15:04 +00:00
Matthias Baesken
55f9bcf0bd 8325876: crashes in docker container tests on Linuxppc64le Power8 machines
Backport-of: ba8db1f6d7
2024-02-26 11:03:01 +00:00
Matthias Baesken
69aa4ab1f5 8325470: [AIX] use fclose after fopen in read_psinfo
Backport-of: 4513da9496
2024-02-26 10:53:01 +00:00
Andrew Lu
08f9237234 8320303: Allow PassFailJFrame to accept single window creator
Backport-of: 83ffc1ac94
2024-02-26 07:21:51 +00:00
Christoph Langer
8ddff70215 8326000: Remove obsolete comments for class sun.security.ssl.SunJSSE
Backport-of: c2d9fa26ce
2024-02-23 09:11:27 +00:00
Matthias Baesken
2c38047019 8314835: gtest wrappers should be marked as flagless
Backport-of: 1ea6463fbb
2024-02-23 07:50:28 +00:00
Martin Balao
c80bb728db 8325254: CKA_TOKEN private and secret keys are not necessarily sensitive
Backport-of: 0f5f3c9b97
2024-02-23 07:43:47 +00:00
Pasam Soujanya
e69b61133b 8311893: Interactive component with ARIA role 'tabpanel' does not have a programmatically associated name
Reviewed-by: hannesw
Backport-of: 783ae56634
2024-02-22 13:43:14 +00:00
Aleksey Shipilev
290cd1171f 8321408: Add Certainly roots R1 and E1
Backport-of: f3073db42a
2024-02-22 09:25:00 +00:00
Aleksey Shipilev
9adc281a50 8325074: ZGC fails assert(index == 0 || is_power_of_2(index)) failed: Incorrect load shift: 11
Backport-of: 2705ed0a71
2024-02-22 09:24:47 +00:00
Andrew Lu
3b4932b0b3 8315726: Open source several AWT applet tests
Backport-of: 1741d13b12
2024-02-22 09:07:53 +00:00
SendaoYan
92d533e782 8323640: [TESTBUG]testMemoryFailCount in jdk/internal/platform/docker/TestDockerMemoryMetrics.java always fail because OOM killed
Backport-of: 791b427f44
2024-02-21 13:55:18 +00:00
Liang Mao
36569de5e4 8314629: Generational ZGC: Clearing All SoftReferences log line lacks GCId
Backport-of: 88dafe564f
2024-02-21 09:53:47 +00:00
Darragh Clarke
90c9f70e7c 8314164: java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java fails intermittently in timeout
Backport-of: fbaaac63d4
2024-02-21 09:52:36 +00:00
Ilya Gavrilin
4fcc5c7486 8322790: RISC-V: Tune costs for shuffles with no conversion
Backport-of: 2acb5bd992
2024-02-20 11:26:42 +00:00
Evgeny Astigeevich
a9792a8420 8324874: AArch64: crypto pmull based CRC32/CRC32C intrinsics clobber V8-V15 registers
Backport-of: 4cd318756d
2024-02-19 15:47:35 +00:00
Aleksey Shipilev
d6f4f5ed74 8318737: Fallback linker passes bad JNI handle
Backport-of: 3885dc5b9a
2024-02-19 15:40:29 +00:00
Joachim Kern
4d4c47d92f 8320890: [AIX] Find a better way to mimic dl handle equality
Reviewed-by: mdoerr
Backport-of: b8ae4a8c09
2024-02-19 09:51:00 +00:00
Aleksey Shipilev
93be33ca28 8325672: C2: allocate PhaseIdealLoop::_loop_or_ctrl from C->comp_arena()
Backport-of: 74b90aa87e
2024-02-19 08:30:01 +00:00
Aleksey Shipilev
70112e33ae 8315891: java/foreign/TestLinker.java failed with "error occurred while instantiating class TestLinker: null"
Backport-of: a62c48b87e
2024-02-19 07:32:55 +00:00
Amos Shi
e181516611 8315602: Open source swing security manager test
Backport-of: fd6442c079
2024-02-19 07:32:36 +00:00
Sergey Bylokhov
70fa49ed58 8324347: Enable "maybe-uninitialized" warning for FreeType 2.13.1
Backport-of: 781f368d42
2024-02-16 17:21:56 +00:00
Sergey Bylokhov
1c92a05724 8318603: Parallelize sun/java2d/marlin/ClipShapeTest.java
Backport-of: 6c7029ffd4
2024-02-16 02:30:51 +00:00
Andrew John Hughes
941ca60ac4 8009550: PlatformPCSC should load versioned so
Backport-of: 328b381075
2024-02-15 13:41:02 +00:00
Aleksey Shipilev
fb19cb3c35 8319314: NMT detail report slow or hangs for large number of mappings
Reviewed-by: phh
Backport-of: 9938b3f62b
2024-02-15 09:07:51 +00:00
Aleksey Shipilev
3da175b2de 8323717: Introduce test keyword for tests that need external dependencies
Backport-of: 12b89cd2ee
2024-02-15 08:49:49 +00:00
Aleksey Shipilev
24fae7abaa 8324514: ClassLoaderData::print_on should print address of class loader
Backport-of: fb822e49f2
2024-02-15 08:49:33 +00:00
Aleksey Shipilev
786c5fb1e5 8324858: [vectorapi] Bounds checking issues when accessing memory segments
Reviewed-by: psandoz
Backport-of: 1ae851387f
2024-02-14 11:53:34 +00:00
Aleksey Shipilev
ecdc22eafb 8305962: update jcstress to 0.16
Backport-of: 292ee630ae
2024-02-14 11:42:59 +00:00
Aleksey Shipilev
3f3500811d 8323515: Create test alias "all" for all test roots
8324647: Invalid test group of lib-test after JDK-8323515

Backport-of: 8b9bf75880
2024-02-14 11:41:40 +00:00
George Adams
b9cf41daf1 8325194: GHA: Add macOS M1 testing
8325444: GHA: JDK-8325194 causes a regression

Reviewed-by: shade
Backport-of: d1c82156ba
2024-02-13 10:58:45 +00:00
Matthias Baesken
4031ff4518 8324753: [AIX] adjust os_posix after JDK-8318696
Backport-of: 8950d68ddb
2024-02-13 08:54:01 +00:00
Andrew Leonard
b0e9a61a52 8323671: DevKit build gcc libraries contain full paths to source location
Backport-of: dd0694b9cb
2024-02-12 15:28:21 +00:00
Andrew Leonard
5f32918870 8323667: Library debug files contain non-reproducible full gcc include paths
Backport-of: 57fad67781
2024-02-12 15:18:02 +00:00
George Adams
79bd47a78c 8318039: GHA: Bump macOS and Xcode versions
Backport-of: 605c976729
2024-02-12 10:41:33 +00:00
Dan Lutker
b30f9aaf7a 8325150: (tz) Update Timezone Data to 2024a
Backport-of: 917838e0a5
2024-02-09 22:36:15 +00:00
Sergey Bylokhov
0604ce7f38 8309109: AArch64: [TESTBUG] compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnSupportedCPU.java fails on Neoverse N2 and V1
Reviewed-by: aph
Backport-of: afdaa2a330
2024-02-08 20:45:30 +00:00
Matthias Baesken
bed2eaa5a8 8324637: [aix] Implement support for reporting swap space in jdk.management
Backport-of: 33324a59cc
2024-02-08 11:25:07 +00:00
Matthias Baesken
d08f24a25c 8324598: use mem_unit when working with sysinfo memory and swap related information
Backport-of: 7a798d3ceb
2024-02-08 10:22:27 +00:00
Matthias Baesken
cfceb1186b 8323964: runtime/Thread/ThreadCountLimit.java fails intermittently on AIX
Backport-of: 3696765b7d
2024-02-08 10:20:57 +00:00
Aleksey Shipilev
98e6d04946 8319777: Zero: Support 8-byte cmpxchg
8320582: Zero: Misplaced CX8 enablement flag

Reviewed-by: phh
Backport-of: 6b96bb640a
2024-02-08 09:27:12 +00:00
Aleksey Shipilev
4d62dfa318 8316961: Fallback implementations for 64-bit Atomic::{add,xchg} on 32-bit platforms
Backport-of: ba7d08b819
2024-02-07 07:44:27 +00:00
Aleksey Shipilev
57956950c9 8325096: Test java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java is failing
Backport-of: ac1cd31949
2024-02-06 15:59:55 +00:00
Aleksey Shipilev
447f58cf94 8321410: Shenandoah: Remove ShenandoahSuspendibleWorkers flag
Backport-of: 2830dd2a7d
2024-02-06 15:58:04 +00:00
Aleksey Shipilev
85f4f38ca5 8322957: Generational ZGC: Relocation selection must join the STS
Reviewed-by: eosterlund, stefank
Backport-of: ba23025cd8
2024-02-06 15:56:37 +00:00
Matthias Baesken
f15349b1e8 8313670: Simplify shared lib name handling code in some tests
Reviewed-by: mdoerr, lucy
Backport-of: 6dba2026d7
2024-02-06 12:56:35 +00:00
Goetz Lindenmaier
e75ca5a3d2 8309697: [TESTBUG] Remove "@requires vm.flagless" from jtreg vectorization tests
Reviewed-by: shade
Backport-of: a03954e6c5
2024-02-05 12:38:47 +00:00
Aleksey Shipilev
38c5df13ab 8323637: Capture hotspot replay files in GHA
Backport-of: c84c0ab52d
2024-02-03 21:38:25 +00:00
Aleksey Shipilev
0b79e90dd8 8324937: GHA: Avoid multiple test suites per job
Backport-of: 1aba78f272
2024-02-03 21:37:10 +00:00
Aleksey Shipilev
c6ebfdfe97 8320052: Zero: Use __atomic built-ins for atomic RMW operations
Backport-of: 020c9007f8
2024-02-03 10:00:21 +00:00
Joachim Kern
ffab458d5c 8319382: com/sun/jdi/JdwpAllowTest.java shows failures on AIX if prefixLen of mask is larger than 32 in IPv6 case
Backport-of: 22642ff0aa
2024-01-31 13:06:43 +00:00
Aleksey Shipilev
869df3bf7c 8323101: C2: assert(n->in(0) == nullptr) failed: divisions with zero check should already have bailed out earlier in split-if
Backport-of: 7e0a4ed629
2024-01-31 12:58:02 +00:00
Amos Shi
0466741713 8315611: Open source swing text/html and tree test
Backport-of: ae08143d3d
2024-01-31 12:53:26 +00:00
Olga Mikhaltsova
c971925a87 8318157: RISC-V: implement ensureMaterializedForStackWalk intrinsic
Backport-of: d6b4aa01a2
2024-01-30 21:13:28 +00:00
Aleksey Shipilev
2518d2039f 8323154: C2: assert(cmp != nullptr && cmp->Opcode() == Op_Cmp(bt)) failed: no exit test
Backport-of: 6997bfc68d
2024-01-30 09:46:49 +00:00
Goetz Lindenmaier
9bc6bd6d87 8320943: Files/probeContentType/Basic.java fails on latest Windows 11 - content type mismatch
Backport-of: 87516e29dc
2024-01-30 09:26:43 +00:00
Goetz Lindenmaier
5df2a5c7ec 8313507: Remove pkcs11/Cipher/TestKATForGCM.java from ProblemList
Backport-of: e8471f6bbe
2024-01-30 09:25:25 +00:00
Amos Shi
45b428fc97 8315600: Open source few more headless Swing misc tests
Backport-of: b05198a4f3
2024-01-30 08:18:38 +00:00
Amos Shi
dead33343c 8274122: java/io/File/createTempFile/SpecialTempFile.java fails in Windows 11
Backport-of: 4a142c3b08
2024-01-30 08:17:14 +00:00
Gui Cao
14f62ace5f 8324280: RISC-V: Incorrect implementation in VM_Version::parse_satp_mode
Backport-of: e7fdac9d5c
2024-01-29 14:30:16 +00:00
Aleksey Shipilev
7f40804afd 8324659: GHA: Generic jtreg errors are not reported
Backport-of: c313d451a5
2024-01-29 09:12:28 +00:00
Andrew Lu
ca85d55062 8315761: Open source few swing JList and JMenuBar tests
Backport-of: bb6b3f2486
2024-01-29 08:23:20 +00:00
Anton Hägerstrand
a9498e516a 8322142: JFR: Periodic tasks aren't orphaned between recordings
Backport-of: 1551928502
2024-01-26 16:11:50 +00:00
Andrew Lu
bf7c218392 8321480: ISO 4217 Amendment 176 Update
Backport-of: 8b24851b9d
2024-01-26 02:17:35 +00:00
Andrew Lu
e2cabfe1ad 8316947: Write a test to check textArea triggers MouseEntered/MouseExited events properly
Backport-of: 00ef9f9c32
2024-01-26 02:15:51 +00:00
William Kemper
2adc2b4f8a 8317535: Shenandoah: Remove unused code
Reviewed-by: kdnilsen, ysr
Backport-of: e942f368c3
2024-01-25 20:10:08 +00:00
Liang Mao
711ab38435 8322255: Generational ZGC: ZPageSizeMedium should be set before MaxTenuringThreshold
Backport-of: 0ad6c9e3d9
2024-01-25 09:20:49 +00:00
Goetz Lindenmaier
cc189ffc09 8295343: sun/security/pkcs11 tests fail on Linux RHEL 8.6 and newer
Backport-of: 6ce0ebb858
2024-01-25 09:05:51 +00:00
Aleksey Shipilev
e87638c321 8321122: Shenandoah: Remove ShenandoahLoopOptsAfterExpansion flag
Backport-of: b02fc8681e
2024-01-24 19:24:23 +00:00
Aleksey Shipilev
90d7b17f5e 8321120: Shenandoah: Remove ShenandoahElasticTLAB flag
Backport-of: 93b9235f19
2024-01-24 17:36:18 +00:00
Aleksey Shipilev
7fcfea5292 8324050: Issue store-store barrier after re-materializing objects during deoptimization
Reviewed-by: kvn
Backport-of: 52523d33dd
2024-01-24 16:56:45 +00:00
Aleksey Shipilev
34d97ab142 8321269: Require platforms to define DEFAULT_CACHE_LINE_SIZE
Backport-of: a56286f7ad
2024-01-24 12:40:13 +00:00
Aleksey Shipilev
63e52ed061 8318468: compiler/tiered/LevelTransitionTest.java fails with -XX:CompileThreshold=100 -XX:TieredStopAtLevel=1
Backport-of: 61d0db3838
2024-01-24 12:39:51 +00:00
Aleksey Shipilev
ad2e114174 8323243: JNI invocation of an abstract instance method corrupts the stack
Backport-of: 71d9a83dec
2024-01-23 08:38:59 +00:00
Aleksey Shipilev
d69a0978cc 8322282: Incorrect LoaderConstraintTable::add_entry after JDK-8298468
Backport-of: bde650f21e
2024-01-23 08:26:16 +00:00
sunyaqi
80842442da 8316319: Generational ZGC: The SoftMaxHeapSize might be wrong when CDS decreases the MaxHeapSize
Backport-of: fe862639e7
2024-01-23 08:25:41 +00:00
Matthias Baesken
2697a9d1c2 8318696: Do not use LFS64 symbols on Linux
Reviewed-by: lucy
Backport-of: f4d08ccf80
2024-01-23 08:06:13 +00:00
Goetz Lindenmaier
1f9b03e597 8319128: sun/security/pkcs11 tests fail on OL 7.9 aarch64
8319136: Skip pkcs11 tests on linux-aarch64

Backport-of: c2e77e2f17
2024-01-23 08:05:52 +00:00
Goetz Lindenmaier
be8733b8b6 8319213: Compatibility.java reads both stdout and stderr of JdkUtils
Backport-of: 84f4f7477c
2024-01-23 07:59:56 +00:00
Goetz Lindenmaier
fae1a03073 8312416: Tests in Locale should have more descriptive names
Backport-of: a9a3463afb
2024-01-23 07:55:18 +00:00
Olga Mikhaltsova
ada400cffe 8318158: RISC-V: implement roundD/roundF intrinsics
Backport-of: 19147f326c
2024-01-22 10:37:22 +00:00
Andrew Lu
1dd2f2a8aa 8169475: WheelModifier.java fails by timeout
Backport-of: 613d32c282
2024-01-22 08:43:56 +00:00
Goetz Lindenmaier
e9be531942 8077371: Binary files in JAXP test should be removed
Backport-of: 40106422bd
2024-01-22 08:43:37 +00:00
Aleksey Shipilev
69416f4880 8318809: java/util/concurrent/ConcurrentLinkedQueue/WhiteBox.java shows intermittent failures on linux ppc64le and aarch64
Backport-of: 50d1839d54
2024-01-22 08:18:10 +00:00
Goetz Lindenmaier
c01bdbbfb1 8314283: Support for NSS tests on aarch64 platforms
Backport-of: 2a80160960
2024-01-19 15:48:23 +00:00
Johannes Bechberger
c3657ee028 8317771: [macos14] Expand/collapse a JTree using keyboard freezes the application in macOS 14 Sonoma
Reviewed-by: asemenov
Backport-of: ffa33d7b80
2024-01-19 15:47:54 +00:00
Liang Mao
95e36bc7e9 8322279: Generational ZGC: Use ZFragmentationLimit and ZYoungCompactionLimit as percentage instead of multiples
Reviewed-by: eosterlund
Backport-of: bf813be0f3
2024-01-19 09:35:01 +00:00
Goetz Lindenmaier
644393769f 8323008: filter out harmful -std* flags added by autoconf from CXX
Backport-of: 68c4286026
2024-01-18 16:03:23 +00:00
Richard Reingruber
c8f04185f1 8310031: Parallel: Implement better work distribution for large object arrays in old gen
Backport-of: 4bfe226870
2024-01-18 14:54:00 +00:00
Goetz Lindenmaier
0d30c8d497 8318590: JButton ignores margin when painting HTML text
Backport-of: acaf2c8dcf
2024-01-18 14:23:09 +00:00
Goetz Lindenmaier
8413dc0020 8312136: Modify runtime/ErrorHandling/TestDwarf.java to split dwarf and decoder testing
Backport-of: e2e8e8e210
2024-01-18 14:21:36 +00:00
Goetz Lindenmaier
c79c5efa4d 8315241: (fs) Move toRealPath tests in java/nio/file/Path/Misc.java to separate JUnit 5 test
Backport-of: dd64a4a483
2024-01-18 14:21:00 +00:00
Goetz Lindenmaier
7eea17b847 8311663: Additional refactoring of Locale tests to JUnit
Backport-of: 71cac8ce47
2024-01-18 14:18:41 +00:00
Matthias Baesken
419e01685b 8322098: os::Linux::print_system_memory_info enhance the THP output with /sys/kernel/mm/transparent_hugepage/hpage_pmd_size
8323331: fix typo hpage_pdm_size

Reviewed-by: lucy
Backport-of: b31454e362
2024-01-18 08:36:12 +00:00
Chris Hegarty
309a16e609 8323659: LinkedTransferQueue add and put methods call overridable offer
Reviewed-by: shade
Backport-of: ee4d9aa4c1
2024-01-18 03:49:26 +00:00
Goetz Lindenmaier
e3084fc360 8304020: Speed up test/jdk/java/util/zip/ZipFile/TestTooManyEntries.java and clarify its purpose
Backport-of: f0b7eb519a
2024-01-17 21:31:45 +00:00
Goetz Lindenmaier
0668efa6a4 8317522: Test logic for BODY_CF in AbstractThrowingSubscribers.java is wrong
Backport-of: 4c5b66dcea
2024-01-17 21:26:50 +00:00
Goetz Lindenmaier
993a746e7d 8311986: Disable runtime/os/TestTracePageSizes.java for ShenandoahGC
Backport-of: 167d1c1835
2024-01-17 21:22:47 +00:00
Goetz Lindenmaier
2981858526 8315721: CloseRace.java#id0 fails transiently on libgraal
Backport-of: 1be355734d
2024-01-17 21:22:16 +00:00
Goetz Lindenmaier
ba59249dc9 8310923: Refactor Currency tests to use JUnit
Backport-of: e848d9471f
2024-01-17 21:16:20 +00:00
Goetz Lindenmaier
a51c74db29 8306922: IR verification fails because IR dump is chopped up
Backport-of: 9057b35033
2024-01-17 21:14:23 +00:00
William Kemper
f0115385b6 8323428: Shenandoah: Unused memory in regions compacted during a full GC should be mangled
Backport-of: a7db4feceb
2024-01-17 18:17:10 +00:00
Sonia Zaldana Calles
32a4568ec4 8318613: ChoiceFormat patterns are not well tested
Backport-of: 10427c023a
2024-01-17 16:11:17 +00:00
Sonia Zaldana Calles
1e8c226da5 8316106: Open source few swing JInternalFrame and JMenuBar tests
Backport-of: 0775bf2f03
2024-01-17 16:10:55 +00:00
Sonia Zaldana Calles
8d536b6f10 8318154: Improve stability of WheelModifier.java test
Backport-of: 668d4b077f
2024-01-17 16:07:45 +00:00
Sonia Zaldana Calles
fcf9ebde63 8319103: Popups that request focus are not shown on Linux with Wayland
Backport-of: f3ed27582e
2024-01-17 16:07:18 +00:00
William Kemper
9ca8761555 8323086: Shenandoah: Heap could be corrupted by oom during evacuation
Backport-of: c4a83bd6f6
2024-01-17 16:02:41 +00:00
Goetz Lindenmaier
95142cf93b Merge 2024-01-17 15:51:29 +00:00
Aleksey Shipilev
b4c163d07b 8319372: C2 compilation fails with "Bad immediate dominator info"
Backport-of: 7766785098
2024-01-17 15:18:32 +00:00
Matthias Baesken
0ac1bb75a0 8317804: com/sun/jdi/JdwpAllowTest.java fails on Alpine 3.17 / 3.18
Backport-of: b530c0281b
2024-01-17 08:34:31 +00:00
Andrew Lu
9b5cd9dc43 8315594: Open source few headless Swing misc tests
Backport-of: 806ef0897b
2024-01-17 08:01:56 +00:00
Rob McKenna
375769c698 Merge 2024-01-16 16:19:00 +00:00
Aleksey Shipilev
f57f2cbaa0 8321164: javac with annotation processor throws AssertionError: Filling jrt:/... during JarFileObject[/...]
Backport-of: 03c4595173
2024-01-16 16:06:21 +00:00
Goetz Lindenmaier
551855c0dd 8310631: test/jdk/sun/nio/cs/TestCharsetMapping.java is spuriously passing
Backport-of: e3201d1d13
2024-01-16 14:25:09 +00:00
Goetz Lindenmaier
4b829786cc 8318971: Better Error Handling for Jar Tool When Processing Non-existent Files
Backport-of: 8ae309ebac
2024-01-16 09:04:12 +00:00
Goetz Lindenmaier
45df078510 8319124: Update XML Security for Java to 3.0.3
Reviewed-by: mbaesken
Backport-of: 1c0bd81a10
2024-01-16 09:02:01 +00:00
Aleksey Shipilev
77c743e527 8320888: Shenandoah: Enable ShenandoahVerifyOptoBarriers in debug builds
Backport-of: c86431767e
2024-01-16 08:34:04 +00:00
Aleksey Shipilev
b114a5e6a0 8320877: Shenandoah: Remove ShenandoahUnloadClassesFrequency support
Backport-of: b65ccff357
2024-01-16 08:33:39 +00:00
Aleksey Shipilev
7fe7cfce82 8320907: Shenandoah: Remove ShenandoahSelfFixing flag
Backport-of: 43c7f6a673
2024-01-16 08:22:56 +00:00
Aleksey Shipilev
1b5aeb9260 8323065: Unneccesary CodeBlob lookup in CompiledIC::internal_set_ic_destination
Backport-of: eb9e754b3a
2024-01-15 19:20:02 +00:00
Aleksey Shipilev
6ee8f47772 8322512: StringBuffer.repeat does not work correctly after toString() was called
Backport-of: df22fb322e
2024-01-15 19:17:46 +00:00
Aleksey Shipilev
e08eb0ec01 8321582: yield <primitive-type>.class not parsed correctly.
Backport-of: ce8399fd60
2024-01-15 15:16:06 +00:00
Christoph Langer
d92ff7c35a 8320309: AIX: pthreads created by foreign test library don't work as expected
Backport-of: 8b47a14958
2024-01-15 15:15:45 +00:00
Goetz Lindenmaier
cd166703a2 8318490: Increase timeout for JDK tests that are close to the limit when run with libgraal
Backport-of: 6f263111a1
2024-01-11 07:30:30 +00:00
Goetz Lindenmaier
2abfc99d2c 8310629: java/security/cert/CertPathValidator/OCSP/OCSPTimeout.java fails with RuntimeException Server not ready
Backport-of: b20dc1e9cd
2024-01-11 07:26:44 +00:00
Goetz Lindenmaier
1ea0d08048 8311992: Test java/lang/Thread/virtual/JfrEvents::testVirtualThreadPinned failed
Backport-of: 0d2196f8e5
2024-01-11 07:23:14 +00:00
Matthias Baesken
2bf21b4c87 8322783: prioritize /etc/os-release over /etc/SuSE-release in hs_err/info output
Backport-of: a8e4229852
2024-01-10 15:30:14 +00:00
Elif Aslan
4537bfa9cc 8318607: Enable parallelism in vmTestbase/nsk/stress/jni tests
Backport-of: 43f31d7385
2024-01-10 12:19:49 +00:00
Elif Aslan
a28d29c53b 8318608: Enable parallelism in vmTestbase/nsk/stress/threads tests
Backport-of: cee44a6255
2024-01-10 12:19:24 +00:00
Ichiroh Takiguchi
a1d7bcfd07 6928542: Chinese characters in RTF are not decoded
Backport-of: a26f7c03c7
2024-01-10 01:06:36 +00:00
Dan Lutker
d5b8c283ba 8322725: (tz) Update Timezone Data to 2023d
Backport-of: 2a9c3589d9
2024-01-09 17:24:59 +00:00
Aleksey Shipilev
9406448ce2 8316132: CDSProtectionDomain::get_shared_protection_domain should check for exception
Backport-of: 11394828b3
2024-01-09 17:21:55 +00:00
Aleksey Shipilev
36c21207f5 8321619: Generational ZGC: ZColorStoreGoodOopClosure is only valid for young objects
Reviewed-by: eosterlund
Backport-of: be49dabd0d
2024-01-09 16:24:15 +00:00
Goetz Lindenmaier
772ac17887 8210410: Refactor java.util.Currency:i18n shell tests to plain java tests
Backport-of: 2584bf87ae
2024-01-09 15:32:17 +00:00
Goetz Lindenmaier
c21a12d441 8296631: NSS tests failing on OL9 linux-aarch64 hosts
Reviewed-by: aph
Backport-of: 6e1aacdfba
2024-01-09 15:17:46 +00:00
William Kemper
d44b5dc7a6 8323021: Shenandoah: Encountered reference count always attributed to first worker thread
Backport-of: f0e2e4311b
2024-01-09 09:09:35 +00:00
Aleksey Shipilev
e652bb72d0 8310844: [AArch64] C1 compilation fails because monitor offset in OSR buffer is too large for immediate
Reviewed-by: aph
Backport-of: ade21a965f
2024-01-09 09:05:49 +00:00
Aleksey Shipilev
1a9c7ec2af 8318082: ConcurrentModificationException from IndexWriter
Reviewed-by: prappo, simonis
Backport-of: fc29a2e152
2024-01-09 08:48:29 +00:00
Aleksey Shipilev
b745bb515f 8319883: Zero: Use atomic built-ins for 64-bit accesses
Backport-of: 25f9af99be
2024-01-08 16:36:50 +00:00
Aleksey Shipilev
a85f3f8300 8320145: Compiler should accept final variable in Record Pattern
Backport-of: 4ba94ef69e
2024-01-08 12:08:42 +00:00
Oli Gillespie
1e6648867b 8321599: Data loss in AVX3 Base64 decoding
Backport-of: 13c11487f7
2024-01-08 10:33:59 +00:00
Goetz Lindenmaier
d4797b711e 8316693: Simplify at-requires checkDockerSupport()
Backport-of: 16fd43c5eb
2024-01-08 09:22:39 +00:00
Goetz Lindenmaier
dfc93243a8 8319879: Stress mode to randomize incremental inlining decision
Backport-of: 303757b3a0
2024-01-08 09:20:45 +00:00
Goetz Lindenmaier
307569f2c3 8319938: TestFileChooserSingleDirectorySelection.java fails with "getSelectedFiles returned empty array"
Backport-of: 4ef24e2596
2024-01-08 09:20:22 +00:00
Goetz Lindenmaier
db1fa92d74 8316594: C2 SuperWord: wrong result with hand unrolled loops
Reviewed-by: roland, shade
Backport-of: 3630af26e6
2024-01-08 09:13:52 +00:00
Goetz Lindenmaier
c8caefa5c3 8311279: TestStressIGVNAndCCP.java failed with different IGVN traces for the same seed
Backport-of: edb2be10fb
2024-01-08 09:08:51 +00:00
Goetz Lindenmaier
e8aa37dbe6 8310238: [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails
Backport-of: 2cf5c2f4b6
2024-01-08 09:07:11 +00:00
Goetz Lindenmaier
854c3191c3 8319569: Several java/util tests should be updated to accept VM flags
Backport-of: 2bb4b9398d
2024-01-08 07:15:16 +00:00
Goetz Lindenmaier
1f38afa6c6 8315097: Rename createJavaProcessBuilder
8318964: Fix build failures caused by 8315097

Reviewed-by: mdoerr
Backport-of: d52a995f35
2024-01-08 07:03:44 +00:00
Gui Cao
4bdda4b597 8322583: RISC-V: Enable fast class initialization checks
Backport-of: 5235cc987d
2024-01-06 12:14:33 +00:00
Tobias Hartmann
1c7197fe3b 8322985: [BACKOUT] 8318562: Computational test more than 2x slower when AVX instructions are used
Backport-of: ed9f3243f0
2024-01-05 17:57:50 +00:00
Jonathan Dowland
b3344f2422 8315731: Open source several Swing Text related tests
Backport-of: d475f61fd5
2024-01-05 15:32:31 +00:00
Aleksey Shipilev
49dd575df9 8320921: GHA: Parallelize hotspot_compiler test jobs
Backport-of: 694136909c
2024-01-05 09:59:39 +00:00
Aleksey Shipilev
579c56f0a5 8322321: Add man page doc for -XX:+VerifySharedSpaces
Backport-of: f7dc257a20
2024-01-05 09:59:30 +00:00
Aleksey Shipilev
5f2cf881b1 8322159: ThisEscapeAnalyzer crashes for erroneous code
Backport-of: 7455b1b527
2024-01-05 09:59:16 +00:00
Aleksey Shipilev
23a0b90597 8319548: Unexpected internal name for Filler array klass causes error in VisualVM
Backport-of: 05745e3f1d
2024-01-05 09:58:45 +00:00
Aleksey Shipilev
9f6036053e 8321974: Crash in ciKlass::is_subtype_of because TypeAryPtr::_klass is not initialized
Backport-of: c8ad7b7f84
2024-01-05 09:58:07 +00:00
Sergey Bylokhov
58b1b0cc35 8315042: NPE in PKCS7.parseOldSignedData
Backport-of: 8c0d026d0f
2024-01-04 19:17:58 +00:00
Jonathan Dowland
57b5147260 8315986: [macos14] javax/swing/JMenuItem/4654927/bug4654927.java: component must be showing on the screen to determine its location
Backport-of: e7486e8cfc
2024-01-04 09:11:43 +00:00
Aleksey Shipilev
966071a5f1 8309203: C2: remove copy-by-value of GrowableArray for InterfaceSet
Backport-of: 21cda19d05
2024-01-04 09:02:59 +00:00
Sergey Bylokhov
8fbd10bc5d 8301310: The SendRawSysexMessage test may cause a JVM crash
Backport-of: d725b73df0
2024-01-03 21:00:07 +00:00
Ravi Reddy
f423faa3e0 8322883: [BACKOUT] 8225377: type annotations are not visible to javac plugins across compilation boundaries
Backport-of: 18e97aa217
2024-01-03 14:13:43 +00:00
Ravi Reddy
18e97aa217 8322883: [BACKOUT] 8225377: type annotations are not visible to javac plugins across compilation boundaries
Reviewed-by: coffeys, robm
2024-01-03 13:30:55 +00:00
Aleksey Shipilev
9177319843 8319137: release _object in ObjectMonitor dtor to avoid races
Reviewed-by: rkennke
Backport-of: c39d001c7a
2024-01-03 12:38:24 +00:00
Sergey Bylokhov
dc899e2be2 8320937: support latest VS2022 MSC_VER in abstract_vm_version.cpp
Backport-of: eb44bafe77
2024-01-02 20:55:12 +00:00
Jan Kratochvil
3bf9212d43 8314610: hotspot can't compile with the latest of gtest because of <iomanip>
Backport-of: febc34dd28
2024-01-02 16:58:26 +00:00
Christoph Langer
24b3b2b66f 8322772: Clean up code after JDK-8322417
Reviewed-by: mbaesken
Backport-of: 32d80e2caf
2023-12-31 09:26:48 +00:00
Sandhya Viswanathan
98fb42563a 8320206: Some intrinsics/stubs missing vzeroupper on x86_64
Backport-of: 9b372e28ce
2023-12-30 17:36:23 +00:00
Goetz Lindenmaier
3465179458 8311588: C2: RepeatCompilation compiler directive does not choose stress seed randomly
Backport-of: 06a1a15d01
2023-12-30 15:12:11 +00:00
Goetz Lindenmaier
191fc6b50a 8316661: CompilerThread leaks CodeBlob memory when dynamically stopping compiler thread in non-product
Backport-of: edcc559f09
2023-12-29 14:13:29 +00:00
Goetz Lindenmaier
80c86c2e65 8316001: GC: Make TestArrayAllocatorMallocLimit use createTestJvm
Backport-of: 86dde5e02b
2023-12-29 14:13:10 +00:00
Goetz Lindenmaier
8517987ac1 8312428: PKCS11 tests fail with NSS 3.91
Backport-of: 1c598c2245
2023-12-29 14:11:10 +00:00
Goetz Lindenmaier
9e24862644 8313720: C2 SuperWord: wrong result with -XX:+UseVectorCmov -XX:+UseCMoveUnconditionally
Backport-of: d46f0fb318
2023-12-29 14:09:16 +00:00
Goetz Lindenmaier
4c5502d9ad 8310919: runtime/ErrorHandling/TestAbortVmOnException.java times out due to core dumps taking a long time on OSX
Backport-of: e5744b8120
2023-12-29 14:07:47 +00:00
Goetz Lindenmaier
03b01a93bc 8304292: Memory leak related to ClassLoader::update_class_path_entry_list
Backport-of: 88b4e3b853
2023-12-29 14:07:25 +00:00
Goetz Lindenmaier
a607f49ca2 8316309: AArch64: VMError::print_native_stack() crashes on Java native method frame
Backport-of: 2d38495b61
2023-12-28 12:26:10 +00:00
Goetz Lindenmaier
98c94fd1b9 8264899: C1: -XX:AbortVMOnException does not work if all methods in the call stack are compiled with C1 and there are no exception handlers
Backport-of: 826dcb5424
2023-12-28 12:25:47 +00:00
Goetz Lindenmaier
a17d0c4b3d 8315034: File.mkdirs() occasionally fails to create folders on Windows shared folder
Backport-of: 7ad700596f
2023-12-24 10:45:39 +00:00
Goetz Lindenmaier
b9d45b1539 8317144: Exclude sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java on Linux ppc64le
Backport-of: bc5a39bb54
2023-12-24 10:44:02 +00:00
Goetz Lindenmaier
5dad7db84b 8318983: Fix comment typo in PKCS12Passwd.java
Backport-of: 949846986f
2023-12-23 10:56:36 +00:00
Goetz Lindenmaier
52c0fc5c60 8316464: 3 sun/tools tests ignore VM flags
Backport-of: 993951b85e
2023-12-23 10:54:44 +00:00
Goetz Lindenmaier
b64402f41f 8316447: 8 sun/management/jmxremote tests ignore VM flags
Backport-of: 053f45695f
2023-12-23 10:51:09 +00:00
Aleksey Shipilev
72c372fe7f 8321542: C2: Missing ChaCha20 stub for x86_32 leads to crashes
Backport-of: 5718039a46
2023-12-22 18:11:36 +00:00
Sandhya Viswanathan
8695daa275 8321215: Incorrect x86 instruction encoding for VSIB addressing mode
Reviewed-by: shade
Backport-of: 027b5dbb6a
2023-12-22 18:11:19 +00:00
Martin Doerr
ca26279e36 8320830: [AIX] Dont mix os::dll_load() with direct dlclose() calls
Backport-of: 61653a1ff1
2023-12-22 15:54:59 +00:00
Goetz Lindenmaier
18f23901cc 8322418: Problem list gc/TestAllocHumongousFragment.java subtests for 8298781
Backport-of: 6de23bf36e
2023-12-22 10:27:14 +00:00
Goetz Lindenmaier
561ac59dca 8322417: Console read line with zero out should zero out when throwing exception
Backport-of: 2f917bff5c
2023-12-22 10:25:11 +00:00
Goetz Lindenmaier
e579716e51 8319456: jdk/jfr/event/gc/collection/TestGCCauseWith[Serial|Parallel].java : GC cause 'GCLocker Initiated GC' not in the valid causes
Backport-of: 7c7f8ea30d
2023-12-22 10:23:03 +00:00
Goetz Lindenmaier
c39247c5a6 8318689: jtreg is confused when folder name is the same as the test name
Backport-of: a9b31b587c
2023-12-22 10:20:59 +00:00
Goetz Lindenmaier
235ed4c888 8317358: G1: Make TestMaxNewSize use createTestJvm
Backport-of: 1a098356dd
2023-12-22 10:19:07 +00:00
Goetz Lindenmaier
dd080d3b5b 8316445: Mark com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java as vm.flagless
Backport-of: ca5eee2fe3
2023-12-22 10:15:46 +00:00
Goetz Lindenmaier
bedc39b750 8314830: runtime/ErrorHandling/ tests ignore external VM flags
Reviewed-by: shade
Backport-of: b685ee00b2
2023-12-22 10:11:57 +00:00
Goetz Lindenmaier
0f1154dc5c 8314320: Mark runtime/CommandLine/ tests as flagless
Backport-of: f481477144
2023-12-22 10:10:00 +00:00
Goetz Lindenmaier
6b938b8e77 8310308: IR Framework: check for type and size of vector nodes
8314513: [IR Framework] Some internal IR Framework tests are failing after JDK-8310308 on PPC and Cascade Lake

Reviewed-by: mbaesken
Backport-of: a02d65efcc
2023-12-22 10:08:10 +00:00
Goetz Lindenmaier
506c4de9a2 8313854: Some tests in serviceability area fail on localized Windows platform
Backport-of: 49b29845f7
2023-12-22 10:05:08 +00:00
Gui Cao
7927315fb1 8321972: test runtime/Unsafe/InternalErrorTest.java timeout on linux-riscv64 platform
Backport-of: e8768ae08d
2023-12-22 01:51:36 +00:00
Liam Miller-Cushon
aaee2d7507 8322040: Missing array bounds check in ClassReader.parameter
Reviewed-by: sgehwolf
Backport-of: 20de541b13
2023-12-21 16:26:46 +00:00
Jaroslav Bachorik
636607b6bb 8313816: Accessing jmethodID might lead to spurious crashes
Backport-of: cdd1a6e851
2023-12-21 13:28:58 +00:00
Goetz Lindenmaier
e4056b9cee 8321409: Console read line with zero out should zero out underlying buffer in JLine (redux)
Backport-of: 4ed38f5ad5
2023-12-21 11:36:29 +00:00
Goetz Lindenmaier
12915c3a20 8261837: SIGSEGV in ciVirtualCallTypeData::translate_from
Backport-of: 1bb250c9e6
2023-12-21 11:24:48 +00:00
Goetz Lindenmaier
e0de68e320 8209595: MonitorVmStartTerminate.java timed out
Backport-of: a045258ae2
2023-12-21 11:23:08 +00:00
Goetz Lindenmaier
2f65dda068 8316462: sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java ignores VM flags
Backport-of: d6679031e0
2023-12-21 11:22:52 +00:00
Goetz Lindenmaier
840724babc 8317188: G1: Make TestG1ConcRefinementThreads use createTestJvm
Backport-of: a949824e98
2023-12-21 11:20:27 +00:00
Goetz Lindenmaier
a6c2398ff9 8317218: G1: Make TestG1HeapRegionSize use createTestJvm
Backport-of: 75b37e6d7e
2023-12-21 11:18:24 +00:00
Goetz Lindenmaier
a565d4978f 8317316: G1: Make TestG1PercentageOptions use createTestJvm
Backport-of: d8cd60588a
2023-12-21 11:16:24 +00:00
Goetz Lindenmaier
eb6fedc2fa 8317317: G1: Make TestG1RemSetFlags use createTestJvm
Backport-of: 5bd10521eb
2023-12-21 11:14:10 +00:00
Goetz Lindenmaier
4f6a2e6de6 8317343: GC: Make TestHeapFreeRatio use createTestJvm
Backport-of: c64bd3d671
2023-12-21 11:12:18 +00:00
Goetz Lindenmaier
5f7b7c5cd1 8317347: Parallel: Make TestInitialTenuringThreshold use createTestJvm
Backport-of: 6ee6171e81
2023-12-21 11:10:21 +00:00
Goetz Lindenmaier
4846aa25f9 8317228: GC: Make TestXXXHeapSizeFlags use createTestJvm
Backport-of: 7ca0ae9415
2023-12-21 11:08:11 +00:00
Goetz Lindenmaier
afa729ceef 8316446: 4 sun/management/jdp tests ignore VM flags
Backport-of: 5b311f20df
2023-12-21 11:06:04 +00:00
Goetz Lindenmaier
f4e7c0c8e0 8316562: serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java times out after JDK-8314829
Backport-of: 54028e779b
2023-12-21 11:04:17 +00:00
Goetz Lindenmaier
e51457885e 8314829: serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ignores vm flags
Backport-of: e0f8d16833
2023-12-21 11:02:21 +00:00
Goetz Lindenmaier
1545967936 8313638: Add test for dump of resolved references
Reviewed-by: matsaave
Backport-of: 83dca6296e
2023-12-21 11:00:03 +00:00
Goetz Lindenmaier
ebd5179aa2 8314831: NMT tests ignore vm flags
Backport-of: 9bf3dee242
2023-12-21 10:58:09 +00:00
Goetz Lindenmaier
320cf855a7 8315406: [REDO] serviceability/jdwp/AllModulesCommandTest.java ignores VM flags
Backport-of: 5cbff24608
2023-12-21 10:48:28 +00:00
Goetz Lindenmaier
20dd66b207 8314333: Update com/sun/jdi/ProcessAttachTest.java to use ProcessTools.createTestJvm(..)
Backport-of: 7342f5a033
2023-12-21 10:35:21 +00:00
Goetz Lindenmaier
19d74b451a 8307408: Some jdk/sun/tools/jhsdb tests don't pass test JVM args to the debuggee JVM
Backport-of: 87b08b6e01
2023-12-21 10:29:52 +00:00
Goetz Lindenmaier
b806f56f54 8312916: Remove remaining usages of -Xdebug from test/hotspot/jtreg
Backport-of: e9daf4a018
2023-12-21 10:10:32 +00:00
Goetz Lindenmaier
80f129da20 8311581: Remove obsolete code and comments in TestLVT.java
Backport-of: 27de536b40
2023-12-21 10:08:50 +00:00
KIRIYAMA Takuya
9aad573ac8 8311081: KeytoolReaderP12Test.java fail on localized Windows platform
Backport-of: b4b2fecb42
2023-12-20 23:00:00 +00:00
Sonia Zaldana Calles
bd552ef842 8313229: DHEKeySizing.java should be modified to use TLS versions TLSv1, TLSv1.1, TLSv1.2
Backport-of: c698b45a7b
2023-12-20 15:23:27 +00:00
Matthias Baesken
34fc725b82 8317307: test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails with ConnectException: Connection timed out: no further information
Backport-of: b9b82631bf
2023-12-20 11:32:33 +00:00
Matthias Baesken
3e4adb6fd4 8320168: handle setsocktopt return values
Backport-of: db1d82347b
2023-12-19 15:14:09 +00:00
Frederic Thevenet
c725f4bdcb 8321374: Add a configure option to explicitly set CompanyName property in VersionInfo resource for Windows exe/dll
Backport-of: 05f950934e
2023-12-19 13:55:57 +00:00
Aleksey Shipilev
2433635872 8314220: Configurable InlineCacheBuffer size
Backport-of: a40d8d97e8
2023-12-19 13:21:33 +00:00
Aleksey Shipilev
03acee85e6 8314578: Non-verifiable code is emitted when two guards declare pattern variables in colon-switch
Backport-of: 15588e08ed
2023-12-19 10:30:03 +00:00
Aleksey Shipilev
af6df7743b 8305971: NPE in JavacProcessingEnvironment for missing enum constructor body
Backport-of: 01ea1eff66
2023-12-19 10:29:40 +00:00
Aleksey Shipilev
f55a91a5d1 8319897: Move StackWatermark handling out of LockStack::contains
Backport-of: bbf52e0e4c
2023-12-19 10:23:39 +00:00
Aleksey Shipilev
b8a0d9faaf 8316229: Enhance class initialization logging
Backport-of: 84124794c2
2023-12-19 10:23:22 +00:00
Aleksey Shipilev
5d328605f0 8310807: java/nio/channels/DatagramChannel/Connect.java timed out
Backport-of: 570dffb104
2023-12-19 10:21:28 +00:00
Aleksey Shipilev
0c924607ae 8309302: java/net/Socket/Timeouts.java fails with AssertionError on test temporal post condition
Backport-of: 87c79c0801
2023-12-19 10:21:13 +00:00
Aleksey Shipilev
6644066557 8313621: test/jdk/jdk/internal/math/FloatingDecimal/TestFloatingDecimal should use RandomFactory
Backport-of: 864a876ebf
2023-12-19 10:19:34 +00:00
Aleksey Shipilev
80b5f72ccd 8263256: Test java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java fails due to dynamic reconfigurations of network interface during test
Backport-of: 0048f1da4c
2023-12-19 10:19:17 +00:00
Aleksey Shipilev
ee7748a3d3 8317300: javac erroneously allows "final" in front of a record pattern
Backport-of: 5ca1beb30e
2023-12-19 10:17:28 +00:00
Aleksey Shipilev
d50fd26002 8314990: Generational ZGC: Strong OopStorage stats reported as weak roots
Reviewed-by: stefank
Backport-of: dcd6e75671
2023-12-19 10:12:07 +00:00
Goetz Lindenmaier
c3b0c03df3 8319668: Fixup of jar filename typo in BadFactoryTest.sh
Backport-of: 63ad868e18
2023-12-19 09:24:53 +00:00
Goetz Lindenmaier
20625961d4 8320208: Update Public Suffix List to b5bf572
Backport-of: 2b4e99140a
2023-12-19 09:21:42 +00:00
Goetz Lindenmaier
16554ae23c 8316392: compiler/interpreter/TestVerifyStackAfterDeopt.java failed with SIGBUS in PcDescContainer::find_pc_desc_internal
Backport-of: 58af9aeeb0
2023-12-19 09:17:51 +00:00
Goetz Lindenmaier
6f3cd91942 8316028: Update FreeType to 2.13.2
Backport-of: 3b65b8797a
2023-12-19 09:14:14 +00:00
Goetz Lindenmaier
c0b78b79fe 8316410: GC: Make TestCompressedClassFlags use createTestJvm
Backport-of: e649c56324
2023-12-19 09:08:21 +00:00
Goetz Lindenmaier
be19bda590 8316973: GC: Make TestDisableDefaultGC use createTestJvm
Backport-of: 5f4be8cea9
2023-12-19 09:06:14 +00:00
Goetz Lindenmaier
9e8cee6ea3 8317042: G1: Make TestG1ConcMarkStepDurationMillis use createTestJvm
Backport-of: 7e39e664cf
2023-12-19 09:02:10 +00:00
Goetz Lindenmaier
16875f218b 8315988: Parallel: Make TestAggressiveHeap use createTestJvm
Backport-of: fbc766ee21
2023-12-19 08:59:49 +00:00
Goetz Lindenmaier
a75b88dc58 8314838: 3 compiler tests ignore vm flags
Backport-of: ab6a87e670
2023-12-19 08:58:02 +00:00
Goetz Lindenmaier
fc49ca39a4 8314837: 5 compiled/codecache tests ignore VM flags
Backport-of: 2a11bc41ba
2023-12-19 08:56:21 +00:00
Matthias Baesken
4f17ea72c8 8320383: refresh libraries cache on AIX in VMError::report
Backport-of: 26c3390421
2023-12-19 08:23:07 +00:00
Kimura Yukihiro
947dfc488b 8318410: jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh fails on Japanese Windows
Backport-of: d051f22284
2023-12-18 15:53:37 +00:00
Joachim Kern
dcf6eea1e5 8319633: runtime/posixSig/TestPosixSig.java intermittent timeouts on UNIX
Reviewed-by: mbaesken, mdoerr
2023-12-18 11:04:32 +00:00
Goetz Lindenmaier
fccb0a150a 8321131: Console read line with zero out should zero out underlying buffer in JLine
Reviewed-by: mbaesken
Backport-of: bd04f91e91
2023-12-16 10:39:39 +00:00
Sonia Zaldana Calles
db343c902d 8314612: TestUnorderedReduction.java fails with -XX:MaxVectorSize=32 and -XX:+AlignVector
Backport-of: f804f8652d
2023-12-15 16:53:25 +00:00
Matthias Baesken
63aecc5e8a 8320300: Adjust hs_err output in malloc/mmap error cases
Backport-of: 60c8d9c045
2023-12-15 08:00:38 +00:00
Goetz Lindenmaier
e8cf56c21f 8320798: Console read line with zero out should zero out underlying buffer
Backport-of: d568562966
2023-12-14 20:13:17 +00:00
Goetz Lindenmaier
d65289db63 8313082: Enable CreateCoredumpOnCrash for testing in makefiles
Backport-of: ba645da97b
2023-12-14 20:11:05 +00:00
Goetz Lindenmaier
901048b43f 8315680: java/lang/ref/ReachabilityFenceTest.java should run with -Xbatch
Backport-of: a290256bbf
2023-12-14 19:21:25 +00:00
robm
53118a3a58 Merge 2023-12-14 17:39:06 +00:00
Martin Doerr
0106db077b 8320807: [PPC64][ZGC] C1 generates wrong code for atomics
Backport-of: 3087e14cde
2023-12-14 16:33:27 +00:00
Matthias Baesken
0e0e89779f 8320898: exclude compiler/vectorapi/reshape/TestVectorReinterpret.java on ppc64(le) platforms
Backport-of: 78b6c2b408
2023-12-14 15:03:48 +00:00
Weijun Wang
60b6a6693b 8320597: RSA signature verification fails on signed data that does not encode params correctly
Backport-of: 11e4a925be
2023-12-14 13:06:35 +00:00
Severin Gehwolf
fb34573636 8321894: Bump update version for OpenJDK: 21.0.3
Reviewed-by: goetz
2023-12-13 14:54:42 +00:00
Prajwal Kumaraswamy
e831175ecf 8317547: Enhance TLS connection support
Backport-of: c521825a5d986e5cb823615d60e51f954c0ff4dc
2023-12-06 04:38:14 +00:00
robm
03c3ae13e5 Merge 2023-11-30 15:26:32 +00:00
Roman Kennke
ba79073da5 8321067: Unlock experimental options in EATests.java
Reviewed-by: shade
2023-11-30 14:15:10 +00:00
robm
ffa6fe561c Merge 2023-11-29 20:38:59 +00:00
Rob McKenna
759298364c 8320001: javac crashes while adding type annotations to the return type of a constructor
Reviewed-by: vromero
Backport-of: 5e24aaf4f7
2023-11-29 20:09:12 +00:00
Ravi Reddy
7c1c76d587 8320001: javac crashes while adding type annotations to the return type of a constructor
Backport-of: 5e24aaf4f7
2023-11-29 09:36:51 +00:00
Christoph Langer
ab7380e2d9 8320601: ProblemList java/lang/invoke/lambda/LambdaFileEncodingSerialization.java on linux-all
Backport-of: f6e5559ae9
2023-11-28 10:32:54 +00:00
Martin Doerr
f8706d1d9b 8320363: ppc64 TypeEntries::type_unknown logic looks wrong, missed optimization opportunity
Backport-of: 6aa197667a
2023-11-27 22:12:59 +00:00
Ian Myers
f3ff69acea 8315684: Parallelize sun/security/util/math/TestIntegerModuloP.java
Backport-of: 0f77d250b6
2023-11-27 16:25:28 +00:00
Ian Myers
2e5519002f 8315936: Parallelize gc/stress/TestStressG1Humongous.java test
Backport-of: 3f19df685c
2023-11-27 16:25:03 +00:00
Roman Kennke
593ef7c16f 8316401: sun/tools/jhsdb/JStackStressTest.java failed with "InternalError: We should have found a thread that owns the anonymous lock"
Backport-of: bd918f49d2
2023-11-27 16:16:43 +00:00
Roman Kennke
0f7bbe1fa3 8318895: Deoptimization results in incorrect lightweight locking stack
Backport-of: ea1ffa3419
2023-11-27 16:14:23 +00:00
Aleksey Shipilev
cae6460973 8318078: ADLC: pass ASSERT and PRODUCT flags
Backport-of: 504b0bdaaa
2023-11-27 16:12:15 +00:00
Aleksey Shipilev
19ce3ec39e 8319120: Unbound ScopedValue.get() throws the wrong exception
Backport-of: ee6f25b507
2023-11-27 15:58:49 +00:00
Aleksey Shipilev
f5045fcca4 8319195: Move most tier 1 vector API regression tests to tier 3
Backport-of: 9dc40ba48e
2023-11-27 15:58:31 +00:00
Aleksey Shipilev
e86ae80a69 8316415: Parallelize sun/security/rsa/SignedObjectChain.java subtests
Backport-of: 59847926b6
2023-11-27 15:56:39 +00:00
Aleksey Shipilev
4d5ceb41aa 8316581: Improve performance of Symbol::print_value_on()
Backport-of: 90bcdbd15f
2023-11-27 15:56:09 +00:00
Aleksey Shipilev
1326d00e5a 8316967: Correct the scope of vmtimer in UnregisteredClasses::load_class
Backport-of: 83b6a1278f
2023-11-27 15:55:46 +00:00
Soumadipta Roy
1f7b17d261 8315692: Parallelize gc/stress/TestStressRSetCoarsening.java test
Backport-of: a564d436c7
2023-11-27 15:53:31 +00:00
Jan Lahoda
4022eacddb 8319532: jshell - Non-sealed declarations sometimes break a snippet evaluation
Backport-of: 45e68ae207
2023-11-27 14:15:42 +00:00
Jan Lahoda
b42280b8d2 8318144: Match on enum constants with body compiles but fails with MatchException
Backport-of: 541ff7149f
2023-11-27 14:15:23 +00:00
Aleksey Shipilev
f01df290a9 8315082: [REDO] Generational ZGC: Tests crash with assert(index == 0 || is_power_of_2(index))
Backport-of: ceff47b462
2023-11-27 11:35:28 +00:00
Axel Boldt-Christmas
afc506e93a 8319700: [AArch64] C2 compilation fails with "Field too big for insn"
Backport-of: 3787ff8d1d
2023-11-27 09:06:05 +00:00
Gui Cao
3df010f444 8320280: RISC-V: Avoid passing t0 as temp register to MacroAssembler::lightweight_lock/unlock
Backport-of: a6098e438d
2023-11-27 06:00:28 +00:00
Matthias Baesken
ecb199ad28 8313616: support loading library members on AIX in os::dll_load
Reviewed-by: phh
Backport-of: 23fe2ece58
2023-11-24 08:11:20 +00:00
Erik Österlund
220b36c93c 8310239: Add missing cross modifying fence in nmethod entry barriers
Backport-of: 4679e9aa00
2023-11-22 08:43:13 +00:00
Matthias Baesken
d7a3ac72ca 8318587: refresh libraries cache on AIX in print_vm_info
Backport-of: cb383c05b2
2023-11-21 16:40:07 +00:00
Sandhya Viswanathan
0941f2ce67 8318562: Computational test more than 2x slower when AVX instructions are used
Backport-of: 0881f2b0c4
2023-11-21 10:59:15 +00:00
Roman Marchenko
e7bd0ab30d 8319961: JvmtiEnvBase doesn't zero _ext_event_callbacks
Backport-of: 97ea5bf0ff
2023-11-21 10:39:26 +00:00
Sandhya Viswanathan
21a003ae8d 8320209: VectorMaskGen clobbers rflags on x86_64
Backport-of: b05e69f789
2023-11-21 10:18:53 +00:00
Matthias Baesken
689b90da7d 8318957: enhance agentlib:jdwp help output by info about allow option
Backport-of: 53bb7cd415
2023-11-21 09:11:57 +00:00
Matthias Baesken
cf187a19e1 8318955: Add ReleaseIntArrayElements in Java_sun_awt_X11_XlibWrapper_SetBitmapShape XlbWrapper.c to early return
Backport-of: 81db1721d4
2023-11-21 09:08:31 +00:00
Matthias Baesken
73d59d0c69 8318591: avoid leaks in loadlib_aix.cpp reload_table()
Backport-of: 6d3cb459dc
2023-11-21 09:01:23 +00:00
rreddy
c67abe1691 Merge remote-tracking branch 'jdk21u/master' into jdk21.0.2 2023-11-21 08:57:41 +00:00
Matthias Baesken
53fec1baf6 8318981: compiler/compilercontrol/TestConflictInlineCommands.java fails intermittent with 'disallowed by CompileCommand' missing from stdout/stderr
Backport-of: 88b9cdae8f
2023-11-21 08:55:03 +00:00
Christoph Langer
177d994848 8306561: Possible out of bounds access in print_pointer_information
8319542: Fix boundaries of region to be tested with os::is_readable_range

Reviewed-by: mbaesken
Backport-of: d6ce62ebc0
2023-11-21 08:18:48 +00:00
Rajan Halade
a9f71e9207 8319187: Add three eMudhra emSign roots
Backport-of: 0bda467f6e
2023-11-20 17:56:32 +00:00
Alexey Ivanov
16039585d2 8316017: Refactor timeout handler in PassFailJFrame
Backport-of: 3abd772672
2023-11-20 15:56:18 +00:00
Aleksey Shipilev
e79ebc7ba1 8315545: C1: x86 cmove can use short branches
Backport-of: 6c821f5e1d
2023-11-20 15:55:40 +00:00
Aleksey Shipilev
44bb402e35 8315554: C1: Replace "cmp reg, 0" with "test reg, reg" on x86
Backport-of: bd477810b1
2023-11-20 15:55:01 +00:00
Martin Doerr
7588fce7d2 8316746: Top of lock-stack does not match the unlocked object
Backport-of: 7d8adfa855
2023-11-20 15:35:11 +00:00
Alexey Ivanov
1d128dc0f4 8316025: Use testUI() method of PassFailJFrame.Builder in FileChooserSymLinkTest.java
Backport-of: 7f47c51ace
2023-11-20 15:32:37 +00:00
Alexey Ivanov
3c124e3bd5 8294156: Allow PassFailJFrame.Builder to create test UI
Backport-of: 42b9ac8a07
2023-11-20 15:22:50 +00:00
Aleksey Shipilev
4558e49939 8317834: java/lang/Thread/IsAlive.java timed out
Backport-of: 5522656af7
2023-11-20 15:16:35 +00:00
Aleksey Shipilev
3fcc7ea128 8320053: GHA: Cross-compile gtest code
Backport-of: 77a6966114
2023-11-20 15:16:10 +00:00
Alexey Ivanov
8de7b61b2f 8316003: Update FileChooserSymLinkTest.java to HTML instructions
Backport-of: c587211bf8
2023-11-20 15:08:44 +00:00
Alexey Ivanov
6453e64f4d 8294158: HTML formatting for PassFailJFrame instructions
Backport-of: 14090ef603
2023-11-20 14:57:13 +00:00
Shivangi Gupta
2545f55e50 8317039: Enable specifying the JDK used to run jtreg
8317807: JAVA_FLAGS removed from jtreg running in JDK-8317039

Reviewed-by: erikj
Backport-of: a250ae4d1b
2023-11-17 14:08:40 +00:00
Alexey Ivanov
321ba681bc 8313643: Update HarfBuzz to 8.2.2
8319268: Build failure with GCC8.3.1 after 8313643

Reviewed-by: prr, honkar
Backport-of: 2182c93689
2023-11-17 14:03:28 +00:00
Christoph Langer
ffa87b5e3f 8318240: [AIX] Cleaners.java test failure
Backport-of: d4b761242d
2023-11-17 10:54:01 +00:00
Christoph Langer
44b5b81f76 8313782: Add user-facing warning if THPs are enabled but cannot be used
Backport-of: dff99f7f3d
2023-11-17 10:51:32 +00:00
Christoph Langer
99d260c0cc 8313781: Add regression tests for large page logging and user-facing error messages
Backport-of: abad0408e8
2023-11-17 10:51:09 +00:00
Robbin Ehn
3c712edc87 8315195: RISC-V: Update hwprobe query for new extensions
Backport-of: 0d4cadb824
2023-11-17 07:15:22 +00:00
Rajan Halade
cb352c25ba 8318759: Add four DigiCert root certificates
Backport-of: 0ea58048f9
2023-11-17 05:10:58 +00:00
Sergey Bylokhov
d603f8ae9d 8312191: ColorConvertOp.filter for the default destination is too slow
Backport-of: e5f05b5a96
2023-11-16 23:08:00 +00:00
Mandy Chung
245885bd96 8319436: Proxy.newProxyInstance throws NPE if loader is null and interface not visible from class loader
Backport-of: 8eb6f617b3
2023-11-16 17:10:40 +00:00
Stewart X Addison
71eec789fc 8319958: test/jdk/java/io/File/libGetXSpace.c does not compile on Windows 32-bit
Backport-of: 6a75c2406b
2023-11-16 12:03:21 +00:00
Amit Kumar
fb9bd49aee 8317581: [s390x] Multiple test failure with LockingMode=2
Backport-of: 839cb19ec2
2023-11-16 11:56:21 +00:00
Aleksey Shipilev
a25ea4c755 8316719: C2 compilation still fails with "bad AD file"
Backport-of: 1e687b4529
2023-11-16 11:53:52 +00:00
Rajat Mahajan
015dab9a0a 8316030: Update Libpng to 1.6.40
Backport-of: 158293d251
2023-11-15 20:34:14 +00:00
Fei Yang
dfca3b9540 8319184: RISC-V: improve MD5 intrinsic
Backport-of: fa331d7128
2023-11-15 08:16:26 +00:00
Goetz Lindenmaier
8998f6ff99 8319104: GtestWrapper crashes with SIGILL in AsyncLogTest::test_asynclog_raw on AIX opt
Reviewed-by: stuefe, jkern
Backport-of: 0b58bdec71
2023-11-15 07:26:01 +00:00
Man Cao
1ba77d9bab 8312174: missing JVMTI events from vthreads parked during JVMTI attach
Backport-of: fda142ff6c
2023-11-14 21:36:15 +00:00
Matthias Baesken
81eaed20cb 8317603: Improve exception messages thrown by sun.nio.ch.Net native methods (win)
Backport-of: a9b41da9df
2023-11-14 14:52:39 +00:00
Amit Kumar
545b1fef0e 8316935: [s390x] Use consistent naming for lightweight locking in MacroAssembler
Backport-of: efb7e85ecf
2023-11-14 14:47:23 +00:00
Aleksey Shipilev
67f5d7bb6e 8318525: Atomic gtest should run as TEST_VM to access VM capabilities
Backport-of: 744f206fef
2023-11-14 14:45:28 +00:00
Aleksey Shipilev
cd4ce011d4 8315920: C2: "control input must dominate current control" assert failure
Backport-of: 4e1e579e8b
2023-11-14 14:45:08 +00:00
Aleksey Shipilev
fb7d8584ba 8316436: ContinuationWrapper uses unhandled nullptr oop
Backport-of: 292aad2c49
2023-11-14 14:44:51 +00:00
Jaikiran Pai
bac4829e05 8312433: HttpClient request fails due to connection being considered idle and closed
Backport-of: 486c7844f9
2023-11-14 14:39:32 +00:00
Martin Doerr
3515f60e77 8310596: Utilize existing method frame::interpreter_frame_monitor_size_in_bytes()
Backport-of: 7fbad4cd5e
2023-11-14 14:37:04 +00:00
Pavel Rappo
daf76ebc27 8319339: Internal error on spurious markup in a hybrid snippet
Reviewed-by: jjg
Backport-of: c9077b8b81
2023-11-14 13:37:23 +00:00
Matthias Baesken
be539fdaea 8318961: increase javacserver connection timeout values and max retry attempts
Backport-of: b9983c7229
2023-11-14 12:56:11 +00:00
rreddy
dad0e860e4 Merge remote-tracking branch 'jdk21u/master' into jdk21.0.2 2023-11-14 12:27:14 +00:00
Thomas Stuefe
ccc2fd0cd3 8319922: libCreationTimeHelper.so fails to link in JDK 21
Reviewed-by: sgehwolf
2023-11-14 12:13:32 +00:00
Thomas Stuefe
0049afbb47 8319828: runtime/NMT/VirtualAllocCommitMerge.java may fail if mixing interpreted and compiled native invocations
Backport-of: 6b21ff61da
2023-11-14 12:13:16 +00:00
Aleksey Shipilev
c9520790be 8317507: C2 compilation fails with "Exceeded _node_regs array"
Backport-of: a5818972c1
2023-11-10 09:49:07 +00:00
Johannes Bechberger
525d22007e 8318736: com/sun/jdi/JdwpOnThrowTest.java failed with "transport error 202: bind failed: Address already in use"
Backport-of: 1a21c1a783
2023-11-10 09:47:10 +00:00
Liam Miller-Cushon
e00c9bb25f 8225377: type annotations are not visible to javac plugins across compilation boundaries
Backport-of: de6667cf11
2023-11-10 09:17:52 +00:00
Andrew Leonard
b174d5e186 8317601: Windows build on WSL broken after JDK-8317340
Backport-of: bcc986b9d1
2023-11-09 16:56:30 +00:00
Amit Kumar
54fbd4baa6 8308479: [s390x] Implement alternative fast-locking scheme
Backport-of: 3fe6e0faca
2023-11-09 15:31:54 +00:00
Andrew Leonard
5cb041ebab 8317340: Windows builds are not reproducible if MS VS compiler install path differs
Backport-of: 353d139682
2023-11-09 15:29:23 +00:00
Christian Hagedorn
10ccbebc8f 8314307: Improve loop handling
Reviewed-by: thartmann
Backport-of: afe46730e2405100ab2e016c8941264336aa807d
2023-11-09 13:12:36 +00:00
Frederic Thevenet
32987b7ef0 8317510: Change Windows debug symbol files naming to avoid losing info when an executable and a library share the same name
Backport-of: d96f38b80c
2023-11-09 07:54:51 +00:00
Aleksey Shipilev
37888d2912 8314191: C2 compilation fails with "bad AD file"
Backport-of: 969fcdb0de
2023-11-09 07:29:49 +00:00
Aleksey Shipilev
90088898d4 8316679: C2 SuperWord: wrong result, load should not be moved before store if not comparable
Reviewed-by: epeter, phh, thartmann
Backport-of: 48f1a925e5
2023-11-09 07:28:09 +00:00
Jayathirth D V
0e2a520b03 8318951: Additional negative value check in JPEG decoding
Backport-of: 75ce02fe74
2023-11-09 04:41:59 +00:00
Alexey Ivanov
0679922ec8 8294535: Add screen capture functionality to PassFailJFrame
Backport-of: dbb788f34d
2023-11-08 17:42:35 +00:00
Renjith Kannath Pariyangad
7f02e4a812 8301846: Invalid TargetDataLine after screen lock when using JFileChooser or COM library
Backport-of: 613a3cc689
2023-11-08 17:42:03 +00:00
Rajan Halade
6632c8a391 8317374: Add Let's Encrypt ISRG Root X2
Backport-of: e6f46a4326
2023-11-08 17:34:23 +00:00
Aleksey Shipilev
243142cf0f 8314580: PhaseIdealLoop::transform_long_range_checks fails with assert "was tested before"
Backport-of: 9def4538ab
2023-11-08 15:15:22 +00:00
Aleksey Shipilev
b93d884b49 8318183: C2: VM may crash after hitting node limit
Backport-of: 31ef400f31
2023-11-08 14:56:32 +00:00
Aleksey Shipilev
fb355df80d 8309209: C2 failed "assert(_stack_guard_state == stack_guard_reserved_disabled) failed: inconsistent state"
Reviewed-by: aph
Backport-of: 52ee570025
2023-11-08 14:56:12 +00:00
Aleksey Shipilev
50c34cad95 8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b
8317335: Build on windows fails after 8316645

Reviewed-by: rehn
Backport-of: fb055e7e53
2023-11-08 14:52:04 +00:00
Aleksey Shipilev
eb8267d98e 8316585: [REDO] runtime/InvocationTests spend a lot of time on dependency verification
Backport-of: 1e930db3c7
2023-11-08 14:51:43 +00:00
Evgeny Ignatenko
31c759dd7e 8315362: NMT: summary diff reports threads count incorrectly
Reviewed-by: stuefe
Backport-of: 37aed6f46d
2023-11-08 13:34:12 +00:00
Evgeny Ignatenko
6bd2c5aaa9 8318474: Fix memory reporter for thread_count
Backport-of: 0baa9ecd76
2023-11-08 13:33:53 +00:00
Fei Yang
7091631c5f 8319525: RISC-V: Rename *_riscv64.ad files to *_riscv.ad under riscv/gc
Backport-of: b2504a0f9c
2023-11-08 13:18:53 +00:00
Goetz Lindenmaier
421bf8a6b1 8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit
Backport-of: e30e356442
2023-11-08 07:32:06 +00:00
Johannes Bechberger
337271f833 8317920: JDWP-agent sends broken exception event with onthrow option
Backport-of: 8f4ebd8921
2023-11-07 08:35:09 +00:00
rreddy
2bc004b022 Merge remote-tracking branch 'jdk21u/master' into jdk21.0.2 2023-11-07 06:52:42 +00:00
Severin Gehwolf
4cf572e3b9 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux
Reviewed-by: phh
Backport-of: 0275efac88
2023-11-06 13:16:57 +00:00
Goetz Lindenmaier
4bbea6dde3 8315415: OutputAnalyzer.shouldMatchByLine() fails in some cases
Backport-of: 7b1e2bfe0f
2023-11-06 08:16:52 +00:00
Goetz Lindenmaier
4a6c0d8f52 8314242: Update applications/scimark/Scimark.java to accept VM flags
Backport-of: 6bf4a33593
2023-11-06 07:56:08 +00:00
Andrew Leonard
504f4a0c6f 8286757: adlc tries to build with /pathmap but without /experimental:deterministic
Backport-of: 242eeaea47
2023-11-03 18:20:20 +00:00
Andrew Leonard
e2b89c76e7 8316648: jrt-fs.jar classes not reproducible between standard and bootcycle builds
Backport-of: 0f0c5b2d71
2023-11-03 16:22:30 +00:00
Calvin Cheung
892938dc66 8312434: SPECjvm2008/xml.transform with CDS fails with "can't seal package nu.xom"
Backport-of: 9f4a9fe488
2023-11-03 16:09:06 +00:00
Aleksey Shipilev
844c32a313 8316142: Enable parallelism in vmTestbase/nsk/monitoring/stress/lowmem tests
Backport-of: 4421951d8f
2023-11-03 13:32:34 +00:00
Martin Doerr
3552d5a898 8316659: assert(LockingMode != LM_LIGHTWEIGHT || flag == CCR0) failed: bad condition register
Backport-of: 6a4b665550
2023-11-03 13:25:05 +00:00
Tobias Hartmann
b743ba8148 8318889: C2: add bailout after assert Bad graph detected in build_loop_late
Backport-of: 83eb20651f
2023-11-03 13:18:10 +00:00
Frederic Thevenet
e371a3d92f 8318669: Target OS detection in 'test-prebuilt' makefile target is incorrect when running on MSYS2
Backport-of: 202c0137b8
2023-11-02 09:02:59 +00:00
Matthias Baesken
07a1490e71 8316411: compiler/compilercontrol/TestConflictInlineCommands.java fails intermittent with force inline by CompileCommand missing
Backport-of: e1870d360e
2023-11-02 08:29:49 +00:00
Matthias Baesken
bb7c86f9b4 8318415: Adjust describing comment of os_getChildren after 8315026
Backport-of: 47bb1a1cef
2023-11-02 08:23:50 +00:00
Thomas Stuefe
bb8db719e6 8318089: Class space not marked as such with NMT when CDS is off
Backport-of: c0e154c876
2023-11-02 07:47:45 +00:00
rreddy
5c4039cff7 Merge remote-tracking branch 'jdk21u/master' into jdk21.0.2 2023-11-02 06:57:01 +00:00
Gui Cao
6e217669ff 8318953: RISC-V: Small refactoring for MacroAssembler::test_bit
Backport-of: 988e1dfe6e
2023-11-02 02:03:40 +00:00
Goetz Lindenmaier
a96de29fee 8161536: sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java fails with ProviderException
Backport-of: 939d7c5d84
2023-11-01 20:27:30 +00:00
Goetz Lindenmaier
05deef8600 8301457: Code in SendPortZero.java is uncommented even after JDK-8236852 was fixed
Backport-of: 298dda4c98
2023-11-01 20:26:50 +00:00
Goetz Lindenmaier
599b30d1e0 8309778: java/nio/file/Files/CopyAndMove.java fails when using second test directory
Backport-of: cfae6ef2f6
2023-11-01 20:24:29 +00:00
Aleksey Shipilev
de57df40bf 8316414: C2: large byte array clone triggers "failed: malformed control flow" assertion failure on linux-x86
Backport-of: 0a3a925ad8
2023-11-01 14:08:25 +00:00
Aleksey Shipilev
c3c2b9f42d 8303737: C2: Load can bypass subtype check that enforces it's from the right object type
Backport-of: 52983ed529
2023-11-01 14:08:07 +00:00
Aleksey Shipilev
ae5b92c652 8315442: Enable parallelism in vmTestbase/nsk/monitoring/stress/thread tests
Backport-of: 9013b03244
2023-11-01 14:01:10 +00:00
Aleksey Shipilev
3e46e29dc1 8315774: Enable parallelism in vmTestbase/gc/g1/unloading tests
Backport-of: 825e0ed2a1
2023-11-01 14:00:52 +00:00
Aleksey Shipilev
50e1a34582 8315437: Enable parallelism in vmTestbase/nsk/monitoring/stress/classload tests
Backport-of: dd214d0f95
2023-11-01 14:00:37 +00:00
Rob McKenna
bbc5ad7574 8301341: LinkedTransferQueue does not respect timeout for poll()
8300663: java/util/concurrent/SynchronousQueue/Fairness.java failed with "Error: fair=true i=0 j=1"
8267502: JDK-8246677 caused 16x performance regression in SynchronousQueue

Reviewed-by: alanb
Backport-of: 8d1ab57065
2023-11-01 13:46:43 +00:00
Aleksey Shipilev
69adcc680f 8312126: NullPointerException in CertStore.getCRLs after 8297955
Backport-of: 3c743cfea0
2023-11-01 13:40:47 +00:00
Aleksey Shipilev
a81130048e 8314330: java/foreign tests should respect vm flags when start new processes
Backport-of: 7b28d3608a
2023-11-01 13:38:31 +00:00
Aleksey Shipilev
067cd17c6c 8295555: Primitive wrapper caches could be @Stable
Backport-of: f7de726bd3
2023-11-01 13:38:07 +00:00
Aleksey Shipilev
9405b0c47f 8318528: Rename TestUnstructuredLocking test
Backport-of: 3f446c5156
2023-11-01 13:37:46 +00:00
Aleksey Shipilev
502d30b4a1 8318540: make test cannot run .jasm tests directly
Backport-of: bd02cfd96f
2023-11-01 13:37:13 +00:00
Aleksey Shipilev
1f75ab296b 8267509: Improve IllegalAccessException message to include the cause of the exception
Backport-of: 36314a90c1
2023-11-01 13:36:57 +00:00
Goetz Lindenmaier
f4ed66ee82 8318705: [macos] ProblemList java/rmi/registry/multipleRegistries/MultipleRegistries.java
Backport-of: 37c40a11a7
2023-10-29 20:44:57 +00:00
Sergey Bylokhov
305e9ec007 8315971: ProblemList containers/docker/TestMemoryAwareness.java on linux-all
Backport-of: eb37c7e361
2023-10-26 16:41:43 +00:00
pavel_kharskii
5c79703f35 8318137: Change milestone to fcs for all releases
Reviewed-by: coffeys, mvs, rreddy
2023-10-26 10:53:34 +00:00
Hannes Greule
c5a6a74a2f 8317692: jcmd GC.heap_dump performance regression after JDK-8292818
Backport-of: 8f5f44070a
2023-10-26 07:35:56 +00:00
Manukumar V S
5ebc02b149 8317751: ProblemList ConsumeForModalDialogTest.java, MenuItemActivatedTest.java & MouseModifiersUnitTest_Standard.java for windows
8317964: java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java fails on macosx-all after JDK-8317751

Reviewed-by: aivanov, dmarkov
Backport-of: f40ea5109e
2023-10-25 15:52:02 +00:00
Matthias Baesken
5dd22a9bef 8317959: Check return values of malloc in native java.base coding
Backport-of: ff0b397e13
2023-10-25 06:49:31 +00:00
Matthias Baesken
e3a2eebd87 8038244: (fs) Check return value of malloc in Java_sun_nio_fs_AixNativeDispatcher_getmntctl()
Backport-of: 6d6c9008d5
2023-10-25 06:49:00 +00:00
Christoph Langer
bcd73c513a 8310512: Cleanup indentation in jfc files
Backport-of: 3be50da636
2023-10-25 06:39:24 +00:00
Christoph Langer
b7e0c4a94b 8315706: com/sun/tools/attach/warnings/DynamicLoadWarningTest.java real fix for failure on AIX
Backport-of: 21c2dac159
2023-10-25 06:38:50 +00:00
Sergey Bylokhov
eb6ea916d2 8316060: test/hotspot/jtreg/runtime/reflect/ReflectOutOfMemoryError.java may fail if heap is huge
Backport-of: bd52bbfa27
2023-10-24 18:35:37 +00:00
Rajan Halade
00698a48c5 8317373: Add Telia Root CA v2
Backport-of: d3ebb4a155
2023-10-24 16:51:25 +00:00
Laurent Bourgès
0fc04fb17d 8316741: BasicStroke.createStrokedShape miter-limits failing on small shapes
Backport-of: a876beb63d
2023-10-24 16:03:30 +00:00
Aleksey Shipilev
2bf263d423 8312592: New parentheses warnings after HarfBuzz 7.2.0 update
Backport-of: ea067fc3d2
2023-10-24 15:40:25 +00:00
Aleksey Shipilev
9f0d9ca663 8316778: test hprof lib: invalid array element type from JavaValueArray.elementSize
Backport-of: f7deaf4bef
2023-10-24 15:37:26 +00:00
Aleksey Shipilev
294c19d954 8315088: C2: assert(wq.size() - before == EMPTY_LOOP_SIZE) failed: expect the EMPTY_LOOP_SIZE nodes of this body if empty
Backport-of: fe4f90021f
2023-10-24 15:36:55 +00:00
Aleksey Shipilev
2bef0bbb20 8315869: UseHeavyMonitors not used
Reviewed-by: phh
Backport-of: 3301fb1e8a
2023-10-24 15:36:25 +00:00
Tobias Hartmann
2621f68c06 8314468: Improve Compiler loops
Reviewed-by: jwilhelm, epeter
Backport-of: 86e71472aefc26175cfc00d44f255f64893e477b
2023-10-20 10:54:34 +00:00
Matthias Baesken
5121ee686b 8316894: make test TEST="jtreg:test/jdk/..." fails on AIX
Backport-of: 29348b3cf6
2023-10-20 06:46:09 +00:00
Thomas Stuefe
0af96a8993 8317987: C2 recompilations cause high memory footprint
Backport-of: c88b387881
2023-10-20 05:38:20 +00:00
Alexey Ivanov
418a199560 8314246: javax/swing/JToolBar/4529206/bug4529206.java fails intermittently on Linux
Backport-of: 808bb1f7bc
2023-10-19 18:47:45 +00:00
Aleksey Shipilev
fd329f2a37 8316880: AArch64: "stop: Header is not fast-locked" with -XX:-UseLSE since JDK-8315880
Reviewed-by: aph
Backport-of: b6a97c0780
2023-10-19 18:45:46 +00:00
Ludvig Janiuk
abfe95025d 8317327: Remove JT_JAVA dead code in jib-profiles.js
Reviewed-by: ihse
2023-10-19 18:39:04 +00:00
Archie Cobbs
b59b560a2a 8317818: Combinatorial explosion during 'this' escape analysis
Backport-of: 17535c34bc
2023-10-19 18:37:08 +00:00
Aleksey Shipilev
c41fc4a973 8316181: Move the fast locking implementation out of the .ad files
Backport-of: b48dbf6bfa
2023-10-19 18:34:35 +00:00
Aleksey Shipilev
876f78e312 8316396: Endless loop in C2 compilation triggered by AddNode::IdealIL
Reviewed-by: thartmann
Backport-of: b0d6c8472f
2023-10-19 18:32:10 +00:00
Aleksey Shipilev
61ec9854c5 8316735: Print LockStack in hs_err files
Backport-of: 20ff603108
2023-10-19 18:31:41 +00:00
Rajan Halade
055cfe0094 8268916: Tests for AffirmTrust roots
Backport-of: 8c1bb2b280
2023-10-19 18:31:27 +00:00
Aleksey Shipilev
dc8603cb4c 8316958: Add test for unstructured locking
Backport-of: bcafec54a5
2023-10-19 18:31:05 +00:00
Aleksey Shipilev
94bb191b42 8317262: LockStack::contains(oop) fails "assert(t->is_Java_thread()) failed: incorrect cast to JavaThread"
Backport-of: 4ea1b99c1a
2023-10-19 18:30:16 +00:00
Aleksey Shipilev
7b4ab28552 8295068: SSLEngine throws NPE parsing CertificateRequests
Backport-of: 5667afc362
2023-10-19 18:29:38 +00:00
Aleksey Shipilev
87ca29312f 8309663: test fails "assert(check_alignment(result)) failed: address not aligned: 0x00000008baadbabe"
Backport-of: 83edffa608
2023-10-19 18:28:23 +00:00
Aleksey Shipilev
55d0c79089 8316929: Shenandoah: Shenandoah degenerated GC and full GC need to cleanup old OopMapCache entries
Backport-of: e25121d1d9
2023-10-19 18:26:14 +00:00
robm
e796082e57 Merge 2023-10-18 13:12:04 +00:00
Archie Cobbs
8047100e66 8317336: Assertion error thrown during 'this' escape analysis
Backport-of: a8473b7079
2023-10-17 08:32:28 +00:00
Christoph Langer
a2092fe573 8317803: Exclude java/net/Socket/asyncClose/Race.java on AIX
Backport-of: 1161e3da14
2023-10-17 05:10:05 +00:00
Christoph Langer
ddc51f22f6 8219652: [aix] Tests failing with JNI attach problems.
8317136: [AIX] Problem List runtime/jni/terminatedThread/TestTerminatedThread.java
8317790: Fix Bug entry for exclusion of runtime/jni/terminatedThread/TestTerminatedThread.java on AIX

Reviewed-by: mbaesken
Backport-of: 0b0f8b55a6
2023-10-17 05:09:30 +00:00
rreddy
a4e78f30fc Merge remote-tracking branch 'jdk21u/master' 2023-10-17 05:09:29 +00:00
Christoph Langer
acbd31b853 8312078: [PPC] JcmdScale.java Failing on AIX
Backport-of: c1a3f143bf
2023-10-17 05:08:19 +00:00
Christoph Langer
0ce6596180 8317839: Exclude java/nio/channels/Channels/SocketChannelStreams.java on AIX
Backport-of: ca96fd3b07
2023-10-17 05:07:48 +00:00
Christoph Langer
d5f2752f6a 8311261: [AIX] TestAlwaysPreTouchStacks.java fails due to java.lang.RuntimeException: Did not find expected NMT output
Backport-of: d5c6b0d0bb
2023-10-17 05:07:17 +00:00
Rajan Halade
d47d9ef999 8317967: Enhance test/jdk/javax/net/ssl/TLSCommon/SSLEngineTestCase.java to handle default cases
Reviewed-by: mullan
Backport-of: 9728e21db1
2023-10-16 16:30:12 +00:00
Matthias Baesken
65941f8d31 8312467: relax the builddir check in make/autoconf/basic.m4
Backport-of: 6e3cc131da
2023-10-16 14:30:12 +00:00
Thomas Stuefe
1deb1e2e52 8317772: NMT: Make peak values available in release builds
Backport-of: 32ccf018eb
2023-10-16 14:19:51 +00:00
Aleksey Shipilev
252fe467be 8315062: [GHA] get-bootjdk action should return the abolute path
Backport-of: 99ea8bf2b9
2023-10-16 14:09:28 +00:00
Aleksey Shipilev
017b78b3cc 8315960: test/jdk/java/io/File/TempDirDoesNotExist.java leaves test files behind
Reviewed-by: bpb
Backport-of: 373cdf257d
2023-10-16 14:08:52 +00:00
Aleksey Shipilev
3123caa6f6 8317294: Classloading throws exceptions over already pending exceptions
Backport-of: d4c904d819
2023-10-16 14:08:10 +00:00
Daniel Fuchs
fe29973a1e 8317736: Stream::handleReset locks twice
Backport-of: 508fa71753
2023-10-16 13:49:43 +00:00
Joachim Kern
3a21544d3d 8315026: ProcessHandle implementation listing processes on AIX should use getprocs64
Backport-of: 4d9042043e
2023-10-16 13:49:02 +00:00
Prajwal Kumaraswamy
f281d5a444 8316976: Improve signature handling
Backport-of: ed1269b7410759e8fa0d97d85328f20d11ae8d9a
2023-10-13 14:44:39 +00:00
Christoph Langer
7d0a937446 8317705: ProblemList sun/tools/jstat/jstatLineCountsX.sh on linux-ppc64le and aix due to JDK-8248691
Backport-of: ad6dce376d
2023-10-11 05:54:43 +00:00
Christoph Langer
9feae27840 8317711: Exclude gtest/GTestWrapper.java on AIX
Backport-of: ef41aa02b8
2023-10-11 05:47:11 +00:00
Christoph Langer
064a21d6d7 8317706: Exclude java/awt/Graphics2D/DrawString/RotTransText.java on linux
Backport-of: fcff222f92
2023-10-11 05:45:09 +00:00
Ludvig Janiuk
3dc3c7601c 8316906: Clarify TLABWasteTargetPercent flag
Backport-of: 77fac0f4c6
2023-10-10 19:50:15 +00:00
Aleksey Shipilev
2f6d7adbd1 8316418: containers/docker/TestMemoryWithCgroupV1.java get OOM killed with Parallel GC
Backport-of: 7352bb9105
2023-10-10 18:22:41 +00:00
Goetz Lindenmaier
f73a8e1368 8309974: some JVMCI tests fail when VM options include -XX:+EnableJVMCI
Backport-of: 8b4af46be4
2023-10-10 18:12:30 +00:00
Goetz Lindenmaier
ac6d84cb90 8232839: JDI AfterThreadDeathTest.java failed due to "FAILED: Did not get expected IllegalThreadStateException on a StepRequest.enable()"
Backport-of: 84184f9473
2023-10-10 18:09:49 +00:00
Brian Burkhalter
edc15aa6ed 8313368: (fc) FileChannel.size returns 0 on block special files
Backport-of: 4ba81f631f
2023-10-10 14:33:23 +00:00
Aleksey Shipilev
e22d333feb 8314120: Add tests for FileDescriptor.sync
Backport-of: 2e8a0ab272
2023-10-10 07:16:42 +00:00
Aleksey Shipilev
1bcaff307e 8316130: Incorrect control in LibraryCallKit::inline_native_notify_jvmti_funcs
Backport-of: 4b65483921
2023-10-10 06:54:08 +00:00
Aleksey Shipilev
f2cb058bf8 8316337: (bf) Concurrency issue in DirectByteBuffer.Deallocator
Backport-of: cf74b8c2a3
2023-10-10 06:52:15 +00:00
Aleksey Shipilev
cbde98cb07 8316179: Use consistent naming for lightweight locking in MacroAssembler
Backport-of: 639ba13c4b
2023-10-10 06:51:43 +00:00
Aleksey Shipilev
7e1755d301 8315942: Sort platform enums and definitions after JDK-8304913 follow-ups
Backport-of: 1941290b79
2023-10-10 06:46:43 +00:00
Vladimir Kozlov
060c4f7589 8317121: vector_masked_load instruction is moved too early after JDK-8286941
Reviewed-by: shade, vlivanov
Backport-of: cfabcbf858
2023-10-05 13:08:46 +00:00
Matthias Baesken
643914ddb4 8314883: Java_java_util_prefs_FileSystemPreferences_lockFile0 write result errno in missing case
Backport-of: 97b94cb1cd
2023-10-05 12:07:44 +00:00
Matthias Baesken
9caf6c6c7a 8315499: build using devkit on Linux ppc64le RHEL puts path to devkit into libsplashscreen
Backport-of: ed2b4673de
2023-10-05 12:03:09 +00:00
Matthias Baesken
bd4e7067e8 8312612: handle WideCharToMultiByte return values
Backport-of: d9559f9b24
2023-10-05 11:33:15 +00:00
Matthias Baesken
2184afed8e 8316671: sun/security/ssl/SSLSocketImpl/SSLSocketCloseHang.java test fails intermittent with Read timed out
Backport-of: 1f7dfda705
2023-10-05 11:28:44 +00:00
Aleksey Shipilev
f49acbbbf1 8313656: assert(!JvmtiExport::can_support_virtual_threads()) with -XX:-DoJVMTIVirtualThreadTransitions
Backport-of: b38bcae1ba
2023-10-05 07:35:05 +00:00
Zdenek Zambersky
667e639964 8316540: StoreReproducibilityTest fails on some locales
Backport-of: f7578e8048
2023-10-05 07:34:32 +00:00
rreddy
f0be683ef8 Merge remote-tracking branch 'jdk21u/master' 2023-10-05 05:49:06 +00:00
Soumadipta Roy
d9bb3caf4d 8315683: Parallelize java/util/concurrent/tck/JSR166TestCase.java
Backport-of: 4415261688
2023-10-04 22:31:49 +00:00
Soumadipta Roy
66c77d9502 8315937: Enable parallelism in vmTestbase/nsk/stress/numeric tests
Backport-of: eb1f67b160
2023-10-04 21:07:35 +00:00
Soumadipta Roy
90f456c574 8315766: Parallelize gc/stress/TestStressIHOPMultiThread.java test
Backport-of: edd454b502
2023-10-04 17:59:30 +00:00
Brian Burkhalter
834c45ccc6 8316156: ByteArrayInputStream.transferTo causes MaxDirectMemorySize overflow
Backport-of: 5cacf212f0
2023-10-04 17:38:06 +00:00
Vladimir Kozlov
e76be61923 8317121: vector_masked_load instruction is moved too early after JDK-8286941
Reviewed-by: shade, vlivanov
Backport-of: cfabcbf858
2023-10-04 16:51:52 +00:00
Aleksey Shipilev
60001763df 8314551: More generic way to handshake GC threads with monitor deflation
Reviewed-by: rkennke
Backport-of: 31c4e03d5d
2023-10-04 12:22:04 +00:00
Christoph Langer
f4550497ea 8316710: Exclude java/awt/font/Rotate/RotatedTextTest.java
Backport-of: ad6df41a9e
2023-10-04 10:47:39 +00:00
Aleksei Voitylov
6a4e492019 8316879: RegionMatches1Tests fails if CompactStrings are disabled after JDK-8302163
Backport-of: cfcbfc6cae
2023-10-04 10:13:25 +00:00
Ilya Gavrilin
915892d5c7 8313779: RISC-V: use andn / orn in the MD5 instrinsic
Backport-of: 4726960fcd
2023-10-04 09:19:47 +00:00
Aleksey Shipilev
c1f13ea2cf 8316514: Better diagnostic header for VtableStub
Backport-of: 6c61bc1950
2023-10-04 08:58:54 +00:00
Ludovic Henry
69af26c48c 8316859: RISC-V: Disable detection of V through HWCAP
Backport-of: 311c7461c8
2023-10-04 08:23:05 +00:00
Robbin Ehn
9ffec67a3f 8316566: RISC-V: Zero extended narrow oop passed to Atomic::cmpxchg
Backport-of: 2d154fcd0d
2023-10-04 08:20:42 +00:00
Goetz Lindenmaier
90d4ff6175 8312440: assert(cast != nullptr) failed: must have added a cast to pin the node
Backport-of: 01e135c910
2023-10-04 07:18:14 +00:00
Goetz Lindenmaier
610f164454 8301247: JPackage app-image exe launches multiple exe's in JDK 17+
Backport-of: dcea9bf087
2023-10-04 07:10:49 +00:00
Goetz Lindenmaier
67d2836de2 8315377: C2: assert(u->find_out_with(Op_AddP) == nullptr) failed: more than 2 chained AddP nodes?
Backport-of: ba1a46392f
2023-10-04 07:08:37 +00:00
Goetz Lindenmaier
bbfbc7b347 8308103: Massive (up to ~30x) increase in C2 compilation time since JDK 17
Backport-of: c6ab9c2905
2023-10-04 07:06:29 +00:00
Goetz Lindenmaier
48fa33a958 8301489: C1: ShortLoopOptimizer might lift instructions before their inputs
Backport-of: 73d7aa1d2c
2023-10-04 07:04:28 +00:00
Vladimir Kempik
89103c6818 8317257: RISC-V: llvm build broken
Reviewed-by: fyang
Backport-of: bd7bb67d8f
2023-10-04 06:56:36 +00:00
Fei Yang
b4bb944796 8316743: RISC-V: Change UseVectorizedMismatchIntrinsic option result to warning
Backport-of: 750da00129
2023-10-04 01:10:52 +00:00
Saravana Kumar Vijayasekaran
65ae942188 8317439: Updating RE Configs for BUILD REQUEST 21.0.2+1
Reviewed-by: robm
2023-10-03 16:17:14 +00:00
Coleen Phillimore
4d078930ee 8317331: Solaris build failed with "declaration can not follow a statement (E_DECLARATION_IN_CODE)"
Backport-of: 852276d1f833d49802693f2a5a82ba6eb2722de6
2023-10-02 18:48:54 +00:00
Coleen Phillimore
08980a0a60 8314295: Enhance verification of verifier
Reviewed-by: dholmes, poonam, dlong
2023-09-29 13:01:13 +00:00
Gui Cao
b12961d94d 8316933: RISC-V: compiler/vectorapi/VectorCastShape128Test.java fails when using RVV
Backport-of: e39197ec62
2023-09-28 15:34:05 +00:00
Manukumar V S
b0ad09d24d 8315606: Open source few swing text/html tests
Backport-of: 4127fbb9ed
2023-09-28 15:08:50 +00:00
Matthias Baesken
8f05d86191 8316341: sun/security/pkcs11/PKCS11Test.java needs adjustment on Linux ppc64le Ubuntu 22
Backport-of: aa0ebeedb1
2023-09-28 14:22:48 +00:00
Manukumar V S
d3c89cd722 8315606: Open source few swing text/html tests
Backport-of: 4127fbb9ed
2023-09-28 13:37:35 +00:00
Soumadipta Roy
3130e03843 8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with -XX:-VerifyDependencies
Backport-of: 877731d2a2
2023-09-26 14:44:03 +00:00
Man Cao
ea00fcab99 8316468: os::write incorrectly handles partial write
Backport-of: 7ce5bd1590
2023-09-25 20:07:05 +00:00
Alexey Ivanov
e2f32f1abd 8316206: Test StretchedFontTest.java fails for Baekmuk font
Ignore broken fonts, i.e. the fonts for which
GlyphVector(TEXT).getVisualBounds().isEmpty() returns true

Backport-of: 00f585bd22
2023-09-25 14:19:55 +00:00
Matthias Baesken
be274aaa03 8313575: Refactor PKCS11Test tests
Backport-of: 7a08e6bdd6
2023-09-25 13:47:36 +00:00
Ludvig Janiuk
ccf8451691 8316199: Remove sun/tools/jstatd/TestJstatd* tests from problemlist for Windows.
Reviewed-by: coffeys, kevinw
Backport-of: 903b9e8dd9
2023-09-25 13:33:45 +00:00
Ludvig Janiuk
768592a52f 8314476: TestJstatdPortAndServer.java failed with "java.rmi.NoSuchObjectException: no such object in table"
Reviewed-by: kevinw
Backport-of: 1d0250709a
2023-09-25 07:56:41 +00:00
Matthias Baesken
86a1a44a62 8313252: Java_sun_awt_windows_ThemeReader_paintBackground release resources in early returns
Backport-of: 3671d83c87
2023-09-25 07:07:27 +00:00
Matthias Baesken
c6ff3f7cf7 8313164: src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp GetRGBPixels adjust releasing of resources
Backport-of: b7545a69a2
2023-09-25 07:03:49 +00:00
Matthias Baesken
3b589198f3 8315213: java/lang/ProcessHandle/TreeTest.java test enhance output of children
Backport-of: f3aeb024d9
2023-09-25 06:54:42 +00:00
Rajat Mahajan
9983caa261 8294427: Check boxes and radio buttons have rendering issues on Windows in High DPI env
Backport-of: a63afa4aa6
2023-09-22 17:56:42 +00:00
Ilya Gavrilin
4eafc454c2 8313322: RISC-V: implement MD5 intrinsic
Backport-of: b093880acd
2023-09-22 17:34:57 +00:00
Aleksey Shipilev
305be8f768 8314045: ArithmeticException in GaloisCounterMode
Backport-of: f41c267f85
2023-09-22 15:36:42 +00:00
Aleksey Shipilev
487a726c52 8316178: Better diagnostic header for CodeBlobs
Backport-of: d575968b4b
2023-09-22 15:36:10 +00:00
Rajan Halade
3b690f1964 8308592: Framework for CA interoperability testing
Reviewed-by: mullan
Backport-of: da57d2a1eb
2023-09-22 15:29:36 +00:00
Aleksey Shipilev
e2bfc22b64 8315578: PPC builds are broken after JDK-8304913
Backport-of: 9559e035d2
2023-09-22 15:17:45 +00:00
Aggelos Biboudis
fa642371ad 8314632: Intra-case dominance check fails in the presence of a guard
Backport-of: 81f8c57e4a
2023-09-22 08:00:05 +00:00
Aggelos Biboudis
742ff74e59 8314226: Series of colon-style fallthrough switch cases with guards compiled incorrectly
Backport-of: 3b0a6d2a68
2023-09-22 07:58:11 +00:00
Daniel Fuchs
cea40621b0 8316031: SSLFlowDelegate should not log from synchronized block
Backport-of: dc5ca1d379
2023-09-21 14:23:11 +00:00
Christoph Langer
c0adad2f03 8316400: Exclude jdk/jfr/event/runtime/TestResidentSetSizeEvent.java on AIX
Backport-of: 2e2d49c76d
2023-09-21 13:14:41 +00:00
Christoph Langer
c86bad51a8 8316387: Exclude more failing multicast tests on AIX after JDK-8315651
8316399: Exclude java/net/MulticastSocket/Promiscuous.java on AIX

Reviewed-by: mbaesken
Backport-of: e62419823a
2023-09-21 13:12:41 +00:00
Christoph Langer
b9f54bd0a7 8315651: Stop hiding AIX specific multicast socket errors via NetworkConfiguration (aix)
Backport-of: e22eb06a3b
2023-09-21 13:12:12 +00:00
Andreas Steiner
f33c9a39fa 8313244: NM flags handling in configure process
Backport-of: 12326770dc
2023-09-21 12:34:37 +00:00
Aleksey Shipilev
b8c5a9ae1a 8315579: SPARC64 builds are broken after JDK-8304913
Backport-of: cfc148930b
2023-09-21 12:08:37 +00:00
Matthias Baesken
2155ada9f6 8313206: PKCS11 tests silently skip execution
Backport-of: 515add88ed
2023-09-21 12:07:57 +00:00
Chad Rakoczy
2f3e151106 8311813: C1: Uninitialized PhiResolver::_loop field
Backport-of: 489a32fe40
2023-09-20 15:40:40 +00:00
Matthias Baesken
fc11f381e8 8315644: increase timeout of sun/security/tools/jarsigner/Warning.java
Backport-of: 8bbebbba8f
2023-09-20 14:15:09 +00:00
Matthias Baesken
acd23acf80 8316123: ProblemList serviceability/dcmd/gc/RunFinalizationTest.java on AIX
Backport-of: 36552e7193
2023-09-20 07:29:26 +00:00
Elif Aslan
46f210c4a1 8311514: Incorrect regex in TestMetaSpaceLog.java
Backport-of: 9084b6c9d5
2023-09-19 19:21:02 +00:00
Sean Coffey
f885c25dc5 8316087: Test SignedLoggerFinderTest.java is still failing
Backport-of: ff240a9135
2023-09-19 16:11:09 +00:00
Sean Coffey
23125787f0 8315696: SignedLoggerFinderTest.java test failed
Backport-of: e409d07ae8
2023-09-19 16:00:27 +00:00
Sean Coffey
51d738b6b1 8314263: Signed jars triggering Logger finder recursion and StackOverflowError
Backport-of: 7daae1fb42
2023-09-19 15:47:37 +00:00
Aleksey Shipilev
ad222a46f9 8299614: Shenandoah: STW mark should keep nmethod/oops referenced from stack chunk alive
Backport-of: ece9bdfc83
2023-09-19 07:13:29 +00:00
Gui Cao
1899ad0731 8315931: RISC-V: xxxMaxVectorTestsSmokeTest fails when using RVV
Backport-of: 4070829ae5
2023-09-19 06:37:17 +00:00
robm
587a7ca82e Merge 2023-09-18 23:20:31 +00:00
Calvin Cheung
9ebc5ac923 8314649: Enhanced archival support redux
Reviewed-by: iklam
2023-09-18 23:17:21 +00:00
Sean Mullan
86a1699e5f 8309966: Enhanced TLS connections
Backport-of: d25ee81f56d67f2c51ba8b8c59f470c6f88ae47f
2023-09-18 23:17:16 +00:00
Calvin Cheung
5f5061fea8 8312248: Enhanced archival support redux
Backport-of: c2100a627d578901dffbbe631e5a6c9b88ca2209
2023-09-18 23:16:59 +00:00
pavel_kharskii
091ebfa5b6 8311682: Change milestone to fcs for all releases
Reviewed-by: coffeys
2023-09-18 23:14:30 +00:00
Prasadrao Koppula
b29310664f 8286503: Enhance security classes
Reviewed-by: wetmore
Backport-of: 7f5e120a631ffda3e6d5efc03bae572b21877b69
2023-09-18 23:14:27 +00:00
Rob McKenna
b8f0f91e4f 8315702: jcmd Thread.dump_to_file slow with millions of virtual threads
Backport-of: 3c258ac907
2023-09-15 19:07:20 +00:00
Rob McKenna
84cde0f4fb 8314759: VirtualThread.parkNanos timeout adjustment when pinned should be replaced
Backport-of: d9fc6b6933
2023-09-15 19:03:09 +00:00
Rob McKenna
dfc32a08d9 8312166: (dc) DatagramChannel's socket adaptor does not release carrier thread when blocking in receive
Backport-of: 028068a655
2023-09-15 18:39:06 +00:00
Rob McKenna
918ce3e9f5 8309545: Thread.interrupted from virtual thread needlessly resets interrupt status
Backport-of: 97df6cf55a
2023-09-15 18:30:37 +00:00
Aleksey Shipilev
5524b5e2e8 8316113: Infinite permission checking loop in java/net/spi/InetAddressResolverProvider/RuntimePermissionTest
Backport-of: 947dee7f2d
2023-09-14 08:48:56 +00:00
Matthias Baesken
42e5cd806a 8314121: test tools/jpackage/share/RuntimePackageTest.java#id0 fails on RHEL8
Backport-of: 8107eab3c0
2023-09-13 14:58:24 +00:00
Aleksey Shipilev
88633d9661 8308452: Extend internal Architecture enum with byte order and address size
8310982: jdk/internal/util/ArchTest.java fails after JDK-8308452 failed with Method isARM()

Backport-of: d6dd0dc3e0
2023-09-13 14:35:23 +00:00
Matthias Baesken
0294541d69 8315751: RandomTestBsi1999 fails often with timeouts on Linux ppc64le
Backport-of: 9887cd8adc
2023-09-13 14:18:54 +00:00
Joachim Kern
3eaecb05dc 8313873: java/nio/channels/DatagramChannel/SendReceiveMaxSize.java fails on AIX due to small default RCVBUF size and different IPv6 Header interpretation
Backport-of: 486fa08d4b
2023-09-13 14:02:14 +00:00
Jan Lahoda
efd090a6a0 8313792: Verify 4th party information in src/jdk.internal.le/share/legal/jline.md
Backport-of: 87a6acbeee
2023-09-13 13:37:07 +00:00
Christoph Langer
f6426fa38e 8314094: java/lang/ProcessHandle/InfoTest.java fails on Windows when run as user with Administrator privileges
Backport-of: 69c9ec92d0
2023-09-13 10:02:53 +00:00
William Kemper
9b983f30bd 8314935: Shenandoah: Unable to throw OOME on back-to-back Full GCs
Backport-of: 716201c77d
2023-09-12 16:56:24 +00:00
Jan Lahoda
1dac78c38e 8315735: VerifyError when switch statement used with synchronized block
Backport-of: 726c9c977d
2023-09-12 09:22:50 +00:00
Sidraya Jayagond
27f635fabe 8311630: [s390] Implementation of Foreign Function & Memory API (Preview)
Backport-of: ec1f7a8480
2023-09-12 09:07:09 +00:00
Matthias Baesken
acf28f4cd9 8311631: When multiple users run tools/jpackage/share/LicenseTest.java, Permission denied for writing /var/tmp/*.files
Reviewed-by: asemenyuk
Backport-of: fac9f88c52
2023-09-12 07:26:26 +00:00
Matthias Baesken
292ac0f7ba 8311938: Add default cups include location for configure on AIX
Backport-of: c4b8574b94
2023-09-12 07:16:01 +00:00
Andreas Steiner
d99b62b62f 8312466: /bin/nm usage in AIX makes needs -X64 flag
Backport-of: 44576a7cca
2023-09-12 07:13:28 +00:00
Matthias Baesken
2d8be5c74e 8315214: Do not run sun/tools/jhsdb tests concurrently
Backport-of: 1e7e2bcf35
2023-09-12 07:07:50 +00:00
Rajat Mahajan
82bb82a6e2 8311585: Add JRadioButtonMenuItem to bug8031573.java
Backport-of: 4f90abaf17
2023-09-11 18:10:48 +00:00
Christian Stein
8565c71036 8315863: [GHA] Update checkout action to use v4
Backport-of: b74805d383
2023-09-11 10:17:34 +00:00
Terry Chow
19279305d5 8308593: Add KEEPALIVE Extended Socket Options Support for Windows
Backport-of: f3ade388da
2023-09-11 09:45:33 +00:00
Aleksey Shipilev
3973d5ec59 8315549: CITime misreports code/total nmethod sizes
Reviewed-by: kvn
Backport-of: ab12c5d32f
2023-09-11 09:18:15 +00:00
Vladimir Kempik
9343d4666a 8315612: RISC-V: intrinsic for unsignedMultiplyHigh
Backport-of: 5d3fdc1750
2023-09-08 20:25:59 +00:00
Robbin Ehn
8477ff8570 8315206: RISC-V: hwprobe query is_set return wrong value
Backport-of: 876a725af9
2023-09-06 13:11:35 +00:00
Jan Lahoda
aef25fcac1 8315452: Erroneous AST missing modifiers for partial input
Reviewed-by: asotona, vromero
Backport-of: 84425a6290
2023-09-06 07:18:56 +00:00
Aleksey Shipilev
6e54e82865 8314495: Update to use jtreg 7.3.1
Reviewed-by: phh
Backport-of: c50315de8f
2023-09-05 15:27:41 +00:00
Mandy Chung
b207ce7761 8315383: jlink SystemModulesPlugin incorrectly parses the options
8311591: Add SystemModulesPlugin test case that splits module descriptors with new local variables defined by DedupSetBuilder

Reviewed-by: phh
Backport-of: ea5aa61c8c
2023-09-05 15:27:07 +00:00
Aleksey Shipilev
f1e8b19f8b 8313167: Update to use jtreg 7.3
Backport-of: 9c6eb67e85
2023-09-05 14:21:35 +00:00
Rob McKenna
f07c8f2116 8315688: Update jdk21u fix version to 21.0.2
Reviewed-by: mdoerr, coffeys
2023-09-05 13:01:52 +00:00
rreddy
a19f2fdbad Merge remote-tracking branch 'jdk21u/master' 2023-09-05 07:52:10 +00:00
Jan Lahoda
49bef915bc 8313323: javac -g on a java file which uses unnamed variable leads to ClassFormatError when launching that class
Backport-of: adfc1d6cd2
2023-09-05 07:25:02 +00:00
Jan Lahoda
a4d64abf2a 8315534: Incorrect warnings about implicit annotation processing
Backport-of: 94a74a0a45
2023-09-05 07:23:04 +00:00
rreddy
7c83730233 Merge remote-tracking branch 'upstream/master' 2023-09-05 06:46:55 +00:00
Martin Doerr
fbc194a333 8299658: C1 compilation crashes in LinearScan::resolve_exception_edge
Backport-of: cf2d33ca2e
2023-09-04 20:15:14 +00:00
airsquared
b86a0ce1b6 8309032: jpackage does not work for module projects unless --module-path is specified
Backport-of: dfe764e3f8
2023-09-04 18:29:47 +00:00
Roman Marchenko
efb11c1b18 8314024: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info
Reviewed-by: thartmann
Backport-of: ed1ea5fe7c
2023-09-04 12:50:00 +00:00
Alexander Scherbatiy
91e37e9056 8311033: [macos] PrinterJob does not take into account Sides attribute
Backport-of: a3d67231a7
2023-09-04 10:13:05 +00:00
Aleksey Shipilev
72980bd898 8315051: jdk/jfr/jvm/TestGetEventWriter.java fails with non-JVMCI GCs
Backport-of: 145d8bc1a3
2023-09-04 06:38:37 +00:00
Tobias Hartmann
233076e534 8313626: C2 crash due to unexpected exception control flow
Backport-of: f8203cb272
2023-09-01 06:14:24 +00:00
Ao Qi
33ce611eb7 8315020: The macro definition for LoongArch64 zero build is not accurate.
Backport-of: 725ec0ce1b
2023-09-01 03:40:17 +00:00
Thomas Stuefe
5589b9ec51 8312585: Rename DisableTHPStackMitigation flag to THPStackMitigation
Backport-of: 226cdc696d
2023-08-31 15:05:45 +00:00
Aleksey Shipilev
5cd6929a2c 8314656: GHA: No need for Debian ports keyring installation after JDK-8313701
Backport-of: 76b9011c9e
2023-08-31 08:01:35 +00:00
rreddy
d35bbe7796 Merge remote-tracking branch 'upstream/master' 2023-08-31 05:00:31 +00:00
Sergey Bylokhov
70c05d1b07 8312535: MidiSystem.getSoundbank() throws unexpected SecurityException
Backport-of: 87298d2ade
2023-08-31 04:03:11 +00:00
Alexander Matveev
d55535d2e8 8308042: [macos] Developer ID Application Certificate not picked up by jpackage if it contains UNICODE characters
Backport-of: 57a322da9b
2023-08-30 21:26:44 +00:00
Chris Plummer
bb1adb1d3d 8314679: SA fails to properly attach to JVM after having just detached from a different JVM
Backport-of: 38a9edfb7e
2023-08-30 18:50:25 +00:00
nibjen
c7cff818b5 8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
Reviewed-by: hchao
Backport-of: e47a84f23d
2023-08-30 17:32:02 +00:00
Matthias Baesken
071ec8d04b 8313691: use close after failing os::fdopen in vmError and ciEnv
Backport-of: 96304f37f8
2023-08-30 12:50:13 +00:00
Aleksey Shipilev
511224ac14 8313262: C2: Sinking node may cause required cast to be dropped
Backport-of: 1cee3b9fd9
2023-08-30 05:55:56 +00:00
Oli Gillespie
42aec91488 8313874: JNI NewWeakGlobalRef throws exception for null arg
Backport-of: 028b3ae1b1
2023-08-29 13:53:10 +00:00
Oli Gillespie
c1892758ce 8313678: SymbolTable can leak Symbols during cleanup
Backport-of: 4b2703ad39
2023-08-29 13:52:32 +00:00
Thomas Stuefe
af9d11eb22 8314139: TEST_BUG: runtime/os/THPsInThreadStackPreventionTest.java could fail on machine with large number of cores
Backport-of: 7332502883
2023-08-29 10:03:54 +00:00
Andrew John Hughes
77b5fa2d9b 8284772: GHA: Use GCC Major Version Dependencies Only
Backport-of: 7e843c22e7
2023-08-29 02:30:56 +00:00
Sidraya Jayagond
8bf3ba34b5 8309889: [s390] Missing return statement after calling jump_to_native_invoker method in generate_method_handle_dispatch.
Backport-of: 514816ed7d
2023-08-28 21:20:52 +00:00
Tyler Steele
2408df237e 8309475: Test java/foreign/TestByteBuffer.java fails: a problem with msync (aix)
Backport-of: 395fc78880
2023-08-28 21:14:53 +00:00
Weibing Xiao
1f5ba7a8d6 8314063: The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection
Backport-of: f2383b3cbd
2023-08-28 16:00:05 +00:00
Thomas Stuefe
34e9be5154 8312620: WSL Linux build crashes after JDK-8310233
Backport-of: 25058cd23a
2023-08-28 15:42:25 +00:00
Thomas Stuefe
4cca633e37 8312182: THPs cause huge RSS due to thread start timing issue
8310687: JDK-8303215 is incomplete

Backport-of: 84b325b844
2023-08-28 15:34:42 +00:00
Thomas Stuefe
89234bc31d 8303815: Improve Metaspace test speed
Backport-of: de0e46c2f6
2023-08-28 15:32:21 +00:00
Thomas Stuefe
3f889a8d25 8312394: [linux] SIGSEGV if kernel was built without hugepage support
Backport-of: 94eb44b192
2023-08-26 05:33:05 +00:00
Rajan Halade
4909911fde 8314960: Add Certigna Root CA - 2
Backport-of: e9ba8d5a0e
2023-08-25 20:06:49 +00:00
Patricio Chilano Mateo
f5eef2021a 8314850: SharedRuntime::handle_wrong_method() gets called too often when resolving Continuation.enter
Backport-of: 8e4240c316
2023-08-25 19:50:55 +00:00
Ben Taylor
46ce5553e4 8313796: AsyncGetCallTrace crash on unreadable interpreter method pointer
Backport-of: 0e2c72d7a5
2023-08-25 19:50:22 +00:00
Sean Coffey
b96aa3c42e 8311592: ECKeySizeParameterSpec causes too many exceptions on third party providers
Backport-of: e554fdee25
2023-08-25 18:22:06 +00:00
Aleksey Shipilev
a34b844428 8313701: GHA: RISC-V should use the official repository for bootstrap
Backport-of: 538f9557b8
2023-08-25 17:00:23 +00:00
Valerie Peng
c849fa5b1f 8309214: sun/security/pkcs11/KeyStore/CertChainRemoval.java fails after 8301154
Backport-of: ba6cdbe2c2
2023-08-24 19:28:05 +00:00
Roger Riggs
4729fad053 8313312: Add missing classpath exception copyright header
Reviewed-by: bpb
Backport-of: 53ca75b18e
2023-08-24 18:05:16 +00:00
Aleksey Shipilev
7a2aa86680 8314020: Print instruction blocks in byte units
Backport-of: a602624ef4
2023-08-24 13:00:16 +00:00
Aleksey Shipilev
17a7fc316d 8314730: GHA: Drop libfreetype6-dev transitional package in favor of libfreetype-dev
Backport-of: 69d900d2ce
2023-08-24 12:59:45 +00:00
Aleksey Shipilev
f6bd1691f4 8313901: [TESTBUG] test/hotspot/jtreg/compiler/codecache/CodeCacheFullCountTest.java fails with java.lang.VirtualMachineError
Backport-of: d1de3d082e
2023-08-24 12:59:05 +00:00
Christian Hagedorn
c577a11ce9 8313760: [REDO] Enhance AES performance
Co-authored-by: Andrew Haley <aph@openjdk.org>
Reviewed-by: adinn, sviswanathan, rhalade, kvn, dlong
Backport-of: 49ddb19972
2023-08-24 12:34:55 +00:00
Alexey Ivanov
6588678b81 8312555: Ideographic characters aren't stretched by AffineTransform.scale(2, 1)
Ignore bitmaps embedded into fonts for non-uniform scales

Backport-of: 62610203f1
2023-08-24 12:23:17 +00:00
Matthias Baesken
5c84a01a45 8314517: some tests fail in case ipv6 is disabled on the machine
Backport-of: 703817d21f
2023-08-24 07:41:02 +00:00
Matthias Baesken
5ad0c0c3f1 8313602: increase timeout for jdk/classfile/CorpusTest.java
Backport-of: bdac348c80
2023-08-24 07:30:25 +00:00
Tyler Steele
82d7bc57b7 8312180: (bf) MappedMemoryUtils passes incorrect arguments to msync (aix)
Backport-of: fdac6a6ac8
2023-08-24 06:13:43 +00:00
Aleksey Shipilev
c17b5d7588 8314501: Shenandoah: sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java fails
Backport-of: 812f475bc4
2023-08-24 06:08:16 +00:00
Aleksey Shipilev
f07aa56445 8314426: runtime/os/TestTrimNative.java is failing on slow machines
Backport-of: 20e94784c9
2023-08-24 06:07:02 +00:00
Aleksey Shipilev
1c3409b3a5 8313752: InstanceKlassFlags::print_on doesn't print the flag names
Backport-of: 735b16a696
2023-08-24 06:06:29 +00:00
Thomas Stuefe
d6a4e469e4 8310233: Fix THP detection on Linux
Backport-of: 37ca9024ef
2023-08-24 05:47:45 +00:00
David Holmes
3d38c53c34 8311981: Test gc/stringdedup/TestStringDeduplicationAgeThreshold.java#ZGenerational timed out
Backport-of: f142470dea
2023-08-23 22:23:16 +00:00
Calvin Cheung
1e16543a60 8314649: Enhanced archival support redux
Reviewed-by: iklam
2023-08-23 18:38:58 +00:00
Christian Hagedorn
1cab474f04 8313756: [BACKOUT] 8308682: Enhance AES performance
Backport-of: 207bd00c51
2023-08-23 09:23:05 +00:00
Gui Cao
89aea0dace 8314618: RISC-V: -XX:MaxVectorSize does not work as expected
Backport-of: a66b5df14a
2023-08-23 06:27:00 +00:00
rreddy
79b83426d6 Merge remote-tracking branch 'upstream/master' 2023-08-22 13:20:38 +00:00
Rob McKenna
e1ef69abba Merge 2023-08-22 12:42:24 +00:00
rreddy
aad67869f3 Merge remote-tracking branch 'upstream/master' 2023-08-22 08:01:09 +00:00
Feilong Jiang
8792922fc7 8314117: RISC-V: Incorrect VMReg encoding in RISCV64Frame.java
Backport-of: 5c91622885
2023-08-22 02:46:54 +00:00
Valerie Peng
334b977259 8302017: Allocate BadPaddingException only if it will be thrown
Backport-of: c27c87786a
2023-08-22 00:17:02 +00:00
Alexander Matveev
16fa05594c 8313904: [macos] All signing tests which verifies unsigned app images are failing
Reviewed-by: asemenyuk
Backport-of: ec0cc6300a
2023-08-21 20:59:31 +00:00
Aggelos Biboudis
8a09253221 8314423: Multiple patterns without unnamed variables
8314216: Case enumConstant, pattern compilation fails

Backport-of: 4331193010
2023-08-21 19:16:21 +00:00
Ben Taylor
9d1d5e78c6 8313765: Invalid CEN header (invalid zip64 extra data field size)
Backport-of: 13f6450e2e
2023-08-21 17:13:36 +00:00
Aleksey Shipilev
32a1c79066 8309591: Socket.setOption(TCP_QUICKACK) uses wrong level
Backport-of: 56a73a6f0f
2023-08-21 15:43:30 +00:00
Aleksey Shipilev
04adfb390c 8314262: GHA: Cut down cross-compilation sysroots deeper
Backport-of: 38687f1a3e
2023-08-21 14:37:00 +00:00
Thomas Schatzl
be077e0667 8314144: gc/g1/ihop/TestIHOPStatic.java fails due to extra concurrent mark with -Xcomp
Reviewed-by: ayang
Backport-of: 1925508425
2023-08-18 11:44:54 +00:00
Raffaello Giulietti
c3eda1c529 8312976: MatchResult produces StringIndexOutOfBoundsException for groups outside match
Reviewed-by: rriggs
Backport-of: 61c58fdd00
2023-08-17 19:10:50 +00:00
Mandy Chung
1e81fa55d5 8240567: MethodTooLargeException thrown while creating a jlink image
Reviewed-by: phh
Backport-of: ec7da91bd8
2023-08-17 16:11:09 +00:00
Weibing Xiao
d37d019be2 8313657: com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors
Backport-of: e56d3bc2da
2023-08-16 15:28:05 +00:00
Rob McKenna
9c24db165b Merge 2023-08-16 13:13:14 +00:00
Abhishek Kumar
f7626de5d1 8311160: [macOS, Accessibility] VoiceOver: No announcements on JRadioButtonMenuItem and JCheckBoxMenuItem
Reviewed-by: asemenov, kizune
Backport-of: c1f4595e64
2023-08-16 06:19:08 +00:00
Matthias Baesken
956d563e3c 8311511: Improve description of NativeLibrary JFR event
Backport-of: 848abd2831
2023-08-15 07:09:54 +00:00
Aleksey Shipilev
afd6c7a0bc 8310106: sun.security.ssl.SSLHandshake.getHandshakeProducer() incorrectly checks handshakeConsumers
Backport-of: db133dbc02
2023-08-15 07:06:19 +00:00
Aleksey Shipilev
56e6e4544c 8314118: Update JMH devkit to 1.37
Backport-of: 06aa3c5628
2023-08-15 07:02:56 +00:00
Aleksey Shipilev
8912d3e589 8312127: FileDescriptor.sync should temporarily increase parallelism
Reviewed-by: alanb
Backport-of: fbe51e388d
2023-08-15 07:00:00 +00:00
Aleksey Shipilev
b06ee413fb 8312625: Test serviceability/dcmd/vm/TrimLibcHeapTest.java failed: RSS use increased
Reviewed-by: stuefe
Backport-of: 117f42dbe9
2023-08-15 06:59:29 +00:00
Aleksey Shipilev
bd634d2ec7 8313307: java/util/Formatter/Padding.java fails on some Locales
Backport-of: 408987e1ca
2023-08-15 06:58:24 +00:00
Aleksey Shipilev
bdf9f4b6cc 8308474: DSA does not reset SecureRandom when initSign is called again
Reviewed-by: valeriep
Backport-of: bed9161c81
2023-08-15 06:57:50 +00:00
Aleksey Shipilev
f67c241842 8313248: C2: setScopedValueCache intrinsic exposes nullptr pre-values to store barriers
Backport-of: e8a37b90db
2023-08-10 12:05:45 +00:00
Aleksey Shipilev
fc624dfa2a 8312525: New test runtime/os/TestTrimNative.java#trimNative is failing: did not see the expected RSS reduction
Reviewed-by: stuefe
Backport-of: ad34be1f32
2023-08-10 12:02:57 +00:00
Aleksey Shipilev
a094e937bf 8293114: JVM should trim the native heap
Reviewed-by: stuefe
Backport-of: 9e4fc568a6
2023-08-10 11:56:27 +00:00
Ravi Reddy
588036aa26 8308047: java/util/concurrent/ScheduledThreadPoolExecutor/BasicCancelTest.java timed out and also had jcmd pipe errors
Backport-of: 8c9d091f19
2023-08-10 11:46:41 +00:00
Aleksey Shipilev
fd1f47c64a 8313676: Amend TestLoadIndexedMismatch test to target intrinsic directly
Backport-of: 4b192a8dc3
2023-08-10 11:46:01 +00:00
Daniel D. Daugherty
890adb6410 8314062: ProblemList jdk/jfr/tool/TestView.java on macosx-x64
Reviewed-by: naoto
2023-08-09 20:19:41 +00:00
Stefan Karlsson
8002b3e3f1 8311179: Generational ZGC: gc/z/TestSmallHeap.java failed with OutOfMemoryError
Reviewed-by: aboldtch, tschatzl
Backport-of: 28fd7a1739
2023-08-09 20:11:53 +00:00
Jim Laskey
c746fc013c 8313809: String template fails with java.lang.StringIndexOutOfBoundsException if last fragment is UTF16
Reviewed-by: redestad
Backport-of: 6864441163
2023-08-09 15:13:37 +00:00
Sean Mullan
fc9a6f0ac8 8309966: Enhanced TLS connections
Backport-of: d25ee81f56d67f2c51ba8b8c59f470c6f88ae47f
2023-08-09 14:41:09 +00:00
Jim Laskey
a07353053d 8312814: Compiler crash when template processor type is a captured wildcard
Reviewed-by: jjg, vromero
Backport-of: f14245b388
2023-08-09 10:46:42 +00:00
Aleksey Shipilev
fd7a104beb 8313402: C1: Incorrect LoadIndexed value numbering
Reviewed-by: thartmann
Backport-of: 46fbedb2be
2023-08-09 08:23:43 +00:00
Aleksey Shipilev
134e2702e6 8313707: GHA: Bootstrap sysroots with --variant=minbase
Backport-of: 29f1d8ef50
2023-08-09 08:21:54 +00:00
Tobias Hartmann
01a5df689b 8313345: SuperWord fails due to CMove without matching Bool pack
Reviewed-by: chagedorn
Backport-of: d3b578f1c9
2023-08-09 07:56:41 +00:00
Sergey Bylokhov
51d128dafd 8313576: GCC 7 reports compiler warning in bundled freetype 2.13.0
Backport-of: 8248e351d0
2023-08-08 17:41:14 +00:00
Calvin Cheung
cb01f421db 8312248: Enhanced archival support redux
Backport-of: c2100a627d578901dffbbe631e5a6c9b88ca2209
2023-08-08 15:11:39 +00:00
Tobias Hartmann
7350b3f5c3 8312909: C1 should not inline through interface calls with non-subtype receiver
Backport-of: ab1c212ac1
2023-08-08 14:21:56 +00:00
Tobias Hartmann
515387d71f 8304954: SegmentedCodeCache fails when using large pages
Backport-of: cad6114e1c
2023-08-08 14:21:17 +00:00
Christoph Langer
a21ad5503a 8311926: java/lang/ScopedValue/StressStackOverflow.java takes 9mins in tier1
Backport-of: 7304316a8c
2023-08-08 12:03:32 +00:00
rreddy
412d02d9de Merge remote-tracking branch 'upstream/master' 2023-08-08 11:33:44 +00:00
Rob McKenna
aafd687cb5 Merge 2023-08-08 10:53:05 +00:00
Jesper Wilhelmsson
bfe037a476 8312985: Remove EA from the JDK 21 version string with first RC promotion on August 10, 2023
Reviewed-by: mikael
2023-08-07 23:39:12 +00:00
Jan Lahoda
f65c4503a8 8312619: Strange error message when switching over long
Backport-of: cc2a75e11c
2023-08-07 08:17:36 +00:00
Jan Lahoda
8ebd234cbf 8312984: javac may crash on a record pattern with too few components
Backport-of: c386091734
2023-08-07 07:10:23 +00:00
Jiangli Zhou
6dc4a07556 8312401: SymbolTable::do_add_if_needed hangs when called in InstanceKlass::add_initialization_error path with requesting length exceeds max_symbol_length
Backport-of: 36f3bae556
2023-08-05 03:11:08 +00:00
Stefan Karlsson
4273487ee2 8313593: Generational ZGC: NMT assert when the heap fails to expand
Reviewed-by: eosterlund
Backport-of: 19e2c8c321
2023-08-04 11:33:06 +00:00
Christoph Langer
90249f0add 8310211: serviceability/jvmti/thread/GetStackTrace/getstacktr03/getstacktr03.java failing
Backport-of: 16134f4422
2023-08-04 09:58:07 +00:00
Christoph Langer
b0da6c16bb 8308609: java/lang/ScopedValue/StressStackOverflow.java fails with "-XX:-VMContinuations"
8310586: ProblemList java/lang/ScopedValue/StressStackOverflow.java#default with virtual threads on linux-all

Reviewed-by: mbaesken, alanb
Backport-of: 44a8aa0691
2023-08-04 09:57:33 +00:00
Justin Lu
fd789db510 8312572: JDK 21 RDP2 L10n resource files update
Reviewed-by: naoto, iris
Backport-of: 9b55e9a706
2023-08-03 20:49:36 +00:00
Matthias Baesken
0346a3469b 8311955: c++filt is now ibm-llvm-cxxfilt when using xlc17 / clang on AIX
Backport-of: 0328886450
2023-08-03 15:37:43 +00:00
Aleksey Shipilev
40092ed235 8313428: GHA: Bump GCC versions for July 2023 updates
Backport-of: ec2f38fd38
2023-08-03 15:35:31 +00:00
Aleksey Shipilev
230df9923e 8312591: GCC 6 build failure after JDK-8280982
Backport-of: 9454b2bbe1
2023-08-03 15:34:23 +00:00
Vladimir Kempik
89875df834 8310268: RISC-V: misaligned memory access in String.Compare intrinsic
Backport-of: d6245b6832
2023-08-03 15:25:11 +00:00
Matthias Baesken
46dd7333a6 8312574: jdk/jdk/jfr/jvm/TestChunkIntegrity.java fails with timeout
Reviewed-by: clanger
Backport-of: 34173ff0d1
2023-08-03 08:47:02 +00:00
Christoph Langer
f532042919 8309088: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails
Reviewed-by: mbaesken
Backport-of: 4c2e54fb05
2023-08-03 07:40:21 +00:00
Christoph Langer
610812d474 8311822: AIX : test/jdk/java/foreign/TestLayouts.java fails because of different output - expected [[i4](struct)] but found [[I4](struct)]
Reviewed-by: mbaesken
Backport-of: d1cc278260
2023-08-03 07:39:47 +00:00
Christoph Langer
f87a70debe 8303549: [AIX] TestNativeStack.java is failing with exit value 1
Reviewed-by: mbaesken
Backport-of: 5ff42d1429
2023-08-03 07:37:42 +00:00
Jorn Vernee
20ca0465b5 8313023: Return value corrupted when using CCS + isTrivial (mainline)
Reviewed-by: thartmann, mcimadamore
Backport-of: 6fca289887
2023-08-02 10:58:43 +00:00
Aleksey Shipilev
53aceba71e 8307766: Linux: Provide the option to override the timer slack
Reviewed-by: stuefe
Backport-of: 7173c3009e
2023-08-02 08:18:53 +00:00
Christoph Langer
c3519d0e53 8313256: Exclude failing multicast tests on AIX
Reviewed-by: mbaesken
Backport-of: 98a915a54c
2023-08-02 07:32:20 +00:00
Christoph Langer
5a74a8d6c3 8313404: Fix section label in test/jdk/ProblemList.txt
Reviewed-by: mbaesken
Backport-of: 94b50b714a
2023-08-02 07:31:52 +00:00
Tobias Hartmann
6f76b65ace 8312573: Failure during CompileOnly parsing leads to ShouldNotReachHere
Reviewed-by: kvn, tholenstein
2023-08-02 06:36:48 +00:00
Justin Lu
f34ac12aa7 8039165: [Doc] MessageFormat null locale generates NullPointerException
Reviewed-by: naoto, iris
Backport-of: c6396dceb9
2023-08-01 23:00:14 +00:00
Roger Riggs
a228185ebb 8310033: Clarify return value of Java Time compareTo methods
Reviewed-by: naoto
Backport-of: 8650026ff1
2023-08-01 14:35:29 +00:00
rreddy
50f35bda85 Merge remote-tracking branch 'upstream/master' 2023-08-01 12:33:52 +00:00
Rob McKenna
5c6cd06177 Merge 2023-08-01 11:07:51 +00:00
Christoph Langer
731b2e94b9 8313316: Disable runtime/ErrorHandling/MachCodeFramesInErrorFile.java on ppc64le
Reviewed-by: mbaesken
Backport-of: 807ca2d3a1
2023-08-01 07:39:35 +00:00
Matthias Baesken
d65f1c8bcb 8312395: Improve assertions in growableArray
Backport-of: b772e67e29
2023-08-01 07:29:18 +00:00
Matthias Baesken
e9e15202b6 8310321: make JDKOPT_CHECK_CODESIGN_PARAMS more verbose
Backport-of: 9eed049098
2023-08-01 07:12:42 +00:00
Matthias Baesken
22e162d62e 8309088: security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails
Backport-of: 4c2e54fb05
2023-08-01 07:12:13 +00:00
Matthias Baesken
f020851dd8 8311921: Inform about MaxExpectedDataSegmentSize in case of pthread_create failures on AIX
Backport-of: aa7367f1ec
2023-08-01 07:09:39 +00:00
David Holmes
0439d58422 8300937: Update nroff pages in JDK 21 before RC
Reviewed-by: mchung, iris, egahlin
2023-07-31 21:09:44 +00:00
Matthias Baesken
6b738ad192 8311917: MAP_FAILED definition seems to be obsolete in src/java.desktop/unix/native/common/awt/fontpath.c
Backport-of: a38a421f62
2023-07-31 14:46:52 +00:00
Paul Hohensee
a892672f4e 8313081: MonitoringSupport_lock should be unconditionally initialized after 8304074
Backport-of: a9d21c61fb
2023-07-31 14:25:22 +00:00
Ramesh Bhagavatam Gangadhar
11dbcf1799 8309305: sun/security/ssl/SSLSocketImpl/BlockedAsyncClose.java fails with jtreg test timeout
Reviewed-by: ssahoo
Backport-of: 8042a50b99
2023-07-30 06:11:05 +00:00
Sergey Bylokhov
bb63b79112 8313260: JDK21: ProblemList java/lang/ScopedValue/StressStackOverflow.java on linux-x86
Reviewed-by: clanger
2023-07-28 15:52:39 +00:00
Aleksey Shipilev
24fe96b920 8309746: Reconfigure check should include make/conf/version-numbers.conf
Backport-of: 955fc2faba
2023-07-28 08:36:56 +00:00
Matthias Baesken
bb234a0c5e 8311026: Some G1 specific tests do not set -XX:+UseG1GC
Backport-of: a7d168b522
2023-07-28 07:11:57 +00:00
Tobias Hartmann
f242c3b9f8 8313241: Temporarily disable "malformed control flow" assert to reduce noise
Reviewed-by: chagedorn, kvn, dcubed
2023-07-28 06:59:52 +00:00
Matthias Baesken
75a792b16b 8311285: report some fontconfig related environment variables in hs_err file
Backport-of: 0ef03f1228
2023-07-28 06:42:32 +00:00
Christoph Langer
1c875fd499 8313250: Exclude java/foreign/TestByteBuffer.java on AIX
Reviewed-by: rriggs
Backport-of: c05ba48b60
2023-07-27 21:41:56 +00:00
Markus Grönlund
3e9344a554 8312293: SIGSEGV in jfr.internal.event.EventWriter.putUncheckedByte after JDK-8312086
Reviewed-by: egahlin
Backport-of: 59f66a3b83
2023-07-27 16:57:33 +00:00
Daniel D. Daugherty
a10dbcecdb 8313208: ProblemList java/util/concurrent/tck/JSR166TestCase.java on select platforms
Reviewed-by: darcy
2023-07-26 19:28:12 +00:00
Daniel D. Daugherty
f666e60681 8313193: ProblemList java/util/concurrent/SynchronousQueue/Fairness.java on X64
Reviewed-by: rriggs
2023-07-26 18:51:40 +00:00
pavel_kharskii
2f36f36caa 8311681: Update the Jan CPU24_01 release date in master branch after forking Oct CPU23_10
Reviewed-by: coffeys
2023-07-26 15:54:56 +00:00
rreddy
73d42ba9f1 Merge 2023-07-26 12:00:56 +00:00
Aleksey Shipilev
e04b3061fc 8311249: Remove unused MemAllocator::obj_memory_range
Backport-of: 711cddd899
2023-07-26 11:01:47 +00:00
Rob McKenna
ffdf7acd8c Merge 2023-07-25 11:23:22 +00:00
Ravi Reddy
e636945921 8311680: Update the release version after forking Oct CPU23_10
Reviewed-by: robm
2023-07-25 05:58:50 +00:00
Serguei Spitsyn
817dc554e5 8300051: assert(JvmtiEnvBase::environments_might_exist()) failed: to enter event controller, JVM TI environments must exist
Reviewed-by: cjplummer
Backport-of: 783de32b6a
2023-07-25 00:11:16 +00:00
Daniel Jeliński
aae2cbd308 8307185: pkcs11 native libraries make JNI calls into java code while holding GC lock
Reviewed-by: alanb
Backport-of: 354c6605e3
2023-07-24 10:09:19 +00:00
Prasadrao Koppula
8b7afecff1 8286503: Enhance security classes
Reviewed-by: wetmore
Backport-of: 7f5e120a631ffda3e6d5efc03bae572b21877b69
2023-07-21 15:13:34 +00:00
Gui Cao
e106280251 8311923: TestIRMatching.java fails on RISC-V
Backport-of: e7adbdb1f1
2023-07-20 14:24:16 +00:00
Sean Mullan
ff5d9695f6 8308204: Enhanced certificate processing
Reviewed-by: jnimeh
Backport-of: ef0ea85bf1398b73bd308ba2b395c917b449aa3b
2023-07-20 12:23:27 +00:00
Johny Jose
7f658ce078 8308184: Launching java with large number of jars in classpath with java.protocol.handler.pkgs system property set can lead to StackOverflowError
Reviewed-by: jpai, coffeys
Backport-of: 268ec61d4f
2023-07-20 07:40:37 +00:00
Valerie Peng
6786fa4bfd 8311902: Concurrency regression in the PBKDF2 key impl of SunJCE provider
Reviewed-by: mullan, ascarpino, xuelei
Backport-of: 28c4d196cf
2023-07-20 01:23:53 +00:00
Chris Plummer
fde53fc715 8310551: vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java timed out due to missing prompt
Reviewed-by: sspitsyn
Backport-of: c84866ac0d
2023-07-19 19:14:33 +00:00
Vladimir Kempik
1776b3d231 8311862: RISC-V: small improvements to shift immediate instructions
Backport-of: f3b96f6937
2023-07-19 12:09:58 +00:00
Jan Lahoda
6d9da7ce62 8311815: Incorrect exhaustivity computation
Reviewed-by: vromero
Backport-of: a4412166ec
2023-07-19 08:47:20 +00:00
Aggelos Biboudis
48760d7a04 8312163: Crash in dominance check when compiling unnamed patterns
Reviewed-by: jlahoda
Backport-of: 1fc726a8b3
2023-07-19 07:37:21 +00:00
Christian Hagedorn
8198737220 8308682: Enhance AES performance
Reviewed-by: rhalade, dlong, kvn
2023-07-18 21:31:32 +00:00
Jan Lahoda
445099f87d 8303376: Better launching of JDI
Reviewed-by: mschoene, rhalade, vromero
2023-07-18 21:31:31 +00:00
Calvin Cheung
52c00a1490 8296565: Enhanced archival support
Reviewed-by: rhalade, iklam
2023-07-18 21:31:31 +00:00
Brian Burkhalter
f629339124 8305312: Enhanced path handling
Reviewed-by: rhalade, alanb
2023-07-18 21:31:31 +00:00
Ioi Lam
4e9e598da0 8294323: Improve Shared Class Data
Co-authored-by: Calvin Cheung <ccheung@openjdk.org>
Reviewed-by: coleenp, rhalade
2023-07-18 21:31:31 +00:00
Hai-May Chao
3ecfeb9183 8300596: Enhance Jar Signature validation
Reviewed-by: mullan, rhalade, mschoene, weijun
2023-07-18 21:31:31 +00:00
Lance Andersen
2905dfd58c 8302483: Enhance ZIP performance
Reviewed-by: ahgross, alanb, rhalade, coffeys
2023-07-18 21:31:31 +00:00
Michael McMahon
19790ded95 8302475: Enhance HTTP client file downloading
Reviewed-by: dfuchs, rhalade
2023-07-18 21:31:31 +00:00
Tobias Hartmann
7459f74afe 8304460: Improve array usages
Reviewed-by: iveresov, rhalade, chagedorn
2023-07-18 21:31:31 +00:00
Tobias Hartmann
241f3fdc3b 8304468: Better array usages
Reviewed-by: iveresov, rhalade, chagedorn
2023-07-18 21:31:30 +00:00
Jamil Nimeh
f026904c83 8300285: Enhance TLS data handling
Reviewed-by: ahgross, ascarpino, rhalade
2023-07-18 21:31:30 +00:00
Serguei Spitsyn
9a19016bec 8312189: ProblemList serviceability/jvmti/vthread/VThreadTLSTest/VThreadTLSTest.java#id1
Reviewed-by: amenkov
Backport-of: 3236ba0be4
2023-07-18 20:40:09 +00:00
Serguei Spitsyn
e3cfb56d8f 8311556: GetThreadLocalStorage not working for vthreads mounted during JVMTI attach
Reviewed-by: amenkov
Backport-of: 11a5115caf
2023-07-18 20:36:21 +00:00
Markus Grönlund
36aae5f36a 8311040: JFR: RecordedThread::getOSThreadId() should return -1 if thread is virtual
Reviewed-by: egahlin
Backport-of: 9905f75822
2023-07-18 19:26:17 +00:00
Jan Lahoda
7a5d6f90f0 8311038: Incorrect exhaustivity computation
Reviewed-by: vromero
Backport-of: bbb7ce5137
2023-07-18 17:50:16 +00:00
Mandy Chung
b8eddabac0 8310814: Clarify the targetName parameter of Lookup::findClass
Reviewed-by: darcy
Backport-of: b4dce0d624
2023-07-18 16:48:52 +00:00
Joakim Nordström
b380d1b3d8 8307526: [JFR] Better handling of tampered JFR repository
Reviewed-by: mgronlun
Backport-of: 66d2736521
2023-07-18 10:22:24 +00:00
Jan Lahoda
b6827ff331 8311825: Duplicate qualified enum constants not detected
Reviewed-by: vromero
Backport-of: d1fa1a8686
2023-07-18 08:22:37 +00:00
Jan Lahoda
a08c6b9b2e 8312093: Incorrect javadoc comment text
Reviewed-by: jlaskey, iris
Backport-of: 1c9691b1f7
2023-07-18 08:22:06 +00:00
Jim Laskey
4fcb0b28d7 8312098: Update man page for javadoc
Reviewed-by: darcy
2023-07-14 15:54:51 +00:00
Aleksey Shipilev
49479dbe59 8311647: Memory leak in Java_jdk_internal_org_jline_terminal_impl_jna_linux_CLibraryImpl_ttyname_1r
Reviewed-by: rriggs
Backport-of: 43099a85b1
2023-07-14 14:49:40 +00:00
Markus Grönlund
c199b8c761 8303134: JFR: Missing stack trace during chunk rotation stress
Reviewed-by: egahlin
Backport-of: 7539cc092d
2023-07-14 12:49:08 +00:00
Markus Grönlund
fd949c74ad 8244289: fatal error: Possible safepoint reached by thread that does not allow it
Reviewed-by: egahlin
Backport-of: 61932f49a5
2023-07-14 11:08:37 +00:00
Alan Bateman
281aee968a 8311867: StructuredTaskScope.shutdown does not interrupt newly started threads
Reviewed-by: jpai
Backport-of: 92a04e201e
2023-07-14 05:13:10 +00:00
Justin Lu
d370b96fb6 6960866: [Fmt-Ch] ChoiceFormat claims impossible and unimplemented functionality
Reviewed-by: naoto, lancea, iris
Backport-of: 6cb9ec32a6
2023-07-13 22:41:15 +00:00
Stuart Marks
b4f19f57e1 8306785: fix deficient spliterators for Sequenced Collections
Reviewed-by: rriggs
Backport-of: 743e8b8e0a
2023-07-13 18:02:45 +00:00
Erik Gahlin
65ed787646 8294401: Update jfr man page to include recently added features
Reviewed-by: mgronlun
Backport-of: f60c1f9bc4
2023-07-13 16:54:36 +00:00
Markus Grönlund
2475bba4ce 8311536: JFR TestNativeMemoryUsageEvents fails in huge pages configuration
Reviewed-by: egahlin
Backport-of: 6895debf66
2023-07-13 14:55:26 +00:00
Aleksey Shipilev
99d87e9097 8311645: Memory leak in jspawnhelper spawnChild after JDK-8307990
Reviewed-by: alanb
Backport-of: 401c3dea5d
2023-07-13 11:58:11 +00:00
Vladimir Petko
d174dde161 8311092: Please disable runtime/jni/nativeStack/TestNativeStack.java on armhf
Reviewed-by: dholmes
Backport-of: 0916e6a603
2023-07-13 08:34:33 +00:00
Tobias Hartmann
f79247584e 8303279: C2: crash in SubTypeCheckNode::sub() at IGVN split if
Reviewed-by: chagedorn
Backport-of: caadad4fdc
2023-07-13 08:30:36 +00:00
Robbin Ehn
5f1d762750 8310656: RISC-V: __builtin___clear_cache can fail silently.
Reviewed-by: luhenry, fyang
Backport-of: faf1b822d0
2023-07-13 07:29:56 +00:00
Stuart Marks
f6ad56bcbc 8308694: Clarify reversed() default methods' implementation requirements
Reviewed-by: naoto, bpb
Backport-of: f82c8184b2
2023-07-12 22:59:15 +00:00
Rajan Halade
82c8b28f40 8156889: ListKeychainStore.sh fails in some virtualized environments
Reviewed-by: mullan
Backport-of: 119cc495fc
2023-07-12 18:48:28 +00:00
Rajan Halade
72cf3c958f 8295894: Remove SECOM certificate that is expiring in September 2023
Reviewed-by: mullan
Backport-of: fd7fddb6ed
2023-07-12 18:17:54 +00:00
Patricio Chilano Mateo
dd48ed821b 8309637: runtime/handshake/HandshakeTimeoutTest.java fails with "has not cleared handshake op" and SIGILL
Reviewed-by: coleenp
Backport-of: 57e7e82fa1
2023-07-12 14:28:25 +00:00
Alan Bateman
3bb375080f 8310892: ScopedValue throwing StructureViolationException should be clearer
Reviewed-by: darcy, iris, lancea
Backport-of: 623cfcd04b
2023-07-12 06:49:37 +00:00
Maurizio Cimadamore
ca10804155 8311593: Minor doc issue in MemorySegment::copy
Reviewed-by: jvernee
Backport-of: 6569b252b9
2023-07-11 21:43:50 +00:00
Alexey Ivanov
480dc220bf 8311689: Wrong visible amount in Adjustable of ScrollPane
Reviewed-by: honkar, azvegint, prr
Backport-of: b3f34039fe
2023-07-11 18:44:52 +00:00
Patricio Chilano Mateo
308b4c63cb 8302351: "assert(!JavaThread::current()->is_interp_only_mode() || !nm->method()->is_continuation_enter_intrinsic() || ContinuationEntry::is_interpreted_call(return_pc)) failed: interp_only_mode but not in enterSpecial interpreted entry" in fixup_callers_callsite
Reviewed-by: coleenp
Backport-of: 0c86c31bcc
2023-07-11 13:56:12 +00:00
Erik Gahlin
c97db0db84 8311245: JFR: Remove t.printStackTrace() in PeriodicEvents
Reviewed-by: mgronlun
Backport-of: a1cfc96954
2023-07-11 12:43:52 +00:00
Hao Sun
8808ec3fbc 8311548: AArch64: [ZGC] Many tests fail with "assert(allocates2(pc)) failed: not in CodeBuffer memory" on some CPUs
Reviewed-by: tschatzl
Backport-of: 4b1403d06b
2023-07-11 07:58:48 +00:00
Erik Joelsson
99ae133f51 8308585: AC_REQUIRE: `PLATFORM_EXTRACT_TARGET_AND_BUILD' was expanded before it was required
Reviewed-by: mikael
Backport-of: 554b4d7243
2023-07-09 06:21:38 +00:00
Zhengyu Gu
413ee9f003 8309761: Leak class loader constraints
Reviewed-by: coleenp
Backport-of: 8e4e6b056c
2023-07-07 16:47:20 +00:00
Naoto Sato
773bb0a7f1 8311183: Remove unused mapping test files
Reviewed-by: lancea
Backport-of: d072c40ff1
2023-07-07 15:48:20 +00:00
Thomas Stuefe
6ef8016838 8310265: (process) jspawnhelper should not use argv[0]
Reviewed-by: rriggs
Backport-of: 47d00a4cbe
2023-07-07 13:42:54 +00:00
Tobias Hartmann
2d7ed1898b 8295210: IR framework should not whitelist -XX:-UseTLAB
Reviewed-by: epeter
Backport-of: 31dcda5d67
2023-07-07 07:08:43 +00:00
Coleen Phillimore
98ad856a98 8309140: ResourceHashtable failed "assert(~(_allocation_t[0] | allocation_mask) == (uintptr_t)this) failed: lost resource object"
Reviewed-by: iklam
Backport-of: b6c789faad
2023-07-06 19:45:48 +00:00
Tobias Hartmann
830279e054 8310425: [JVMCI] compiler/runtime/TestConstantDynamic: lookupConstant returned an object of incorrect type: null
Reviewed-by: chagedorn
Backport-of: 15878360bf
2023-07-06 12:54:48 +00:00
Hannes Wallnöfer
fb7fd58126 8311264: JavaDoc index comparator is not transitive
Reviewed-by: prappo
Backport-of: 0741cd3289
2023-07-06 12:26:14 +00:00
Pavel Rappo
bfed32bd09 8311122: Fix typos in java.base
Reviewed-by: iris
Backport-of: 7b3c2dc5f4
2023-07-06 10:43:41 +00:00
Tobias Hartmann
c86f4dea95 8311023: assert(false) failed: EA: missing memory path
Reviewed-by: chagedorn
Backport-of: 6ebb0e3bd4
2023-07-06 07:42:12 +00:00
Tobias Hartmann
0ee169f14b 8309531: Incorrect result with unwrapped iotaShuffle.
Reviewed-by: chagedorn
Backport-of: d6578bff1c
2023-07-06 06:29:41 +00:00
Serguei Spitsyn
f24c5540ff 8303086: SIGSEGV in JavaThread::is_interp_only_mode()
Reviewed-by: pchilanomate
Backport-of: 971c2efb69
2023-07-06 01:09:48 +00:00
Rajan Halade
604e03de78 8301379: Verify TLS_ECDH_* cipher suites cannot be negotiated
Reviewed-by: mullan
Backport-of: 9f64a64376
2023-07-05 17:47:20 +00:00
rreddy
8b587288b4 Merge remote-tracking branch 'jdk21u/master' 2023-07-05 09:47:57 +00:00
Rob McKenna
4078fb9472 Merge 2023-07-04 23:32:45 +00:00
Axel Boldt-Christmas
c9111d57ce 8310743: assert(reserved_rgn != nullptr) failed: Add committed region, No reserved region found
Reviewed-by: ayang
Backport-of: f393975d1b
2023-07-04 12:45:35 +00:00
Matthias Baesken
8d6ef6fd5b 8310549: avoid potential leaks in KeystoreImpl.m related to JNU_CHECK_EXCEPTION early returns
Reviewed-by: clanger
Backport-of: 7da3f1999f
2023-07-04 07:43:12 +00:00
Mandy Chung
205dffe383 8254566: Clarify the spec of ClassLoader::getClassLoadingLock for non-parallel capable loader
Reviewed-by: iris
Backport-of: b9198f9931
2023-07-03 20:58:14 +00:00
Tobias Hartmann
6de4e8f601 8310829: guarantee(!HAS_PENDING_EXCEPTION) failed in ExceptionTranslation::doit
Reviewed-by: chagedorn
Backport-of: f6bdccb45c
2023-07-03 10:37:40 +00:00
Matthias Baesken
6f3f4aa293 8310380: Handle problems in core-related tests on macOS when codesign tool does not work
Reviewed-by: cjplummer
Backport-of: 39c104df44
2023-07-03 06:58:57 +00:00
Feilong Jiang
59c18f14c2 8310873: Re-enable locked_create_entry symbol check in runtime/NMT/CheckForProperDetailStackTrace.java for RISC-V
Backport-of: 87e6fab2c4
2023-07-01 04:29:08 +00:00
Chen Liang
8088bc4033 8309819: Clarify API note in Class::getName and MethodType::toMethodDescriptorString
Reviewed-by: mchung
Backport-of: 8c8e9d911d
2023-07-01 02:44:28 +00:00
Chen Liang
bbcabe4200 8310838: Correct range notations in MethodTypeDesc specification
Reviewed-by: mchung
Backport-of: a197ee797b
2023-07-01 02:44:03 +00:00
Daniel D. Daugherty
35d592e39d 8311186: ProblemList javax/management/remote/mandatory/subjectDelegation/SubjectDelegation1Test.java on linux-aarch64
8311189: disable gc/z/TestHighUsage.java
8311190: ProblemList javax/management/remote/mandatory/connection/DeadLockTest.java with virtual threads on windows-x64
8311191: ProblemList javax/management/remote/mandatory/connection/ConnectionTest.java with virtual threads on windows-x64
8311193: ProblemList vmTestbase/nsk/jdb/interrupt/interrupt001/interrupt001.java on linux-all
8311195: ProblemList vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/TestDescription.java with Xcomp on macosx-x64

Reviewed-by: lmesnik
Backport-of: 140b70fb29
2023-06-30 22:34:06 +00:00
Axel Boldt-Christmas
6d2f34fcff 8311046: ProblemList gc/z/TestHighUsage.java with Generational ZGC
Reviewed-by: stefank
Backport-of: 2a9e2f614f
2023-06-30 13:16:03 +00:00
Tobias Hartmann
3210d32088 8309902: C2: assert(false) failed: Bad graph detected in build_loop_late after JDK-8305189
Reviewed-by: chagedorn
Backport-of: 26efff7586
2023-06-30 10:26:14 +00:00
Joe Darcy
60db329e4c 8311115: Type in java.lang.reflect.AccessFlag.METHOD_PARAMETER
Reviewed-by: prappo
Backport-of: d97966266e
2023-06-29 20:52:42 +00:00
Tobias Hartmann
91598a94f2 8310299: C2: 8275201 broke constant folding of array store check in some cases
Reviewed-by: chagedorn
Backport-of: be64d3ac3c
2023-06-29 13:01:02 +00:00
Erik Gahlin
5a31ab2820 8311007: jdk/jfr/tool/TestView.java can't find event
Reviewed-by: mgronlun
Backport-of: e3f18af1df
2023-06-29 10:57:43 +00:00
Joe Darcy
e67393fd30 8310061: Note if implicit annotation processing is being used
Reviewed-by: vromero
Backport-of: 3df36c4f10
2023-06-29 00:09:38 +00:00
Jorn Vernee
722794f920 8310914: Remove 2 malformed java/foreign ProblemList entries
Reviewed-by: jpai
Backport-of: f07e396bda
2023-06-28 19:19:33 +00:00
Jorn Vernee
45f252b7f9 8310405: Linker.Option.firstVariadicArg should specify which index values are valid
Reviewed-by: mcimadamore
Backport-of: 7fffdb5e60
2023-06-28 18:30:15 +00:00
Tobias Hartmann
687863d900 8310130: C2: assert(false) failed: scalar_input is neither phi nor a matchin reduction
Reviewed-by: kvn
Backport-of: 526dba1a29
2023-06-28 18:26:40 +00:00
Rajan Halade
ed98bd7dbd 8292704: sun/security/tools/jarsigner/compatibility/Compatibility.java use wrong key size for EC
Reviewed-by: valeriep, hchao
Backport-of: 130a9f1387
2023-06-28 18:21:33 +00:00
Archie Cobbs
359bd63b15 8305671: javac rejects semicolons in compilation units with no imports
Reviewed-by: vromero
Backport-of: a08352f621
2023-06-28 15:48:05 +00:00
Pavel Rappo
ccacc2b4da 8311034: Fix typo in javac man page
Reviewed-by: rriggs
Backport-of: f17bfeec61
2023-06-28 14:22:02 +00:00
Kevin Walls
8d9ebb6981 8303916: ThreadLists.java inconsistent results
Reviewed-by: sspitsyn
Backport-of: 8c9b85a990
2023-06-28 08:30:13 +00:00
Stefan Karlsson
0903c8dd60 8310194: Generational ZGC: Lock-order asserts in JVMTI IterateThroughHeap
Reviewed-by: ayang
Backport-of: 4e4e586dac
2023-06-28 07:35:18 +00:00
Tobias Hartmann
9998c07bd9 8310459: [BACKOUT] 8304450: [vectorapi] Refactor VectorShuffle implementation
Reviewed-by: kvn
Backport-of: ff9a754109
2023-06-28 05:19:09 +00:00
Joe Darcy
3248daee85 8310830: typo in the parameter name in @throws of ClassDesc::ofDescriptor
Reviewed-by: mchung
Backport-of: 4bce38c6d7
2023-06-27 19:56:34 +00:00
Jim Laskey
033060b22b 8310975: java.util.FormatItemModifier should not be protected
Reviewed-by: darcy
Backport-of: 315242b741
2023-06-27 19:12:26 +00:00
Naoto Sato
df26258d80 8310182: DateTimeFormatter date formats (ISO_LOCAL_DATE) separated with hyphen, not dash
Reviewed-by: rriggs
Backport-of: ec45bd64d5
2023-06-27 18:07:18 +00:00
Robbin Ehn
087d4a8c04 8309258: RISC-V: Add riscv_hwprobe syscall
Reviewed-by: luhenry, fyang
Backport-of: 31b6fd775f
2023-06-27 14:10:09 +00:00
Mandy Chung
6a4552c9a8 8310242: Clarify the name parameter to Class::forName
8310922: java/lang/Class/forName/ForNameNames.java fails after being added by JDK-8310242

Reviewed-by: dholmes
Backport-of: 7db2f08756
2023-06-27 01:59:58 +00:00
Joe Darcy
71a41f7e71 8310861: Improve location reporting for javac serial lint warnings
8310907: Add missing file

Reviewed-by: jlahoda
Backport-of: 289f218a32
2023-06-26 22:35:37 +00:00
Christian Stein
cdb8c70727 8309670: java -help output for --module-path / -p is incomplete
Reviewed-by: jjg
Backport-of: 4bf78162c5
2023-06-26 20:29:40 +00:00
Hannes Wallnöfer
8748b462db 8309471: Limit key characters in static index pages
Reviewed-by: jjg
Backport-of: 21f6d83358
2023-06-26 15:51:37 +00:00
Jaikiran Pai
63d419edd1 8310868: Thread.interrupt() method's javadoc has an incorrect {@link}
Reviewed-by: alanb
Backport-of: 013367b483
2023-06-26 10:09:11 +00:00
Frederic Thevenet
f0e80fa1a1 8309959: JFR: Display N/A for missing data amount
Reviewed-by: egahlin
Backport-of: 9872a14192
2023-06-26 08:22:35 +00:00
Joe Darcy
7489967d6a 8310676: add note about unnamed module to Elements.getAllModuleElements
Reviewed-by: jjg
Backport-of: 69f3114c41
2023-06-23 23:05:10 +00:00
Jamil Nimeh
17b6f7b9a5 8309740: Expand timeout windows for tests in JDK-8179502
Reviewed-by: xuelei, hchao
Backport-of: 5ca4cdd2ca
2023-06-23 21:59:55 +00:00
Daniel D. Daugherty
af3a56e569 8310822: JDK21: ProblemList java/lang/ScopedValue/StressStackOverflow.java on generic-x64
Reviewed-by: iris, lmesnik
2023-06-23 19:52:37 +00:00
Alexander Zuev
1bcf00167f 8309733: [macOS, Accessibility] VoiceOver: Incorrect announcements of JRadioButton
Reviewed-by: prr
Backport-of: d1d2b55ce0
2023-06-23 19:48:06 +00:00
Weibing Xiao
0ca350d002 8297856: Improve handling of Bidi characters
Backport-of: 244b89fc786894cb8cca742f91875ebb98b603ff
2023-06-23 14:54:42 +00:00
Sergey Bylokhov
8b127262a3 8304885: Reuse stale data to improve DNS resolver resiliency
Reviewed-by: djelinski, michaelm
Backport-of: bdd81b3182
2023-06-23 11:36:39 +00:00
Alan Bateman
e86d765b22 8309853: StructuredTaskScope.join description improvements
Reviewed-by: darcy
Backport-of: 3661cdee1b
2023-06-23 04:43:52 +00:00
Erik Gahlin
2f1af3cff8 8309296: jdk/jfr/event/runtime/TestAgentEvent.java fails due to "missing" dynamic JavaAgent
Reviewed-by: mgronlun
Backport-of: 658c3374d8
2023-06-22 09:38:03 +00:00
Axel Boldt-Christmas
6317249b50 8310187: Improve Generational ZGC jtreg testing
Reviewed-by: eosterlund
Backport-of: a0595761ef
2023-06-22 08:43:35 +00:00
Tobias Hartmann
55aa4cb48a 8309498: [JVMCI] race in CallSiteTargetValue recording
Reviewed-by: chagedorn, dlong
Backport-of: bb966827ac
2023-06-22 05:48:55 +00:00
Tobias Hartmann
5357bcd776 8308855: ARM32: TestBooleanVector crashes after 8300257
Reviewed-by: chagedorn, dlong
Backport-of: 266f9838ee
2023-06-22 05:48:15 +00:00
Tobias Hartmann
7621d988f9 8309266: C2: assert(final_con == (jlong)final_int) failed: final value should be integer
Reviewed-by: chagedorn, dlong
Backport-of: 4a9cc8a000
2023-06-22 05:47:41 +00:00
Tobias Hartmann
89ac41be57 8310126: C1: Missing receiver null check in Reference::get intrinsic
Reviewed-by: chagedorn, dlong
Backport-of: 02aaab12e3
2023-06-22 05:47:11 +00:00
Jan Lahoda
789b2fc4f2 8302865: Illegal bytecode for break from if with instanceof pattern matching condition
Reviewed-by: vromero
Backport-of: a15db1a56c
2023-06-22 04:24:53 +00:00
Jan Lahoda
ceadaece94 8310133: Effectivelly final condition not enforced in guards for binding variables from the same case
Reviewed-by: vromero
Backport-of: 01623f6a57
2023-06-22 04:24:20 +00:00
Serguei Spitsyn
f8a38eecc6 8309612: [REDO] JDK-8307153 JVMTI GetThreadState on carrier should return STATE_WAITING
Reviewed-by: cjplummer
Backport-of: f91e9ba757
2023-06-22 03:32:14 +00:00
Chris Plummer
722b512c40 8308499: Test vmTestbase/nsk/jdi/MethodExitRequest/addClassExclusionFilter/filter001/TestDescription.java failed: VMDisconnectedException
Reviewed-by: kevinw, sspitsyn
Backport-of: 79ff72a776
2023-06-21 17:13:00 +00:00
Darragh Clarke
a4159ddaa2 8308336: Test java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java failed: java.net.BindException: Address already in use
Reviewed-by: dfuchs
Backport-of: a48bcf3671
2023-06-21 15:10:45 +00:00
Jorn Vernee
3985a4d534 8310053: VarHandle and slice handle derived from layout are lacking alignment check
Reviewed-by: mcimadamore
Backport-of: e022e87654
2023-06-21 14:53:04 +00:00
Weibing Xiao
eccef0eef4 8296581: Better system proxy support
Reviewed-by: coffeys
Backport-of: 111811e64245ae720a0617b7de0c52c60bb2bac1
2023-06-21 13:36:34 +00:00
Vladimir Kempik
79d44fdebc 8309502: RISC-V: String.indexOf intrinsic may produce misaligned memory loads
Backport-of: 6b94289386
2023-06-21 12:34:04 +00:00
Matthias Baesken
1fc60429a1 8310191: com/sun/tools/attach/warnings/DynamicLoadWarningTest.java second failure on AIX
Reviewed-by: alanb
Backport-of: 6a63badd8e
2023-06-21 09:02:06 +00:00
Per Minborg
ef0357f6cb 8309937: Add @sealedGraph for some Panama FFM interfaces
Reviewed-by: mcimadamore
Backport-of: b412fc79c3
2023-06-21 08:13:09 +00:00
Matthias Baesken
60cae33c46 8309549: com/sun/tools/attach/warnings/DynamicLoadWarningTest.java fails on AIX
Reviewed-by: lucy, alanb
Backport-of: 4d66d97745
2023-06-21 07:48:06 +00:00
Alexey Ivanov
beb0d9579b 8310054: ScrollPane insets are incorrect
Reviewed-by: honkar, prr
Backport-of: d6c2ee3448
2023-06-20 19:20:18 +00:00
Roger Riggs
e0cc40108a 8310019: MIPS builds are broken after JDK-8304913
Reviewed-by: shade
Backport-of: 33c6ec9d4e
2023-06-20 17:39:44 +00:00
Glavo
7e788939d3 8310105: LoongArch64 builds are broken after JDK-8304913
Reviewed-by: shade
Backport-of: 137a5f7c2c
2023-06-20 16:27:48 +00:00
Rob McKenna
d02c85b56b Merge 2023-06-20 15:52:44 +00:00
David Holmes
fb6f5f1b82 8309228: Clarify EXPERIMENTAL flags comment in hotspot/share/runtime/globals.hpp
Reviewed-by: shade
Backport-of: 96a7db7b3c
2023-06-20 12:10:07 +00:00
Jim Laskey
7ca0f1460c 8309957: Rename JDK-8309595 test to conform
Reviewed-by: prappo
Backport-of: 1d1ed0d8f7
2023-06-20 12:02:35 +00:00
Jim Laskey
bfffd8b608 8309595: Allow javadoc to process unnamed classes
Reviewed-by: prappo
Backport-of: 0be39054a6
2023-06-20 11:40:09 +00:00
Jan Lahoda
ede16cd19e 8310314: Misplaced "unnamed classes are a preview feature and are disabled by default" error
Reviewed-by: jlaskey
Backport-of: 79069c5e74
2023-06-20 10:34:00 +00:00
Jaikiran Pai
08965e646e 8310259: Pin msys2/setup-msys2 github action to a specific commit
8309934: Update GitHub Actions to use JDK 17 for building jtreg

Reviewed-by: cstein, clanger
Backport-of: 959a61fdd4
2023-06-20 01:08:56 +00:00
Erik Gahlin
e0d3706f9e 8304835: jdk/jfr/event/oldobject/TestArrayInformation.java fails with "Could not find event with class ... as (leak) object"
Reviewed-by: mgronlun
Backport-of: 7d4b77ad9e
2023-06-19 15:29:05 +00:00
Erik Österlund
14c5091a9f 8310015: ZGC: Unbounded asynchronous unmapping can lead to running out of address space
Reviewed-by: stefank, aboldtch
Backport-of: 4229baf9b6
2023-06-19 14:53:11 +00:00
Erik Gahlin
36e3fe914c 8309928: JFR: View issues
Reviewed-by: mgronlun
Backport-of: 84d010a24b
2023-06-19 11:25:27 +00:00
Albert Mingkun Yang
4d81b8998a 8309960: ParallelGC young collections very slow in DelayInducer
Reviewed-by: tschatzl
2023-06-19 11:09:04 +00:00
Kim Barrett
ace56237d3 8308643: Incorrect value of 'used' jvmstat counter
Reviewed-by: tschatzl
Backport-of: 92167505b2
2023-06-19 08:41:55 +00:00
Phil Race
3698a022ff 8309756: Occasional crashes with pipewire screen capture on Wayland
Reviewed-by: azvegint
Backport-of: d3d0dbc363
2023-06-16 22:44:44 +00:00
Justin Lu
a1c1d97a4e 8309632: JDK 21 RDP1 L10n resource files update
Reviewed-by: naoto
Backport-of: 81bfd78901
2023-06-16 21:11:00 +00:00
Aggelos Biboudis
aced11446e 8310128: Switch with unnamed patterns erroneously non-exhaustive
Reviewed-by: jlahoda
Backport-of: 32243ef47d
2023-06-16 10:10:02 +00:00
Rob McKenna
40eb08d43f 8310171: Bump version numbers for 21.0.1
Reviewed-by: iris, erikj
2023-06-16 00:00:41 +00:00
Roberto Castañeda Lozano
39e98e7bbf 8303513: C2: LoadKlassNode::make fails with 'expecting TypeKlassPtr'
Reviewed-by: thartmann
Backport-of: 83d92672d4
2023-06-15 12:09:27 +00:00
Martin Doerr
07d20dc86a 8309613: [Windows] hs_err files sometimes miss information about the code containing the error
Reviewed-by: mbaesken
Backport-of: bd79db3930
2023-06-15 10:49:49 +00:00
Aleksey Shipilev
0ac92753dd 8309956: Shenandoah: Strengthen the mark word check in string dedup
Reviewed-by: rkennke
Backport-of: 57b8251241
2023-06-15 07:51:16 +00:00
Chen Liang
6711041f55 8307508: IndirectVarHandle.isAccessModeSupported throws NPE
Reviewed-by: mchung
Backport-of: 75dcc4ef94
2023-06-14 00:01:24 +00:00
Stuart Marks
f7cd0aec92 8309882: LinkedHashMap adds an errant serializable field
Reviewed-by: rriggs
Backport-of: e138685648
2023-06-13 21:09:38 +00:00
Raffaello Giulietti
e18993c006 8309955: Matcher uses @since {@inheritDoc}
Reviewed-by: bpb
Backport-of: bfef3c3e80
2023-06-13 19:06:24 +00:00
Mandy Chung
3363050f9e 8309303: jdk/internal/misc/VM/RuntimeArguments test ignores jdk/internal/vm/options
Reviewed-by: alanb
Backport-of: 679a6d8935
2023-06-13 16:48:42 +00:00
Markus Grönlund
ea4ab656b0 8309862: Unsafe list operations in JfrStringPool
Reviewed-by: egahlin
Backport-of: 05f896a153
2023-06-13 12:34:06 +00:00
Martin Doerr
08eff92b5e 8309462: [AIX] vmTestbase/nsk/jvmti/RunAgentThread/agentthr001/TestDescription.java crashing due to empty while loop
Reviewed-by: mbaesken
Backport-of: cf9e6353cc
2023-06-13 08:27:55 +00:00
Jan Lahoda
83ea293581 8309467: Pattern dominance should be adjusted
Reviewed-by: vromero
Backport-of: 408cadb351
2023-06-13 07:33:27 +00:00
Joe Darcy
b743405033 8309870: Using -proc:full should be considered requesting explicit annotation processing
Reviewed-by: jjg
Backport-of: 3ce1240ca1
2023-06-12 20:03:42 +00:00
Maurizio Cimadamore
20371fd918 8308645: Javadoc of FFM API needs to be refreshed
8309398: ValueLayout:: arrayElementVarHandle doesn't throws UnsupportedOperationException - if byteAlignment() > byteSize()
8308812: SequenceLayout::withElementCount(long elementCount) doesn't throw IllegalArgumentException - if elementCount < 0 for some cases

Reviewed-by: jvernee
2023-06-12 15:24:51 +00:00
Chris Hegarty
73a9f486ae 8309727: Assert privileges while reading the jdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK system property
Reviewed-by: uschindler, rriggs
Backport-of: cee5724d09
2023-06-12 15:07:02 +00:00
Matthias Baesken
005006e7c4 8309703: AIX build fails after JDK-8280982
Reviewed-by: mdoerr
Backport-of: 3981297fd3
2023-06-12 14:41:57 +00:00
Daniel D. Daugherty
4bf6babda5 8309760: ProblemList serviceability/jvmti/vthread/FollowReferences/VThreadStackRefTest.java#default with ZGC
Reviewed-by: darcy
Backport-of: aace3dc28c
2023-06-10 16:36:39 +00:00
Daniel D. Daugherty
406ba341fe 8309702: Exclude java/lang/ScopedValue/StressStackOverflow.java from JTREG_TEST_THREAD_FACTORY=Virtual runs
Reviewed-by: darcy
Backport-of: 307085618d
2023-06-10 01:13:01 +00:00
Stefan Karlsson
430ffe7ae6 8309675: Generational ZGC: compiler/gcbarriers/UnsafeIntrinsicsTest.java fails in nmt_commit
Reviewed-by: dcubed
Backport-of: c4e6542514
2023-06-08 20:02:55 +00:00
19341 changed files with 1270705 additions and 1209353 deletions

9
.gitattributes vendored
View File

@@ -1,10 +1 @@
* -text
*.java diff=java
*.c diff=cpp
*.h diff=cpp
*.cpp diff=cpp
*.hpp diff=cpp
*.md diff=markdown
*.sh diff=bash
*.html diff=html
*.css diff=css

224
.github/README.md vendored
View File

@@ -1,224 +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 |
|-------------|---------------------------------------------------------------------------------------------------------|---------------|
| 2024.2 | [21.0.3-b509.11](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-21.0.3b509.11) | 14-Aug-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.11-b1207.30](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.11b1207.30) | 12-Jul-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 |
## 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.
## 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)
Create a container:
```
$ cd jb/project/docker
$ docker build .
...
Successfully built 942ea9900054
```
Run these commands in the new container:
```
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
# cd /JetBrainsRuntime
# sh ./configure
# make images CONF=linux-x86_64-normal-server-release
```
### 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
```
Get Java 21 (for instance, [Azul Zulu Builds of OpenJDK 21](https://www.azul.com/downloads/?version=java-21-lts&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/`.
### 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

@@ -41,6 +41,6 @@ runs:
id: read-config
run: |
# Extract value from configuration file
value="$(grep -h '^${{ inputs.var }}'= make/conf/github-actions.conf | cut -d '=' -f 2-)"
value="$(grep -h ${{ inputs.var }}= make/conf/github-actions.conf | cut -d '=' -f 2-)"
echo "value=$value" >> $GITHUB_OUTPUT
shell: bash

View File

@@ -66,7 +66,7 @@ runs:
shell: bash
- name: 'Upload build logs'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: failure-logs-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: failure-logs
@@ -74,7 +74,7 @@ runs:
# This is the best way I found to abort the job with an error message
- name: 'Notify about build failures'
uses: actions/github-script@v7
uses: actions/github-script@v6
with:
script: core.setFailed('Build failed. See summary for details.')
if: steps.check.outputs.failure == 'true'

View File

@@ -65,7 +65,7 @@ runs:
- name: 'Check cache for BootJDK'
id: get-cached-bootjdk
uses: actions/cache@v4
uses: actions/cache@v3
with:
path: bootjdk/jdk
key: boot-jdk-${{ inputs.platform }}-${{ steps.sha256.outputs.value }}

View File

@@ -48,14 +48,14 @@ runs:
steps:
- name: 'Download bundles artifact'
id: download-bundles
uses: actions/download-artifact@v4
uses: actions/download-artifact@v3
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
continue-on-error: true
- name: 'Download bundles artifact (retry)'
uses: actions/download-artifact@v4
uses: actions/download-artifact@v3
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles

View File

@@ -41,7 +41,7 @@ runs:
- name: 'Check cache for JTReg'
id: get-cached-jtreg
uses: actions/cache@v4
uses: actions/cache@v3
with:
path: jtreg/installed
key: jtreg-${{ steps.version.outputs.value }}

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 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
@@ -30,7 +30,8 @@ runs:
using: composite
steps:
- name: 'Install MSYS2'
uses: msys2/setup-msys2@v2.22.0
# use a specific release of msys2/setup-msys2 to prevent jtreg build failures on newer release
uses: msys2/setup-msys2@7efe20baefed56359985e327d329042cde2434ff
with:
install: 'autoconf tar unzip zip make'
path-type: minimal

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 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
@@ -45,7 +45,6 @@ runs:
jdk_bundle_tar_gz="$(ls build/*/bundles/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)"
mkdir bundles
@@ -61,11 +60,8 @@ runs:
if [[ "$tests_bundle" != "" ]]; then
mv "$tests_bundle" "bundles/tests-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$static_libs_bundle" != "" ]]; then
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$symbols_bundle$tests_bundle" != "" ]]; then
echo 'bundles-found=true' >> $GITHUB_OUTPUT
else
echo 'bundles-found=false' >> $GITHUB_OUTPUT
@@ -73,7 +69,7 @@ runs:
shell: bash
- name: 'Upload bundles artifact'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles

View File

@@ -1,112 +0,0 @@
#
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Build (alpine-linux)'
on:
workflow_call:
inputs:
platform:
required: true
type: string
extra-conf-options:
required: false
type: string
make-target:
required: false
type: string
default: 'product-bundles test-bundles'
debug-levels:
required: false
type: string
default: '[ "debug", "release" ]'
apk-extra-packages:
required: false
type: string
configure-arguments:
required: false
type: string
make-arguments:
required: false
type: string
jobs:
build-linux:
name: build
runs-on: ubuntu-22.04
container:
image: alpine:3.20
strategy:
fail-fast: false
matrix:
debug-level: ${{ fromJSON(inputs.debug-levels) }}
include:
- debug-level: debug
flags: --with-debug-level=fastdebug
suffix: -debug+
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v4
- name: 'Install toolchain and dependencies'
run: |
apk update
apk add alpine-sdk alsa-lib-dev autoconf bash cups-dev cups-libs fontconfig-dev freetype-dev grep libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev libxtst-dev linux-headers wget zip ${{ inputs.apk-extra-packages }}
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: alpine-linux-x64
- name: 'Configure'
run: >
bash configure
--with-conf-name=${{ inputs.platform }}
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-zlib=system
--with-jmod-compress=zip-1
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 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
@@ -61,32 +61,27 @@ jobs:
debian-arch: arm64
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
- target-cpu: arm
gnu-arch: arm
debian-arch: armhf
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
gnu-abi: eabihf
- target-cpu: s390x
gnu-arch: s390x
debian-arch: s390x
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
- target-cpu: ppc64le
gnu-arch: powerpc64le
debian-arch: ppc64el
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
tolerate-sysroot-errors: false
- target-cpu: riscv64
gnu-arch: riscv64
debian-arch: riscv64
debian-repository: https://snapshot.debian.org/archive/debian/20240228T034848Z/
debian-repository: https://httpredir.debian.org/debian/
debian-version: sid
tolerate-sysroot-errors: true
steps:
- name: 'Checkout the JDK source'
@@ -98,6 +93,13 @@ jobs:
with:
platform: linux-x64
# Use linux-x64 JDK bundle as build JDK
- name: 'Get build JDK'
id: buildjdk
uses: ./.github/actions/get-bundles
with:
platform: linux-x64
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
@@ -118,7 +120,7 @@ jobs:
- name: 'Check cache for sysroot'
id: get-cached-sysroot
uses: actions/cache@v4
uses: actions/cache@v3
with:
path: sysroot
key: sysroot-${{ matrix.debian-arch }}-${{ hashFiles('./.github/workflows/build-cross-compile.yml') }}
@@ -128,7 +130,6 @@ jobs:
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Create sysroot'
id: create-sysroot
run: >
sudo debootstrap
--arch=${{ matrix.debian-arch }}
@@ -139,7 +140,6 @@ jobs:
${{ matrix.debian-version }}
sysroot
${{ matrix.debian-repository }}
continue-on-error: ${{ matrix.tolerate-sysroot-errors }}
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Prepare sysroot'
@@ -151,12 +151,7 @@ jobs:
rm -rf sysroot/usr/{sbin,bin,share}
rm -rf sysroot/usr/lib/{apt,gcc,udev,systemd}
rm -rf sysroot/usr/libexec/gcc
if: steps.create-sysroot.outcome == 'success' && steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Remove broken sysroot'
run: |
sudo rm -rf sysroot/
if: steps.create-sysroot.outcome != 'success' && steps.get-cached-sysroot.outputs.cache-hit != 'true'
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Configure'
run: >
@@ -170,6 +165,7 @@ jobs:
--disable-precompiled-headers
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
--with-sysroot=sysroot
--with-build-jdk=${{ steps.buildjdk.outputs.jdk-path }}
--with-jmod-compress=zip-1
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
@@ -177,7 +173,6 @@ jobs:
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
if: steps.create-sysroot.outcome == 'success' || steps.get-cached-sysroot.outputs.cache-hit == 'true'
- name: 'Build'
id: build
@@ -185,4 +180,3 @@ jobs:
with:
make-target: 'hotspot ${{ inputs.make-arguments }}'
platform: linux-${{ matrix.target-cpu }}
if: steps.create-sysroot.outcome == 'success' || steps.get-cached-sysroot.outputs.cache-hit == 'true'

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -133,12 +133,8 @@ jobs:
- name: 'Build'
id: build
uses: ./.github/actions/do-build
env:
# Only build static-libs-bundles for release builds.
# For debug builds, building static-libs often exceeds disk space.
STATIC_LIBS: ${{ matrix.debug-level == 'release' && 'static-libs-bundles' }}
with:
make-target: '${{ inputs.make-target }} ${STATIC_LIBS} ${{ inputs.make-arguments }}'
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

View File

@@ -30,14 +30,12 @@ on:
branches-ignore:
- master
- pr/*
- jdk*
- main
workflow_dispatch:
inputs:
platforms:
description: 'Platform(s) to execute on (comma separated, e.g. "linux-x64, macos, aarch64")'
required: true
default: 'linux-x64, linux-x86-hs, linux-x64-variants, linux-cross-compile, alpine-linux-x64, macos-x64, macos-aarch64, windows-x64, windows-aarch64, docs'
default: 'linux-x64, linux-x86, linux-x64-variants, linux-cross-compile, macos-x64, macos-aarch64, windows-x64, windows-aarch64, docs'
configure-arguments:
description: 'Additional configure arguments'
required: false
@@ -58,16 +56,11 @@ jobs:
select:
name: 'Select platforms'
runs-on: ubuntu-22.04
env:
# List of platforms to exclude by default
EXCLUDED_PLATFORMS: 'alpine-linux-x64'
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86-hs: ${{ steps.include.outputs.linux-x86-hs }}
# additional build options for linux-x64 are disabled
# linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
linux-x86: ${{ steps.include.outputs.linux-x86 }}
linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
alpine-linux-x64: ${{ steps.include.outputs.alpine-linux-x64 }}
macos-x64: ${{ steps.include.outputs.macos-x64 }}
macos-aarch64: ${{ steps.include.outputs.macos-aarch64 }}
windows-x64: ${{ steps.include.outputs.windows-x64 }}
@@ -84,10 +77,6 @@ jobs:
# 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
# Convert EXCLUDED_PLATFORMS from a comma-separated string to an array
IFS=',' read -r -a excluded_array <<< "$EXCLUDED_PLATFORMS"
function check_platform() {
if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
input='${{ github.event.inputs.platforms }}'
@@ -104,13 +93,7 @@ jobs:
normalized_input="$(echo ,$input, | tr -d ' ')"
if [[ "$normalized_input" == ",," ]]; then
# For an empty input, assume all platforms should run, except those in the EXCLUDED_PLATFORMS list
for excluded in "${excluded_array[@]}"; do
if [[ "$1" == "$excluded" ]]; then
echo 'false'
return
fi
done
# For an empty input, assume all platforms should run
echo 'true'
return
else
@@ -121,24 +104,15 @@ jobs:
return
fi
done
# If not explicitly included, check against the EXCLUDED_PLATFORMS list
for excluded in "${excluded_array[@]}"; do
if [[ "$1" == "$excluded" ]]; then
echo 'false'
return
fi
done
fi
echo 'false'
}
echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
echo "linux-x86-hs=$(check_platform linux-x86-hs linux x86)" >> $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 "alpine-linux-x64=$(check_platform alpine-linux-x64 alpine-linux x64)" >> $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
@@ -158,25 +132,25 @@ jobs:
gcc-major-version: '10'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64 == 'true'
# 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-hs:
name: linux-x86-hs
build-linux-x86:
name: linux-x86
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x86
make-target: 'hotspot'
gcc-major-version: '10'
gcc-package-suffix: '-multilib'
apt-architecture: 'i386'
# Some multilib libraries do not have proper inter-dependencies, so we have to
# install their dependencies manually.
apt-extra-packages: 'libfreetype-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libffi-dev:i386'
extra-conf-options: '--with-target-bits=32 --enable-fallback-linker --enable-libffi-bundling'
apt-extra-packages: 'libfreetype-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libc6-i386 libgcc-s1:i386 libstdc++6: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-hs == 'true'
if: needs.select.outputs.linux-x86 == 'true'
build-linux-x64-hs-nopch:
name: linux-x64-hs-nopch
@@ -239,6 +213,7 @@ jobs:
name: linux-cross-compile
needs:
- select
- build-linux-x64
uses: ./.github/workflows/build-cross-compile.yml
with:
gcc-major-version: '10'
@@ -246,16 +221,6 @@ jobs:
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-cross-compile == 'true'
build-alpine-linux-x64:
name: alpine-linux-x64
needs: select
uses: ./.github/workflows/build-alpine-linux.yml
with:
platform: alpine-linux-x64
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.alpine-linux-x64 == 'true'
build-macos-x64:
name: macos-x64
needs: select
@@ -336,6 +301,16 @@ jobs:
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
test-linux-x86:
name: linux-x86
needs:
- build-linux-x86
uses: ./.github/workflows/test.yml
with:
platform: linux-x86
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
test-macos-x64:
name: macos-x64
needs:
@@ -373,39 +348,42 @@ jobs:
if: always()
needs:
- build-linux-x64
- build-linux-x86-hs
- build-linux-x86
- build-linux-x64-hs-nopch
- build-linux-x64-hs-zero
- build-linux-x64-hs-minimal
- build-linux-x64-hs-optimized
- build-linux-cross-compile
- build-alpine-linux-x64
- build-macos-x64
- build-macos-aarch64
- build-windows-x64
- build-windows-aarch64
- test-linux-x64
- test-linux-x86
- test-macos-x64
- test-windows-x64
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
# See: https://docs.github.com/en/rest/actions/artifacts?apiVersion=2022-11-28
ALL_ARTIFACT_IDS="$(curl -sL \
-H 'Accept: application/vnd.github+json' \
-H 'Authorization: Bearer ${{ github.token }}' \
-H 'X-GitHub-Api-Version: 2022-11-28' \
'${{ github.api_url }}/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/artifacts?per_page=100')"
BUNDLE_ARTIFACT_IDS="$(echo "$ALL_ARTIFACT_IDS" | jq -r -c '.artifacts | map(select(.name|startswith("bundles-"))) | .[].id')"
for id in $BUNDLE_ARTIFACT_IDS; do
echo "Removing $id"
curl -sL \
-X DELETE \
-H 'Accept: application/vnd.github+json' \
-H 'Authorization: Bearer ${{ github.token }}' \
-H 'X-GitHub-Api-Version: 2022-11-28' \
"${{ github.api_url }}/repos/${{ github.repository }}/actions/artifacts/$id" \
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

@@ -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

@@ -211,7 +211,7 @@ jobs:
if: always()
- name: 'Upload test results'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
path: results
name: ${{ steps.package.outputs.artifact-name }}
@@ -219,7 +219,7 @@ jobs:
# This is the best way I found to abort the job with an error message
- name: 'Notify about test failures'
uses: actions/github-script@v7
uses: actions/github-script@v6
with:
script: core.setFailed('${{ steps.run-tests.outputs.error-message }}')
if: steps.run-tests.outputs.failure == 'true'

4
.gitignore vendored
View File

@@ -18,6 +18,8 @@ NashornProfile.txt
/src/utils/LogCompilation/target/
/.project/
/.settings/
/.project
/.classpath
/.cproject
/compile_commands.json
/.cache
/jbr-api/

View File

@@ -1,22 +1,21 @@
[general]
project=jdk
project=jdk-updates
jbs=JDK
version=24
version=21.0.3
[checks]
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists
warning=issuestitle,binary
[repository]
tags=(?:jdk-(?:[1-9]([0-9]*)(?:\.(?:0|[1-9][0-9]*)){0,4})(?:\+(?:(?:[0-9]+))|(?:-ga)))|(?:jdk[4-9](?:u\d{1,3})?-(?:(?:b\d{2,3})|(?:ga)))|(?:hs\d\d(?:\.\d{1,2})?-b\d\d)
branches=.*
branches=
[census]
version=0
domain=openjdk.org
[checks "whitespace"]
files=.*\.cpp|.*\.hpp|.*\.c|.*\.h|.*\.java|.*\.cc|.*\.hh|.*\.m|.*\.mm|.*\.S|.*\.md|.*\.properties|.*\.gmk|.*\.m4|.*\.ac|Makefile
files=.*\.cpp|.*\.hpp|.*\.c|.*\.h|.*\.java|.*\.cc|.*\.hh|.*\.m|.*\.mm|.*\.md|.*\.gmk|.*\.m4|.*\.ac|Makefile
ignore-tabs=.*\.gmk|Makefile
[checks "merge"]

View File

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

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

@@ -1,6 +1,5 @@
#!/bin/bash
#
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright 2015 Google, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
@@ -27,17 +26,12 @@ usage() {
echo "$0 DIR ..."
echo "Modifies in place all the java source files found"
echo "in the given directories so that all java language modifiers"
echo "are in the canonical order."
echo "are in the canonical order given by Modifier#toString()."
echo "Tries to get it right even within javadoc comments,"
echo "and even if the list of modifiers spans 2 lines."
echo
echo "See:"
echo "https://docs.oracle.com/javase/specs/jls/se21/html/jls-8.html#jls-8.1.1"
echo "https://docs.oracle.com/javase/specs/jls/se21/html/jls-8.html#jls-8.3.1"
echo "https://docs.oracle.com/javase/specs/jls/se21/html/jls-8.html#jls-8.4.3"
echo "https://docs.oracle.com/javase/specs/jls/se21/html/jls-8.html#jls-8.8.3"
echo "https://docs.oracle.com/javase/specs/jls/se21/html/jls-9.html#jls-9.1.1"
echo "https://docs.oracle.com/javase/specs/jls/se21/html/jls-9.html#jls-9.4"
echo "https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Modifier.html#toString-int-"
echo
echo "Example:"
echo "$0 jdk/src/java.base jdk/test/java/{util,io,lang}"
@@ -52,7 +46,7 @@ for dir in "${dirs[@]}"; do [[ -d "$dir" ]] || usage; done
declare -ar modifiers=(
public protected private
abstract default static final sealed non-sealed transient
abstract static final transient
volatile synchronized native strictfp
)
declare -r SAVE_IFS="$IFS"

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 -f "$IDEA_MAKE/idea.gmk" -I "$OPENJDK_DIR" idea TOPLEVEL_DIR="$TOPLEVEL_DIR" \
MAKEOVERRIDES= IDEA_OUTPUT_PARENT="$IDEA_OUTPUT_PARENT" OUT="$IDEA_OUTPUT/env.cfg" MODULES="$*" $CONF_ARG || exit 1
cd $TOP ; make -f "$IDEA_MAKE/idea.gmk" -I $MAKE_DIR/.. idea MAKEOVERRIDES= OUT=$IDEA_OUTPUT/env.cfg 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

12
configure vendored Executable file → Normal file
View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2014, 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
@@ -26,14 +26,10 @@
# make sure that is called using bash.
# Get an absolute path to this script, since that determines the top-level directory.
source_path="$(dirname ${0})"
this_script_dir="$(cd -- "${source_path}" > /dev/null && pwd)"
if test -z "${this_script_dir}"; then
echo "Error: Could not determine location of configure script"
exit 1
fi
this_script_dir=`dirname $0`
this_script_dir=`cd $this_script_dir > /dev/null && pwd`
# Delegate to wrapper, forcing wrapper to believe $0 is this script by using -c.
# This trick is needed to get autoconf to co-operate properly.
# The ${-:+-$-} construction passes on bash options.
bash ${-:+-$-} -c ". \"${this_script_dir}/make/autoconf/configure\"" "${this_script_dir}/configure" CHECKME "${this_script_dir}" "$@"
bash ${-:+-$-} -c ". $this_script_dir/make/autoconf/configure" $this_script_dir/configure CHECKME $this_script_dir "$@"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -748,15 +748,12 @@ cases where dynamic initialization or destruction are essential. See <a
href="https://bugs.openjdk.org/browse/JDK-8282469">JDK-8282469</a> for
further discussion.</p>
<h3 id="nullptr">nullptr</h3>
<p>Use <code>nullptr</code> (<a
<p>Prefer <code>nullptr</code> (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf">n2431</a>)
rather than <code>NULL</code>. See the paper for reasons to avoid
<code>NULL</code>.</p>
<p>Don't use (constant expression or literal) 0 for pointers. Note that
C++14 removed non-literal 0 constants from <em>null pointer
constants</em>, though some compilers continue to treat them as such.
For historical reasons there may be lingering uses of 0 as a
pointer.</p>
to <code>NULL</code>. Don't use (constexpr or literal) 0 for
pointers.</p>
<p>For historical reasons there are widespread uses of both
<code>NULL</code> and of integer 0 as a pointer value.</p>
<h3 id="atomic">&lt;atomic&gt;</h3>
<p>Do not use facilities provided by the <code>&lt;atomic&gt;</code>
header (<a

View File

@@ -725,14 +725,12 @@ for further discussion.
### nullptr
Use `nullptr`
Prefer `nullptr`
([n2431](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf))
rather than `NULL`. See the paper for reasons to avoid `NULL`.
to `NULL`. Don't use (constexpr or literal) 0 for pointers.
Don't use (constant expression or literal) 0 for pointers. Note that C++14
removed non-literal 0 constants from _null pointer constants_, though some
compilers continue to treat them as such. For historical reasons there may be
lingering uses of 0 as a pointer.
For historical reasons there are widespread uses of both `NULL` and of
integer 0 as a pointer value.
### &lt;atomic&gt;

View File

@@ -63,12 +63,11 @@ workspace has been generated. To use it, choose
<p>The main <code>vscode-project</code> target configures the default
C++ support in Visual Studio Code. There are also other source indexers
that can be installed, that may provide additional features. It's
currently possible to generate configuration for three such indexers, <a
href="https://clang.llvm.org/extra/clangd/">clangd</a>, <a
href="https://github.com/MaskRay/ccls/wiki/Visual-Studio-Code">ccls</a>
and <a href="https://github.com/Andersbakken/rtags">rtags</a>. These can
be configured by appending the name of the indexer to the make target,
such as:</p>
currently possible to generate configuration for two such indexers, <a
href="https://clang.llvm.org/extra/clangd/">clangd</a> and <a
href="https://github.com/Andersbakken/rtags">rtags</a>. These can be
configured by appending the name of the indexer to the make target, such
as:</p>
<pre class="shell"><code>make vscode-project-clangd</code></pre>
<p>Additional instructions for configuring the given indexer will be
displayed after the workspace has been generated.</p>
@@ -111,6 +110,10 @@ Java and C/C++ natures during development by running:</p>
<pre><code>make eclipse-mixed-env</code></pre>
<p>Do note that this generates all features that come with both Java and
C/C++ natures.</p>
<p>By default, the Eclipse Workspace is located in the ide subdirectory
in the build output. To share the JDK's source directory with the
Eclipse Workspace, you can instead run:</p>
<pre><code>make eclipse-shared-&lt;ENV&gt;-env</code></pre>
<p>Eclipse support in the JDK is relatively new, so do keep in mind that
not everything may work at the moment. As such, the resulting Workspace
also has compilation database parsing support enabled, so you can pass
@@ -157,6 +160,9 @@ to import the newly created Java Workspace.</p>
<p>If doing so results in an error, you can also import the JDK via
<code>File -&gt; Import -&gt; Existing Projects into Workspace</code> as
a last resort.</p>
<p>Alternatively, if you want a Java Workspace inside the JDK's source
directory, you can instead run:</p>
<pre><code>make eclipse-shared-java-env</code></pre>
<p>As mentioned above for Eclipse CDT, you can create a combined Java
and C/C++ Workspace which can conveniently switch between Java and C/C++
natures during development by running:</p>

View File

@@ -32,8 +32,7 @@ choose `File -> Open Workspace...` in Visual Studio Code.
The main `vscode-project` target configures the default C++ support in Visual
Studio Code. There are also other source indexers that can be installed, that
may provide additional features. It's currently possible to generate
configuration for three such indexers, [clangd](https://clang.llvm.org/extra/clangd/),
[ccls](https://github.com/MaskRay/ccls/wiki/Visual-Studio-Code)
configuration for two such indexers, [clangd](https://clang.llvm.org/extra/clangd/)
and [rtags](https://github.com/Andersbakken/rtags). These can be configured by
appending the name of the indexer to the make target, such as:
@@ -101,6 +100,14 @@ make eclipse-mixed-env
Do note that this generates all features that come with both Java and C/C++
natures.
By default, the Eclipse Workspace is located in the ide subdirectory in the
build output. To share the JDK's source directory with the Eclipse Workspace,
you can instead run:
```
make eclipse-shared-<ENV>-env
```
Eclipse support in the JDK is relatively new, so do keep in mind that not
everything may work at the moment. As such, the resulting Workspace also
has compilation database parsing support enabled, so you can pass Eclipse
@@ -169,6 +176,13 @@ If doing so results in an error, you can also import the JDK via
`File -> Import -> Existing Projects into Workspace`
as a last resort.
Alternatively, if you want a Java Workspace inside the JDK's source directory,
you can instead run:
```
make eclipse-shared-java-env
```
As mentioned above for Eclipse CDT, you can create a combined Java and C/C++
Workspace which can conveniently switch between Java and C/C++ natures during
development by running:

View File

@@ -177,11 +177,10 @@ is equivalent to <code>make test TEST="tier1"</code>, but the latter is
more tab-completion friendly. For more complex test runs, the
<code>test TEST="x"</code> solution needs to be used.</p>
<p>The test specifications given in <code>TEST</code> is parsed into
fully qualified test descriptors, which clearly and unambiguously show
fully qualified test descriptors, which clearly and unambigously show
which tests will be run. As an example, <code>:tier1</code> will expand
to include all subcomponent test directories that define
<code>tier1</code>, for example:
<code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 ...</code>.
to
<code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>.
You can always submit a list of fully qualified test descriptors in the
<code>TEST</code> variable if you want to shortcut the parser.</p>
<h3 id="common-test-groups">Common Test Groups</h3>
@@ -208,27 +207,18 @@ changed, and the first N tiers they can afford to run, but at least
tier1.</p>
<p>A brief description of the tiered test groups:</p>
<ul>
<li><p><code>tier1</code>: This is the most fundamental test tier.
Roughly speaking, a failure of a test in this tier has the potential to
indicate a problem that would affect many Java programs. Tests in
<code>tier1</code> include tests of HotSpot, core APIs in the
<code>java.base</code> module, and the <code>javac</code> compiler.
Multiple developers run these tests every day. Because of the widespread
use, the tests in <code>tier1</code> are carefully selected and
optimized to run fast, and to run in the most stable manner. As a
guideline, nearly all individual tests in <code>tier1</code> are
expected to run to completion in ten seconds or less when run on common
configurations used for development. Long-running tests, even of core
functionality, should occur in higher tiers or be covered in other kinds
of testing. The test failures in <code>tier1</code> are usually followed
up on quickly, either with fixes, or adding relevant tests to problem
list. GitHub Actions workflows, if enabled, run <code>tier1</code>
tests.</p></li>
<li><p><code>tier1</code>: This is the lowest test tier. Multiple
developers run these tests every day. Because of the widespread use, the
tests in <code>tier1</code> are carefully selected and optimized to run
fast, and to run in the most stable manner. The test failures in
<code>tier1</code> are usually followed up on quickly, either with
fixes, or adding relevant tests to problem list. GitHub Actions
workflows, if enabled, run <code>tier1</code> tests.</p></li>
<li><p><code>tier2</code>: This test group covers even more ground.
These contain, among other things, tests that either run for too long to
be at <code>tier1</code>, or may require special configuration, or tests
that are less stable, or cover the broader range of non-core JVM and JDK
features/components (for example, XML).</p></li>
features/components(for example, XML).</p></li>
<li><p><code>tier3</code>: This test group includes more stressful
tests, the tests for corner cases not covered by previous tiers, plus
the tests that require GUIs. As such, this suite should either be run
@@ -368,7 +358,7 @@ would give an error, while <code>JTREG_TMIEOUT_FACTOR=8</code> would
just pass unnoticed.</p>
<p>To separate multiple keyword=value pairs, use <code>;</code>
(semicolon). Since the shell normally eats <code>;</code>, the
recommended usage is to write the assignment inside quotes, e.g.
recommended usage is to write the assignment inside qoutes, e.g.
<code>JTREG="...;..."</code>. This will also make sure spaces are
preserved, as in
<code>JTREG="JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"</code>.</p>
@@ -397,8 +387,10 @@ TEST_OPTS keywords.</p>
<p>Applies to JTReg, GTest and Micro.</p>
<h4 id="vm_options">VM_OPTIONS</h4>
<p>Applies to JTReg, GTest and Micro.</p>
<h4 id="aot_modules">AOT_MODULES</h4>
<p>Applies to JTReg and GTest.</p>
<h4 id="jcov">JCOV</h4>
<p>This keyword applies globally to the test runner system. If set to
<p>This keywords applies globally to the test runner system. If set to
<code>true</code>, it enables JCov coverage reporting for all tests run.
To be useful, the JDK under test must be run with a JDK built with JCov
instrumentation
@@ -498,6 +490,11 @@ options to your test classes, use <code>JAVA_OPTIONS</code>.</p>
<h4 id="launcher_options">LAUNCHER_OPTIONS</h4>
<p>Additional Java options that are sent to the java launcher that
starts the JTReg harness.</p>
<h4 id="aot_modules-1">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set
of modules. If multiple modules are specified, they should be separated
by space (or, to help avoid quoting issues, the special value
<code>%20</code>).</p>
<h4 id="retry_count">RETRY_COUNT</h4>
<p>Retry failed tests up to a set number of times, until they pass. This
allows to pass the tests with intermittent failures. Defaults to 0.</p>
@@ -520,6 +517,11 @@ intermittent problem.</p>
<p>Additional options to the Gtest test framework.</p>
<p>Use <code>GTEST="OPTIONS=--help"</code> to see all available Gtest
options.</p>
<h4 id="aot_modules-2">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set
of modules. If multiple modules are specified, they should be separated
by space (or, to help avoid quoting issues, the special value
<code>%20</code>).</p>
<h3 id="microbenchmark-keywords">Microbenchmark keywords</h3>
<h4 id="fork">FORK</h4>
<p>Override the number of benchmark forks to spawn. Same as specifying
@@ -563,7 +565,7 @@ docker image are required on Ubuntu 18.04 by using
<p>If your locale is non-US, some tests are likely to fail. To work
around this you can set the locale to US. On Unix platforms simply
setting <code>LANG="en_US"</code> in the environment before running
tests should work. On Windows or macOS, setting
tests should work. On Windows or MacOS, setting
<code>JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"</code>
helps for most, but not all test cases.</p>
<p>For example:</p>
@@ -598,7 +600,7 @@ provided below.</p>
Shortcuts; select or deselect desired shortcut.</p>
<p>For example,
test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java
fails on macOS because it uses <code>CTRL + F1</code> key sequence to
fails on MacOS because it uses <code>CTRL + F1</code> key sequence to
show or hide tooltip message but the key combination is reserved by the
operating system. To run the test correctly the default global key
shortcut should be disabled using the steps described above, and then

View File

@@ -18,8 +18,8 @@ execute:
This will run a default set of tests against the JDK, and present you with the
results. `make test` is part of a family of test-related make targets which
simplify running tests, because they invoke the various test frameworks for
you. The "make test framework" is simple to start with, but more complex ad-hoc
combination of tests is also possible. You can always invoke the test
you. The "make test framework" is simple to start with, but more complex
ad-hoc combination of tests is also possible. You can always invoke the test
frameworks directly if you want even more control.
Some example command-lines:
@@ -33,18 +33,18 @@ Some example command-lines:
$ make test TEST="micro:java.lang.reflect" MICRO="FORK=1;WARMUP_ITER=2"
$ make exploded-test TEST=tier2
"tier1" and "tier2" refer to tiered testing, see further down. "TEST" is a test
selection argument which the make test framework will use to try to find the
tests you want. It iterates over the available test frameworks, and if the
test isn't present in one, it tries the next one. The main target `test` uses
the jdk-image as the tested product. There is also an alternate target
`exploded-test` that uses the exploded image instead. Not all tests will run
successfully on the exploded image, but using this target can greatly improve
rebuild times for certain workflows.
"tier1" and "tier2" refer to tiered testing, see further down. "TEST" is a
test selection argument which the make test framework will use to try to
find the tests you want. It iterates over the available test frameworks, and
if the test isn't present in one, it tries the next one. The main target
`test` uses the jdk-image as the tested product. There is also an alternate
target `exploded-test` that uses the exploded image instead. Not all tests
will run successfully on the exploded image, but using this target can
greatly improve rebuild times for certain workflows.
Previously, `make test` was used to invoke an old system for running tests, and
`make run-test` was used for the new test framework. For backward compatibility
with scripts and muscle memory, `run-test` and variants like
Previously, `make test` was used to invoke an old system for running tests,
and `make run-test` was used for the new test framework. For backward
compatibility with scripts and muscle memory, `run-test` and variants like
`exploded-run-test` or `run-test-tier1` are kept as aliases.
### Configuration
@@ -64,27 +64,26 @@ after which `--with-jmh=build/jmh/jars` should work.
When tests fail or timeout, jtreg runs its failure handler to capture necessary
data from the system where the test was run. This data can then be used to
analyze the test failures. Collecting this data involves running various
commands (which are listed in files residing in
`test/failure_handler/src/share/conf`) and some of these commands use `sudo`.
If the system's `sudoers` file isn't configured to allow running these
commands, then it can result in password being prompted during the failure
handler execution. Typically, when running locally, collecting this additional
data isn't always necessary. To disable running the failure handler, use
`--enable-jtreg-failure-handler=no` when running `configure`. If, however, you
want to let the failure handler to run and don't want to be prompted for sudo
password, then you can configure your `sudoers` file appropriately. Please read
the necessary documentation of your operating system to see how to do that;
here we only show one possible way of doing that - edit the
`/etc/sudoers.d/sudoers` file to include the following line:
analyze the test failures. Collecting this data involves running various commands
(which are listed in files residing in `test/failure_handler/src/share/conf`)
and some of these commands use `sudo`. If the system's `sudoers` file isn't
configured to allow running these commands, then it can result in password being
prompted during the failure handler execution. Typically, when running locally,
collecting this additional data isn't always necessary. To disable running the
failure handler, use `--enable-jtreg-failure-handler=no` when running `configure`.
If, however, you want to let the failure handler to run and don't want to be
prompted for sudo password, then you can configure your `sudoers` file
appropriately. Please read the necessary documentation of your operating system
to see how to do that; here we only show one possible way of doing that - edit
the `/etc/sudoers.d/sudoers` file to include the following line:
```
johndoe ALL=(ALL) NOPASSWD: /sbin/dmesg
```
This line configures `sudo` to _not_ prompt for password for the `/sbin/dmesg`
command (this is one of the commands that is listed in the files at
`test/failure_handler/src/share/conf`), for the user `johndoe`. Here `johndoe`
command (this is one of the commands that is listed in the files
at `test/failure_handler/src/share/conf`), for the user `johndoe`. Here `johndoe`
is the user account under which the jtreg tests are run. Replace the username
with a relevant user account of your system.
@@ -102,12 +101,12 @@ TEST="tier1"`, but the latter is more tab-completion friendly. For more complex
test runs, the `test TEST="x"` solution needs to be used.
The test specifications given in `TEST` is parsed into fully qualified test
descriptors, which clearly and unambiguously show which tests will be run. As
an example, `:tier1` will expand to include all subcomponent test directories
that define `tier1`, for example: `jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1
jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 ...`. You
can always submit a list of fully qualified test descriptors in the `TEST`
variable if you want to shortcut the parser.
descriptors, which clearly and unambigously show which tests will be run. As an
example, `:tier1` will expand to `jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1
jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1
jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1`. You can
always submit a list of fully qualified test descriptors in the `TEST` variable
if you want to shortcut the parser.
### Common Test Groups
@@ -115,48 +114,44 @@ Ideally, all tests are run for every change but this may not be practical due
to the limited testing resources, the scope of the change, etc.
The source tree currently defines a few common test groups in the relevant
`TEST.groups` files. There are test groups that cover a specific component, for
example `hotspot_gc`. It is a good idea to look into `TEST.groups` files to get
a sense what tests are relevant to a particular JDK component.
`TEST.groups` files. There are test groups that cover a specific component,
for example `hotspot_gc`. It is a good idea to look into `TEST.groups` files
to get a sense what tests are relevant to a particular JDK component.
Component-specific tests may miss some unintended consequences of a change, so
other tests should also be run. Again, it might be impractical to run all
tests, and therefore _tiered_ test groups exist. Tiered test groups are not
component-specific, but rather cover the significant parts of the entire JDK.
tests, and therefore
_tiered_ test groups exist. Tiered test groups are not component-specific, but
rather cover the significant parts of the entire JDK.
Multiple tiers allow balancing test coverage and testing costs. Lower test
tiers are supposed to contain the simpler, quicker and more stable tests.
Higher tiers are supposed to contain progressively more thorough, slower, and
sometimes less stable tests, or the tests that require special configuration.
sometimes less stable tests, or the tests that require special
configuration.
Contributors are expected to run the tests for the areas that are changed, and
the first N tiers they can afford to run, but at least tier1.
A brief description of the tiered test groups:
- `tier1`: This is the most fundamental test tier. Roughly speaking, a failure
of a test in this tier has the potential to indicate a problem that would
affect many Java programs. Tests in `tier1` include tests of HotSpot, core
APIs in the `java.base` module, and the `javac` compiler. Multiple developers
run these tests every day. Because of the widespread use, the tests in
`tier1` are carefully selected and optimized to run fast, and to run in the
most stable manner. As a guideline, nearly all individual tests in `tier1`
are expected to run to completion in ten seconds or less when run on common
configurations used for development. Long-running tests, even of core
functionality, should occur in higher tiers or be covered in other kinds of
testing. The test failures in `tier1` are usually followed up on quickly,
- `tier1`: This is the lowest test tier. Multiple developers run these tests
every day. Because of the widespread use, the tests in `tier1` are
carefully selected and optimized to run fast, and to run in the most stable
manner. The test failures in `tier1` are usually followed up on quickly,
either with fixes, or adding relevant tests to problem list. GitHub Actions
workflows, if enabled, run `tier1` tests.
- `tier2`: This test group covers even more ground. These contain, among other
things, tests that either run for too long to be at `tier1`, or may require
special configuration, or tests that are less stable, or cover the broader
range of non-core JVM and JDK features/components (for example, XML).
range of non-core JVM and JDK features/components(for example, XML).
- `tier3`: This test group includes more stressful tests, the tests for corner
cases not covered by previous tiers, plus the tests that require GUIs. As
such, this suite should either be run with low concurrency (`TEST_JOBS=1`),
or without headful tests(`JTREG_KEYWORDS=\!headful`), or both.
such, this suite should either be run with low concurrency
(`TEST_JOBS=1`), or without headful tests(`JTREG_KEYWORDS=\!headful`), or
both.
- `tier4`: This test group includes every other test not covered by previous
tiers. It includes, for example, `vmTestbase` suites for Hotspot, which run
@@ -165,17 +160,18 @@ A brief description of the tiered test groups:
### JTReg
JTReg tests can be selected either by picking a JTReg test group, or a
selection of files or directories containing JTReg tests. Documentation can be
found at [https://openjdk.org/jtreg/](https://openjdk.org/jtreg/), note
especially the extensive [FAQ](https://openjdk.org/jtreg/faq.html).
JTReg tests can be selected either by picking a JTReg test group, or a selection
of files or directories containing JTReg tests. Documentation can be found at
[https://openjdk.org/jtreg/](https://openjdk.org/jtreg/), note especially the
extensive [FAQ](https://openjdk.org/jtreg/faq.html).
JTReg test groups can be specified either without a test root, e.g. `:tier1`
(or `tier1`, the initial colon is optional), or with, e.g. `hotspot:tier1`,
`test/jdk:jdk_util` or `$(TOPDIR)/test/hotspot/jtreg:hotspot_all`. The test
root can be specified either as an absolute path, or a path relative to the JDK
top directory, or the `test` directory. For simplicity, the hotspot JTReg test
root, which really is `hotspot/jtreg` can be abbreviated as just `hotspot`.
root can be specified either as an absolute path, or a path relative to the
JDK top directory, or the `test` directory. For simplicity, the hotspot
JTReg test root, which really is `hotspot/jtreg` can be abbreviated as
just `hotspot`.
When specified without a test root, all matching groups from all test roots
will be added. Otherwise, only the group from the specified test root will be
@@ -196,8 +192,8 @@ use a fully qualified test descriptor, add `jtreg:`, e.g.
### Gtest
**Note:** To be able to run the Gtest suite, you need to configure your build
to be able to find a proper version of the gtest source. For details, see the
**Note:** To be able to run the Gtest suite, you need to configure your build to
be able to find a proper version of the gtest source. For details, see the
section ["Running Tests" in the build
documentation](building.html#running-tests).
@@ -217,10 +213,10 @@ present, then `gtest:all` will be equivalent to `gtest:all/server`.
### Microbenchmarks
Which microbenchmarks to run is selected using a regular expression following
the `micro:` test descriptor, e.g., `micro:java.lang.reflect`. This delegates
the test selection to JMH, meaning package name, class name and even benchmark
method names can be used to select tests.
Which microbenchmarks to run is selected using a regular expression
following the `micro:` test descriptor, e.g., `micro:java.lang.reflect`. This
delegates the test selection to JMH, meaning package name, class name and even
benchmark method names can be used to select tests.
Using special characters like `|` in the regular expression is possible, but
needs to be escaped multiple times: `micro:ArrayCopy\\\\\|reflect`.
@@ -294,15 +290,14 @@ would just pass unnoticed.
To separate multiple keyword=value pairs, use `;` (semicolon). Since the shell
normally eats `;`, the recommended usage is to write the assignment inside
quotes, e.g. `JTREG="...;..."`. This will also make sure spaces are preserved,
qoutes, e.g. `JTREG="...;..."`. This will also make sure spaces are preserved,
as in `JTREG="JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"`.
(Other ways are possible, e.g. using backslash:
`JTREG=JOBS=1\;TIMEOUT_FACTOR=8`. Also, as a special technique, the string
`%20` will be replaced with space for certain options, e.g.
`JTREG=JAVA_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug`. This can be useful if
you have layers of scripts and have trouble getting proper quoting of command
line arguments through.)
(Other ways are possible, e.g. using backslash: `JTREG=JOBS=1\;TIMEOUT_FACTOR=8`.
Also, as a special technique, the string `%20` will be replaced with space for
certain options, e.g. `JTREG=JAVA_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug`.
This can be useful if you have layers of scripts and have trouble getting
proper quoting of command line arguments through.)
As far as possible, the names of the keywords have been standardized between
test suites.
@@ -315,8 +310,7 @@ control variable to use, then you can use the general TEST_OPTS control
variable.
There are also some keywords that applies globally to the test runner system,
not to any specific test suites. These are also available as TEST_OPTS
keywords.
not to any specific test suites. These are also available as TEST_OPTS keywords.
#### JOBS
@@ -334,9 +328,13 @@ Applies to JTReg, GTest and Micro.
Applies to JTReg, GTest and Micro.
#### AOT_MODULES
Applies to JTReg and GTest.
#### JCOV
This keyword applies globally to the test runner system. If set to `true`, it
This keywords applies globally to the test runner system. If set to `true`, it
enables JCov coverage reporting for all tests run. To be useful, the JDK under
test must be run with a JDK built with JCov instrumentation (`configure
--with-jcov=<path to directory containing lib/jcov.jar>`, `make jcov-image`).
@@ -366,8 +364,8 @@ The report is stored in
The test concurrency (`-concurrency`).
Defaults to TEST_JOBS (if set by `--with-test-jobs=`), otherwise it defaults to
JOBS, except for Hotspot, where the default is *number of CPU cores/2*, but
never more than *memory size in GB/2*.
JOBS, except for Hotspot, where the default is *number of CPU cores/2*,
but never more than *memory size in GB/2*.
#### TIMEOUT_FACTOR
@@ -382,12 +380,12 @@ This is only valid if the failure handler is built.
#### JTREG_TEST_THREAD_FACTORY
Sets the `-testThreadFactory` for JTReg. It should be the fully qualified
classname of a class which implements `java.util.concurrent.ThreadFactory`. One
such implementation class, named Virtual, is currently part of the JDK build in
the `test/jtreg_test_thread_factory/` directory. This class gets compiled
during the test image build. The implementation of the Virtual class creates a
new virtual thread for executing each test class.
Sets the `-testThreadFactory` for JTReg. It should be the fully qualified classname
of a class which implements `java.util.concurrent.ThreadFactory`.
One such implementation class, named Virtual, is currently part of the JDK build
in the `test/jtreg_test_thread_factory/` directory. This class gets compiled during
the test image build. The implementation of the Virtual class creates a new virtual
thread for executing each test class.
#### TEST_MODE
@@ -449,8 +447,9 @@ the tests to be run.
Use the problem lists to select tests instead of excluding them.
Set to `true` or `false`. If `true`, JTReg will use `-match:` option, otherwise
`-exclude:` will be used. Default is `false`.
Set to `true` or `false`.
If `true`, JTReg will use `-match:` option, otherwise `-exclude:` will be used.
Default is `false`.
#### OPTIONS
@@ -476,15 +475,23 @@ your test classes, use `JAVA_OPTIONS`.
Additional Java options that are sent to the java launcher that starts the
JTReg harness.
#### AOT_MODULES
Generate AOT modules before testing for the specified module, or set of
modules. If multiple modules are specified, they should be separated by space
(or, to help avoid quoting issues, the special value `%20`).
#### RETRY_COUNT
Retry failed tests up to a set number of times, until they pass. This allows to
pass the tests with intermittent failures. Defaults to 0.
Retry failed tests up to a set number of times, until they pass.
This allows to pass the tests with intermittent failures.
Defaults to 0.
#### REPEAT_COUNT
Repeat the tests up to a set number of times, stopping at first failure. This
helps to reproduce intermittent test failures. Defaults to 0.
Repeat the tests up to a set number of times, stopping at first failure.
This helps to reproduce intermittent test failures.
Defaults to 0.
#### REPORT
@@ -507,6 +514,12 @@ Additional options to the Gtest test framework.
Use `GTEST="OPTIONS=--help"` to see all available Gtest options.
#### AOT_MODULES
Generate AOT modules before testing for the specified module, or set of
modules. If multiple modules are specified, they should be separated by space
(or, to help avoid quoting issues, the special value `%20`).
### Microbenchmark keywords
#### FORK
@@ -529,8 +542,7 @@ Same as specifying `-wi <num>`.
#### WARMUP_TIME
Amount of time to spend in each warmup iteration. Same as specifying `-w
<num>`.
Amount of time to spend in each warmup iteration. Same as specifying `-w <num>`.
#### RESULTS_FORMAT
@@ -571,9 +583,9 @@ $ make test TEST="jtreg:test/hotspot/jtreg/containers/docker" \
If your locale is non-US, some tests are likely to fail. To work around this
you can set the locale to US. On Unix platforms simply setting `LANG="en_US"`
in the environment before running tests should work. On Windows or macOS,
setting `JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` helps for
most, but not all test cases.
in the environment before running tests should work. On Windows or MacOS, setting
`JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` helps for most, but
not all test cases.
For example:
@@ -619,7 +631,7 @@ select or deselect desired shortcut.
For example,
test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java
fails on macOS because it uses `CTRL + F1` key sequence to show or hide tooltip
fails on MacOS because it uses `CTRL + F1` key sequence to show or hide tooltip
message but the key combination is reserved by the operating system. To run the
test correctly the default global key shortcut should be disabled using the
steps described above, and then deselect "Turn keyboard access on or off"
@@ -641,30 +653,29 @@ Note: restart is required to make the settings take effect.
#### Robot API
Most automated Client UI tests use `Robot` API to control the UI. Usually, the
default operating system settings need to be adjusted for Robot to work
correctly. The detailed steps how to access and update these settings for
different platforms are provided below.
Most automated Client UI tests use `Robot` API to control the UI. Usually,
the default operating system settings need to be adjusted for Robot
to work correctly. The detailed steps how to access and update these settings
for different platforms are provided below.
##### macOS
`Robot` is not permitted to control your Mac by default since macOS 10.15. To
allow it, choose Apple menu -> System Settings, click Privacy & Security; then
click Accessibility and ensure the following apps are allowed to control your
computer: *Java* and *Terminal*. If the tests are run from an IDE, the IDE
should be granted this permission too.
`Robot` is not permitted to control your Mac by default since
macOS 10.15. To allow it, choose Apple menu -> System Settings, click
Privacy & Security; then click Accessibility and ensure the following apps are
allowed to control your computer: *Java* and *Terminal*. If the tests are run
from an IDE, the IDE should be granted this permission too.
##### Windows
On Windows if Cygwin terminal is used to run the tests, there is a delay in
focus transfer. Usually it causes automated UI test failure. To disable the
delay, type `regedit` in the Search and then select Registry Editor; navigate
to the following key: `HKEY_CURRENT_USER\Control Panel\Desktop`; make sure the
`ForegroundLockTimeout` value is set to 0.
to the following key: `HKEY_CURRENT_USER\Control Panel\Desktop`; make sure
the `ForegroundLockTimeout` value is set to 0.
Additional information about Client UI tests configuration for various
operating systems can be obtained at [Automated client GUI testing system set
up
Additional information about Client UI tests configuration for various operating
systems can be obtained at [Automated client GUI testing system set up
requirements](https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements)
## Editing this document

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,57 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_jbrtest.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
ARG ARCH_FROM
ARG ARCH=i386
ARG OS_NAME
ARG OS_VERSION
# jetbrains/runtime:jbrTest_${os_name}${os_version}-$arch
FROM ${ARCH_FROM}/${OS_NAME}:${OS_VERSION}
COPY jbr-11_0_16-linux-x86-b2043.64.tar.gz /jbr/
ARG ARCH
RUN \
if [ "$ARCH" = "i386" ]; then \
# Set up boot JDK for building
cd /jbr && \
tar --strip-components=1 -xzf jbr-11_0_16-linux-x86-b2043.64.tar.gz && \
rm jbr-11_0_16-linux-x86-b2043.64.tar.gz; \
echo Installing packages required for i386 only; \
dpkg --add-architecture i386; \
apt-get update -y; \
apt-get install -y \
libc6:i386 \
libncurses5 libncurses5:i386 \
libstdc++6:i386 \
zlib1g:i386; \
else \
echo Skipping the step installing packages specific for the platform; \
fi; \
apt-get update -y; \
apt-get install -y \
binutils:${ARCH} \
libcanberra-gtk-module:${ARCH} \
libgtk2.0-0:${ARCH} \
libxext6:${ARCH} \
libxi6:${ARCH} \
libxrender-dev:${ARCH} \
libxtst6:${ARCH} \
libxrandr2:${ARCH} \
libfreetype6:${ARCH} \
fontconfig:${ARCH} \
libnss3:${ARCH} \
libatk-bridge2.0-0:${ARCH} \
libgbm1:${ARCH} \
libxkbcommon0:${ARCH} \
libasound2:${ARCH};\
apt-get clean all
ENV JAVA_HOME=/jbr
ENV DISPLAY=:0

View File

@@ -1,35 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_jbrtest.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
ARG ARCH_FROM
ARG ARCH=i386
ARG OS_NAME
ARG OS_VERSION
# jetbrains/runtime:jbrTest_${os_name}${os_version}-$arch
FROM ${ARCH_FROM}/${OS_NAME}:${OS_VERSION}
#FROM arm64v8/alpine:3.12
ARG ARCH
RUN \
apk --no-cache add --update \
binutils=2.34-r2 \
libcanberra-gtk2=0.30-r5 \
gtk+2.0=2.24.32-r1 \
libxext=1.3.4-r0 \
libxrender-dev=0.9.10-r3 \
libxtst=1.2.3-r3 \
freetype=2.10.4-r2 \
fontconfig=2.13.1-r2 \
font-xfree86-type1=1.0.4-r0
COPY jbrsdk_17.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf jbrsdk_17.tar.gz && rm /jdk17/jbrsdk_17.tar.gz
ENV JAVA_HOME=/jdk17
ENV DISPLAY=:0

View File

@@ -1,46 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_aarch64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
# jetbrains/runtime:jbr17env_aarch64
FROM arm64v8/centos:7
# Install the necessary build tools
RUN yum -y update; \
yum -y install centos-release-scl; \
yum -y install devtoolset-10-10.1-0.el7; \
yum -y install \
alsa-lib-devel-1.1.8-1.el7.aarch64 \
autoconf-2.69-11.el7.noarch \
automake-1.13.4-3.el7.noarch \
bzip2-1.0.6-13.el7.aarch64 \
cups-devel-1.6.3-51.el7.aarch64 \
file-5.11-37.el7.aarch64 \
fontconfig-devel-2.13.0-4.3.el7.aarch64 \
freetype-devel-2.8-14.el7_9.1.aarch64 \
giflib-devel-4.1.6-9.el7.aarch64 \
git-1.8.3.1-24.el7_9.aarch64 \
libtool-2.4.2-22.el7_3.aarch64 \
libXi-devel-1.7.9-1.el7.aarch64 \
libXrandr-devel-1.5.1-2.el7.aarch64 \
libXrender-devel-0.9.10-1.el7.aarch64 \
libXt-devel-1.1.5-3.el7.aarch64 \
libXtst-devel-1.2.3-1.el7.aarch64 \
make-3.82-24.el7.aarch64 \
rsync-3.1.2-12.el7_9.aarch64 \
tar-1.26-35.el7.aarch64 \
unzip-6.0-24.el7_9.aarch64 \
wayland-devel-1.15.0-1.el7 \
zip-3.0-11.el7.aarch64; \
yum -y clean all
ENV PATH="/opt/rh/devtoolset-10/root/usr/bin:${PATH}"
ENV LD_LIBRARY_PATH="/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib"
ENV PKG_CONFIG_PATH="/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig"
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,43 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_aarch64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
FROM arm64v8/alpine:3.14
# Install the necessary build tools
RUN apk --no-cache add --update \
alsa-lib-dev=1.2.5-r2 \
autoconf=2.71-r0 \
bash=5.1.16-r0 \
build-base=0.5-r3 \
bzip2=1.0.8-r1 \
cups-dev=2.3.3-r3 \
file=5.40-r1 \
fontconfig=2.13.1-r4 \
fontconfig-dev=2.13.1-r4 \
freetype-dev=2.10.4-r3 \
git=2.32.7-r0 \
grep=3.7-r0 \
libx11-dev=1.7.3.1-r0 \
libxext-dev=1.3.4-r0 \
libxrandr-dev=1.5.2-r1 \
libxrender-dev=0.9.10-r3 \
libxt-dev=1.2.1-r0 \
libxtst-dev=1.2.3-r3 \
linux-headers=5.10.41-r0 \
rsync=3.2.5-r0 \
tar=1.34-r1 \
wayland-dev=1.19.0-r0 \
zip=3.0-r9
# Set up boot JDK for building
COPY boot_jdk_musl_aarch64.tar.gz /jdk20/
RUN cd /jdk20 && tar --strip-components=1 -xzf boot_jdk_musl_aarch64.tar.gz && rm /jdk20/boot_jdk_musl_aarch64.tar.gz
ENV BOOT_JDK=/jdk20
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser" && \
git config --global --add safe.directory '*'

View File

@@ -1,42 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_x64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
FROM alpine:3.14
# Install the necessary build tools
RUN apk --no-cache add --update \
alsa-lib-dev=1.2.5-r2 \
autoconf=2.71-r0 \
bash=5.1.16-r0 \
build-base=0.5-r3 \
bzip2=1.0.8-r1 \
cups-dev=2.3.3-r3 \
file=5.40-r1 \
fontconfig=2.13.1-r4 \
fontconfig-dev=2.13.1-r4 \
freetype-dev=2.10.4-r3 \
git=2.32.7-r0 \
grep=3.7-r0 \
libx11-dev=1.7.3.1-r0 \
libxext-dev=1.3.4-r0 \
libxrandr-dev=1.5.2-r1 \
libxrender-dev=0.9.10-r3 \
libxt-dev=1.2.1-r0 \
libxtst-dev=1.2.3-r3 \
linux-headers=5.10.41-r0 \
rsync=3.2.5-r0 \
tar=1.34-r1 \
wayland-dev=1.19.0-r0 \
zip=3.0-r9
# Set up boot JDK for building
COPY boot_jdk_musl_amd64.tar.gz /jdk20/
RUN cd /jdk20 && tar --strip-components=1 -xzf boot_jdk_musl_amd64.tar.gz && rm /jdk20/boot_jdk_musl_amd64.tar.gz
ENV BOOT_JDK=/jdk20
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,55 +0,0 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_x86.sh script.
# Pull a concrete version of Linux that does NOT receive updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
#FROM i386/ubuntu:xenial
#FROM i386/ubuntu:bionic
FROM i386/ubuntu:focal
RUN linux32 \
apt-get update && apt-get install -y --no-install-recommends apt-utils
RUN export DEBIAN_FRONTEND=noninteractive \
export DEBCONF_NONINTERACTIVE_SEEN=true && \
echo 'tzdata tzdata/Areas select Etc' | debconf-set-selections; \
echo 'tzdata tzdata/Zones/Etc select UTC' | debconf-set-selections; \
linux32 \
apt-get -y install \
autoconf \
build-essential \
curl \
file \
git \
libx11-dev \
libxext-dev \
libxrender-dev \
libxrandr-dev \
libxtst-dev \
libxt-dev \
libcups2-dev \
libasound2-data \
# libpng12-0 \
libasound2 \
libfreetype6 \
libfontconfig1-dev \
libasound2-dev \
rsync \
unzip \
zip
RUN linux32 \
apt-get -y install \
g++-10 \
gcc-10 && \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10 && \
apt-get clean -qy && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Set up boot JDK for building
COPY boot_jdk_x86.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_x86.tar.gz && rm /jdk17/boot_jdk_x86.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -1,72 +0,0 @@
# jetbrains/runtime:jbr17env_x86_64
FROM centos:7
RUN yum -y install centos-release-scl; \
yum -y install devtoolset-10-10.1-0.el7; \
yum -y install \
alsa-lib-devel-1.1.8-1.el7 \
autoconf-2.69-11.el7 \
automake-1.13.4-3.el7 \
bzip2-1.0.6-13.el7 \
cups-devel-1.6.3-51.el7 \
file-5.11-37.el7 \
fontconfig-devel-2.13.0-4.3.el7 \
freetype-devel-2.8-14.el7_9.1 \
giflib-devel-4.1.6-9.el7 \
git-1.8.3.1-24.el7_9 \
libtool-2.4.2-22.el7_3 \
libXi-devel-1.7.9-1.el7 \
libXrandr-devel-1.5.1-2.el7 \
libXrender-devel-0.9.10-1.el7 \
libXt-devel-1.1.5-3.el7 \
libXtst-devel-1.2.3-1.el7 \
make-3.82-24.el7 \
tar-1.26-35.el7 \
unzip-6.0-24.el7_9 \
wayland-devel-1.15.0-1.el7 \
wget-1.14-18.el7_6.1 \
which-2.20-7.el7 \
zip-3.0-11.el7
RUN mkdir .git && \
git config user.email "teamcity@jetbrains.com" && \
git config user.name "builduser"
ENV LD_LIBRARY_PATH="/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib"
ENV PATH="/opt/rh/devtoolset-10/root/usr/bin::${PATH}"
ENV PKG_CONFIG_PATH="/opt/rh/devtoolset-10/root/usr/lib64/pkgconfig"
# Build GLSLC
RUN curl -OL https://github.com/Kitware/CMake/releases/download/v3.27.5/cmake-3.27.5-linux-x86_64.tar.gz \
&& echo 138c68addae825b16ed78d792dafef5e0960194833f48bd77e7e0429c6bc081c *cmake-3.27.5-linux-x86_64.tar.gz | sha256sum -c - \
&& tar -xzf cmake-3.27.5-linux-x86_64.tar.gz \
&& rm cmake-3.27.5-linux-x86_64.tar.gz \
&& git clone https://github.com/google/shaderc --branch v2023.6 \
&& cd shaderc \
&& ./utils/git-sync-deps \
&& mkdir build \
&& cd build \
&& /cmake-3.27.5-linux-x86_64/bin/cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DSHADERC_SKIP_TESTS=ON \
-DSHADERC_SKIP_EXAMPLES=ON \
-DSHADERC_SKIP_COPYRIGHT_CHECK=ON \
.. \
&& make install
ENV PATH="/cmake-3.27.5-linux-x86_64/bin::${PATH}"
# Checkout Vulkan headers
RUN mkdir /vulkan \
&& cd /vulkan \
&& git init \
&& git remote add -f origin https://github.com/KhronosGroup/Vulkan-Headers.git \
&& git fetch origin \
&& git checkout v1.3.265 -- include \
&& rm -r .git \
&& mkdir /vulkan_hpp \
&& cd /vulkan_hpp \
&& git init \
&& git remote add -f origin https://github.com/KhronosGroup/Vulkan-Hpp.git \
&& git fetch origin \
&& git checkout v1.3.265 -- vulkan \
&& rm -r .git

View File

@@ -1,29 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building AArch64 variant
# of the JetBrains Runtime "dev" version.
BOOT_JDK_REMOTE_FILE=zulu17.30.15-ca-jdk17.0.1-linux_aarch64.tar.gz
BOOT_JDK_SHA=4d9c9116eb0cdd2d7fb220d6d27059f4bf1b7e95cc93d5512bd8ce3791af86c7
BOOT_JDK_LOCAL_FILE=boot_jdk.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jbrdevenv_arm64v8 -f Dockerfile.aarch64 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -1,70 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
machine=$(uname -m)
echo "Building image for "$machine" arch"
case "$machine" in
"aarch64" | "arm64v8" | "arm64")
arch=arm64
arch_from=arm64v8
;;
"x86_64" | "amd64")
arch=amd64
arch_from=amd64
;;
esac
# This script creates Docker images for testing JBR executables
function build {
local arch=$1
local os_name=$2
local os_version=$3
local arch_from=${4:-$arch}
echo "Building image for ${os_name} ${os_version} ${arch}"
echo "====================================="
docker build -t jetbrains/runtime:jbrTest_${os_name}${os_version}-$arch \
--build-arg ARCH="$arch" \
--build-arg ARCH_FROM=$arch_from \
--build-arg OS_NAME=${os_name} \
--build-arg OS_VERSION="${os_version}" \
-f Dockerfile-jbrTest .
return 0
}
function downloadJBR {
JBR_REMOTE_FILE=jbr-11_0_16-linux-x86-b2043.64.tar.gz
JBR_SHA=d3e4d488bb8e0edf4fa0832a4ff5b5dcac69e646640ae06afb1b49e419536762
JBR_LOCAL_FILE=$JBR_REMOTE_FILE
if [ ! -f $JBR_LOCAL_FILE ]; then
# Obtain "JBR" from outside of the container.
curl -o $JBR_LOCAL_FILE https://cache-redirector.jetbrains.com/intellij-jbr/${JBR_REMOTE_FILE} -O
else
echo "Runtime \"$JBR_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$JBR_SHA *$JBR_LOCAL_FILE
EOF
return 0
}
build $arch "ubuntu" "20.04" ${arch_from}
if [ "$arch" == "amd64" ]; then
downloadJBR
build "i386" "ubuntu" "20.04" $arch
fi
build $arch "ubuntu" "22.04" ${arch_from}

View File

@@ -1,76 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
machine=$(uname -m)
echo "Building image for "$machine" arch"
case "$machine" in
"aarch64" | "arm64v8" | "arm64")
arch=arm64
arch_from=arm64v8
os_version_alpine="3.12"
;;
"x86_64" | "amd64")
arch=amd64
arch_from=amd64
os_version_alpine="3.12"
;;
esac
# This script creates Docker images for testing JBR executables
function build {
local arch=$1
local os_name=$2
local os_version=$3
local arch_from=${4:-$arch}
echo "Building image for ${os_name} ${os_version} ${arch}"
echo "====================================="
docker build -t jetbrains/runtime:jbrTest_${os_name}${os_version}-$arch \
--build-arg ARCH="$arch" \
--build-arg ARCH_FROM=$arch_from \
--build-arg OS_NAME=${os_name} \
--build-arg OS_VERSION="${os_version}" \
-f Dockerfile-jbrTest.musl .
return 0
}
function downloadJBR {
JBR_REMOTE_FILE=$1
JBR_SHA=$2
JBR_LOCAL_FILE=jbrsdk_17.tar.gz
if [ ! -f $JBR_REMOTE_FILE ]; then
# Obtain "JBR" from outside of the container.
wget -nc https://cache-redirector.jetbrains.com/intellij-jbr/${JBR_REMOTE_FILE} -O $JBR_REMOTE_FILE
# Verify that what we've downloaded can be trusted.
# sha256sum -c - <<EOF
#$JBR_SHA *$JBR_LOCAL_FILE
#EOF
cp $JBR_REMOTE_FILE $JBR_LOCAL_FILE
else
echo "Runtime \"$JBR_LOCAL_FILE\" present, skipping download"
fi
return 0
}
if [ "$arch" == "amd64" ]; then
JBR_REMOTE_FILE=jbrsdk-17.0.10-linux-musl-x64-b1087.23.tar.gz
JBR_SHA=4424739563c8735e81972a651b6f6851b2c835c6a9d192385b3dc934eecfae86e0a6e853fcea9b2353e71a576c7ff029e5a6836c6d9b7cd98d1c23b42763fd3e
else
JBR_REMOTE_FILE=jbrsdk-17.0.10-linux-musl-aarch64-b1087.23.tar.gz
JBR_SHA=936668fd2c7375fa7e728dcf7988eb36f4ea886b95782cd84cb129585c7bec5de5e94072b0c24817b1ec1873b058b6d30c09edf7d1789e031121a7737b687c4f
fi
downloadJBR $JBR_REMOTE_FILE $JBR_SHA
build $arch "alpine" ${os_version_alpine} ${arch_from}

View File

@@ -1,29 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building musl AArch64 variant
# of the JetBrains Runtime version 21.
BOOT_JDK_REMOTE_FILE=zulu20.32.11-ca-jdk20.0.2-linux_musl_aarch64.tar.gz
BOOT_JDK_SHA=eec57cf744c2438f695221f041d4804de3033ad33b6dba769d3359813ba3f90d
BOOT_JDK_LOCAL_FILE=boot_jdk_musl_aarch64.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jetbrains/runtime:jbr21env_musl_aarch64 -f Dockerfile.musl_aarch64 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -1,29 +0,0 @@
#!/bin/bash
set -euo pipefail
set -x
# This script creates a Docker image suitable for building musl-x64 variant
# of the JetBrains Runtime version 21.
BOOT_JDK_REMOTE_FILE=zulu20.32.11-ca-jdk20.0.2-linux_musl_x64.tar.gz
BOOT_JDK_SHA=fca5081dd6da847fcd06f5b755e58edae22d6784f21b81bf73da2b538f842c07
BOOT_JDK_LOCAL_FILE=boot_jdk_musl_amd64.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jetbrains/runtime:jbr21env_musl_x64 -f Dockerfile.musl_x64 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

View File

@@ -1,26 +0,0 @@
#!/bin/bash -x
# This script creates a Docker image suitable for building x86 variant
# of the JetBrains Runtime version 17.
BOOT_JDK_REMOTE_FILE=zulu17.34.19-ca-jdk17.0.3-linux_i686.tar.gz
BOOT_JDK_SHA=1c35c374ba0001e675d6e80819d5be900c4e141636d5e484992a8c550be14481
BOOT_JDK_LOCAL_FILE=boot_jdk_x86.tar.gz
if [ ! -f $BOOT_JDK_LOCAL_FILE ]; then
# Obtain "boot JDK" from outside of the container.
wget -nc https://cdn.azul.com/zulu/bin/${BOOT_JDK_REMOTE_FILE} -O $BOOT_JDK_LOCAL_FILE
else
echo "boot JDK \"$BOOT_JDK_LOCAL_FILE\" present, skipping download"
fi
# Verify that what we've downloaded can be trusted.
sha256sum -c - <<EOF
$BOOT_JDK_SHA *$BOOT_JDK_LOCAL_FILE
EOF
docker build -t jetbrains/runtime:jbr17env_x86 -f Dockerfile.x86 .
# NB: the resulting container can (and should) be used without the network
# connection (--network none) during build in order to reduce the chance
# of build contamination.

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,188 +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=""
while getopts ":iw?" o; do
case "${o}" in
i) INC_BUILD=1 ;;
w) DISABLE_WARNINGS_AS_ERRORS="--disable-warnings-as-errors" ;;
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,171 +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 {
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 \
$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" ] || [ "$bundle_type" == "fd" ]; 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" == "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 $?
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,188 +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
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 \
$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" ] || [ "$bundle_type" == "fd" ]; 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" == "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 $?
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,47 +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
"$JETSIGN_CLIENT" -log-format text -denoted-content-type "$contentType" -extensions "$jetSignExtensions" "$pathToBeSigned"
# 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,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,170 +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)}
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 \
|| 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
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
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" == "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 $?
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,40 +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 | tee "notarytool.submit.out"
REQUEST_ID="$(grep -e " id: " "notarytool.submit.out" | grep -oE '([0-9a-f-]{36})'| head -n1)"
xcrun notarytool wait "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" --timeout 6h ||:
xcrun notarytool log "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}" developer_log.json ||:
xcrun notarytool info "$REQUEST_ID" --key tmp_key --key-id "${APPLE_KEY_ID}" --issuer "${APPLE_ISSUER_ID}"
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,162 +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" \
"Contents/Home/Frameworks" \
"Contents/Frameworks"; 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 "$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
--entitlements "$SCRIPT_DIR/entitlements.xml" {} \;
fi
done
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 "$SIGN_UTILITY" --timestamp \
--force \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--entitlements "$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 "$SIGN_UTILITY" --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
--entitlements "$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/Home/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.xml" tmp-to-sign.tar.gz
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..."
for f in \
"Contents/Home/Frameworks" "Contents/Frameworks"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" -name '*.framework' -maxdepth 1 | while read -r line
do
log "Checking '$line':"
codesign --verify --deep --strict --verbose=4 "$line"
done
fi
done
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
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"
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,136 +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
BACKUP_JMODS=$2.backup
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"
rm -rf "$BACKUP_JMODS"
mkdir "$BACKUP_JMODS"
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
rm "$INPUT_FILE"
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/jmods $BACKUP_JMODS
fi
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=3
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=$?
if [[ $ec -ne 0 ]]; then
((attempt += 1))
if [ $attempt -eq $limit ]; then
set -e
fi
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
((attempt += limit))
fi
done
set -e
if [ "$NOTARIZE" = "yes" ]; then
log "Notarizing..."
"$SCRIPT_DIR/notarize.sh" "$PKG_NAME"
log "Stapling..."
xcrun stapler staple "$APPLICATION_PATH" ||:
xcrun stapler staple "$PKG_NAME" ||:
else
log "Notarization disabled"
log "Stapling disabled"
fi
log "Zipping $BUILD_NAME to $INPUT_FILE ..."
(
#cd "$EXPLODED"
#ditto -c -k --sequesterRsrc --keepParent "$BUILD_NAME" "../$INPUT_FILE"
if test -d $BACKUP_JMODS/jmods; then
mv $BACKUP_JMODS/jmods $APPLICATION_PATH/Contents/Home
fi
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,98 +0,0 @@
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)
-tk tk_name # AWT toolkit (linux: WLToolkit|XToolkit)
-scale # UI scale
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
;;
-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
;;
-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,83 +0,0 @@
#!/bin/bash
BASE_DIR=$(dirname "$0")
source $BASE_DIR/run_inc.sh
RENDERPERFTEST_DIR=$WS_ROOT/test/jdk/performance/client/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
#MODE=Robot
#MODE=Buffer
MODE=Volatile
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
# use time + repeat
OPTS="$OPTS -r$R -t -e$MODE $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 $J2D_OPTS -DTRACE=$TRACE \
-jar $RENDERPERFTEST $OPTS 2>&1 | tail -n +2 | \
awk '/'$1'/{print $3 }'
if [ $i -ne $N ]; then
sleep $ST
fi
done | $DATAMASH_CMD | expand -t12

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,152 +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 images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
else
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
where cygpath
if [ $? -eq 0 ]; then
JCEF_PATH="$(cygpath -w $JCEF_PATH | sed 's/\\/\//g')"
fi
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; 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
jbr_name_postfix="_${bundle_type}"
cat $JCEF_PATH/jcef.version >> $JSDK/release
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" == "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,145 +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 images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
else
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
where cygpath
if [ $? -eq 0 ]; then
JCEF_PATH="$(cygpath -w $JCEF_PATH | sed 's/\\/\//g')"
fi
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; 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
jbr_name_postfix="_${bundle_type}"
cat $JCEF_PATH/jcef.version >> $JSDK/release
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" == "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,134 +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 images test-image JBR_API_JBR_VERSION=TEST || do_exit $?
else
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
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
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,56 +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 ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__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,56 +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 $?
}
[ "$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,52 +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 $?
}
[ "$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

54
make/BuildStatic.gmk Normal file
View File

@@ -0,0 +1,54 @@
#
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: all
include $(SPEC)
include MakeBase.gmk
################################################################################
#
# Concatenate exported.symbols files for modules into a single global file.
#
GLOBAL_SYMBOLS_FILE := $(SUPPORT_OUTPUTDIR)/build-static/exported.symbols
EXPORTED_SYMBOLS_MODULES := java.base jdk.jdwp.agent
MODULES_SYMBOLS_FILES := $(foreach module, $(EXPORTED_SYMBOLS_MODULES), \
$(SUPPORT_OUTPUTDIR)/modules_libs/$(module)/$(module).symbols)
$(GLOBAL_SYMBOLS_FILE): $(MODULES_SYMBOLS_FILES)
$(call LogInfo, Generating global exported.symbols file)
$(call MakeTargetDir)
$(CAT) $^ > $@
TARGETS += $(GLOBAL_SYMBOLS_FILE)
################################################################################
all: $(TARGETS)
.PHONY: default all

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -28,9 +28,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
include MakeIO.gmk
PRODUCT_TARGETS :=
LEGACY_TARGETS :=
TEST_TARGETS :=
@@ -284,7 +281,7 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
# Macosx release build and code signing available.
############################################################################
################################################################################
# JDK bundle
$(eval $(call SetupCopyFiles, CREATE_JDK_BUNDLE_DIR_SIGNED, \
SRC := $(JDK_IMAGE_DIR), \
@@ -313,7 +310,7 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
############################################################################
################################################################################
# JRE bundle
$(eval $(call SetupCopyFiles, CREATE_JRE_BUNDLE_DIR_SIGNED, \
SRC := $(JRE_IMAGE_DIR), \
@@ -481,27 +478,6 @@ endif
################################################################################
ifneq ($(filter static-libs-graal-bundles, $(MAKECMDGOALS)), )
STATIC_LIBS_GRAAL_BUNDLE_FILES := $(call FindFiles, $(STATIC_LIBS_GRAAL_IMAGE_DIR))
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
STATIC_LIBS_GRAAL_BUNDLE_SUBDIR := $(JDK_MACOSX_CONTENTS_SUBDIR)/Home
else
STATIC_LIBS_GRAAL_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)
endif
$(eval $(call SetupBundleFile, BUILD_STATIC_LIBS_GRAAL_BUNDLE, \
BUNDLE_NAME := $(STATIC_LIBS_GRAAL_BUNDLE_NAME), \
FILES := $(STATIC_LIBS_GRAAL_BUNDLE_FILES), \
BASE_DIRS := $(STATIC_LIBS_GRAAL_IMAGE_DIR), \
SUBDIR := $(STATIC_LIBS_GRAAL_BUNDLE_SUBDIR), \
))
STATIC_LIBS_GRAAL_TARGETS += $(BUILD_STATIC_LIBS_GRAAL_BUNDLE)
endif
################################################################################
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, Bundles.gmk))
@@ -514,9 +490,8 @@ docs-jdk-bundles: $(DOCS_JDK_TARGETS)
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)
jcov-bundles: $(JCOV_TARGETS)
.PHONY: all default 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 jcov-bundles

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -31,9 +31,8 @@ default: all
include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
include JavaCompilation.gmk
include NativeCompilation.gmk
include TextFileProcessing.gmk
include ZipArchive.gmk
@@ -59,7 +58,7 @@ DEMO_MANIFEST := $(SUPPORT_OUTPUTDIR)/demos/java-main-manifest.mf
# This rule will be depended on due to the MANIFEST line in SetupBuildDemo
# and SetupBuildJvmtiDemo.
$(eval $(call SetupTextFileProcessing, BUILD_JAVA_MANIFEST, \
SOURCE_FILES := $(TOPDIR)/make/data/mainmanifest/manifest.mf.template, \
SOURCE_FILES := $(TOPDIR)/make/data/mainmanifest/manifest.mf, \
OUTPUT_FILE := $(DEMO_MANIFEST), \
REPLACEMENTS := \
@@VERSION_SPECIFICATION@@ => $(VERSION_SPECIFICATION) ; \
@@ -183,7 +182,7 @@ $(eval $(call SetupBuildDemo, SwingSet2, \
))
$(eval $(call SetupBuildDemo, Font2DTest, \
DISABLED_WARNINGS := rawtypes deprecation unchecked serial cast this-escape dangling-doc-comments, \
DISABLED_WARNINGS := rawtypes deprecation unchecked serial cast this-escape, \
DEMO_SUBDIR := jfc, \
))
@@ -216,7 +215,7 @@ $(eval $(call SetupBuildDemo, SampleTree, \
))
$(eval $(call SetupBuildDemo, TableExample, \
DISABLED_WARNINGS := rawtypes unchecked deprecation this-escape dangling-doc-comments, \
DISABLED_WARNINGS := rawtypes unchecked deprecation this-escape, \
DEMO_SUBDIR := jfc, \
))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -28,8 +28,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
include JavaCompilation.gmk
include Modules.gmk
@@ -65,7 +63,7 @@ $(BUILDTOOLS_OUTPUTDIR)/gensrc/java.compiler.interim/javax/tools/ToolProvider.ja
$(SED) $(INTERIM_TOOL_PROVIDER_PATTERN) $< > $@
java.compiler.interim_EXTRA_FILES := \
$(BUILDTOOLS_OUTPUTDIR)/gensrc/java.compiler.interim/javax/tools/ToolProvider.java
$(BUILDTOOLS_OUTPUTDIR)/gensrc/java.compiler.interim/javax/tools/ToolProvider.java
TARGETS += $(BUILDTOOLS_OUTPUTDIR)/gensrc/java.compiler.interim/javax/tools/ToolProvider.java
@@ -101,13 +99,10 @@ define SetupInterimModule
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/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, \
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, \
COPY := .gif .png .xml .css .svg .js .js.template .txt javax.tools.JavaCompilerTool, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules/$1.interim, \
DISABLED_WARNINGS := module options, \
JAVAC_FLAGS := \

View File

@@ -75,12 +75,12 @@ $(JDK_OUTPUTDIR)/modules/%_zh_HK.properties: $(JDK_OUTPUTDIR)/modules/%_zh_TW.pr
CreateHkTargets = \
$(call FilterExcludedTranslations, \
$(patsubst $(TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
$(subst /share/classes,, \
$(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1)) \
) \
), \
.properties \
$(patsubst $(TOPDIR)/src/%, $(JDK_OUTPUTDIR)/modules/%, \
$(subst /share/classes,, \
$(subst _zh_TW,_zh_HK, $(filter %_zh_TW.properties, $1)) \
) \
), \
.properties \
)
################################################################################
@@ -100,7 +100,6 @@ $(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), \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -53,7 +53,7 @@ $(eval $(call SetupJavaCompilation, BUILD_JIGSAW_TOOLS, \
build/tools/jigsaw, \
COPY := .properties .html, \
BIN := $(TOOLS_CLASSES_DIR), \
DISABLED_WARNINGS := fallthrough, \
DISABLED_WARNINGS := fallthrough this-escape, \
JAVAC_FLAGS := \
--add-modules jdk.jdeps \
--add-exports java.base/jdk.internal.module=ALL-UNNAMED \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -27,8 +27,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
include JavaCompilation.gmk
include TextFileProcessing.gmk
@@ -52,9 +50,10 @@ $(eval $(call SetupJavaCompilation, BUILD_TOOLS_JDK, \
build/tools/deps \
build/tools/docs \
build/tools/jigsaw \
build/tools/depend, \
build/tools/depend \
, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \
DISABLED_WARNINGS := dangling-doc-comments options, \
DISABLED_WARNINGS := options, \
JAVAC_FLAGS := \
--add-exports java.desktop/sun.awt=ALL-UNNAMED \
--add-exports java.base/sun.text=ALL-UNNAMED \
@@ -65,19 +64,17 @@ $(eval $(call SetupJavaCompilation, BUILD_TOOLS_JDK, \
TARGETS += $(BUILD_TOOLS_JDK)
$(eval $(call SetupCopyFiles, COPY_NIMBUS_TEMPLATES, \
$(eval $(call SetupCopyFiles,COPY_NIMBUS_TEMPLATES, \
SRC := $(TOPDIR)/src/java.desktop/share/classes/javax/swing/plaf/nimbus, \
DEST := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes/build/tools/generatenimbus/resources, \
FILES := $(wildcard $(TOPDIR)/src/java.desktop/share/classes/javax/swing/plaf/nimbus/*.template), \
))
FILES := $(wildcard $(TOPDIR)/src/java.desktop/share/classes/javax/swing/plaf/nimbus/*.template)))
TARGETS += $(COPY_NIMBUS_TEMPLATES)
$(eval $(call SetupCopyFiles, COPY_CLDRCONVERTER_PROPERTIES, \
$(eval $(call SetupCopyFiles,COPY_CLDRCONVERTER_PROPERTIES, \
SRC := $(TOPDIR)/make/jdk/src/classes/build/tools/cldrconverter, \
DEST := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes/build/tools/cldrconverter, \
FILES := $(wildcard $(TOPDIR)/make/jdk/src/classes/build/tools/cldrconverter/*.properties), \
))
FILES := $(wildcard $(TOPDIR)/make/jdk/src/classes/build/tools/cldrconverter/*.properties)))
TARGETS += $(COPY_CLDRCONVERTER_PROPERTIES)
@@ -87,7 +84,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 \
@@ -100,21 +97,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

@@ -31,8 +31,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
LIBS_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_LIBS)))
CMDS_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CMDS)))
CONF_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CONF)))

View File

@@ -28,9 +28,7 @@ default: all
include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
################################################################################
##########################################################################################
### TZDB tool needs files from java.time.zone package
@@ -41,13 +39,12 @@ define tzdb_copyfiles
< $(<) > $@
endef
$(eval $(call SetupCopyFiles, COPY_INTERIM_TZDB, \
$(eval $(call SetupCopyFiles,COPY_INTERIM_TZDB, \
SRC := $(TOPDIR)/src/java.base/share/classes/java/time/zone, \
DEST := $(BUILDTOOLS_OUTPUTDIR)/interim_tzdb_classes/build/tools/tzdb, \
FILES := ZoneRules.java ZoneOffsetTransition.java ZoneOffsetTransitionRule.java Ser.java, \
MACRO := tzdb_copyfiles, \
))
MACRO := tzdb_copyfiles))
################################################################################
##########################################################################################
all: $(COPY_INTERIM_TZDB)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -27,8 +27,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
include Execute.gmk
include Modules.gmk
@@ -184,14 +182,9 @@ else # not java.base
endif
endif
################################################################################
# Include module specific build settings
-include Jmod.gmk
# Set main class
ifneq ($(JMOD_FLAGS_main_class), )
JMOD_FLAGS += $(JMOD_FLAGS_main_class)
# Set main class of jdk.httpserver module
ifeq ($(MODULE), jdk.httpserver)
JMOD_FLAGS += --main-class sun.net.httpserver.simpleserver.Main
endif
# Changes to the jmod tool itself should also trigger a rebuild of all jmods.
@@ -229,21 +222,8 @@ ifeq ($(INTERIM_JMOD), true)
# Interim JMODs are not shipped anywhere, so there is no reason
# to compress them at all.
JMOD_FLAGS += --compress zip-0
JMOD_TARGET_OS := $(OPENJDK_BUILD_OS)
ifeq ($(JMOD_TARGET_OS), macosx)
JMOD_TARGET_OS := macos
endif
JMOD_TARGET_CPU := $(OPENJDK_BUILD_CPU)
ifeq ($(JMOD_TARGET_CPU), x86_64)
JMOD_TARGET_CPU := amd64
endif
JMOD_TARGET_PLATFORM := $(JMOD_TARGET_OS)-$(JMOD_TARGET_CPU)
else
JMOD_FLAGS += --compress $(JMOD_COMPRESS)
JMOD_TARGET_PLATFORM := $(OPENJDK_MODULE_TARGET_PLATFORM)
endif
# Create jmods in the support dir and then move them into place to keep the
@@ -255,7 +235,7 @@ $(eval $(call SetupExecute, create_$(JMOD_FILE), \
SUPPORT_DIR := $(JMODS_SUPPORT_DIR), \
PRE_COMMAND := $(RM) $(JMODS_DIR)/$(JMOD_FILE) $(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \
COMMAND := $(JMOD) $(JMOD_SMALL_FLAGS) create --module-version $(VERSION_SHORT) \
--target-platform '$(JMOD_TARGET_PLATFORM)' \
--target-platform '$(OPENJDK_MODULE_TARGET_PLATFORM)' \
--module-path $(JMODS_DIR) $(JMOD_FLAGS) \
--date $(SOURCE_DATE_ISO_8601) \
$(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \

View File

@@ -1,4 +1,4 @@
# Copyright (c) 1997, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -26,8 +26,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
include Execute.gmk
include Modules.gmk
include ModuleTools.gmk
@@ -68,6 +66,11 @@ MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) )
# In order to get a specific ordering it's necessary to specify the total
# ordering of tags as the tags are otherwise ordered in order of definition.
JAVADOC_TAGS := \
-tag beaninfo:X \
-tag revised:X \
-tag since.unbundled:X \
-tag Note:X \
-tag ToDo:X \
-tag 'apiNote:a:API Note:' \
-tag 'implSpec:a:Implementation Requirements:' \
-tag 'implNote:a:Implementation Note:' \
@@ -141,6 +144,11 @@ ifeq ($(IS_DRAFT), true)
endif
DRAFT_TEXT := This specification is not final and is subject to change. \
Use is subject to <a href="$(LICENSE_URL)">license terms</a>.
# Workaround stylesheet bug
HEADER_STYLE := style="margin-top: 9px;"
else
HEADER_STYLE := style="margin-top: 14px;"
endif
# $1 - Relative prefix to COPYRIGHT_URL
@@ -247,7 +255,7 @@ define create_overview_file
<!DOCTYPE html> \
<html><head></head><body> \
#
ifneq ($$($1_GROUPS), )
ifneq ($$($1_GROUPS),)
$1_OVERVIEW_TEXT += \
<p>This document is divided into \
$$(subst 2,two,$$(subst 3,three,$$(words $$($1_GROUPS)))) sections:</p> \
@@ -336,7 +344,7 @@ define SetupApiDocsGenerationBody
$1_DOC_TITLE := $$($1_LONG_NAME)<br>Version $$(VERSION_SPECIFICATION) API \
Specification
$1_WINDOW_TITLE := $$(subst &amp;,&,$$($1_SHORT_NAME))$$(DRAFT_MARKER_TITLE)
$1_HEADER_TITLE := <div><strong>$$($1_SHORT_NAME)</strong> \
$1_HEADER_TITLE := <div $$(HEADER_STYLE)><strong>$$($1_SHORT_NAME)</strong> \
$$(DRAFT_MARKER_STR)</div>
ifneq ($$($1_OTHER_VERSIONS), )
$1_JAVADOC_BOTTOM := $$(call JAVADOC_BOTTOM, <a href="$$($1_OTHER_VERSIONS)">Other versions.</a>)
@@ -644,7 +652,7 @@ ifeq ($(ENABLE_PANDOC), true)
GLOBAL_SPECS_DEFAULT_CSS_FILE := $(DOCS_OUTPUTDIR)/resources/jdk-default.css
# Unset the following to suppress the link to the tool guides
NAV_LINK_GUIDES := --nav-link-guides
HEADER_RIGHT_SIDE_INFO := <strong>$(subst &amp;,&,$(JDK_SHORT_NAME))</strong>$(DRAFT_MARKER_STR)
HEADER_RIGHT_SIDE_INFO := <strong>$(subst &amp;,&,$(JDK_SHORT_NAME))$(DRAFT_MARKER_STR)</strong>
$(foreach m, $(ALL_MODULES), \
$(eval SPECS_$m := $(call FindModuleSpecsDirs, $m)) \
@@ -681,25 +689,28 @@ ifeq ($(ENABLE_PANDOC), true)
$(TOPDIR)/make/jdk/src/classes/build/tools/pandocfilter)
$(foreach m, $(ALL_MODULES), \
$(eval MAN_$m := $(call ApplySpecFilter, $(filter %.md, $(call FindFiles, \
$(call FindModuleManDirs, $m))))) \
$(if $(MAN_$m), \
$(eval $(call SetupProcessMarkdown, MAN_TO_HTML_$m, \
FILES := $(MAN_$m), \
DEST := $(DOCS_OUTPUTDIR)/specs/man, \
FILTER := $(PANDOC_HTML_MANPAGE_FILTER), \
CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \
REPLACEMENTS := \
@@COPYRIGHT_YEAR@@ => $(COPYRIGHT_YEAR) ; \
@@VERSION_SHORT@@ => $(VERSION_SHORT) ; \
@@VERSION_SPECIFICATION@@ => $(VERSION_SPECIFICATION), \
OPTIONS := --toc -V include-before='$(SPECS_TOP)' -V include-after='$(SPECS_BOTTOM_1)', \
POST_PROCESS := $(TOOL_FIXUPPANDOC) --insert-nav --nav-right-info '$(HEADER_RIGHT_SIDE_INFO)' \
--nav-subdirs 1 --nav-link-guides, \
EXTRA_DEPS := $(PANDOC_HTML_MANPAGE_FILTER) \
$(PANDOC_HTML_MANPAGE_FILTER_SOURCE), \
)) \
$(eval JDK_SPECS_TARGETS += $(MAN_TO_HTML_$m)) \
$(eval MAN_$m := $(call FindModuleManDirs, $m)) \
$(foreach d, $(MAN_$m), \
$(foreach f, $(call ApplySpecFilter, $(filter %.md, $(call FindFiles, $d))), \
$(eval $m_$f_NAME := MAN_TO_HTML_$m_$(strip $(call RelativePath, $f, $(TOPDIR)))) \
$(eval $(call SetupProcessMarkdown, $($m_$f_NAME), \
SRC := $d, \
FILES := $f, \
DEST := $(DOCS_OUTPUTDIR)/specs/man, \
FILTER := $(PANDOC_HTML_MANPAGE_FILTER), \
CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \
REPLACEMENTS := \
@@COPYRIGHT_YEAR@@ => $(COPYRIGHT_YEAR) ; \
@@VERSION_SHORT@@ => $(VERSION_SHORT) ; \
@@VERSION_SPECIFICATION@@ => $(VERSION_SPECIFICATION), \
OPTIONS := --toc -V include-before='$(SPECS_TOP)' -V include-after='$(SPECS_BOTTOM_1)', \
POST_PROCESS := $(TOOL_FIXUPPANDOC) --insert-nav --nav-right-info '$(HEADER_RIGHT_SIDE_INFO)' \
--nav-subdirs 1 --nav-link-guides, \
EXTRA_DEPS := $(PANDOC_HTML_MANPAGE_FILTER) \
$(PANDOC_HTML_MANPAGE_FILTER_SOURCE), \
)) \
$(eval JDK_SPECS_TARGETS += $($($m_$f_NAME))) \
) \
) \
)
@@ -714,7 +725,7 @@ SPEC_HEADER_BLOCK := \
<div class="navbar"> \
<div>$(HEADER_RIGHT_SIDE_INFO)</div> \
<nav><ul><li><a href="PATH_TO_SPECS/../api/index.html">API</a> \
<li><a href="PATH_TO_SPECS/index.html">OTHER SPECIFICATIONS</a> \
<li><a href="PATH_TO_SPECS/index.html">OTHER SPECIFICATIONS \
<li><a href="PATH_TO_SPECS/man/index.html">TOOL GUIDES</a></ul></nav> \
</div> \
</header>

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -31,8 +31,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
include JavaCompilation.gmk
################################################################################
@@ -43,7 +41,6 @@ $(eval $(call SetupJavaCompilation, CLASSLIST_JAR, \
SMALL_JAVA := false, \
SRC := $(TOPDIR)/make/jdk/src/classes, \
INCLUDES := build/tools/classlist, \
DISABLED_WARNINGS := dangling-doc-comments, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/classlist_classes, \
JAR := $(SUPPORT_OUTPUTDIR)/classlist.jar, \
))
@@ -62,15 +59,6 @@ ifeq ($(EXTERNAL_BUILDJDK), true)
INTERIM_IMAGE_DIR := $(BUILD_JDK)
endif
# To make the classlist deterministic:
# - The classlist can be influenced by locale. Always set it to en/US.
# - Concurrency in the core libraries can cause constant pool resolution
# to be non-deterministic. Since the benefits of resolved CP references in the
# default classlist is minimal, let's filter out the '@cp' lines until we can
# find a proper solution.
CLASSLIST_FILE_VM_OPTS = \
-Duser.language=en -Duser.country=US
# Save the stderr output of the command and print it along with stdout in case
# something goes wrong.
$(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST_JAR)
@@ -78,7 +66,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@))
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $(JLI_TRACE_FILE)))
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.raw \
$(CLASSLIST_FILE_VM_OPTS) \
-Duser.language=en -Duser.country=US \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.HelloClasslist $(LOG_DEBUG)
$(GREP) -v HelloClasslist $@.raw > $@.interim
@@ -88,7 +76,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.raw.2 \
-XX:SharedClassListFile=$@.interim -XX:SharedArchiveFile=$@.jsa \
-Djava.lang.invoke.MethodHandle.TRACE_RESOLVE=true \
$(CLASSLIST_FILE_VM_OPTS) \
-Duser.language=en -Duser.country=US \
--module-path $(SUPPORT_OUTPUTDIR)/classlist.jar \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.HelloClasslist \
@@ -101,10 +89,9 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
exit $$exitcode \
)
$(GREP) -v HelloClasslist $@.raw.2 > $@.raw.3
$(GREP) -v @cp $@.raw.3 > $@.raw.4
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.SortClasslist $@.raw.4 > $@
build.tools.classlist.SortClasslist $@.raw.3 > $@
# The jli trace is created by the same recipe as classlist. By declaring these
# dependencies, make will correctly rebuild both jli trace and classlist

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2022, 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
@@ -28,7 +28,7 @@
###
# Helper macro to allow $(info) to properly print strings beginning with spaces.
_ :=
_:=
help:
$(info )
@@ -52,6 +52,7 @@ help:
$(info $(_) make docs # Create all docs)
$(info $(_) make docs-jdk-api # Create just JDK javadocs)
$(info $(_) make bootcycle-images # Build images twice, second time with newly built JDK)
$(info $(_) make install # Install the generated images locally)
$(info $(_) make check # Run basic testing (currently tier1))
$(info $(_) make test-<test> # Run test, e.g. test-tier1)
$(info $(_) make test TEST=<t> # Run test(s) given by TEST specification)
@@ -87,9 +88,10 @@ help:
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata))
$(info )
$(info Make control variables)
$(info $(_) CONF=<selector> # Select which configuration(s) to build)
$(info $(_) CONF= # Select all configurations (note, assignment is empty))
$(info $(_) CONF_NAME=<string> # Select the configuration with the name <string>)
$(info $(_) CONF= # Build all configurations (note, assignment is empty))
$(info $(_) CONF=<substring> # Build the configuration(s) with a name matching)
$(info $(_) # <substring>)
$(info $(_) CONF_NAME=<string> # Build the configuration with exactly the <string>)
$(info $(_) SPEC=<spec file> # Build the configuration given by the spec file)
$(info $(_) LOG=<loglevel> # Change the log level from warn to <loglevel>)
$(info $(_) # Available log levels are:)
@@ -102,13 +104,13 @@ help:
$(info $(_) # method is 'auto', 'ignore' or 'fail' (default))
$(info $(_) TEST="test1 ..." # Use the given test descriptor(s) for testing, e.g.)
$(info $(_) # make test TEST="jdk_lang gtest:all")
$(info $(_) JTREG="OPT1=x;OPT2=y" # Control the JTREG test harness, use 'make test-only JTREG=help' to list)
$(info $(_) GTEST="OPT1=x;OPT2=y" # Control the GTEST test harness, use 'make test-only GTEST=help' to list)
$(info $(_) MICRO="OPT1=x;OPT2=y" # Control the MICRO test harness, use 'make test-only MICRO=help' to list)
$(info $(_) JTREG="OPT1=x;OPT2=y" # Control the JTREG test harness, use 'help' to list)
$(info $(_) GTEST="OPT1=x;OPT2=y" # Control the GTEST test harness, use 'help' to list)
$(info $(_) MICRO="OPT1=x;OPT2=y" # Control the MICRO test harness, use 'help' to list)
$(info $(_) TEST_OPTS="OPT1=x;..." # Generic control of all test harnesses)
$(info $(_) TEST_VM_OPTS="ARG ..." # Same as setting TEST_OPTS to VM_OPTIONS="ARG ...")
$(info )
$(if $(all_confs), $(info Available configurations in $(build_dir):) $(foreach var,$(all_confs),$(info * $(var))), \
$(if $(all_confs), $(info Available configurations in $(build_dir):) $(foreach var,$(all_confs),$(info * $(var))),\
$(info No configurations were found in $(build_dir).) $(info Run 'bash configure' to create a configuration.))
# We need a dummy rule otherwise make will complain
@true

View File

@@ -31,8 +31,6 @@ default: all
include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
################################################################################
TARGETS :=
@@ -45,10 +43,10 @@ $(eval $(call SetupCopyFiles, COPY_JDK_IMG, \
TARGETS += $(COPY_JDK_IMG)
$(eval $(call SetupCopyFiles, COPY_STATIC_LIBS, \
SRC := $(STATIC_LIBS_GRAAL_IMAGE_DIR)/lib, \
SRC := $(STATIC_LIBS_IMAGE_DIR)/lib, \
DEST := $(GRAAL_BUILDER_IMAGE_DIR)/lib, \
FILES := $(filter %$(STATIC_LIBRARY_SUFFIX), \
$(call FindFiles, $(STATIC_LIBS_GRAAL_IMAGE_DIR)/lib)), \
$(call FindFiles, $(STATIC_LIBS_IMAGE_DIR)/lib)), \
))
TARGETS += $(COPY_STATIC_LIBS)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2020, 2022, 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
@@ -38,14 +38,16 @@ HSDIS_OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/hsdis
REAL_HSDIS_NAME := hsdis-$(OPENJDK_TARGET_CPU_LEGACY_LIB)$(SHARED_LIBRARY_SUFFIX)
BUILT_HSDIS_LIB := $(HSDIS_OUTPUT_DIR)/$(REAL_HSDIS_NAME)
HSDIS_LINK_TYPE := C
HSDIS_TOOLCHAIN := TOOLCHAIN_DEFAULT
HSDIS_TOOLCHAIN_CFLAGS := $(CFLAGS_JDKLIB)
HSDIS_TOOLCHAIN_LDFLAGS := $(LDFLAGS_JDKLIB)
ifeq ($(HSDIS_BACKEND), capstone)
ifeq ($(call isTargetCpuArch, x86), true)
CAPSTONE_ARCH := CS_ARCH_X86
CAPSTONE_MODE := CS_MODE_$(OPENJDK_TARGET_CPU_BITS)
else ifeq ($(call isTargetCpuArch, aarch64), true)
CAPSTONE_ARCH := CS_ARCH_$(CAPSTONE_ARCH_AARCH64_NAME)
CAPSTONE_ARCH := CS_ARCH_ARM64
CAPSTONE_MODE := CS_MODE_ARM
else
$(error No support for Capstone on this platform)
@@ -57,7 +59,8 @@ endif
ifeq ($(HSDIS_BACKEND), llvm)
# Use C++ instead of C
HSDIS_LINK_TYPE := C++
HSDIS_TOOLCHAIN_CFLAGS := $(CXXFLAGS_JDKLIB)
HSDIS_TOOLCHAIN := TOOLCHAIN_LINK_CXX
ifeq ($(call isTargetOs, linux), true)
LLVM_OS := pc-linux-gnu
@@ -88,11 +91,14 @@ ifeq ($(HSDIS_BACKEND), binutils)
endif
endif
BUILD_HSDIS_CC := $(MINGW_BASE)-gcc
BUILD_HSDIS_LD := $(MINGW_BASE)-ld
BUILD_HSDIS_OBJCOPY := $(MINGW_BASE)-objcopy
BUILD_HSDIS_SYSROOT_CFLAGS := --sysroot=$(MINGW_SYSROOT)
BUILD_HSDIS_SYSROOT_LDFLAGS := --sysroot=$(MINGW_SYSROOT)
$(eval $(call DefineNativeToolchain, TOOLCHAIN_MINGW, \
CC := $(MINGW_BASE)-gcc, \
LD := $(MINGW_BASE)-ld, \
OBJCOPY := $(MINGW_BASE)-objcopy, \
RC := $(RC), \
SYSROOT_CFLAGS := --sysroot=$(MINGW_SYSROOT), \
SYSROOT_LDFLAGS := --sysroot=$(MINGW_SYSROOT), \
))
MINGW_SYSROOT_LIB_PATH := $(MINGW_SYSROOT)/mingw/lib
ifeq ($(wildcard $(MINGW_SYSROOT_LIB_PATH)), )
@@ -116,8 +122,8 @@ ifeq ($(HSDIS_BACKEND), binutils)
TOOLCHAIN_TYPE := gcc
OPENJDK_TARGET_OS := linux
OPENJDK_TARGET_OS_TYPE := unix
CC_OUT_OPTION := -o$(SPACE)
LD_OUT_OPTION := -o$(SPACE)
GENDEPS_FLAGS := -MMD -MF
CFLAGS_DEBUG_SYMBOLS := -g
DISABLED_WARNINGS :=
@@ -125,9 +131,9 @@ ifeq ($(HSDIS_BACKEND), binutils)
CFLAGS_WARNINGS_ARE_ERRORS := -Werror
SHARED_LIBRARY_FLAGS := -shared
HSDIS_TOOLCHAIN_DEFAULT_CFLAGS := false
HSDIS_TOOLCHAIN_DEFAULT_LDFLAGS := false
HSDIS_LDFLAGS += -L$(MINGW_GCC_LIB_PATH) -L$(MINGW_SYSROOT_LIB_PATH)
HSDIS_TOOLCHAIN := TOOLCHAIN_MINGW
HSDIS_TOOLCHAIN_CFLAGS :=
HSDIS_TOOLCHAIN_LDFLAGS := -L$(MINGW_GCC_LIB_PATH) -L$(MINGW_SYSROOT_LIB_PATH)
MINGW_DLLCRT := $(MINGW_SYSROOT_LIB_PATH)/dllcrt2.o
HSDIS_TOOLCHAIN_LIBS := $(MINGW_DLLCRT) -lmingw32 -lgcc -lgcc_eh -lmoldname \
-lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32
@@ -136,27 +142,17 @@ ifeq ($(HSDIS_BACKEND), binutils)
endif
endif
################################################################################
## Build libhsdis
################################################################################
$(eval $(call SetupJdkLibrary, BUILD_HSDIS, \
NAME := hsdis, \
LINK_TYPE := $(HSDIS_LINK_TYPE), \
SRC := $(TOPDIR)/src/utils/hsdis/$(HSDIS_BACKEND), \
EXTRA_HEADER_DIRS := \
java.base:include \
$(TOPDIR)/src/utils/hsdis, \
EXTRA_HEADER_DIRS := $(TOPDIR)/src/utils/hsdis, \
TOOLCHAIN := $(HSDIS_TOOLCHAIN), \
OUTPUT_DIR := $(HSDIS_OUTPUT_DIR), \
OBJECT_DIR := $(HSDIS_OUTPUT_DIR), \
DISABLED_WARNINGS_gcc := undef format-nonliteral sign-compare, \
DISABLED_WARNINGS_clang := undef format-nonliteral, \
DEFAULT_CFLAGS := $(HSDIS_TOOLCHAIN_DEFAULT_CFLAGS), \
CFLAGS := $(HSDIS_CFLAGS), \
CXXFLAGS := $(HSDIS_CFLAGS), \
LD_SET_ORIGIN := false, \
DEFAULT_LDFLAGS := $(HSDIS_TOOLCHAIN_DEFAULT_LDFLAGS), \
LDFLAGS := $(HSDIS_LDFLAGS) $(SHARED_LIBRARY_FLAGS), \
CFLAGS := $(HSDIS_TOOLCHAIN_CFLAGS) $(HSDIS_CFLAGS), \
LDFLAGS := $(HSDIS_TOOLCHAIN_LDFLAGS) $(HSDIS_LDFLAGS) $(SHARED_LIBRARY_FLAGS), \
LIBS := $(HSDIS_LIBS) $(HSDIS_TOOLCHAIN_LIBS), \
))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2024, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -27,11 +27,8 @@ default: all
include $(SPEC)
include MakeBase.gmk
include CopyFiles.gmk
include Execute.gmk
include Modules.gmk
include Utils.gmk
JDK_TARGETS :=
JRE_TARGETS :=
@@ -42,7 +39,7 @@ $(eval $(call IncludeCustomExtension, Images-pre.gmk))
################################################################################
# All modules for the current target platform.
ALL_MODULES := $(call FindAllModules) $(EXTRA_MODULES)
ALL_MODULES := $(call FindAllModules)
$(eval $(call ReadImportMetaData))
@@ -57,10 +54,7 @@ JDK_MODULES_LIST := $(call CommaList, $(JDK_MODULES))
BASE_RELEASE_FILE := $(JDK_OUTPUTDIR)/release
JMODS_DIRS := $(EXTRA_JMODS_DIR) $(IMAGES_OUTPUTDIR)/jmods
JDK_JMODS := $(foreach m, $(JDK_MODULES), $(firstword $(wildcard $(addsuffix /$m.jmod, $(JMODS_DIRS)))))
JRE_JMODS := $(foreach m, $(JRE_MODULES), $(firstword $(wildcard $(addsuffix /$m.jmod, $(JMODS_DIRS)))))
JMODS := $(wildcard $(IMAGES_OUTPUTDIR)/jmods/*.jmod)
JLINK_ORDER_RESOURCES := **module-info.class
JLINK_JLI_CLASSES :=
@@ -77,7 +71,7 @@ JLINK_ORDER_RESOURCES += \
#
JLINK_TOOL := $(JLINK) -J-Djlink.debug=true \
--module-path $(call PathList, $(JMODS_DIRS)) \
--module-path $(IMAGES_OUTPUTDIR)/jmods \
--endian $(OPENJDK_TARGET_CPU_ENDIAN) \
--release-info $(BASE_RELEASE_FILE) \
--order-resources=$(call CommaList, $(JLINK_ORDER_RESOURCES)) \
@@ -93,15 +87,12 @@ endif
JLINK_DISABLE_WARNINGS := | ( $(GREP) -v -e "WARNING: Using incubator module" || test "$$?" = "1" )
JDK_IMAGE_SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk
JRE_IMAGE_SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre
$(eval $(call SetupExecute, jlink_jdk, \
WARN := Creating jdk image, \
DEPS := $(JDK_JMODS) $(BASE_RELEASE_FILE) \
$(call DependOnVariable, JDK_MODULES_LIST, $(JDK_IMAGE_SUPPORT_DIR)/_jlink_jdk.vardeps), \
DEPS := $(JMODS) $(BASE_RELEASE_FILE) \
$(call DependOnVariable, JDK_MODULES_LIST), \
OUTPUT_DIR := $(JDK_IMAGE_DIR), \
SUPPORT_DIR := $(JDK_IMAGE_SUPPORT_DIR), \
SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \
PRE_COMMAND := $(RM) -r $(JDK_IMAGE_DIR), \
COMMAND := $(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \
$(JLINK_JDK_EXTRA_OPTS) --output $(JDK_IMAGE_DIR) \
@@ -112,10 +103,10 @@ JLINK_JDK_TARGETS := $(jlink_jdk)
$(eval $(call SetupExecute, jlink_jre, \
WARN := Creating legacy jre image, \
DEPS := $(JRE_JMODS) $(BASE_RELEASE_FILE) \
$(call DependOnVariable, JRE_MODULES_LIST, $(JRE_IMAGE_SUPPORT_DIR)/_jlink_jre.vardeps), \
DEPS := $(JMODS) $(BASE_RELEASE_FILE) \
$(call DependOnVariable, JDK_MODULES_LIST), \
OUTPUT_DIR := $(JRE_IMAGE_DIR), \
SUPPORT_DIR := $(JRE_IMAGE_SUPPORT_DIR), \
SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre, \
PRE_COMMAND := $(RM) -r $(JRE_IMAGE_DIR), \
COMMAND := $(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \
$(JLINK_JRE_EXTRA_OPTS) --output $(JRE_IMAGE_DIR), \
@@ -134,11 +125,11 @@ CDS_DUMP_FLAGS = -Xmx128M -Xms128M
# Param1 - VM variant (e.g., server, client, zero, ...)
# Param2 - _nocoops, or empty
define CreateCDSArchive
$1_$2_DUMP_EXTRA_ARG := $(if $(filter _nocoops, $2), -XX:-UseCompressedOops, )
$1_$2_DUMP_TYPE := $(if $(filter _nocoops, $2), -NOCOOPS, )
$1_$2_DUMP_EXTRA_ARG := $(if $(filter _nocoops, $2),-XX:-UseCompressedOops,)
$1_$2_DUMP_TYPE := $(if $(filter _nocoops, $2),-NOCOOPS,)
# Only G1 supports dumping the shared heap, so explicitly use G1 if the JVM supports it.
$1_$2_CDS_DUMP_FLAGS := $(CDS_DUMP_FLAGS) $(if $(filter g1gc, $(JVM_FEATURES_$1)), -XX:+UseG1GC)
$1_$2_CDS_DUMP_FLAGS := $(CDS_DUMP_FLAGS) $(if $(filter g1gc, $(JVM_FEATURES_$1)),-XX:+UseG1GC)
ifeq ($(OPENJDK_TARGET_OS), windows)
$1_$2_CDS_ARCHIVE := bin/$1/classes$2.jsa
@@ -146,20 +137,12 @@ define CreateCDSArchive
$1_$2_CDS_ARCHIVE := lib/$1/classes$2.jsa
endif
ifneq ($(COMPARE_BUILD), )
DEBUG_CDS_ARCHIVE := true
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
endif
$$(eval $$(call SetupExecute, $1_$2_gen_cds_archive_jdk, \
WARN := Creating CDS$$($1_$2_DUMP_TYPE) archive for jdk image for $1, \
INFO := Using CDS flags for $1: $$($1_$2_CDS_DUMP_FLAGS), \
DEPS := $$(jlink_jdk), \
OUTPUT_FILE := $$(JDK_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE), \
SUPPORT_DIR := $$(JDK_IMAGE_SUPPORT_DIR), \
SUPPORT_DIR := $$(SUPPORT_OUTPUTDIR)/images/jdk, \
COMMAND := $$(FIXPATH) $$(JDK_IMAGE_DIR)/bin/java -Xshare:dump \
-XX:SharedArchiveFile=$$(JDK_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE) \
-$1 $$($1_$2_DUMP_EXTRA_ARG) $$($1_$2_CDS_DUMP_FLAGS) $$(LOG_INFO), \
@@ -172,7 +155,7 @@ define CreateCDSArchive
INFO := Using CDS flags for $1: $$($1_$2_CDS_DUMP_FLAGS), \
DEPS := $$(jlink_jre), \
OUTPUT_FILE := $$(JRE_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE), \
SUPPORT_DIR := $$(JRE_IMAGE_SUPPORT_DIR), \
SUPPORT_DIR := $$(SUPPORT_OUTPUTDIR)/images/jre, \
COMMAND := $$(FIXPATH) $$(JRE_IMAGE_DIR)/bin/java -Xshare:dump \
-XX:SharedArchiveFile=$$(JRE_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE) \
-$1 $$($1_$2_DUMP_EXTRA_ARG) $$($1_$2_CDS_DUMP_FLAGS) $$(LOG_INFO), \
@@ -235,7 +218,7 @@ endif
ifeq ($(GCOV_ENABLED), true)
$(eval $(call SetupCopyFiles, COPY_GCOV_GCNO, \
$(eval $(call SetupCopyFiles,COPY_GCOV_GCNO, \
SRC := $(OUTPUTDIR), \
DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \
FILES := $(call FindFiles, $(HOTSPOT_OUTPUTDIR) \

View File

@@ -37,7 +37,7 @@ default:
# serially, regardless of -j.
.NOTPARALLEL:
ifeq ($(HAS_SPEC), )
ifeq ($(HAS_SPEC),)
##############################################################################
# This is the default mode. We have not been recursively called with a SPEC.
##############################################################################
@@ -168,7 +168,7 @@ ifeq ($(HAS_SPEC), )
endif
make-info:
ifneq ($(findstring $(LOG_LEVEL), info debug trace), )
ifneq ($(findstring $(LOG_LEVEL),info debug trace),)
$(info Running make as '$(strip $(MAKE) $(MFLAGS) \
$(COMMAND_LINE_VARIABLES) $(MAKECMDGOALS))')
endif

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