Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JBR-6847 Improve locking performance on Windows #343

Closed
wants to merge 1,017 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1017 commits
Select commit Hold shift + click to select a range
105a593
jb/branchdiff.py is a lot faster
mkartashev Apr 10, 2023
775d0d0
Update README.md
vprovodin Apr 10, 2023
079d476
JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE i…
avu Apr 11, 2023
1e25688
JBR-5193 Do not use extra commandQueue in metal pipeline
avu Jan 18, 2023
34cf379
JBR-4883 macOS: SIGSEGV at MTLVertexCache_FlushGlyphVertexCache
avu Mar 2, 2023
77bf1e8
JBR-5536: Crash on macOS bad JNI lookup in Java_sun_swing_AccessibleA…
NikitkoCent Apr 13, 2023
4021dda
JBR-5559 SwingMark performance drop after removing additional command…
avu Apr 20, 2023
f441b1d
JBR-5170: improved color maskFill performance: using a new MaskColorB…
bourgesl Apr 28, 2023
bf09b94
JBR-5580 J2DBench: ~15% drop performance because of non optimal sync…
avu Apr 28, 2023
c780518
update a11y exclude list
May 3, 2023
4bd4f65
JBR-5580 J2DBench: ~15% drop performance  because of non optimal sync…
avu May 9, 2023
b3d4e38
JBR-5603 build aarch64 Linux from arm64v8/centos:7 and check glibc to…
vprovodin May 10, 2023
249215c
JBR-5631 Refactor Dockerfile for x64 builds
mkartashev May 11, 2023
aa10c2d
JBR-5627 add regression test AsyncProfilerRunnerTest
vprovodin May 16, 2023
edbf73c
JBR-5649 Flickering in multi-monitor configuration
avu May 17, 2023
17c6403
JBR-5651: Improved MTLVertexCache to merge consecutive full-tiles ie …
bourgesl Feb 2, 2023
cbbdc5b
JBR-5656 Builds of JDK 21 are reproducible by default
mkartashev May 19, 2023
4ba3604
JBR-4494 pass ui scale options for child process
May 29, 2023
da43ca9
remove jb/java/awt/Window/ZOrderOnModalDialogActivation.java
May 29, 2023
164e6e2
JBR-5577 fix MouseEventsOnClientArea test
May 29, 2023
5ba0f0a
JBR-5551 update hit tests on custom title bar
May 29, 2023
dbe82d0
JBR-5579 Update mouse location checks, set window always on top for A…
May 29, 2023
e5e701a
JBR-5600 Sign macOS binaries using jet-sign
VladRassokhin May 1, 2023
f30a803
JBR-5600 Notarize macOS binaries using notarytool
VladRassokhin May 1, 2023
b925746
JBR-5600 Staple .pkg with signature
VladRassokhin May 1, 2023
d0140b3
tools/mac/scripts: minor improvements
VladRassokhin May 28, 2023
2ed33c5
JBR-5668: The implementation of a11y announcing for macOS crashes wit…
NikitkoCent May 30, 2023
da2ac16
JBR-5600 Sign frameworks as whole, verify framework signature before …
VladRassokhin May 30, 2023
090027e
JBR-5600 Reduce noise in signing scripts output
VladRassokhin May 30, 2023
d038e23
JBR-4880 Fix DeadKeySystemAssertionDialog to avoid receiving key even…
May 31, 2023
64b81bc
JBR-5670 restore initial display mode after test execution
May 30, 2023
6b7edbb
JBR-5704 displaySyncOFF: javax/swing/JDialog/Transparency/Transparenc…
avu Jun 2, 2023
d59b55f
JBR-5693 Debug build failure in main branch
avu Jun 5, 2023
f442a4e
Update README.md
vprovodin Jun 6, 2023
510d492
JBR-2870 add resression test for JPopupMenu
Jun 6, 2023
a7119ea
JBR-1775: improved logic for choosing newer font between system and b…
dmitriimorskii Apr 28, 2023
5c6784d
JBR-5151 Test failures caused by -Dsun.java2d.metal.displaySync=false
avu Jun 9, 2023
436c8f4
Update README.md
vprovodin Jun 13, 2023
e6f3ac4
update exclude list
vprovodin Jun 13, 2023
2aacd3d
JBR-5684 Focus state is broken after closing of modal dialog in an in…
JB-Dmitry Jun 16, 2023
0214e5d
JBR-5720 Wrong modifiers are reported for mouse middle and right butt…
JB-Dmitry Jun 19, 2023
86931a5
JBR-5746 wait for menu visibility of fail the test
Jun 20, 2023
d66aed7
Update README.md
vprovodin Jun 21, 2023
ae55254
JBR-5548 fix BadSerializationTest
dmitriimorskii Apr 14, 2023
255f310
JBR-5762 Sometimes naturally generated MOUSE_DRAGGED events don't con…
NikitkoCent Jun 21, 2023
07bb0ac
JBR-5625: disable color-matching (colorspace = nil) in MTLLayer by de…
bourgesl Jun 7, 2023
919a884
JBR-5807 java/awt/Frame/FrameVisible/FrameContentAppearanceTest.java:…
avu Jul 4, 2023
24f1e6b
JBR-5815 javax/swing/AbstractButton/6711682/bug6711682.java: Row #2 c…
mkartashev Jul 6, 2023
ac20606
Update README.md
vprovodin Jul 10, 2023
cf40f01
JBR-5259: fixed Canvas mispositioning after dragging JFrame to a moni…
dmitriimorskii Jul 28, 2023
f5afc7a
JBR-5724: fixed serialization and backward compatibility of Font
dmitriimorskii Jul 28, 2023
2e4e5fc
IDEA-141456 Multimonitor HIDPI support for Linux
YaaZ Oct 5, 2022
bb83401
JBR-5186 Make MouseInfo.getPointerInfo more robust
YaaZ Feb 9, 2023
15caf25
JBR-5316 Fix fractional scaling HIDPI.
YaaZ Mar 22, 2023
6aa0914
JBR-5240 Fix XToolkit#getScreenInsets in Xinerama mode.
YaaZ Mar 24, 2023
2d0a2d6
JBR-5823 IDEA crashes when '-Dmain.thread.as.edt=true' vmoption is se…
JB-Dmitry Aug 1, 2023
1cff101
JBR-5946 Allow to disable painting of composed text in Swing text com…
JB-Dmitry Aug 16, 2023
0ac9bba
JBR-5953 If hieroglyph typing isn't finalised, focusing another compo…
JB-Dmitry Aug 18, 2023
0643d47
JBR-3353 Sibling popup window is shown below dialog on macOS
JB-Dmitry Apr 22, 2021
5cb41ca
Update README.md
vprovodin Aug 29, 2023
ab50e12
JBR-6008 Update JetBrains Mono fonts to v2.304
vprovodin Aug 30, 2023
a82d425
JBR-6016 doPrivileged for JBR API internal services.
YaaZ Sep 6, 2023
57ce9de
JBR-6060 add focus traversal order test
Sep 20, 2023
f21bce9
exclude FocusTraversalOrderTest
Sep 20, 2023
42856a9
JBR-6124 Fix macOS services writing text back to textfield
ghostflyby Sep 25, 2023
827008a
JBR-4983 MacOS Ventura - External monitor lagging
avu Sep 25, 2023
262ba33
JBR-6130 add VK_TAB release action
vprovodin Sep 26, 2023
4d5f8de
JBR-5984: IM's candidate window is placed under popup windows.
NikitkoCent Aug 30, 2023
7545d1b
Update README.md
vprovodin Sep 26, 2023
ec18fe8
JBR-6132 Crash in [MTLLayer blitTexture] when MTL_DEBUG_LAYER enabled
avu Sep 27, 2023
7ab7cb2
JBR-6135 removed dependence on process reading TTF in fixed size chunks
dmitriimorskii Sep 27, 2023
ab711b7
JBR-4983 MacOS Ventura - External monitor lagging
avu Oct 5, 2023
b3710af
Update README.md
vprovodin Oct 10, 2023
fd253a0
JBR-6181 add Linux executables with bundled FreeType
vprovodin Oct 10, 2023
b134018
JBR-6208 Extended glyph cache for Metal
YaaZ Oct 17, 2023
8805f2a
JBR-6214 [fwp jbr21] IDEA-299292 Use Inter semibold instead of Inter …
bulenkov Aug 15, 2022
e5f80ed
JBR-6215: Override XToolkit's default nonintuitive behavior when tran…
tsarn Oct 19, 2023
d781f4d
JBR-5638: improved renderer performance for simple rectangular area (…
bourgesl Oct 22, 2023
1b0f9b9
Update README.md
vprovodin Oct 24, 2023
f7d6233
JBR-5431 Include memory used by JNI references into crash reports
mkartashev Mar 27, 2023
91374f6
JBR-5466 jb/hotspot/JNIRefsInCrashLog.java: 'hs_err_42.txt' missing f…
mkartashev Apr 5, 2023
9a947d1
JBR-5480 Include more information in OOME crash reports
mkartashev Apr 11, 2023
1b47d21
JBR-5741 broken build in main because of hotspot changes (JDK-8309613)
avu Jun 15, 2023
5ec2323
JBR-5722 vmTestbase/vm/gc/compact/Compact_TwoFields_InternedStrings: …
mkartashev Jun 20, 2023
5b602ed
JBR-5761 Make error printing more robust during early stages of VM in…
mkartashev Jun 21, 2023
07efd5b
JBR-4020 Test ObsoleteFlagErrorMessage fails after +IgnoreUnrecognize…
mkartashev Nov 22, 2021
9c5abe2
JBR-6239 sign frameworks in cef_server.app
ujpv Oct 30, 2023
f8a9759
Update README.md
vprovodin Nov 1, 2023
bbe6ff0
JBR-4588 macOS: SIGILL at [libsystem_kernel] __kill in CCE: class sun…
avu Jun 23, 2022
a005674
JBR-4666 java.lang.InternalError: Error - unable to initialize Metal …
avu Oct 21, 2022
8e8caf8
JBR-5025 Reduce latency during display reconfiguration in Metal
avu Nov 18, 2022
214fd58
JBR-5274 recreate CGraphicsDevice if it was changed.
YaaZ Mar 29, 2023
1dc675f
JBR-6255 improve calculation JDK_BUILD_NUMBER
vprovodin Oct 31, 2023
a6e383c
JBR-5980: Pasting from clipboard not working reliably in Windows.
NikitkoCent Nov 6, 2023
f5a1594
JBR-5980: Pasting from clipboard not working reliably in Windows.
NikitkoCent Nov 6, 2023
97525eb
JBR-6193 Impossible to resize snapped IDE when native header is turne…
mkartashev Oct 11, 2023
15f16d0
JBR-2460: Wrong position of input window and no input preview with fc…
NikitkoCent Apr 13, 2023
590dd8e
JBR-2460: Wrong position of input window and no input preview with fc…
NikitkoCent Sep 16, 2023
be70cb4
JBR-6281 Remove MTLEvent sync from Metal rendering code
avu Nov 10, 2023
0869adb
JBR-5409 "No Print Service Found" Error when saving to PDF
alexander-lobas Mar 17, 2023
4c5614e
JBR-6291 runtime/cds/appcds/dynamicArchive/TestDynamicDumpAtOom.java:…
mkartashev Nov 14, 2023
f04522b
JBR-6282: java/awt/TextArea/TextAreaEditing/TextAreaEditing.java inte…
NikitkoCent Nov 27, 2023
630b35f
update exclude list on results of 21.0.1_b293.1 test runs
vprovodin Nov 15, 2023
1dddb17
JBR-5124 Rewrite custom decorations support
YaaZ Dec 22, 2022
60b0bc9
JBR-5300 Change source code and test files to use GPL license
JB-Dmitry Feb 16, 2023
5245bb3
JBR-5174 Opening project as tabs in Mac OS (version2)
alexander-lobas May 11, 2022
31e65aa
JBR-5384 New UI: window header is hard to resize on the top edge, top…
alexander-lobas Mar 9, 2023
962eac7
JBR-5478 IDEA window doesn't fit the screen properly on turning off/o…
alexander-lobas Apr 6, 2023
11dd32b
JBR-5546 Iterating open windows with cmd backtick on Mac forces minim…
alexander-lobas Apr 14, 2023
d6d5b6c
JBR-5084 Add ability to log additional data to jstack output
mkartashev Mar 26, 2023
256bb60
JBR-5637 Linux: implement window position change with WM help
mkartashev May 15, 2023
9fc5140
JBR-5777 isWindowMoveSupported() doesn't work with non-default Graphi…
mkartashev Jun 27, 2023
a1bed03
JBR-5971 Wayland: support WindowMove JBR API
mkartashev Aug 29, 2023
ad0f1a3
JBR-6142 Impossible to move/resize IDE window after restart if severa…
mkartashev Oct 4, 2023
264c3e9
JBR-6220 javax/swing/GraphicsConfigNotifier/StalePreferredSize.java b…
mkartashev Oct 31, 2023
e1bdc0e
Update README.md
vprovodin Nov 21, 2023
f3e949b
JBR-6194 Fix VoiceOver reading old JComboBox value after changing it
dmitrii-drobotov Oct 11, 2023
2ba5f0d
JBR-4479 Add text caret tracking for macOS Accessibility Zoom
dmitrii-drobotov Nov 15, 2023
25b36ea
JBR-6246 add default CDS archives into jbrsdk distributions
vprovodin Oct 31, 2023
1462709
Revert "JBR-5724: fixed serialization and backward compatibility of F…
vprovodin Nov 23, 2023
a1b1be8
update jetbrains.api hash and API version
vprovodin Nov 23, 2023
5e1c05e
JBR-5286 make windows-aarch64 building script identical to the same s…
vprovodin May 15, 2023
d987cb6
JBR-5751 java/awt/Focus/RowToleranceTransitivityTest.java: Focus got …
JB-Dmitry Nov 24, 2023
b97745a
JBR-5246 add OpenType's features support
dmitriimorskii Apr 6, 2023
11b2073
JBR-5804: refactoring of freetypeScaler and moving fontconfig's logic…
dmitriimorskii May 18, 2023
cd80326
JBR-5844: fix case with non-scalable face
dmitriimorskii Jul 20, 2023
aaddf6f
8311917: MAP_FAILED definition seems to be obsolete in src/java.deskt…
avu Jul 22, 2023
a9c8228
JBR-5844: fixed other part of issue. Added missing implementation of …
dmitriimorskii Jul 28, 2023
6fc40c8
JBR-5502: optimize stringWidth & charsWidth methods of FontDesignMetrics
dmitriimorskii Jun 28, 2023
901315c
JBR-6018 removed incorrect test testFeaturesZeroFrac
dmitriimorskii Sep 4, 2023
cf3973f
JBR-6041 started using correct type inside FcPatternGetValueFuncType
dmitriimorskii Sep 11, 2023
b4b512e
JBR-6044 handle absence of fontConfig library in setupRenderingFontHints
dmitriimorskii Sep 18, 2023
a827aa5
JBR-4834 JBR-5139 Rounded corners on Mac OS and Windows: support cust…
alexander-lobas Sep 16, 2022
0ce6006
JBR-5724: fixed serialization and backward compatibility of Font
dmitriimorskii Jul 28, 2023
dc333bc
Don't trigger workflow on push
Mar 3, 2023
f3efe4a
JBR-5318 add Github workflow usage for pull requests pre-commit testing
Feb 28, 2023
f273eb3
Updated IDEA project setup
YaaZ Jun 16, 2021
67d9048
Added Clion project setup
YaaZ May 29, 2021
79d6b42
Emoji PR sync (experimental)
YaaZ Feb 1, 2023
305e129
JBR-6246 add (re)generating cds archives at jlink step
vprovodin Nov 28, 2023
f3d60a9
JBR-6272 add resolve symbols tests
ujpv Nov 23, 2023
0d581a1
RDCT-766 add libwayland-cursor.so to ResolveSymbolsTestMinEnv
ujpv Dec 4, 2023
af58164
update exclude list on results of 22_b1930 test runs
vprovodin Dec 6, 2023
d5c0c52
JBR-6125: macOS14 java/awt/Window/Grab/GrabTest.java Frame can't be f…
NikitkoCent Oct 2, 2023
53c13ea
JBR-6354 fix custom title bar tests to avoid failure in MacOS 14 full…
Dec 7, 2023
08da7a6
JBR-5095 Incorrect initial window's location under GNOME
JB-Dmitry Dec 12, 2022
691f964
JBR-5417 Fix flickering in multi-monitor setups on Linux.
YaaZ Feb 16, 2023
2c60d7b
JBR-5265 Workaround incorrect position of content window in queryXLoc…
YaaZ Mar 22, 2023
01eff76
JBR-5438 Fix window bounds in XWM#setShellResizable
YaaZ Mar 29, 2023
a29adce
JBR-5605 ignore empty client area when syncing bounds in XDecoratedPeer.
YaaZ May 18, 2023
cfad51b
JBR-6002 Linux: maximized window goes fullscreen after being moved be…
mkartashev Aug 31, 2023
9d3c187
JBR-3902 create jbr_all test group
vprovodin Oct 23, 2021
fc20cd3
JBR-6404 synchronize drawing and the test checking
vprovodin Dec 9, 2023
92f0730
JBR-4687: Japanese IME input window hides what is being typed.
NikitkoCent Dec 13, 2023
9811ed6
JBR-6346 update Inter font version
dmitriimorskii Nov 28, 2023
e78d1c0
JBR-5621 Test failures with -Dsun.java2d.metal.displaySync=false
avu Nov 14, 2023
19bb078
JBR-6433 Rounded corners of popups disappear after a while
avu Dec 15, 2023
fbe4c14
JBR-5837 retrieve up-to-date default screen device in FullscreenWindo…
YaaZ Dec 19, 2023
b8cebd1
JBR-6340 Popups displayed shifted after moving IDE to another monitor…
mkartashev Nov 28, 2023
4ec8372
JBR-6377: fixed MTLLayer.redrawCount = 1 to avoid extra redraws with …
bourgesl Dec 20, 2023
4711e2d
JBR-6454 add synchronization at disposing windows
vprovodin Dec 21, 2023
2a381f4
JBR-6241: RenderPerf 23.12: remove older RenderPerfTest in src
bourgesl Dec 21, 2023
acb32d5
Revert "JBR-6346 update Inter font version"
dmitriimorskii Dec 21, 2023
22306a9
update exclude list on results of 23_b1960 test runs
vprovodin Dec 22, 2023
230ca0d
JBR-6493 add jtreg test
vprovodin Jan 4, 2024
b31021f
JBR-5863 add verbose mode thata saves the captured image
vprovodin Jan 5, 2024
51fa114
update exclude list on results of 21.0.1_b331.1 test runs
vprovodin Jan 6, 2024
33b50ac
JBR-6505: removed extra setNeedDisplay() in startRedrawIfNeeded() to …
bourgesl Jan 12, 2024
22a1caf
JBR-6264 Improved coordinate conversion in XWayland mode
YaaZ Nov 23, 2023
b2fb694
JBR-3098 move repaintPeer event from AppKit thread to EDT on macos
dmitriimorskii Jan 12, 2024
e439520
update exclude list on results of 21.0.1_b334 test runs
vprovodin Jan 13, 2024
8284b21
JBR-6556 add saving screenshots for analysis of test failures
vprovodin Jan 15, 2024
34b6842
JBR-6558 synchronize drawing and the test checking
vprovodin Jan 15, 2024
a72b108
JBR-6561 add mouseRelease action for BUTTON1_DOWN_MASK at test finali…
vprovodin Jan 15, 2024
c7559e8
JBR-6449 Introduce FontMetricsAccessor into JBR API
JB-Dmitry Dec 21, 2023
cb68ef2
JBR-4173 Tier1 test failures in jdk/javadoc/doclet/testModules
mkartashev Jan 28, 2022
d42e843
JBR-6591 specify values for the configure options --with-vendor-url a…
vprovodin Jan 25, 2024
897078d
update exclude list on results of main.2003 test runs
shipilev Jul 7, 2023
6744751
JBR-6604 supported case when fonts directory is missing
dmitriimorskii Jan 26, 2024
2c6ff29
Update README.md
vprovodin Jan 29, 2024
53faadd
remove resolved issues from exclude list
vprovodin Jan 30, 2024
9a6d3fd
Update README.md
vprovodin Jan 30, 2024
a8574b7
JBR-6346 update Inter font version
dmitriimorskii Nov 28, 2023
d4fcba7
JBR-6620 restore displayMode to the state that was before running the…
vprovodin Jan 30, 2024
909e070
update exclude list on results of 22_b2014 test runs
vprovodin Feb 1, 2024
ba4ecf1
JBR-6651 Exclude keycap emoji from EmojiVariation test.
YaaZ Feb 5, 2024
688b234
JBR-6649 add synchronization for creating UI
vprovodin Feb 4, 2024
f5fe20c
JBR-6522: ensure thread-safety in MTLGC_DestroyMTLGraphicsConfig (pth…
bourgesl Feb 8, 2024
b98bd16
Revert "JBR-6522: ensure thread-safety in MTLGC_DestroyMTLGraphicsCon…
bourgesl Feb 9, 2024
57fcca5
Revert "JBR-6346 update Inter font version"
dmitriimorskii Feb 9, 2024
2c648d6
JBR-6671 added option 'freetype.font.rendering'
dmitriimorskii Feb 8, 2024
842dacb
JBR-4618 Force window size update after display reconfiguration
YaaZ Nov 29, 2023
d4ff127
JBR-6522 macOS: SIGSEGV at [libawt_lwawt.dylib+0x8eaa8] MTLGC_Destroy…
avu Feb 13, 2024
905a63f
Update README.md
vprovodin Feb 13, 2024
bcd725c
Update README.md
vprovodin Feb 13, 2024
2329f7c
JBR-1430 (8195129) Windows: use UTF16 version of Win32 API to load DLL
mkartashev Apr 23, 2021
eb09344
JBR-6247 Update JBR-specific tests after JDK-8314823
mkartashev Oct 30, 2023
4db3daa
Update README.md with up-to-date build instructions
mkartashev Feb 15, 2024
2acc3b3
JBR-6297: Don't check for NSInputManager wantsToHandleMouseEvents in …
tsarn Feb 15, 2024
1883b39
JBR-1061 .attach_pid files in the working dir - flag to put .attach f…
gorrus Apr 5, 2019
8607eac
JBR-1354 com/sun/tools/attach/PermissionTest.java: access denied ("ja…
gorrus Apr 9, 2019
6e707c4
JBR-6612 Provide standard scripts for performance measurements
avu Jan 27, 2024
9399418
JBR-6246 Do not overwrite CDS archives after created with jlink
mkartashev Feb 15, 2024
5f629b3
JBR-6612 Provide standard scripts for performance measurements
avu Feb 16, 2024
9601020
JBR-6472 Add default value in CAccessibility.isComboBoxEditable to av…
dmitrii-drobotov Jan 3, 2024
9db0297
JBR-3572 Wayland: java/awt/Window/WindowTitleVisibleTest/WindowTitleV…
mkartashev Jul 5, 2021
9962ec4
Update README.md
vprovodin Feb 21, 2024
acdcea6
JBR-5500 Handled situation of processing WM_ENDSESSION in process of …
dmitriimorskii Feb 21, 2024
29b4bfd
Update README.md
vprovodin Feb 23, 2024
de46d2b
JBR-6325 Implement keyboard focus tracking for macOS Accessibility Zoom
dmitrii-drobotov Feb 14, 2024
3ff02d7
JBR-3697: Letter-based command mode actions are not triggered when us…
NikitkoCent Jan 30, 2024
b8e8e62
update exclude list - remove failures no having tickets
vprovodin Feb 27, 2024
59519ba
update exclude list on results of 22_b2075 test runs
vprovodin Feb 27, 2024
0fce243
update exclude list linux-x86 failures
vprovodin Feb 27, 2024
962f529
JBR-6593 Fix UI freezes with JAWS announcements
dmitrii-drobotov Jan 23, 2024
69dc743
JBR-6522 macOS: SIGSEGV at [libawt_lwawt.dylib+0x8eaa8] MTLGC_Destroy…
avu Feb 28, 2024
8ed4a2d
JBR-6742 Record resident set size in JVM fatal error log
mkartashev Feb 27, 2024
2e2335e
Update README.md
vprovodin Mar 5, 2024
cf26c1a
Update README.md
vprovodin Mar 5, 2024
b885190
JBR-6785 wsl: update build scripts for linux target
avu Mar 5, 2024
19189c9
JBR-6723 flush vertex cache and command buffer before freeing glyph c…
YaaZ Mar 11, 2024
7d4b7b2
JBR-6723 Block on Metal config destroy
YaaZ Mar 12, 2024
2516e6a
update exclude list on results of 21.0.2_b393.7 test runs
vprovodin Mar 15, 2024
361e88a
JBR-6387 Revert "8315701: [macos] Regression: KeyEvent has different …
YaaZ Dec 4, 2023
43d4a14
macOS national keyboard support
Dec 23, 2016
0aeb2ed
fixup! macOS national keyboard support
dekonoplyov Jun 11, 2021
695e5dc
JBR-4990: Fix regression tests for national keyboard layouts on macOS
tsarn Nov 9, 2022
f1e6d75
JBR-3860: Fix shortcut behavior when Shift is the only modifier
tsarn Nov 15, 2022
cd54760
JBR-4990: Undo changes to ExtendedKeyCodes
tsarn Dec 7, 2022
3863411
JBR-5107, JBR-5114: SIGILL/OOM from Java_sun_lwawt_macosx_LWCToolkit_…
NikitkoCent Dec 16, 2022
3aa0891
Revert "macOS national keyboard support"
tsarn Jan 31, 2023
93622c1
JBR-5173 macOS keyboard support rewrite
tsarn Jan 31, 2023
a8b7902
JBR-5233 Setup/teardown necessary keyboard layouts in macOS keyboard …
tsarn Feb 7, 2023
245f7cf
Revert "8230926: [macosx] Two apostrophes are entered instead of one …
tsarn Feb 9, 2023
5cda091
JBR-5254: Fix Caps Lock not working properly on certain Chinese IMs
tsarn Feb 7, 2023
76ef5c1
JBR-5295: Fix wrong keycodes for non-letter keys that lack a correspo…
tsarn Mar 7, 2023
d008f0a
JBR-5558: macOS keyboard rewrite 2
tsarn Jun 2, 2023
1b14de0
JBR-5469: Fix NextAppWinKey behavior with certain keys
tsarn Jun 2, 2023
2c957c5
JBR-5630: vmoption to change dead key reporting behavior on macOS
tsarn Jun 2, 2023
db4e5f8
JBR-5379: Ignore input events only on permament focus loss
tsarn Jun 14, 2023
4e2dad5
InputMethodTest: fix certain IMEs not being added properly
tsarn Aug 18, 2023
5125349
JBR-6028: Check before attempting to switch to a layout that might no…
tsarn Sep 6, 2023
5923728
JBR-6331: Fix some memory safety issues in macOS keyboards
tsarn Nov 26, 2023
e1501d0
JBR-6704: Fix extra IME events when a ctrl shortcut causes window foc…
tsarn Feb 14, 2024
7f46d86
increase delay in InputMethodTest
tsarn Mar 15, 2024
47ffd62
JBR-6541 Added ability to get supported features and stylistic sets f…
dmitriimorskii Feb 13, 2024
80ad152
JBR-3112 Linux: Last character issue with Korean.
NikitkoCent Mar 12, 2024
09b5642
Update README.md
vprovodin Mar 20, 2024
ac062cb
Update README.md
vprovodin Mar 20, 2024
1d2ff90
JBR-6847 Improve locking performance on Windows
mkartashev Mar 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
222 changes: 222 additions & 0 deletions .github/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)

# Welcome to JetBrains Runtime!

JetBrains Runtime is a fork of [OpenJDK](https://github.com/openjdk/jdk) available for Windows, Mac OS X, and Linux.
It supports enhanced class redefinition ([DCEVM](https://ssw.jku.at/dcevm/)),
features optional [JCEF](https://github.com/JetBrains/jcef), a framework for embedding Chromium-based browsers,
includes a number of improvements in font rendering, keyboards support,
windowing/focus subsystems, HiDPI, accessibility, and performance, provides better desktop integration
and bugfixes not yet present in OpenJDK.

> **_NOTE_**: This is a **development** branch that is periodically synchronized with
> the [OpenJDK master](https://github.com/openjdk/jdk/tree/master) branch.
>
Release builds are based on these branches:
* [jbr11](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr11) (JDK 11)
* [jbr17](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr17) (JDK 17)
* [jbr21](https://github.com/JetBrains/JetBrainsRuntime/tree/jbr21) (JDK 21)

Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list
can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases).

## Releases based on JDK 21

| IDE Version | Latest JBR | Date Released |
|-------------|---------------------------------------------------------------------------------------------------------|---------------|
| 2024.1 | [21.0.2-b346.3](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-21.0.2b346.3) | 30-Jan-2024 |

## Releases based on JDK 17

| IDE Version | Latest JBR | Date Released |
|-------------|--------------------------------------------------------------------------------------------------------|---------------|
| 2024.1 | [17.0.10-b1207.12](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.10b1207.12)| 19-Mar-2024 |
| 2023.3 | [17.0.10-b1087.23](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.10b1087.23) | 20-Mar-2024|
| 2023.2 | [17.0.10-b1000.48](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.10b1000.48) | 12-Feb-2024|
| 2023.1 | [17.0.10-b829.26](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.10b829.26) | 12-Feb-2024 |
| 2022.3 | [17.0.6-b653.34](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b653.34) | 28-Feb-2023 |
| 2022.2 | [17.0.6-b469.82](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b469.82) | 06-Mar-2023 |

## Releases based on JDK 11

| IDE Version | Latest JBR | Date Released |
|-------------|-------------------------------------------------------------------------------------------------------|---------------|
| 2022.1 | [11_0_16-b2043.64](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr11_0_16b2043.64) | 10-Nov-2022 |
| 2021.3 | [11_0_14_1-b1751.46](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr11_0_14_1b1751.46) | 21-Feb-2022 |
| 2021.2 | [11_0_13-b1504.49](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jb11_0_13-b1504.49) | 15-Nov-2021 |
| 2021.1 | [11.0.11+9-b1341.60](https://github.com/JetBrains/JetBrainsRuntime/issues/171#issuecomment-1248891540)| 15-Jun-2021 |
| 2020.3 | [11_0_10-b1145.115](https://github.com/JetBrains/JetBrainsRuntime/issues/171#issuecomment-1249243977) | 21-Jun-2021 |

## Contents
- [Welcome to JetBrains Runtime](#welcome-to-jetbrains-runtime)
- [Why Use JetBrains Runtime?](#why-use-jetbrains-runtime)
- [Products Built on JetBrains Runtime](#products-built-on-jetbrains-runtime)
- [Getting Sources](#getting-sources)
- [macOS, Linux](#macos-linux)
- [Windows](#sources-windows)
- [Configuring the Build Environment](#configuring-the-build-environment)
- [Linux (Docker)](#linux-docker)
- [Ubuntu Linux](#ubuntu-linux)
- [Windows](#build-windows)
- [macOS](#macos)
- [Developing](#developing)
- [Contributing](#contributing)
- [Resources](#resources)

## Why Use JetBrains Runtime?
* **Embedded browser**: JetBrains Runtime includes the Java Chromium Embedded Framework ([JCEF](https://github.com/JetBrains/jcef)), which
enables you to embed a Chromium-based browsers in your JVM-based application.
To use it, [download a build with JCEF](https://github.com/JetBrains/JetBrainsRuntime/releases).
* **Enhanced class re-definition** with the [DCEVM](https://ssw.jku.at/dcevm/) technology that makes it easier to reload
changed code without restarting JVM; this feature needs to be explicitly enabled with `-XX:+AllowEnhancedClassRedefinition`.
* **Better FPS performance** for graphics-intensive applications.
* **Improved font rendering**, **keyboard input** (such as shortcuts and multinational keyboards),
**HiDPI** and **accessibility** support.
* **Robust desktop experience**: GUI-related fixes often reach JetBrains Runtime much earlier than the corresponding version of OpenJDK.

## Products Built on JetBrains Runtime
* [Android Studio](https://developer.android.com/studio). The official IDE for Google's Android operating system.
* [CLion](https://www.jetbrains.com/clion/). A cross-platform IDE for C and C++ from JetBrains.
* [DataGrip](https://www.jetbrains.com/datagrip/). The IDE for Databases and SQL from JetBrains.
* [GoLand](https://www.jetbrains.com/go/). The cross-platform Go IDE from JetBrains.
* [IntelliJ IDEA](https://www.jetbrains.com/idea/). The IDE for JVM from JetBrains.
* [JProfiler](https://www.ej-technologies.com/products/jprofiler/overview.html). The Java profiler.
* [PhpStorm](https://www.jetbrains.com/phpstorm/). The PHP IDE from JetBrains.
* [PyCharm](https://www.jetbrains.com/pycharm/). The Python IDE from JetBrains.
* [Rider](https://www.jetbrains.com/rider/). The cross-platform .NET IDE from JetBrains.
* [RubyMine](https://www.jetbrains.com/ruby/). The Ruby and Rails IDE from JetBrains.
* [Toolbox App](https://www.jetbrains.com/toolbox-app/). JetBrains IDE manager.
* [WebStorm](https://www.jetbrains.com/webstorm/). The JavaScript IDE from JetBrains.
* [YourKit](https://www.yourkit.com/). Java and .NET profilers.

## Getting Sources
### macOS, Linux
```
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```

### Windows
<a name="sources-windows"></a>
```
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```

## Configuring the Build Environment
Here are quick per-platform instructions for those who can't wait to get started.
Please refer to [OpenJDK build docs](https://openjdk.java.net/groups/build/doc/building.html) for in-depth
coverage of all the details.

> **_TIP:_** To get a preliminary report of what's missing, run `./configure` and check its output.
> It would usually have meaningful advice on how to solve the problem.

### Linux (Docker)
Create a container:
```
$ cd jb/project/docker
$ docker build .
...
Successfully built 942ea9900054
```
Run these commands in the new container:
```
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
# cd /JetBrainsRuntime
# sh ./configure
# make images CONF=linux-x86_64-normal-server-release
```

### Ubuntu Linux
Install the necessary tools, libraries, and headers with:
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev
```
Get Java 21 (for instance, [Azul Zulu Builds of OpenJDK 21](https://www.azul.com/downloads/?version=java-21-lts&os=linux&package=jdk#zulu)).

Then run the following:
```
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
```
This will build the release configuration under `./build/linux-x86_64-server-release/`.

### Windows
<a name="build-windows"></a>
Install the following:
* [Cygwin x64](http://www.cygwin.com/).
Required packages: `autoconf`, `binutils`, `cpio`, `diffutils`, `file`, `gawk`, `gcc-core`, `make`, `m4`, `unzip`, `zip`.
Install those together with Cygwin.
* [Visual Studio compiler toolset](https://visualstudio.microsoft.com/downloads/).
Install with the desktop development kit, which includes Windows SDK and compilers.
Visual Studio 2019 is supported by default.
* Java 21 (for instance, [Azul Zulu Builds of OpenJDK 21](https://www.azul.com/downloads/?version=java-21-lts&os=windows&package=jdk#zulu)).
If you have problems while configuring, read [Java tips on Cygwin](http://horstmann.com/articles/cygwin-tips.html).

From the command line:
```
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
```
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.

In the Cygwin shell:
```
$ cd JetBrainsRuntime
$ git checkout main
$ bash configure --with-toolchain-version=2019
$ make images
```
This will build the release configuration under `./build/windows-x86_64-server-release/`.

### macOS
Install the following:
* Xcode command line developer tools and `autoconf` via [Homebrew](https://brew.sh/).
* Java 21 (for instance, [Azul Zulu Builds of OpenJDK 21](https://www.azul.com/downloads/?version=java-21-lts&os=macos&package=jdk#zulu)).

From the command line:
```
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
```
This will build the release configuration under `./build/macosx-x86_64-server-release/`.

## Developing
You can use [CLion](https://www.jetbrains.com/clion/) to develop native parts of the JetBrains Runtime and
[IntelliJ IDEA](https://www.jetbrains.com/idea/) for the parts written in Java.
Both require projects to be created.

### CLion
Run
```
$ make compile-commands
```
in the git root and open the resulting `build/.../compile_commands.json` file as a project.
Then use `Tools | Compilation Database | Change Project Root` to point to git root of this repository.

See also this detailed step-by-step tutorial for all platforms:
[How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).

### IDEA
Run
```
$ sh ./bin/idea.sh
```
in the git root to generate project files (add `--help` for options). If you have multiple
configurations (for example, `release` and `fastdebug`), supply the `--conf <conf_name>` argument.
Then open the git root directory as a project in IDEA.

## Contributing
We are happy to receive your pull requests!
Before you submit one, please sign our [Contributor License Agreement (CLA)](https://www.jetbrains.com/agreements/cla/).

## Resources
* [JetBrains Runtime on GitHub](https://github.com/JetBrains/JetBrainsRuntime).
* [OpenJDK build instructions](https://openjdk.java.net/groups/build/doc/building.html).
* [OpenJDK test instructions](https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk/master/doc/building.html#running-tests).
* [How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).
4 changes: 3 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ on:
- master
- pr/*
- jdk*
- main
workflow_dispatch:
inputs:
platforms:
Expand Down Expand Up @@ -60,7 +61,8 @@ jobs:
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86: ${{ steps.include.outputs.linux-x86 }}
linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
# additional build options for linux-x64 are disabled
# linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
macos-x64: ${{ steps.include.outputs.macos-x64 }}
macos-aarch64: ${{ steps.include.outputs.macos-aarch64 }}
Expand Down