JetBrains / JetBrainsRuntime

Runtime environment based on OpenJDK for running IntelliJ Platform-based products on Windows, macOS, and Linux
GNU General Public License v2.0
1.32k stars 196 forks source link

Update JBR/jbr21 to OpenJDK 21.0.4 #418

Closed sercher closed 1 week ago

sercher commented 3 months ago

Update JBR/jbr21 branch with OpenJDK release version 21.0.4 (jdk-21.0.4-ga), merged and tested by BellSoft.

All changes applied cleanly except for 9 cases, that required manual merge. Please see the summary of the conflicts below.

1. JDK-8323170: j2dbench is using outdated javac source/target to be able to build by itself.

Conflict with "JBR-5701 update source and target java version in J2DBench build file." (559499ef). The patch applied with regard of JBR-5701.

2. JDK-8320005: Allow loading of shared objects with .a extension on AIX.

Different patch context after "JBR-1430 (8195129) Windows: use UTF16 version of Win32 API to load DLL" (157c9250).

3. JDK-8318757: VM_ThreadDump asserts in interleaved ObjectMonitor::deflate_monitor calls 8319896: Remove monitor deflation from final audit 8320515: assert(monitor->object_peek() != nullptr) failed: Owned monitors should not have a dead object 8325437: Safepoint polling in monitor deflation can cause massive logs.

Context difference after"JBR-5084 Add ability to log additional data to jstack output" (4b1ad2e7).

4. JDK-8315998: Remove dead ClassLoaderDataGraphKlassIteratorStatic.

Context difference after "JBR-5183 fix dcevm21 issues after merge dcevm17 updates" (e4827236)

5. JDK-8185862: AWT Assertion Failure in ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0) 'awt_Win32GraphicsDevice.cpp', at line 185.

Confilict with JRE-119 [Dynamically set DPI-awareness level to enable backward compatible HiDPI behavior]" (f815d480) and context difference after "JBR-5965 Wayland: implement SplashScreen" (a6588d4b). In the method deleted, the code block corresponding to DPI-awareness has been moved to the static initializer.

6. JDK-8288936: Wrong lock ordering writing G1HeapRegionTypeChange JFR event.

Context difference after "JBR-6419 - support for enhanced redefinition of java.lang.Object" (b128bb4b)

7. JDK-8317809: Insertion of free code blobs into code cache can be very.

Context difference after "JBR-5183 pre-dcevm17 squashed commits" (7fbd0b7b).

8. JDK-8321812: Update GC tests to use execute[Limited]TestJava.

Context difference after "JBR-3793 Accept unrecognized options and make them available in Java" (19c6253d).

9. JDK-8321713: Harmonize executeTestJvm with create[Limited]TestJavaProcessBuilder.

Updated test from "JBR-3862 Implement native WatchService on MacOS" (2c1fe95d) that depends an updated class.

Testing:

We ran a standard JDK test groups in all available platforms. We observed a test failure related to the "JBR-7392: Use NIO FS in ZipFile", SecurityManager prevents reading "java.util.zip.use.nio.for.zip.file.access" system property, that is not included in the policy files. Overall no regressions have been registered after the 21.0.4 update.