Compare commits

...

622 Commits

Author SHA1 Message Date
Vitaly Provodin
39dad9bb25 update exclude list on results of 17.0.11_b1281.1 test runs 2024-04-24 04:44:41 +07:00
Vitaly Provodin
1089d0882f Revert "JBR-6372: implement detecting of OS theme on linux"
This reverts commit 7803214b5c.
2024-04-20 21:33:37 +07:00
Christoph Langer
156ce15275 8329836: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.11
Reviewed-by: goetz
2024-04-19 15:36:14 +07:00
Martin Balao
f2e1645f50 8319851: Improve exception logging
Reviewed-by: mbaesken
Backport-of: 87dfeeb14fdd0fa1648a8bec91b5b713cc2c1b83
2024-04-19 15:36:04 +07:00
Martin Balao
1c948e7fde 8322122: Enhance generation of addresses
Backport-of: 1a4a46e102a2bc282fcbec571169867d715f4ade
2024-04-19 15:36:04 +07:00
Alexey Bakhtin
883d8c47f0 8318340: Improve RSA key implementations
Reviewed-by: mbalao
Backport-of: 62d9cec1d6b804a70381bfb8ac902b6bb649f8ae
2024-04-19 15:36:04 +07:00
Yuri Nesterenko
de6e2dbe71 8315708: Enhance HTTP/2 client usage
Reviewed-by: mbalao
Backport-of: 4bd9637dfe12d330afd7409c27c5778b28a24cf4
2024-04-19 15:36:03 +07:00
Goetz Lindenmaier
7567ce40f9 8327391: Add SipHash attribution file
Backport-of: fcf48ab3d3
2024-04-19 15:36:03 +07:00
Goetz Lindenmaier
b9ec2903d5 8327036: [macosx-aarch64] SIGBUS in MarkActivationClosure::do_code_blob reached from Unsafe_CopySwapMemory0
Backport-of: f38add6f8d
2024-04-19 15:36:03 +07:00
Sergey Bylokhov
298eb33da3 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-04-19 15:36:03 +07:00
Goetz Lindenmaier
4f5fc8574e 8305900: Use loopback IP addresses in security policy files of httpclient tests
Reviewed-by: mbaesken
Backport-of: 646b666a26
2024-04-19 15:36:03 +07:00
Christoph Langer
bdc87c40f6 8326000: Remove obsolete comments for class sun.security.ssl.SunJSSE
Backport-of: c2d9fa26ce
2024-04-19 15:36:02 +07:00
Goetz Lindenmaier
794f6972ac 8310380: Handle problems in core-related tests on macOS when codesign tool does not work
Backport-of: 39c104df44
2024-04-19 15:36:02 +07:00
Goetz Lindenmaier
ccfeb28318 8278312: Update SimpleSSLContext keystore to use SANs for localhost IP addresses
Backport-of: bc31ccc95b
2024-04-19 15:36:02 +07:00
Sergey Bylokhov
e16f7cb4c3 8321151: JDK-8294427 breaks Windows L&F on all older Windows versions
Backport-of: f695ca5884
2024-04-19 15:36:02 +07:00
Aleksey Shipilev
e4076462e6 8305962: update jcstress to 0.16
Backport-of: 292ee630ae
2024-04-19 15:36:01 +07:00
Aleksey Shipilev
02a029592b 8323515: Create test alias "all" for all test roots
8324647: Invalid test group of lib-test after JDK-8323515

Reviewed-by: phh
Backport-of: 8b9bf75880
2024-04-19 15:36:01 +07:00
Andrew Lu
94b5ce7ebf 8294158: HTML formatting for PassFailJFrame instructions
Backport-of: 14090ef603
2024-04-19 15:36:01 +07:00
Andrew Lu
de90d67c85 8294535: Add screen capture functionality to PassFailJFrame
Backport-of: dbb788f34d
2024-04-19 15:36:01 +07:00
Goetz Lindenmaier
e7fa0e07bd 8288846: misc tests fail "assert(ms < 1000) failed: Un-interruptable sleep, short time use only"
Backport-of: 6037ccdd50
2024-04-19 15:36:00 +07:00
Goetz Lindenmaier
627f045c3a 8290041: ModuleDescriptor.hashCode is inconsistent
Backport-of: 4cc6cb9d9d
2024-04-19 15:36:00 +07:00
Aleksey Shipilev
b355a00381 8321408: Add Certainly roots R1 and E1
Reviewed-by: goetz
Backport-of: f3073db42a
2024-04-19 15:36:00 +07:00
SendaoYan
aff45070c9 8323640: [TESTBUG]testMemoryFailCount in jdk/internal/platform/docker/TestDockerMemoryMetrics.java always fail because OOM killed
Backport-of: 791b427f44
2024-04-19 15:36:00 +07:00
Andrew Lu
3f921c4125 8314830: runtime/ErrorHandling/ tests ignore external VM flags
Reviewed-by: mbaesken
Backport-of: b685ee00b2
2024-04-19 15:36:00 +07:00
Johannes Bechberger
ceaaf2c04d 8325585: Remove no longer necessary calls to set/unset-in-asgct flag in JDK 17
Reviewed-by: rschmelter
2024-04-19 15:35:59 +07:00
Darragh Clarke
bea2ea5627 8314164: java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java fails intermittently in timeout
Backport-of: fbaaac63d4
2024-04-19 15:35:59 +07:00
Zdenek Zambersky
e20718729f 8306408: Fix the format of several tables in building.md
Reviewed-by: andrew
Backport-of: 26755a9686
2024-04-19 15:35:59 +07:00
Darragh Clarke
0adee38a83 8308336: Test java/net/HttpURLConnection/HttpURLConnectionExpectContinueTest.java failed: java.net.BindException: Address already in use
Backport-of: a48bcf3671
2024-04-19 15:35:59 +07:00
Andrew Lu
ec4d59e5fd 8318468: compiler/tiered/LevelTransitionTest.java fails with -XX:CompileThreshold=100 -XX:TieredStopAtLevel=1
Backport-of: 61d0db3838
2024-04-19 15:35:58 +07:00
Amos Shi
c1c3956f98 8315602: Open source swing security manager test
Backport-of: fd6442c079
2024-04-19 15:35:58 +07:00
Amos Shi
4363a43693 8274122: java/io/File/createTempFile/SpecialTempFile.java fails in Windows 11
Reviewed-by: mbaesken
Backport-of: 4a142c3b08
2024-04-19 15:35:58 +07:00
Sergey Bylokhov
fc42102143 8324347: Enable "maybe-uninitialized" warning for FreeType 2.13.1
Backport-of: 781f368d42
2024-04-19 15:35:57 +07:00
Jaikiran Pai
2218f19f3b 8305906: HttpClient may use incorrect key when finding pooled HTTP/2 connection for IPv6 address
Reviewed-by: phh
Backport-of: 3ccb3c0e09
2024-04-19 15:35:57 +07:00
Goetz Lindenmaier
591de61c4b 8290203: ProblemList vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/TestDescription.java on linux-all
Backport-of: ce36f6ea85
2024-04-19 15:35:57 +07:00
Sergey Bylokhov
437aed186a 8318603: Parallelize sun/java2d/marlin/ClipShapeTest.java
Backport-of: 6c7029ffd4
2024-04-19 15:35:57 +07:00
Aleksey Shipilev
00466cd448 8324514: ClassLoaderData::print_on should print address of class loader
Backport-of: fb822e49f2
2024-04-19 15:35:57 +07:00
Matthias Baesken
6bbc995766 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

Backport-of: 419e01685b
2024-04-19 15:35:56 +07:00
Matthias Baesken
b20605804d 8322783: prioritize /etc/os-release over /etc/SuSE-release in hs_err/info output
Reviewed-by: lucy
Backport-of: a8e4229852
2024-04-19 15:35:56 +07:00
Dan Lutker
c37328a75b 8325150: (tz) Update Timezone Data to 2024a
Reviewed-by: phh
Backport-of: 917838e0a5
2024-04-19 15:35:56 +07:00
Aleksey Shipilev
be376587ee 8325096: Test java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java is failing
Backport-of: ac1cd31949
2024-04-19 15:35:56 +07:00
Andrew Lu
a1d7792f64 8321480: ISO 4217 Amendment 176 Update
Reviewed-by: mbaesken
Backport-of: 8b24851b9d
2024-04-19 15:35:55 +07:00
Matthias Baesken
b8491a8d5d 8320168: handle setsocktopt return values
Backport-of: db1d82347b
2024-04-19 15:35:55 +07:00
Aleksey Shipilev
47c58a9eb9 8323637: Capture hotspot replay files in GHA
Backport-of: c84c0ab52d
2024-04-19 15:35:55 +07:00
Aleksey Shipilev
a5a527163d 8324937: GHA: Avoid multiple test suites per job
Backport-of: 1aba78f272
2024-04-19 15:35:55 +07:00
Andrew Lu
cecc0b9e05 8310923: Refactor Currency tests to use JUnit
Reviewed-by: mbaesken
Backport-of: e848d9471f
2024-04-19 15:35:54 +07:00
Matthias Baesken
337b1e231a 8280241: (aio) AsynchronousSocketChannel init fails in IPv6 only Windows env
Backport-of: 36fbec78be
2024-04-19 15:35:54 +07:00
Amos Shi
80afae3bd8 8315611: Open source swing text/html and tree test
Backport-of: ae08143d3d
2024-04-19 15:35:54 +07:00
Elif Aslan
770f2df53f 8318607: Enable parallelism in vmTestbase/nsk/stress/jni tests
Backport-of: 43f31d7385
2024-04-19 15:35:54 +07:00
William Kemper
07780d9a0d 8321815: Shenandoah: gc state should be synchronized to java threads only once per safepoint
Reviewed-by: phh
Backport-of: 808a03927c
2024-04-19 15:35:54 +07:00
Goetz Lindenmaier
fa85acc304 8317144: Exclude sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java on Linux ppc64le
Backport-of: bc5a39bb54
2024-04-19 15:35:53 +07:00
Liang Mao
21ce5bb712 8276125: RunThese24H.java SIGSEGV in JfrThreadGroup::thread_group_id
Backport-of: a885aab696
2024-04-19 15:35:53 +07:00
Amos Shi
2b4f63cc15 8209595: MonitorVmStartTerminate.java timed out
Backport-of: a045258ae2
2024-04-19 15:35:53 +07:00
Amos Shi
09abd8b1b5 8311081: KeytoolReaderP12Test.java fail on localized Windows platform
Backport-of: b4b2fecb42
2024-04-19 15:35:53 +07:00
Amos Shi
dd37e50485 8310807: java/nio/channels/DatagramChannel/Connect.java timed out
Backport-of: 570dffb104
2024-04-19 15:35:52 +07:00
Amos Shi
752a5cca70 8315600: Open source few more headless Swing misc tests
Backport-of: b05198a4f3
2024-04-19 15:35:52 +07:00
Amos Shi
199d656c86 8315986: [macos14] javax/swing/JMenuItem/4654927/bug4654927.java: component must be showing on the screen to determine its location
Backport-of: e7486e8cfc
2024-04-19 15:35:52 +07:00
Amos Shi
4eaad3c216 8316106: Open source few swing JInternalFrame and JMenuBar tests
Backport-of: 0775bf2f03
2024-04-19 15:35:52 +07:00
Severin Gehwolf
09b59e303e 8319922: libCreationTimeHelper.so fails to link in JDK 21
Backport-of: ccc2fd0cd3
2024-04-19 15:35:52 +07:00
María Arias de Reyna
55d0f7d5ab 8261404: Class.getReflectionFactory() is not thread-safe
Backport-of: 905b763942
2024-04-19 15:35:51 +07:00
Gui Cao
dfeb189a4c 8324280: RISC-V: Incorrect implementation in VM_Version::parse_satp_mode
Backport-of: e7fdac9d5c
2024-04-19 15:35:51 +07:00
Severin Gehwolf
e5f4b58dd9 8316304: (fs) Add support for BasicFileAttributes.creationTime() for Linux
Reviewed-by: stuefe
Backport-of: 0275efac88
2024-04-19 15:35:51 +07:00
Aleksey Shipilev
f5d73f5a81 8324659: GHA: Generic jtreg errors are not reported
Backport-of: c313d451a5
2024-04-19 15:35:51 +07:00
Andrew Lu
0f3b87c498 8309870: Using -proc:full should be considered requesting explicit annotation processing
Backport-of: 3ce1240ca1
2024-04-19 15:35:50 +07:00
Andrew Lu
f68ad57ef4 8315761: Open source few swing JList and JMenuBar tests
Backport-of: bb6b3f2486
2024-04-19 15:35:50 +07:00
Elif Aslan
353ae682a6 8318608: Enable parallelism in vmTestbase/nsk/stress/threads tests
Reviewed-by: shade
Backport-of: cee44a6255
2024-04-19 15:35:50 +07:00
Goetz Lindenmaier
8269aca7c3 8296631: NSS tests failing on OL9 linux-aarch64 hosts
Backport-of: 6e1aacdfba
2024-04-19 15:35:50 +07:00
Andrew Lu
96b3df071f 8316947: Write a test to check textArea triggers MouseEntered/MouseExited events properly
Backport-of: 00ef9f9c32
2024-04-19 15:35:49 +07:00
Goetz Lindenmaier
2fb2d8d410 8210410: Refactor java.util.Currency:i18n shell tests to plain java tests
Reviewed-by: lucy
Backport-of: 2584bf87ae
2024-04-19 15:35:49 +07:00
Goetz Lindenmaier
9f9b36f82e 8313575: Refactor PKCS11Test tests
Backport-of: 7a08e6bdd6
2024-04-19 15:35:49 +07:00
Goetz Lindenmaier
4f47c699cc 8306014: Update javax.net.ssl TLS tests to use SSLContextTemplate or SSLEngineTemplate
Backport-of: 705ad7d829
2024-04-19 15:35:49 +07:00
Goetz Lindenmaier
50b2d9d46b 8281585: Remove unused imports under test/lib and jtreg/gc
Reviewed-by: lucy
Backport-of: 2604a88fbb
2024-04-19 15:35:48 +07:00
Andrew Lu
05b0085d17 8310238: [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails
Backport-of: 2cf5c2f4b6
2024-04-19 15:35:48 +07:00
Andrew Lu
a014a2baba 8308245: Add -proc:full to describe current default annotation processing policy
Backport-of: 42ecc8a37f
2024-04-19 15:35:48 +07:00
William Kemper
c254b2d9bb 8323086: Shenandoah: Heap could be corrupted by oom during evacuation
Backport-of: c4a83bd6f6
2024-04-19 15:35:48 +07:00
Andrew John Hughes
56fcdf5be0 8324184: Windows VS2010 build failed with "error C2275: 'int64_t'"
Reviewed-by: sgehwolf
2024-04-19 15:35:47 +07:00
Matthias Baesken
2d67649c9b 8272811: Document the effects of building with _GNU_SOURCE in os_posix.hpp
Backport-of: c4c76e2f34
2024-04-19 15:35:47 +07:00
Matthias Baesken
9a8e2b1cf6 8281543: Remove unused code/headerfile dtraceAttacher.hpp
Backport-of: bc43320fd3
2024-04-19 15:35:47 +07:00
Aleksey Shipilev
6034a0012d 8323243: JNI invocation of an abstract instance method corrupts the stack
Backport-of: 71d9a83dec
2024-04-19 15:35:47 +07:00
Ben Taylor
e890b3c574 8319436: Proxy.newProxyInstance throws NPE if loader is null and interface not visible from class loader
Backport-of: 8eb6f617b3
2024-04-19 15:35:46 +07:00
Jonathan Dowland
3dcc64ae74 8322321: Add man page doc for -XX:+VerifySharedSpaces
Reviewed-by: shade
Backport-of: f7dc257a20
2024-04-19 15:35:46 +07:00
Goetz Lindenmaier
2ad794eee5 8318490: Increase timeout for JDK tests that are close to the limit when run with libgraal
Backport-of: 6f263111a1
2024-04-19 15:35:46 +07:00
Goetz Lindenmaier
1ee0c9ab44 8319213: Compatibility.java reads both stdout and stderr of JdkUtils
Backport-of: 84f4f7477c
2024-04-19 15:35:45 +07:00
Goetz Lindenmaier
fa93d6a60f 8312428: PKCS11 tests fail with NSS 3.91
Backport-of: 1c598c2245
2024-04-19 15:35:45 +07:00
Goetz Lindenmaier
b3225ab21c 8317039: Enable specifying the JDK used to run jtreg
8317807: JAVA_FLAGS removed from jtreg running in JDK-8317039

Backport-of: 2545f55e50
2024-04-19 15:35:45 +07:00
Goetz Lindenmaier
9a7f179af1 8313206: PKCS11 tests silently skip execution
Reviewed-by: mdoerr
Backport-of: 515add88ed
2024-04-19 15:35:45 +07:00
Goetz Lindenmaier
b606edf240 8309305: sun/security/ssl/SSLSocketImpl/BlockedAsyncClose.java fails with jtreg test timeout
Backport-of: 8042a50b99
2024-04-19 15:35:44 +07:00
Goetz Lindenmaier
06fa983f48 8311581: Remove obsolete code and comments in TestLVT.java
Backport-of: 27de536b40
2024-04-19 15:35:44 +07:00
Ludovic Henry
38812606fe 8307955: Prefer to PTRACE_GETREGSET instead of PTRACE_GETREGS in method 'ps_proc.c::process_get_lwp_regs'
Reviewed-by: rehn
Backport-of: 2f1c65486b
2024-04-19 15:35:44 +07:00
Andrew Lu
6b890178ed 8169475: WheelModifier.java fails by timeout
Backport-of: 613d32c282
2024-04-19 15:35:44 +07:00
Goetz Lindenmaier
35b3e890e2 8319124: Update XML Security for Java to 3.0.3
Reviewed-by: mbaesken
Backport-of: 45df078510
2024-04-19 15:35:44 +07:00
Johannes Bechberger
541811b321 8317771: [macos14] Expand/collapse a JTree using keyboard freezes the application in macOS 14 Sonoma
Reviewed-by: asemenov
Backport-of: ffa33d7b80
2024-04-19 15:35:05 +07:00
Goetz Lindenmaier
5ae4d73252 8323008: filter out harmful -std* flags added by autoconf from CXX
Backport-of: 68c4286026
2024-04-19 15:31:20 +07:00
Matthias Baesken
f92f1ba8a3 8320300: Adjust hs_err output in malloc/mmap error cases
Reviewed-by: lucy
Backport-of: 60c8d9c045
2024-04-19 15:31:20 +07:00
Goetz Lindenmaier
881ca21da9 8318971: Better Error Handling for Jar Tool When Processing Non-existent Files
Backport-of: 8ae309ebac
2024-04-19 15:31:19 +07:00
Goetz Lindenmaier
8720cc39e8 8310631: test/jdk/sun/nio/cs/TestCharsetMapping.java is spuriously passing
Reviewed-by: mdoerr
Backport-of: e3201d1d13
2024-04-19 15:31:19 +07:00
Goetz Lindenmaier
cf6755081b 8311986: Disable runtime/os/TestTracePageSizes.java for ShenandoahGC
Backport-of: 167d1c1835
2024-04-19 15:31:18 +07:00
Goetz Lindenmaier
eca94d4426 8323806: [17u] VS2017 build fails with warning after 8293117.
Reviewed-by: mbaesken, shade
2024-04-19 15:31:18 +07:00
Goetz Lindenmaier
a84365f20c 8305972: Update XML Security for Java to 3.0.2
Reviewed-by: mbaesken
Backport-of: f0aebc8141
2024-04-19 15:31:18 +07:00
William Kemper
1144650510 8323428: Shenandoah: Unused memory in regions compacted during a full GC should be mangled
Backport-of: a7db4feceb
2024-04-19 15:31:17 +07:00
Andrew Lu
b10b53bce2 8315594: Open source few headless Swing misc tests
Backport-of: 806ef0897b
2024-04-19 15:31:16 +07:00
Andrew Lu
8ab6207a74 8318154: Improve stability of WheelModifier.java test
Backport-of: 668d4b077f
2024-04-19 15:31:16 +07:00
Sergey Bylokhov
a86d006f47 8309462: [AIX] vmTestbase/nsk/jvmti/RunAgentThread/agentthr001/TestDescription.java crashing due to empty while loop
Backport-of: cf9e6353cc
2024-04-19 15:31:16 +07:00
Goetz Lindenmaier
69b5fa75cd 8307185: pkcs11 native libraries make JNI calls into java code while holding GC lock
Backport-of: 354c6605e3
2024-04-19 15:31:15 +07:00
Goetz Lindenmaier
e00814fe92 8309302: java/net/Socket/Timeouts.java fails with AssertionError on test temporal post condition
Backport-of: 87c79c0801
2024-04-19 15:31:15 +07:00
Goetz Lindenmaier
1a4e6e9313 8272853: improve JavadocTester.runTests
Reviewed-by: phh
Backport-of: b0028a459c
2024-04-19 15:31:15 +07:00
Dmitry Chuyko
1b6a59c37e 8310844: [AArch64] C1 compilation fails because monitor offset in OSR buffer is too large for immediate
Reviewed-by: aph
Backport-of: ade21a965f
2024-04-19 15:31:15 +07:00
Goetz Lindenmaier
722422f854 8322883: [BACKOUT] 8225377: type annotations are not visible to javac plugins across compilation boundaries
Reviewed-by: shade
Backport-of: 18e97aa217
2024-04-19 15:31:15 +07:00
Gui Cao
0c0800d974 8322583: RISC-V: Enable fast class initialization checks
Backport-of: 5235cc987d
2024-04-19 15:31:14 +07:00
Ichiroh Takiguchi
b81d547594 6928542: Chinese characters in RTF are not decoded
Reviewed-by: phh
Backport-of: a26f7c03c7
2024-04-19 15:31:14 +07:00
Dan Lutker
f679d7432d 8322725: (tz) Update Timezone Data to 2023d
Reviewed-by: shade
Backport-of: 2a9c3589d9
2024-04-19 15:31:14 +07:00
William Kemper
d80312c99b 8323021: Shenandoah: Encountered reference count always attributed to first worker thread
Backport-of: f0e2e4311b
2024-04-19 15:31:14 +07:00
Christoph Langer
89efb2b416 8322772: Clean up code after JDK-8322417
Reviewed-by: mbaesken
Backport-of: 24b3b2b66f
2024-04-19 15:31:14 +07:00
Oli Gillespie
4acf98ef62 8321599: Data loss in AVX3 Base64 decoding
Reviewed-by: shade, phh
Backport-of: 13c11487f7
2024-04-19 15:31:13 +07:00
Goetz Lindenmaier
55a2171a44 8316693: Simplify at-requires checkDockerSupport()
Backport-of: 16fd43c5eb
2024-04-19 15:31:13 +07:00
Goetz Lindenmaier
40d0d51520 8303605: Memory leaks in Metaspace gtests
Reviewed-by: mdoerr
Backport-of: ddcb369cea
2024-04-19 15:31:13 +07:00
Aleksey Shipilev
155aeaf49d 8322985: [BACKOUT] 8318562: Computational test more than 2x slower when AVX instructions are used
Reviewed-by: kvn
Backport-of: ed9f3243f0
2024-04-19 15:31:13 +07:00
Goetz Lindenmaier
1499d8c398 8278028: [test-library] Warnings cleanup of the test library
Reviewed-by: mdoerr
Backport-of: 03f647f4bb
2024-04-19 15:31:12 +07:00
Jonathan Dowland
741cab5606 8315731: Open source several Swing Text related tests
Backport-of: d475f61fd5
2024-04-19 15:31:12 +07:00
Aleksey Shipilev
2e4bdfbd11 8320921: GHA: Parallelize hotspot_compiler test jobs
Backport-of: 694136909c
2024-04-19 15:31:12 +07:00
Aleksey Shipilev
1a03f0b08d 8293547: Add relaxed add_and_fetch for macos aarch64 atomics
Reviewed-by: aph
Backport-of: 7a1cb64bc1
2024-04-19 15:31:12 +07:00
Andrew Lu
b8c2800dce 8320208: Update Public Suffix List to b5bf572
Reviewed-by: mdoerr
Backport-of: 2b4e99140a
2024-04-19 15:31:11 +07:00
Sergey Bylokhov
e2ebb5ab24 8315042: NPE in PKCS7.parseOldSignedData
Backport-of: 8c0d026d0f
2024-04-19 15:31:11 +07:00
Matthias Baesken
7e1c69daf8 8318957: Enhance agentlib:jdwp help output by info about allow option
Backport-of: 53bb7cd415
2024-04-19 15:31:11 +07:00
Aleksey Shipilev
f6a1597ffb 8322968: [17u] Amend Atomics gtest with 1-byte tests
Reviewed-by: fyang
2024-04-19 15:31:11 +07:00
Aleksey Shipilev
e45b8ad53f 8286312: Stop mixing signed and unsigned types in bit operations
Backport-of: 39f4434f44
2024-04-19 15:31:11 +07:00
Aleksey Shipilev
ac6f0191a0 8283626: AArch64: Set relocInfo::offset_unit to 4
Backport-of: ab17f88f6c
2024-04-19 15:31:10 +07:00
Aleksey Shipilev
58de9fbd05 8205076: [17u] Inet6AddressImpl.c: lookupIfLocalHost accesses int InetAddress.preferIPv6Address as a boolean
Reviewed-by: phh
2024-04-19 15:31:10 +07:00
Aleksey Shipilev
974db11e4e 8318183: C2: VM may crash after hitting node limit
Reviewed-by: phh
Backport-of: 31ef400f31
2024-04-19 15:31:10 +07:00
Aleksey Shipilev
1fbb6ff8bd 8318961: increase javacserver connection timeout values and max retry attempts
Reviewed-by: mbaesken
Backport-of: b9983c7229
2024-04-19 15:31:10 +07:00
Sergey Bylokhov
3c7106bda2 8320937: support latest VS2022 MSC_VER in abstract_vm_version.cpp
Backport-of: eb44bafe77
2024-04-19 15:31:09 +07:00
Aleksey Shipilev
fcb0c58110 8307926: Support byte-sized atomic bitset operations
Backport-of: 646747fd7c
2024-04-19 15:31:09 +07:00
Goetz Lindenmaier
6790484c75 8316414: C2: large byte array clone triggers "failed: malformed control flow" assertion failure on linux-x86
Backport-of: 0a3a925ad8
2024-04-19 15:31:09 +07:00
Goetz Lindenmaier
2669682ae9 8316001: GC: Make TestArrayAllocatorMallocLimit use createTestJvm
Backport-of: 86dde5e02b
2024-04-19 15:31:09 +07:00
Goetz Lindenmaier
e64526dc14 8304696: Duplicate class names in dynamicArchive tests can lead to test failure
Backport-of: b2240bf870
2024-04-19 15:31:09 +07:00
Goetz Lindenmaier
b0749e3212 8322417: Console read line with zero out should zero out when throwing exception
Reviewed-by: mbaesken
Backport-of: 2f917bff5c
2024-04-19 15:31:08 +07:00
Amos Shi
ad41c0c640 8281377: Remove vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Deadlock/JavaDeadlock001/TestDescription.java from problemlist.
Backport-of: 1dfc94dd56
2024-04-19 15:31:08 +07:00
Andrew Lu
84687be2cf 8316028: Update FreeType to 2.13.2
Backport-of: 3b65b8797a
2024-04-19 15:31:08 +07:00
Goetz Lindenmaier
6d27d317bf 8315034: File.mkdirs() occasionally fails to create folders on Windows shared folder
Backport-of: 7ad700596f
2024-04-19 15:31:07 +07:00
Goetz Lindenmaier
13024d1bcb 8261837: SIGSEGV in ciVirtualCallTypeData::translate_from
Reviewed-by: roland
Backport-of: 1bb250c9e6
2024-04-19 15:31:07 +07:00
Goetz Lindenmaier
02ded4c017 8318983: Fix comment typo in PKCS12Passwd.java
Backport-of: 949846986f
2024-04-19 15:31:07 +07:00
Goetz Lindenmaier
f936620f8b 8319668: Fixup of jar filename typo in BadFactoryTest.sh
Backport-of: 63ad868e18
2024-04-19 15:31:07 +07:00
Goetz Lindenmaier
c091003288 8316392: compiler/interpreter/TestVerifyStackAfterDeopt.java failed with SIGBUS in PcDescContainer::find_pc_desc_internal
Backport-of: 16554ae23c
2024-04-19 15:31:06 +07:00
Goetz Lindenmaier
63a73bcf39 8316679: C2 SuperWord: wrong result, load should not be moved before store if not comparable
Reviewed-by: roland
Backport-of: 48f1a925e5
2024-04-19 15:31:06 +07:00
Goetz Lindenmaier
08e700038b 8316445: Mark com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java as vm.flagless
Backport-of: ca5eee2fe3
2024-04-19 15:31:06 +07:00
Goetz Lindenmaier
dde917d8f9 8315920: C2: "control input must dominate current control" assert failure
Reviewed-by: roland
Backport-of: 4e1e579e8b
2024-04-19 15:31:06 +07:00
Gui Cao
bdc9e11286 8321972: test runtime/Unsafe/InternalErrorTest.java timeout on linux-riscv64 platform
Backport-of: e8768ae08d
2024-04-19 15:31:05 +07:00
Jaroslav Bachorik
b420de637a 8313816: Accessing jmethodID might lead to spurious crashes
Reviewed-by: phh
Backport-of: cdd1a6e851
2024-04-19 15:31:05 +07:00
Goetz Lindenmaier
0c98a3e943 8319456: jdk/jfr/event/gc/collection/TestGCCauseWith[Serial|Parallel].java : GC cause 'GCLocker Initiated GC' not in the valid causes
Backport-of: 7c7f8ea30d
2024-04-19 15:31:05 +07:00
Goetz Lindenmaier
29c634dbe8 8318689: jtreg is confused when folder name is the same as the test name
Backport-of: a9b31b587c
2024-04-19 15:31:05 +07:00
Goetz Lindenmaier
eed5ad035b 8305356: Fix ignored bad CompileCommands in tests
Backport-of: 0e0c022b1f
2024-04-19 15:31:04 +07:00
Goetz Lindenmaier
1690e28920 8278363: Create extented container test groups
Backport-of: 3d61372ba5
2024-04-19 15:31:03 +07:00
Goetz Lindenmaier
471a41d048 8274621: NullPointerException because listenAddress[0] is null
Backport-of: 5bbc8d3cb2
2024-04-19 15:31:03 +07:00
Kimura Yukihiro
093697b4c9 8318410: jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh fails on Japanese Windows
Reviewed-by: phh
Backport-of: d051f22284
2024-04-19 15:31:02 +07:00
Matthias Baesken
069d2ab4b6 8317307: test/jdk/com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails with ConnectException: Connection timed out: no further information
Backport-of: b9b82631bf
2024-04-19 15:31:01 +07:00
Matthias Baesken
3a688793ea 8318955: Add ReleaseIntArrayElements in Java_sun_awt_X11_XlibWrapper_SetBitmapShape XlbWrapper.c to early return
Backport-of: 81db1721d4
2024-04-19 15:31:01 +07:00
Goetz Lindenmaier
705262906e 8311160: [macOS, Accessibility] VoiceOver: No announcements on JRadioButtonMenuItem and JCheckBoxMenuItem
Backport-of: c1f4595e64
2024-04-19 15:31:00 +07:00
Andrew Lu
64a26c0786 8313082: Enable CreateCoredumpOnCrash for testing in makefiles
Backport-of: ba645da97b
2024-04-19 15:30:59 +07:00
Sonia Zaldana Calles
90badd6743 8313621: test/jdk/jdk/internal/math/FloatingDecimal/TestFloatingDecimal should use RandomFactory
Backport-of: 864a876ebf
2024-04-19 15:30:59 +07:00
Sonia Zaldana Calles
135343f5f3 8263256: Test java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java fails due to dynamic reconfigurations of network interface during test
Backport-of: 0048f1da4c
2024-04-19 15:30:59 +07:00
Aleksey Shipilev
68755d549d 8314220: Configurable InlineCacheBuffer size
Reviewed-by: phh
Backport-of: a40d8d97e8
2024-04-19 15:30:59 +07:00
Sandhya Viswanathan
2ab2c602e5 8318562: Computational test more than 2x slower when AVX instructions are used
Reviewed-by: shade
Backport-of: 0881f2b0c4
2024-04-19 15:30:59 +07:00
Aleksey Shipilev
7118baf4cc 8317507: C2 compilation fails with "Exceeded _node_regs array"
Backport-of: a5818972c1
2024-04-19 15:30:58 +07:00
Sandhya Viswanathan
69dedc4d6c 8321215: Incorrect x86 instruction encoding for VSIB addressing mode
Backport-of: 027b5dbb6a
2024-04-19 15:30:58 +07:00
Sonia Zaldana Calles
dcf0d2811b 8315680: java/lang/ref/ReachabilityFenceTest.java should run with -Xbatch
Backport-of: a290256bbf
2024-04-19 15:30:58 +07:00
Aleksey Shipilev
e4cfea9ae9 8293117: Add atomic bitset functions
Backport-of: 8a70664e52
2024-04-19 15:30:58 +07:00
Aleksey Shipilev
e9b4d16221 8295068: SSLEngine throws NPE parsing CertificateRequests
Backport-of: 5667afc362
2024-04-19 15:30:58 +07:00
Aleksey Shipilev
be91508875 8274632: Possible pointer overflow in PretouchTask chunk claiming
Backport-of: a914ee7216
2024-04-19 15:30:57 +07:00
Liam Miller-Cushon
13fdfdf8f3 8320001: javac crashes while adding type annotations to the return type of a constructor
Reviewed-by: vromero
Backport-of: 5e24aaf4f7
2024-04-19 15:30:57 +07:00
Goetz Lindenmaier
4dfdd6ae0a 8309733: [macOS, Accessibility] VoiceOver: Incorrect announcements of JRadioButton
Backport-of: d1d2b55ce0
2024-04-19 15:30:57 +07:00
Goetz Lindenmaier
55bacae387 8320798: Console read line with zero out should zero out underlying buffer
Reviewed-by: mbaesken
Backport-of: d568562966
2024-04-19 15:30:57 +07:00
Goetz Lindenmaier
a97e48923f 8283400: [macos] a11y : Screen magnifier does not reflect JRadioButton value change
Backport-of: eefbaa2956
2024-04-19 15:30:57 +07:00
Goetz Lindenmaier
7041ba1a71 8297968: Crash in PrintOptoAssembly
Backport-of: c69aa42d02
2024-04-19 15:30:56 +07:00
Goetz Lindenmaier
9cf76a2f0a 8273454: C2: Transform (-a)*(-b) into a*b
8274060: C2: Incorrect computation after JDK-8273454

Reviewed-by: shade
Backport-of: 7c9868c0b3
2024-04-19 15:30:56 +07:00
Sonia Zaldana Calles
7c71b1d4da 8054022: HttpURLConnection timeouts with Expect: 100-Continue and no chunking
Reviewed-by: phh
Backport-of: 4b02956d42
2024-04-19 15:30:56 +07:00
Goetz Lindenmaier
68cc5f57e4 7167356: (javac) investigate failing tests in JavacParserTest
Backport-of: 07fb4f9a0b
2024-04-19 15:30:56 +07:00
Goetz Lindenmaier
2a4d3f6b8d 8294254: [macOS] javax/swing/plaf/aqua/CustomComboBoxFocusTest.java failure
Backport-of: 358ac07255
2024-04-19 15:30:55 +07:00
Goetz Lindenmaier
452b95fa0b 8274634: Use String.equals instead of String.compareTo in java.desktop
Reviewed-by: aturbanov
Backport-of: 6726c592ed
2024-04-19 15:30:55 +07:00
Aleksey Shipilev
c21ae354e8 8295124: Atomic::add to pointer type may return wrong value
Backport-of: 1164258ec7
2024-04-19 15:30:55 +07:00
Aleksey Shipilev
858d66728f 8271616: oddPart in MutableBigInteger::mutableModInverse contains info on final result
Backport-of: a8408708b0
2024-04-19 15:30:55 +07:00
Aleksey Shipilev
e5aa2f5049 8316415: Parallelize sun/security/rsa/SignedObjectChain.java subtests
Backport-of: 59847926b6
2024-04-19 15:30:55 +07:00
Liam Miller-Cushon
f91cf7623e 8225377: type annotations are not visible to javac plugins across compilation boundaries
Reviewed-by: vromero
Backport-of: de6667cf11
2024-04-19 15:30:54 +07:00
Aleksey Shipilev
c7cec41780 8271118: C2: StressGCM should have higher priority than frequency-based policy
Backport-of: ed1cb24027
2024-04-19 15:30:54 +07:00
Aleksey Shipilev
06054e5e55 8316929: Shenandoah: Shenandoah degenerated GC and full GC need to cleanup old OopMapCache entries
Backport-of: e25121d1d9
2024-04-19 15:30:54 +07:00
Aleksey Shipilev
05aea604d0 8292458: Atomic operations on scoped enums don't build with clang
Backport-of: f85411f24a
2024-04-19 15:30:54 +07:00
Goetz Lindenmaier
305a933c22 8310838: Correct range notations in MethodTypeDesc specification
Backport-of: a197ee797b
2024-04-19 15:30:53 +07:00
Sergey Bylokhov
3f3e2b08a9 8301310: The SendRawSysexMessage test may cause a JVM crash
Backport-of: d725b73df0
2024-04-19 15:30:53 +07:00
Sonia Zaldana Calles
e1e8e67dc5 8283994: Make Xerces DatatypeException stackless
Reviewed-by: phh
Backport-of: 85f8d14edf
2024-04-19 15:30:53 +07:00
Goetz Lindenmaier
e5c2b3582a 8299494: Test vmTestbase/nsk/stress/except/except011.java failed: ExceptionInInitializerError: target class not found
Backport-of: bbde2158d1
2024-04-19 15:30:53 +07:00
Goetz Lindenmaier
8f2f7c0574 8300269: The selected item in an editable JComboBox with titled border is not visible in Aqua LAF
Backport-of: ef6200c727
2024-04-19 15:30:52 +07:00
Goetz Lindenmaier
05d8f3e06d 8286846: test/jdk/javax/swing/plaf/aqua/CustomComboBoxFocusTest.java fails on mac aarch64
Backport-of: d7341ae42e
2024-04-19 15:30:52 +07:00
Paul Hohensee
3e7ac69eda 8313081: MonitoringSupport_lock should be unconditionally initialized after 8304074
Reviewed-by: simonis
Backport-of: a9d21c61fb
2024-04-19 15:30:52 +07:00
Paul Hohensee
1fce476a4b 8304074: [JMX] Add an approximation of total bytes allocated on the Java heap by the JVM
Reviewed-by: simonis
Backport-of: 3eced01f9e
2024-04-19 15:30:52 +07:00
Volker Simonis
b11716cf2e 8311645: Memory leak in jspawnhelper spawnChild after JDK-8307990
Backport-of: 401c3dea5d
2024-04-19 15:30:51 +07:00
Goetz Lindenmaier
8c8719cb4e 8310106: sun.security.ssl.SSLHandshake.getHandshakeProducer() incorrectly checks handshakeConsumers
Backport-of: db133dbc02
2024-04-19 15:30:51 +07:00
Goetz Lindenmaier
a2b3536096 7148092: [macosx] When Alt+down arrow key is pressed, the combobox popup does not appear.
Backport-of: c42ef70a45
2024-04-19 15:30:51 +07:00
Goetz Lindenmaier
5ae6639d62 8054572: [macosx] JComboBox paints the border incorrectly
Backport-of: 8082c24a0d
2024-04-19 15:30:50 +07:00
Goetz Lindenmaier
992e2271ac 8290399: [macos] Aqua LAF does not fire an action event if combo box menu is displayed
Backport-of: 93f96d8c9e
2024-04-19 15:30:50 +07:00
Goetz Lindenmaier
3ab0353b32 7132796: [macosx] closed/javax/swing/JComboBox/4517214/bug4517214.java fails on MacOS
Backport-of: 81d7475d20
2024-04-19 15:30:50 +07:00
Volker Simonis
c8b660af40 8307990: jspawnhelper must close its writing side of a pipe before reading from it
Reviewed-by: shade
Backport-of: 39f6d807db
2024-04-19 15:30:49 +07:00
Goetz Lindenmaier
9e0d9fa5a8 8313643: Update HarfBuzz to 8.2.2
Reviewed-by: lucy
Backport-of: 2182c93689
2024-04-19 15:30:49 +07:00
Roman Marchenko
5b0e780514 8319961: JvmtiEnvBase doesn't zero _ext_event_callbacks
Backport-of: 97ea5bf0ff
2024-04-19 15:30:48 +07:00
Goetz Lindenmaier
4bd88e1fb3 8312434: SPECjvm2008/xml.transform with CDS fails with "can't seal package nu.xom"
Reviewed-by: phh
Backport-of: 9f4a9fe488
2024-04-19 15:30:48 +07:00
Goetz Lindenmaier
9678c91448 8301306: java/net/httpclient/* fail with -Xcomp
8301787: java/net/httpclient/SpecialHeadersTest failing after JDK-8301306

Reviewed-by: lucy
Backport-of: 6f9106e0d0
2024-04-19 15:30:48 +07:00
Goetz Lindenmaier
19afbe1144 8269258: java/net/httpclient/ManyRequestsLegacy.java failed with connection timeout
Backport-of: 37921e3080
2024-04-19 15:30:48 +07:00
Goetz Lindenmaier
c333989e98 8301846: Invalid TargetDataLine after screen lock when using JFileChooser or COM library
Backport-of: 613a3cc689
2024-04-19 15:30:48 +07:00
Goetz Lindenmaier
18f836bb07 8318951: Additional negative value check in JPEG decoding
Backport-of: 75ce02fe74
2024-04-19 15:30:47 +07:00
Goetz Lindenmaier
7322c05f41 8316030: Update Libpng to 1.6.40
Backport-of: 158293d251
2024-04-19 15:30:47 +07:00
Goetz Lindenmaier
2f71a983c9 8316418: containers/docker/TestMemoryWithCgroupV1.java get OOM killed with Parallel GC
Backport-of: 7352bb9105
2024-04-19 15:30:47 +07:00
Goetz Lindenmaier
0c7ac79ceb 8308043: Deadlock in TestCSLocker.java due to blocking GC while allocating
Backport-of: 285c833ffa
2024-04-19 15:30:47 +07:00
Goetz Lindenmaier
65c241c864 8298087: XML Schema Validation reports an required attribute twice via ErrorHandler
Backport-of: 2179a8f2d6
2024-04-19 15:30:46 +07:00
Goetz Lindenmaier
9016a011ec 8302149: Speed up compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java
Backport-of: 2613b94f28
2024-04-19 15:30:46 +07:00
Goetz Lindenmaier
36132cecf6 8292946: GC lock/jni/jnilock001 test failed "assert(gch->gc_cause() == GCCause::_scavenge_alot || !gch->incremental_collection_failed()) failed: Twice in a row"
Backport-of: 9833c025fd
2024-04-19 15:30:46 +07:00
Goetz Lindenmaier
a7b90e6d9b 8289764: gc/lock tests failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects"
Backport-of: 7b81a9c75d
2024-04-19 15:30:46 +07:00
Dmitry Chuyko
43207fa878 8287832: jdk/jfr/event/runtime/TestActiveSettingEvent.java failed with "Expected two batches of Active Setting events"
Reviewed-by: phh
Backport-of: 4df4a1f8e2
2024-04-19 15:30:45 +07:00
Matthias Baesken
755d80e0f2 8317603: Improve exception messages thrown by sun.nio.ch.Net native methods (win)
Backport-of: a9b41da9df
2024-04-19 15:30:45 +07:00
Johannes Bechberger
d45e3470ad 8318736: com/sun/jdi/JdwpOnThrowTest.java failed with "transport error 202: bind failed: Address already in use"
Reviewed-by: mbaesken
Backport-of: 1a21c1a783
2024-04-19 15:30:45 +07:00
David Alvarez
86ad8b3ad4 8317960: [17u] Excessive CPU usage on AbstractQueuedSynchronized.isEnqueued
Reviewed-by: phh
2024-04-19 15:30:45 +07:00
Dmitry Chuyko
fda4c75f4f 8295274: HelidonAppTest.java fails "assert(event->should_commit()) failed: invariant" from compiled frame"
Backport-of: 21e4f06ada
2024-04-19 15:30:45 +07:00
Dmitry Chuyko
2752a875e5 8288663: JFR: Disabling the JfrThreadSampler commits only a partially disabled state
Reviewed-by: phh
Backport-of: a7df5a4063
2024-04-19 15:30:44 +07:00
Martin Doerr
4598134dc2 8320363: ppc64 TypeEntries::type_unknown logic looks wrong, missed optimization opportunity
Backport-of: 6aa197667a
2024-04-19 15:30:44 +07:00
Goetz Lindenmaier
49982bd9de 8320885: Bump update version for OpenJDK: jdk-17.0.11
Reviewed-by: shade
2024-04-19 15:30:44 +07:00
Sergei Tachenov
07710816d1 JBR-6984 Fix BoxLayout/NPECheckRequests test
It was initially written and tested on Linux, but it turns out that
on other systems validate() can be called in between init() and start()
calls, which would break the test even though BoxLayout isn't broken.
2024-04-17 12:24:06 +04:00
Maxim Kartashev
c35e66d2eb JBR-3645 Tool to support keeping JBR in sync with OpenJDK 2024-04-17 09:52:54 +07:00
Vitaly Provodin
a6c085bbce update exclude list on results of 17.0.10_b1278.1 test runs 2024-04-16 07:43:43 +07:00
Vitaly Provodin
0331beca29 introduce jbMuslProblemList.txt exclude list 2024-04-13 07:44:29 +07:00
Dmitrii Morskii
7803214b5c JBR-6372: implement detecting of OS theme on linux 2024-04-12 18:17:01 +02:00
Dmitrii Morskii
f9c2f1efb7 JBR-6171 removing deadlock related to calling getCurrentServerTime 2024-04-12 18:15:10 +02:00
Sergei Tachenov
8fd1b68ba2 JBR-6771 BoxLayout throws mysterious NPEs due to previous exceptions
The checkRequests method only does layout initialization
if it isn't initialized already. However, when an exception
is thrown during the initialization, the layout may end up
in a half-initialized state.

Fix this by using the field that is initialized the last to check
if the layout is initialized. If that field is null, it may mean
that the layout isn't initialized or that the last attempt
failed midway. Then we try again. This attempt can,
of course, break for the same reason as the previous one,
but in that case we'll at least get a stack trace pointing
to a real cause of the error and not some mysterious NPE
that seems to be impossible from the logic.

The bug is that if we add a component that throws an exception
in one of its methods called by BoxLayout, then the layout may
end up in a half-initialized state that would mistakenly be considered
fully initialized. Then it would try to access some fields
and throw NPE with a stack trace that tells exactly nothing
about what went wrong and where.

This test checks for the presence of this bug by adding a broken
component to a BoxLayout and then un-breaking this component
and checking that an exception is thrown even though the component
is no longer broken.
2024-04-10 18:06:32 +04:00
Maxim Kartashev
cc61ce7786 JBR-6769 Make it possible to get info whether IDE is running in a virtual env
Added system property intellij.os.virtualization with possible values
"none", "Xen", "KVM", "VMWare", "HyperV"
2024-04-10 14:32:57 +04:00
Nikita Gubarkov
29c4a5114a JBR-6927 Safe asynchronous destruction of Metal graphics config. 2024-04-09 14:39:42 +02:00
Vitaly Provodin
cf9c2d037a update exclude list on results of 17.0.10_b1273.2 test runs 2024-04-09 07:17:46 +07:00
Alexey Ushakov
fea8d6e0eb JBR-6911 IDE crashes (EXC_BAD_ACCESS) after disconnecting the secondary display if a markdown file is opened (macOS Sonoma 14.4.1)
Corrected invalid usage of dealloc method, fixed memory leaks.
2024-04-05 09:39:32 +02:00
Vitaly Provodin
dad48f28b4 JBR-6915 add the option -w into mkimages scripts 2024-04-04 10:05:27 +07:00
Vitaly Provodin
858f5d2af7 update exclude list on results of 17.0.10_b1266.1 test runs 2024-04-04 05:50:42 +07:00
bourgesl
808ec8d565 Merge remote-tracking branch 'origin/jbr17' into jbr17 2024-03-28 18:29:00 +01:00
Laurent Bourgès
e30894160c 8323695: RenderPerf (2D) enhancements (23.12)
Reviewed-by: avu, prr

(cherry picked from commit 8b30503387)
2024-03-28 18:24:35 +01:00
Maxim Kartashev
f2fb83b9a8 JBR-6847 Improve locking performance on Windows
Use -XX:+UnlockExperimentalVMOptions -XX:-UseCriticalSection
to revert to the old behavior
2024-03-28 21:18:06 +04:00
Vitaly Provodin
4e192c9f27 update exclude list on results of 17.0.10_b1264.2 test runs 2024-03-27 05:19:12 +07:00
Volker Simonis
b378aeae13 8324241: Always record evol_method deps to avoid excessive method flushing
JBR-6826 Include JDK-8324241 in the JBR17/21 builds

Reviewed-by: eastigeevich, phh, coleenp, dlong, shade
2024-03-22 12:44:39 +04:00
Dmitrii Morskii
3decb31d9a JBR-6541 Added ability to get supported features and stylistic sets for font 2024-03-21 19:38:18 +01:00
Nikita Gubarkov
772c328093 JBR-6723 Deal with integer overflow in DrawGlyphList with enabled subpixelResolution 2024-03-21 16:56:10 +01:00
Nikita Provotorov
156e5d9b65 JBR-3112 Linux: Last character issue with Korean.
Only for the new mode introduced in JBR-2460 (-Djb.awt.newXimClient.preferBelowTheSpot=true): cancel text composing on each mouse press, so that preedit text stops following the caret if it's moving in response to mouse clicks.

(cherry picked from commit 6130273864)
2024-03-20 20:32:49 +01:00
Vitaly Provodin
9dbbb5841e update exclude list on results of 17.0.10_b1249.1 test runs 2024-03-19 07:37:22 +07:00
Nikita Provotorov
43a9a3a17a JBR-3112 Linux: Last character issue with Korean.
Ignores the IM text returned from XmbLookupString/XwcLookupString if the KeyPress event which XmbResetIC was called with was synthetic and the first after a call of XmbResetIC/XwcResetIC.

(cherry picked from commit 086e590c7f)
(cherry picked from commit 6005f69e5c)
2024-03-18 19:08:15 +01:00
Vitaly Provodin
9a9f6c3e57 update exclude list on results of 17.0.10_b1207.12 test runs 2024-03-18 09:39:02 +07:00
Vitaly Provodin
e4e4cdea2a update exclude list on results of 17.0.10_b1242.1 test runs 2024-03-14 15:40:27 +07:00
Nikita Gubarkov
99f479c037 JBR-6723 Block on Metal config destroy 2024-03-13 15:26:08 +01:00
Fredrik Bredberg
0f37369f00 8320317: ObjectMonitor NotRunnable is not really an optimization
Reviewed-by: eosterlund, dholmes, shade, dcubed

JBR-6819 Backport 8320317
2024-03-13 12:11:58 +04:00
Nikita Gubarkov
4f5094f985 JBR-6723 flush vertex cache and command buffer before freeing glyph cache. (#334) 2024-03-11 14:55:28 +01:00
Dmitry Drobotov
d7d8d9b8e4 JBR-6593 Set unique name for the AccessibleAnnouncer thread 2024-03-07 14:17:08 +01:00
Vitaly Provodin
252ec1f0be update exclude list on results of 17.0.10_b1230.2 test runs 2024-03-04 16:53:15 +04:00
Maxim Kartashev
3248ccb203 JBR-6742 Record resident set size in JVM fatal error log 2024-03-01 09:52:51 +04:00
Artem Bochkarev
6c6b11d8d5 JBR-4430 Fixed execution permissions on Linux 2024-02-29 21:25:18 +04:00
Alexey Ushakov
aac4fbae3c JBR-6522 macOS: SIGSEGV at [libawt_lwawt.dylib+0x8eaa8] MTLGC_DestroyMTLGraphicsConfig
Fix of MT access to shared data in MTLGraphicsConfigInfo
2024-02-29 17:36:09 +01:00
Vladimir Dvorak
aaaad6b152 JBR-6647 Disable check for final field access from method $$ha$clinit 2024-02-28 09:06:12 +01:00
Dmitry Drobotov
b80b620642 JBR-6593 Fix UI freezes with JAWS announcements
* Execute AccessibleAnnouncer.nativeAnnounce on a background thread on Windows to fix UI freezes. IntelliJ calls this method from EDT, but it doesn't need to run on EDT because on Windows it simply calls screen readers API without interacting with UI components. Additionally, when using a background thread, the JAWS SayString method, which previously could have been running for multiple seconds, is now executed immediately as expected, but the root cause of previous delays is unclear.
* In JawsAnnouncer, initialize COM library with the multithreaded model to allow executing it from different threads. Now COM is initialized and uninitialized on every call of the method as required by the [documentation](https://learn.microsoft.com/en-us/windows/win32/learnwin32/initializing-the-com-library): "Each thread that uses a COM interface must make a separate call to this function. For every successful call to CoInitializeEx, you must call CoUninitialize before the thread exits". IJawsApi COM object is still static and reused by different threads, which is allowed with a multithreaded concurrency model. It shouldn't cause issues because it has no state and only forwards calls to JAWS.

(cherry picked from commit 8cc4cd5cfd)
2024-02-27 17:35:23 +01:00
Vitaly Provodin
a86fb87ec1 update exclude list on results of 17.0.10_b1211.9 test runs 2024-02-27 15:48:28 +07:00
Maxim Kartashev
5a462bc4ba JBR-6737 Cannot switch projects from Window menu after minimizing them on Linux 2024-02-27 09:12:16 +04:00
Vladimir Dvorak
470857e6ea JBR-6746 Fix linux build failing on: "error: 'this' pointer is null" 2024-02-26 20:47:39 +01:00
Dmitry Drobotov
75b06421ff JBR-6325 Implement keyboard focus tracking for macOS Accessibility Zoom
* Call UAZoomChangeFocus function when the keyboard focus is changed or when an accessible selection event is fired. Zoom viewport fill follow the accessible frame of the newly focused component, and if it has a selected child, its frame will be passed as part that needs to be highlighted.
* Fix an exception in ComboBoxAccessibility.accessibilitySelectedChildren when its selection is nil. This happens when a combo box doesn't have a selected item, and it this case Zoom wouldn't be able to follow the combo box location.
* Move the native handler of CAccessibility.focusChanged method from the legacy JavaComponentAccessibility to the new CommonComponentAccessibility class. It calls a class method (like a static method in Java), so there is no difference in which specific class it's located, but it allows to write the new code in the appropriate class.
2024-02-26 20:10:36 +01:00
Dmitrii Morskii
54a944b2af JBR-5500 Handled situation of processing WM_ENDSESSION in process of closing application 2024-02-26 11:17:36 +00:00
Vitaly Provodin
0c4fe90ff4 fixup! JBR-6246 add default CDS archives into jbrsdk distributions 2024-02-23 04:02:01 +07:00
Vitaly Provodin
ec2fac0b5a update exclude list on results of 17.0.10_b1207.2 test runs 2024-02-21 04:45:21 +07:00
Nikita Provotorov
e9aab98a6c JBR-6711: java/awt/LightweightDispatcher/LWDispatcherMemoryLeakTest.java: JButton JPanel not collected.
Fixes the patch of JBR-3697 so that sun.awt.X11InputMethodBase#removeNotify unsets its references to tracked components thus not preventing GC from collecting them.

(cherry picked from commit a40a99e6c0)
2024-02-19 16:40:18 +01:00
Maxim Kartashev
78c5a56adb JBR-6246 Create CDS archives with -Xshare:dump 2024-02-19 13:23:33 +03:00
Vladimir Dvorak
9bea6a0004 JBR-6648 - Fix ObjectCollectedException in enhanced redefineClasses due to stale jvmtiTagMap entries 2024-02-19 10:47:44 +01:00
Dmitry Drobotov
93937603b3 JBR-6472 Add default value in CAccessibility.isComboBoxEditable to avoid NPE 2024-02-17 19:59:35 +01:00
Egor Ushakov
2f54c24249 JBR-1354 com/sun/tools/attach/PermissionTest.java: access denied ("java.util.PropertyPermission" "sun.tools.attach.tmp.only" "read")
(cherry picked from commit 3a09f6c1db)
2024-02-17 04:33:53 +07:00
Egor Ushakov
2fa63cd0bc JBR-1061 .attach_pid files in the working dir - flag to put .attach file in tmp dir only
(cherry picked from commit 4bd3f7835e)
2024-02-17 04:33:43 +07:00
Nikita Provotorov
2933ea89f0 JBR-3697: Letter-based command mode actions are not triggered when using Chinese input method.
Fixes different platform-specific issues with disabling/enabling input methods support via java.awt.Component#enableInputMethods(boolean):
* Windows: disabling used to require to deactivate and then activate back the app window to be performed completely ;
* macOS: disabling used to leave the input method window visible (however, it wasn't affecting the input) ;
* Linux: with fcitx5 IMF (may not be reproduced with iBus) disabling and then enabling back the input method support used to reset the used input source (keyboard layout) to a default one. It's done via disabling the current XIM when the input method support is disabled instead of disposing it .

(cherry picked from commit f473fa15a1)
(cherry picked from commit 38b521feac)
(cherry picked from commit b508993b60)
(cherry picked from commit 8e2db04c49)
2024-02-16 08:14:24 +01:00
Nikita Tsarev
3c2cbecc64 JBR-6297: Don't check for NSInputManager wantsToHandleMouseEvents in mouseDown by default 2024-02-15 20:42:49 +01:00
Vitaly Provodin
0c3c809646 JBR-6649 add synchronization for creating UI 2024-02-15 12:06:08 +07:00
Nikita Provotorov
853f700b76 JBR-6707 Compilation errors in main branch.
Replace assert-s introduced in JBR-2460 with the project-special DASSERT-s.

The patch has been backported from the main branch for better code consistency between the branches.
2024-02-15 01:07:28 +01:00
Dmitrii Morskii
cd1d10b4bd JBR-6671 added option 'freetype.font.rendering' 2024-02-14 18:03:28 +01:00
Alexey Ushakov
b9e7fffc5c JBR-6522 macOS: SIGSEGV at [libawt_lwawt.dylib+0x8eaa8] MTLGC_DestroyMTLGraphicsConfig
Performing flush of pending rendering operation before destroying MTLGraphicsConfig
2024-02-14 15:05:10 +01:00
Nikita Tsarev
6c6c95f7f0 JBR-6704: Fix extra IME events when a ctrl shortcut causes window focus switch [macOS] 2024-02-14 13:35:21 +01:00
Nikita Gubarkov
7756d7a9d2 JBR-4618 Force window size update after display reconfiguration
- Re-create all GraphicsDevices on displayChanged()
2024-02-13 16:08:44 +01:00
Vitaly Provodin
83dfcc6e8b update exclude list on results of 17.0.10_b1186.1 test runs 2024-02-13 07:39:01 +07:00
Vladimir Dvorak
7be14a878a JBR-6643 - additional fix for GitHub actions ZERO build 2024-02-07 22:39:51 +01:00
Vitaly Provodin
adbb5cc60a JBR-6404 synchronize drawing and the test checking 2024-02-07 06:55:04 +07:00
Nikita Gubarkov
841963a9be JBR-6651 Exclude keycap emoji from EmojiVariation test. 2024-02-05 15:26:10 +01:00
Vladimir Dvorak
d33e29fc2b JBR-6643 - fix GitHub actions builds 2024-02-05 12:18:11 +01:00
Vladimir Dvorak
14b8ec25fa JBR-6419 - fix macos-aarch64 build problem 2024-02-05 12:13:36 +01:00
Vladimir Dvorak
ef5b549b5a JBR-6419 - support for enhanced redefinition of java.lang.Object 2024-02-05 12:13:36 +01:00
Vitaly Provodin
d31a706e91 update exclude list on results of 17.0.10_b1171.14 test runs 2024-02-05 10:23:16 +07:00
Atrem Bochkarev
57f9dbecdb fixup! JBR-5405: make compilable in linux 2024-02-03 18:27:11 +03:00
Artem Bochkarev
fee7ff0c6c fixup! JBR-5405: make compilable in linux 2024-02-01 07:54:41 +04:00
Dmitrii Morskii
e120030e90 JBR-6604 supported case when fonts directory is missing 2024-01-31 18:45:40 +01:00
Dmitry Batrak
20468cf28b JBR-6449 Introduce FontMetricsAccessor into JBR API
mute calculation of metrics via full text layout if overrider is installed
2024-01-31 18:45:47 +02:00
Artem Bochkarev
c771ad6ad3 fixup! JBR-5405: reset gl context before processing and restore after 2024-01-31 14:43:29 +04:00
Vitaly Provodin
9403395d26 update exclude list on results of 17.0.10_b1169.7 test runs 2024-01-24 15:31:40 +07:00
Vitaly Provodin
0eaafd1262 update exclude list on results of 17.0.9_b1087.17 commit test runs 2024-01-24 07:29:02 +07:00
Dmitry Batrak
0460118960 JBR-6579 jb/java/api/frontend/FontMetricsAccessorTest.java: Unexpected advance returned 2024-01-22 13:53:44 +02:00
Dmitry Batrak
ea2c4bfc83 JBR-6579 jb/java/api/frontend/FontMetricsAccessorTest.java: Unexpected advance returned 2024-01-22 11:41:53 +02:00
Dmitry Batrak
7af653070f JBR-6569 macOS: SIGILL at [libsystem_kernel] __kill in This decoder will only decode classes that adopt NSSecureCoding. Class 'AWTView' does not adopt it. 2024-01-22 10:22:22 +02:00
Dmitry Batrak
5befaea6af JBR-6449 Introduce FontMetricsAccessor into JBR API
fix test
2024-01-19 11:06:51 +02:00
Ajit Ghaisas
b150e0e6ef update exclude list on results of 17.0.10_b1168 test runs 2024-01-19 06:10:35 +07:00
Alexey Bakhtin
4ec4e665e6 8320597: RSA signature verification fails on signed data that does not encode params correctly
Reviewed-by: mbalao
Backport-of: 11e4a925be
2024-01-18 04:18:50 +07:00
Alexey Bakhtin
91573abaab 8317547: Enhance TLS connection support 2024-01-18 04:18:50 +07:00
Weijun Wang
e9b0b6c854 8316976: Improve signature handling
Reviewed-by:
2024-01-18 04:18:49 +07:00
Yuri Nesterenko
2b3ac6256c 8314468: Improve Compiler loops
Backport-of: 2621f68c06
2024-01-18 04:18:49 +07:00
Roland Westrelin
80c0dca4e8 8314307: Improve loop handling
Reviewed-by: mbalao, fferrari
2024-01-18 04:18:49 +07:00
Coleen Phillimore
42425fcd47 8314295: Enhance verification of verifier
Reviewed-by: dholmes, poonam, dlong
2024-01-18 04:18:48 +07:00
Alexey Bakhtin
78c7a4d461 8308204: Enhanced certificate processing
Backport-of: ef0ea85bf1398b73bd308ba2b395c917b449aa3b
2024-01-18 04:18:48 +07:00
Saint Wesonga
97a161e87c 8302017: Allocate BadPaddingException only if it will be thrown
Reviewed-by: bstafford, mbalao
Backport-of: 334b977259
2024-01-18 04:18:48 +07:00
Lance Andersen
ce2f836140 8276123: ZipFile::getEntry will not return a file entry when there is a directory entry of the same name within a Zip File
Reviewed-by: redestad, alanb
2024-01-18 04:18:48 +07:00
Christoph Langer
d3ed7b8612 8320601: ProblemList java/lang/invoke/lambda/LambdaFileEncodingSerialization.java on linux-all
Backport-of: ab7380e2d9
2024-01-18 04:18:47 +07:00
Martin Balao
5cab854d9a 8271566: DSA signature length value is not accurate in P11Signature
Reviewed-by: adinn
Backport-of: ea8d3c92c6
2024-01-18 04:18:47 +07:00
Andrew Lu
bd48eb839f 8319187: Add three eMudhra emSign roots
Reviewed-by: mbaesken
Backport-of: 0bda467f6e
2024-01-18 04:18:47 +07:00
Soumadipta Roy
dcf3eec4db 8315692: Parallelize gc/stress/TestStressRSetCoarsening.java test
Backport-of: a564d436c7
2024-01-18 04:18:47 +07:00
Francisco Ferrari Bihurriet
e6054b007c 8277307: Pre shared key sent under both session_ticket and pre_shared_key extensions
Backport-of: 4662e06bff
2024-01-18 04:18:46 +07:00
Sandhya Viswanathan
cda2954a13 8320209: VectorMaskGen clobbers rflags on x86_64
Backport-of: b05e69f789
2024-01-18 04:18:46 +07:00
Goetz Lindenmaier
91573407f6 8293343: sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java failed with "Agent communication error: java.io.EOFException"
8293335: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1failed with "Agent communication error: java.io.EOFException"

Backport-of: 91c9091d7e
2024-01-18 04:18:46 +07:00
Christoph Langer
e941459a96 8313781: Add regression tests for large page logging and user-facing error messages
Backport-of: 99d260c0cc
2024-01-18 04:18:46 +07:00
Christoph Langer
c27e9b5b9f 8313782: Add user-facing warning if THPs are enabled but cannot be used
Backport-of: 44b5b81f76
2024-01-18 04:18:45 +07:00
Martin Doerr
570a533af2 8316746: Top of lock-stack does not match the unlocked object
Reviewed-by: rrich
Backport-of: 7d8adfa855
2024-01-18 04:18:45 +07:00
Ludovic Henry
e9d3b2791d 8310656: RISC-V: __builtin___clear_cache can fail silently.
Reviewed-by: vkempik, rehn
Backport-of: 5f1d762750
2024-01-18 04:18:45 +07:00
Roman Kennke
6652da60ad 8279856: Parallel: Use PreservedMarks to record promotion-failed objects
Backport-of: 16ec47d5e5
2024-01-18 04:18:45 +07:00
Goetz Lindenmaier
f1267ca967 8262186: Call X509KeyManager.chooseClientAlias once for all key types
Reviewed-by: phh
Backport-of: 3d657eb0a6
2024-01-18 04:18:44 +07:00
Goetz Lindenmaier
064aaad37b 8302109: Trivial fixes to btree tests
Backport-of: 97d0c8720d
2024-01-18 04:18:44 +07:00
Goetz Lindenmaier
2980220059 8292067: Convert test/sun/management/jmxremote/bootstrap shell tests to java version
Backport-of: 3993a1f9ea
2024-01-18 04:18:44 +07:00
Aleksey Shipilev
c0d7fd0938 8320053: GHA: Cross-compile gtest code
Backport-of: 77a6966114
2024-01-18 04:18:44 +07:00
Aleksey Shipilev
c858b523b6 8317834: java/lang/Thread/IsAlive.java timed out
Backport-of: 5522656af7
2024-01-18 04:18:43 +07:00
Gui Cao
4757d06627 8316645: RISC-V: Remove dependency on libatomic by adding cmpxchg 1b
Reviewed-by: luhenry, fyang
Backport-of: fb055e7e53
2024-01-18 04:18:43 +07:00
Stewart X Addison
e64ada25e5 8319958: test/jdk/java/io/File/libGetXSpace.c does not compile on Windows 32-bit
Backport-of: 6a75c2406b
2024-01-18 04:18:43 +07:00
Goetz Lindenmaier
c13e01a527 8318759: Add four DigiCert root certificates
Reviewed-by: mbaesken
Backport-of: 0ea58048f9
2024-01-18 04:18:42 +07:00
Goetz Lindenmaier
dbb2b0da0d 8307311: Timeouts on one macOS 12.6.1 host of two Swing JTableHeader tests
Backport-of: b3cb82b859
2024-01-18 04:18:42 +07:00
Goetz Lindenmaier
96b1742580 8294402: Add diagnostic logging to VMProps.checkDockerSupport
Backport-of: 03d613bbab
2024-01-18 04:18:42 +07:00
Robbin Ehn
4f16da1d86 8315195: RISC-V: Update hwprobe query for new extensions
Backport-of: 0d4cadb824
2024-01-18 04:18:42 +07:00
Gui Cao
d6baec1061 8319184: RISC-V: improve MD5 intrinsic
Backport-of: fa331d7128
2024-01-18 04:18:41 +07:00
Goetz Lindenmaier
1b9b0decc6 8285785: CheckCleanerBound test fails with PasswordCallback object is not released
Reviewed-by: mbaesken
Backport-of: b9d1e85151
2024-01-18 04:18:41 +07:00
Goetz Lindenmaier
04e3162f10 8268433: serviceability/dcmd/framework/VMVersionTest.java fails with Unable to send object throw not established PipeIO Listener Thread connection
Backport-of: 280f2d57d1
2024-01-18 04:18:41 +07:00
Andrew John Hughes
40c37b8123 8312126: NullPointerException in CertStore.getCRLs after 8297955
Backport-of: 3c743cfea0
2024-01-18 04:18:41 +07:00
Robbin Ehn
9a5e7e82c0 8309258: RISC-V: Add riscv_hwprobe syscall
8315206: RISC-V: hwprobe query is_set return wrong value
8316859: RISC-V: Disable detection of V through HWCAP

Reviewed-by: fyang
Backport-of: 31b6fd775f
2024-01-18 04:18:40 +07:00
Feilong Jiang
69b831f479 8319525: RISC-V: Rename *_riscv64.ad files to *_riscv.ad under riscv/gc
Reviewed-by: fyang
Backport-of: b2504a0f9c
2024-01-18 04:18:40 +07:00
Goetz Lindenmaier
7fbe8c6d02 8317374: Add Let's Encrypt ISRG Root X2
Reviewed-by: mdoerr
Backport-of: e6f46a4326
2024-01-18 04:18:40 +07:00
Goetz Lindenmaier
4f8105269e 8316461: Fix: make test outputs TEST SUCCESS after unsuccessful exit
Backport-of: e30e356442
2024-01-18 04:18:40 +07:00
Sergey Bylokhov
ffb3e9e316 8276819: javax/print/PrintServiceLookup/FlushCustomClassLoader.java fails to free
Backport-of: 7c2c58587d
2024-01-18 04:18:39 +07:00
Sergey Bylokhov
3f1883be14 8273831: PrintServiceLookup spawns 2 threads in the current classloader, getting orphaned
Backport-of: 687567822a
2024-01-18 04:18:39 +07:00
Goetz Lindenmaier
19eb05342f 8315415: OutputAnalyzer.shouldMatchByLine() fails in some cases
Backport-of: 7b1e2bfe0f
2024-01-18 04:18:39 +07:00
Goetz Lindenmaier
bcaaf859ed 8161536: sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java fails with ProviderException
Backport-of: 939d7c5d84
2024-01-18 04:18:39 +07:00
Goetz Lindenmaier
e228e4d82a 8314242: Update applications/scimark/Scimark.java to accept VM flags
Backport-of: 6bf4a33593
2024-01-18 04:18:38 +07:00
Goetz Lindenmaier
5e3b62f396 8307123: Fix deprecation warnings in DPrinter
Backport-of: b76f320e76
2024-01-18 04:18:38 +07:00
Goetz Lindenmaier
c9ca4fb26e 8299241: jdk/jfr/api/consumer/streaming/TestJVMCrash.java generates unnecessary core file
Backport-of: 188911c925
2024-01-18 04:18:38 +07:00
Johannes Bechberger
0b353c661f 8317920: JDWP-agent sends broken exception event with onthrow option
Reviewed-by: phh
2024-01-18 04:18:38 +07:00
Aleksey Shipilev
5b4ac0d3d6 8318889: C2: add bailout after assert Bad graph detected in build_loop_late
Backport-of: 83eb20651f
2024-01-18 04:18:37 +07:00
Goetz Lindenmaier
ba33e7a004 8317327: Remove JT_JAVA dead code in jib-profiles.js
Backport-of: 69489427e9
2024-01-18 04:18:37 +07:00
Goetz Lindenmaier
1df9bd3678 8301457: Code in SendPortZero.java is uncommented even after JDK-8236852 was fixed
Backport-of: 298dda4c98
2024-01-18 04:18:37 +07:00
Goetz Lindenmaier
957740ba81 8309778: java/nio/file/Files/CopyAndMove.java fails when using second test directory
Backport-of: cfae6ef2f6
2024-01-18 04:18:37 +07:00
Goetz Lindenmaier
230a826eee 8298905: Test "java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java" fails because the frames of instruction does not display
Backport-of: d1026720d3
2024-01-18 04:18:37 +07:00
Goetz Lindenmaier
a8e573536e 8269425: 2 jdk/jfr/api/consumer/streaming tests failed to attach
Backport-of: fffa73c1ef
2024-01-18 04:18:36 +07:00
Goetz Lindenmaier
254da2b498 8271826: mark hotspot runtime/condy tests which ignore external VM flags
Backport-of: d3b40cb683
2024-01-18 04:18:36 +07:00
Ludovic Henry
c9780b85cc 8310265: (process) jspawnhelper should not use argv[0]
Reviewed-by: stuefe
Backport-of: 47d00a4cbe
2024-01-18 04:18:36 +07:00
Goetz Lindenmaier
f7f82d66d1 8318855: Extra file added by mistake during the backport of JDK-8283326
Reviewed-by: mdoerr
2024-01-18 04:18:36 +07:00
Frederic Thevenet
c42866954a 8318669: Target OS detection in 'test-prebuilt' makefile target is incorrect when running on MSYS2
Backport-of: 202c0137b8
2024-01-18 04:18:35 +07:00
Gui Cao
4745843ca3 8318953: RISC-V: Small refactoring for MacroAssembler::test_bit
Reviewed-by: fyang
Backport-of: 988e1dfe6e
2024-01-18 04:18:35 +07:00
Matthias Baesken
f1f84a54aa 8312467: relax the builddir check in make/autoconf/basic.m4
Backport-of: 6e3cc131da
2024-01-18 04:18:35 +07:00
Matthias Baesken
d9a4791d0d 8312612: handle WideCharToMultiByte return values
Backport-of: d9559f9b24
2024-01-18 04:18:35 +07:00
Terry Chow
3048ec453f 8308593: Add KEEPALIVE Extended Socket Options Support for Windows
Reviewed-by: djelinski, phh
Backport-of: f3ade388da
2024-01-18 04:18:34 +07:00
Goetz Lindenmaier
c59032824a 8318705: [macos] ProblemList java/rmi/registry/multipleRegistries/MultipleRegistries.java
Backport-of: 37c40a11a7
2024-01-18 04:18:34 +07:00
Goetz Lindenmaier
53cda2b439 8314144: gc/g1/ihop/TestIHOPStatic.java fails due to extra concurrent mark with -Xcomp
Backport-of: 1925508425
2024-01-18 04:18:34 +07:00
Goetz Lindenmaier
263a999560 6445283: ProgressMonitorInputStream not large file aware (>2GB)
Backport-of: a17fce7507
2024-01-18 04:18:34 +07:00
Matthias Baesken
c47fde5b32 8315499: build using devkit on Linux ppc64le RHEL puts path to devkit into libsplashscreen
Backport-of: ed2b4673de
2024-01-18 04:18:33 +07:00
Matthias Baesken
1577ec0e3b 8313164: src/java.desktop/windows/native/libawt/windows/awt_Robot.cpp GetRGBPixels adjust releasing of resources
Backport-of: b7545a69a2
2024-01-18 04:18:33 +07:00
Matthias Baesken
559da43f48 8314883: Java_java_util_prefs_FileSystemPreferences_lockFile0 write result errno in missing case
Backport-of: 97b94cb1cd
2024-01-18 04:18:33 +07:00
Goetz Lindenmaier
91794c7d31 8317373: Add Telia Root CA v2
Reviewed-by: phh
Backport-of: d3ebb4a155
2024-01-18 04:18:33 +07:00
Goetz Lindenmaier
3216a30641 8308910: Allow executeAndLog to accept running process
Reviewed-by: lucy
Backport-of: 024d9b131d
2024-01-18 04:18:32 +07:00
Goetz Lindenmaier
3d8d43cec4 8291911: java/io/File/GetXSpace.java fails with "53687091200 != 161051996160"
8298619: java/io/File/GetXSpace.java is failing
8305646: compile error on Alpine with gcc12 after 8298619 in libGetXSpace.c
8309216: Cast from jchar* to char* in test java/io/GetXSpace.java

Reviewed-by: lucy
Backport-of: 749335d34a
2024-01-18 04:18:32 +07:00
Goetz Lindenmaier
36908d2e55 8228990: JFR: TestNetworkUtilizationEvent.java expects 2+ Network interfaces on Linux but finding 1
Backport-of: e21b527b18
2024-01-18 04:18:32 +07:00
Goetz Lindenmaier
42bd9acadb 8273456: Do not hold ttyLock around stack walking
8273629: compiler/uncommontrap/TestDeoptOOM.java fails with release VMs

Reviewed-by: lucy, phh
Backport-of: 461a467f91
2024-01-18 04:18:32 +07:00
Matthias Baesken
514eea56ee 8313252: Java_sun_awt_windows_ThemeReader_paintBackground release resources in early returns
Backport-of: 3671d83c87
2024-01-18 04:18:31 +07:00
Matthias Baesken
4b507b21fc 8315644: increase timeout of sun/security/tools/jarsigner/Warning.java
Backport-of: 8bbebbba8f
2024-01-18 04:18:31 +07:00
Aleksey Shipilev
e68509206d 8316778: test hprof lib: invalid array element type from JavaValueArray.elementSize
Backport-of: f7deaf4bef
2024-01-18 04:18:31 +07:00
Aleksey Shipilev
d67de872b1 8312592: New parentheses warnings after HarfBuzz 7.2.0 update
Reviewed-by: phh
Backport-of: ea067fc3d2
2024-01-18 04:18:31 +07:00
Goetz Lindenmaier
20cefd13ed 8299207: [Testbug] Add back test/jdk/java/awt/Graphics2D/DrawPrimitivesTest.java
Backport-of: 5e001d6ff3
2024-01-18 04:18:31 +07:00
Goetz Lindenmaier
bf84ffadbd 8202931: [macos] java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java fails
Backport-of: f80faced6e
2024-01-18 04:18:30 +07:00
Goetz Lindenmaier
35e6506081 8239801: [macos] java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java fails
Backport-of: b6dddf4ce6
2024-01-18 04:18:30 +07:00
Goetz Lindenmaier
c37b8443ec 8293563: [macos-aarch64] SA core file tests failing with sun.jvm.hotspot.oops.UnknownOopException
Reviewed-by: lucy
Backport-of: 76f1865124
2024-01-18 04:18:30 +07:00
Goetz Lindenmaier
adf6a60dc6 8176567: nsk/jdi/ReferenceType/instances/instances002: TestFailure: Unexpected size of referenceType.instances(nsk.share.jdi.TestInterfaceImplementer1): 11, expected: 10
Backport-of: 46fd683820
2024-01-18 04:18:30 +07:00
Goetz Lindenmaier
40b517ce8a 8275329: ZGC: vmTestbase/gc/gctests/SoftReference/soft004/soft004.java fails with assert(_phases->length() <= 1000) failed: Too many recored phases?
Backport-of: 6b833db3f9
2024-01-18 04:18:29 +07:00
Matthias Baesken
f103f2fc45 8311511: Improve description of NativeLibrary JFR event
Backport-of: 848abd2831
2024-01-18 04:18:29 +07:00
Goetz Lindenmaier
543632bb96 8268916: Tests for AffirmTrust roots
Backport-of: 8c1bb2b280
2024-01-18 04:18:29 +07:00
Goetz Lindenmaier
52c88af7a3 8317967: Enhance test/jdk/javax/net/ssl/TLSCommon/SSLEngineTestCase.java to handle default cases
Backport-of: 9728e21db1
2024-01-18 04:18:29 +07:00
Goetz Lindenmaier
e1e097e048 8291154: Create a non static nested class without enclosing class throws VerifyError
Backport-of: f96aee7401
2024-01-18 04:18:28 +07:00
Goetz Lindenmaier
af5f6fdaa8 8275333: Print count in "Too many recored phases?" assert
Backport-of: 45ebf85ca9
2024-01-18 04:18:28 +07:00
Matthias Baesken
73f84e1916 8312395: Improve assertions in growableArray
Reviewed-by: clanger
Backport-of: b772e67e29
2024-01-18 04:18:28 +07:00
Deepa Kumari
b08c2dfe78 8312078: [PPC] JcmdScale.java Failing on AIX
Backport-of: c1a3f143bf
2024-01-18 04:18:28 +07:00
amosshi
8f6994c67f 8297296: java/awt/Mouse/EnterExitEvents/DragWindowTest.java fails with "No MouseReleased event on label!"
Reviewed-by: goetz
Backport-of: 0ed6d0b456
2024-01-18 04:18:27 +07:00
Ralf Schmelter
166c6940f9 8297142: jdk/jfr/event/runtime/TestShutdown.java fails on Linux ppc64le and Linux aarch64
Backport-of: bde0e35ded
2024-01-18 04:18:27 +07:00
Goetz Lindenmaier
c4860b7c11 8306280: Open source several choice AWT tests
Backport-of: d03128d0e5
2024-01-18 04:18:27 +07:00
Goetz Lindenmaier
a34df011cc 8262901: [macos_aarch64] NativeCallTest expected:<-3.8194101E18> but was:<3.02668882E10>
8296821: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/NativeCallTest.java fails after JDK-8262901

Reviewed-by: lucy
Backport-of: 6b456f7a9b
2024-01-18 04:18:27 +07:00
Matthias Baesken
4e7373b602 8315214: Do not run sun/tools/jhsdb tests concurrently
Reviewed-by: mdoerr
Backport-of: 1e7e2bcf35
2024-01-18 04:18:26 +07:00
Olga Mikhaltsova
51cd0eff51 8310268: RISC-V: misaligned memory access in String.Compare intrinsic
Reviewed-by: vkempik
Backport-of: d6245b6832
2024-01-18 04:18:26 +07:00
Aleksey Shipilev
9e516548d8 8315062: [GHA] get-bootjdk action should return the abolute path
Reviewed-by: xliu
Backport-of: 99ea8bf2b9
2024-01-18 04:18:26 +07:00
Sonia Zaldana Calles
9e013bb57a 8302525: Write a test to check various components send Events while mouse and key are used simultaneously
Backport-of: c7517b3dec
2024-01-18 04:18:26 +07:00
amosshi
c7d8ae1c85 8300259: Add test coverage for processing of pending block files in signed JARs
Backport-of: c129ce4660
2024-01-18 04:18:25 +07:00
amosshi
c03add1fd8 8301570: Test runtime/jni/nativeStack/ needs to detach the native thread
Backport-of: d269ebbad2
2024-01-18 04:18:25 +07:00
amosshi
7fbb069279 8300272: Improve readability of the test JarWithOneNonDisabledDigestAlg
Backport-of: cf46004f27
2024-01-18 04:18:25 +07:00
amosshi
e313dcb5c0 8296275: Write a test to verify setAccelerator method of JMenuItem
Backport-of: b005013a00
2024-01-18 04:18:25 +07:00
Matthias Baesken
4ef434f73b 8313691: use close after failing os::fdopen in vmError and ciEnv
Backport-of: 96304f37f8
2024-01-18 04:18:24 +07:00
Matthias Baesken
ff97b0a986 8310321: make JDKOPT_CHECK_CODESIGN_PARAMS more verbose
Backport-of: 9eed049098
2024-01-18 04:18:24 +07:00
Thomas Stuefe
6faa5aad6f 8317772: NMT: Make peak values available in release builds
Backport-of: 32ccf018eb
2024-01-18 04:18:24 +07:00
Goetz Lindenmaier
eb7ce1c0c9 8041447: Test javax/swing/dnd/7171812/bug7171812.java fails with java.lang.RuntimeException: Test failed, scroll on drag doesn't work
Backport-of: 2c52cf0746
2024-01-18 04:18:24 +07:00
Goetz Lindenmaier
ed98f2ae5b 8297640: Increase buffer size for buf (insert_features_names) in Abstract_VM_Version::insert_features_names
Backport-of: 2f83b5c487
2024-01-18 04:18:23 +07:00
Goetz Lindenmaier
10800552ce 8270199: Most SA tests are skipped on macosx-aarch64 because all executables are signed
Reviewed-by: lucy
Backport-of: 16e0ad0ad0
2024-01-18 04:18:23 +07:00
Christoph Langer
080a7c7870 8317705: ProblemList sun/tools/jstat/jstatLineCountsX.sh on linux-ppc64le and aix due to JDK-8248691
Backport-of: 7d0a937446
2024-01-18 04:18:23 +07:00
Christoph Langer
eb530b199d 8317706: Exclude java/awt/Graphics2D/DrawString/RotTransText.java on linux
Backport-of: 064a21d6d7
2024-01-18 04:18:23 +07:00
Ilya Gavrilin
2f61a16abe 8313779: RISC-V: use andn / orn in the MD5 instrinsic
Backport-of: 4726960fcd
2024-01-18 04:18:23 +07:00
Goetz Lindenmaier
ba9e613dd5 8316906: Clarify TLABWasteTargetPercent flag
Backport-of: 77fac0f4c6
2024-01-18 04:18:22 +07:00
Goetz Lindenmaier
05a8507644 8301247: JPackage app-image exe launches multiple exe's in JDK 17+
Reviewed-by: lucy
Backport-of: dcea9bf087
2024-01-18 04:18:22 +07:00
Goetz Lindenmaier
acf0e33685 8309974: some JVMCI tests fail when VM options include -XX:+EnableJVMCI
Backport-of: 8b4af46be4
2024-01-18 04:18:22 +07:00
Goetz Lindenmaier
68dc583fa1 8232839: JDI AfterThreadDeathTest.java failed due to "FAILED: Did not get expected IllegalThreadStateException on a StepRequest.enable()"
Backport-of: 84184f9473
2024-01-18 04:18:22 +07:00
Goetz Lindenmaier
d7fa10f27e 8308116: jdk.test.lib.compiler.InMemoryJavaCompiler.compile does not close files
Reviewed-by: lucy
Backport-of: e9320f31dc
2024-01-18 04:18:21 +07:00
Goetz Lindenmaier
8aea0088d5 8284047: Harmonize/Standardize the SSLSocket/SSLEngine/SSLSocketSSLEngine test templates
Reviewed-by: lucy
Backport-of: 824a5e4c60
2024-01-18 04:18:21 +07:00
Goetz Lindenmaier
2907df4b90 8300727: java/awt/List/ListGarbageCollectionTest/AwtListGarbageCollectionTest.java failed with "List wasn't garbage collected"
Backport-of: f835aaafc7
2024-01-18 04:18:21 +07:00
Goetz Lindenmaier
9aaad3128f 8294881: test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose003/TestDescription.java fails
Backport-of: 216c6f6340
2024-01-18 04:18:20 +07:00
Goetz Lindenmaier
63676fda8a 8287596: Reorg jdk.test.lib.util.ForceGC
Reviewed-by: lucy
Backport-of: 82a8bd7e92
2024-01-18 04:18:20 +07:00
Goetz Lindenmaier
cdea6017f0 8273921: Refactor NSK/JDI tests to create thread using factory
Backport-of: a72c8aa6ad
2024-01-18 04:18:20 +07:00
Olga Mikhaltsova
e607132564 8309502: RISC-V: String.indexOf intrinsic may produce misaligned memory loads
Reviewed-by: vkempik
Backport-of: 6b94289386
2024-01-18 04:18:19 +07:00
Goetz Lindenmaier
b416ccf40f 8287671: Adjust ForceGC to invoke System::gc fewer times for negative case
8287867: Bad merge of jdk/test/lib/util/ForceGC.java causing test compilation error

Backport-of: 2e332c2760
2024-01-18 04:18:19 +07:00
Goetz Lindenmaier
4302b2bbc0 8266593: vmTestbase/nsk/jvmti/PopFrame/popframe011 fails with "assert(java_thread == _state->get_thread()) failed: Must be"
Backport-of: 32839ba012
2024-01-18 04:18:19 +07:00
Jenny Shivayogi
f45661f900 8272998: ImageIO.read() throws incorrect exception type
Backport-of: 6ad6b1c454
2024-01-18 04:18:19 +07:00
Mat Carter
0bab361fde 8303607: SunMSCAPI provider leaks memory and keys
Backport-of: c51d40cfeb
2024-01-18 04:18:19 +07:00
Soumadipta Roy
6c26b12173 8315683: Parallelize java/util/concurrent/tck/JSR166TestCase.java
Reviewed-by: phh
Backport-of: 4415261688
2024-01-18 04:18:18 +07:00
Goetz Lindenmaier
675a769054 8311585: Add JRadioButtonMenuItem to bug8031573.java
Backport-of: 4f90abaf17
2024-01-18 04:18:18 +07:00
Goetz Lindenmaier
7143f25dd1 8308223: failure handler missed jcmd.vm.info command
Backport-of: 563152f32d
2024-01-18 04:18:18 +07:00
Goetz Lindenmaier
5ca933d3ff 8290909: MemoryPoolMBean/isUsageThresholdExceeded tests failed with "isUsageThresholdExceeded() returned false, and is still false, while threshold = MMMMMMM and used peak = NNNNNNN"
Backport-of: 3601e30df7
2024-01-18 04:18:18 +07:00
Goetz Lindenmaier
9e73976342 8298868: Update EngineCloseOnAlert.java for changes to TLS implementation
Backport-of: 7fd440d97c
2024-01-18 04:18:17 +07:00
Olga Mikhaltsova
e3c06858a1 8291550: RISC-V: jdk uses misaligned memory access when AvoidUnalignedAccess enabled
Reviewed-by: vkempik
Backport-of: 3709344166
2024-01-18 04:18:17 +07:00
Goetz Lindenmaier
d6a9cd82a9 8308047: java/util/concurrent/ScheduledThreadPoolExecutor/BasicCancelTest.java timed out and also had jcmd pipe errors
Backport-of: 8c9d091f19
2024-01-18 04:18:17 +07:00
Goetz Lindenmaier
5ea364c2e9 8315606: Open source few swing text/html tests
Backport-of: 4127fbb9ed
2024-01-18 04:18:17 +07:00
Goetz Lindenmaier
5f3eee4fa9 8309104: [JVMCI] compiler/unsafe/UnsafeGetStableArrayElement test asserts wrong values with Graal
Backport-of: 11fb5b2209
2024-01-18 04:18:16 +07:00
Goetz Lindenmaier
1011efbd8b 8281149: (fs) java/nio/file/FileStore/Basic.java fails with java.lang.RuntimeException: values differ by more than 1GB
Backport-of: a5343fa605
2024-01-18 04:18:16 +07:00
Goetz Lindenmaier
182865de79 8258951: java/net/httpclient/HandshakeFailureTest.java failed with "RuntimeException: Not found expected SSLHandshakeException in java.io.IOException"
Backport-of: db9834ff82
2024-01-18 04:18:16 +07:00
Goetz Lindenmaier
a9b31fcd4f 8315377: C2: assert(u->find_out_with(Op_AddP) == nullptr) failed: more than 2 chained AddP nodes?
Backport-of: ba1a46392f
2024-01-18 04:18:16 +07:00
Goetz Lindenmaier
cc66eeeb8e 8312440: assert(cast != nullptr) failed: must have added a cast to pin the node
Backport-of: 01e135c910
2024-01-18 04:18:15 +07:00
Goetz Lindenmaier
96cda7a0cb 8308103: Massive (up to ~30x) increase in C2 compilation time since JDK 17
Backport-of: c6ab9c2905
2024-01-18 04:18:15 +07:00
Goetz Lindenmaier
02f88265fa 8301489: C1: ShortLoopOptimizer might lift instructions before their inputs
Backport-of: 73d7aa1d2c
2024-01-18 04:18:15 +07:00
Goetz Lindenmaier
47c42732a7 8299075: TestStringDeduplicationInterned.java fails because extra deduplication
Backport-of: 682359cb48
2024-01-18 04:18:15 +07:00
Goetz Lindenmaier
c4c70508f6 8307403: java/util/zip/DeInflate.java timed out
Backport-of: d22bcc813e
2024-01-18 04:18:14 +07:00
Goetz Lindenmaier
216e93c9ba 8301455: comments in TestTypeAnnotations still refer to resolved JDK-8068737
Backport-of: 35e75c131d
2024-01-18 04:18:14 +07:00
Goetz Lindenmaier
8358eaa1d9 8305505: NPE in javazic compiler
Backport-of: 544bd260b6
2024-01-18 04:18:14 +07:00
Goetz Lindenmaier
7d70af072f 8298298: NMT: count deltas are printed with 32-bit signed size
Reviewed-by: lucy, stuefe
Backport-of: f729f5b6d0
2024-01-18 04:18:14 +07:00
Goetz Lindenmaier
e644bcb630 8301377: adjust timeout for JLI GetObjectSizeIntrinsicsTest.java subtest again
8302607: increase timeout for ContinuousCallSiteTargetChange.java
8305502: adjust timeouts in three more M&M tests

Backport-of: 4b23bef51d
2024-01-18 04:18:13 +07:00
Goetz Lindenmaier
cbd98f723c 8298872: Update CheckStatus.java for changes to TLS implementation
Backport-of: e7247b10cc
2024-01-18 04:18:13 +07:00
Goetz Lindenmaier
4dfd5dfe1b 8298874: Update TestAllSuites.java for TLS v1.2 and 1.3
Backport-of: 3361a26df4
2024-01-18 04:18:13 +07:00
Christoph Langer
9c6b6699cb 8316710: Exclude java/awt/font/Rotate/RotatedTextTest.java
Backport-of: f4550497ea
2024-01-18 04:18:13 +07:00
Soumadipta Roy
29043ceaa9 8315937: Enable parallelism in vmTestbase/nsk/stress/numeric tests
Backport-of: eb1f67b160
2024-01-18 04:18:12 +07:00
Goetz Lindenmaier
345bc829c0 8297958: NMT: Display peak values
Backport-of: 336d230a39
2024-01-18 04:18:12 +07:00
Goetz Lindenmaier
a30ae24192 8292072: NMT: repurpose Tracking overhead counter as global malloc counter
Reviewed-by: lucy
Backport-of: 1c1c4410b2
2024-01-18 04:18:12 +07:00
Goetz Lindenmaier
d1da4df30d 8281015: Further simplify NMT backend
Reviewed-by: lucy
Backport-of: b96b743727
2024-01-18 04:18:12 +07:00
Soumadipta Roy
9c6a5bed32 8315766: Parallelize gc/stress/TestStressIHOPMultiThread.java test
Backport-of: edd454b502
2024-01-18 04:18:11 +07:00
Aleksey Shipilev
be28150eeb 8316514: Better diagnostic header for VtableStub
Backport-of: 6c61bc1950
2024-01-18 04:18:11 +07:00
Fei Yang
c16e801fa5 8316743: RISC-V: Change UseVectorizedMismatchIntrinsic option result to warning
Backport-of: 750da00129
2024-01-18 04:18:11 +07:00
Goetz Lindenmaier
16d3c78656 8295424: adjust timeout for another JLI GetObjectSizeIntrinsicsTest.java subtest
8297367: disable TestRedirectLinks.java in slowdebug mode

Backport-of: 6e5470525d
2024-01-18 04:18:11 +07:00
Goetz Lindenmaier
b4e509ea88 8299748: java/util/zip/Deinflate.java failing on s390x
Backport-of: fee02f0668
2024-01-18 04:18:10 +07:00
Goetz Lindenmaier
19304ffa8d 8298869: Update ConnectionTest.java for changes to TLS implementation
Backport-of: d6007a356f
2024-01-18 04:18:10 +07:00
Goetz Lindenmaier
ff96793208 8298873: Update IllegalRecordVersion.java for changes to TLS implementation
8301189: validate-source fails after JDK-8298873

Backport-of: fc26d3e577
2024-01-18 04:18:10 +07:00
Goetz Lindenmaier
30fbe4a8a3 8198668: MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001/TestDescription.java still failing
Backport-of: d1249aa5cb
2024-01-18 04:18:10 +07:00
Goetz Lindenmaier
70a3541280 8271887: mark hotspot runtime/CDSCompressedKPtrs tests which ignore external VM flags
Backport-of: a3b0143970
2024-01-18 04:18:09 +07:00
Goetz Lindenmaier
30cd5a43cc 8271828: mark hotspot runtime/classFileParserBug tests which ignore external VM flags
Backport-of: e49b7d958c
2024-01-18 04:18:09 +07:00
Goetz Lindenmaier
8dc55a13df 8271829: mark hotspot runtime/Throwable tests which ignore external VM flags
Backport-of: 659498a07f
2024-01-18 04:18:09 +07:00
Goetz Lindenmaier
7b3211b6b5 8296437: NMT incurs costs if disabled
Backport-of: 9f8b6d2aa6
2024-01-18 04:18:09 +07:00
Andrew John Hughes
69d8c519f2 8308592: Framework for CA interoperability testing
Backport-of: da57d2a1eb
2024-01-18 04:18:08 +07:00
Goetz Lindenmaier
77899799a3 8298867: Basics.java fails with SSL handshake exception
Backport-of: 06f9374e0c
2024-01-18 04:18:08 +07:00
Goetz Lindenmaier
3a666bf8a1 8293156: Dcmd VM.classloaders fails to print the full hierarchy
Backport-of: c6be2cd347
2024-01-18 04:18:08 +07:00
Goetz Lindenmaier
7493a5e0cf 8283670: gtest os.release_multi_mappings_vm is still racy
Backport-of: 2e9fd56524
2024-01-18 04:18:08 +07:00
Matthias Baesken
87283d927f 8314121: test tools/jpackage/share/RuntimePackageTest.java#id0 fails on RHEL8
Backport-of: 8107eab3c0
2024-01-18 04:18:07 +07:00
Johannes Bechberger
88c74601a5 8307732: build-test-lib is broken
8274345: make build-test-lib is broken
8303922: build-test-lib target is broken

Reviewed-by: shade
Backport-of: 0da48f19cb
2024-01-18 04:18:07 +07:00
Ralf Schmelter
e5827b21c3 8289745: JfrStructCopyFailed uses heap words instead of bytes for object sizes
Backport-of: 7f0e9bd632
2024-01-18 04:18:07 +07:00
Aleksey Shipilev
e4b17784a1 8276054: JMH benchmarks for Fences
Backport-of: 5a768f75c9
2024-01-18 04:18:07 +07:00
Aleksey Shipilev
025b2de8aa 8300997: Add curl support to createJMHBundle.sh
Backport-of: 61775c85b0
2024-01-18 04:18:07 +07:00
Ilya Gavrilin
cd666bea6e 8313322: RISC-V: implement MD5 intrinsic
Reviewed-by: fyang
Backport-of: b093880acd
2024-01-18 04:18:06 +07:00
Andrew Lu
a899c9aeab 8313792: Verify 4th party information in src/jdk.internal.le/share/legal/jline.md
Backport-of: 87a6acbeee
2024-01-18 04:18:06 +07:00
Goetz Lindenmaier
0ce7612aa3 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
2024-01-18 04:18:06 +07:00
Goetz Lindenmaier
7a773dd690 8304174: Remove delays from httpserver tests
Backport-of: 450567031e
2024-01-18 04:18:06 +07:00
Goetz Lindenmaier
34a258b680 8298735: Some tools/jpackage/windows/* tests fails with jtreg test timeout
Backport-of: 3c99e786ab
2024-01-18 04:18:05 +07:00
Goetz Lindenmaier
72bab2382d 8249826: 5 javax/net/ssl/SSLEngine tests use @ignore w/o bug-id
Backport-of: bf9a8ce0bb
2024-01-18 04:18:05 +07:00
Goetz Lindenmaier
20576a3b5f 8297798: Timeout with DTLSOverDatagram test template
Backport-of: 4b313b51b1
2024-01-18 04:18:05 +07:00
Goetz Lindenmaier
48c16d2aa5 8292261: adjust timeouts in JLI GetObjectSizeIntrinsicsTest.java
Backport-of: 8a0c3e53d5
2024-01-18 04:18:05 +07:00
Goetz Lindenmaier
f671447bff 8288961: jpackage: test MSI installation fix
Backport-of: c67149be4b
2024-01-18 04:18:04 +07:00
Goetz Lindenmaier
20dc83057b 8286475: Drop --enable-preview from instanceof pattern matching related tests
Backport-of: 8c977050aa
2024-01-18 04:18:04 +07:00
Goetz Lindenmaier
9ff9c92395 8286473: Drop --enable-preview from Record related tests
Backport-of: 73c5e993e1
2024-01-18 04:18:04 +07:00
Goetz Lindenmaier
36de11e9a4 8282011: test/jdk/tools/jpackage/windows/WinL10nTest.java test fails if light.exe is not in %PATH%
Backport-of: 0b00ce17cd
2024-01-18 04:18:04 +07:00
Goetz Lindenmaier
e2595fc67e 8281874: Can't unpack msi installers from test/jdk/tools/jpackage/windows/test/jdk/tools/jpackage/windows/WinShortcutPromptTest.java test
Backport-of: 81645521c8
2024-01-18 04:18:03 +07:00
Goetz Lindenmaier
4e3beeea16 8275440: Remove VirtualSpaceList::is_full()
Backport-of: c9e65f8ef9
2024-01-18 04:18:03 +07:00
Goetz Lindenmaier
dd74e5d361 8274211: Test man page that options are documented
Backport-of: 734d1fbd33
2024-01-18 04:18:03 +07:00
Goetz Lindenmaier
9e8a07ea48 8272291: mark hotspot runtime/logging tests which ignore external VM flags
Backport-of: 05d64da7f3
2024-01-18 04:18:03 +07:00
Goetz Lindenmaier
a2bd0702cb 8272552: mark hotspot runtime/cds tests which ignore external VM flags
Backport-of: 989f39f810
2024-01-18 04:18:02 +07:00
Matthias Baesken
ad82733d2d 8311631: When multiple users run tools/jpackage/share/LicenseTest.java, Permission denied for writing /var/tmp/*.files
Backport-of: acf28f4cd9
2024-01-18 04:18:02 +07:00
Soumadipta Roy
aabc0ee26e 8315770: serviceability/sa/TestJmapCoreMetaspace.java should run with -XX:-VerifyDependencies
Backport-of: 877731d2a2
2024-01-18 04:18:02 +07:00
Goetz Lindenmaier
cd4a92beee 8271892: mark hotspot runtime/PrintStringTableStats/PrintStringTableStatsTest.java test as ignoring external VM flags
Backport-of: 9654fd73cd
2024-01-18 04:18:02 +07:00
Goetz Lindenmaier
a8c820c486 8292381: java/net/httpclient/SpecialHeadersTest.java fails with "ERROR: Shutting down connection: HTTP/2 client stopped"
Backport-of: 256b52387b
2024-01-18 04:18:01 +07:00
Goetz Lindenmaier
c3b9b296eb 8289584: (fs) Print size values in java/nio/file/FileStore/Basic.java when they differ by > 1GiB
Backport-of: e291a67e96
2024-01-18 04:18:01 +07:00
Goetz Lindenmaier
508cf441d3 8286969: Add a new test library API to execute kinit in SecurityTools.java
Backport-of: dbda0e2bda
2024-01-18 04:18:01 +07:00
Goetz Lindenmaier
84c04b12fd 8285867: Convert applet manual tests SelectionVisible.java to Frame and automate
Backport-of: 44a60ce172
2024-01-18 04:18:01 +07:00
Goetz Lindenmaier
d1c470f447 8286474: Drop --enable-preview from Sealed Classes related tests
Backport-of: d547a707bf
2024-01-18 04:18:00 +07:00
Goetz Lindenmaier
c4534c3525 8202790: DnD test DisposeFrameOnDragTest.java does not clean up
Backport-of: 102a305f73
2024-01-18 04:18:00 +07:00
Goetz Lindenmaier
2f41285420 8271073: Improve testing with VM option VerifyArchivedFields
Reviewed-by: lucy
Backport-of: b98290444a
2024-01-18 04:18:00 +07:00
Goetz Lindenmaier
a8ed22a0cf 8272551: mark hotspot runtime/modules tests which ignore external VM flags
Backport-of: fe72197102
2024-01-18 04:18:00 +07:00
Goetz Lindenmaier
439e5acfd0 8272099: mark hotspot runtime/Monitor tests which ignore external VM flags
Backport-of: c495ede2c2
2024-01-18 04:17:59 +07:00
Goetz Lindenmaier
1df3ca46a1 8271904: mark hotspot runtime/ClassFile tests which ignore external VM flags
Backport-of: e882087f7a
2024-01-18 04:17:59 +07:00
Goetz Lindenmaier
15a54a9704 8271905: mark hotspot runtime/Metaspace tests which ignore external VM flags
Backport-of: 3ab95d1917
2024-01-18 04:17:59 +07:00
Goetz Lindenmaier
afc3af0030 8271893: mark hotspot runtime/PerfMemDestroy/PerfMemDestroy.java test as ignoring external VM flags
Backport-of: 359c7084a1
2024-01-18 04:17:59 +07:00
Masanori Yano
33327afe2c 8293579: tools/jpackage/share/jdk/jpackage/tests/UnicodeArgsTest.java fails on Japanese Windows platform
Backport-of: 121d4a5119
2024-01-18 04:17:58 +07:00
Elif Aslan
c54229b748 8276036: The value of full_count in the message of insufficient codecache is wrong
Backport-of: 61cb4bc6b0
2024-01-18 04:17:58 +07:00
Aleksey Shipilev
3791eb5d3f 8316178: Better diagnostic header for CodeBlobs
Backport-of: d575968b4b
2024-01-18 04:17:58 +07:00
Aleksey Shipilev
502616179b 8314045: ArithmeticException in GaloisCounterMode
Backport-of: f41c267f85
2024-01-18 04:17:57 +07:00
Goetz Lindenmaier
191e7c5276 8314263: Signed jars triggering Logger finder recursion and StackOverflowError
8315696: SignedLoggerFinderTest.java test failed
8316087: Test SignedLoggerFinderTest.java is still failing

Reviewed-by: lucy
Backport-of: 7daae1fb42
2024-01-18 04:17:57 +07:00
Goetz Lindenmaier
ee9f0d3d85 8292636: (dc) Problem listing of java/nio/channels/DatagramChannel/Unref.java has incorrect issue ID
Backport-of: 5ca268ca65
2024-01-18 04:17:57 +07:00
Goetz Lindenmaier
d41d4e379b 8193543: Regression automated test '/open/test/jdk/java/awt/TrayIcon/SystemTrayInstance/SystemTrayInstanceTest.java' fails
Backport-of: 08024d9583
2024-01-18 04:17:57 +07:00
Goetz Lindenmaier
b49e7a20cc 8271891: mark hotspot runtime/Safepoint tests which ignore external VM flags
Backport-of: 6c17e6deb2
2024-01-18 04:17:56 +07:00
Goetz Lindenmaier
4b1b24372a 8271890: mark hotspot runtime/Dictionary tests which ignore external VM flags
Backport-of: cdf3d55c82
2024-01-18 04:17:56 +07:00
Goetz Lindenmaier
f0e292351a 8271824: mark hotspot runtime/CompressedOops tests which ignore external VM flags
Backport-of: 9e769090a0
2024-01-18 04:17:56 +07:00
Goetz Lindenmaier
e72dfb7320 8314063: The socket is not closed in Connection::createSocket when the handshake failed for LDAP connection
Backport-of: f2383b3cbd
2024-01-18 04:17:56 +07:00
Goetz Lindenmaier
e42aab53cd 8288325: [windows] Actual and Preferred Size of AWT Non-resizable frame are different
Backport-of: eca9749da0
2024-01-18 04:17:55 +07:00
Goetz Lindenmaier
f895223d70 8273522: Rename test property vm.cds.archived.java.heap to vm.cds.write.archived.java.heap
Reviewed-by: lucy
Backport-of: 922e86f4ff
2024-01-18 04:17:55 +07:00
Elif Aslan
93f86ba494 8311514: Incorrect regex in TestMetaSpaceLog.java
Backport-of: 9084b6c9d5
2024-01-18 04:17:55 +07:00
Chad Rakoczy
feede25916 8311813: C1: Uninitialized PhiResolver::_loop field
Backport-of: 489a32fe40
2024-01-18 04:17:55 +07:00
Aleksey Shipilev
29e64c7a70 8315863: [GHA] Update checkout action to use v4
Backport-of: b74805d383
2024-01-18 04:17:54 +07:00
Sergey Chernyshev
fcc0ace7c0 8168469: Memory leak in JceSecurity
Backport-of: a284920b34
2024-01-18 04:17:54 +07:00
Goetz Lindenmaier
1f97ee1928 8314679: SA fails to properly attach to JVM after having just detached from a different JVM
Reviewed-by: phh
Backport-of: 38a9edfb7e
2024-01-18 04:17:54 +07:00
Goetz Lindenmaier
f5f2c756b5 8313657: com.sun.jndi.ldap.Connection.cleanup does not close connections on SocketTimeoutErrors
Backport-of: e56d3bc2da
2024-01-18 04:17:54 +07:00
Goetz Lindenmaier
15745e7d1e 8294427: Check boxes and radio buttons have rendering issues on Windows in High DPI env
Reviewed-by: phh
Backport-of: a63afa4aa6
2024-01-18 04:17:53 +07:00
Goetz Lindenmaier
889b5e16d4 8265586: [windows] last button is not shown in AWT Frame with BorderLayout and MenuBar set.
8288993: Make AwtFramePackTest generic by removing @requires tag

Backport-of: bbaeacb597
2024-01-18 04:17:53 +07:00
Goetz Lindenmaier
211e614bd1 8061729: Update java/net tests to eliminate dependency on sun.net.www.MessageHeader and some other internal APIs
8282017: sun/net/www/protocol/https/HttpsURLConnection/B6216082.java fails with "SocketException: Unexpected end of file from server"

Backport-of: 0f3d3ac32c
2024-01-18 04:17:53 +07:00
Goetz Lindenmaier
7212ed80ed 8270447: [IR Framework] Add missing compilation level restriction when using FlipC1C2 stress option
Backport-of: 36aefa351a
2024-01-18 04:17:53 +07:00
Goetz Lindenmaier
01d691f5f6 8247351: [aarch64] NullPointerException during stack walking (clhsdb "where -a")
Backport-of: 357fe09f2e
2024-01-18 04:17:52 +07:00
Long Yang
bb24505f51 8312065: Socket.connect does not timeout when profiling
Reviewed-by: phh, vtewari, apangin
2024-01-18 04:17:52 +07:00
Goetz Lindenmaier
0257422324 8312909: C1 should not inline through interface calls with non-subtype receiver
Reviewed-by: phh
Backport-of: ab1c212ac1
2024-01-18 04:17:52 +07:00
Goetz Lindenmaier
0494e2b1df 8312573: Failure during CompileOnly parsing leads to ShouldNotReachHere
Reviewed-by: phh
Backport-of: 6f76b65ace
2024-01-18 04:17:52 +07:00
Goetz Lindenmaier
229d82eb2d 8304954: SegmentedCodeCache fails when using large pages
Reviewed-by: phh
Backport-of: cad6114e1c
2024-01-18 04:17:51 +07:00
Goetz Lindenmaier
940f27bbf3 8311592: ECKeySizeParameterSpec causes too many exceptions on third party providers
Backport-of: e554fdee25
2024-01-18 04:17:51 +07:00
Goetz Lindenmaier
b6b9e1f4da 8301065: Handle control characters in java_lang_String::print
Backport-of: 41d6be4d80
2024-01-18 04:17:51 +07:00
Goetz Lindenmaier
2f0426b4b5 8299255: Unexpected round errors in FreetypeFontScaler
Backport-of: 26868c1ac4
2024-01-18 04:17:51 +07:00
Goetz Lindenmaier
5b7618ff6b 8232933: Javac inferred type does not conform to equality constraint
Reviewed-by: vromero
Backport-of: 7a85441a85
2024-01-18 04:17:50 +07:00
Ao Qi
77f42b77ee 8315020: The macro definition for LoongArch64 zero build is not accurate.
Reviewed-by: fyang
Backport-of: 725ec0ce1b
2024-01-18 04:17:50 +07:00
Christoph Langer
cdd6e68234 8314094: java/lang/ProcessHandle/InfoTest.java fails on Windows when run as user with Administrator privileges
Backport-of: 69c9ec92d0
2024-01-18 04:17:50 +07:00
Matthias Baesken
341028f68b 8315751: RandomTestBsi1999 fails often with timeouts on Linux ppc64le
Backport-of: 9887cd8adc
2024-01-18 04:17:50 +07:00
Goetz Lindenmaier
836e276e40 8301701: java/net/DatagramSocket/DatagramSocketMulticasting.java should be hardened
Reviewed-by: phh
Backport-of: 5feb13b55d
2024-01-18 04:17:49 +07:00
Chad Rakoczy
9ec30b5cd1 8285516: clearPassword should be called in a finally try block
Backport-of: 36e4df9d66
2024-01-18 04:17:49 +07:00
Evgeny Astigeevich
46ecfe9ff4 8276711: compiler/codecache/cli tests failing when SegmentedCodeCache used with -Xint
Backport-of: 7822cbce10
2024-01-18 04:17:49 +07:00
Christoph Langer
aeaeac42c0 8312625: Test serviceability/dcmd/vm/TrimLibcHeapTest.java failed: RSS use increased
Backport-of: 117f42dbe9
2024-01-18 04:17:49 +07:00
airsquared
052a4b29f4 8309032: jpackage does not work for module projects unless --module-path is specified
Backport-of: dfe764e3f8
2024-01-18 04:17:49 +07:00
Aleksey Shipilev
eb094630bc 8315549: CITime misreports code/total nmethod sizes
Reviewed-by: phh
Backport-of: ab12c5d32f
2024-01-18 04:17:48 +07:00
Aleksey Shipilev
72c3b5173f 8244289: fatal error: Possible safepoint reached by thread that does not allow it
Backport-of: 61932f49a5
2024-01-18 04:17:48 +07:00
Aleksey Shipilev
7409b8bdaf 8271886: mark hotspot runtime/InvocationTests tests which ignore external VM flags
Backport-of: ff7431eafe
2024-01-18 04:17:48 +07:00
Roman Marchenko
b45f7ed360 8314024: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work due to bad immediate dominator info
Backport-of: ed1ea5fe7c
2024-01-18 04:17:47 +07:00
Paul Hohensee
4608318a57 8299677: Formatter.format might take a long time to format an integer or floating-point
Reviewed-by: mdoerr
Backport-of: 33412c102c
2024-01-18 04:17:47 +07:00
Aleksey Shipilev
0260e5c949 8314495: Update to use jtreg 7.3.1
Reviewed-by: mdoerr, clanger
Backport-of: c50315de8f
2024-01-18 04:17:47 +07:00
Christoph Langer
c826c2aea9 8207166: jdk/jshell/JdiHangingLaunchExecutionControlTest.java - launch timeout
Backport-of: 02dce24b59
2024-01-18 04:17:47 +07:00
Andrew John Hughes
55e9a90632 8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
Backport-of: e47a84f23d
2024-01-18 04:17:47 +07:00
Thomas Stuefe
db6b4e1405 8314139: TEST_BUG: runtime/os/THPsInThreadStackPreventionTest.java could fail on machine with large number of cores
Backport-of: 7332502883
2024-01-18 04:17:46 +07:00
Aleksey Shipilev
2df09ec159 8313626: C2 crash due to unexpected exception control flow
Backport-of: f8203cb272
2024-01-18 04:17:46 +07:00
Aleksey Shipilev
00cead832e 8286430: make test TEST="gtest:<sometag>" exits with error when it shouldn't
Backport-of: 63a1ec6e7c
2024-01-18 04:17:46 +07:00
Thomas Stuefe
99750ae231 8312585: Rename DisableTHPStackMitigation flag to THPStackMitigation
Backport-of: 226cdc696d
2024-01-18 04:17:46 +07:00
Thomas Stuefe
d073aa25ba 8312620: WSL Linux build crashes after JDK-8310233
Backport-of: 25058cd23a
2024-01-18 04:17:45 +07:00
Sergey Bylokhov
95777b6217 8312535: MidiSystem.getSoundbank() throws unexpected SecurityException
Backport-of: 87298d2ade
2024-01-18 04:17:45 +07:00
Thomas Stuefe
998b8f7265 8312182: THPs cause huge RSS due to thread start timing issue
8310687: JDK-8303215 is incomplete

Backport-of: 84b325b844
2024-01-18 04:17:45 +07:00
Thomas Stuefe
0d6be5703e 8312394: [linux] SIGSEGV if kernel was built without hugepage support
Backport-of: 94eb44b192
2024-01-18 04:17:45 +07:00
Aleksey Shipilev
dc85e43445 8295229: Try to verify gtest version
Backport-of: cd1357b0af
2024-01-18 04:17:44 +07:00
Thomas Stuefe
55af258cce 8310233: Fix THP detection on Linux
Reviewed-by: phh
Backport-of: 37ca9024ef
2024-01-18 04:17:44 +07:00
Aleksey Shipilev
c84deb160b 8292717: Clean up checking of testing requirements in configure
Reviewed-by: clanger
Backport-of: 16593cf51c
2024-01-18 04:17:44 +07:00
Goetz Lindenmaier
c50bb348d9 8312974: Bump update version for OpenJDK: jdk-17.0.10
Reviewed-by: shade
2024-01-18 04:17:29 +07:00
Vitaly Provodin
ae229c71dc update exclude list on results of 17.0.9_b1166.2 test runs 2024-01-17 10:26:05 +07:00
Dmitry Batrak
f0d5a907ac JBR-6449 Introduce FontMetricsAccessor into JBR API
JBRE-MR-368
2024-01-16 13:17:23 +02:00
Nikita Gubarkov
b0a73e2a33 JBR-5837 retrieve up-to-date default screen device in FullscreenWindowProps test.
Calling setDisplayMode() or setFullScreenWindow() may cause display reconfiguration.
2024-01-12 18:05:45 +01:00
Dmitrii Morskii
358c3d9baa JBR-3098 move repaintPeer event from AppKit thread to EDT on macos 2024-01-12 17:29:50 +01:00
bourgesl
2fd95d7128 JBR-6505: removed extra setNeedDisplay() in startRedrawIfNeeded() to restore JavaDraw performance (more frames rendered than real vsync FPS)
(cherry picked from commit be91bc02530ff56c9a706f3851c003d9c1722a80)
2024-01-12 16:21:16 +01:00
bourgesl
afbe939af6 fixup! JBR-6377: fixed MTLLayer.redrawCount = 1 to avoid extra redraws with multiple windows
(cherry picked from commit acca2a46cb)
2024-01-12 16:20:56 +01:00
bourgesl
a398bc0185 JBR-6377: fixed MTLLayer.redrawCount = 1 to avoid extra redraws with multiple windows
(cherry picked from commit 82c930da5f)
2024-01-12 16:20:50 +01:00
Nikita Gubarkov
d4a3e05d36 JBR-6264 Improved coordinate conversion in XWayland mode 2024-01-12 14:07:32 +01:00
Alexander Lobas
4b5c1f574b fixup! JBR-5174 Opening project as tabs in Mac OS (version2) 2024-01-12 15:55:20 +07:00
Vitaly Provodin
bdbe119934 update exclude list on results of 17.0.9_b1162.4 test runs 2024-01-12 10:50:08 +07:00
Dmitry Batrak
50933cd23e JBR-2651 jb/java/awt/Focus/PopupIncomingFocusTest.java intermittently fails by java.util.concurrent.TimeoutException
further attempt to stabilize test
2024-01-05 12:04:30 +02:00
Vitaly Provodin
45025a5027 update exclude list on results of 17.0.9_b1160.1 test runs 2024-01-03 05:05:40 +07:00
Vitaly Provodin
5305726ece update exclude list on results of 17.0.9_b1143.1 test runs 2023-12-28 18:10:18 +07:00
Artem Bochkarev
05a8ff9117 fixup! JBR-5405: implementation of direct raster loading for VolatileImage 2023-12-28 10:16:27 +04:00
Vitaly Provodin
57c6cbe325 JBR-6454 add synchronization at disposing windows 2023-12-27 19:49:31 +07:00
Artem Bochkarev
c5ba5ff4c8 fixup! JBR-5405: implementation of direct raster loading for VolatileImage 2023-12-26 17:56:11 +04:00
Artem Bochkarev
95ada30c3f JBR-5405: implementation of direct raster loading for VolatileImage 2023-12-26 14:14:37 +04:00
bourgesl
49b53da483 JBR-6241: RenderPerf 23.11 improvements: support parallel rendering on several frames and screens, refined Robot executor to use rounded duration (to 120Hz) and interval between viewed frames, added new command-line arguments + RenderPerf 23.12: remove older RenderPerfTest in src 2023-12-22 16:32:29 +01:00
Dmitrii Morskii
84c635c405 Revert "JBR-6346 update Inter font version"
This reverts commit 8238bbcd4c.
2023-12-21 19:32:13 +00:00
Maxim Kartashev
2be22e8578 JBR-6370 IDEA hanged while browsing exceptions in EA
Avoid using the second lock in addition to AWT_LOCK
2023-12-20 18:17:44 +04:00
Maxim Kartashev
74b52f068b JBR-6340 Popups displayed shifted after moving IDE to another monitor via shortcut with auto-maximize enabled in Mutter
Windows no longer change their "native" size when moved between monitors
with different scale on Linux. Use -Dresize.with.scale=true to revert
that.
2023-12-20 12:55:03 +04:00
Dmitry Batrak
98b3ac5221 JBR-6436 crash in jb/java/awt/Focus/FullScreenFocusStealing.java and jb/java/awt/Window/FullScreenTwoFrames.java 2023-12-19 14:39:40 +02:00
Alexey Ushakov
5c7ffa6578 JBR-6433 Rounded corners of popups disappear after a while
Removed opacity from CAMetalLayer for layers with rounded corners
2023-12-18 17:22:22 +01:00
Dmitry Batrak
abfc3e2e79 JBR-2651 jb/java/awt/Focus/PopupIncomingFocusTest.java intermittently fails by java.util.concurrent.TimeoutException 2023-12-15 15:15:05 +02:00
Vitaly Provodin
2127a64497 update exclude list on results of 17.0.9_b1128.2 test runs 2023-12-15 07:23:02 +04:00
Dmitrii Morskii
8238bbcd4c JBR-6346 update Inter font version 2023-12-14 17:28:24 +01:00
Nikita Provotorov
0afe6c37bb JBR-4687: Japanese IME input window hides what is being typed.
Uses CFS_EXCLUDE instead of CFS_CANDIDATEPOS in the ::ImmSetCandidateWindow() native API, which is more powerful and allows to take into account the issue's case.
2023-12-14 14:07:10 +01:00
Alexander Lobas
ab95964027 Merge pull request #260 from alexander-lobas/jbr17
JBR-6418 New macOS full-screen controls appear shifted down sometimes
2023-12-12 16:32:13 +03:00
Alexander Lobas
15ff5a8489 JBR-6418 New macOS full-screen controls appear shifted down sometimes 2023-12-12 16:30:37 +03:00
Nikita Tsarev
0262d7e646 JBR-6215: Override XToolkit's default nonintuitive behavior when translating F13-F24 keys 2023-12-09 18:40:16 +01:00
Sergey Shelomentsev
773ceb5f73 JBR-6354 fix custom title bar tests to avoid failure in MacOS 14 fullscreen mode
- moved common logic to a separate part
- moved parts of tests to swing package
2023-12-07 18:23:28 +02:00
Maxim Kartashev
02a5148e02 JBR-6395 Incorrect warning from cds about the modules file 2023-12-06 13:16:05 +04:00
Vitaly Provodin
86a7c75cc2 update exclude list on results of 17.0.9_b1124.1 test runs 2023-12-06 11:34:00 +07:00
Nikita Provotorov
c57030a2ef JBR-6381: A lot of messages "xInputMethodConnection == NULL" in stderr.
Disables on of the printfs that causes the issue.
2023-12-02 00:35:06 +01:00
Nikita Provotorov
6aebe7dd66 Update README.md.
Adds information about 2023.2 and 2023.3 releases.
2023-12-01 22:03:27 +01:00
Vitaly Provodin
78265ab6a4 update exclude list on results of 17.0.9_b1122.1 test runs 2023-11-28 20:38:47 +07:00
Nikita Provotorov
fe849d2ea0 JBR-6282: java/awt/TextArea/TextAreaEditing/TextAreaEditing.java intermittently fails due to deadlock.
Makes the test invoke any UI-operation on EDT only (since AWT doesn't guarantee thread-safety of UI operations, see more at https://mail.openjdk.org/pipermail/client-libs-dev/2023-November/016172.html).

(cherry picked from commit 8dbb889509)
2023-11-27 23:10:17 +01:00
Nikita Tsarev
d8ae52aeb0 JBR-6331: Fix some memory safety issues in macOS keyboards 2023-11-27 12:46:38 +01:00
Nikita Provotorov
ca5562225a JBR-6125: macOS14 java/awt/Window/Grab/GrabTest.java Frame can't be focused.
Fixes a data race in the test.

(cherry picked from commit 281211d5a748e460cea4f5ab1e3889ed9588df0c)
2023-11-24 20:56:03 +01:00
Dmitry Batrak
9e65e2391a JBR-5751 java/awt/Focus/RowToleranceTransitivityTest.java: Focus got stuck while traversing. 2023-11-24 18:01:15 +02:00
Vitaly Provodin
133a99192a JBR-6246 add default CDS archives into jbrsdk distributions and remove the step normalizing timestamp 2023-11-24 18:44:35 +07:00
Vitaly Provodin
b00a6465bb JBR-4511 remove --disable options from configure mac-aarch64 builds & unify configure for x64 and aarch64 2023-11-24 18:44:10 +07:00
Vitaly Provodin
cc03cf1117 update exclude list on results of 17.0.9_b1109.1 test runs 2023-11-23 07:04:41 +07:00
Alexander Lobas
c13eb3036f Merge pull request #258 from alexander-lobas/jbr17
JBR-6327 macOS full screen controls are shifted down after exitting d…
2023-11-21 17:20:08 +03:00
Alexander Lobas
4dd5ea93bb JBR-6327 macOS full screen controls are shifted down after exitting distraction free mode 2023-11-21 17:18:25 +03:00
Dmitry Drobotov
0dfbf34b37 JBR-4479 Add text caret tracking for macOS Accessibility Zoom 2023-11-21 13:31:49 +01:00
Dmitry Drobotov
8982db51d7 JBR-6194 Fix VoiceOver reading old JComboBox value after changing it
1. Remove `value == nil` check in ComboBoxAccessiblity.accessibilityValue to fix the issue with not updated value of combo box. With `value == nil` check, the value was not reassigned on every get request of `accessibilityValue`, but only on get `accessibilitySelectedChildren`. When changing focus by Tab, only get `accessibilityValue` is called, and because `value` is already not nil, an old value was returned.

2. Set combo box role to NSAccessibilityPopUpButtonRole if it's not editable. Setting role to popup button fixes the bug when combo box value was not updated when using VO cursor navigation. Native MacOS non-editable combo boxes and non-editable HTML <select> elements also have the "popup button" role instead of "combo box", so the role should become more clear. Popup button role additionally enables opening the combo box menu with VO+Space shortcut, and changes VO instructions to be more appropriate when combo box is focused.

3. Add test for VoiceOver-specific issues of JComboBox.
2023-11-21 13:29:05 +01:00
Vitaly Provodin
9a5348efce update exclude list on results of 17.0.9_b1109.1 test runs 2023-11-16 05:19:54 +07:00
Vitaly Provodin
8617cb5c67 update exclude list on results of 17.0.9_b1106.1 test runs 2023-11-15 09:44:57 +07:00
Nikita Gubarkov
1d5bc2152d JBR-5274 recreate CGraphicsDevice if it was changed.
- AWT code heavily relies on reference comparison when updating graphics devices & configurations, so we need to actually re-create CGraphicsDevice if it was changed.

- Also do not rely on graphicsConfig.getDefaultTransform() when firing `graphicsContextScaleTransform` property change, as graphics devices are mutable and returned default transform may change over time, e.g. when device is invalidated.
2023-11-14 15:38:58 +01:00
Maxim Kartashev
d2f126115a JBR-6193 Impossible to resize snapped IDE when native header is turned off
Drop the maximized state right before the resize operation for
undecorated windows.

Also fixes setExtendedState() to work when changing snapped window's state
(MAXIMIZED_HORIZ or MAXIMIZED_VERT) to NORMAL.
2023-11-13 12:30:58 +04:00
Nikita Provotorov
3169523d80 fixup! JBR-5980: Pasting from clipboard not working reliably in Windows.
(also fixes JBR-6267: Image retreived from the Clipboard is not the same image that was set to the Clipboard)

- Sets the system property awt.windows.clipboard.cache.disabled to false by default ;
- Adds memory barriers around the native flag AwtClipboard::isOwner ;
- Allows back WM_ACTIVATEAPP messages to reach ::DefWindowProc .
2023-11-11 03:19:25 +01:00
Nikita Provotorov
c48f588cb5 fixup! JBR-5980: Pasting from clipboard not working reliably in Windows.
Adds memory barriers around the native flag AwtClipboard::isGettingOwnership.
2023-11-11 03:17:21 +01:00
Nikita Provotorov
3fe2a97aa0 JBR-2460: Wrong position of input window and no input preview with fcitx and ubuntu 13.04.
This patch makes the fix of JBR-1573 (which caused JBR-4394) disabled by default, because it's incompatible with the native below-the-spot mode (a.k.a. over-the-spot in the X11's terminology).
2023-11-09 21:25:44 +01:00
Nikita Provotorov
826f75ee48 JBR-2460: Wrong position of input window and no input preview with fcitx and ubuntu 13.04.
- introduces and integrates jbNewXimClient: a new implementation of XIC creation routine (it's mostly refactoring and generalizing of AWT's existed code). Enabled by default and can be disabled via a new system property -Djb.awt.newXimClient.enabled=false ;
- introduces support of the X11's native over-the-spot input method style (it's almost the same as AWT's below-the-spot mode, but the input method's windows are drawn externally, not by AWT). Enabled by default and can be disabled via a new system property -Djb.awt.newXimClient.enabled=false. Doesn't work if -Djb.awt.newXimClient.enabled=false is set ;
- introduces sun.awt.X11.XInputMethod.ClientComponentCaretPositionTracker class that tracks all kind of events for the current client component that can lead to the caret position changing ;
- makes the XInputMethod class to update the input window's position (whenever the ClientComponentCaretPositionTracker discovers that's necessary) by setting the X11's XNSpotLocation property .

Check out the branch nprovotorov/backups/JBR-2460_wrong-position-of-input-window-and-no-input-preview for more granular patches.
2023-11-09 21:25:43 +01:00
Maxim Kartashev
c452e2f5ad JBR-6220 javax/swing/GraphicsConfigNotifier/StalePreferredSize.java became failing by time out on Linux 2023-11-07 13:28:47 +04:00
Nikita Provotorov
473c41003d JBR-5980: Pasting from clipboard not working reliably in Windows.
- Disables caching of the data placed into the clipboard. The behavior is controlled by the system property "awt.windows.clipboard.cache.disabled" (=true by default) ;
- Whenever the app gets focus additionally checks if another app has modified the clipboard. The behavior is controlled by the system property "awt.windows.clipboard.extraOwnershipChecksEnabled" (=true by default) .
2023-11-06 13:00:23 +01:00
Nikita Provotorov
b967f5bc91 JBR-5980: Pasting from clipboard not working reliably in Windows.
Marks the native flag AwtClipboard::isGettingOwnership as volatile to avoid inconsistencies of CPU caches.
2023-11-06 13:00:10 +01:00
2082 changed files with 73375 additions and 38272 deletions

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, 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
@@ -104,6 +104,6 @@ runs:
- name: 'Export path to where BootJDK is installed'
id: path-name
run: |
# Export the path
echo 'path=bootjdk/jdk' >> $GITHUB_OUTPUT
# Export the absolute path
echo "path=`pwd`/bootjdk/jdk" >> $GITHUB_OUTPUT
shell: bash

View File

@@ -40,7 +40,7 @@ runs:
var: GTEST_VERSION
- name: 'Checkout GTest source'
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: google/googletest
ref: 'release-${{ steps.version.outputs.value }}'

View File

@@ -47,7 +47,7 @@ runs:
key: jtreg-${{ steps.version.outputs.value }}
- name: 'Checkout the JTReg source'
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: openjdk/jtreg
ref: jtreg-${{ steps.version.outputs.value }}

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 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
@@ -44,8 +44,8 @@ for test in $failures $errors; do
base_path="$(echo "$test" | tr '#' '_')"
report_file="$report_dir/$base_path.jtr"
hs_err_files=$(ls $report_dir/$base_path/hs_err*.log 2> /dev/null || true)
replay_files=$(ls $report_dir/$base_path/replay*.log 2> /dev/null || true)
echo "#### <a id="$anchor">$test"
echo '<details><summary>View test results</summary>'
echo ''
echo '```'
@@ -73,6 +73,20 @@ for test in $failures $errors; do
echo ''
fi
if [[ "$replay_files" != "" ]]; then
echo '<details><summary>View HotSpot replay file</summary>'
echo ''
for replay in $replay_files; do
echo '```'
echo "$replay:"
echo ''
cat "$replay"
echo '```'
done
echo '</details>'
echo ''
fi
done >> $GITHUB_STEP_SUMMARY
# With many failures, the summary can easily exceed 1024 kB, the limit set by Github

View File

@@ -42,6 +42,7 @@ error_count=$(echo $errors | wc -w || true)
if [[ "$failures" = "" && "$errors" = "" ]]; then
# We know something went wrong, but not what
echo 'failure=true' >> $GITHUB_OUTPUT
echo 'error-message=Unspecified test suite failure. Please see log for job for details.' >> $GITHUB_OUTPUT
exit 0
fi

View File

@@ -85,7 +85,7 @@ jobs:
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: 'Get the BootJDK'
id: bootjdk
@@ -100,6 +100,10 @@ jobs:
with:
platform: linux-x64
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
- name: 'Install toolchain and dependencies'
run: |
@@ -155,6 +159,7 @@ jobs:
--with-conf-name=linux-${{ matrix.target-cpu }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--with-zlib=system
--enable-debug
--disable-precompiled-headers

View File

@@ -78,7 +78,7 @@ jobs:
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: 'Get the BootJDK'
id: bootjdk

View File

@@ -68,7 +68,7 @@ jobs:
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: 'Get the BootJDK'
id: bootjdk

View File

@@ -79,7 +79,7 @@ jobs:
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: 'Get MSYS2'
uses: ./.github/actions/get-msys2

View File

@@ -60,7 +60,10 @@ jobs:
- 'jdk/tier1 part 3'
- 'langtools/tier1'
- 'hs/tier1 common'
- 'hs/tier1 compiler'
- 'hs/tier1 compiler part 1'
- 'hs/tier1 compiler part 2'
- 'hs/tier1 compiler part 3'
- 'hs/tier1 compiler not-xcomp'
- 'hs/tier1 gc'
- 'hs/tier1 runtime'
- 'hs/tier1 serviceability'
@@ -83,8 +86,20 @@ jobs:
test-suite: 'test/hotspot/jtreg/:tier1_common'
debug-suffix: -debug
- test-name: 'hs/tier1 compiler'
test-suite: 'test/hotspot/jtreg/:tier1_compiler'
- test-name: 'hs/tier1 compiler part 1'
test-suite: 'test/hotspot/jtreg/:tier1_compiler_1'
debug-suffix: -debug
- test-name: 'hs/tier1 compiler part 2'
test-suite: 'test/hotspot/jtreg/:tier1_compiler_2'
debug-suffix: -debug
- test-name: 'hs/tier1 compiler part 3'
test-suite: 'test/hotspot/jtreg/:tier1_compiler_3'
debug-suffix: -debug
- test-name: 'hs/tier1 compiler not-xcomp'
test-suite: 'test/hotspot/jtreg/:tier1_compiler_not_xcomp'
debug-suffix: -debug
- test-name: 'hs/tier1 gc'
@@ -105,7 +120,7 @@ jobs:
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: 'Get MSYS2'
uses: ./.github/actions/get-msys2

View File

@@ -1,7 +1,7 @@
[general]
project=jdk-updates
jbs=JDK
version=17.0.9
version=17.0.11
[checks]
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists

View File

@@ -9,11 +9,13 @@ It includes a number of enhancements in font rendering, ligatures, HiDPI support
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).
| IDE Version | Latest JBR | Date Released |
| --- |--------------------------------------------------------------------------------------------------------|---------------|
| 2023.1 | [17.0.6-b829.1](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b829.1) | 14-Feb-2023 |
| 2022.3 | [17.0.5-b653.25](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b653.25) | 10-Jan-2023 |
| 2022.2 | [17.0.5-b469.71](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b469.71) | 14-Nov-2022 |
| IDE Version | Latest JBR | Date Released |
|-------------|---------------------------------------------------------------------------------------------------------|---------------|
| 2023.3 | [17.0.9b1087.7](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.9b1087.7) | 20-Nov-2023 |
| 2023.2 | [17.0.9b1000.46](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.9b1000.46) | 01-Nov-2023 |
| 2023.1 | [17.0.6-b829.1](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b829.1) | 14-Feb-2023 |
| 2022.3 | [17.0.5-b653.25](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b653.25) | 10-Jan-2023 |
| 2022.2 | [17.0.5-b469.71](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.5b469.71) | 14-Nov-2022 |
## Contents

View File

@@ -175,22 +175,22 @@
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Operating system</th>
<th style="text-align: left;">Vendor/version used</th>
<th>Operating system</th>
<th>Vendor/version used</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Linux</td>
<td style="text-align: left;">Oracle Enterprise Linux 6.4 / 7.6</td>
<td>Linux</td>
<td>Oracle Enterprise Linux 6.4 / 7.6</td>
</tr>
<tr class="even">
<td style="text-align: left;">macOS</td>
<td style="text-align: left;">Mac OS X 10.13 (High Sierra)</td>
<td>macOS</td>
<td>Mac OS X 10.13 (High Sierra)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Windows</td>
<td style="text-align: left;">Windows Server 2012 R2</td>
<td>Windows</td>
<td>Windows Server 2012 R2</td>
</tr>
</tbody>
</table>
@@ -545,27 +545,27 @@
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Supported devkit targets</th>
<th>Supported devkit targets</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">x86_64-linux-gnu</td>
<td>x86_64-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">aarch64-linux-gnu</td>
<td>aarch64-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">arm-linux-gnueabihf</td>
<td>arm-linux-gnueabihf</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64-linux-gnu</td>
<td>ppc64-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">ppc64le-linux-gnu</td>
<td>ppc64le-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">s390x-linux-gnu</td>
<td>s390x-linux-gnu</td>
</tr>
</tbody>
</table>
@@ -679,103 +679,103 @@ ls build/linux-aarch64-server-release/</code></pre></li>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Target</th>
<th style="text-align: left;">Debian tree</th>
<th style="text-align: left;">Debian arch</th>
<th style="text-align: left;"><code>--openjdk-target=...</code></th>
<th>Target</th>
<th>Debian tree</th>
<th>Debian arch</th>
<th><code>--openjdk-target=...</code></th>
<th><code>--with-jvm-variants=...</code></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">x86</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">i386</td>
<td style="text-align: left;">i386-linux-gnu</td>
<td>x86</td>
<td>buster</td>
<td>i386</td>
<td>i386-linux-gnu</td>
<td>(all)</td>
</tr>
<tr class="even">
<td style="text-align: left;">arm</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">armhf</td>
<td style="text-align: left;">arm-linux-gnueabihf</td>
<td>arm</td>
<td>buster</td>
<td>armhf</td>
<td>arm-linux-gnueabihf</td>
<td>(all)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">aarch64</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">arm64</td>
<td style="text-align: left;">aarch64-linux-gnu</td>
<td>aarch64</td>
<td>buster</td>
<td>arm64</td>
<td>aarch64-linux-gnu</td>
<td>(all)</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64le</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">ppc64el</td>
<td style="text-align: left;">powerpc64le-linux-gnu</td>
<td>ppc64le</td>
<td>buster</td>
<td>ppc64el</td>
<td>powerpc64le-linux-gnu</td>
<td>(all)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">s390x-linux-gnu</td>
<td>s390x</td>
<td>buster</td>
<td>s390x</td>
<td>s390x-linux-gnu</td>
<td>(all)</td>
</tr>
<tr class="even">
<td style="text-align: left;">mipsle</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">mipsel</td>
<td style="text-align: left;">mipsel-linux-gnu</td>
<td>mipsle</td>
<td>buster</td>
<td>mipsel</td>
<td>mipsel-linux-gnu</td>
<td>zero</td>
</tr>
<tr class="odd">
<td style="text-align: left;">mips64le</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">mips64el</td>
<td style="text-align: left;">mips64el-linux-gnueabi64</td>
<td>mips64le</td>
<td>buster</td>
<td>mips64el</td>
<td>mips64el-linux-gnueabi64</td>
<td>zero</td>
</tr>
<tr class="even">
<td style="text-align: left;">armel</td>
<td style="text-align: left;">buster</td>
<td style="text-align: left;">arm</td>
<td style="text-align: left;">arm-linux-gnueabi</td>
<td>armel</td>
<td>buster</td>
<td>arm</td>
<td>arm-linux-gnueabi</td>
<td>zero</td>
</tr>
<tr class="odd">
<td style="text-align: left;">ppc</td>
<td style="text-align: left;">sid</td>
<td style="text-align: left;">powerpc</td>
<td style="text-align: left;">powerpc-linux-gnu</td>
<td>ppc</td>
<td>sid</td>
<td>powerpc</td>
<td>powerpc-linux-gnu</td>
<td>zero</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64be</td>
<td style="text-align: left;">sid</td>
<td style="text-align: left;">ppc64</td>
<td style="text-align: left;">powerpc64-linux-gnu</td>
<td>ppc64be</td>
<td>sid</td>
<td>ppc64</td>
<td>powerpc64-linux-gnu</td>
<td>(all)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">m68k</td>
<td style="text-align: left;">sid</td>
<td style="text-align: left;">m68k</td>
<td style="text-align: left;">m68k-linux-gnu</td>
<td>m68k</td>
<td>sid</td>
<td>m68k</td>
<td>m68k-linux-gnu</td>
<td>zero</td>
</tr>
<tr class="even">
<td style="text-align: left;">alpha</td>
<td style="text-align: left;">sid</td>
<td style="text-align: left;">alpha</td>
<td style="text-align: left;">alpha-linux-gnu</td>
<td>alpha</td>
<td>sid</td>
<td>alpha</td>
<td>alpha-linux-gnu</td>
<td>zero</td>
</tr>
<tr class="odd">
<td style="text-align: left;">sh4</td>
<td style="text-align: left;">sid</td>
<td style="text-align: left;">sh4</td>
<td style="text-align: left;">sh4-linux-gnu</td>
<td>sh4</td>
<td>sid</td>
<td>sh4</td>
<td>sh4-linux-gnu</td>
<td>zero</td>
</tr>
</tbody>

View File

@@ -154,11 +154,11 @@ This table lists the OS versions used by Oracle when building the JDK. Such
information is always subject to change, but this table is up to date at the
time of writing.
Operating system Vendor/version used
----------------- -------------------------------------------------------
Linux Oracle Enterprise Linux 6.4 / 7.6
macOS Mac OS X 10.13 (High Sierra)
Windows Windows Server 2012 R2
| Operating system | Vendor/version used |
| ----------------- | ---------------------------------- |
| Linux | Oracle Enterprise Linux 6.4 / 7.6 |
| macOS | Mac OS X 10.13 (High Sierra) |
| Windows | Windows Server 2012 R2 |
The double version numbers for Linux are due to the hybrid model
used at Oracle, where header files and external libraries from an older version
@@ -957,14 +957,14 @@ https://sourceware.org/autobook/autobook/autobook_17.html). If no
targets are given, a native toolchain for the current platform will be
created. Currently, at least the following targets are known to work:
Supported devkit targets
-------------------------
x86_64-linux-gnu
aarch64-linux-gnu
arm-linux-gnueabihf
ppc64-linux-gnu
ppc64le-linux-gnu
s390x-linux-gnu
| Supported devkit targets |
| ------------------------ |
| x86_64-linux-gnu |
| aarch64-linux-gnu |
| arm-linux-gnueabihf |
| ppc64-linux-gnu |
| ppc64le-linux-gnu |
| s390x-linux-gnu |
`BASE_OS` must be one of "OEL6" for Oracle Enterprise Linux 6 or
"Fedora" (if not specified "OEL6" will be the default). If the base OS
@@ -1184,21 +1184,21 @@ it might require a little nudge with:
Architectures that are known to successfully cross-compile like this are:
Target Debian tree Debian arch `--openjdk-target=...` `--with-jvm-variants=...`
------------ ------------ ------------- ------------------------ --------------
x86 buster i386 i386-linux-gnu (all)
arm buster armhf arm-linux-gnueabihf (all)
aarch64 buster arm64 aarch64-linux-gnu (all)
ppc64le buster ppc64el powerpc64le-linux-gnu (all)
s390x buster s390x s390x-linux-gnu (all)
mipsle buster mipsel mipsel-linux-gnu zero
mips64le buster mips64el mips64el-linux-gnueabi64 zero
armel buster arm arm-linux-gnueabi zero
ppc sid powerpc powerpc-linux-gnu zero
ppc64be sid ppc64 powerpc64-linux-gnu (all)
m68k sid m68k m68k-linux-gnu zero
alpha sid alpha alpha-linux-gnu zero
sh4 sid sh4 sh4-linux-gnu zero
| Target | Debian tree | Debian arch | `--openjdk-target=...` | `--with-jvm-variants=...` |
| ------------ | ------------ | ------------- | ------------------------ | ------------------------- |
| x86 | buster | i386 | i386-linux-gnu | (all) |
| arm | buster | armhf | arm-linux-gnueabihf | (all) |
| aarch64 | buster | arm64 | aarch64-linux-gnu | (all) |
| ppc64le | buster | ppc64el | powerpc64le-linux-gnu | (all) |
| s390x | buster | s390x | s390x-linux-gnu | (all) |
| mipsle | buster | mipsel | mipsel-linux-gnu | zero |
| mips64le | buster | mips64el | mips64el-linux-gnueabi64 | zero |
| armel | buster | arm | arm-linux-gnueabi | zero |
| ppc | sid | powerpc | powerpc-linux-gnu | zero |
| ppc64be | sid | ppc64 | powerpc64-linux-gnu | (all) |
| m68k | sid | m68k | m68k-linux-gnu | zero |
| alpha | sid | alpha | alpha-linux-gnu | zero |
| sh4 | sid | sh4 | sh4-linux-gnu | zero |
### Building for ARM/aarch64

View File

@@ -88,6 +88,7 @@ $ make exploded-test TEST=tier2</code></pre>
<p>Individual JTReg tests or directories containing JTReg tests can also be specified, like <code>test/hotspot/jtreg/native_sanity/JniVersion.java</code> or <code>hotspot/jtreg/native_sanity</code>. Just like for test root selection, you can either specify an absolute path (which can even point to JTReg tests outside the source tree), or a path relative to either the JDK top directory or the <code>test</code> directory. <code>hotspot</code> can be used as an alias for <code>hotspot/jtreg</code> here as well.</p>
<p>As long as the test groups or test paths can be uniquely resolved, you do not need to enter the <code>jtreg:</code> prefix. If this is not possible, or if you want to use a fully qualified test descriptor, add <code>jtreg:</code>, e.g. <code>jtreg:test/hotspot/jtreg/native_sanity</code>.</p>
<h3 id="gtest">Gtest</h3>
<p><strong>Note:</strong> 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 <a href="building.html#running-tests">&quot;Running Tests&quot; in the build documentation</a>.</p>
<p>Since the Hotspot Gtest suite is so quick, the default is to run all tests. This is specified by just <code>gtest</code>, or as a fully qualified test descriptor <code>gtest:all</code>.</p>
<p>If you want, you can single out an individual test or a group of tests, for instance <code>gtest:LogDecorations</code> or <code>gtest:LogDecorations.level_test_vm</code>. This can be particularly useful if you want to run a shaky test repeatedly.</p>
<p>For Gtest, there is a separate test suite for each JVM variant. The JVM variant is defined by adding <code>/&lt;variant&gt;</code> to the test descriptor, e.g. <code>gtest:Log/client</code>. If you specify no variant, gtest will run once for each JVM variant present (e.g. server, client). So if you only have the server JVM present, then <code>gtest:all</code> will be equivalent to <code>gtest:all/server</code>.</p>

View File

@@ -142,6 +142,11 @@ 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
section ["Running Tests" in the build
documentation](building.html#running-tests).
Since the Hotspot Gtest suite is so quick, the default is to run all tests.
This is specified by just `gtest`, or as a fully qualified test descriptor
`gtest:all`.

230
jb/jdkdiff.py Executable file
View File

@@ -0,0 +1,230 @@
#!/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

@@ -17,9 +17,11 @@ function getVersionProp() {
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
}
while getopts ":i?" o; do
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))

View File

@@ -35,6 +35,7 @@ function do_configure {
--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 \
@@ -78,11 +79,14 @@ function create_image_bundle {
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
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump -XX:-UseCompressedOops
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 ...

View File

@@ -35,6 +35,7 @@ function do_configure {
--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 \
@@ -78,11 +79,14 @@ function create_image_bundle {
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
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump -XX:-UseCompressedOops
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 ...

View File

@@ -25,6 +25,7 @@ function do_configure {
--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 $?
@@ -66,6 +67,7 @@ function create_image_bundle {
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
"$IMAGES_DIR"/"$__root_dir"/bin/java -Xshare:dump
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi

View File

@@ -29,44 +29,28 @@ BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 16)}
function do_configure {
if [[ "${architecture}" == *aarch64* ]]; then
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" \
--with-macosx-version-max="${MACOSX_VERSION_MAX:="11.00.00"}" \
--disable-hotspot-gtest --disable-javac-server --disable-full-docs --disable-manpages \
--enable-cds=no \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
MACOSX_VERSION_MAX="11.00.00"
else
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" \
--with-macosx-version-max="${MACOSX_VERSION_MAX:="10.12.00"}" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
MACOSX_VERSION_MAX="10.12.00"
fi
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" \
--with-macosx-version-max="${MACOSX_VERSION_MAX}" \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
function create_image_bundle {
@@ -98,6 +82,8 @@ function create_image_bundle {
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
"$JRE_CONTENTS"/Home/bin/java -Xshare:dump
"$JRE_CONTENTS"/Home/bin/java -Xshare:dump -XX:-UseCompressedOops
zip_native_debug_symbols $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk "${JBR}_diz"
fi

View File

@@ -49,6 +49,7 @@ function do_configure {
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?

View File

@@ -40,6 +40,7 @@ function do_configure {
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
@@ -61,8 +62,8 @@ function create_image_bundle {
--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
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
@@ -70,6 +71,8 @@ function create_image_bundle {
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
"$__root_dir"/bin/java -Xshare:dump
"$__root_dir"/bin/java -Xshare:dump -XX:-UseCompressedOops
fi
}

View File

@@ -36,6 +36,7 @@ function do_configure {
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$DISABLE_WARNINGS_AS_ERRORS \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
@@ -66,6 +67,7 @@ function create_image_bundle {
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
"$__root_dir"/bin/java -Xshare:dump
fi
}

View File

@@ -523,7 +523,7 @@ define SetupRunGtestTestBody
$$(subst $$(TOPDIR)/, , $$($1_TEST_RESULTS_DIR))))
$$(if $$(wildcard $$($1_RESULT_FILE)), \
$$(eval $1_TOTAL := $$(shell $$(AWK) '/==========.* tests? from .* \
test cases? ran/ { print $$$$2 }' $$($1_RESULT_FILE))) \
test (cases?|suites?) ran/ { print $$$$2 }' $$($1_RESULT_FILE))) \
$$(if $$($1_TOTAL), , $$(eval $1_TOTAL := 0)) \
$$(eval $1_PASSED := $$(shell $$(AWK) '/\[ PASSED \] .* tests?./ \
{ print $$$$4 }' $$($1_RESULT_FILE))) \
@@ -785,8 +785,10 @@ define SetupRunJtregTestBody
$1_JTREG_BASIC_OPTIONS += -e:JDK8_HOME=$$(BOOT_JDK)
# If running on Windows, propagate the _NT_SYMBOL_PATH to enable
# symbol lookup in hserr files
# The minidumps are disabled by default on client Windows, so enable them
ifeq ($$(call isTargetOs, windows), true)
$1_JTREG_BASIC_OPTIONS += -e:_NT_SYMBOL_PATH
$1_JTREG_BASIC_OPTIONS += -vmoption:-XX:+CreateCoredumpOnCrash
endif
$1_JTREG_BASIC_OPTIONS += \
@@ -850,11 +852,12 @@ define SetupRunJtregTestBody
endif
endif
clean-workdir-$1:
clean-outputdirs-$1:
$$(RM) -r $$($1_TEST_SUPPORT_DIR)
$$(RM) -r $$($1_TEST_RESULTS_DIR)
$1_COMMAND_LINE := \
$$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
$$(JTREG_JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \
$$($1_JTREG_BASIC_OPTIONS) \
-testjdk:$$(JDK_UNDER_TEST) \
@@ -896,7 +899,7 @@ define SetupRunJtregTestBody
done
endif
run-test-$1: pre-run-test clean-workdir-$1
run-test-$1: pre-run-test clean-outputdirs-$1
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \
@@ -933,9 +936,9 @@ define SetupRunJtregTestBody
$$(eval $1_TOTAL := 1) \
)
$1: run-test-$1 parse-test-$1 clean-workdir-$1
$1: run-test-$1 parse-test-$1 clean-outputdirs-$1
TARGETS += $1 run-test-$1 parse-test-$1 clean-workdir-$1
TARGETS += $1 run-test-$1 parse-test-$1 clean-outputdirs-$1
TEST_TARGETS += parse-test-$1
endef

View File

@@ -122,6 +122,7 @@ $(eval $(call SetupVariable,JT_HOME))
$(eval $(call SetupVariable,JDK_IMAGE_DIR,$(OUTPUTDIR)/images/jdk))
$(eval $(call SetupVariable,TEST_IMAGE_DIR,$(OUTPUTDIR)/images/test))
$(eval $(call SetupVariable,SYMBOLS_IMAGE_DIR,$(OUTPUTDIR)/images/symbols,NO_CHECK))
$(eval $(call SetupVariable,JTREG_JDK,$(BOOT_JDK)))
# Provide default values for tools that we need
$(eval $(call SetupVariable,MAKE,make,NO_CHECK))
@@ -157,6 +158,10 @@ ifeq ($(UNAME_OS), CYGWIN)
OPENJDK_TARGET_OS := windows
OPENJDK_TARGET_OS_TYPE := windows
OPENJDK_TARGET_OS_ENV := windows.cygwin
else ifeq ($(UNAME_OS), MINGW64)
OPENJDK_TARGET_OS := windows
OPENJDK_TARGET_OS_TYPE := windows
OPENJDK_TARGET_OS_ENV := windows.msys2
else
OPENJDK_TARGET_OS_TYPE:=unix
ifeq ($(UNAME_OS), Linux)
@@ -169,6 +174,9 @@ else
OPENJDK_TARGET_OS_ENV := $(OPENJDK_TARGET_OS)
endif
# Sanity check env detection
$(info Detected target OS, type and env: [$(OPENJDK_TARGET_OS)] [$(OPENJDK_TARGET_OS_TYPE)] [$(OPENJDK_TARGET_OS_ENV)])
# Assume little endian unless otherwise specified
OPENJDK_TARGET_CPU_ENDIAN := little
@@ -248,6 +256,7 @@ $(call CreateNewSpec, $(NEW_SPEC), \
TOPDIR := $(TOPDIR), \
OUTPUTDIR := $(OUTPUTDIR), \
BOOT_JDK := $(BOOT_JDK), \
JTREG_JDK := $(JTREG_JDK), \
JT_HOME := $(JT_HOME), \
JDK_IMAGE_DIR := $(JDK_IMAGE_DIR), \
JCOV_IMAGE_DIR := $(JCOV_IMAGE_DIR), \

View File

@@ -124,6 +124,8 @@ JAR := $(FIXPATH) $(JAR_CMD)
JLINK := $(FIXPATH) $(JLINK_CMD)
JMOD := $(FIXPATH) $(JMOD_CMD)
JTREG_JAVA := $(FIXPATH) $(JTREG_JDK)/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
BUILD_JAVA := $(JDK_IMAGE_DIR)/bin/JAVA
################################################################################
# Some common tools. Assume most common name and no path.

View File

@@ -358,9 +358,9 @@ AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
# WARNING: This might be a bad thing to do. You need to be sure you want to
# have a configuration in this directory. Do some sanity checks!
if test ! -e "$OUTPUTDIR/spec.gmk"; then
# If we have a spec.gmk, we have run here before and we are OK. Otherwise, check for
# other files
if test ! -e "$OUTPUTDIR/spec.gmk" && test ! -e "$OUTPUTDIR/configure-support/generated-configure.sh"; then
# If we have a spec.gmk or configure-support/generated-configure.sh,
# we have run here before and we are OK. Otherwise, check for other files
files_present=`$LS $OUTPUTDIR`
# Configure has already touched config.log and confdefs.h in the current dir when this check
# is performed.
@@ -375,8 +375,9 @@ AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
AC_MSG_NOTICE([Current directory is $CONFIGURE_START_DIR.])
AC_MSG_NOTICE([Since this is not the source root, configure will output the configuration here])
AC_MSG_NOTICE([(as opposed to creating a configuration in <src_root>/build/<conf-name>).])
AC_MSG_NOTICE([However, this directory is not empty. This is not allowed, since it could])
AC_MSG_NOTICE([seriously mess up just about everything.])
AC_MSG_NOTICE([However, this directory is not empty, additionally to some allowed files])
AC_MSG_NOTICE([it contains $filtered_files.])
AC_MSG_NOTICE([This is not allowed, since it could seriously mess up just about everything.])
AC_MSG_NOTICE([Try 'cd $TOPDIR' and restart configure])
AC_MSG_NOTICE([(or create a new empty directory and cd to it).])
AC_MSG_ERROR([Will not continue creating configuration in $CONFIGURE_START_DIR])

View File

@@ -191,18 +191,15 @@ TOOLCHAIN_POST_DETECTION
TOOLCHAIN_SETUP_BUILD_COMPILERS
TOOLCHAIN_MISC_CHECKS
# Setup the JTReg Regression Test Harness.
TOOLCHAIN_SETUP_JTREG
# Setup the Java Microbenchmark Harness (JMH)
LIB_TESTS_SETUP_JMH
# Setup Jib dependency tool
TOOLCHAIN_SETUP_JIB
# After toolchain setup, we need to process some flags to be able to continue.
FLAGS_POST_TOOLCHAIN
# Setup the tools needed to test the JDK (JTReg Regression Test Harness,
# Java Microbenchmark Harness (JMH) and the Jib dependency tool).
LIB_TESTS_SETUP_JTREG
LIB_TESTS_SETUP_JMH
LIB_TESTS_SETUP_JIB
# Now we can test some aspects on the target using configure macros.
PLATFORM_SETUP_OPENJDK_TARGET_BITS
PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS
@@ -247,7 +244,8 @@ HOTSPOT_SETUP_MISC
#
###############################################################################
JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER
LIB_TESTS_ENABLE_DISABLE_FAILURE_HANDLER
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
JDKOPT_EXCLUDE_TRANSLATIONS
JDKOPT_ENABLE_DISABLE_MANPAGES

View File

@@ -171,6 +171,8 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
if test "x$TOOLCHAIN_VERSION" = x2017; then
# VS2017 incorrectly triggers this warning for constexpr
DISABLED_WARNINGS+=" 4307"
# VS2017 incorrectly triggers this warning for static cast (test_atomic.cpp)
DISABLED_WARNINGS+=" 4309"
fi
;;

View File

@@ -564,29 +564,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JLINK_OPTIONS],
AC_SUBST(JLINK_KEEP_PACKAGED_MODULES)
])
################################################################################
#
# Check if building of the jtreg failure handler should be enabled.
#
AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER],
[
UTIL_ARG_ENABLE(NAME: jtreg-failure-handler, DEFAULT: auto,
RESULT: BUILD_FAILURE_HANDLER,
DESC: [enable building of the jtreg failure handler],
DEFAULT_DESC: [enabled if jtreg is present],
CHECKING_MSG: [if the jtreg failure handler should be built],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if the jtreg failure handler is available])
if test "x$JT_HOME" != "x"; then
AC_MSG_RESULT([yes])
else
AVAILABLE=false
AC_MSG_RESULT([no (jtreg not present)])
fi
])
AC_SUBST(BUILD_FAILURE_HANDLER)
])
################################################################################
#
# Enable or disable generation of the classlist at build time
@@ -812,6 +789,9 @@ AC_DEFUN([JDKOPT_CHECK_CODESIGN_PARAMS],
$RM "$CODESIGN_TESTFILE"
$TOUCH "$CODESIGN_TESTFILE"
CODESIGN_SUCCESS=false
$ECHO "check codesign, calling $CODESIGN $PARAMS $CODESIGN_TESTFILE" >&AS_MESSAGE_LOG_FD
eval \"$CODESIGN\" $PARAMS \"$CODESIGN_TESTFILE\" 2>&AS_MESSAGE_LOG_FD \
>&AS_MESSAGE_LOG_FD && CODESIGN_SUCCESS=true
$RM "$CODESIGN_TESTFILE"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 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
@@ -23,6 +23,13 @@
# questions.
#
################################################################################
# Setup libraries and functionalities needed to test the JDK.
################################################################################
# Minimum supported version
JTREG_MINIMUM_VERSION=7.3.1
###############################################################################
#
# Setup and check for gtest framework source files
@@ -47,9 +54,25 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_GTEST],
AC_MSG_RESULT([no])
AC_MSG_ERROR([Can't find 'googlemock/include/gmock/gmock.h' under ${with_gtest} given with the --with-gtest option.])
else
GTEST_FRAMEWORK_SRC=${with_gtest}
GTEST_FRAMEWORK_SRC=$with_gtest
AC_MSG_RESULT([$GTEST_FRAMEWORK_SRC])
UTIL_FIXUP_PATH([GTEST_FRAMEWORK_SRC])
# Try to verify version. We require 1.8.1, but this can not be directly
# determined. :-( Instead, there are different, incorrect version
# numbers we can look for.
GTEST_VERSION_1="`$GREP GOOGLETEST_VERSION $GTEST_FRAMEWORK_SRC/CMakeLists.txt | $SED -E -e 's/set\(GOOGLETEST_VERSION (.*)\)/\1/'`"
if test "x$GTEST_VERSION_1" != "x1.9.0"; then
AC_MSG_ERROR([gtest at $GTEST_FRAMEWORK_SRC does not seem to be version 1.8.1])
fi
# We cannot grep for "AC_IN*T" as a literal since then m4 will treat it as a macro
# and expand it.
# Additional [] needed to keep m4 from mangling shell constructs.
[ GTEST_VERSION_2="`$GREP -A1 ^.C_INIT $GTEST_FRAMEWORK_SRC/configure.ac | $TAIL -n 1 | $SED -E -e 's/ +\[(.*)],/\1/'`" ]
if test "x$GTEST_VERSION_2" != "x1.8.0"; then
AC_MSG_ERROR([gtest at $GTEST_FRAMEWORK_SRC does not seem to be version 1.8.1 B])
fi
fi
fi
fi
@@ -118,3 +141,198 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_JMH],
AC_SUBST(JMH_COMMONS_MATH_JAR)
AC_SUBST(JMH_VERSION)
])
# Setup the JTReg Regression Test Harness.
AC_DEFUN_ONCE([LIB_TESTS_SETUP_JTREG],
[
AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
[Regression Test Harness @<:@probed@:>@])])
if test "x$with_jtreg" = xno; then
# jtreg disabled
AC_MSG_CHECKING([for jtreg test harness])
AC_MSG_RESULT([no, disabled])
elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then
if test -d "$with_jtreg"; then
# An explicit path is specified, use it.
JT_HOME="$with_jtreg"
else
case "$with_jtreg" in
*.zip )
JTREG_SUPPORT_DIR=$CONFIGURESUPPORT_OUTPUTDIR/jtreg
$RM -rf $JTREG_SUPPORT_DIR
$MKDIR -p $JTREG_SUPPORT_DIR
$UNZIP -qq -d $JTREG_SUPPORT_DIR $with_jtreg
# Try to find jtreg to determine JT_HOME path
JTREG_PATH=`$FIND $JTREG_SUPPORT_DIR | $GREP "/bin/jtreg"`
if test "x$JTREG_PATH" != x; then
JT_HOME=$($DIRNAME $($DIRNAME $JTREG_PATH))
fi
;;
* )
;;
esac
fi
UTIL_FIXUP_PATH([JT_HOME])
if test ! -d "$JT_HOME"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
fi
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home])
fi
AC_MSG_CHECKING([for jtreg test harness])
AC_MSG_RESULT([$JT_HOME])
else
# Try to locate jtreg using the JT_HOME environment variable
if test "x$JT_HOME" != x; then
# JT_HOME set in environment, use it
if test ! -d "$JT_HOME"; then
AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME])
JT_HOME=
else
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME])
JT_HOME=
else
AC_MSG_NOTICE([Located jtreg using JT_HOME from environment])
fi
fi
fi
if test "x$JT_HOME" = x; then
# JT_HOME is not set in environment, or was deemed invalid.
# Try to find jtreg on path
UTIL_LOOKUP_PROGS(JTREGEXE, jtreg)
if test "x$JTREGEXE" != x; then
# That's good, now try to derive JT_HOME
JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)`
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_WARN([Ignoring jtreg from path since a valid jtreg home cannot be found])
JT_HOME=
else
AC_MSG_NOTICE([Located jtreg using jtreg executable in path])
fi
fi
fi
AC_MSG_CHECKING([for jtreg test harness])
if test "x$JT_HOME" != x; then
AC_MSG_RESULT([$JT_HOME])
else
AC_MSG_RESULT([no, not found])
if test "x$with_jtreg" = xyes; then
AC_MSG_ERROR([--with-jtreg was specified, but no jtreg found.])
fi
fi
fi
UTIL_FIXUP_PATH(JT_HOME)
AC_SUBST(JT_HOME)
# Specify a JDK for running jtreg. Defaults to the BOOT_JDK.
AC_ARG_WITH(jtreg-jdk, [AS_HELP_STRING([--with-jdk],
[path to JDK for running jtreg @<:@BOOT_JDK@:>@])])
AC_MSG_CHECKING([for jtreg jdk])
if test "x${with_jtreg_jdk}" != x; then
if test "x${with_jtreg_jdk}" = xno; then
AC_MSG_RESULT([no, jtreg jdk not specified])
elif test "x${with_jtreg_jdk}" = xyes; then
AC_MSG_RESULT([not specified])
AC_MSG_ERROR([--with-jtreg-jdk needs a value])
else
JTREG_JDK="${with_jtreg_jdk}"
AC_MSG_RESULT([$JTREG_JDK])
UTIL_FIXUP_PATH(JTREG_JDK)
if test ! -f "$JTREG_JDK/bin/java"; then
AC_MSG_ERROR([Could not find jtreg java at $JTREG_JDK/bin/java])
fi
fi
else
JTREG_JDK="${BOOT_JDK}"
AC_MSG_RESULT([no, using BOOT_JDK])
fi
UTIL_FIXUP_PATH(JTREG_JDK)
AC_SUBST([JTREG_JDK])
# For use in the configure script
JTREG_JAVA="$FIXPATH $JTREG_JDK/bin/java"
# Verify jtreg version
if test "x$JT_HOME" != x; then
AC_MSG_CHECKING([jtreg jar existence])
if test ! -f "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_ERROR([Could not find jtreg jar at $JT_HOME/lib/jtreg.jar])
fi
AC_MSG_CHECKING([jtreg version number])
# jtreg -version looks like this: "jtreg 6.1+1-19"
# Extract actual version part ("6.1" in this case)
jtreg_version_full=$($JTREG_JAVA -jar $JT_HOME/lib/jtreg.jar -version | $HEAD -n 1 | $CUT -d ' ' -f 2)
jtreg_version=${jtreg_version_full/%+*}
AC_MSG_RESULT([$jtreg_version])
# This is a simplified version of TOOLCHAIN_CHECK_COMPILER_VERSION
comparable_actual_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$jtreg_version"`
comparable_minimum_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$JTREG_MINIMUM_VERSION"`
if test $comparable_actual_version -lt $comparable_minimum_version ; then
AC_MSG_ERROR([jtreg version is too old, at least version $JTREG_MINIMUM_VERSION is required])
fi
fi
])
# Setup the JIB dependency resolver
AC_DEFUN_ONCE([LIB_TESTS_SETUP_JIB],
[
AC_ARG_WITH(jib, [AS_HELP_STRING([--with-jib],
[Jib dependency management tool @<:@not used@:>@])])
if test "x$with_jib" = xno || test "x$with_jib" = x; then
# jib disabled
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(no)
elif test "x$with_jib" = xyes; then
AC_MSG_ERROR([Must supply a value to --with-jib])
else
JIB_HOME="${with_jib}"
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(${JIB_HOME})
if test ! -d "${JIB_HOME}"; then
AC_MSG_ERROR([--with-jib must be a directory])
fi
JIB_JAR=$(ls ${JIB_HOME}/lib/jib-*.jar)
if test ! -f "${JIB_JAR}"; then
AC_MSG_ERROR([Could not find jib jar file in ${JIB_HOME}])
fi
fi
AC_SUBST(JIB_HOME)
])
################################################################################
#
# Check if building of the jtreg failure handler should be enabled.
#
AC_DEFUN_ONCE([LIB_TESTS_ENABLE_DISABLE_FAILURE_HANDLER],
[
UTIL_ARG_ENABLE(NAME: jtreg-failure-handler, DEFAULT: auto,
RESULT: BUILD_FAILURE_HANDLER,
DESC: [enable building of the jtreg failure handler],
DEFAULT_DESC: [enabled if jtreg is present],
CHECKING_MSG: [if the jtreg failure handler should be built],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if the jtreg failure handler is available])
if test "x$JT_HOME" != "x"; then
AC_MSG_RESULT([yes])
else
AVAILABLE=false
AC_MSG_RESULT([no (jtreg not present)])
fi
])
AC_SUBST(BUILD_FAILURE_HANDLER)
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, 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
@@ -35,6 +35,7 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
X_CFLAGS=
X_LIBS=
else
x_libraries_orig="$x_libraries"
if test "x${with_x}" = xno; then
AC_MSG_ERROR([It is not possible to disable the use of X11. Remove the --without-x option.])
@@ -48,6 +49,7 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
fi
if test "x$x_libraries" = xNONE; then
x_libraries="${with_x}/lib"
x_libraries_orig="$x_libraries"
fi
else
# Check if the user has specified sysroot, but not --with-x, --x-includes or --x-libraries.
@@ -82,8 +84,8 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
AC_PATH_XTRA
# AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling
# this doesn't make sense so we remove it.
if test "x$COMPILE_TYPE" = xcross; then
# this doesn't make sense so we remove it; same for sysroot (devkit).
if test "x$COMPILE_TYPE" = xcross || (test "x$SYSROOT" != "x" && test "x$x_libraries_orig" = xNONE); then
X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[[^ ]]*//g'`
fi

View File

@@ -160,12 +160,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
fi
fi
# Because RISC-V only has word-sized atomics, it requries libatomic where
# other common architectures do not. So link libatomic by default.
if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xriscv64; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic"
fi
# perfstat lib
if test "x$OPENJDK_TARGET_OS" = xaix; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat"

View File

@@ -573,6 +573,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
HOTSPOT_$1_CPU_DEFINE=S390
elif test "x$OPENJDK_$1_CPU" = xs390x; then
HOTSPOT_$1_CPU_DEFINE=S390
elif test "x$OPENJDK_$1_CPU" = xloongarch64; then
HOTSPOT_$1_CPU_DEFINE=LOONGARCH64
elif test "x$OPENJDK_$1_CPU" != x; then
HOTSPOT_$1_CPU_DEFINE=$(echo $OPENJDK_$1_CPU | tr a-z A-Z)
fi

View File

@@ -676,6 +676,9 @@ JAR = $(JAR_CMD)
JLINK = $(JLINK_CMD)
JMOD = $(JMOD_CMD) $(JAVA_TOOL_FLAGS_SMALL)
JTREG_JDK := @JTREG_JDK@
JTREG_JAVA = @FIXPATH@ $(JTREG_JDK)/bin/java $(JAVA_FLAGS_BIG) $(JAVA_FLAGS)
BUILD_JAVA_FLAGS := @BOOTCYCLE_JVM_ARGS_BIG@
BUILD_JAVA=@FIXPATH@ $(BUILD_JDK)/bin/java $(BUILD_JAVA_FLAGS)
BUILD_JAVAC=@FIXPATH@ $(BUILD_JDK)/bin/javac

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -58,9 +58,6 @@ TOOLCHAIN_MINIMUM_VERSION_xlc=""
# Minimum supported linker versions, empty means unspecified
TOOLCHAIN_MINIMUM_LD_VERSION_gcc="2.18"
# Minimum supported version
JTREG_MINIMUM_VERSION=6.1
# Prepare the system so that TOOLCHAIN_CHECK_COMPILER_VERSION can be called.
# Must have CC_VERSION_NUMBER and CXX_VERSION_NUMBER.
# $1 - optional variable prefix for compiler and version variables (BUILD_)
@@ -372,6 +369,10 @@ AC_DEFUN_ONCE([TOOLCHAIN_POST_DETECTION],
# This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
CFLAGS="$ORG_CFLAGS"
CXXFLAGS="$ORG_CXXFLAGS"
# filter out some unwanted additions autoconf may add to CXX; we saw this on macOS with autoconf 2.72
UTIL_GET_NON_MATCHING_VALUES(cxx_filtered, $CXX, -std=c++11 -std=gnu++11)
CXX="$cxx_filtered"
])
# Check if a compiler is of the toolchain type we expect, and save the version
@@ -994,140 +995,3 @@ AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
fi
AC_SUBST(HOTSPOT_TOOLCHAIN_TYPE)
])
# Setup the JTReg Regression Test Harness.
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
[
AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
[Regression Test Harness @<:@probed@:>@])])
if test "x$with_jtreg" = xno; then
# jtreg disabled
AC_MSG_CHECKING([for jtreg test harness])
AC_MSG_RESULT([no, disabled])
elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then
if test -d "$with_jtreg"; then
# An explicit path is specified, use it.
JT_HOME="$with_jtreg"
else
case "$with_jtreg" in
*.zip )
JTREG_SUPPORT_DIR=$CONFIGURESUPPORT_OUTPUTDIR/jtreg
$RM -rf $JTREG_SUPPORT_DIR
$MKDIR -p $JTREG_SUPPORT_DIR
$UNZIP -qq -d $JTREG_SUPPORT_DIR $with_jtreg
# Try to find jtreg to determine JT_HOME path
JTREG_PATH=`$FIND $JTREG_SUPPORT_DIR | $GREP "/bin/jtreg"`
if test "x$JTREG_PATH" != x; then
JT_HOME=$($DIRNAME $($DIRNAME $JTREG_PATH))
fi
;;
* )
;;
esac
fi
UTIL_FIXUP_PATH([JT_HOME])
if test ! -d "$JT_HOME"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
fi
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home])
fi
AC_MSG_CHECKING([for jtreg test harness])
AC_MSG_RESULT([$JT_HOME])
else
# Try to locate jtreg using the JT_HOME environment variable
if test "x$JT_HOME" != x; then
# JT_HOME set in environment, use it
if test ! -d "$JT_HOME"; then
AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME])
JT_HOME=
else
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME])
JT_HOME=
else
AC_MSG_NOTICE([Located jtreg using JT_HOME from environment])
fi
fi
fi
if test "x$JT_HOME" = x; then
# JT_HOME is not set in environment, or was deemed invalid.
# Try to find jtreg on path
UTIL_LOOKUP_PROGS(JTREGEXE, jtreg)
if test "x$JTREGEXE" != x; then
# That's good, now try to derive JT_HOME
JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)`
if test ! -e "$JT_HOME/lib/jtreg.jar"; then
AC_MSG_WARN([Ignoring jtreg from path since a valid jtreg home cannot be found])
JT_HOME=
else
AC_MSG_NOTICE([Located jtreg using jtreg executable in path])
fi
fi
fi
AC_MSG_CHECKING([for jtreg test harness])
if test "x$JT_HOME" != x; then
AC_MSG_RESULT([$JT_HOME])
else
AC_MSG_RESULT([no, not found])
if test "x$with_jtreg" = xyes; then
AC_MSG_ERROR([--with-jtreg was specified, but no jtreg found.])
fi
fi
fi
UTIL_FIXUP_PATH(JT_HOME)
AC_SUBST(JT_HOME)
# Verify jtreg version
if test "x$JT_HOME" != x; then
AC_MSG_CHECKING([jtreg version number])
# jtreg -version looks like this: "jtreg 6.1+1-19"
# Extract actual version part ("6.1" in this case)
jtreg_version_full=`$JAVA -jar $JT_HOME/lib/jtreg.jar -version | $HEAD -n 1 | $CUT -d ' ' -f 2`
jtreg_version=${jtreg_version_full/%+*}
AC_MSG_RESULT([$jtreg_version])
# This is a simplified version of TOOLCHAIN_CHECK_COMPILER_VERSION
comparable_actual_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$jtreg_version"`
comparable_minimum_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$JTREG_MINIMUM_VERSION"`
if test $comparable_actual_version -lt $comparable_minimum_version ; then
AC_MSG_ERROR([jtreg version is too old, at least version $JTREG_MINIMUM_VERSION is required])
fi
fi
])
# Setup the JIB dependency resolver
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JIB],
[
AC_ARG_WITH(jib, [AS_HELP_STRING([--with-jib],
[Jib dependency management tool @<:@not used@:>@])])
if test "x$with_jib" = xno || test "x$with_jib" = x; then
# jib disabled
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(no)
elif test "x$with_jib" = xyes; then
AC_MSG_ERROR([Must supply a value to --with-jib])
else
JIB_HOME="${with_jib}"
AC_MSG_CHECKING([for jib])
AC_MSG_RESULT(${JIB_HOME})
if test ! -d "${JIB_HOME}"; then
AC_MSG_ERROR([--with-jib must be a directory])
fi
JIB_JAR=$(ls ${JIB_HOME}/lib/jib-*.jar)
if test ! -f "${JIB_JAR}"; then
AC_MSG_ERROR([Could not find jib jar file in ${JIB_HOME}])
fi
fi
AC_SUBST(JIB_HOME)
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -199,7 +199,7 @@ AC_DEFUN([UTIL_GET_NON_MATCHING_VALUES],
if test -z "$legal_values"; then
$1="$2"
else
result=`$GREP -Fvx "$legal_values" <<< "$values_to_check" | $GREP -v '^$'`
result=`$GREP -Fvx -- "$legal_values" <<< "$values_to_check" | $GREP -v '^$'`
$1=${result//$'\n'/ }
fi
])
@@ -226,7 +226,7 @@ AC_DEFUN([UTIL_GET_MATCHING_VALUES],
if test -z "$illegal_values"; then
$1=""
else
result=`$GREP -Fx "$illegal_values" <<< "$values_to_check" | $GREP -v '^$'`
result=`$GREP -Fx -- "$illegal_values" <<< "$values_to_check" | $GREP -v '^$'`
$1=${result//$'\n'/ }
fi
])

View File

@@ -26,7 +26,7 @@
# Versions and download locations for dependencies used by GitHub Actions (GHA)
GTEST_VERSION=1.8.1
JTREG_VERSION=6.1+3
JTREG_VERSION=7.3.1+1
LINUX_X64_BOOT_JDK_EXT=tar.gz
LINUX_X64_BOOT_JDK_URL=https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.6%2B10/OpenJDK17U-jdk_x64_linux_hotspot_17.0.6_10.tar.gz

View File

@@ -917,10 +917,7 @@ var getJibProfilesProfiles = function (input, common, data) {
target_os: input.build_os,
target_cpu: input.build_cpu,
dependencies: [ "jtreg", "gnumake", "boot_jdk", "devkit", "jib" ],
labels: "test",
environment: {
"JT_JAVA": common.boot_jdk_home
}
labels: "test"
}
};
profiles = concatObjects(profiles, testOnlyProfiles);
@@ -1156,9 +1153,9 @@ var getJibProfilesDependencies = function (input, common) {
jtreg: {
server: "jpg",
product: "jtreg",
version: "6",
version: "7.3.1",
build_number: "1",
file: "bundles/jtreg-6+1.zip",
file: "bundles/jtreg-7.3.1+1.zip",
environment_name: "JT_HOME",
environment_path: input.get("jtreg", "home_path") + "/bin",
configure_args: "--with-jtreg=" + input.get("jtreg", "home_path"),

View File

@@ -28,12 +28,12 @@
DEFAULT_VERSION_FEATURE=17
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=9
DEFAULT_VERSION_UPDATE=11
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2023-10-17
DEFAULT_VERSION_DATE=2024-04-16
DEFAULT_VERSION_CLASSFILE_MAJOR=61 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_VERSION_DOCS_API_SINCE=11

View File

@@ -0,0 +1,20 @@
Owner: CN=Certainly Root E1, O=Certainly, C=US
Issuer: CN=Certainly Root E1, O=Certainly, C=US
Serial number: 62533b1470333275cf98d9ab9bfccf8
Valid from: Thu Apr 01 00:00:00 GMT 2021 until: Sun Apr 01 00:00:00 GMT 2046
Signature algorithm name: SHA384withECDSA
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
Version: 3
-----BEGIN CERTIFICATE-----
MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQsw
CQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlu
bHkgUm9vdCBFMTAeFw0yMTA0MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJ
BgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlubHkxGjAYBgNVBAMTEUNlcnRhaW5s
eSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4fxzf7flHh4axpMCK
+IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9YBk2
QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8E
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4
hevIIgcwCgYIKoZIzj0EAwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozm
ut6Dacpps6kFtZaSF4fC0urQe87YQVt8rgIwRt7qy12a7DLCZRawTDBcMPPaTnOG
BtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR
-----END CERTIFICATE-----

View File

@@ -0,0 +1,38 @@
Owner: CN=Certainly Root R1, O=Certainly, C=US
Issuer: CN=Certainly Root R1, O=Certainly, C=US
Serial number: 8e0ff94b907168653354f4d44439b7e0
Valid from: Thu Apr 01 00:00:00 GMT 2021 until: Sun Apr 01 00:00:00 GMT 2046
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAw
PTELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2Vy
dGFpbmx5IFJvb3QgUjEwHhcNMjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9
MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0
YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANA2
1B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O5MQT
vqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbed
aFySpvXl8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b0
1C7jcvk2xusVtyWMOvwlDbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5
r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGIXsXwClTNSaa/ApzSRKft43jvRl5tcdF5
cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkNKPl6I7ENPT2a/Z2B7yyQ
wHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQAjeZjOVJ
6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA
2CnbrlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyH
Wyf5QBGenDPBt+U1VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMR
eiFPCyEQtkA6qyI6BJyLm4SGcprSp6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB
/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTgqj8ljZ9EXME66C6u
d0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAszHQNTVfSVcOQr
PbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d
8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi
1wrykXprOQ4vMMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrd
rRT90+7iIgXr0PK3aBLXWopBGsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9di
taY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+gjwN/KUD+nsa2UUeYNrEjvn8K8l7
lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgHJBu6haEaBQmAupVj
yTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7fpYn
Kx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLy
yCwzk5Iwx06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5n
wXARPbv0+Em34yaXOp/SX3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6
OV+KmalBWQewLK8=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,21 @@
Owner: CN=DigiCert CS ECC P384 Root G5, O="DigiCert, Inc.", C=US
Issuer: CN=DigiCert CS ECC P384 Root G5, O="DigiCert, Inc.", C=US
Serial number: 3698fe712d519f3ced0fdb7b1643011
Valid from: Fri Jan 15 00:00:00 GMT 2021 until: Sun Jan 14 23:59:59 GMT 2046
Signature algorithm name: SHA384withECDSA
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
Version: 3
-----BEGIN CERTIFICATE-----
MIICFjCCAZ2gAwIBAgIQA2mP5xLVGfPO0P23sWQwETAKBggqhkjOPQQDAzBNMQsw
CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMTHERp
Z2lDZXJ0IENTIEVDQyBQMzg0IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcNNDYw
MTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIElu
Yy4xJTAjBgNVBAMTHERpZ2lDZXJ0IENTIEVDQyBQMzg0IFJvb3QgRzUwdjAQBgcq
hkjOPQIBBgUrgQQAIgNiAAR/FK2Ftpf9AiE1TWDoOJOTmz0FEG2v0/7v+rv7c5nz
7DISjcdouIveiaKIVHeNuyF+M5VWlgno1YyhBLibbhkAYuhCKKZYN4QZVSZ7Mzdn
8ppyraGurgBCPBx+uHqeIZyjQjBAMB0GA1UdDgQWBBTwjJhxOThlwjobphdmHcjt
Zd6SNjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQD
AwNnADBkAjAjb+EAGSZQ5EYgZYs3p8/rBuHMMskqoewyDXOiHgIcNWEqTmmrOXft
l4jAfWvqid0CMEPx0VijdT6Gm7ZVEYsX9z3+CmnFf07GdRtalMvqERHGCCKI3tB6
oqV56OMhp80Tsw==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,38 @@
Owner: CN=DigiCert CS RSA4096 Root G5, O="DigiCert, Inc.", C=US
Issuer: CN=DigiCert CS RSA4096 Root G5, O="DigiCert, Inc.", C=US
Serial number: 6cee131be6d55c807f7c0c7fb44e620
Valid from: Fri Jan 15 00:00:00 GMT 2021 until: Sun Jan 14 23:59:59 GMT 2046
Signature algorithm name: SHA384withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIFZDCCA0ygAwIBAgIQBs7hMb5tVcgH98DH+0TmIDANBgkqhkiG9w0BAQwFADBM
MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJDAiBgNVBAMT
G0RpZ2lDZXJ0IENTIFJTQTQwOTYgUm9vdCBHNTAeFw0yMTAxMTUwMDAwMDBaFw00
NjAxMTQyMzU5NTlaMEwxCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwg
SW5jLjEkMCIGA1UEAxMbRGlnaUNlcnQgQ1MgUlNBNDA5NiBSb290IEc1MIICIjAN
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtjNzgNhiA3AULBEcOV58rnyDhh3+
Ji9MJK2L6oNfqbw9W/wLmEwCRzDs4v7s6DRbZl6/O9cspiX/jFmz3+rafCnZRlBy
CB1u0RsK3R/NmYn6Dw9zxOGcHXUyzW+X2ipqlbJsyQnQ6gt7fRcGSZnv1t7gyFPU
rsZ38Ya7Ixy4wN9Z94590e+C5iaLWji1/3XVstlPCfM3iFDaEaSKFBTRUwQAffNq
RBj+UHAyBxyomg46HcUKH24LJmm3PKJXcCyG+kxulalYQ7msEtb/P+3XQxdrTM6e
xJCr//oQUJqjkFfW54wQrp8WGs81HX/Xdu2KnDWnKLinXSH8MDfd3ggZTxXG56ba
kEeO95RTTI5TAr79meXqhtCvAwLTm6qT8asojiAB/0z7zLcpQPWHpBITBR9DbtdR
UJ84tCDtFwkSj8y5Ga+fzb5pEdOvVRBtF4Z5llLGsgCd5a84sDX0iGuPDgQ9fO6v
zdNqEErGzYbKIj2hSlz7Dv+I31xip8C5HtmsbH44N/53kyXChYpPtTcGWgaBFPHO
lJ2ZkeoyWs5nPW4EZq0MTy2jLvee9Xid9wr9fo/jQopVlrzxnzct/J5flf6MGBv8
jv1LkK/XA2gSY6zik6eiywTlT2TOA/rGFJ/Zi+jM1GKMa+QALBmfGgbGMYFU+1Mk
mq9Vmbqdda64wt0CAwEAAaNCMEAwHQYDVR0OBBYEFGgBk7HSSkBCaZRGLBxaiKkl
tEdPMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
DAUAA4ICAQCS/O64AnkXAlF9IcVJZ6ek8agkOOsMaOpaQmuc9HPBaUotszcFUEKY
kp4GeSwuBpn2798roM2zkgGDtaDLJ7U8IxqYSaLsLZmlWUOs0rGT1lfXHLyT1sZA
4bNvGVW3E9flQzOktavL2sExZA101iztw41u67uvGUdhYS3A9AW5b3jcOvdCQGVT
kb2ZDZOSVKapN1krm8uZxrw99wSE8JQzHQ+CWjnLLkXDKBmjspuYyPwxa2CP9umG
KLzgPH10XRaJW2kkxxCLxEu7Nk/UWT/DsKSRmfgu0UoBnfWIEu+/WhFqWU9Za1pn
84+0Ew/A2C89KHKqGX8RfWpbn5XnX7eUT/E+oVr/Lcyd3yd3jzJzHGcKdvP6XLG/
vB29DCibsscXZwszD8O9Ntz7ukILq+2Ew2LWhBapsQdrqW7uxs/msEQpwvCzYYAq
i2/SFFwlh1Rk86RMwaH4p2vq/uo6/HnbDo/cxvPJ1Gze6YOhjh0i7Mk6sgB73Dun
Qhp/3IupET2Op8Agb10JXUNE5o9mzKlbB/Hvm3oOs1ThlP0OLMaT11X9cZg1uAlK
/8YpKCz2Ui3bFBiSJ+IWfozK1GG+goeR65g3P79fXXc/NKwbOEOraHKZMh46Ghml
ozhMI9ej58zVKpIXkAtaS70WvfuGauKJmezkoFUYyaMIHxPgMghy0A==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,21 @@
Owner: CN=DigiCert TLS ECC P384 Root G5, O="DigiCert, Inc.", C=US
Issuer: CN=DigiCert TLS ECC P384 Root G5, O="DigiCert, Inc.", C=US
Serial number: 9e09365acf7d9c8b93e1c0b042a2ef3
Valid from: Fri Jan 15 00:00:00 GMT 2021 until: Sun Jan 14 23:59:59 GMT 2046
Signature algorithm name: SHA384withECDSA
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
Version: 3
-----BEGIN CERTIFICATE-----
MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw
CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp
Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2
MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ
bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG
ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS
7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp
0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS
B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49
BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ
LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4
DXZDjC5Ty3zfDBeWUA==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,38 @@
Owner: CN=DigiCert TLS RSA4096 Root G5, O="DigiCert, Inc.", C=US
Issuer: CN=DigiCert TLS RSA4096 Root G5, O="DigiCert, Inc.", C=US
Serial number: 8f9b478a8fa7eda6a333789de7ccf8a
Valid from: Fri Jan 15 00:00:00 GMT 2021 until: Sun Jan 14 23:59:59 GMT 2046
Signature algorithm name: SHA384withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN
MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT
HERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN
NDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs
IEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+
ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0
2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp
wgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM
pG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD
nU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po
sMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx
Zre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd
Lvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX
KyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe
XoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL
tgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv
TiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN
AQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw
GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H
PNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF
O4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ
REtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik
AdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv
/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+
p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw
MUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF
qUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK
ovfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+
-----END CERTIFICATE-----

View File

@@ -0,0 +1,22 @@
Owner: CN=emSign ECC Root CA - G3, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
Issuer: CN=emSign ECC Root CA - G3, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
Serial number: 3cf607a968700eda8b84
Valid from: Sun Feb 18 18:30:00 GMT 2018 until: Wed Feb 18 18:30:00 GMT 2043
Signature algorithm name: SHA384withECDSA
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
Version: 3
-----BEGIN CERTIFICATE-----
MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG
EwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo
bm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g
RzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ
TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s
b2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw
djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0
WXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS
fvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB
zhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq
hkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB
CUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD
+JbNR6iC8hZVdyR+EhCVBCyj
-----END CERTIFICATE-----

View File

@@ -0,0 +1,29 @@
Owner: CN=emSign Root CA - G1, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
Issuer: CN=emSign Root CA - G1, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
Serial number: 31f5e4620c6c58edd6d8
Valid from: Sun Feb 18 18:30:00 GMT 2018 until: Wed Feb 18 18:30:00 GMT 2043
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD
VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU
ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH
MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO
MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv
Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz
f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO
8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq
d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM
tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt
Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB
o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD
AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x
PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM
wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d
GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH
6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby
RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx
iN66zB+Afko=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,39 @@
Owner: CN=emSign Root CA - G2, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
Issuer: CN=emSign Root CA - G2, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
Serial number: 864dbf0fe35ed77d8ed8
Valid from: Sun Feb 18 18:30:00 GMT 2018 until: Wed Feb 18 18:30:00 GMT 2043
Signature algorithm name: SHA384withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIFlTCCA32gAwIBAgILAIZNvw/jXtd9jtgwDQYJKoZIhvcNAQEMBQAwZzELMAkG
A1UEBhMCSU4xEzARBgNVBAsTCmVtU2lnbiBQS0kxJTAjBgNVBAoTHGVNdWRocmEg
VGVjaG5vbG9naWVzIExpbWl0ZWQxHDAaBgNVBAMTE2VtU2lnbiBSb290IENBIC0g
RzIwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBnMQswCQYDVQQGEwJJ
TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s
b2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBHMjCCAiIw
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMNwGIWW2kHfHK+sXTNwxF07K+IV
ySTuyFM2r1v002wUfcdT+zs5OM5QbMYFFnedXQI6gCFLsjKrcaej48Zt37OyEb3i
aPs7CsP4kAyTwzKH9aZe6gXYHrJq40/ZVMNcQVI2PcIp40B/SAN2gUZ+ZaUtIOvV
jEx26/ebNaXRIsthlkOG/caB+QRwDw1tl7338Zlv0M2oTBUy4B3e7dGP5pgXH71M
jqHPCoNo+xv9f0NTBT+hUDa8h8wUtcGQq9CDeJTpjWcD2bP2AMdVG6oVpMAUeUzo
cCyglvtFdUMjggxBbw4qhau1HXPG8Ot9hwL7ZMi8tkTzrvUIxxb8G9LF/7kKeCE7
tGZaVzDTnXuifl3msR4ErHsQ4P7lVu2AIjIAhrAXoedDidb7pMcf7TABdrYUT1Jo
G/AiK+J9jO6GTjeADD4LMDSBZhHMuBK/PJ/g0kGBt+/C1L+/HURzQhJkMlRnM6Rv
XoCtfKopSlns5trZmTi971Wjbn88QXP61lGpBCUPwCjs7rpOYvSUJtI+lcbF+37q
kIqOXYkVT3cupDSpw+H89kFtj5GKY+Xny4LxY+3IvDIRiyd6ky1DPj713DI0yqve
EpsIr3A0PdwuyUI7CS1jg0NnGFT6Xxyr0xB+VDt83FJYW8v16k2pbaQ4kVxA3aXd
X9dZYyVR1S59KM75AgMBAAGjQjBAMB0GA1UdDgQWBBTt7E1FYRgo57MjKBEcTaUn
DV7s9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B
AQwFAAOCAgEACFC/ilQg8KTCVBxFJW/sazomkS0kNYbEIZg4B3obqwsJ7SX98z8Z
gfzBpz0nYClwwJjWbFN1R2zY8pCEot6/dgmA8Vbq0GxhwPM5YN/SZquNyRIxO3cU
dlAcwf+vSezdVCf9wOzvSAF3q0a5ljvbdbNJNpfScQVp7UUd5sBsZk8jXO1KQ/go
/Vf/GDPnrIFmxpAIGE3sgnO8lAv9FzUaAeuv7HWe47xN9J7+bQzF93yHuIXACPTL
pQHhg2zMv5C7BAbuDHfbj1Cu294Z832yhSfBcziWGskOvl3es2EcHytbS9c9P+0z
Mpka7zGC1FHrvLb/FoduH86TeZt0QjZ6pcplNzoaxDnDvzTJ6CC2Eny+qH/APFCu
VUv5/wjwF+HPm8Pup2ARj9cEp92+0qcerfHacNq5hMeGZdbA/dzdUR/5z5zXdxAk
nl8mcfGb0eMNSTXQmmB/i4AecNnr72uYjzlaXUGYN7Nrb6XouG0pnh0/BBtWWp0U
ShIPpWEAqs7RJBj6+1ZUYXZ4ObrCw962DxhN2p19Hxw9LtuUUcLqqTPrFXYvwO4t
ouj7KJnAkaTUfXGdEaFVtFig1EA30WzJY2X1vAQ7hVnniCjgaXAGqjsU6sklNM9n
xDx5rFCCCEtj9Kh8UHjGK2QqgP5kwgttjOApQMaCoezMfK4KD7WpOXU=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,21 @@
Owner: CN=ISRG Root X2, O=Internet Security Research Group, C=US
Issuer: CN=ISRG Root X2, O=Internet Security Research Group, C=US
Serial number: 41d29dd172eaeea780c12c6ce92f8752
Valid from: Fri Sep 04 00:00:00 GMT 2020 until: Mon Sep 17 16:00:00 GMT 2040
Signature algorithm name: SHA384withECDSA
Subject Public Key Algorithm: 384-bit EC (secp384r1) key
Version: 3
-----BEGIN CERTIFICATE-----
MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw
CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg
R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00
MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT
ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw
EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW
+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9
ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T
AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI
zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW
tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1
/q4AaOeMSQ+2b1tbFfLn
-----END CERTIFICATE-----

View File

@@ -0,0 +1,39 @@
Owner: CN=Telia Root CA v2, O=Telia Finland Oyj, C=FI
Issuer: CN=Telia Root CA v2, O=Telia Finland Oyj, C=FI
Serial number: 1675f27d6fe7ae3e4acbe095b059e
Valid from: Thu Nov 29 11:55:54 GMT 2018 until: Sun Nov 29 11:55:54 GMT 2043
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQx
CzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UE
AwwQVGVsaWEgUm9vdCBDQSB2MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1
NTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZ
MBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
ADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ76zBq
AMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9
vVYiQJ3q9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9
lRdU2HhE8Qx3FZLgmEKnpNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTOD
n3WhUidhOPFZPY5Q4L15POdslv5e2QJltI5c0BE0312/UqeBAMN/mUWZFdUXyApT
7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW5olWK8jjfN7j/4nlNW4o
6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNrRBH0pUPC
TEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6
WT0EBXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63R
DolUK5X6wK0dmBR4M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZI
pEYslOqodmJHixBTB0hXbOKSTbauBcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGj
YzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7Wxy+G2CQ5MB0GA1UdDgQWBBRy
rOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
AwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ
8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi
0f6X+J8wfBj5tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMM
A8iZGok1GTzTyVR8qPAs5m4HeW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBS
SRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+Cy748fdHif64W1lZYudogsYMVoe+K
TTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygCQMez2P2ccGrGKMOF
6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15h2Er
3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMt
Ty3EHD70sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pT
VmBds9hCG1xLEooc6+t9xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAW
ysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQraVplI/owd8k+BsHMYeB2F326CjYSlKA
rBPuUBQemMc=
-----END CERTIFICATE-----

File diff suppressed because it is too large Load Diff

View File

@@ -32,7 +32,7 @@ formatVersion=3
# Version of the currency code information in this class.
# It is a serial number that accompanies with each amendment.
dataVersion=175
dataVersion=176
# List of all valid ISO 4217 currency codes.
# To ensure compatibility, do not remove codes.
@@ -55,7 +55,7 @@ all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036
SRD968-SRG740-SSP728-STD678-STN930-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-UYI940-\
UYU858-UZS860-VEB862-VED926-VEF937-VES928-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
XBB956-XBC957-XBD958-XCD951-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
XBB956-XBC957-XBD958-XCD951-XCG532-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWL932-\
ZWN942-ZWR935
@@ -189,11 +189,11 @@ CR=CRC
# COTE D'IVOIRE
CI=XOF
# CROATIA
HR=HRK;2022-12-31-23-00-00;EUR
HR=EUR
# CUBA
CU=CUP
# Cura\u00e7ao
CW=ANG
CW=ANG;2025-04-01-04-00-00;XCG
# CYPRUS
CY=EUR
# CZECHIA
@@ -510,7 +510,7 @@ SR=SRD
# SVALBARD AND JAN MAYEN
SJ=NOK
# Sint Maarten (Dutch part)
SX=ANG
SX=ANG;2025-04-01-04-00-00;XCG
# ESWATINI
SZ=SZL
# SWEDEN

View File

@@ -1,2 +1,2 @@
Github: https://raw.githubusercontent.com/publicsuffix/list/88467c960d6cdad2ca1623e892e5e17506bc269f/public_suffix_list.dat
Date: 2023-04-14
Github: https://raw.githubusercontent.com/publicsuffix/list/b5bf572c52988dbe9d865b8f090ea819024a9936/public_suffix_list.dat
Date: 2023-11-09

File diff suppressed because it is too large Load Diff

View File

@@ -21,4 +21,4 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
tzdata2023c
tzdata2024a

View File

@@ -53,6 +53,10 @@
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
# https://www.jstor.org/stable/1774359
#
# For the 1911/1912 establishment of standard time in French possessions, see:
# Société Française de Physique, Recueil de constantes physiques (1913),
# page 752, 18b.
#
# European-style abbreviations are commonly used along the Mediterranean.
# For sub-Saharan Africa abbreviations were less standardized.
# Previous editions of this database used WAT, CAT, SAT, and EAT
@@ -136,7 +140,7 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia
# Chad
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
Zone Africa/Ndjamena 1:00:12 - LMT 1912 Jan 1 # N'Djamena
1:00 - WAT 1979 Oct 14
1:00 1:00 WAST 1980 Mar 8
1:00 - WAT
@@ -162,7 +166,7 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
# Inaccessible, Nightingale: uninhabited
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Abidjan -0:16:08 - LMT 1912
Zone Africa/Abidjan -0:16:08 - LMT 1912 Jan 1
0:00 - GMT
###############################################################################
@@ -308,13 +312,6 @@ Rule Egypt 2007 only - Sep Thu>=1 24:00 0 -
# reproduced by other (more accessible) sites[, e.g.,]...
# http://elgornal.net/news/news.aspx?id=4699258
# From Paul Eggert (2014-06-04):
# Sarah El Deeb and Lee Keath of AP report that the Egyptian government says
# the change is because of blackouts in Cairo, even though Ahram Online (cited
# above) says DST had no affect on electricity consumption. There is
# no information about when DST will end this fall. See:
# http://abcnews.go.com/International/wireStory/el-sissi-pushes-egyptians-line-23614833
# From Steffen Thorsen (2015-04-08):
# Egypt will start DST on midnight after Thursday, April 30, 2015.
# This is based on a law (no 35) from May 15, 2014 saying it starts the last

View File

@@ -103,6 +103,11 @@
# - 2018 Oct 7 4:00 - 2019 Mar 17 3:00 - 2019 Oct 4 3:00 - 2020 Mar 8 3:00
# and now - 2020 Oct 4 0:01
# From Paul Eggert (2023-12-20):
# Transitions from 2021 on are taken from:
# https://www.timeanddate.com/time/zone/antarctica/casey
# retrieved at various dates.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Casey 0 - -00 1969
8:00 - +08 2009 Oct 18 2:00
@@ -116,7 +121,12 @@ Zone Antarctica/Casey 0 - -00 1969
8:00 - +08 2019 Oct 4 3:00
11:00 - +11 2020 Mar 8 3:00
8:00 - +08 2020 Oct 4 0:01
11:00 - +11
11:00 - +11 2021 Mar 14 0:00
8:00 - +08 2021 Oct 3 0:01
11:00 - +11 2022 Mar 13 0:00
8:00 - +08 2022 Oct 2 0:01
11:00 - +11 2023 Mar 9 3:00
8:00 - +08
Zone Antarctica/Davis 0 - -00 1957 Jan 13
7:00 - +07 1964 Nov
0 - -00 1969 Feb
@@ -263,7 +273,50 @@ Zone Antarctica/Troll 0 - -00 2005 Feb 12
# year-round from 1960/61 to 1992
# Vostok, since 1957-12-16, temporarily closed 1994-02/1994-11
# See Asia/Urumqi.
# From Craig Mundell (1994-12-15):
# http://quest.arc.nasa.gov/antarctica/QA/computers/Directions,Time,ZIP
# Vostok, which is one of the Russian stations, is set on the same
# time as Moscow, Russia.
#
# From Lee Hotz (2001-03-08):
# I queried the folks at Columbia who spent the summer at Vostok and this is
# what they had to say about time there:
# "in the US Camp (East Camp) we have been on New Zealand (McMurdo)
# time, which is 12 hours ahead of GMT. The Russian Station Vostok was
# 6 hours behind that (although only 2 miles away, i.e. 6 hours ahead
# of GMT). This is a time zone I think two hours east of Moscow. The
# natural time zone is in between the two: 8 hours ahead of GMT."
#
# From Paul Eggert (2001-05-04):
# This seems to be hopelessly confusing, so I asked Lee Hotz about it
# in person. He said that some Antarctic locations set their local
# time so that noon is the warmest part of the day, and that this
# changes during the year and does not necessarily correspond to mean
# solar noon. So the Vostok time might have been whatever the clocks
# happened to be during their visit. So we still don't really know what time
# it is at Vostok.
#
# From Zakhary V. Akulov (2023-12-17 22:00:48 +0700):
# ... from December, 18, 2023 00:00 by my decision the local time of
# the Antarctic research base Vostok will correspond to UTC+5.
# (2023-12-19): We constantly interact with Progress base, with company who
# builds new wintering station, with sledge convoys, with aviation - they all
# use UTC+5. Besides, difference between Moscow time is just 2 hours now, not 4.
# (2023-12-19, in response to the question "Has local time at Vostok
# been UTC+6 ever since 1957, or has it changed before?"): No. At least
# since my antarctic career start, 10 years ago, Vostok base has UTC+7.
# (In response to a 2023-12-18 question "from 02:00 to 00:00 today"): This.
#
# From Paul Eggert (2023-12-18):
# For lack of better info, guess Vostok was at +07 from founding through today,
# except when closed.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Vostok 0 - -00 1957 Dec 16
7:00 - +07 1994 Feb
0 - -00 1994 Nov
7:00 - +07 2023 Dec 18 2:00
5:00 - +05
# S Africa - year-round bases
# Marion Island, -4653+03752

View File

@@ -678,7 +678,6 @@ Zone Asia/Shanghai 8:05:43 - LMT 1901
8:00 PRC C%sT
# Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi
# / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.)
# Vostok base in Antarctica matches this since 1970.
Zone Asia/Urumqi 5:50:20 - LMT 1928
6:00 - +06
@@ -2481,18 +2480,33 @@ Zone Asia/Amman 2:23:44 - LMT 1931
# effective December 21st, 2018....
# http://adilet.zan.kz/rus/docs/P1800000817 (russian language).
# From Zhanbolat Raimbekov (2024-01-19):
# Kazakhstan (all parts) switching to UTC+5 on March 1, 2024
# https://www.gov.kz/memleket/entities/mti/press/news/details/688998?lang=ru
# [in Russian]
# (2024-01-20): https://primeminister.kz/ru/decisions/19012024-20
#
# From Alexander Krivenyshev (2024-01-19):
# According to a different news and the official web site for the Ministry of
# Trade and Integration of the Republic of Kazakhstan:
# https://en.inform.kz/news/kazakhstan-to-switch-to-single-hour-zone-mar-1-54ad0b/
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#
# Almaty (formerly Alma-Ata), representing most locations in Kazakhstan
# This includes KZ-AKM, KZ-ALA, KZ-ALM, KZ-AST, KZ-BAY, KZ-VOS, KZ-ZHA,
# KZ-KAR, KZ-SEV, KZ-PAV, and KZ-YUZ.
# This includes Abai/Abay (ISO 3166-2 code KZ-10), Aqmola/Akmola (KZ-11),
# Almaty (KZ-19), Almaty city (KZ-75), Astana city (KZ-71),
# East Kazkhstan (KZ-63), Jambyl/Zhambyl (KZ-31), Jetisu/Zhetysu (KZ-33),
# Karaganda (KZ-35), North Kazakhstan (KZ-59), Pavlodar (KZ-55),
# Shyumkent city (KZ-79), Turkistan (KZ-61), and Ulytau (KZ-62).
Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata
5:00 - +05 1930 Jun 21
6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s
6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s
6:00 - +06
# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-KZY)
6:00 - +06 2024 Mar 1 0:00
5:00 - +05
# Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-43)
Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2
4:00 - +04 1930 Jun 21
5:00 - +05 1981 Apr 1
@@ -2505,8 +2519,7 @@ Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
6:00 - +06 2018 Dec 21 0:00
5:00 - +05
#
# Qostanay (aka Kostanay, Kustanay) (KZ-KUS)
# Qostanay (aka Kostanay, Kustanay) (KZ-39)
# The 1991/2 rules are unclear partly because of the 1997 Turgai
# reorganization.
Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2
@@ -2517,9 +2530,9 @@ Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
6:00 - +06
# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT)
6:00 - +06 2024 Mar 1 0:00
5:00 - +05
# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-15)
Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2
4:00 - +04 1930 Jun 21
5:00 - +05 1981 Apr 1
@@ -2529,7 +2542,7 @@ Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2
4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s
5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s
5:00 - +05
# Mangghystaū (KZ-MAN)
# Mangghystaū (KZ-47)
# Aqtau was not founded until 1963, but it represents an inhabited region,
# so include timestamps before 1963.
Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2
@@ -2541,7 +2554,7 @@ Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2
5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
5:00 - +05
# Atyraū (KZ-ATY) is like Mangghystaū except it switched from
# Atyraū (KZ-23) is like Mangghystaū except it switched from
# +04/+05 to +05/+06 in spring 1999, not fall 1994.
Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2
3:00 - +03 1930 Jun 21
@@ -2552,7 +2565,7 @@ Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2
5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s
4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s
5:00 - +05
# West Kazakhstan (KZ-ZAP)
# West Kazakhstan (KZ-27)
# From Paul Eggert (2016-03-18):
# The 1989 transition is from USSR act No. 227 (1989-03-14).
Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk
@@ -3450,20 +3463,30 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# From Heba Hamad (2023-03-22):
# ... summer time will begin in Palestine from Saturday 04-29-2023,
# 02:00 AM by 60 minutes forward.
# From Heba Hemad (2023-10-09):
# ... winter time will begin in Palestine from Saturday 10-28-2023,
# 02:00 AM by 60 minutes back.
#
# From Paul Eggert (2023-03-22):
# From Heba Hamad (2024-01-25):
# the summer time for the years 2024,2025 will begin in Palestine
# from Saturday at 02:00 AM by 60 minutes forward as shown below:
# year date
# 2024 2024-04-20
# 2025 2025-04-12
#
# From Paul Eggert (2024-01-25):
# For now, guess that spring and fall transitions will normally
# continue to use 2022's rules, that during DST Palestine will switch
# to standard time at 02:00 the last Saturday before Ramadan and back
# to DST at 02:00 the first Saturday after Ramadan, and that
# to DST at 02:00 the second Saturday after Ramadan, and that
# if the normal spring-forward or fall-back transition occurs during
# Ramadan the former is delayed and the latter advanced.
# To implement this, I predicted Ramadan-oriented transition dates for
# 2023 through 2086 by running the following program under GNU Emacs 28.2,
# 2026 through 2086 by running the following program under GNU Emacs 29.2,
# with the results integrated by hand into the table below.
# Predictions after 2086 are approximated without Ramadan.
#
# (let ((islamic-year 1444))
# (let ((islamic-year 1447))
# (require 'cal-islam)
# (while (< islamic-year 1510)
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
@@ -3472,6 +3495,7 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# (while (/= saturday (mod (setq a (1- a)) 7)))
# (while (/= saturday (mod b 7))
# (setq b (1+ b)))
# (setq b (+ 7 b))
# (setq a (calendar-gregorian-from-absolute a))
# (setq b (calendar-gregorian-from-absolute b))
# (insert
@@ -3522,84 +3546,84 @@ Rule Palestine 2021 only - Oct 29 1:00 0 -
Rule Palestine 2022 only - Mar 27 0:00 1:00 S
Rule Palestine 2022 2035 - Oct Sat<=30 2:00 0 -
Rule Palestine 2023 only - Apr 29 2:00 1:00 S
Rule Palestine 2024 only - Apr 13 2:00 1:00 S
Rule Palestine 2025 only - Apr 5 2:00 1:00 S
Rule Palestine 2024 only - Apr 20 2:00 1:00 S
Rule Palestine 2025 only - Apr 12 2:00 1:00 S
Rule Palestine 2026 2054 - Mar Sat<=30 2:00 1:00 S
Rule Palestine 2036 only - Oct 18 2:00 0 -
Rule Palestine 2037 only - Oct 10 2:00 0 -
Rule Palestine 2038 only - Sep 25 2:00 0 -
Rule Palestine 2039 only - Sep 17 2:00 0 -
Rule Palestine 2039 only - Oct 22 2:00 1:00 S
Rule Palestine 2039 2067 - Oct Sat<=30 2:00 0 -
Rule Palestine 2040 only - Sep 1 2:00 0 -
Rule Palestine 2040 only - Oct 13 2:00 1:00 S
Rule Palestine 2040 only - Oct 20 2:00 1:00 S
Rule Palestine 2040 2067 - Oct Sat<=30 2:00 0 -
Rule Palestine 2041 only - Aug 24 2:00 0 -
Rule Palestine 2041 only - Sep 28 2:00 1:00 S
Rule Palestine 2041 only - Oct 5 2:00 1:00 S
Rule Palestine 2042 only - Aug 16 2:00 0 -
Rule Palestine 2042 only - Sep 20 2:00 1:00 S
Rule Palestine 2042 only - Sep 27 2:00 1:00 S
Rule Palestine 2043 only - Aug 1 2:00 0 -
Rule Palestine 2043 only - Sep 12 2:00 1:00 S
Rule Palestine 2043 only - Sep 19 2:00 1:00 S
Rule Palestine 2044 only - Jul 23 2:00 0 -
Rule Palestine 2044 only - Aug 27 2:00 1:00 S
Rule Palestine 2044 only - Sep 3 2:00 1:00 S
Rule Palestine 2045 only - Jul 15 2:00 0 -
Rule Palestine 2045 only - Aug 19 2:00 1:00 S
Rule Palestine 2045 only - Aug 26 2:00 1:00 S
Rule Palestine 2046 only - Jun 30 2:00 0 -
Rule Palestine 2046 only - Aug 11 2:00 1:00 S
Rule Palestine 2046 only - Aug 18 2:00 1:00 S
Rule Palestine 2047 only - Jun 22 2:00 0 -
Rule Palestine 2047 only - Jul 27 2:00 1:00 S
Rule Palestine 2047 only - Aug 3 2:00 1:00 S
Rule Palestine 2048 only - Jun 6 2:00 0 -
Rule Palestine 2048 only - Jul 18 2:00 1:00 S
Rule Palestine 2048 only - Jul 25 2:00 1:00 S
Rule Palestine 2049 only - May 29 2:00 0 -
Rule Palestine 2049 only - Jul 3 2:00 1:00 S
Rule Palestine 2049 only - Jul 10 2:00 1:00 S
Rule Palestine 2050 only - May 21 2:00 0 -
Rule Palestine 2050 only - Jun 25 2:00 1:00 S
Rule Palestine 2050 only - Jul 2 2:00 1:00 S
Rule Palestine 2051 only - May 6 2:00 0 -
Rule Palestine 2051 only - Jun 17 2:00 1:00 S
Rule Palestine 2051 only - Jun 24 2:00 1:00 S
Rule Palestine 2052 only - Apr 27 2:00 0 -
Rule Palestine 2052 only - Jun 1 2:00 1:00 S
Rule Palestine 2052 only - Jun 8 2:00 1:00 S
Rule Palestine 2053 only - Apr 12 2:00 0 -
Rule Palestine 2053 only - May 24 2:00 1:00 S
Rule Palestine 2053 only - May 31 2:00 1:00 S
Rule Palestine 2054 only - Apr 4 2:00 0 -
Rule Palestine 2054 only - May 16 2:00 1:00 S
Rule Palestine 2055 only - May 1 2:00 1:00 S
Rule Palestine 2056 only - Apr 22 2:00 1:00 S
Rule Palestine 2057 only - Apr 7 2:00 1:00 S
Rule Palestine 2058 max - Mar Sat<=30 2:00 1:00 S
Rule Palestine 2054 only - May 23 2:00 1:00 S
Rule Palestine 2055 only - May 8 2:00 1:00 S
Rule Palestine 2056 only - Apr 29 2:00 1:00 S
Rule Palestine 2057 only - Apr 14 2:00 1:00 S
Rule Palestine 2058 only - Apr 6 2:00 1:00 S
Rule Palestine 2059 max - Mar Sat<=30 2:00 1:00 S
Rule Palestine 2068 only - Oct 20 2:00 0 -
Rule Palestine 2069 only - Oct 12 2:00 0 -
Rule Palestine 2070 only - Oct 4 2:00 0 -
Rule Palestine 2071 only - Sep 19 2:00 0 -
Rule Palestine 2072 only - Sep 10 2:00 0 -
Rule Palestine 2072 only - Oct 15 2:00 1:00 S
Rule Palestine 2072 only - Oct 22 2:00 1:00 S
Rule Palestine 2072 max - Oct Sat<=30 2:00 0 -
Rule Palestine 2073 only - Sep 2 2:00 0 -
Rule Palestine 2073 only - Oct 7 2:00 1:00 S
Rule Palestine 2073 only - Oct 14 2:00 1:00 S
Rule Palestine 2074 only - Aug 18 2:00 0 -
Rule Palestine 2074 only - Sep 29 2:00 1:00 S
Rule Palestine 2074 only - Oct 6 2:00 1:00 S
Rule Palestine 2075 only - Aug 10 2:00 0 -
Rule Palestine 2075 only - Sep 14 2:00 1:00 S
Rule Palestine 2075 max - Oct Sat<=30 2:00 0 -
Rule Palestine 2075 only - Sep 21 2:00 1:00 S
Rule Palestine 2076 only - Jul 25 2:00 0 -
Rule Palestine 2076 only - Sep 5 2:00 1:00 S
Rule Palestine 2076 only - Sep 12 2:00 1:00 S
Rule Palestine 2077 only - Jul 17 2:00 0 -
Rule Palestine 2077 only - Aug 28 2:00 1:00 S
Rule Palestine 2077 only - Sep 4 2:00 1:00 S
Rule Palestine 2078 only - Jul 9 2:00 0 -
Rule Palestine 2078 only - Aug 13 2:00 1:00 S
Rule Palestine 2078 only - Aug 20 2:00 1:00 S
Rule Palestine 2079 only - Jun 24 2:00 0 -
Rule Palestine 2079 only - Aug 5 2:00 1:00 S
Rule Palestine 2079 only - Aug 12 2:00 1:00 S
Rule Palestine 2080 only - Jun 15 2:00 0 -
Rule Palestine 2080 only - Jul 20 2:00 1:00 S
Rule Palestine 2080 only - Jul 27 2:00 1:00 S
Rule Palestine 2081 only - Jun 7 2:00 0 -
Rule Palestine 2081 only - Jul 12 2:00 1:00 S
Rule Palestine 2081 only - Jul 19 2:00 1:00 S
Rule Palestine 2082 only - May 23 2:00 0 -
Rule Palestine 2082 only - Jul 4 2:00 1:00 S
Rule Palestine 2082 only - Jul 11 2:00 1:00 S
Rule Palestine 2083 only - May 15 2:00 0 -
Rule Palestine 2083 only - Jun 19 2:00 1:00 S
Rule Palestine 2083 only - Jun 26 2:00 1:00 S
Rule Palestine 2084 only - Apr 29 2:00 0 -
Rule Palestine 2084 only - Jun 10 2:00 1:00 S
Rule Palestine 2084 only - Jun 17 2:00 1:00 S
Rule Palestine 2085 only - Apr 21 2:00 0 -
Rule Palestine 2085 only - Jun 2 2:00 1:00 S
Rule Palestine 2085 only - Jun 9 2:00 1:00 S
Rule Palestine 2086 only - Apr 13 2:00 0 -
Rule Palestine 2086 only - May 18 2:00 1:00 S
Rule Palestine 2086 only - May 25 2:00 1:00 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
@@ -3627,7 +3651,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
# Philippines
# From Paul Eggert (2018-11-18):
# From Paul Eggert (2024-01-21):
# The Spanish initially used American (west-of-Greenwich) time.
# It is unknown what time Manila kept when the British occupied it from
# 1762-10-06 through 1764-04; for now assume it kept American time.
@@ -3635,7 +3659,7 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
# Philippines, issued a proclamation announcing that 1844-12-30 was to
# be immediately followed by 1845-01-01; see R.H. van Gent's
# History of the International Date Line
# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm
# https://webspace.science.uu.nl/~gent0113/idl/idl_philippines.htm
# The rest of the data entries are from Shanks & Pottenger.
# From Jesper Nørgaard Welen (2006-04-26):
@@ -4062,7 +4086,8 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
# The English-language name of Vietnam's most populous city is "Ho Chi Minh
# City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters.
# From Paul Eggert (2022-07-27) after a 2014 heads-up from Trần Ngọc Quân:
# From Paul Eggert (2024-01-14) after a 2014 heads-up from Trần Ngọc Quân
# and a 2024-01-14 heads-up from Đoàn Trần Công Danh:
# Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)"
# (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50,
# is quoted verbatim in:
@@ -4092,14 +4117,35 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
#
# Trần cites the following sources; it's unclear which supplied the info above.
#
# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội,
# No. 9, Paris, February 1982.
# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội,
# No. 9, Paris, February 1982.
#
# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)",
# NXB Thống kê, Hanoi, 2000.
# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)",
# NXB Thống kê, Hanoi, 2000.
#
# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu",
# NXB Thuận Hoá, Huế, 1995.
# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu",
# NXB Thuận Hoá, Huế, 1995.
#
# Here is the decision for the September 1945 transition:
# Võ Nguyên Giáp, Việt Nam Dân Quốc Công Báo, No. 1 (1945-09-29), page 13
# http://baochi.nlv.gov.vn/baochi/cgi-bin/baochi?a=d&d=JwvzO19450929.2.5&dliv=none
# It says that on 1945-09-01 at 24:00, Vietnam moved back two hours, to +07.
# It also mentions a 1945-03-29 decree (by a Japanese Goveror-General)
# to set the time zone to +09, but does not say whether that decree
# merely legalized an earlier change to +09.
#
# July 1955 transition:
# Ngô Đình Diệm, Công Báo Việt Nam, No. 92 (1955-07-02), page 1780-1781
# Ordinance (Dụ) No. 46 (1955-06-25)
# http://ddsnext.crl.edu/titles/32341#?c=0&m=29&s=0&cv=4&r=0&xywh=-89%2C342%2C1724%2C1216
# It says that on 1955-07-01 at 01:00, South Vietnam moved back 1 hour (to +07).
#
# December 1959 transition:
# Ngô Đình Diệm, Công Báo Việt Nam Cộng Hòa, 1960 part 1 (1960-01-02), page 62
# Decree (Sắc lệnh) No. 362-TTP (1959-12-30)
# http://ddsnext.crl.edu/titles/32341#?c=0&m=138&s=0&cv=793&r=0&xywh=-54%2C1504%2C1705%2C1202
# It says that on 1959-12-31 at 23:00, South Vietnam moved forward 1 hour (to +08).
# Zone NAME STDOFF RULES FORMAT [UNTIL]
#STDOFF 7:06:30.13
@@ -4107,9 +4153,9 @@ Zone Asia/Ho_Chi_Minh 7:06:30 - LMT 1906 Jul 1
7:06:30 - PLMT 1911 May 1 # Phù Liễn MT
7:00 - +07 1942 Dec 31 23:00
8:00 - +08 1945 Mar 14 23:00
9:00 - +09 1945 Sep 2
9:00 - +09 1945 Sep 1 24:00
7:00 - +07 1947 Apr 1
8:00 - +08 1955 Jul 1
8:00 - +08 1955 Jul 1 01:00
7:00 - +07 1959 Dec 31 23:00
8:00 - +08 1975 Jun 13
7:00 - +07

View File

@@ -414,8 +414,14 @@ Zone Antarctica/Macquarie 0 - -00 1899 Nov
# Please note that there will not be any daylight savings time change
# in Fiji for 2022-2023....
# https://www.facebook.com/FijianGovernment/posts/pfbid0mmWVTYmTibn66ybpFda75pDcf34SSpoSaskJW5gXwaKo5Sgc7273Q4fXWc6kQV6Hl
# From Almaz Mingaleev (2023-10-06):
# Cabinet approved the suspension of Daylight Saving and appropriate
# legislative changes will be considered including the repeal of the
# Daylight Saving Act 1998
# https://www.fiji.gov.fj/Media-Centre/Speeches/English/CABINET-DECISIONS-3-OCTOBER-2023
#
# From Paul Eggert (2022-10-27):
# From Paul Eggert (2023-10-06):
# For now, assume DST is suspended indefinitely.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
@@ -437,11 +443,11 @@ Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
# French Polynesia
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea
Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct 1 # Rikitea
-9:00 - -09
Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct
Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct 1
-9:30 - -0930
Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete
Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct 1 # Papeete
-10:00 - -10
# Clipperton (near North America) is administered from French Polynesia;
# it is uninhabited.
@@ -819,7 +825,7 @@ Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5
# Solomon Is
# excludes Bougainville, for which see Papua New Guinea
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct 1 # Honiara
11:00 - +11
# Tokelau
@@ -980,6 +986,10 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
# https://www.jstor.org/stable/1774359
#
# For the 1911/1912 establishment of standard time in French possessions, see:
# Société Française de Physique, Recueil de constantes physiques (1913),
# page 752, 18b.
#
# A reliable and entertaining source about time zones is
# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
#
@@ -2056,7 +2066,7 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
# ordaining - by a masterpiece of diplomatic flattery - that
# the Fourth of July should be celebrated twice in that year."
# This happened in 1892, according to the Evening News (Sydney) of 1892-07-20.
# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm
# https://webspace.science.uu.nl/~gent0113/idl/idl_alaska_samoa.htm
# Although Shanks & Pottenger says they both switched to UT -11:30
# in 1911, and to -11 in 1950. many earlier sources give -11

View File

@@ -228,7 +228,6 @@ Link America/Puerto_Rico America/Tortola
Link Pacific/Port_Moresby Antarctica/DumontDUrville
Link Pacific/Auckland Antarctica/McMurdo
Link Asia/Riyadh Antarctica/Syowa
Link Asia/Urumqi Antarctica/Vostok
Link Europe/Berlin Arctic/Longyearbyen
Link Asia/Riyadh Asia/Aden
Link Asia/Qatar Asia/Bahrain

View File

@@ -28,7 +28,7 @@
# These entries are for uses not otherwise covered by the tz database.
# Their main practical use is for platforms like Android that lack
# support for POSIX-style TZ strings. On such platforms these entries
# support for POSIX.1-2017-style TZ strings. On such platforms these entries
# can be useful if the timezone database is wrong or if a ship or
# aircraft at sea is not in a timezone.

View File

@@ -1013,9 +1013,34 @@ Zone Europe/Sofia 1:33:16 - LMT 1880
# Czech Republic (Czechia)
# Slovakia
#
# From Paul Eggert (2018-04-15):
# The source for Czech data is: Kdy začíná a končí letní čas. 2018-04-15.
# From Ivan Benovic (2024-01-30):
# https://www.slov-lex.sk/pravne-predpisy/SK/ZZ/1946/54/
# (This is an official link to the Czechoslovak Summer Time Act of
# March 8, 1946 that authorizes the Czechoslovak government to set the
# exact dates of change to summer time and back to Central European Time.
# The act also implicitly confirms Central European Time as the
# official time zone of Czechoslovakia and currently remains in force
# in both the Czech Republic and Slovakia.)
# https://www.psp.cz/eknih/1945pns/tisky/t0216_00.htm
# (This is a link to the original legislative proposal dating back to
# February 22, 1946. The accompanying memorandum to the proposal says
# that an advisory committee on European railroad transportation that
# met in Brussels in October 1945 decided that the change of time
# should be carried out in all participating countries in a strictly
# coordinated manner....)
#
# From Paul Eggert (2024-01-30):
# The source for Czech data is: Kdy začíná a končí letní čas.
# https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas
# Its main text disagrees with its quoted sources only in 1918,
# where the main text says spring and autumn transitions
# occurred at 02:00 and 03:00 respectively (as usual),
# whereas the 1918 source "Oznámení o zavedení letního času v roce 1918"
# says transitions were at 01:00 and 02:00 respectively.
# As the 1918 source appears to be a humorous piece, and it is
# unlikely that Prague would have disagreed with its neighbors by an hour,
# go with the main text for now.
#
# We know of no English-language name for historical Czech winter time;
# abbreviate it as "GMT", as it happened to be GMT.
#
@@ -1146,6 +1171,23 @@ Zone Atlantic/Faroe -0:27:04 - LMT 1908 Jan 11 # Tórshavn
# 2. The shift *from* DST in 2023 happens as normal, but coincides with the
# shift to UTC-02 normaltime (people will not change their clocks here).
# 3. After this, DST is still observed, but as -02/-01 instead of -03/-02.
#
# From Múte Bourup Egede via Jógvan Svabo Samuelsen (2023-03-15):
# Greenland will not switch to Daylight Saving Time this year, 2023,
# because the standard time for Greenland will change from UTC -3 to UTC -2.
# However, Greenland will change to Daylight Saving Time again in 2024
# and onwards.
# From a contributor who wishes to remain anonymous for now (2023-10-29):
# https://www.dr.dk/nyheder/seneste/i-nat-skal-uret-stilles-en-time-tilbage-men-foerste-gang-sker-det-ikke-i-groenland
# with a link to that page:
# https://naalakkersuisut.gl/Nyheder/2023/10/2710_sommertid
# ... Ittoqqortoormiit joins the time of Nuuk at March 2024.
# What would mean that America/Scoresbysund would either be in -01 year round
# or in -02/-01 like America/Nuuk, but no longer in -01/+00.
#
# From Paul Eggert (2023-10-29):
# For now, assume it will be like America/Nuuk.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Thule 1991 1992 - Mar lastSun 2:00 1:00 D
@@ -1166,10 +1208,12 @@ Zone America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28
Zone America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 # Ittoqqortoormiit
-2:00 - -02 1980 Apr 6 2:00
-2:00 C-Eur -02/-01 1981 Mar 29
-1:00 EU -01/+00
-1:00 EU -01/+00 2024 Mar 31
-2:00 EU -02/-01
Zone America/Nuuk -3:26:56 - LMT 1916 Jul 28 # Godthåb
-3:00 - -03 1980 Apr 6 2:00
-3:00 EU -03/-02 2023 Oct 29 1:00u
-3:00 EU -03/-02 2023 Mar 26 1:00u
-2:00 - -02 2023 Oct 29 1:00u
-2:00 EU -02/-01
Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik
-4:00 Thule A%sT
@@ -3734,11 +3778,7 @@ Zone Europe/Istanbul 1:55:52 - LMT 1880
# and not at 3:00 as would have been under EU rules.
# This is why I have set the change to EU rules into May 1996,
# so that the change in March is stil covered by the Ukraine rule.
# The next change in October 1996 happened under EU rules....
# TZ database holds three other zones for Ukraine.... I have not yet
# worked out the consequences for these three zones, as we (me and my
# US colleague David Cochrane) are still trying to get more
# information upon these local deviations from Kiev rules.
# The next change in October 1996 happened under EU rules.
#
# From Paul Eggert (2022-08-27):
# For now, assume that Ukraine's zones all followed the same rules,

View File

@@ -26,17 +26,22 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
# From Paul Eggert (2022-11-18):
# From Paul Eggert (2023-09-06):
# This file contains a table of two-letter country codes. Columns are
# separated by a single tab. Lines beginning with '#' are comments.
# All text uses UTF-8 encoding. The columns of the table are as follows:
#
# 1. ISO 3166-1 alpha-2 country code, current as of
# ISO 3166-1 N1087 (2022-09-02). See: Updates on ISO 3166-1
# https://isotc.iso.org/livelink/livelink/Open/16944257
# 2. The usual English name for the coded region,
# chosen so that alphabetic sorting of subsets produces helpful lists.
# This is not the same as the English name in the ISO 3166 tables.
# ISO/TC 46 N1108 (2023-04-05). See: ISO/TC 46 Documents
# https://www.iso.org/committee/48750.html?view=documents
# 2. The usual English name for the coded region. This sometimes
# departs from ISO-listed names, sometimes so that sorted subsets
# of names are useful (e.g., "Samoa (American)" and "Samoa
# (western)" rather than "American Samoa" and "Samoa"),
# sometimes to avoid confusion among non-experts (e.g.,
# "Czech Republic" and "Turkey" rather than "Czechia" and "Türkiye"),
# and sometimes to omit needless detail or churn (e.g., "Netherlands"
# rather than "Netherlands (the)" or "Netherlands (Kingdom of the)").
#
# The table is sorted by country code.
#

View File

@@ -26,13 +26,10 @@
# This file is in the public domain.
# This file is generated automatically from the data in the public-domain
# NIST format leap-seconds.list file, which can be copied from
# <ftp://ftp.nist.gov/pub/time/leap-seconds.list>
# or <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>.
# The NIST file is used instead of its IERS upstream counterpart
# NIST/IERS format leap-seconds.list file, which can be copied from
# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>
# because under US law the NIST file is public domain
# whereas the IERS file's copyright and license status is unclear.
# or, in a variant with different comments, from
# <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>.
# For more about leap-seconds.list, please see
# The NTP Timescale and Leap Seconds
# <https://www.eecis.udel.edu/~mills/leap.html>.
@@ -95,11 +92,11 @@ Leap 2016 Dec 31 23:59:60 + S
# Any additional leap seconds will come after this.
# This Expires line is commented out for now,
# so that pre-2020a zic implementations do not reject this file.
#Expires 2023 Dec 28 00:00:00
#Expires 2024 Dec 28 00:00:00
# POSIX timestamps for the data in this file:
#updated 1467936000 (2016-07-08 00:00:00 UTC)
#expires 1703721600 (2023-12-28 00:00:00 UTC)
#updated 1704708379 (2024-01-08 10:06:19 UTC)
#expires 1735344000 (2024-12-28 00:00:00 UTC)
# Updated through IERS Bulletin C65
# File expires on: 28 December 2023
# Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat)
# File expires on 28 December 2024

View File

@@ -1,3 +1,4 @@
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -1290,6 +1291,10 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
# <http://cs.ucla.edu/~eggert/The-Waste-of-Daylight-19th.pdf>
# [PDF] (1914-03)
#
# For the 1911/1912 establishment of standard time in French possessions, see:
# Société Française de Physique, Recueil de constantes physiques (1913),
# page 752, 18b.
#
# See the 'europe' file for Greenland.
# Canada
@@ -1376,7 +1381,7 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
# From Paul Eggert (2014-10-18):
# H. David Matthews and Mary Vincent's map
# "It's about TIME", _Canadian Geographic_ (September-October 1998)
# http://www.canadiangeographic.ca/Magazine/SO98/alacarte.asp
# https://web.archive.org/web/19990827055050/https://canadiangeographic.ca/SO98/geomap.htm
# contains detailed boundaries for regions observing nonstandard
# time and daylight saving time arrangements in Canada circa 1998.
#
@@ -1475,7 +1480,7 @@ Rule StJohns 1989 2006 - Apr Sun>=1 0:01 1:00 D
Rule StJohns 2007 2011 - Mar Sun>=8 0:01 1:00 D
Rule StJohns 2007 2010 - Nov Sun>=1 0:01 0 S
#
# St John's has an apostrophe, but Posix file names can't have apostrophes.
# St John's has an apostrophe, but POSIX file names can't have apostrophes.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/St_Johns -3:30:52 - LMT 1884
-3:30:52 StJohns N%sT 1918
@@ -1664,6 +1669,15 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
# Some cities in the United States have pushed the deadline back
# three weeks and will change over from daylight saving in October.
# From Chris Walton (2024-01-09):
# The [Toronto] changes in 1947, 1948, and 1949 took place at 2:00 a.m. local
# time instead of midnight.... Toronto Daily Star - ...
# April 2, 1947 - Page 39 ... April 7, 1948 - Page 13 ...
# April 2, 1949 - Page 1 ... April 7, 1949 - Page 24 ...
# November 25, 1949 - Page 52 ... April 21, 1950 - Page 14 ...
# September 19, 1950 - Page 46 ... September 20, 1950 - Page 3 ...
# November 24, 1950 - Page 21
# From Arthur David Olson (2010-07-17):
#
# "Standard Time and Time Zones in Canada" appeared in
@@ -1725,13 +1739,9 @@ Rule Toronto 1927 1937 - Sep Sun>=25 2:00 0 S
Rule Toronto 1928 1937 - Apr Sun>=25 2:00 1:00 D
Rule Toronto 1938 1940 - Apr lastSun 2:00 1:00 D
Rule Toronto 1938 1939 - Sep lastSun 2:00 0 S
Rule Toronto 1945 1946 - Sep lastSun 2:00 0 S
Rule Toronto 1946 only - Apr lastSun 2:00 1:00 D
Rule Toronto 1947 1949 - Apr lastSun 0:00 1:00 D
Rule Toronto 1947 1948 - Sep lastSun 0:00 0 S
Rule Toronto 1949 only - Nov lastSun 0:00 0 S
Rule Toronto 1950 1973 - Apr lastSun 2:00 1:00 D
Rule Toronto 1950 only - Nov lastSun 2:00 0 S
Rule Toronto 1945 1948 - Sep lastSun 2:00 0 S
Rule Toronto 1946 1973 - Apr lastSun 2:00 1:00 D
Rule Toronto 1949 1950 - Nov lastSun 2:00 0 S
Rule Toronto 1951 1956 - Sep lastSun 2:00 0 S
# Shanks & Pottenger say Toronto ended DST a week early in 1971,
# namely on 1971-10-24, but Mark Brader wrote (2003-05-31) that this
@@ -3454,7 +3464,7 @@ Zone America/Jamaica -5:07:10 - LMT 1890 # Kingston
# Martinique
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
-4:04:20 - FFMT 1911 May # Fort-de-France MT
-4:04:20 - FFMT 1911 May 1 # Fort-de-France MT
-4:00 - AST 1980 Apr 6
-4:00 1:00 ADT 1980 Sep 28
-4:00 - AST
@@ -3561,7 +3571,7 @@ Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan
# St Pierre and Miquelon
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
Zone America/Miquelon -3:44:40 - LMT 1911 Jun 15 # St Pierre
-4:00 - AST 1980 May
-3:00 - -03 1987
-3:00 Canada -03/-02

View File

@@ -1593,8 +1593,11 @@ Zone Atlantic/Stanley -3:51:24 - LMT 1890
-3:00 - -03
# French Guiana
# For the 1911/1912 establishment of standard time in French possessions, see:
# Société Française de Physique, Recueil de constantes physiques (1913),
# page 752, 18b.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Cayenne -3:29:20 - LMT 1911 Jul
Zone America/Cayenne -3:29:20 - LMT 1911 Jul 1
-4:00 - -04 1967 Oct
-3:00 - -03
@@ -1720,6 +1723,12 @@ Rule Para 2010 2012 - Apr Sun>=8 0:00 0 -
# From Carlos Raúl Perasso (2014-02-28):
# Decree 1264 can be found at:
# http://www.presidencia.gov.py/archivos/documentos/DECRETO1264_ey9r8zai.pdf
#
# From Paul Eggert (2023-07-26):
# Transition dates are now set by Law No. 7115, not by presidential decree.
# https://www.abc.com.py/politica/2023/07/12/promulgacion-el-cambio-de-hora-sera-por-ley/
# From Carlos Raúl Perasso (2023-07-27):
# http://silpy.congreso.gov.py/descarga/ley-144138
Rule Para 2013 max - Mar Sun>=22 0:00 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]

View File

@@ -71,7 +71,7 @@ AR -3124-06411 America/Argentina/Cordoba Argentina (most areas: CB, CC, CN, ER,
AR -2447-06525 America/Argentina/Salta Salta (SA, LP, NQ, RN)
AR -2411-06518 America/Argentina/Jujuy Jujuy (JY)
AR -2649-06513 America/Argentina/Tucuman Tucuman (TM)
AR -2828-06547 America/Argentina/Catamarca Catamarca (CT); Chubut (CH)
AR -2828-06547 America/Argentina/Catamarca Catamarca (CT), Chubut (CH)
AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR)
AR -3132-06831 America/Argentina/San_Juan San Juan (SJ)
AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ)
@@ -110,7 +110,7 @@ BN +0456+11455 Asia/Brunei
BO -1630-06809 America/La_Paz
BQ +120903-0681636 America/Kralendijk
BR -0351-03225 America/Noronha Atlantic islands
BR -0127-04829 America/Belem Para (east); Amapa
BR -0127-04829 America/Belem Para (east), Amapa
BR -0343-03830 America/Fortaleza Brazil (northeast: MA, PI, CE, RN, PB)
BR -0803-03454 America/Recife Pernambuco
BR -0712-04812 America/Araguaina Tocantins
@@ -130,21 +130,21 @@ BT +2728+08939 Asia/Thimphu
BW -2439+02555 Africa/Gaborone
BY +5354+02734 Europe/Minsk
BZ +1730-08812 America/Belize
CA +4734-05243 America/St_Johns Newfoundland; Labrador (southeast)
CA +4439-06336 America/Halifax Atlantic - NS (most areas); PE
CA +4734-05243 America/St_Johns Newfoundland, Labrador (SE)
CA +4439-06336 America/Halifax Atlantic - NS (most areas), PE
CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton)
CA +4606-06447 America/Moncton Atlantic - New Brunswick
CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore)
CA +4339-07923 America/Toronto Eastern - ON, QC (most areas)
CA +4339-07923 America/Toronto Eastern - ON & QC (most areas)
CA +6344-06828 America/Iqaluit Eastern - NU (most areas)
CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H)
CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba
CA +484531-0913718 America/Atikokan EST - ON (Atikokan), NU (Coral H)
CA +4953-09709 America/Winnipeg Central - ON (west), Manitoba
CA +744144-0944945 America/Resolute Central - NU (Resolute)
CA +624900-0920459 America/Rankin_Inlet Central - NU (central)
CA +5024-10439 America/Regina CST - SK (most areas)
CA +5017-10750 America/Swift_Current CST - SK (midwest)
CA +5333-11328 America/Edmonton Mountain - AB; BC (E); NT (E); SK (W)
CA +5333-11328 America/Edmonton Mountain - AB, BC(E), NT(E), SK(W)
CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west)
CA +682059-1334300 America/Inuvik Mountain - NT (west)
CA +4906-11631 America/Creston MST - BC (Creston)
@@ -230,8 +230,8 @@ HT +1832-07220 America/Port-au-Prince
HU +4730+01905 Europe/Budapest
ID -0610+10648 Asia/Jakarta Java, Sumatra
ID -0002+10920 Asia/Pontianak Borneo (west, central)
ID -0507+11924 Asia/Makassar Borneo (east, south); Sulawesi/Celebes, Bali, Nusa Tengarra; Timor (west)
ID -0232+14042 Asia/Jayapura New Guinea (West Papua / Irian Jaya); Malukus/Moluccas
ID -0507+11924 Asia/Makassar Borneo (east, south), Sulawesi/Celebes, Bali, Nusa Tengarra, Timor (west)
ID -0232+14042 Asia/Jayapura New Guinea (West Papua / Irian Jaya), Malukus/Moluccas
IE +5320-00615 Europe/Dublin
IL +314650+0351326 Asia/Jerusalem
IM +5409-00428 Europe/Isle_of_Man
@@ -378,7 +378,7 @@ RU +4310+13156 Asia/Vladivostok MSK+07 - Amur River
RU +643337+1431336 Asia/Ust-Nera MSK+07 - Oymyakonsky
RU +5934+15048 Asia/Magadan MSK+08 - Magadan
RU +4658+14242 Asia/Sakhalin MSK+08 - Sakhalin Island
RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E); N Kuril Is
RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E), N Kuril Is
RU +5301+15839 Asia/Kamchatka MSK+09 - Kamchatka
RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea
RW -0157+03004 Africa/Kigali
@@ -441,7 +441,7 @@ US +470659-1011757 America/North_Dakota/Center Central - ND (Oliver)
US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural)
US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer)
US +394421-1045903 America/Denver Mountain (most areas)
US +433649-1161209 America/Boise Mountain - ID (south); OR (east)
US +433649-1161209 America/Boise Mountain - ID (south), OR (east)
US +332654-1120424 America/Phoenix MST - AZ (except Navajo)
US +340308-1181434 America/Los_Angeles Pacific
US +611305-1495401 America/Anchorage Alaska (most areas)

View File

@@ -1,6 +1,6 @@
#!/bin/bash -e
#
# Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 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
@@ -40,10 +40,22 @@ mkdir -p $BUILD_DIR $JAR_DIR
cd $JAR_DIR
rm -f *
wget https://repo.maven.apache.org/maven2/org/apache/commons/commons-math3/$COMMONS_MATH3_VERSION/commons-math3-$COMMONS_MATH3_VERSION.jar
wget https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/$JOPT_SIMPLE_VERSION/jopt-simple-$JOPT_SIMPLE_VERSION.jar
wget https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-core/$JMH_VERSION/jmh-core-$JMH_VERSION.jar
wget https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-generator-annprocess/$JMH_VERSION/jmh-generator-annprocess-$JMH_VERSION.jar
fetchJar() {
url="https://repo.maven.apache.org/maven2/$1/$2/$3/$2-$3.jar"
if command -v curl > /dev/null; then
curl -O --fail $url
elif command -v wget > /dev/null; then
wget $url
else
echo "Could not find either curl or wget"
exit 1
fi
}
fetchJar org/apache/commons commons-math3 $COMMONS_MATH3_VERSION
fetchJar net/sf/jopt-simple jopt-simple $JOPT_SIMPLE_VERSION
fetchJar org/openjdk/jmh jmh-core $JMH_VERSION
fetchJar org/openjdk/jmh jmh-generator-annprocess $JMH_VERSION
tar -cvzf ../$BUNDLE_NAME *

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2001, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 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
@@ -32,6 +32,7 @@ import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
@@ -339,9 +340,15 @@ public class GenerateCurrencyData {
validCurrencyCodes.substring(i * 7 + 3, i * 7 + 6));
checkCurrencyCode(currencyCode);
int tableEntry = mainTable[(currencyCode.charAt(0) - 'A') * A_TO_Z + (currencyCode.charAt(1) - 'A')];
if (tableEntry == INVALID_COUNTRY_ENTRY ||
(tableEntry & SPECIAL_CASE_COUNTRY_MASK) != 0 ||
(tableEntry & SIMPLE_CASE_COUNTRY_FINAL_CHAR_MASK) != (currencyCode.charAt(2) - 'A')) {
// Do not allow a future currency to be classified as an otherCurrency,
// otherwise it will leak out into Currency:getAvailableCurrencies
boolean futureCurrency = Arrays.asList(specialCaseNewCurrencies).contains(currencyCode);
boolean simpleCurrency = (tableEntry & SIMPLE_CASE_COUNTRY_FINAL_CHAR_MASK) == (currencyCode.charAt(2) - 'A');
// If neither a simple currency, or one defined in the future
// then the current currency is applicable to be added to the otherTable
if (!futureCurrency && !simpleCurrency) {
if (otherCurrenciesCount == maxOtherCurrencies) {
throw new RuntimeException("too many other currencies");
}

View File

@@ -474,7 +474,6 @@ else
LIBFREETYPE_LIBS := -lfreetype
endif
# gcc_ftobjs.c := maybe-uninitialized required for GCC 7 builds.
$(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
NAME := freetype, \
OPTIMIZATION := HIGHEST, \
@@ -483,7 +482,6 @@ else
EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \
DISABLED_WARNINGS_microsoft := 4018 4267 4244 4312 4819, \
DISABLED_WARNINGS_gcc := implicit-fallthrough cast-function-type bad-function-cast dangling-pointer stringop-overflow, \
DISABLED_WARNINGS_gcc_ftobjs.c := maybe-uninitialized, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
))
@@ -518,8 +516,13 @@ else
# hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
LIBFONTMANAGER_EXCLUDE_FILES += libharfbuzz/hb-ft.cc
# list of disabled warnings and the compilers for which it was specifically added.
# array-bounds -> GCC 12 on Alpine Linux
# parentheses -> GCC 6
# range-loop-analysis -> clang on Xcode12
HARFBUZZ_DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing \
array-bounds
array-bounds parentheses
# noexcept-type required for GCC 7 builds. Not required for GCC 8+.
# expansion-to-defined required for GCC 9 builds. Not required for GCC 10+.
HARFBUZZ_DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2020, 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
@@ -27,7 +27,7 @@ include LibCommon.gmk
################################################################################
ifeq ($(call isTargetOs, linux macosx), true)
ifeq ($(call isTargetOs, linux macosx windows), true)
$(eval $(call SetupJdkLibrary, BUILD_LIBEXTNET, \
NAME := extnet, \
@@ -35,8 +35,9 @@ ifeq ($(call isTargetOs, linux macosx), true)
CFLAGS := $(CFLAGS_JDKLIB), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := -ljava, \
LIBS_unix := -ljava, \
LIBS_linux := -ljvm, \
LIBS_windows := jvm.lib ws2_32.lib $(WIN_JAVA_LIB), \
))
$(BUILD_LIBEXTNET): $(call FindLib, java.base, java)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 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
@@ -36,9 +36,11 @@ TEST_LIB_SUPPORT := $(SUPPORT_OUTPUTDIR)/test/lib
$(eval $(call SetupJavaCompilation, BUILD_WB_JAR, \
TARGET_RELEASE := $(TARGET_RELEASE_NEWJDK_UPGRADED), \
SRC := $(TEST_LIB_SOURCE_DIR)/sun, \
SRC := $(TEST_LIB_SOURCE_DIR)/jdk/test/whitebox/, \
BIN := $(TEST_LIB_SUPPORT)/wb_classes, \
JAR := $(TEST_LIB_SUPPORT)/wb.jar, \
DISABLED_WARNINGS := deprecation removal preview, \
JAVAC_FLAGS := --enable-preview, \
))
TARGETS += $(BUILD_WB_JAR)
@@ -50,7 +52,14 @@ $(eval $(call SetupJavaCompilation, BUILD_TEST_LIB_JAR, \
BIN := $(TEST_LIB_SUPPORT)/test-lib_classes, \
HEADERS := $(TEST_LIB_SUPPORT)/test-lib_headers, \
JAR := $(TEST_LIB_SUPPORT)/test-lib.jar, \
DISABLED_WARNINGS := try deprecation rawtypes unchecked serial cast, \
DISABLED_WARNINGS := try deprecation rawtypes unchecked serial cast removal preview, \
JAVAC_FLAGS := --add-exports java.base/sun.security.util=ALL-UNNAMED \
--add-exports java.base/jdk.internal.classfile=ALL-UNNAMED \
--add-exports java.base/jdk.internal.classfile.attribute=ALL-UNNAMED \
--add-exports java.base/jdk.internal.classfile.constantpool=ALL-UNNAMED \
--add-exports java.base/jdk.internal.classfile.java.lang.constant=ALL-UNNAMED \
--add-exports java.base/jdk.internal.module=ALL-UNNAMED \
--enable-preview, \
))
TARGETS += $(BUILD_TEST_LIB_JAR)

View File

@@ -144,12 +144,14 @@ ifeq ($(call isTargetOs, linux), true)
NO_FRAMEPOINTER_CFLAGS := -fomit-frame-pointer
endif
JVMTI_COMMON_INCLUDES=-I$(TOPDIR)/test/lib/jdk/test/lib/jvmti
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libNoFramePointer := $(NO_FRAMEPOINTER_CFLAGS)
# Optimization -O3 needed, HIGH == -O3
BUILD_HOTSPOT_JTREG_LIBRARIES_OPTIMIZATION_libNoFramePointer := HIGH
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS := -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS := -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS := -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS $(JVMTI_COMMON_INCLUDES)
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS := -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS $(JVMTI_COMMON_INCLUDES)
BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libProcessUtils := $(VM_SHARE_INCLUDES)

View File

@@ -66,9 +66,11 @@ ifeq ($(call isTargetOs, windows), true)
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeCallerAccessTest := jvm.lib
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exerevokeall := advapi32.lib
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libAsyncStackWalk := /EHsc
BUILD_JDK_JTREG_LIBRARIES_LIBS_libGetXSpace := $(WIN_LIB_JAVA)
else
BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := -ljava
BUILD_JDK_JTREG_LIBRARIES_LIBS_libDirectIO := -ljava
BUILD_JDK_JTREG_LIBRARIES_LIBS_libGetXSpace := -ljava
BUILD_JDK_JTREG_EXCLUDE += exerevokeall.c
ifeq ($(call isTargetOs, linux), true)
BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
@@ -108,6 +110,8 @@ ifeq ($(call isTargetOs, linux), true)
# stripping during the test libraries' build.
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libFib := -g
BUILD_JDK_JTREG_LIBRARIES_STRIP_SYMBOLS_libFib := false
# nio tests' libCreationTimeHelper native needs -ldl linker flag
BUILD_JDK_JTREG_LIBRARIES_LIBS_libCreationTimeHelper := -ldl
endif
# This evaluation is expensive and should only be done if this target was

View File

@@ -1,74 +0,0 @@
#
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# - Neither the name of Oracle nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
SOURCEPATH=src
CLASSES=build
DIST=dist
RESOURCES=resources
RENDERPERF_CLASSES = $(CLASSES)/renderperf/RenderPerfTest.class
RENDERPERF_SOURCES = $(SOURCEPATH)/renderperf/RenderPerfTest.java
RENDERPERF_RESOURCES = $(CLASSES)/renderperf/images/duke.png
all: mkdirs $(DIST)/RenderPerfTest.jar
run: mkdirs $(DIST)/RenderPerfTest.jar
java -jar $(DIST)/RenderPerfTest.jar
$(DIST)/RenderPerfTest.jar: \
$(RENDERPERF_CLASSES) $(RENDERPERF_RESOURCES) \
$(CLASSES)/renderperf.manifest
jar cvmf $(CLASSES)/renderperf.manifest $(DIST)/RenderPerfTest.jar -C $(CLASSES) .
$(CLASSES)/renderperf/images/%: $(RESOURCES)/images/%
cp -r $< $@
$(CLASSES)/renderperf.manifest:
echo "Main-Class: renderperf.RenderPerfTest" > $@
$(DIST):
mkdir $(DIST)
$(CLASSES):
mkdir $(CLASSES)
mkdir -p $(CLASSES)/renderperf/images
mkdirs: $(DIST) $(CLASSES)
$(RENDERPERF_CLASSES): $(RENDERPERF_SOURCES)
javac -g:none -d $(CLASSES) -sourcepath $(SOURCEPATH) $<
clean:
rm -rf $(CLASSES)
rm -rf $(DIST)

View File

@@ -1,34 +0,0 @@
-----------------------------------------------------------------------
Introduction
-----------------------------------------------------------------------
RenderPerfTest is a set of on-screen rendering microbenchmarks to
analyze the performance of Java2D graphical primitives rendering
-----------------------------------------------------------------------
How To Compile
-----------------------------------------------------------------------
#> cd RenderPerfTest
The benchmark can be compiled by using either ant:
#> ant
or gnumake (assuming there's 'javac' in the path):
#> gnumake
The jar files will be generated into RenderPerfTest/dist directory.
-----------------------------------------------------------------------
How To Run RenderPerfTest
-----------------------------------------------------------------------
Run all tests
#> ant run
or
#> java -jar dist/RenderPerfTest.jar
Run particular test cases
#> java -jar dist/RenderPerfTest.jar testWhiteTextBubblesGray ...

View File

@@ -1,94 +0,0 @@
<!--
Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
- Neither the name of Oracle nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<project name="RenderPerfTest" default="dist" basedir=".">
<description>
simple example build file
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="dist" location="dist"/>
<property name="resources" location="resources"/>
<target name="init">
<!-- Create the time stamp -->
<tstamp/>
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac includeantruntime="false" debug="off" srcdir="${src}" destdir="${build}"/>
</target>
<target name="run" depends="dist"
description="run RenderPerfTest" >
<java jar="${dist}/RenderPerfTest.jar"
fork="true"
>
</java>
</target>
<target name="resources" depends="init"
description="copy resources into build dir" >
<!-- Copy the resource files from ${resources} into ${build}/ -->
<mkdir dir="${dist}"/>
<mkdir dir="${dist}/renderperf"/>
<mkdir dir="${build}/renderperf/images"/>
<copy todir="${build}/renderperf/images">
<fileset dir="resources/renderperf/images" />
</copy>
</target>
<target name="dist" depends="compile, resources"
description="generate the distribution" >
<!-- Create the distribution directory -->
<mkdir dir="${dist}"/>
<!-- Put everything in ${build} into the J2DBench.jar file -->
<jar jarfile="${dist}/RenderPerfTest.jar" basedir="${build}">
<manifest>
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Main-Class" value="renderperf.RenderPerfTest"/>
</manifest>
</jar>
</target>
<target name="clean"
description="clean up" >
<!-- Delete the ${build} and ${dist} directory trees -->
<delete dir="${build}"/>
<delete dir="${dist}"/>
</target>
</project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,739 +0,0 @@
/*
* Copyright (c) 2019, 2020 Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package renderperf;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.geom.AffineTransform;
import java.awt.geom.Point2D;
import java.awt.geom.QuadCurve2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashSet;
import java.util.Objects;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicBoolean;
public class RenderPerfTest {
private static HashSet<String> ignoredTests = new HashSet<>();
private final static int N = 1000;
private final static float WIDTH = 800;
private final static float HEIGHT = 800;
private final static float R = 25;
private final static int BW = 50;
private final static int BH = 50;
private final static int COUNT = 300;
private final static int DELAY = 10;
private final static int RESOLUTION = 5;
private final static int COLOR_TOLERANCE = 10;
private final static int MAX_MEASURE_TIME = 5000;
interface Configurable {
void configure(Graphics2D g2d);
}
interface Renderable {
void setup(Graphics2D g2d);
void render(Graphics2D g2d);
void update();
}
static class Particles {
private float[] bx;
private float[] by;
private float[] vx;
private float[] vy;
private float r;
private int n;
private float x0;
private float y0;
private float width;
private float height;
Particles(int n, float r, float x0, float y0, float width, float height) {
bx = new float[n];
by = new float[n];
vx = new float[n];
vy = new float[n];
this.n = n;
this.r = r;
this.x0 = x0;
this.y0 = y0;
this.width = width;
this.height = height;
for (int i = 0; i < n; i++) {
bx[i] = (float) (x0 + r + 0.1 + Math.random() * (width - 2 * r - 0.2 - x0));
by[i] = (float) (y0 + r + 0.1 + Math.random() * (height - 2 * r - 0.2 - y0));
vx[i] = 0.1f * (float) (Math.random() * 2 * r - r);
vy[i] = 0.1f * (float) (Math.random() * 2 * r - r);
}
}
void render(Graphics2D g2d, ParticleRenderer renderer) {
for (int i = 0; i < n; i++) {
renderer.render(g2d, i, bx, by, vx, vy);
}
}
void update() {
for (int i = 0; i < n; i++) {
bx[i] += vx[i];
if (bx[i] + r > width || bx[i] - r < x0) vx[i] = -vx[i];
by[i] += vy[i];
if (by[i] + r > height || by[i] - r < y0) vy[i] = -vy[i];
}
}
}
ParticleRenderable createPR(ParticleRenderer renderer) {
return new ParticleRenderable(renderer);
}
static class ParticleRenderable implements Renderable {
ParticleRenderer renderer;
Configurable configure;
ParticleRenderable(ParticleRenderer renderer, Configurable configure) {
this.renderer = renderer;
this.configure = configure;
}
ParticleRenderable(ParticleRenderer renderer) {
this(renderer, null);
}
@Override
public void setup(Graphics2D g2d) {
if (configure != null) configure.configure(g2d);
}
@Override
public void render(Graphics2D g2d) {
balls.render(g2d, renderer);
}
@Override
public void update() {
balls.update();
}
public ParticleRenderable configure(Configurable configure) {
this.configure = configure;
return this;
}
}
interface ParticleRenderer {
void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy);
}
static class FlatParticleRenderer implements ParticleRenderer {
Color[] colors;
float r;
FlatParticleRenderer(int n, float r) {
colors = new Color[n];
this.r = r;
for (int i = 0; i < n; i++) {
colors[i] = new Color((float) Math.random(),
(float) Math.random(), (float) Math.random());
}
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
g2d.fillOval((int)(x[id] - r), (int)(y[id] - r), (int)(2*r), (int)(2*r));
}
}
static class WhiteTextParticleRenderer implements ParticleRenderer {
float r;
WhiteTextParticleRenderer(float r) {
this.r = r;
}
void setPaint(Graphics2D g2d, int id) {
g2d.setColor(Color.WHITE);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
setPaint(g2d, id);
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)(y[id] - r));
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)y[id]);
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)(y[id] + r));
}
}
static class TextParticleRenderer extends WhiteTextParticleRenderer {
Color[] colors;
float r;
TextParticleRenderer(int n, float r) {
super(r);
colors = new Color[n];
this.r = r;
for (int i = 0; i < n; i++) {
colors[i] = new Color((float) Math.random(),
(float) Math.random(), (float) Math.random());
}
}
void setPaint(Graphics2D g2d, int id) {
g2d.setColor(colors[id % colors.length]);
}
}
static class LargeTextParticleRenderer extends TextParticleRenderer {
LargeTextParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
setPaint(g2d, id);
Font font = new Font("LucidaGrande", Font.PLAIN, 32);
g2d.setFont(font);
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)(y[id] - r));
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)y[id]);
g2d.drawString("The quick brown fox jumps over the lazy dog",
(int)(x[id] - r), (int)(y[id] + r));
}
}
static class FlatOvalRotParticleRenderer extends FlatParticleRenderer {
FlatOvalRotParticleRenderer(int n, float r) {
super(n, r);
}
void setPaint(Graphics2D g2d, int id) {
g2d.setColor(colors[id % colors.length]);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
setPaint(g2d, id);
if (Math.abs(vx[id] + vy[id]) > 0.001) {
AffineTransform t = (AffineTransform) g2d.getTransform().clone();
double l = vx[id] / Math.sqrt(vx[id] * vx[id] + vy[id] * vy[id]);
if (vy[id] < 0) {
l = -l;
}
g2d.translate(x[id], y[id]);
g2d.rotate(Math.acos(l));
g2d.fillOval(-(int)r, (int)(-0.5*r), (int) (2 * r), (int)r);
g2d.setTransform(t);
} else {
g2d.fillOval((int)(x[id] - r), (int)(y[id] - 0.5*r),
(int) (2 * r), (int) r);
}
}
}
static class LinGradOvalRotParticleRenderer extends FlatOvalRotParticleRenderer {
LinGradOvalRotParticleRenderer(int n, float r) {
super(n, r);
}
@Override
void setPaint(Graphics2D g2d, int id) {
Point2D start = new Point2D.Double(- r, - 0.5*r);
Point2D end = new Point2D.Double( 2 * r, r);
float[] dist = {0.0f, 1.0f};
Color[] cls = {colors[id %colors.length], colors[(colors.length - id) %colors.length]};
LinearGradientPaint p =
new LinearGradientPaint(start, end, dist, cls);
g2d.setPaint(p);
}
}
static class FlatBoxParticleRenderer extends FlatParticleRenderer {
FlatBoxParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
g2d.fillRect((int)(x[id] - r), (int)(y[id] - r), (int)(2*r), (int)(2*r));
}
}
static class ImgParticleRenderer extends FlatParticleRenderer {
BufferedImage dukeImg;
ImgParticleRenderer(int n, float r) {
super(n, r);
try {
dukeImg = ImageIO.read(
Objects.requireNonNull(
RenderPerfTest.class.getClassLoader().getResourceAsStream(
"renderperf/images/duke.png")));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
g2d.drawImage(dukeImg, (int)(x[id] - r), (int)(y[id] - r), (int)(2*r), (int)(2*r), null);
}
}
static class FlatBoxRotParticleRenderer extends FlatParticleRenderer {
FlatBoxRotParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
if (Math.abs(vx[id] + vy[id]) > 0.001) {
AffineTransform t = (AffineTransform) g2d.getTransform().clone();
double l = vx[id] / Math.sqrt(vx[id] * vx[id] + vy[id] * vy[id]);
if (vy[id] < 0) {
l = -l;
}
g2d.translate(x[id], y[id]);
g2d.rotate(Math.acos(l));
g2d.fillRect(-(int)r, -(int)r, (int) (2 * r), (int) (2 * r));
g2d.setTransform(t);
} else {
g2d.fillRect((int)(x[id] - r), (int)(y[id] - r),
(int) (2 * r), (int) (2 * r));
}
}
}
static class WiredParticleRenderer extends FlatParticleRenderer {
WiredParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
g2d.drawOval((int)(x[id] - r), (int)(y[id] - r), (int)(2*r), (int)(2*r));
}
}
static class WiredBoxParticleRenderer extends FlatParticleRenderer {
WiredBoxParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
g2d.setColor(colors[id % colors.length]);
g2d.drawRect((int)(x[id] - r), (int)(y[id] - r), (int)(2*r), (int)(2*r));
}
}
static class SegParticleRenderer extends FlatParticleRenderer {
SegParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
double v = Math.sqrt(vx[id]*vx[id]+vy[id]*vy[id]);
float nvx = (float) (vx[id]/v);
float nvy = (float) (vy[id]/v);
g2d.setColor(colors[id % colors.length]);
g2d.drawLine((int)(x[id] - r*nvx), (int)(y[id] - r*nvy),
(int)(x[id] + 2*r*nvx), (int)(y[id] + 2*r*nvy));
}
}
static class WiredQuadParticleRenderer extends FlatParticleRenderer {
WiredQuadParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
if (id > 2 && (id % 3) == 0) {
g2d.setColor(colors[id % colors.length]);
g2d.draw(new QuadCurve2D.Float(x[id-3], y[id-3], x[id-2], y[id-2], x[id-1], y[id-1]));
}
}
}
static class FlatQuadParticleRenderer extends FlatParticleRenderer {
FlatQuadParticleRenderer(int n, float r) {
super(n, r);
}
@Override
public void render(Graphics2D g2d, int id, float[] x, float[] y, float[] vx, float[] vy) {
if (id > 2 && (id % 3) == 0) {
g2d.setColor(colors[id % colors.length]);
g2d.fill(new QuadCurve2D.Float(x[id-3], y[id-3], x[id-2], y[id-2], x[id-1], y[id-1]));
}
}
}
static class PerfMeter {
private String name;
private int frame = 0;
private JPanel panel;
private long time;
private double execTime = 0;
private Color expColor = Color.RED;
AtomicBoolean waiting = new AtomicBoolean(false);
private double fps;
PerfMeter(String name) {
this.name = name;
}
PerfMeter exec(final Renderable renderable) throws Exception {
final CountDownLatch latch = new CountDownLatch(COUNT);
final CountDownLatch latchFrame = new CountDownLatch(1);
final long endTime = System.currentTimeMillis() + MAX_MEASURE_TIME;
final JFrame f = new JFrame();
f.addWindowListener(new WindowAdapter() {
@Override
public void windowClosed(WindowEvent e) {
latchFrame.countDown();
}
});
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
panel = new JPanel()
{
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
time = System.nanoTime();
Graphics2D g2d = (Graphics2D) g.create();
renderable.setup(g2d);
renderable.render(g2d);
g2d.setColor(expColor);
g.fillRect(0, 0, BW, BH);
}
};
panel.setPreferredSize(new Dimension((int)(WIDTH + BW), (int)(HEIGHT + BH)));
panel.setBackground(Color.BLACK);
f.add(panel);
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
});
Robot robot = new Robot();
Timer timer = new Timer(DELAY, e -> {
if (waiting.compareAndSet(false, true)) {
Color c = robot.getPixelColor(
panel.getTopLevelAncestor().getX() + panel.getTopLevelAncestor().getInsets().left + BW / 2,
panel.getTopLevelAncestor().getY() + panel.getTopLevelAncestor().getInsets().top + BW / 2);
if (isAlmostEqual(c, Color.BLUE)) {
expColor = Color.RED;
} else {
expColor = Color.BLUE;
}
renderable.update();
panel.getParent().repaint();
} else {
while (!isAlmostEqual(
robot.getPixelColor(
panel.getTopLevelAncestor().getX() + panel.getTopLevelAncestor().getInsets().left + BW/2,
panel.getTopLevelAncestor().getY() + panel.getTopLevelAncestor().getInsets().top + BH/2),
expColor))
{
try {
Thread.sleep(RESOLUTION);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
time = System.nanoTime() - time;
execTime += time;
frame++;
waiting.set(false);
}
if (System.currentTimeMillis() < endTime) {
latch.countDown();
} else {
while(latch.getCount() > 0) latch.countDown();
}
});
timer.start();
latch.await();
SwingUtilities.invokeAndWait(() -> {
timer.stop();
f.setVisible(false);
f.dispose();
});
latchFrame.await();
if (execTime != 0 && frame != 0) {
fps = 1e9 / (execTime / frame);
} else {
fps = 0;
}
return this;
}
private void report() {
System.err.println(name + " : " + String.format("%.2f FPS", fps));
}
private boolean isAlmostEqual(Color c1, Color c2) {
return Math.abs(c1.getRed() - c2.getRed()) < COLOR_TOLERANCE ||
Math.abs(c1.getGreen() - c2.getGreen()) < COLOR_TOLERANCE ||
Math.abs(c1.getBlue() - c2.getBlue()) < COLOR_TOLERANCE;
}
}
private static final Particles balls = new Particles(N, R, BW, BH, WIDTH, HEIGHT);
private static final ParticleRenderer flatRenderer = new FlatParticleRenderer(N, R);
private static final ParticleRenderer flatOvalRotRenderer = new FlatOvalRotParticleRenderer(N, R);
private static final ParticleRenderer flatBoxRenderer = new FlatBoxParticleRenderer(N, R);
private static final ParticleRenderer flatBoxRotRenderer = new FlatBoxRotParticleRenderer(N, R);
private static final ParticleRenderer linGradOvalRotRenderer = new LinGradOvalRotParticleRenderer(N, R);
private static final ParticleRenderer wiredRenderer = new WiredParticleRenderer(N, R);
private static final ParticleRenderer wiredBoxRenderer = new WiredBoxParticleRenderer(N, R);
private static final ParticleRenderer segRenderer = new SegParticleRenderer(N, R);
private static final ParticleRenderer flatQuadRenderer = new FlatQuadParticleRenderer(N, R);
private static final ParticleRenderer wiredQuadRenderer = new WiredQuadParticleRenderer(N, R);
private static final ParticleRenderer imgRenderer = new ImgParticleRenderer(N, R);
private static final ParticleRenderer textRenderer = new TextParticleRenderer(N, R);
private static final ParticleRenderer largeTextRenderer = new LargeTextParticleRenderer(N, R);
private static final ParticleRenderer whiteTextRenderer = new WhiteTextParticleRenderer(R);
private static final Configurable AA = (Graphics2D g2d) ->
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
private static final Configurable TextLCD = (Graphics2D g2d) ->
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
private static final Configurable TextAA = (Graphics2D g2d) ->
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
public void testFlatBubbles() throws Exception {
(new PerfMeter("FlatOval")).exec(createPR(flatRenderer)).report();
}
public void testFlatBubblesAA() throws Exception {
(new PerfMeter("FlatOvalAA")).exec(createPR(flatRenderer).configure(AA)).report();
}
public void testFlatBoxBubbles() throws Exception {
(new PerfMeter("FlatBox")).exec(createPR(flatBoxRenderer)).report();
}
public void testFlatBoxBubblesAA() throws Exception {
(new PerfMeter("FlatBoxAA")).exec(createPR(flatBoxRenderer).configure(AA)).report();
}
public void testImgBubbles() throws Exception {
(new PerfMeter("Image")).exec(createPR(imgRenderer)).report();
}
public void testImgBubblesAA() throws Exception {
(new PerfMeter("ImageAA")).exec(createPR(imgRenderer).configure(AA)).report();
}
public void testFlatBoxRotBubbles() throws Exception {
(new PerfMeter("RotatedBox")).exec(createPR(flatBoxRotRenderer)).report();
}
public void testFlatBoxRotBubblesAA() throws Exception {
(new PerfMeter("RotatedBoxAA")).exec(createPR(flatBoxRotRenderer).configure(AA)).report();
}
public void testFlatOvalRotBubbles() throws Exception {
(new PerfMeter("RotatedOval")).exec(createPR(flatOvalRotRenderer)).report();
}
public void testFlatOvalRotBubblesAA() throws Exception {
(new PerfMeter("RotatedOvalAA")).exec(createPR(flatOvalRotRenderer).configure(AA)).report();
}
public void testLinGradOvalRotBubbles() throws Exception {
(new PerfMeter("LinGradRotatedOval")).exec(createPR(linGradOvalRotRenderer)).report();
}
public void testLinGradOvalRotBubblesAA() throws Exception {
(new PerfMeter("LinGradRotatedOvalAA")).exec(createPR(linGradOvalRotRenderer).configure(AA)).report();
}
public void testWiredBubbles() throws Exception {
(new PerfMeter("WiredBubbles")).exec(createPR(wiredRenderer)).report();
}
public void testWiredBubblesAA() throws Exception {
(new PerfMeter("WiredBubblesAA")).exec(createPR(wiredRenderer).configure(AA)).report();
}
public void testWiredBoxBubbles() throws Exception {
(new PerfMeter("WiredBox")).exec(createPR(wiredBoxRenderer)).report();
}
public void testWiredBoxBubblesAA() throws Exception {
(new PerfMeter("WiredBoxAA")).exec(createPR(wiredBoxRenderer).configure(AA)).report();
}
public void testLines() throws Exception {
(new PerfMeter("Lines")).exec(createPR(segRenderer)).report();
}
public void testLinesAA() throws Exception {
(new PerfMeter("LinesAA")).exec(createPR(segRenderer).configure(AA)).report();
}
public void testFlatQuad() throws Exception {
(new PerfMeter("FlatQuad")).exec(createPR(flatQuadRenderer)).report();
}
public void testFlatQuadAA() throws Exception {
(new PerfMeter("FlatQuadAA")).exec(createPR(flatQuadRenderer).configure(AA)).report();
}
public void testWiredQuad() throws Exception {
(new PerfMeter("WiredQuad")).exec(createPR(wiredQuadRenderer)).report();
}
public void testWiredQuadAA() throws Exception {
(new PerfMeter("WiredQuadAA")).exec(createPR(wiredQuadRenderer).configure(AA)).report();
}
public void testTextBubblesNoAA() throws Exception {
(new PerfMeter("TextNoAA")).exec(createPR(textRenderer)).report();
}
public void testTextBubblesLCD() throws Exception {
(new PerfMeter("TextLCD")).exec(createPR(textRenderer).configure(TextLCD)).report();
}
public void testTextBubblesGray() throws Exception {
(new PerfMeter("TextGray")).exec(createPR(textRenderer).configure(TextAA)).report();
}
public void testLargeTextBubblesNoAA() throws Exception {
(new PerfMeter("LargeTextNoAA")).exec(createPR(largeTextRenderer)).report();
}
public void testLargeTextBubblesLCD() throws Exception {
(new PerfMeter("LargeTextLCD")).exec(createPR(largeTextRenderer).configure(TextLCD)).report();
}
public void testLargeTextBubblesGray() throws Exception {
(new PerfMeter("LargeTextGray")).exec(createPR(largeTextRenderer).configure(TextAA)).report();
}
public void testWhiteTextBubblesNoAA() throws Exception {
(new PerfMeter("WhiteTextNoAA")).exec(createPR(whiteTextRenderer)).report();
}
public void testWhiteTextBubblesLCD() throws Exception {
(new PerfMeter("WhiteTextLCD")).exec(createPR(whiteTextRenderer).configure(TextLCD)).report();
}
public void testWhiteTextBubblesGray() throws Exception {
(new PerfMeter("WhiteTextGray")).exec(createPR(whiteTextRenderer).configure(TextAA)).report();
}
public static void main(String[] args)
throws InvocationTargetException, IllegalAccessException, NoSuchMethodException
{
RenderPerfTest test = new RenderPerfTest();
if (args.length > 0) {
for (String testCase : args) {
Method m = RenderPerfTest.class.getDeclaredMethod(testCase);
m.invoke(test);
}
} else {
Method[] methods = RenderPerfTest.class.getDeclaredMethods();
for (Method m : methods) {
if (m.getName().startsWith("test") && !ignoredTests.contains(m.getName())) {
m.invoke(test);
}
}
}
}
}

View File

@@ -282,7 +282,8 @@ void LIR_Assembler::osr_entry() {
__ bind(L);
}
#endif
__ ldp(r19, r20, Address(OSR_buf, slot_offset));
__ ldr(r19, Address(OSR_buf, slot_offset));
__ ldr(r20, Address(OSR_buf, slot_offset + BytesPerWord));
__ str(r19, frame_map()->address_for_monitor_lock(i));
__ str(r20, frame_map()->address_for_monitor_object(i));
}
@@ -2725,7 +2726,10 @@ void LIR_Assembler::emit_profile_type(LIR_OpProfileType* op) {
__ verify_oop(obj);
if (tmp != obj) {
assert_different_registers(obj, tmp, rscratch1, rscratch2, mdo_addr.base(), mdo_addr.index());
__ mov(tmp, obj);
} else {
assert_different_registers(obj, rscratch1, rscratch2, mdo_addr.base(), mdo_addr.index());
}
if (do_null) {
__ cbnz(tmp, update);
@@ -2782,10 +2786,11 @@ void LIR_Assembler::emit_profile_type(LIR_OpProfileType* op) {
__ cbz(rscratch2, none);
__ cmp(rscratch2, (u1)TypeEntries::null_seen);
__ br(Assembler::EQ, none);
// There is a chance that the checks above (re-reading profiling
// data from memory) fail if another thread has just set the
// There is a chance that the checks above
// fail if another thread has just set the
// profiling to this obj's klass
__ dmb(Assembler::ISHLD);
__ eor(tmp, tmp, rscratch2); // get back original value before XOR
__ ldr(rscratch2, mdo_addr);
__ eor(tmp, tmp, rscratch2);
__ andr(rscratch1, tmp, TypeEntries::type_klass_mask);
@@ -2810,6 +2815,10 @@ void LIR_Assembler::emit_profile_type(LIR_OpProfileType* op) {
__ bind(none);
// first time here. Set profile type.
__ str(tmp, mdo_addr);
#ifdef ASSERT
__ andr(tmp, tmp, TypeEntries::type_mask);
__ verify_klass_ptr(tmp);
#endif
}
} else {
// There's a single possible klass at this profile point
@@ -2841,6 +2850,10 @@ void LIR_Assembler::emit_profile_type(LIR_OpProfileType* op) {
#endif
// first time here. Set profile type.
__ str(tmp, mdo_addr);
#ifdef ASSERT
__ andr(tmp, tmp, TypeEntries::type_mask);
__ verify_klass_ptr(tmp);
#endif
} else {
assert(ciTypeEntries::valid_ciklass(current_klass) != NULL &&
ciTypeEntries::valid_ciklass(current_klass) != exact_klass, "inconsistent");

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -167,8 +167,10 @@ LIR_Address* LIRGenerator::generate_address(LIR_Opr base, LIR_Opr index,
if (index->is_register()) {
// apply the shift and accumulate the displacement
if (shift > 0) {
LIR_Opr tmp = new_pointer_register();
__ shift_left(index, shift, tmp);
// Use long register to avoid overflow when shifting large index values left.
LIR_Opr tmp = new_register(T_LONG);
__ convert(Bytecodes::_i2l, index, tmp);
__ shift_left(tmp, shift, tmp);
index = tmp;
}
if (large_disp != 0) {

View File

@@ -1638,7 +1638,7 @@ void InterpreterMacroAssembler::call_VM_base(Register oop_result,
}
void InterpreterMacroAssembler::profile_obj_type(Register obj, const Address& mdo_addr) {
assert_different_registers(obj, rscratch1);
assert_different_registers(obj, rscratch1, mdo_addr.base(), mdo_addr.index());
Label update, next, none;
verify_oop(obj);
@@ -1660,13 +1660,13 @@ void InterpreterMacroAssembler::profile_obj_type(Register obj, const Address& md
tbnz(obj, exact_log2(TypeEntries::type_unknown), next);
// already unknown. Nothing to do anymore.
ldr(rscratch1, mdo_addr);
cbz(rscratch1, none);
cmp(rscratch1, (u1)TypeEntries::null_seen);
br(Assembler::EQ, none);
// There is a chance that the checks above (re-reading profiling
// data from memory) fail if another thread has just set the
// There is a chance that the checks above
// fail if another thread has just set the
// profiling to this obj's klass
eor(obj, obj, rscratch1); // get back original value before XOR
ldr(rscratch1, mdo_addr);
eor(obj, obj, rscratch1);
tst(obj, TypeEntries::type_klass_mask);
@@ -1679,6 +1679,10 @@ void InterpreterMacroAssembler::profile_obj_type(Register obj, const Address& md
bind(none);
// first time here. Set profile type.
str(obj, mdo_addr);
#ifdef ASSERT
andr(obj, obj, TypeEntries::type_mask);
verify_klass_ptr(obj);
#endif
bind(next);
}

View File

@@ -29,8 +29,9 @@
// machine-dependent parts of class relocInfo
private:
enum {
// Relocations are byte-aligned.
offset_unit = 1,
// AArch64 instructions are always 4 bytes long and 4-aligned, so
// the two lowest offset bits can always be discarded.
offset_unit = 4,
// Must be at least 1 for RelocInfo::narrow_oop_in_const.
format_width = 1
};

View File

@@ -3134,7 +3134,7 @@ void LIR_Assembler::emit_profile_type(LIR_OpProfileType* op) {
// Klass seen before, nothing to do (regardless of unknown bit).
//beq(CCR1, do_nothing);
__ andi_(R0, klass, TypeEntries::type_unknown);
__ andi_(R0, tmp, TypeEntries::type_unknown);
// Already unknown. Nothing to do anymore.
//bne(CCR0, do_nothing);
__ crorc(CCR0, Assembler::equal, CCR1, Assembler::equal); // cr0 eq = cr1 eq or cr0 ne

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2019 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -164,8 +164,10 @@ LIR_Address* LIRGenerator::generate_address(LIR_Opr base, LIR_Opr index,
if (index->is_register()) {
// Apply the shift and accumulate the displacement.
if (shift > 0) {
LIR_Opr tmp = new_pointer_register();
__ shift_left(index, shift, tmp);
// Use long register to avoid overflow when shifting large index values left.
LIR_Opr tmp = new_register(T_LONG);
__ convert(Bytecodes::_i2l, index, tmp);
__ shift_left(tmp, shift, tmp);
index = tmp;
}
if (large_disp != 0) {

View File

@@ -143,7 +143,6 @@ inline intptr_t* frame::interpreter_frame_mdp_addr() const {
return (intptr_t*) &(get_ijava_state()->mdx);
}
// Pointer beyond the "oldest/deepest" BasicObjectLock on stack.
inline BasicObjectLock* frame::interpreter_frame_monitor_end() const {
return (BasicObjectLock*) get_ijava_state()->monitors;
}

View File

@@ -1734,7 +1734,7 @@ void InterpreterMacroAssembler::profile_obj_type(Register obj, Register mdo_addr
// Klass seen before, nothing to do (regardless of unknown bit).
//beq(CCR1, do_nothing);
andi_(R0, klass, TypeEntries::type_unknown);
andi_(R0, tmp, TypeEntries::type_unknown);
// Already unknown. Nothing to do anymore.
//bne(CCR0, do_nothing);
crorc(CCR0, Assembler::equal, CCR1, Assembler::equal); // cr0 eq = cr1 eq or cr0 ne
@@ -1933,7 +1933,7 @@ void InterpreterMacroAssembler::profile_parameters_type(Register tmp1, Register
}
}
// Add a InterpMonitorElem to stack (see frame_sparc.hpp).
// Add a monitor (see frame_ppc.hpp).
void InterpreterMacroAssembler::add_monitor_to_stack(bool stack_is_empty, Register Rtemp1, Register Rtemp2) {
// Very-local scratch registers.

View File

@@ -4045,90 +4045,78 @@ void TemplateTable::athrow() {
// at next monitor exit.
void TemplateTable::monitorenter() {
transition(atos, vtos);
__ verify_oop(R17_tos);
Register Rcurrent_monitor = R11_scratch1,
Rcurrent_obj = R12_scratch2,
Register Rcurrent_monitor = R3_ARG1,
Rcurrent_obj = R4_ARG2,
Robj_to_lock = R17_tos,
Rscratch1 = R3_ARG1,
Rscratch2 = R4_ARG2,
Rscratch3 = R5_ARG3,
Rcurrent_obj_addr = R6_ARG4;
Rscratch1 = R11_scratch1,
Rscratch2 = R12_scratch2,
Rbot = R5_ARG3,
Rfree_slot = R6_ARG4;
Label Lfound, Lallocate_new;
__ ld(Rscratch1, _abi0(callers_sp), R1_SP); // load FP
__ li(Rfree_slot, 0); // Points to free slot or null.
// Set up search loop - start with topmost monitor.
__ mr(Rcurrent_monitor, R26_monitor);
__ addi(Rbot, Rscratch1, -frame::ijava_state_size);
// ------------------------------------------------------------------------------
// Null pointer exception.
__ null_check_throw(Robj_to_lock, -1, R11_scratch1);
__ null_check_throw(Robj_to_lock, -1, Rscratch1);
// Try to acquire a lock on the object.
// Repeat until succeeded (i.e., until monitorenter returns true).
// Check if any slot is present => short cut to allocation if not.
__ cmpld(CCR0, Rcurrent_monitor, Rbot);
__ beq(CCR0, Lallocate_new);
// ------------------------------------------------------------------------------
// Find a free slot in the monitor block.
Label Lfound, Lexit, Lallocate_new;
ConditionRegister found_free_slot = CCR0,
found_same_obj = CCR1,
reached_limit = CCR6;
// Note: The order of the monitors is important for C2 OSR which derives the
// unlock order from it (see comments for interpreter_frame_monitor_*).
{
Label Lloop;
Register Rlimit = Rcurrent_monitor;
Label Lloop, LnotFree, Lexit;
// Set up search loop - start with topmost monitor.
__ add(Rcurrent_obj_addr, BasicObjectLock::obj_offset_in_bytes(), R26_monitor);
__ ld(Rlimit, 0, R1_SP);
__ addi(Rlimit, Rlimit, - (frame::ijava_state_size + frame::interpreter_frame_monitor_size_in_bytes() - BasicObjectLock::obj_offset_in_bytes())); // Monitor base
// Check if any slot is present => short cut to allocation if not.
__ cmpld(reached_limit, Rcurrent_obj_addr, Rlimit);
__ bgt(reached_limit, Lallocate_new);
// Pre-load topmost slot.
__ ld(Rcurrent_obj, 0, Rcurrent_obj_addr);
__ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize);
// The search loop.
__ bind(Lloop);
// Found free slot?
__ cmpdi(found_free_slot, Rcurrent_obj, 0);
// Is this entry for same obj? If so, stop the search and take the found
// free slot or allocate a new one to enable recursive locking.
__ cmpd(found_same_obj, Rcurrent_obj, Robj_to_lock);
__ cmpld(reached_limit, Rcurrent_obj_addr, Rlimit);
__ beq(found_free_slot, Lexit);
__ beq(found_same_obj, Lallocate_new);
__ bgt(reached_limit, Lallocate_new);
// Check if last allocated BasicLockObj reached.
__ ld(Rcurrent_obj, 0, Rcurrent_obj_addr);
__ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize);
// Next iteration if unchecked BasicObjectLocks exist on the stack.
__ b(Lloop);
__ ld(Rcurrent_obj, BasicObjectLock::obj_offset_in_bytes(), Rcurrent_monitor);
// Exit if current entry is for same object; this guarantees, that new monitor
// used for recursive lock is above the older one.
__ cmpd(CCR0, Rcurrent_obj, Robj_to_lock);
__ beq(CCR0, Lexit); // recursive locking
__ cmpdi(CCR0, Rcurrent_obj, 0);
__ bne(CCR0, LnotFree);
__ mr(Rfree_slot, Rcurrent_monitor); // remember free slot closest to the bottom
__ bind(LnotFree);
__ addi(Rcurrent_monitor, Rcurrent_monitor, frame::interpreter_frame_monitor_size_in_bytes());
__ cmpld(CCR0, Rcurrent_monitor, Rbot);
__ bne(CCR0, Lloop);
__ bind(Lexit);
}
// ------------------------------------------------------------------------------
// Check if we found a free slot.
__ bind(Lexit);
__ addi(Rcurrent_monitor, Rcurrent_obj_addr, -(frame::interpreter_frame_monitor_size() * wordSize) - BasicObjectLock::obj_offset_in_bytes());
__ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, - frame::interpreter_frame_monitor_size() * wordSize);
__ b(Lfound);
__ cmpdi(CCR0, Rfree_slot, 0);
__ bne(CCR0, Lfound);
// We didn't find a free BasicObjLock => allocate one.
__ align(32, 12);
__ bind(Lallocate_new);
__ add_monitor_to_stack(false, Rscratch1, Rscratch2);
__ mr(Rcurrent_monitor, R26_monitor);
__ addi(Rcurrent_obj_addr, R26_monitor, BasicObjectLock::obj_offset_in_bytes());
__ mr(Rfree_slot, R26_monitor);
// ------------------------------------------------------------------------------
// We now have a slot to lock.
__ bind(Lfound);
// Increment bcp to point to the next bytecode, so exception handling for async. exceptions work correctly.
// The object has already been poped from the stack, so the expression stack looks correct.
// The object has already been popped from the stack, so the expression stack looks correct.
__ addi(R14_bcp, R14_bcp, 1);
__ std(Robj_to_lock, 0, Rcurrent_obj_addr);
__ lock_object(Rcurrent_monitor, Robj_to_lock);
__ std(Robj_to_lock, BasicObjectLock::obj_offset_in_bytes(), Rfree_slot);
__ lock_object(Rfree_slot, Robj_to_lock);
// Check if there's enough space on the stack for the monitors after locking.
// This emits a single store.
@@ -4142,46 +4130,40 @@ void TemplateTable::monitorexit() {
transition(atos, vtos);
__ verify_oop(R17_tos);
Register Rcurrent_monitor = R11_scratch1,
Rcurrent_obj = R12_scratch2,
Register Rcurrent_monitor = R3_ARG1,
Rcurrent_obj = R4_ARG2,
Robj_to_lock = R17_tos,
Rcurrent_obj_addr = R3_ARG1,
Rlimit = R4_ARG2;
Rscratch = R11_scratch1,
Rbot = R12_scratch2;
Label Lfound, Lillegal_monitor_state;
// Check corner case: unbalanced monitorEnter / Exit.
__ ld(Rlimit, 0, R1_SP);
__ addi(Rlimit, Rlimit, - (frame::ijava_state_size + frame::interpreter_frame_monitor_size_in_bytes())); // Monitor base
__ ld(Rscratch, _abi0(callers_sp), R1_SP); // load FP
// Set up search loop - start with topmost monitor.
__ mr(Rcurrent_monitor, R26_monitor);
__ addi(Rbot, Rscratch, -frame::ijava_state_size);
// Null pointer check.
__ null_check_throw(Robj_to_lock, -1, R11_scratch1);
__ null_check_throw(Robj_to_lock, -1, Rscratch);
__ cmpld(CCR0, R26_monitor, Rlimit);
__ bgt(CCR0, Lillegal_monitor_state);
// Check corner case: unbalanced monitorEnter / Exit.
__ cmpld(CCR0, Rcurrent_monitor, Rbot);
__ beq(CCR0, Lillegal_monitor_state);
// Find the corresponding slot in the monitors stack section.
{
Label Lloop;
// Start with topmost monitor.
__ addi(Rcurrent_obj_addr, R26_monitor, BasicObjectLock::obj_offset_in_bytes());
__ addi(Rlimit, Rlimit, BasicObjectLock::obj_offset_in_bytes());
__ ld(Rcurrent_obj, 0, Rcurrent_obj_addr);
__ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize);
__ bind(Lloop);
__ ld(Rcurrent_obj, BasicObjectLock::obj_offset_in_bytes(), Rcurrent_monitor);
// Is this entry for same obj?
__ cmpd(CCR0, Rcurrent_obj, Robj_to_lock);
__ beq(CCR0, Lfound);
// Check if last allocated BasicLockObj reached.
__ ld(Rcurrent_obj, 0, Rcurrent_obj_addr);
__ cmpld(CCR0, Rcurrent_obj_addr, Rlimit);
__ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize);
// Next iteration if unchecked BasicObjectLocks exist on the stack.
__ ble(CCR0, Lloop);
__ addi(Rcurrent_monitor, Rcurrent_monitor, frame::interpreter_frame_monitor_size_in_bytes());
__ cmpld(CCR0, Rcurrent_monitor, Rbot);
__ bne(CCR0, Lloop);
}
// Fell through without finding the basic obj lock => throw up!
@@ -4191,8 +4173,6 @@ void TemplateTable::monitorexit() {
__ align(32, 12);
__ bind(Lfound);
__ addi(Rcurrent_monitor, Rcurrent_obj_addr,
-(frame::interpreter_frame_monitor_size() * wordSize) - BasicObjectLock::obj_offset_in_bytes());
__ unlock_object(Rcurrent_monitor);
}

View File

@@ -308,6 +308,22 @@ public:
rdy = 0b111, // in instruction's rm field, selects dynamic rounding mode.In Rounding Mode register, Invalid.
};
// handle unaligned access
static inline uint16_t ld_c_instr(address addr) {
return Bytes::get_native_u2(addr);
}
static inline void sd_c_instr(address addr, uint16_t c_instr) {
Bytes::put_native_u2(addr, c_instr);
}
// handle unaligned access
static inline uint32_t ld_instr(address addr) {
return Bytes::get_native_u4(addr);
}
static inline void sd_instr(address addr, uint32_t instr) {
Bytes::put_native_u4(addr, instr);
}
static inline uint32_t extract(uint32_t val, unsigned msb, unsigned lsb) {
assert_cond(msb >= lsb && msb <= 31);
unsigned nbits = msb - lsb + 1;
@@ -332,10 +348,10 @@ public:
unsigned mask = (1U << nbits) - 1;
val <<= lsb;
mask <<= lsb;
unsigned target = *(unsigned *)a;
unsigned target = ld_instr(a);
target &= ~mask;
target |= val;
*(unsigned *)a = target;
sd_instr(a, target);
}
static void patch(address a, unsigned bit, unsigned val) {
@@ -1877,10 +1893,10 @@ public:
uint16_t mask = (1U << nbits) - 1;
val <<= lsb;
mask <<= lsb;
uint16_t target = *(uint16_t *)a;
uint16_t target = ld_c_instr(a);
target &= ~mask;
target |= val;
*(uint16_t *)a = target;
sd_c_instr(a, target);
}
static void c_patch(address a, unsigned bit, uint16_t val) {
@@ -2766,6 +2782,17 @@ public:
return uabs(target - branch) < branch_range;
}
// Decode the given instruction, checking if it's a 16-bit compressed
// instruction and return the address of the next instruction.
static address locate_next_instruction(address inst) {
// Instruction wider than 16 bits has the two least-significant bits set.
if ((0x3 & *inst) == 0x3) {
return inst + instruction_size;
} else {
return inst + compressed_instruction_size;
}
}
Assembler(CodeBuffer* code) : AbstractAssembler(code), _in_compressible_region(false) {}
virtual ~Assembler() {}

View File

@@ -1649,10 +1649,11 @@ void LIR_Assembler::check_conflict(ciKlass* exact_klass, intptr_t current_klass,
__ beqz(t1, none);
__ mv(t0, (u1)TypeEntries::null_seen);
__ beq(t0, t1, none);
// There is a chance that the checks above (re-reading profiling
// data from memory) fail if another thread has just set the
// There is a chance that the checks above
// fail if another thread has just set the
// profiling to this obj's klass
__ membar(MacroAssembler::LoadLoad);
__ xorr(tmp, tmp, t1); // get back original value before XOR
__ ld(t1, mdo_addr);
__ xorr(tmp, tmp, t1);
__ andi(t0, tmp, TypeEntries::type_klass_mask);
@@ -1679,6 +1680,10 @@ void LIR_Assembler::check_conflict(ciKlass* exact_klass, intptr_t current_klass,
__ bind(none);
// first time here. Set profile type.
__ sd(tmp, mdo_addr);
#ifdef ASSERT
__ andi(tmp, tmp, TypeEntries::type_mask);
__ verify_klass_ptr(tmp);
#endif
}
}
@@ -1713,6 +1718,10 @@ void LIR_Assembler::check_no_conflict(ciKlass* exact_klass, intptr_t current_kla
#endif
// first time here. Set profile type.
__ sd(tmp, mdo_addr);
#ifdef ASSERT
__ andi(tmp, tmp, TypeEntries::type_mask);
__ verify_klass_ptr(tmp);
#endif
} else {
assert(ciTypeEntries::valid_ciklass(current_klass) != NULL &&
ciTypeEntries::valid_ciklass(current_klass) != exact_klass, "inconsistent");

View File

@@ -804,7 +804,7 @@ void LIRGenerator::do_FmaIntrinsic(Intrinsic* x) {
}
void LIRGenerator::do_vectorizedMismatch(Intrinsic* x) {
fatal("vectorizedMismatch intrinsic is not implemented on this platform");
ShouldNotReachHere();
}
// _i2l, _i2f, _i2d, _l2i, _l2f, _l2d, _f2i, _f2l, _f2d, _d2i, _d2l, _d2f

View File

@@ -489,7 +489,9 @@ void C2_MacroAssembler::string_indexof(Register haystack, Register needle,
}
bne(tmp3, skipch, BMSKIP); // if not equal, skipch is bad char
add(result, haystack, isLL ? nlen_tmp : ch2);
ld(ch2, Address(result)); // load 8 bytes from source string
// load 8 bytes from source string
// if isLL is false then read granularity can be 2
load_long_misaligned(ch2, Address(result), ch1, isLL ? 1 : 2); // can use ch1 as temp register here as it will be trashed by next mv anyway
mv(ch1, tmp6);
if (isLL) {
j(BMLOOPSTR1_AFTER_LOAD);
@@ -672,10 +674,30 @@ void C2_MacroAssembler::string_indexof_linearscan(Register haystack, Register ne
slli(tmp3, result_tmp, haystack_chr_shift); // result as tmp
add(haystack, haystack, tmp3);
neg(hlen_neg, tmp3);
if (AvoidUnalignedAccesses) {
// preload first value, then we will read by 1 character per loop, instead of four
// just shifting previous ch2 right by size of character in bits
add(tmp3, haystack, hlen_neg);
(this->*load_4chr)(ch2, Address(tmp3), noreg);
if (isLL) {
// need to erase 1 most significant byte in 32-bit value of ch2
slli(ch2, ch2, 40);
srli(ch2, ch2, 32);
} else {
slli(ch2, ch2, 16); // 2 most significant bytes will be erased by this operation
}
}
bind(CH1_LOOP);
add(ch2, haystack, hlen_neg);
(this->*load_4chr)(ch2, Address(ch2), noreg);
add(tmp3, haystack, hlen_neg);
if (AvoidUnalignedAccesses) {
srli(ch2, ch2, isLL ? 8 : 16);
(this->*haystack_load_1chr)(tmp3, Address(tmp3, isLL ? 3 : 6), noreg);
slli(tmp3, tmp3, isLL ? 24 : 48);
add(ch2, ch2, tmp3);
} else {
(this->*load_4chr)(ch2, Address(tmp3), noreg);
}
beq(ch1, ch2, MATCH);
add(hlen_neg, hlen_neg, haystack_chr_size);
blez(hlen_neg, CH1_LOOP);
@@ -693,10 +715,23 @@ void C2_MacroAssembler::string_indexof_linearscan(Register haystack, Register ne
slli(tmp3, result_tmp, haystack_chr_shift);
add(haystack, haystack, tmp3);
neg(hlen_neg, tmp3);
if (AvoidUnalignedAccesses) {
// preload first value, then we will read by 1 character per loop, instead of two
// just shifting previous ch2 right by size of character in bits
add(tmp3, haystack, hlen_neg);
(this->*haystack_load_1chr)(ch2, Address(tmp3), noreg);
slli(ch2, ch2, isLL ? 8 : 16);
}
bind(CH1_LOOP);
add(tmp3, haystack, hlen_neg);
(this->*load_2chr)(ch2, Address(tmp3), noreg);
if (AvoidUnalignedAccesses) {
srli(ch2, ch2, isLL ? 8 : 16);
(this->*haystack_load_1chr)(tmp3, Address(tmp3, isLL ? 1 : 2), noreg);
slli(tmp3, tmp3, isLL ? 8 : 16);
add(ch2, ch2, tmp3);
} else {
(this->*load_2chr)(ch2, Address(tmp3), noreg);
}
beq(ch1, ch2, MATCH);
add(hlen_neg, hlen_neg, haystack_chr_size);
blez(hlen_neg, CH1_LOOP);
@@ -720,7 +755,14 @@ void C2_MacroAssembler::string_indexof_linearscan(Register haystack, Register ne
bind(FIRST_LOOP);
add(ch2, haystack, hlen_neg);
(this->*load_2chr)(ch2, Address(ch2), noreg);
if (AvoidUnalignedAccesses) {
(this->*haystack_load_1chr)(tmp2, Address(ch2, isLL ? 1 : 2), noreg); // we need a temp register, we can safely use hlen_tmp here, which is a synonym for tmp2
(this->*haystack_load_1chr)(ch2, Address(ch2), noreg);
slli(tmp2, tmp2, isLL ? 8 : 16);
add(ch2, ch2, tmp2);
} else {
(this->*load_2chr)(ch2, Address(ch2), noreg);
}
beq(first, ch2, STR1_LOOP);
bind(STR2_NEXT);
@@ -744,10 +786,7 @@ void C2_MacroAssembler::string_indexof_linearscan(Register haystack, Register ne
bind(DO1);
(this->*needle_load_1chr)(ch1, Address(needle), noreg);
sub(result_tmp, haystack_len, 1);
mv(tmp3, result_tmp);
if (haystack_chr_shift) {
slli(tmp3, result_tmp, haystack_chr_shift);
}
slli(tmp3, result_tmp, haystack_chr_shift);
add(haystack, haystack, tmp3);
neg(hlen_neg, tmp3);
@@ -822,9 +861,10 @@ void C2_MacroAssembler::string_compare(Register str1, Register str2,
// load first parts of strings and finish initialization while loading
{
if (str1_isL == str2_isL) { // LL or UU
// check if str1 and str2 is same pointer
beq(str1, str2, DONE);
// load 8 bytes once to compare
ld(tmp1, Address(str1));
beq(str1, str2, DONE);
ld(tmp2, Address(str2));
mv(t0, STUB_THRESHOLD);
bge(cnt2, t0, STUB);
@@ -867,9 +907,8 @@ void C2_MacroAssembler::string_compare(Register str1, Register str2,
addi(cnt1, cnt1, 8);
}
addi(cnt2, cnt2, isUL ? 4 : 8);
bne(tmp1, tmp2, DIFFERENCE);
bgez(cnt2, TAIL);
xorr(tmp3, tmp1, tmp2);
bnez(tmp3, DIFFERENCE);
// main loop
bind(NEXT_WORD);
@@ -898,38 +937,30 @@ void C2_MacroAssembler::string_compare(Register str1, Register str2,
addi(cnt1, cnt1, 8);
addi(cnt2, cnt2, 4);
}
bgez(cnt2, TAIL);
xorr(tmp3, tmp1, tmp2);
beqz(tmp3, NEXT_WORD);
j(DIFFERENCE);
bne(tmp1, tmp2, DIFFERENCE);
bltz(cnt2, NEXT_WORD);
bind(TAIL);
xorr(tmp3, tmp1, tmp2);
bnez(tmp3, DIFFERENCE);
// Last longword. In the case where length == 4 we compare the
// same longword twice, but that's still faster than another
// conditional branch.
if (str1_isL == str2_isL) { // LL or UU
ld(tmp1, Address(str1));
ld(tmp2, Address(str2));
load_long_misaligned(tmp1, Address(str1), tmp3, isLL ? 1 : 2);
load_long_misaligned(tmp2, Address(str2), tmp3, isLL ? 1 : 2);
} else if (isLU) { // LU case
lwu(tmp1, Address(str1));
ld(tmp2, Address(str2));
load_int_misaligned(tmp1, Address(str1), tmp3, false);
load_long_misaligned(tmp2, Address(str2), tmp3, 2);
inflate_lo32(tmp3, tmp1);
mv(tmp1, tmp3);
} else { // UL case
lwu(tmp2, Address(str2));
ld(tmp1, Address(str1));
load_int_misaligned(tmp2, Address(str2), tmp3, false);
load_long_misaligned(tmp1, Address(str1), tmp3, 2);
inflate_lo32(tmp3, tmp2);
mv(tmp2, tmp3);
}
bind(TAIL_CHECK);
xorr(tmp3, tmp1, tmp2);
beqz(tmp3, DONE);
beq(tmp1, tmp2, DONE);
// Find the first different characters in the longwords and
// compute their difference.
bind(DIFFERENCE);
xorr(tmp3, tmp1, tmp2);
ctzc_bit(result, tmp3, isLL); // count zero from lsb to msb
srl(tmp1, tmp1, result);
srl(tmp2, tmp2, result);
@@ -1099,8 +1130,10 @@ void C2_MacroAssembler::arrays_equals(Register a1, Register a2, Register tmp3,
// and a2 and the length in cnt1.
// elem_size is the element size in bytes: either 1 or 2.
// There are two implementations. For arrays >= 8 bytes, all
// comparisons (including the final one, which may overlap) are
// performed 8 bytes at a time. For strings < 8 bytes, we compare a
// comparisons (for hw supporting unaligned access: including the final one,
// which may overlap) are performed 8 bytes at a time.
// For strings < 8 bytes (and for tails of long strings when
// AvoidUnalignedAccesses is true), we compare a
// halfword, then a short, and then a byte.
void C2_MacroAssembler::string_equals(Register a1, Register a2,
@@ -1111,10 +1144,11 @@ void C2_MacroAssembler::string_equals(Register a1, Register a2,
Register tmp2 = t1;
assert(elem_size == 1 || elem_size == 2, "must be 2 or 1 byte");
assert_different_registers(a1, a2, result, cnt1, t0, t1);
assert_different_registers(a1, a2, result, cnt1, tmp1, tmp2);
BLOCK_COMMENT("string_equals {");
beqz(cnt1, SAME);
mv(result, false);
// Check for short strings, i.e. smaller than wordSize.
@@ -1129,26 +1163,31 @@ void C2_MacroAssembler::string_equals(Register a1, Register a2,
add(a2, a2, wordSize);
sub(cnt1, cnt1, wordSize);
bne(tmp1, tmp2, DONE);
} bgtz(cnt1, NEXT_WORD);
} bgez(cnt1, NEXT_WORD);
// Last longword. In the case where length == 4 we compare the
// same longword twice, but that's still faster than another
// conditional branch.
// cnt1 could be 0, -1, -2, -3, -4 for chars; -4 only happens when
// length == 4.
add(tmp1, a1, cnt1);
ld(tmp1, Address(tmp1, 0));
add(tmp2, a2, cnt1);
ld(tmp2, Address(tmp2, 0));
bne(tmp1, tmp2, DONE);
j(SAME);
if (!AvoidUnalignedAccesses) {
// Last longword. In the case where length == 4 we compare the
// same longword twice, but that's still faster than another
// conditional branch.
// cnt1 could be 0, -1, -2, -3, -4 for chars; -4 only happens when
// length == 4.
add(tmp1, a1, cnt1);
ld(tmp1, Address(tmp1, 0));
add(tmp2, a2, cnt1);
ld(tmp2, Address(tmp2, 0));
bne(tmp1, tmp2, DONE);
j(SAME);
} else {
add(tmp1, cnt1, wordSize);
beqz(tmp1, SAME);
}
bind(SHORT);
Label TAIL03, TAIL01;
// 0-7 bytes left.
test_bit(t0, cnt1, 2);
beqz(t0, TAIL03);
test_bit(tmp1, cnt1, 2);
beqz(tmp1, TAIL03);
{
lwu(tmp1, Address(a1, 0));
add(a1, a1, 4);
@@ -1159,8 +1198,8 @@ void C2_MacroAssembler::string_equals(Register a1, Register a2,
bind(TAIL03);
// 0-3 bytes left.
test_bit(t0, cnt1, 1);
beqz(t0, TAIL01);
test_bit(tmp1, cnt1, 1);
beqz(tmp1, TAIL01);
{
lhu(tmp1, Address(a1, 0));
add(a1, a1, 2);
@@ -1172,8 +1211,8 @@ void C2_MacroAssembler::string_equals(Register a1, Register a2,
bind(TAIL01);
if (elem_size == 1) { // Only needed when comparing 1-byte elements
// 0-1 bytes left.
test_bit(t0, cnt1, 0);
beqz(t0, SAME);
test_bit(tmp1, cnt1, 0);
beqz(tmp1, SAME);
{
lbu(tmp1, Address(a1, 0));
lbu(tmp2, Address(a2, 0));

View File

@@ -84,11 +84,11 @@ static const struct CheckInsn barrierInsn[] = {
// BarrierSetAssembler::nmethod_entry_barrier. The matching ignores the specific
// register numbers and immediate values in the encoding.
void NativeNMethodBarrier::verify() const {
intptr_t addr = (intptr_t) instruction_address();
address addr = instruction_address();
for(unsigned int i = 0; i < sizeof(barrierInsn)/sizeof(struct CheckInsn); i++ ) {
uint32_t inst = *((uint32_t*) addr);
uint32_t inst = Assembler::ld_instr(addr);
if ((inst & barrierInsn[i].mask) != barrierInsn[i].bits) {
tty->print_cr("Addr: " INTPTR_FORMAT " Code: 0x%x", addr, inst);
tty->print_cr("Addr: " INTPTR_FORMAT " Code: 0x%x", p2i(addr), inst);
fatal("not an %s instruction.", barrierInsn[i].name);
}
addr += 4;

View File

@@ -1,6 +1,7 @@
/*
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2022, Huawei Technologies Co., Ltd. All rights reserved.
* Copyright (c) 2023, Rivos Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,6 +26,8 @@
#include "precompiled.hpp"
#include "asm/macroAssembler.hpp"
#include "riscv_flush_icache.hpp"
#include "runtime/java.hpp"
#include "runtime/icache.hpp"
#define __ _masm->
@@ -33,16 +36,22 @@ static int icache_flush(address addr, int lines, int magic) {
// To make a store to instruction memory visible to all RISC-V harts,
// the writing hart has to execute a data FENCE before requesting that
// all remote RISC-V harts execute a FENCE.I.
//
// No sush assurance is defined at the interface level of the builtin
// method, and so we should make sure it works.
// We need to make sure stores happens before the I/D cache synchronization.
__asm__ volatile("fence rw, rw" : : : "memory");
__builtin___clear_cache(addr, addr + (lines << ICache::log2_line_size));
RiscvFlushIcache::flush((uintptr_t)addr, ((uintptr_t)lines) << ICache::log2_line_size);
return magic;
}
void ICacheStubGenerator::generate_icache_flush(ICache::flush_icache_stub_t* flush_icache_stub) {
// Only riscv_flush_icache is supported as I-cache synchronization.
// We must make sure the VM can execute such without error.
if (!RiscvFlushIcache::test()) {
vm_exit_during_initialization("Unable to synchronize I-cache");
}
address start = (address)icache_flush;
*flush_icache_stub = (ICache::flush_icache_stub_t)start;

View File

@@ -176,8 +176,15 @@ void InterpreterMacroAssembler::check_and_handle_earlyret(Register java_thread)
void InterpreterMacroAssembler::get_unsigned_2_byte_index_at_bcp(Register reg, int bcp_offset) {
assert(bcp_offset >= 0, "bcp is still pointing to start of bytecode");
lhu(reg, Address(xbcp, bcp_offset));
revb_h(reg, reg);
if (AvoidUnalignedAccesses && (bcp_offset % 2)) {
lbu(t1, Address(xbcp, bcp_offset));
lbu(reg, Address(xbcp, bcp_offset + 1));
slli(t1, t1, 8);
add(reg, reg, t1);
} else {
lhu(reg, Address(xbcp, bcp_offset));
revb_h_h_u(reg, reg);
}
}
void InterpreterMacroAssembler::get_dispatch() {
@@ -190,13 +197,23 @@ void InterpreterMacroAssembler::get_dispatch() {
}
void InterpreterMacroAssembler::get_cache_index_at_bcp(Register index,
Register tmp,
int bcp_offset,
size_t index_size) {
assert(bcp_offset > 0, "bcp is still pointing to start of bytecode");
if (index_size == sizeof(u2)) {
load_unsigned_short(index, Address(xbcp, bcp_offset));
if (AvoidUnalignedAccesses) {
assert_different_registers(index, tmp);
load_unsigned_byte(index, Address(xbcp, bcp_offset));
load_unsigned_byte(tmp, Address(xbcp, bcp_offset + 1));
slli(tmp, tmp, 8);
add(index, index, tmp);
} else {
load_unsigned_short(index, Address(xbcp, bcp_offset));
}
} else if (index_size == sizeof(u4)) {
lwu(index, Address(xbcp, bcp_offset));
load_int_misaligned(index, Address(xbcp, bcp_offset), tmp, false);
// Check if the secondary index definition is still ~x, otherwise
// we have to change the following assembler code to calculate the
// plain index.
@@ -223,7 +240,8 @@ void InterpreterMacroAssembler::get_cache_and_index_at_bcp(Register cache,
size_t index_size) {
assert_different_registers(cache, index);
assert_different_registers(cache, xcpool);
get_cache_index_at_bcp(index, bcp_offset, index_size);
// register "cache" is trashed in next shadd, so lets use it as a temporary register
get_cache_index_at_bcp(index, cache, bcp_offset, index_size);
assert(sizeof(ConstantPoolCacheEntry) == 4 * wordSize, "adjust code below");
// Convert from field index to ConstantPoolCacheEntry
// riscv already has the cache in xcpool so there is no need to
@@ -260,7 +278,8 @@ void InterpreterMacroAssembler::get_cache_entry_pointer_at_bcp(Register cache,
int bcp_offset,
size_t index_size) {
assert_different_registers(cache, tmp);
get_cache_index_at_bcp(tmp, bcp_offset, index_size);
// register "cache" is trashed in next ld, so lets use it as a temporary register
get_cache_index_at_bcp(tmp, cache, bcp_offset, index_size);
assert(sizeof(ConstantPoolCacheEntry) == 4 * wordSize, "adjust code below");
// Convert from field index to ConstantPoolCacheEntry index
// and from word offset to byte offset
@@ -1663,8 +1682,8 @@ void InterpreterMacroAssembler::profile_obj_type(Register obj, const Address& md
bind(update);
load_klass(obj, obj);
ld(t0, mdo_addr);
xorr(obj, obj, t0);
ld(tmp, mdo_addr);
xorr(obj, obj, tmp);
andi(t0, obj, TypeEntries::type_klass_mask);
beqz(t0, next); // klass seen before, nothing to
// do. The unknown bit may have been
@@ -1674,15 +1693,15 @@ void InterpreterMacroAssembler::profile_obj_type(Register obj, const Address& md
bnez(t0, next);
// already unknown. Nothing to do anymore.
ld(t0, mdo_addr);
beqz(t0, none);
mv(tmp, (u1)TypeEntries::null_seen);
beq(t0, tmp, none);
// There is a chance that the checks above (re-reading profiling
// data from memory) fail if another thread has just set the
beqz(tmp, none);
mv(t0, (u1)TypeEntries::null_seen);
beq(tmp, t0, none);
// There is a chance that the checks above
// fail if another thread has just set the
// profiling to this obj's klass
ld(t0, mdo_addr);
xorr(obj, obj, t0);
xorr(obj, obj, tmp); // get back original value before XOR
ld(tmp, mdo_addr);
xorr(obj, obj, tmp);
andi(t0, obj, TypeEntries::type_klass_mask);
beqz(t0, next);
@@ -1693,6 +1712,10 @@ void InterpreterMacroAssembler::profile_obj_type(Register obj, const Address& md
bind(none);
// first time here. Set profile type.
sd(obj, mdo_addr);
#ifdef ASSERT
andi(obj, obj, TypeEntries::type_mask);
verify_klass_ptr(obj);
#endif
bind(next);
}

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