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.21k stars 188 forks source link

Update JBR/jbr21 to OpenJDK 21.0.3 #363

Closed sercher closed 2 months ago

sercher commented 2 months ago

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

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

1. JDK-8321894: Bump update version for OpenJDK: 21.0.3

Version numbers were earlier updated to "21.0.2" along with the merge-commit (https://github.com/openjdk/jdk21u/commit/375769c6986866210a0f36aad580e3ac8e9eb068) that didn't exist in jbr21 branch. The most recent version numbers were set in accordance with JDK-8321894. (modified version)

2. JDK-8316229: Enhance class initialization logging

Context conflict in instanceKlass.cpp due to absense of "JBR-5183: pre-dcevm17 squashed commits" in JDK 21. The conflict was resolved with respect to the changes introduced by JBR-5183. (original, modified)

3. JDK-8317228: GC: Make TestXXXHeapSizeFlags use createTestJvm

Context conflict in VMProps.java due to absense of JBR-3572 (Wayland: title bar shown and hidden are the same) in JDK 21. The conflict was resolved combining both changes, JDK-8317228 was applied manually after JBR-3572. (original, modified)

4. Composite change "JDK-8315097: Rename createJavaProcessBuilder" with fix "JDK-8318964: Fix build failures caused by 8315097"

The upstream version of the patch is changing globally the method names in ProcessTools class that belongs to the test library utilities. The patch applied manualy due to multiple context conflicts (many are associcated with absense of JBR-3793 "Accept unrecognized options and make them available in Java"). The manual application required changing the method names also outside JDK 21 scope, namely in JDK tests modified in JBR and in JB specific tests. (original, modified)

5. JDK-8319103: Popups that request focus are not shown on Linux with Wayland

Conflict due to absense of "JBR-5661 Wayland: implement heavy-weight popup windows" in JDK 21. The patch was applied manually with respect to the changes introduced by JBR-5661. (original, modified)

Testing:

We ran a standard JDK test groups in all available platforms. We observed no regressions in the standard tests. The extended test set in test/jdk/jb has been executed without regressions as well.