Compare commits

...

1624 Commits

Author SHA1 Message Date
Sergey Shelomentsev
1c42fadb25 JBR-5441 fix wait for idle 2023-03-30 21:31:45 +03:00
Sergey Shelomentsev
26d93b189e JBR-5440 fix calculations for double click location 2023-03-30 15:48:53 +03:00
Maxim Kartashev
4445998aeb JBR-5431 Include memory used by JNI references into crash reports 2023-03-30 08:48:54 +04:00
Maxim Kartashev
8047330661 JBR-5445 JBRApiTest test fails on development builds 2023-03-29 19:25:48 +04:00
ngubarkov
b695a707eb JBR-5438 Fix window bounds in XWM#setShellResizable
(cherry picked from commit c51695d830dd3daf0021180ee974a3c11d03b6a8)
2023-03-29 16:27:19 +03:00
Maxim Kartashev
4b1ad2e7fe JBR-5084 Add ability to log additional data to jstack output
The data can be provided via this JBR API call:
JBR.getJstack().includeInfoFrom(Supplier<String>)
2023-03-29 10:14:25 +04:00
Sergey Shelomentsev
8fd3b86ce6 JBR-5433 add typing latency text for JTextArea 2023-03-27 21:30:43 +03:00
Alexey Ushakov
08f979c5a3 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Revert "Present layer content using a Core Animation transaction" because of regression in fullscreen mode on MBP 16' M1 MAX

(cherry picked from commit 9312830177)
2023-03-27 15:47:16 +02:00
ngubarkov
add73eca25 JBR-5240 Fix XToolkit#getScreenInsets in Xinerama mode. 2023-03-27 15:24:03 +03:00
ngubarkov
0b84556c32 JBR-5265 Workaround incorrect position of content window in queryXLocation. 2023-03-27 15:24:03 +03:00
Vitaly Provodin
e2f9344aa7 update exclude list on results of 21.37 test runs 2023-03-24 19:02:38 +07:00
Maxim Kartashev
9ff5e36e64 JBR-5230 Wanted: an ability to use Unix Domain sockets with overridden default NIO file system 2023-03-24 14:03:27 +04:00
ngubarkov
6306d4a603 JBR-5316 Fix fractional scaling HIDPI. 2023-03-22 22:56:15 +02:00
Sergey Shelomentsev
3ab1e63caf fixup! JBR-4875 set proper OS to run ComboBoxTransparentTittleBarTest 2023-03-21 22:16:57 +02:00
ngubarkov
fbeaa8fb33 JBR-5417 Fix flickering in multi-monitor setups on Linux. 2023-03-20 22:31:19 +02:00
Vitaly Provodin
ee8b0d6e1d JBR-5194 move jbr-api.jar into test artefact 2023-03-17 18:45:55 +04:00
Sergey Shelomentsev
07c91bbd3b Don't trigger workflow on push 2023-03-16 16:03:02 +02:00
Sergey Shelomentsev
30564b5f80 JBR-5253 Use new JBR API for custom decorations 2023-03-16 16:03:02 +02:00
Sergey Shelomentsev
171b12a1cb JBR-5318 add Github workflow usage for pull requests pre-commit testing 2023-03-16 16:03:02 +02:00
Maxim Kartashev
3cebc05ae8 README.md moved to the root directory and updated 2023-03-16 10:08:15 +04:00
Sergey Shelomentsev
952b2615ed fix controls width calculation 2023-03-16 03:22:31 +02:00
Sergey Shelomentsev
d13c3629cc split ActionListenerTest 2023-03-16 03:22:28 +02:00
Sergey Shelomentsev
23fedcf940 JBR-5345 native controls detection and scale fixes 2023-03-16 00:03:22 +02:00
Nikita Gubarkov
5c962ccb98 JBR-5285 Add doPrivileged for WFramePeer#WIN11_OR_NEWER os.name & os.version check. 2023-03-15 23:23:29 +02:00
Nikita Gubarkov
7dd7110aca JBR-5284 Do not reset custom title bar controls state in WmMouseMove. 2023-03-15 23:23:28 +02:00
Nikita Tsarev
79445591f5 JBR-5369: Update failing tests list in response to macOS keyboard support rewrite 2023-03-15 14:18:52 +01:00
Nikita Tsarev
ad3d6aed23 JBR-5295: Fix wrong keycodes for non-letter keys that lack a corresponding VK_ constant on macOS 2023-03-15 14:18:02 +01:00
Alexey Ushakov
8ba48b30d7 JBR-5330 Blank Welcome screen after moving to another display
Initialize currentDisplayID on AWTWindow creation

(cherry picked from commit 2c39a86f76)
2023-03-14 18:01:11 +01:00
Vitaly Provodin
b5841511a3 update exclude list on results of 21_b28.1 test runs 2023-03-11 04:19:43 +07:00
Yi-Fan Tsai
cdb9263935 8302783: Improve CRC32C intrinsic with crypto pmull on AArch64
Reviewed-by: simonis, phh
(cherry picked from commit f3abc4063d)
2023-03-05 08:36:01 +07:00
Justin Lu
6d1fc9e235 8303405: fix @returnss typo in ReflectionFactory
Reviewed-by: jpai, mchung, martin, iris, lancea, naoto
(cherry picked from commit 45d8a175b1)
2023-03-05 08:36:01 +07:00
Xue-Lei Andrew Fan
612d900a12 8302495: update for deprecated sprintf for java.desktop
Reviewed-by: prr
(cherry picked from commit e7113dc8a5)
2023-03-05 08:36:01 +07:00
Daniel Jeliński
5dda0a7aa6 8303442: Clean up w2k_lsa_auth linker parameters
Reviewed-by: erikj
(cherry picked from commit 843d632ad4)
2023-03-05 08:36:01 +07:00
Andrey Turbanov
f2fffcd720 8303267: Prefer ArrayList to LinkedList in ConcurrentLocksPrinter
Reviewed-by: cjplummer, sspitsyn
(cherry picked from commit d4dcba0463)
2023-03-05 08:36:01 +07:00
Mikhailo Seledtsov
f3978b9968 8303411: JFR problem list entry for JDK-8247776 should be removed
Reviewed-by: lmesnik
(cherry picked from commit 2c7d2c0ea9)
2023-03-05 08:36:01 +07:00
Naoto Sato
53532a3bf4 8303039: Utilize coverageLevels.txt
Reviewed-by: iris, joehw
(cherry picked from commit 0b63557941)
2023-03-05 08:36:00 +07:00
Mandy Chung
56e75b0566 8303476: Add the runtime version in the release file of a JDK image
Reviewed-by: erikj
(cherry picked from commit 32247c336a)
2023-03-05 08:36:00 +07:00
Chris Plummer
63e1b66691 8302516: Do some cleanup of nsk/share/jdi/EventHandler.java
Reviewed-by: amenkov, kevinw, lmesnik
(cherry picked from commit 0926d0cbce)
2023-03-05 08:36:00 +07:00
Matthias Baesken
9d4d4439dc 8303354: addCertificatesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return
Reviewed-by: clanger, mdoerr, weijun
(cherry picked from commit b51ea4204e)
2023-03-05 08:36:00 +07:00
Saint Wesonga
a64dbc71e6 8303409: Add Windows AArch64 ABI support to the Foreign Function & Memory API
Reviewed-by: jvernee
(cherry picked from commit fb13063943)
2023-03-05 08:36:00 +07:00
Thomas Stuefe
74d232aeb3 8302820: Remove costs for NMTPreInit when NMT is off
Reviewed-by: jsjolen, adinn
(cherry picked from commit c9afd55ed6)
2023-03-05 08:36:00 +07:00
Jaikiran Pai
2d56703166 8303457: Introduce convenience test library APIs for creating test servers for tests in test/jdk/java/net/httpclient
Reviewed-by: dfuchs
(cherry picked from commit 72de24e59a)
2023-03-05 08:36:00 +07:00
Kim Barrett
4a99661c66 8303418: Improve parameter and variable names in BitMap
Reviewed-by: tschatzl, aboldtch
(cherry picked from commit 3091744fff)
2023-03-05 08:35:59 +07:00
Jan Lahoda
cfcd38f023 8303355: The Depend plugin does fully recompile when primitive type changes
Reviewed-by: erikj, vromero
(cherry picked from commit dbb562d3b1)
2023-03-05 08:35:59 +07:00
Jan Lahoda
fa5050232e 8297587: Upgrade JLine to 3.22.0
Reviewed-by: vromero
(cherry picked from commit 4619e8bae8)
2023-03-05 08:35:59 +07:00
Emanuel Peter
8c11fbd82d 8302144: Move ZeroTLABTest.java to tier3
Reviewed-by: thartmann, kvn
(cherry picked from commit 99f5687eb1)
2023-03-05 08:35:59 +07:00
Tyler Steele
cd7d386977 8303186: Missing Classpath exception from Continuation.c
Reviewed-by: dholmes, jpai
(cherry picked from commit dc08216f0e)
2023-03-05 08:35:59 +07:00
Erik Gahlin
9ae1ec4c3c 8303077: JFR: Add example usage to jdk.jfr
Reviewed-by: mgronlun
(cherry picked from commit d10d40a5b2)
2023-03-05 08:35:59 +07:00
Valerie Peng
1a0eaaee9e 8295425: Match the default priv exp length between SunPKCS11 and other JDK providers
Reviewed-by: weijun
(cherry picked from commit 394eac850c)
2023-03-05 08:35:58 +07:00
David Holmes
841ce9c38a 8303070: Memory leak in DCmdArgument<char*>::parse_value
Reviewed-by: fparain, jcking, jsjolen, eosterlund, coleenp
(cherry picked from commit 6e19387f29)
2023-03-05 08:35:58 +07:00
Eirik Bjorsnos
a6a194dd39 8303401: Add a Vector API equalsIgnoreCase micro benchmark
Reviewed-by: ecaspole, sviswanathan, psandoz
(cherry picked from commit 9fc518ff8c)
2023-03-05 08:35:58 +07:00
Justin Lu
348c14b8b8 8303232: java.util.Date.parse(String) and java.util.Date(String) don't declare thrown IllegalArgumentException
Reviewed-by: jpai, lancea, naoto
(cherry picked from commit 05faa7321b)
2023-03-05 08:35:58 +07:00
Justin King
abb786db96 8303183: Memory leak in Arguments::init_shared_archive_paths
Reviewed-by: jsjolen, ccheung, dholmes
(cherry picked from commit 4c985e527a)
2023-03-05 08:35:58 +07:00
Albert Mingkun Yang
bc0735befe 8303362: Serial: Move CardTableRS to serial directory
Reviewed-by: tschatzl, kbarrett
(cherry picked from commit 6af17c1b7d)
2023-03-05 08:35:58 +07:00
Ivan Walulya
83ea15a83e 8303252: G1: Return early from Full-GC if no regions are selected for compaction.
Reviewed-by: tschatzl, ayang

(cherry picked from commit c1e77e0564)
2023-03-05 08:35:58 +07:00
Thomas Schatzl
92dfd0e641 8303344: After JDK-8302760, G1 heap verification does not exit VM after errors
Reviewed-by: iwalulya, ayang
(cherry picked from commit 8b86e1ee11)
2023-03-05 08:35:57 +07:00
Thomas Schatzl
05d56b61c6 8303013: Always do remembered set verification during G1 Full GC
Reviewed-by: ayang, iwalulya
(cherry picked from commit 4c5d9cfc64)
2023-03-05 08:35:57 +07:00
Doug Simon
2cf4a934ba 8303357: [JVMCI] thread is _thread_in_vm when committing JFR compilation event
Reviewed-by: never, kvn
(cherry picked from commit 2451c5a462)
2023-03-05 08:35:57 +07:00
Kim Barrett
11541fdad8 8302798: Refactor -XX:+UseOSErrorReporting for noreturn crash reporting
Reviewed-by: coleenp, stuefe
(cherry picked from commit 539a4951ee)
2023-03-05 08:35:57 +07:00
Roland Westrelin
a16859ab4b 8301630: C2: 8297933 broke type speculation in some cases
Reviewed-by: chagedorn, thartmann
(cherry picked from commit 6b07243f56)
2023-03-05 08:35:57 +07:00
Leonid Mesnik
53e14e4b61 8303421: [BACKOUT] 8303133: Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed.
Reviewed-by: dholmes
(cherry picked from commit 3aeefbf1de)
2023-03-05 08:35:57 +07:00
Leonid Mesnik
99075cb564 8303133: Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed.
Reviewed-by: dholmes, rriggs
(cherry picked from commit 1fdaf252b6)
2023-03-05 08:35:56 +07:00
Mikael Vidstedt
ef1683ef8c 8303412: Update linux_x64-to-linux_aarch64 cross compilation devkit at Oracle
Reviewed-by: dholmes
(cherry picked from commit 65da2c5d2d)
2023-03-05 08:35:56 +07:00
Justin Lu
bdd41cd1a7 8282319: java.util.Locale method to stream available Locales
Reviewed-by: stsypanov, naoto, lancea, rriggs
(cherry picked from commit 7e47d51e10)
2023-03-05 08:35:56 +07:00
Andrey Turbanov
56669e9e09 8303216: Prefer ArrayList to LinkedList in sun.net.httpserver.ServerImpl
Reviewed-by: jpai, vtewari, stsypanov, dfuchs
(cherry picked from commit 881517586d)
2023-03-05 08:35:56 +07:00
Dmitry Markov
5e661ed623 8303130: Document required Accessibility permissions on macOS
Reviewed-by: erikj, aivanov, prr, serb
(cherry picked from commit a10d5ac61b)
2023-03-05 08:35:56 +07:00
Julian Waters
9f272ec7b9 8303227: JniObjWithEnv should be NullablePointer compliant
Reviewed-by: asemenyuk
(cherry picked from commit 50dc041ee6)
2023-03-05 08:35:56 +07:00
Joe Darcy
8d1afac841 8302040: Port fdlibm sqrt to Java
Reviewed-by: bpb, thartmann, aturbanov
(cherry picked from commit 61e8867591)
2023-03-05 08:35:56 +07:00
Erik Gahlin
1f6f2c09c4 8303261: JFR: jdk/jfr/api/consumer/streaming/TestJVMCrash.java doesn't retry
Reviewed-by: mgronlun
(cherry picked from commit 6423065b7d)
2023-03-05 08:35:55 +07:00
Pavel Rappo
2ac7969c38 8303350: Fix mistyped {@code}
Reviewed-by: jpai
(cherry picked from commit dc5ea6aeb5)
2023-03-05 08:35:55 +07:00
Jie Fu
d4f14f8854 8303351: [IR Framework] Add missing cpu feature avx512bw after JDK-8302681
Reviewed-by: epeter, thartmann
(cherry picked from commit 4a415ad584)
2023-03-05 08:35:55 +07:00
Albert Mingkun Yang
5b3d6e7dc6 8303250: Call ct_max_alignment_constraint using the base class
Reviewed-by: kbarrett, tschatzl
(cherry picked from commit 30302d185a)
2023-03-05 08:35:55 +07:00
Lutz Schmidt
a19b914dcb 8299817: [s390] AES-CTR mode intrinsic fails with multiple short update() calls
Reviewed-by: mbaesken, mdoerr
(cherry picked from commit e144783eb2)
2023-03-05 08:35:55 +07:00
Darragh Clarke
a513ce31b2 8301701: java/net/DatagramSocket/DatagramSocketMulticasting.java should be hardened
Reviewed-by: dfuchs
(cherry picked from commit 5feb13b55d)
2023-03-05 08:35:55 +07:00
Archie L. Cobbs
304fa73195 8026369: javac potentially ambiguous overload warning needs an improved scheme
Reviewed-by: vromero
(cherry picked from commit 1e3c9fd67e)
2023-03-05 08:35:54 +07:00
Kim Barrett
639400089a 8302124: HotSpot Style Guide should permit noreturn attribute
Reviewed-by: dcubed, iveresov, dholmes, tschatzl, jwaters, kvn
(cherry picked from commit 14a014d430)
2023-03-05 08:35:54 +07:00
Erik Gahlin
5765538d66 8303249: JFR: Incorrect description of dumponexit
Reviewed-by: mgronlun
(cherry picked from commit bca60f4767)
2023-03-05 08:35:54 +07:00
David Holmes
99c43ed87d 8303068: Memory leak in DwarfFile::LineNumberProgram::run_line_number_program
Reviewed-by: jsjolen, tschatzl, chagedorn
(cherry picked from commit f7f10367b2)
2023-03-05 08:35:54 +07:00
Ian Graves
32d5ea9c87 8293667: Align jlink's --compress option with jmod's --compress option
Reviewed-by: mchung
(cherry picked from commit 784f7b1462)
2023-03-05 08:35:54 +07:00
Erik Gahlin
1206116021 8303208: JFR: 'jfr print' displays incorrect timestamps
Reviewed-by: mgronlun
(cherry picked from commit 54603aa1b7)
2023-03-05 08:35:54 +07:00
Roger Riggs
9bb83fd912 8303253: Remove unnecessary calls to super() in java.time value based classes
Reviewed-by: naoto, mchung, lancea
(cherry picked from commit 4c169d2d7c)
2023-03-05 08:35:54 +07:00
David M. Lloyd
abd6cbf3c9 8292914: Lambda proxies have unstable names
Change the name of generated lambda proxy classes so that they no longer have a numerical suffix.

Reviewed-by: mchung
(cherry picked from commit b527edd338)
2023-03-05 08:35:53 +07:00
Brian Burkhalter
e2e6419537 8029370: (fc) FileChannel javadoc not clear for cases where position == size
Reviewed-by: lancea
(cherry picked from commit 42330d28da)
2023-03-05 08:35:53 +07:00
Naoto Sato
c349ae994f 8301119: Support for GB18030-2022
Reviewed-by: alanb, coffeys, lancea
(cherry picked from commit a253b46021)
2023-03-05 08:35:53 +07:00
Archie L. Cobbs
785021ee61 8302685: Some javac unit tests aren't reliably closing open files
Reviewed-by: darcy, vromero
(cherry picked from commit 55e6bb6b85)
2023-03-05 08:35:53 +07:00
Matias Saavedra Silva
6f8a4d52d6 8262895: [macos_aarch64] runtime/CompressedOops/CompressedClassPointers.java fails with 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr
Reviewed-by: dholmes, coleenp
(cherry picked from commit f5a12768fb)
2023-03-05 08:35:53 +07:00
Julian Waters
a8ef9f0b6d 8303169: Remove Windows specific workaround from libdt
Reviewed-by: cjplummer, sspitsyn, clanger
(cherry picked from commit 2fe4e5f8d7)
2023-03-05 08:35:53 +07:00
Johan Sjölen
021f28427a 8303051: Stop saving 5 chunks in each ChunkPool
Reviewed-by: rehn, coleenp
(cherry picked from commit f2b03f9a2c)
2023-03-05 08:35:52 +07:00
Erik Gahlin
84a849724e 8303135: JFR: Log periodic events using periodic tag
Reviewed-by: mgronlun
(cherry picked from commit fbc036e745)
2023-03-05 08:35:52 +07:00
Prasanta Sadhukhan
c908175dee 8081474: SwingWorker calls 'done' before the 'doInBackground' is finished
Reviewed-by: aivanov, serb
(cherry picked from commit dbb5581eba)
2023-03-05 08:35:52 +07:00
Darragh Clarke
d97685926d 8300792: Refactor examples in java.net.http to use @snippet
Reviewed-by: dfuchs, jpai
(cherry picked from commit 306134dcf9)
2023-03-05 08:35:52 +07:00
Daniel Jeliński
5f86b926c8 8302732: sun/net/www/http/HttpClient/MultiThreadTest.java still failing intermittently
Reviewed-by: dfuchs
(cherry picked from commit a2c5a4ac9e)
2023-03-05 08:35:52 +07:00
Damon Fenacci
d7a996fa99 8292583: Comment for ciArrayKlass::make is wrong
Reviewed-by: thartmann, rcastanedalo
(cherry picked from commit db217c9ad6)
2023-03-05 08:35:52 +07:00
Emanuel Peter
933144a841 8302149: Speed up compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java
Reviewed-by: kvn, vlivanov
(cherry picked from commit 2613b94f28)
2023-03-05 08:35:51 +07:00
Emanuel Peter
9d39a22a17 8303045: Remove RegionNode::LoopStatus::NeverIrreducibleEntry assert with wrong assumption
Reviewed-by: chagedorn, kvn
(cherry picked from commit d2660a6915)
2023-03-05 08:35:51 +07:00
Emanuel Peter
318dd2f1bd 8302681: [IR Framework] Only allow cpuFeatures from a verified list
Reviewed-by: thartmann, pli, chagedorn, kvn
(cherry picked from commit 1794f49751)
2023-03-05 08:35:51 +07:00
Sergey Bylokhov
b20288a66c 8303102: jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN
Reviewed-by: dholmes
(cherry picked from commit a43931b79c)
2023-03-05 08:35:51 +07:00
Andrey Turbanov
05aa08f5b6 8302268: Prefer ArrayList to LinkedList in XEmbeddedFramePeer
Reviewed-by: serb, dnguyen
(cherry picked from commit 2fb1e3b7e7)
2023-03-05 08:35:51 +07:00
Andrey Turbanov
449a08f473 8301964: Expensive fillInStackTrace operation in HttpURLConnection.getLastModified when no last-modified in response
Reviewed-by: dfuchs, jpai, alanb
(cherry picked from commit 3a9f491caa)
2023-03-05 08:35:51 +07:00
Andrey Turbanov
526a06e7bf 8302120: Prefer ArrayList to LinkedList in AggregatePainter
Reviewed-by: serb
(cherry picked from commit 1dbd18ac63)
2023-03-05 08:35:51 +07:00
Alan Bateman
189ecd876e 8302899: Executors.newSingleThreadExecutor can use Cleaner to shutdown executor
Reviewed-by: rriggs, martin, dfuchs, bchristi
(cherry picked from commit 2e78d838a5)
2023-03-05 08:35:50 +07:00
Eirik Bjorsnos
fbab3486a5 8302871: Speed up StringLatin1.regionMatchesCI
Reviewed-by: redestad, martin, alanb
(cherry picked from commit 17e3769ed7)
2023-03-05 08:35:50 +07:00
Leonid Mesnik
980c398d1a 8288912: vmTestbase/nsk/stress/strace/strace002.java fails with Unexpected method name: currentCarrierThread
Reviewed-by: dholmes
(cherry picked from commit b4ea80731c)
2023-03-05 08:35:50 +07:00
Brian Burkhalter
0af7cc9873 8303083: (bf) Remove private DirectByteBuffer(long, int) constructor before JDK 21 GA
Reviewed-by: alanb, lancea
(cherry picked from commit ccf3340e82)
2023-03-05 08:35:50 +07:00
Justin King
37706f7594 8303072: Memory leak in exeNullCallerTest.cpp
Reviewed-by: dholmes
(cherry picked from commit 83d77b1cbb)
2023-03-05 08:35:50 +07:00
Julian Waters
ab508f5c4b 8303131: pandoc.exe mangles all processed html files
Reviewed-by: erikj
(cherry picked from commit 7d8b8ba9c4)
2023-03-05 08:35:50 +07:00
Thomas Stuefe
c9ab82d08f 8302810: NMT gtests don't correctly check for marked ranges
Reviewed-by: gziemski, dholmes
(cherry picked from commit 8f7c4969c2)
2023-03-05 08:35:49 +07:00
Damon Nguyen
1ecdf7e66b 8302173: Button border overlaps with button icon on macOS system LaF
Reviewed-by: honkar, psadhukhan
(cherry picked from commit 1a07871454)
2023-03-05 08:35:49 +07:00
Erik Gahlin
34210543ad 8302677: JFR: Cache label and contentType in EventType and ValueDescriptor
Reviewed-by: mgronlun
(cherry picked from commit 796cdd52f5)
2023-03-05 08:35:49 +07:00
Erik Gahlin
0446bc02f6 8302821: JFR: Periodic task thread spins after recording has stopped
Reviewed-by: mgronlun
(cherry picked from commit 6b24b4a70f)
2023-03-05 08:35:49 +07:00
Evgeny Nikitin
702b511444 8303089: [jittester] Add time limit to IRTree generation
Reviewed-by: iveresov, lmesnik
(cherry picked from commit 4d33fbd582)
2023-03-05 08:35:49 +07:00
Justin Lu
c7ae0495a3 8302512: Update IANA Language Subtag Registry to Version 2023-02-14
Reviewed-by: naoto
(cherry picked from commit f612dcfebe)
2023-03-05 08:35:49 +07:00
Leonid Mesnik
b58027e9bc 8301200: Don't scale timeout stress with timeout factor
Reviewed-by: lkorinth
(cherry picked from commit 6397cb611a)
2023-03-05 08:35:49 +07:00
Mikhailo Seledtsov
c89619366f 8303085: Runtime problem list cleanup
Reviewed-by: lmesnik, dholmes
(cherry picked from commit 71dd7eaf7f)
2023-03-05 08:35:48 +07:00
Erik Gahlin
44d7c145dd 8302883: JFR: Improve periodic events
Reviewed-by: mgronlun
(cherry picked from commit 4b6acad0bd)
2023-03-05 08:35:48 +07:00
Daniel D. Daugherty
dd8bbdad1c 8303125: ProblemList vmTestbase/nsk/jdi/VMOutOfMemoryException/VMOutOfMemoryException001/VMOutOfMemoryException001.java
Reviewed-by: jdv
(cherry picked from commit a2471b37e3)
2023-03-05 08:35:48 +07:00
Christoph Dreis
eaf48fd944 8303078: Reduce allocations when pretty printing JCTree during compilation
Reviewed-by: jjg, vromero
(cherry picked from commit 58ca711a97)
2023-03-05 08:35:48 +07:00
Justin King
fabcc60ba5 8303071: Memory leaks in libjdwp
Reviewed-by: sspitsyn
(cherry picked from commit 2cf8b8607d)
2023-03-05 08:35:48 +07:00
Stefan Karlsson
938e76ad59 8302927: Unproblemlist Fuzz.java from ProblemList-zgc.txt again
Reviewed-by: sjohanss, eosterlund
(cherry picked from commit f113b04ab9)
2023-03-05 08:35:48 +07:00
Claes Redestad
b5de73b78c 8303073: (bf) Temporarily reinstate private DirectByteBuffer(long, int) constructor
Reviewed-by: alanb, bpb
(cherry picked from commit 1bab93b2d0)
2023-03-05 08:35:48 +07:00
Matthias Baesken
a37e124669 8303047: avoid NULL after 8301661
Reviewed-by: mdoerr, kbarrett, dholmes
(cherry picked from commit 221f34634d)
2023-03-05 08:35:47 +07:00
Thomas Stuefe
55e42f436c 8302811: NMT.random_reallocs_vm fails if NMT is off
Reviewed-by: jsjolen, sgehwolf
(cherry picked from commit 23e9d9d3ee)
2023-03-05 08:35:47 +07:00
Joe Darcy
5c12616f29 8302028: Port fdlibm atan2 to Java
Reviewed-by: bpb
(cherry picked from commit fcaf871408)
2023-03-05 08:35:47 +07:00
Albert Mingkun Yang
20ca991114 8303081: Serial: Remove unused VM_MarkSweep
Reviewed-by: tschatzl

(cherry picked from commit 07e976ac26)
2023-03-05 08:35:47 +07:00
Julian Waters
1915e933ce 8302667: Improve message format when failing to load symbols or libraries
Reviewed-by: mchung
(cherry picked from commit 8de841dd19)
2023-03-05 08:35:47 +07:00
Glavo
cdbc468c15 8303024: (fs) WindowsFileSystem.supportedFileAttributeViews can use Set.of
Reviewed-by: bpb
(cherry picked from commit f893d2315d)
2023-03-05 08:35:47 +07:00
Thomas Schatzl
7151464459 8303084: G1 Heap region liveness verification has inverted return value
Reviewed-by: ayang
(cherry picked from commit d7ada66129)
2023-03-05 08:35:46 +07:00
Thomas Schatzl
e2e187858b 8302760: Improve liveness/remembered set verification for G1
Reviewed-by: kbarrett, iwalulya
(cherry picked from commit 5d7e7e28b1)
2023-03-05 08:35:46 +07:00
Albert Mingkun Yang
22ee99e1ce 8303067: G1: Remove unimplemented G1FullGCScope::heap_transition
Reviewed-by: tschatzl
(cherry picked from commit b0e0f37d73)
2023-03-05 08:35:46 +07:00
Thomas Schatzl
45ac40047b 8302880: Fix includes in g1ConcurrentMarkObjArrayProcessor files
Reviewed-by: ayang, kbarrett
(cherry picked from commit 1a62a1229a)
2023-03-05 08:35:46 +07:00
Thomas Schatzl
8c8fa0886f 8302975: Remove redundant mark verification during G1 Full GC
Reviewed-by: ayang, kbarrett
(cherry picked from commit ee37af47cd)
2023-03-05 08:35:46 +07:00
Patricio Chilano Mateo
18491876fd 8300575: JVMTI support when using alternative virtual thread implementation
Reviewed-by: lmesnik, sspitsyn, alanb
(cherry picked from commit 83bea26df4)
2023-03-05 08:35:46 +07:00
Sergey Tsypanov
0dac92c123 8302979: (fs) Files usage of SUPPORTED_CHARSETS could be simplified
Reviewed-by: alanb, jwaters
(cherry picked from commit 25bfed3b12)
2023-03-05 08:35:46 +07:00
Albert Mingkun Yang
ad8f6507ac 8303054: Remove unused variables in GCTraceTimeLoggerImpl::log_end
Reviewed-by: tschatzl
(cherry picked from commit 0d5f7439a4)
2023-03-05 08:35:45 +07:00
Albert Mingkun Yang
ac8349bc9c 8302878: Group cmdline heap size checking together
Reviewed-by: kbarrett, iwalulya
(cherry picked from commit adc29c36e1)
2023-03-05 08:35:45 +07:00
Daniel Fuchs
8044e5e001 8299338: AssertionError in ResponseSubscribers$HttpResponseInputStream::onSubscribe
Reviewed-by: jpai
(cherry picked from commit 575484806c)
2023-03-05 08:35:45 +07:00
Per Minborg
11dd9f0e1e 8302849: SurfaceManager might expose partially constructed object
Reviewed-by: serb
(cherry picked from commit 63ef214328)
2023-03-05 08:35:45 +07:00
Roberto Castañeda Lozano
7b77b2bf3f 8302873: ZGC: dump barrier data in C2 Mach nodes
Reviewed-by: thartmann, kvn
(cherry picked from commit 30b2ac4a28)
2023-03-05 08:35:45 +07:00
Per Minborg
445b14718f 8302858: Polish FlightRecorderMXBeanImpl
Reviewed-by: egahlin
(cherry picked from commit 861eea9bd4)
2023-03-05 08:35:45 +07:00
Per Minborg
2a405294bf 8302856: Typo in FlightRecorderMXBeanImpl
Reviewed-by: kevinw, egahlin
(cherry picked from commit 60a358172a)
2023-03-05 08:35:44 +07:00
Tagir F. Valeev
df28978170 8302815: Use new Math.clamp method in core libraries
Reviewed-by: alanb
(cherry picked from commit 3f3a1f534b)
2023-03-05 08:35:44 +07:00
Kevin Walls
37fa5f420b 8302870: More information needed from failures in vmTestbase ThreadUtils.waitThreadState
Reviewed-by: dholmes, sspitsyn
(cherry picked from commit 5e1d1b7940)
2023-03-05 08:35:44 +07:00
Severin Gehwolf
9641cf935f 8302888: containers/docker/TestJcmd.java fails when run as root under podman
Reviewed-by: dholmes
(cherry picked from commit 7f35389533)
2023-03-05 08:35:44 +07:00
Alan Bateman
446b73523a 8280113: (dc) DatagramSocket.receive does not always throw when the channel is closed
Reviewed-by: jpai, dfuchs
(cherry picked from commit b6ecca1268)
2023-03-05 08:35:44 +07:00
Richard Reingruber
0eeb76c094 8302831: PPC: compiler/codecache/TestStressCodeBuffers.java fails after JDK-8301819
Reviewed-by: mdoerr
(cherry picked from commit f54e1080c5)
2023-03-05 08:35:44 +07:00
Julian Waters
a6b54194be 8302838: jabswitch main() should avoid calling exit explicitly
Reviewed-by: serb
(cherry picked from commit cba817ae59)
2023-03-05 08:35:44 +07:00
Prasanta Sadhukhan
b75f8ff512 8041447: Test javax/swing/dnd/7171812/bug7171812.java fails with java.lang.RuntimeException: Test failed, scroll on drag doesn't work
Reviewed-by: tr, serb
(cherry picked from commit 2c52cf0746)
2023-03-05 08:35:43 +07:00
Martin Doerr
e5b3175b10 8302907: [PPC64] Use more constexpr in class Register
Reviewed-by: rrich
(cherry picked from commit 180b94c73e)
2023-03-05 08:35:43 +07:00
Mikael Vidstedt
b6793fa2fe 8303016: Invalid escapes in grep patterns
Reviewed-by: erikj
(cherry picked from commit f319c92bd0)
2023-03-05 08:35:43 +07:00
Eirik Bjorsnos
b189165e85 8303033: Build failure with the micro bench mark
Reviewed-by: naoto
(cherry picked from commit e950b95486)
2023-03-05 08:35:43 +07:00
Albert Mingkun Yang
99ec8924fb 8302864: Parallel: Remove PSVirtualSpace::pointer_delta
Reviewed-by: tschatzl, kbarrett
(cherry picked from commit dcd773ac5c)
2023-03-05 08:35:43 +07:00
Serguei Spitsyn
1a7c50da9f 8299240: rank of JvmtiVTMSTransition_lock can be safepoint
Reviewed-by: dholmes, coleenp, pchilanomate
(cherry picked from commit 46f25250bd)
2023-03-05 08:35:43 +07:00
Justin King
7a90faa7d0 8303010: Add /DEBUG to LDFLAGS for MSVC with ASan
Reviewed-by: erikj
(cherry picked from commit ce6de37172)
2023-03-05 08:35:42 +07:00
Mikael Vidstedt
168a949582 8303020: Remove carriage return in pandoc version string
Reviewed-by: iris, lancea, erikj
(cherry picked from commit 729c26f70e)
2023-03-05 08:35:42 +07:00
Eirik Bjorsnos
81c88d05f6 8302877: Speed up latin1 case conversions
Reviewed-by: naoto, redestad
(cherry picked from commit ef1f7bd3b8)
2023-03-05 08:35:42 +07:00
Christian Stein
d25373ba65 8302789: (fs) Files.copy should include unsupported copy option in exception message
Reviewed-by: alanb, bpb, lancea
(cherry picked from commit 1ea5f9f7cd)
2023-03-05 08:35:42 +07:00
Joe Darcy
4070fab5f0 8302800: Augment NaN handling tests of FDLIBM methods
Reviewed-by: bpb
(cherry picked from commit dfce4e1943)
2023-03-05 08:35:42 +07:00
Glavo
d185a67394 8302603: Use Set.of in java.nio.charset.Charset
Reviewed-by: stsypanov, alanb, naoto
(cherry picked from commit 5489c821dc)
2023-03-05 08:35:42 +07:00
Roger Riggs
38c44caef8 8301627: System.exit and Runtime.exit debug logging
Reviewed-by: alanb, chegar
(cherry picked from commit 10b4cc9eb4)
2023-03-05 08:35:41 +07:00
Johannes Bechberger
71648e5c4c 8302320: AsyncGetCallTrace obtains too few frames in sanity test
Reviewed-by: jvernee, dholmes, rrich
(cherry picked from commit db483a38a8)
2023-03-05 08:35:41 +07:00
Tobias Holenstein
a3714f45ae 8302846: IGV: Zoom stuck when zooming out on large graphs
Reviewed-by: rcastanedalo, thartmann
(cherry picked from commit 02eb240c71)
2023-03-05 08:35:41 +07:00
Claes Redestad
3329b267c6 8302863: Speed up String::encodeASCII using countPositives
Reviewed-by: alanb
(cherry picked from commit 92dfa1175e)
2023-03-05 08:35:41 +07:00
Pavel Rappo
3b8fa92f59 8302981: Fix a typo in the doc comment for java.lang.Record.equals
Reviewed-by: jpai
(cherry picked from commit 8b20aa919b)
2023-03-05 08:35:41 +07:00
Julian Waters
f652a73ebe 8302837: Kernel32.cpp array memory release invokes undefined behaviour
Reviewed-by: jlahoda
(cherry picked from commit 644fe0a994)
2023-03-05 08:35:41 +07:00
Stefan Karlsson
05d233d5f6 8302977: ZGC: Doesn't support gc/TestVerifySubSet.java
Reviewed-by: tschatzl
(cherry picked from commit 60e6378925)
2023-03-05 08:35:40 +07:00
Stefan Karlsson
5f64946299 8299777: Test runtime/NMT/BaselineWithParameter.java timed out
Reviewed-by: gziemski, iklam, dholmes
(cherry picked from commit fef1910277)
2023-03-05 08:35:40 +07:00
Albert Mingkun Yang
f06f0c2eb2 8302886: Parallel: Remove unimplemented methods in ParCompactionManager
Reviewed-by: tschatzl
(cherry picked from commit 622f5604c1)
2023-03-05 08:35:40 +07:00
Albert Mingkun Yang
f60c58ac91 8302868: Serial: Remove CardTableRS::initialize
Reviewed-by: tschatzl
(cherry picked from commit 9fd77c7b9b)
2023-03-05 08:35:40 +07:00
Albert Mingkun Yang
a769e4f423 8302867: G1: Removing unused variable in G1CardTable::initialize
Reviewed-by: tschatzl
(cherry picked from commit f35cf79b51)
2023-03-05 08:35:40 +07:00
Stefan Karlsson
130899a342 8302741: ZGC: Remove Universe::verify calls
Reviewed-by: ayang, tschatzl
(cherry picked from commit 63a3501273)
2023-03-05 08:35:40 +07:00
Matthias Baesken
51fbf45a15 8301661: Enhance os::pd_print_cpu_info on macOS and Windows
Reviewed-by: ihse, lucy, dholmes
(cherry picked from commit 9145670354)
2023-03-05 08:35:39 +07:00
Jayathirth D V
128ea64fd5 8302151: BMPImageReader throws an exception reading BMP images
Reviewed-by: serb, tr
(cherry picked from commit aa10f0d3ee)
2023-03-05 08:35:39 +07:00
Emanuel Peter
5914be1caf 8302150: Speed up compiler/codegen/Test7100757.java
Reviewed-by: kvn, thartmann
(cherry picked from commit 16a4f02f2d)
2023-03-05 08:35:39 +07:00
Emanuel Peter
33d1a0f76c 8302146: Move TestOverloadCompileQueues.java to tier3
Reviewed-by: kvn, thartmann
(cherry picked from commit 17274c72a9)
2023-03-05 08:35:39 +07:00
Tejesh R
76c7c50b6a 8299522: Incorrect size of Approve button in custom JFileChooser
Reviewed-by: aivanov, abhiscxk, dnguyen
(cherry picked from commit 29f392e434)
2023-03-05 08:35:39 +07:00
Gui Cao
1ef4bd88f0 8302453: RISC-V: Add support for small width vector operations
Co-authored-by: Dingli Zhang <dingli@iscas.ac.cn>
Reviewed-by: yzhu, fyang
(cherry picked from commit 43c71ddf92)
2023-03-05 08:35:39 +07:00
David Holmes
99c3219336 8302905: arm32 Raspberry Pi OS build broken by JDK-8301494
Reviewed-by: mikael, martin
(cherry picked from commit 91a2b5ec6f)
2023-03-05 08:35:38 +07:00
George Adams
90a09c2913 8302879: doc/building.md update link to jtreg builds
Reviewed-by: sgehwolf, clanger
(cherry picked from commit bb3dfd6adb)
2023-03-05 08:35:38 +07:00
sunguoyun
667b88de5d 8302369: Reduce the stack size of the C1 compiler
Reviewed-by: dlong
(cherry picked from commit 36a0822633)
2023-03-05 08:35:38 +07:00
Justin King
9a92bf547a 8302599: Extend ASan support to Microsoft Visual C++
Reviewed-by: erikj, stuefe, ihse
(cherry picked from commit 0bf3a53e01)
2023-03-05 08:35:38 +07:00
ravi.ra.gupta
7a1901ceb3 8302525: Write a test to check various components send Events while mouse and key are used simultaneously
Reviewed-by: serb
(cherry picked from commit c7517b3dec)
2023-03-05 08:35:38 +07:00
Alexey Bakhtin
1837a36cd2 8299234: JMX Repository.query performance
Reviewed-by: dfuchs, kevinw
(cherry picked from commit 9a797228f3)
2023-03-05 08:35:38 +07:00
Severin Gehwolf
7b4f18ebf0 8300658: memory_and_swap_limit() reporting wrong values on systems with swapaccount=0
Reviewed-by: jsjolen, iklam
(cherry picked from commit e47e9ec05b)
2023-03-05 08:35:38 +07:00
Roman Kennke
871ff41acf 8302070: Factor null-check into load_klass() calls
Reviewed-by: phh, coleenp
(cherry picked from commit 7cf7e0a20b)
2023-03-05 08:35:37 +07:00
Prasanta Sadhukhan
5f02471699 8302882: Newly added test javax/swing/JFileChooser/JFileChooserFontReset.java fails with HeadlessException
Reviewed-by: jdv
(cherry picked from commit e731695217)
2023-03-05 08:35:37 +07:00
Johan Sjölen
a9dbc65d8f 8301749: Tracking malloc pooled memory size
Reviewed-by: dholmes, stuefe
(cherry picked from commit b5a7426996)
2023-03-05 08:35:37 +07:00
Vitaly Provodin
2b83bed5a8 JBR-5183 Serial: Refactor oop closures used in Young GC 2023-03-05 08:35:37 +07:00
Albert Mingkun Yang
e1168e317c 8302068: Serial: Refactor oop closures used in Young GC
Reviewed-by: tschatzl, iwalulya
(cherry picked from commit 6ac5e05c58)
2023-03-04 13:33:06 +07:00
Pengfei Li
b553da5f0b 8302518: Add missing Op_RoundDoubleMode in VectorNode::vector_operands()
Reviewed-by: kvn, jbhateja
(cherry picked from commit 71cf7c4409)
2023-03-04 13:33:05 +07:00
Thomas Schatzl
dae28264f9 8302709: Remove explicit remembered set verification in G1
Reviewed-by: ayang, iwalulya
(cherry picked from commit 98716e2b25)
2023-03-04 13:33:05 +07:00
Ludovic Henry
3bc2f10854 8302776: RISC-V: Fix typo CSR_INSTERT to CSR_INSTRET
Reviewed-by: fyang
(cherry picked from commit 303c61f3ca)
2023-03-04 13:33:04 +07:00
Thomas Schatzl
8fdb11cb77 8302312: Make ParGCRareEvent_lock G1 specific
Reviewed-by: sjohanss, kbarrett
(cherry picked from commit 7c40c8af69)
2023-03-04 13:33:04 +07:00
Thomas Schatzl
2481d0a8e6 8302122: Parallelize TLAB retirement in prologue in G1
8297611: G1: Merge tlab and per-thread dirty card log flushing

Reviewed-by: kbarrett, ayang
(cherry picked from commit 593bec685e)
2023-03-04 13:33:03 +07:00
Thomas Schatzl
df73c178b2 8302206: Factor out duplicate G1VerificationClosure
Reviewed-by: kbarrett, ayang
(cherry picked from commit e971f90a0b)
2023-03-04 13:33:03 +07:00
Ivan Walulya
58ca9ecac7 8302215: G1: Last-ditch Full GC should do serial compaction for tail regions in per thread compaction points.
Reviewed-by: ayang, sjohanss, tschatzl

(cherry picked from commit eaae0baeba)
2023-03-04 13:33:02 +07:00
Emanuel Peter
e19c4240c6 8302668: [TESTBUG] Tests require feature sse4_1 which does not exist, should be sse4.1
Reviewed-by: kvn, thartmann
(cherry picked from commit 7e08275cc1)
2023-03-04 13:30:07 +07:00
Emanuel Peter
b26dac8d42 8295979: [IR Framework] Improve IR matching warning
Reviewed-by: thartmann, kvn
(cherry picked from commit 5c0f50bc01)
2023-03-04 13:30:07 +07:00
Tobias Holenstein
41a06866c0 8302656: Missing spaces in output of -XX:+CIPrintMethodCodes
Reviewed-by: kvn, thartmann
(cherry picked from commit 743a85db06)
2023-03-04 13:30:06 +07:00
Prasanta Sadhukhan
6a089dc0b2 6753661: JFileChooser font not reset after Look & Feel change
Reviewed-by: abhiscxk, aivanov, serb
(cherry picked from commit 432cf68c4d)
2023-03-04 13:30:05 +07:00
Richard Reingruber
a161701774 8302462: [REDO] 8297487: G1 Remark: no need to keep alive oop constants of nmethods on stack
Reviewed-by: tschatzl, ayang
(cherry picked from commit 2009dc2b73)
2023-03-04 13:30:05 +07:00
Ioi Lam
f0c672e28d 8302781: CDS archive heap not reproducible after JDK-8296344
Reviewed-by: dcubed
(cherry picked from commit 7abe26935a)
2023-03-04 13:30:04 +07:00
Claes Redestad
ef56815632 8302315: Examine cost of clone of primitive arrays compared to arraycopy
Reviewed-by: alanb
(cherry picked from commit d6716d2e54)
2023-03-04 13:30:04 +07:00
Thomas Stuefe
d2fe0d4496 8302812: JDK-8302455 broke ClassLoaderStatsTest on 32-bit
Reviewed-by: dcubed
(cherry picked from commit 53be5dc486)
2023-03-04 13:30:03 +07:00
Eirik Bjorsnos
e01837a42e 8301873: Avoid string decoding in ZipFile.Source.getEntryPos
Reviewed-by: redestad, lancea
(cherry picked from commit 78f71b4d41)
2023-03-04 13:30:03 +07:00
Jaikiran Pai
cc86e4f23a 8302623: jarsigner - use BufferedOutputStream to improve performance while creating the signed jar
Reviewed-by: weijun
(cherry picked from commit f82385e587)
2023-03-04 13:30:02 +07:00
Jaikiran Pai
72bf1b4562 8302664: Fix several incorrect usages of Preconditions.checkFromIndexSize
Reviewed-by: djelinski, dfuchs, alanb
(cherry picked from commit 43cf8b3d80)
2023-03-04 13:30:02 +07:00
Serguei Spitsyn
5cb828436c 8302615: make JVMTI thread cpu time functions optional for virtual threads
Reviewed-by: alanb
(cherry picked from commit 6b082fb3c6)
2023-03-04 13:30:01 +07:00
Sandhya Viswanathan
5ff6b031f0 8302358: Behavior of adler32 changes after JDK-8300208
Reviewed-by: kvn, jbhateja
(cherry picked from commit 7c60b9c98f)
2023-03-04 13:29:59 +07:00
Calvin Cheung
fb55e1e23b 8301992: Embed SymbolTable CHT node
Co-authored-by: Robbin Ehn <rehn@openjdk.org>
Reviewed-by: coleenp, iklam
(cherry picked from commit 86b9fce980)
2023-03-04 13:29:58 +07:00
Mikhailo Seledtsov
9e086e8405 8294402: Add diagnostic logging to VMProps.checkDockerSupport
Reviewed-by: dholmes, lmesnik
(cherry picked from commit 03d613bbab)
2023-03-04 13:29:57 +07:00
Ioi Lam
18677037ea 8302777: CDS should not relocate heap if mapping fails
Reviewed-by: ccheung
(cherry picked from commit a263f28368)
2023-03-04 13:29:56 +07:00
Archie L. Cobbs
adfd1a5baf 7033677: potential cast error in MemberEnter
Reviewed-by: vromero, jlahoda
(cherry picked from commit a917fb3fcf)
2023-03-04 13:29:56 +07:00
Ludvig Janiuk
b47b04c9a9 8302226: failure_handler native.core should wait for coredump to finish
Reviewed-by: erikj
(cherry picked from commit 6120319afd)
2023-03-04 13:29:55 +07:00
Albert Mingkun Yang
1372db82a3 8302734: Parallel: Remove unused LGRPSpace::_invalid_region
Reviewed-by: tschatzl
(cherry picked from commit fef3eab9bd)
2023-03-04 13:29:53 +07:00
Albert Mingkun Yang
3827b6407d 8302661: Parallel: Remove PSVirtualSpace::is_aligned
Reviewed-by: stefank, tschatzl
(cherry picked from commit ea5bfea333)
2023-03-04 13:29:53 +07:00
Daniel Fuchs
44e2809f9d 8302635: Race condition in HttpBodySubscriberWrapper when cancelling request
Reviewed-by: jpai
(cherry picked from commit edf238b65e)
2023-03-04 13:29:52 +07:00
Tobias Holenstein
1c70c14246 8290822: C2: assert in PhaseIdealLoop::do_unroll() is subject to undefined behavior
Reviewed-by: kvn, thartmann
(cherry picked from commit cd77fcfb5f)
2023-03-04 13:29:51 +07:00
Tobias Holenstein
4b759a63c9 8302335: IGV: Bytecode not showing
Reviewed-by: rcastanedalo, thartmann, xliu
(cherry picked from commit 57c9bc39cd)
2023-03-04 13:29:51 +07:00
Yi-Fan Tsai
fc8f2d72ea 8302113: Improve CRC32 intrinsic with crypto pmull on AArch64
Reviewed-by: simonis
(cherry picked from commit 57fde75b2a)
2023-03-04 13:29:51 +07:00
Richard Reingruber
3faea1a84b 8302158: PPC: test/jdk/jdk/internal/vm/Continuation/Fuzz.java: AssertionError: res: false shouldPin: false
Reviewed-by: goetz, mdoerr
(cherry picked from commit b8c9d6cdf6)
2023-03-04 13:29:50 +07:00
Jan Lahoda
b7b66977c9 8302202: Incorrect desugaring of null-allowed nested patterns
Reviewed-by: vromero
(cherry picked from commit dc55a7fc87)
2023-03-04 13:29:48 +07:00
Johan Sjölen
df173b121c 8301494: Replace NULL with nullptr in cpu/arm
Reviewed-by: dholmes, coleenp
(cherry picked from commit c4ffe4bf63)
2023-03-04 13:29:47 +07:00
Albert Mingkun Yang
77b5b80c38 8302674: Parallel: Remove unused methods in MutableNUMASpace
Reviewed-by: tschatzl
(cherry picked from commit 4f1cffd52c)
2023-03-04 13:29:47 +07:00
Johan Sjölen
1fb4e57197 8301481: Replace NULL with nullptr in os/windows
Reviewed-by: coleenp, dholmes

(cherry picked from commit c91cd2814b)
2023-03-04 13:29:46 +07:00
Damon Fenacci
9d8a402569 8301491: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument
Reviewed-by: thartmann, kvn
(cherry picked from commit 47ca5773a5)
2023-03-04 13:27:49 +07:00
Ioi Lam
1bd8fe66e8 8296158: Refactor the verification of CDS region checksum
Reviewed-by: ccheung, matsaave
(cherry picked from commit 49eb68ba95)
2023-03-04 13:27:48 +07:00
Joe Darcy
a7d131f0e6 8301444: Port fdlibm hyperbolic transcendental functions to Java
Reviewed-by: bpb
(cherry picked from commit 655a71277d)
2023-03-04 13:27:48 +07:00
David Holmes
073f68edb0 8280419: Remove dead code related to VerifyThread and verify_thread()
Reviewed-by: stuefe, lucy
(cherry picked from commit b242eef93e)
2023-03-04 13:27:47 +07:00
Valerie Peng
693ca15a30 8302225: SunJCE Provider doesn't validate key sizes when using 'constrained' transforms for AES/KW and AES/KWP
Reviewed-by: xuelei
(cherry picked from commit 4ce493f09e)
2023-03-04 13:27:47 +07:00
Magnus Ihse Bursie
c7dae0f76b 8301753: AppendFile/WriteFile has differences between make 3.81 and 4+
Reviewed-by: erikj
(cherry picked from commit a39cf2e3b2)
2023-03-04 13:27:46 +07:00
Vicente Romero
1e75fb8a4c 8296010: AssertionError in annotationTargetType
Reviewed-by: jjg
(cherry picked from commit de80dd9c15)
2023-03-04 13:27:46 +07:00
Julian Waters
be23595d16 8302671: libawt has a memmove decay error
Reviewed-by: serb, prr, kcr
(cherry picked from commit e5042dd483)
2023-03-04 13:27:45 +07:00
Daniel D. Daugherty
17fa431a15 8302678: validate_source fails after JDK-8293313
Reviewed-by: bpb
(cherry picked from commit 574b48c692)
2023-03-04 13:27:45 +07:00
Thomas Stuefe
0ea2e94b73 8293313: NMT: Rework MallocLimit
8293292: Remove MallocMaxTestWords

Reviewed-by: jsjolen, gziemski, lucy, mbaesken

(cherry picked from commit 90e092280f)
2023-03-04 13:27:44 +07:00
Erik Gahlin
1f3ad5c22e 8298276: JFR: Update NMT events to make use of common periodic timestamp feature
Reviewed-by: mgronlun
(cherry picked from commit f558a6c599)
2023-03-04 13:13:06 +07:00
Archie L. Cobbs
75afd724cd 8302514: Misleading error generated when empty class file encountered
Reviewed-by: vromero, jwaters
(cherry picked from commit a58fa6e73e)
2023-03-04 13:13:05 +07:00
Justin King
e5a9e30d10 8302595: use-after-free related to GraphKit::clone_map
Reviewed-by: kvn, thartmann
(cherry picked from commit 3cc459b6c2)
2023-03-04 13:13:04 +07:00
Justin King
b710c970b2 8302594: use-after-free in Node::destruct
Reviewed-by: kvn, thartmann
(cherry picked from commit 2e3cea01da)
2023-03-04 13:13:04 +07:00
Tobias Holenstein
d033368450 8301959: Compile command in compiler.loopopts.TestRemoveEmptyCountedLoop does not work
Reviewed-by: kvn, thartmann
(cherry picked from commit 9b911b492f)
2023-03-04 13:13:03 +07:00
Tobias Holenstein
55a82c3289 8291735: methods_do() always run at exit
Reviewed-by: coleenp, kvn
(cherry picked from commit c29a136787)
2023-03-04 13:13:02 +07:00
Albert Mingkun Yang
b4af29941e 8302464: Parallel: Remove unreachable code in callers of numa_has_static_binding
Reviewed-by: lkorinth, tschatzl
(cherry picked from commit 687a461276)
2023-03-04 13:13:01 +07:00
Tejesh R
ba46211b67 8300549: JFileChooser Approve button tooltip is null in Aqua L&F in CUSTOM_DIALOG mode
Reviewed-by: aivanov, abhiscxk
(cherry picked from commit 84c058bb63)
2023-03-04 13:13:01 +07:00
Tobias Holenstein
c62406108e 8297031: IGV: Copy extracted nodes and layout for cloned graph
Reviewed-by: rcastanedalo, thartmann
(cherry picked from commit e045af4c92)
2023-03-04 13:13:00 +07:00
Severin Gehwolf
7ae82c8286 8300645: Handle julong values in logging of GET_CONTAINER_INFO macros
Reviewed-by: iklam
(cherry picked from commit 53ae4c07fd)
2023-03-04 13:12:59 +07:00
Tobias Hartmann
df9149ec76 8302625: Bad copyright line after JDK-8302385
Reviewed-by: mikael
(cherry picked from commit c77f64420a)
2023-03-04 13:12:59 +07:00
Thomas Stuefe
4390648918 8302385: Remove MetaspaceReclaimPolicy=none
Reviewed-by: iklam, dholmes
(cherry picked from commit 519229db3c)
2023-03-04 13:12:58 +07:00
Thomas Stuefe
3d7bae6121 8302455: VM.classloader_stats memory size values are wrong
Reviewed-by: coleenp, dholmes
(cherry picked from commit 6e2d3c6c45)
2023-03-04 13:12:57 +07:00
Vicente Romero
79d1c4c648 8208470: Type annotations on inner type that is an array component
Co-authored-by: Bernard Blaser <bsrbnd@openjdk.org>
Reviewed-by: jlahoda
(cherry picked from commit 1480d418e3)
2023-03-04 13:12:56 +07:00
Ioi Lam
3506e343bc 8224980: FLAG_SET_ERGO silently ignores invalid values
Reviewed-by: iveresov, dholmes
(cherry picked from commit 573c316c57)
2023-03-04 13:12:55 +07:00
Joe Darcy
24726d7dc6 8302026: Port fdlibm inverse trig functions (asin, acos, atan) to Java
Reviewed-by: bpb
(cherry picked from commit 3ba156082b)
2023-03-04 13:12:55 +07:00
Claes Redestad
aaedc0d821 8302163: Speed up various String comparison methods with ArraysSupport.mismatch
Reviewed-by: stsypanov, rriggs, alanb
(cherry picked from commit 861e302011)
2023-03-04 13:12:54 +07:00
Mandy Chung
051afbb8b7 8301460: Clean up LambdaForm to reference BasicType enums directly
Reviewed-by: jvernee
(cherry picked from commit 50dcc2aec5)
2023-03-04 13:12:53 +07:00
Albert Mingkun Yang
8a95ce02a1 8302127: Remove unused arg in write_ref_field_post
Reviewed-by: phh, kbarrett
(cherry picked from commit 28f5250fa5)
2023-03-04 13:12:52 +07:00
Johan Sjölen
ed6c442762 8301225: Replace NULL with nullptr in share/gc/shenandoah/
Reviewed-by: wkemper, kdnilsen, rkennke
(cherry picked from commit 0c9658446d)
2023-03-04 13:12:51 +07:00
Sean Mullan
fa600bab73 8301700: Increase the default TLS Diffie-Hellman group size from 1024-bit to 2048-bit
Reviewed-by: xuelei
(cherry picked from commit 26b111d714)
2023-03-04 13:12:51 +07:00
Michael McMahon
fd9ca2ec97 8301463: Code in DatagramSocket still refers to resolved JDK-8237352
Reviewed-by: dfuchs
(cherry picked from commit 52388179e6)
2023-03-04 13:12:50 +07:00
Severin Gehwolf
7784841363 8302325: Wrong comment in java.base/share/native/libjimage/imageFile.hpp
Reviewed-by: alanb, jlaskey
(cherry picked from commit 11194e8b82)
2023-03-04 13:12:49 +07:00
Scott Gibbons
5f39d4af08 8300808: Accelerate Base64 on x86 for AVX2
Reviewed-by: jbhateja, redestad, sviswanathan
(cherry picked from commit 33bec20710)
2023-03-04 13:12:49 +07:00
Emanuel Peter
16698ca913 8302147: Speed up compiler/jvmci/compilerToVM/IterateFramesNative.java
Reviewed-by: kvn, thartmann
(cherry picked from commit 46bcc4901e)
2023-03-04 13:12:48 +07:00
Emanuel Peter
c2f77d5943 8302152: Speed up tests with infinite loops, sleep less
Reviewed-by: thartmann, kvn
(cherry picked from commit a9a53f417d)
2023-03-04 13:12:47 +07:00
Justin King
219af25410 8302102: Disable ASan for SafeFetch and os::print_hex_dump
Reviewed-by: dholmes, stuefe

(cherry picked from commit 98a392c4fc)
2023-03-04 13:12:30 +07:00
Thomas Stuefe
db3bb466be 8302129: Make MetaspaceReclaimPolicy a diagnostic switch
Reviewed-by: dholmes, coleenp
(cherry picked from commit 9ccf8ad91f)
2023-03-04 12:35:59 +07:00
Ioi Lam
aac5370065 8296344: Remove dependency on G1 for writing the CDS archive heap
Reviewed-by: ayang, tschatzl, ccheung
(cherry picked from commit bdcbafb219)
2023-03-04 12:35:59 +07:00
Kim Barrett
29ce2d49cc 8302262: Remove -XX:SuppressErrorAt develop option
Reviewed-by: stuefe, dholmes, tschatzl
(cherry picked from commit f1d76fa925)
2023-03-04 12:35:58 +07:00
Mandy Chung
09675a9b9e 8302260: VarHandle.describeConstable() fails to return a nominal descriptor for static public fields
Reviewed-by: alanb, psandoz
(cherry picked from commit 9c202a5a8f)
2023-03-04 12:35:57 +07:00
Vicente Romero
84726c7c84 8301374: NullPointerException in MemberEnter.checkReceiver
Reviewed-by: jlahoda
(cherry picked from commit ca73f7e80f)
2023-03-04 12:35:57 +07:00
Brian Burkhalter
be1001f499 8297632: InputStream.transferTo() method should specify what the return value should be when the number of bytes transfered is larger than Long.MAX_VALUE
Reviewed-by: alanb, lancea
(cherry picked from commit 5b2d430131)
2023-03-04 12:35:56 +07:00
Xue-Lei Andrew Fan
a62ecc6b80 8301274: update for deprecated sprintf for security components
Reviewed-by: ascarpino
(cherry picked from commit f7dee77d73)
2023-03-04 12:35:55 +07:00
Xue-Lei Andrew Fan
bce9d36393 8301279: update for deprecated sprintf for management components
Reviewed-by: kevinw, dholmes
(cherry picked from commit ec901f28c3)
2023-03-04 12:35:55 +07:00
Erik Gahlin
ec07f7e56e 8298278: JFR: Turn MEMFLAGS into a type for use with the NativeMemoryUsage events
Reviewed-by: sjohanss
(cherry picked from commit 8933c2d06a)
2023-03-04 12:35:54 +07:00
Robbin Ehn
6aedcf778d 8302354: InstanceKlass init state/thread should be atomic
Reviewed-by: coleenp, dholmes
(cherry picked from commit 77519e5f4f)
2023-03-04 12:35:53 +07:00
Vicente Romero
eb91a96ff9 8207017: Type annotations on anonymous classes in initializer blocks not written to class file
Reviewed-by: jlahoda
(cherry picked from commit 2ef001e097)
2023-03-04 12:35:52 +07:00
Johan Sjölen
99d435dac0 8295344: Harden runtime/StackGuardPages/TestStackGuardPages.java
Reviewed-by: dholmes, rehn
(cherry picked from commit 8c2c8b3f7f)
2023-03-04 12:35:51 +07:00
Hannes Wallnöfer
2ee996abbc 8302324: Inheritance tree does not show correct type parameters/arguments
Reviewed-by: prappo
(cherry picked from commit 6d4b02b6c9)
2023-03-04 12:35:50 +07:00
Ekaterina Vergizova
8302bd3f80 8301842: JFR: increase checkpoint event size for stacktrace and string pool
Reviewed-by: mgronlun
(cherry picked from commit 7dfe75cf55)
2023-03-04 12:35:50 +07:00
Jie Fu
e68adefd0e 8302368: [ZGC] Client build fails after JDK-8300255
Reviewed-by: fyang, eosterlund
(cherry picked from commit 66742c83d4)
2023-03-04 12:35:49 +07:00
Albert Mingkun Yang
be2cc5614f 8225409: G1: Remove the Hot Card Cache
Reviewed-by: tschatzl, iwalulya
(cherry picked from commit 7c50ab1612)
2023-03-04 12:35:48 +07:00
Conor Cleary
eef2b501bb 8301243: java/net/httpclient/http2/IdleConnectionTimeoutTest.java intermittent failure
Reviewed-by: dfuchs
(cherry picked from commit 92474f13f0)
2023-03-04 12:35:47 +07:00
Severin Gehwolf
315ff06011 8302337: JDK crashes if lib/modules contains non-zero byte containing ATTRIBUTE_END
Reviewed-by: stuefe, jlaskey, alanb
(cherry picked from commit ee5f6e156d)
2023-03-04 12:35:46 +07:00
Erik Österlund
266cc785b0 8301874: BarrierSetC2 should assign barrier data to stores
Reviewed-by: rcastanedalo, kvn
(cherry picked from commit 7f71a1040d)
2023-03-04 12:35:46 +07:00
Eirik Bjorsnos
90c66367c4 8302214: Typo in javadoc of Arrays.compare and Arrays.mismatch
Reviewed-by: jpai
(cherry picked from commit d782125c8f)
2023-03-04 12:35:45 +07:00
Vitaly Provodin
78c0afe4f5 update exclude list on results of 21_b24.2 test runs 2023-03-04 05:17:54 +07:00
Sergey Shelomentsev
81602f10e6 JBR-5350 Separate test for Mac OS 2023-03-02 09:13:24 +02:00
Sergey Shelomentsev
a24b572105 JBR-5350 fix FrameNativeControlTest checks on MacOS 2023-02-28 20:32:04 +02:00
Sergey Shelomentsev
69cad4eb9e JBR-5344 fix incorrectly specified VM options 2023-02-28 20:31:49 +02:00
Sergey Shelomentsev
7a63a54009 JBR-5346 fix MaximizedCustomDecorationsTest test failure (move to the new JBR API) 2023-02-28 16:24:17 +02:00
Vitaly Provodin
b3c1036696 update exclude list on results of 17.0.6_b855.1 test runs
(cherry picked from commit 4c676cc2df0c319fc275589086a939237851fbc5)
2023-02-24 20:11:20 +07:00
Sergey Shelomentsev
0d992a1075 fixup! JBR-5300 Change source code and test files to use GPL license 2023-02-16 18:19:14 +02:00
Dmitry Batrak
b05c0b000c JBR-5300 Change source code and test files to use GPL license
fix copyright profile in generated IDE project

(cherry picked from commit 43ebbe3cd1)
2023-02-16 14:03:21 +02:00
Dmitry Batrak
3c8fedae6d JBR-5300 Change source code and test files to use GPL license
fix for the different comment format
2023-02-15 23:13:42 +02:00
Dmitry Batrak
5c80600323 JBR-5300 Change source code and test files to use GPL license 2023-02-15 12:47:06 +02:00
Vitaly Provodin
0cc88c6189 clean up exclude lists 2023-02-15 10:30:01 +07:00
Vladimir Dvorak
f1dddd1402 JBR-5183 - fix compilation on win - using size_t 2023-02-15 05:50:07 +07:00
Vladimir Dvorak
dd1f913a6b JBR-5183 - fix error: invalid use of incomplete type 'struct Atomic::StoreImpl 2023-02-15 05:50:06 +07:00
Vladimir Dvorak
241c900339 JBR-5183 - fix error: invalid use of incomplete type 'struct Atomic::StoreImpl 2023-02-15 05:50:06 +07:00
Vladimir Dvorak
542c868809 JBR-5183 - fix windows build 2023-02-15 05:50:05 +07:00
Vladimir Dvorak
d92cf744c7 JBR-5183 - nullptr in VM_EnhancedRedefineClasses 2023-02-15 05:50:04 +07:00
Vladimir Dvorak
a64b53548f JBR-5183 - fix compilation locking 2023-02-15 05:50:03 +07:00
Vladimir Dvorak
2808c46322 JBR-5183 fix G1GC forward pointer check 2023-02-15 05:50:03 +07:00
Vladimir Dvorak
78f0c0f12e JBR-5183 fix problem with _first_dead in serial GC 2023-02-15 05:50:02 +07:00
Vladimir Dvorak
88eb51b2e3 JBR-5183 fix bug from dcevm21 merge resolving 2023-02-15 05:50:01 +07:00
Vladimir Dvorak
ff005b3c82 JBR-5183 use sorted static fields in class comparison 2023-02-15 05:50:01 +07:00
Vladimir Dvorak
ae1c6e2721 JBR-5183 do not use EnhancedRedefineClasses_lock 2023-02-15 05:50:00 +07:00
Vladimir Dvorak
3229e3a7c9 JBR-5183 fix assert in make_jmethod_id 2023-02-15 05:50:00 +07:00
Vladimir Dvorak
7a44b5eb6a JBR-5183 remove VM_ThreadsSuspendJVMTI 2023-02-15 05:49:59 +07:00
Vladimir Dvorak
e482723604 JBR-5183 fix dcevm21 issues after merge dcevm17 updates 2023-02-15 05:49:58 +07:00
Vladimir Dvorak
38711119a3 JBR-5183 dcevm17 squashed commits
JBR-3111 Update class in all dictionaries where it was already defined

This patch keeps compatibility with std redefinition, that does not
create a new Klass, but modifies it, then it is modified in all
dictionaries containing this class.

Add ClassLoaderDataGraph_lock to define new class in enhanced
redefiniton

ClassLoaderDataGraph locking for introduced in redefinition in
java.version>11
JBR-3140 - support for modularized HotswapAgent

Add -XX:HotswapAgent=[disabled,fatjar.core]

Support for redefinition of Well Known classses (java.*,jdk.*, sun.*)

Fix fastdebug compilation issues - cast_to_oop
JBR-3458: Skip dynamic proxy classes based on com.sun.proxy
JBR-3459: Fix race condition in ClassLoaderDataGraph::classes_do

InstanceKlass in ClassLoaderData can be uninitialized when
ClassLoaderDataGraph::classes_do is called. Using
ClassLoaderDataGraph::dictionary_classes_do is safe but problem is still
persisting with anonymous classes.

Fix compilation problems

Fix dcevm issues related to refactorization of Thread to JavaThread
Fix init_method_MemberName after Thread to JavaThread refactorization
Fix "implicit conversion of NULL constant to 'bool'"
Fix, pass SystemDictionary::resolve_from_stream cl_info param
Search for affected classes in all initialized classes in cld

Fix also case when lambda interface is redefined. Lambda class is
missing in cld dictionary since it is hidden since j17
Fix compilation issue
Remove duplicated lambdaFormInvokers.cpp

JBR-3867 - update keys of jvmti TAG map after redefinition

jdwp keeps relation class_ptr->class_ref in jvmti tag. class_ptr is used
as a tag key, tag value is refnode. There are new class_ptrs after
redefinition, therefore jdwp redefinition method update all affected
keys in the tag map.
JBR-3867 - fix msvc compilation issue with non const array on stack
Attempt to fix JBR-3887
JBR-3937 Fix crashes in C1/C2 compilers

There is a race condition in enhanced redefinition with C1/C2. Therefore
the patch stops C1/C2 compilation before redefinition and release after
redefinition finishing. There is no performance impact since dcevm
flushes all code cache.

Fix line ending CRLF->LF
G1 fixes, code cleanup
JBR-3867 - fix dcevm redefinition stops due the not updated weak oops

Dcevm must update also oops in weak storage using WeakProcessor. Oops
storage is new concept in java17.
JBR-4018 - fix zero variant compilation issues

JBR-3997 - fix _invokehandle and _invokedynamic race conditions

Old clear mechanism of CpCacheEntry has cleared partially _flags and the
entire _f1, but both values could be later used in interpreter for
invocation. It ended up with various types of crashes. To prevent dcevm
crashes, we keep the old _f1 and _flags values until they are resolved
again. We need a new flag 'is_f1_null_dcevm_shift' indicating that _f1
is NULL (while f1 keeps old value).

JBR-4053 - Fix fastdebug compilation issue
JBR-4125 - fix wrong addition of java.lang.Object as superclass
JBR-4110 - disable UseEmptySlotsInSupers

dcevm instance transformation expects increasing field's offset when
fields of class are iterated. This ordering is no more valid if
UseEmptySlotsInSupers=true.
JBR-4148 - removed meaningless copying of data to itself
JBR-4312 - fix crash call ResolvedMethodTable from ServiceThread

adjust_metod_entries_dcevm incorrectly changed the hashes of resolved
method oops stored in ResolvedMethodTable. Now all oops of old methods
are first removed, then updated and then added to table again
JBR-4352 - fix AARCH64 compilation issues

- use correct INCLUDE_JFR condition for jfr code
- exclude jvmtiEnhancedRedefineClasses.cpp if INCLUDE_JVMTI=0
Remove version-numbers left over from the merge of dcevm17
JBR-4392 - use only loaded classes when collecting affected classes
JBR-4386 - disable AllowEnhancedClassRedefinition in jfr
2023-02-15 05:49:58 +07:00
Vladimir Dvorak
bc08286f7c JBR-5183 fix dcevm21 compilation issues 2023-02-15 05:47:59 +07:00
Vladimir Dvorak
7fbd0b7bbf JBR-5183 pre-dcevm17 squashed commits
dcevm11 fixes

1. We need to set classRedefinitionCount on new class, not old class.

2.Fix crashes in MetadataOnStackMark::~MetadataOnSta

MetadataOnStackMark should not remove dcevm stuff. It was added
accidentaly in dcevm9 and never was part of doit() in previous versions.

3. Fix problem with nested members

Reported at :
https://stackoverflow.com/questions/53370380/hotswapagent-incompatibleclasschangeerror-type-headerpanel1-is-not-a-nest-mem

4. Use init_mark_raw()

method changed since j8 - it used init_mark()

5. Fix methodHandles and fieldHandles

6. Code cleanup

7. Fix force_forward in dead space

8. Fix check_class

9. increment_class_counter() using orig dcevm code

Probably it is cause of SISEGV on:
_
VM_EnhancedRedefineClasses::redefine_single_class->java_mirror()

10 Fix 11.0.7 compilation issues

11. Refactor ClearCpoolCacheAndUnpatch

12. not nullable oop_store_not_null() method+handle NULL in mem_name in
dmh

13. Use INCLUDE_CDS condition on "UseSharedSpaces" block from master

14. Add codecache flush optimization, but just flush all cache.

15. Cleanup

16. Use original code for adjust_method_entries in standard redefinition

17. iterate old method version only in dcevm

18. Revert code for !AllowEnhancedClassRedefinition

19. Code cleanup

20. Activate cpCache definition asserts for !dcevm

21. Skip GC runs for redefinitions without instance size change

22. This is the 2nd commit message:

23. dcevm15 - Cleanup code related to removed CMS

Fix class cast exception on redefinition of class A, that is superclass
of B that has anonymous class C

Support for Lambda class redefinition

Fix "no original bytecode found" error if method with bkp is missing

Sometimes IDE can deploy class with erroneous method, such method has
n bytecode, but breakpoint position can still exist.

Replace deleted method with Universe::throw_no_such_method_error

+ Change log level in advanced redefinition
- Change log level for "Comparing different class ver.." to debug
- Fix adjust_method_entries_dcevm logging levels and severity
Support for G1 gc

AllowEnhancedClassRedefinition is false (disabled) by default

Set HOTSPOT_VM_DISTRO=Dynamic Code Evolution

Clear dcevm code separation

Fix LoadedClassesClosure - fixes problems with remote debugging

dcevm15 - fix java15 compilation issues
dcevm15 - add ClassLoaderDataGraph_lock on
ClassLoaderDataGraph::classes_do

ClassLoaderDataGraph::classes_do and need safepoint or lock,
find_sorted_affected_classes is not in safepoint therefore it must be
locked
ClassLoaderDataGraph::rollback_redefinition need safepoint too
dcevm15 - fix Universe::root_oops_do

Removed ClassLoaderDataGraph::cld_do was cause of crashes due multiple
oop patching. ClassLoaderDataGraph::cld_do replaced in dcevm15
previously used and removed SystemDictionary:oops_do
dcevm15 - check if has_nestmate_access_to has newest host class
dcevm15 - mark_as_scavengable only alive methods
dcevm15 - fix hidded classes

dcevm15 - DON'T clear F2 in CP cache after indy unevolving

It's not clear why it was cleared in dcevm7-11
Cleanup and review comments
Disable AllowEnhancedClassRedefinition in flight recorder

dcevm17 - fix compilation issues

Fix crash on GrowableArray allocation in C_HEAP
Rename confusing method name old_if_redefined to old_if_redefining
Check InstanceKlass::has_nestmate_access_to with active classes

Dcevm can leave old host in nested class if nested class is not
redefined together with host class
2023-02-15 05:47:57 +07:00
Nikita Gubarkov
da208cfd3b fixup! JBR-5124 Rewrite custom decorations support
JBR-5284 Use ChildWindowFromPointEx instead of RealChildWindowFromPoint in ScreenToBottommostChild
2023-02-14 16:09:58 +02:00
Sergey Shelomentsev
74a565f497 JBR-5194 add regressions tests for custom decorations support 2023-02-14 13:53:23 +02:00
Sergey Shelomentsev
141863c6a7 build jbr-api as a part of bundle build 2023-02-14 11:35:57 +02:00
Vitaly Provodin
f426770547 Update README.md 2023-02-14 13:53:37 +07:00
Vitaly Provodin
60ed456ff2 Update README.md 2023-02-14 07:08:22 +01:00
Artem Semenov
4d36e8402d JBR-5289 If the label has the role of a hyperlink, VO still pronounces it as plain text (#215) 2023-02-14 07:08:22 +01:00
Alexey Ushakov
66c715aff2 JBR-5279 restore saving jbr native symbols bin/server/jvm.pdb 2023-02-14 07:08:21 +01:00
Sergey Shelomentsev
f9483c9624 JBR-4875 update test to use new JBR API window custom decorations 2023-02-14 07:08:21 +01:00
Nikita Gubarkov
22ab2ad28c JBR-5186 Make MouseInfo.getPointerInfo more robust
Do not search for the containing monitor in MouseInfo.getPointerInfo, this must be handled by peers (yes, this goes against the spec of MouseInfoPeer.fillPointWithCoords).

JBR-5268 Fix coordinates conversion in XMouseInfoPeer.fillPointWithCoords
2023-02-14 07:08:21 +01:00
Vitaly Provodin
bf2765f51f Update README.md 2023-02-14 07:08:21 +01:00
Nikita Tsarev
63818ace02 JBR-5254: Fix Caps Lock not working properly on certain Chinese IMs 2023-02-14 07:08:21 +01:00
Nikita Tsarev
b403e715fe Revert "8230926: [macosx] Two apostrophes are entered instead of one with "U.S. International - PC" layout"
This reverts commit 5049cad2b0.

After JBR-5173 this workaround is no longer necessary
2023-02-14 07:08:21 +01:00
Artem Semenov
18c4329c5b JBR-5269 Announcement priorities not set correctly (#214) 2023-02-14 07:08:21 +01:00
Nikita Tsarev
c4c6188d66 JBR-5233 Setup/teardown necessary keyboard layouts in macOS keyboard tests 2023-02-14 07:08:21 +01:00
Vitaly Provodin
807e13572d Update README.md 2023-02-14 07:08:21 +01:00
Artem Semenov
dccad6e581 JBR-5248 exception in accessible announcing 2023-02-14 07:08:21 +01:00
Vitaly Provodin
765d1a4267 update exclude list on results of 21_b9 test runs 2023-02-14 07:08:21 +01:00
Vitaly Provodin
4d800adf77 JBR-5217 enable NVDA support in Windows builds 2023-02-14 07:08:21 +01:00
Nikita Gubarkov
fd5b0c16e0 JBR-5124 Rewrite custom decorations support
JBR API v0.0.8
Added new WindowDecorations API, deprecated old CustomWindowDecoration.

JBR-4641 JBR-4630 Fix client area calculation with custom decorations on Windows.

- Window insets are rounded up, which causes visible & unusable border in fullscreen on some scales, round down instead.

- Clipping in Swing components sometimes cuts what it shouldn't, fixed.
2023-02-14 07:08:21 +01:00
Nikita Gubarkov
133f2ea840 JBR-5238 do not reshape maximized window in AwtWindow::CheckWindowDPIChange() 2023-02-14 07:08:21 +01:00
Alexey Ushakov
bf47a26bd5 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Use one display link thread per MTLContext. Adjust refresh rate with current display.
2023-02-14 07:08:20 +01:00
Nikita Tsarev
66d2a2d96b JBR-5173 macOS keyboard support rewrite 2023-02-14 07:08:20 +01:00
Nikita Tsarev
9a7ffa4375 Revert "macOS national keyboard support"
This reverts commit 21bffd06bc.
2023-02-14 07:08:20 +01:00
Vitaly Provodin
2ca85d6437 Update README.md 2023-02-14 07:08:20 +01:00
AMPivovarov
5e2e64a5e0 JBR-5213 JBR API v0.0.9 - add GraphicsUtils (#208)
* relax type constraints in BltBufferStrategy.getDrawGraphics
2023-02-14 07:08:20 +01:00
Artem Semenov
a846c3310a JBR-5221 Add announcing to JBRAPI 2023-02-14 07:08:20 +01:00
Vitaly Provodin
cfdb4697ee update exclude list on results of 21_b8 test runs 2023-02-14 07:08:20 +01:00
Artem Semenov
dd86f0f78e JBR-4170 Implement API for announcing 2023-02-14 07:08:20 +01:00
Alexey Ushakov
74945485e5 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Present layer content using a Core Animation transaction
2023-02-14 07:08:20 +01:00
Vitaly Provodin
402c9b9d26 update exclude list on results of 21_b7 test runs 2023-02-14 07:08:20 +01:00
Vitaly Provodin
471a2258e3 update exclude list on results of stability checking runs due to 8253184 2023-02-14 07:08:20 +01:00
Alexey Ushakov
d1080c9fb0 JBR-5193 Do not use extra commandQueue in metal pipeline
Removed extra command queue
2023-02-14 07:08:20 +01:00
Artem Bochkarev
09a3535b44 JBR-3575 use flag processEvents in LWCToolkit.invokeAndWait 2023-02-14 07:08:20 +01:00
Vitaly Provodin
9ee4153e1e exclude several tests from runs on machines with enabled VoiceOver 2023-02-14 07:08:20 +01:00
Anton Tarasov
254c24ddbf JBR-4355 javax/swing/GraphicsConfigNotifier/StalePreferredSize.java: # C [libobjc.A.dylib+0x90ff] objc_release+0x1f
(cherry picked from commit c0b2b59d4a)
2023-02-14 07:08:20 +01:00
Anton Tarasov
310dc08a14 JBR-4362 [mac] system menu opens with duplicated items
(cherry picked from commit e32defe49d)
2023-02-14 07:08:20 +01:00
Anton Tarasov
08835173a1 JBR-4328 remove LWCToolkit.unsafeNonblockingExecute
(cherry picked from commit 9a3f31a6c4)
2023-02-14 07:08:19 +01:00
Anton Tarasov
2fbfd7c122 JBR-4134 PyCharm is slow and unusable on MacBook Pro with M1
(cherry picked from commit 36190505f5)
2023-02-14 07:08:19 +01:00
Anton Tarasov
b7109d6dff JBR-4284 Sub items of main menu options are not displayed
A regression of JBR-4208 LWCToolkit.invokeAndWait should not stuck on invocation loss

(cherry picked from commit c464e4748e)
2023-02-14 07:08:19 +01:00
Anton Tarasov
932518d0bc JBR-4119 UI freezes at sun.lwawt.macosx.CAccessibility.getChildrenAndRoles
(cherry picked from commit 6ba79774d8)
2023-02-14 07:08:19 +01:00
Anton Tarasov
fd0ea75465 JBR-4106 PyCharm hangs with 100% CPU usage on one core 2023-02-14 07:08:19 +01:00
Anton Tarasov
52d35ff880 JBR-4208 LWCToolkit.invokeAndWait should not stuck on invocation loss
including JBR-4543 (NPE: IdeEventQueue.lambda$getNextEvent$0)
2023-02-14 07:08:19 +01:00
Anton Tarasov
5777456c33 JBR-3413 use timeout in CAccessibility.invokeAndWait
(cherry picked from commit e7009db076)
2023-02-14 07:08:19 +01:00
Vitaly Provodin
c2f75a9b3a update exclude list on results of 21_b1447 test runs 2023-02-14 07:08:19 +01:00
Vitaly Provodin
d3675e414f Update README.md 2023-02-14 07:08:19 +01:00
Vitaly Provodin
08234b4ac6 update exclude list on results of main.1441 test runs 2023-02-14 07:08:19 +01:00
Alexey Ushakov
7498aed8d3 JBR-5157 Idea hangs on opening editor context menu
Removed displaySync start from completion block in commitCommandBuffer
2023-02-14 07:08:19 +01:00
Alexey Ushakov
79afdd64be JBR-5112 Large bold square whitespaces after waking up the laptop / connecting display
Clear primary surface data of VolatileSurfaceManager on display change event
2023-02-14 07:08:19 +01:00
Alexey Ushakov
4cce38a29c JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Restored missing update calls. Corrected licenses
2023-02-14 07:08:19 +01:00
Alexey Ushakov
79593759a1 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Added sun.java2d.metal.displaySync property to disable (false) displaySync update method
2023-02-14 07:08:19 +01:00
Alexey Ushakov
4a44284191 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Remove displaysync
2023-02-14 07:08:19 +01:00
Artem Semenov
11412dbc70 JBR-5118 VoiceOver does not speak the label associated with the combobox (#194)
JBR-5118 VoiceOver does not speak the label associated with the combobox
2023-02-14 07:08:18 +01:00
Artem Semenov
88b6a8e17e JBR-4235 Context menu not readable after opening on Mac OS 2023-02-14 07:08:18 +01:00
Artem Semenov
fca3fbe87a JBR-4012 On Idea Vo often speeks selected element of tables, lists, and trees. 2023-02-14 07:08:18 +01:00
Artem Semenov
ad6a7e9b20 JBR-3868 Combobox list is not voiced of VoiceOver 2023-02-14 07:08:18 +01:00
Alexey Ushakov
506fbcf875 JBR-5041 macOS: SIGSEGV at [libawt_lwawt] getRenderEncoder:(dstOps == NULL)
Protected code from using NULL dstOps
2023-02-14 07:08:18 +01:00
Alexey Ushakov
1adb036de9 JBR-4856 macOS: SIGSEGV at [libawt_lwawt] MTLTR_DrawGlyphList
Clear glyph caches after switching contexts. Keep encoders in sync with graphics devices. Minor refactoring
2023-02-14 07:08:18 +01:00
Nikita Provotorov
870d05baa3 JBR-5107, JBR-5114: SIGILL/OOM from Java_sun_lwawt_macosx_LWCToolkit_getKeyboardLayoutNativeId.
A theoretical fix, it should:
- Catch any NSException (as it was initially expected);
- Probably fix possible memory leaks (by moving the layoutId var inside autoreleasepool).
2023-02-14 07:08:18 +01:00
Dmitry Batrak
a6a96e7019 JBR-5109 New frame doesn't get focused sometimes if it's shown right after popup is closed
(cherry picked from commit 693d317c0c)
2023-02-14 07:08:18 +01:00
Vitaly Provodin
be21ef6b0d Update README.md 2023-02-14 07:08:18 +01:00
Alexey Ushakov
c41854d67d JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Do not fire deliverChangeBackingProperties notification for the view if there is no change between layer and window scales. Also, do not fire displayChanged for display profile only changes.
2023-02-14 07:08:18 +01:00
Nikita Provotorov
c1fef82400 JBR-5075: macOS: KEY_PRESSED event for "Cmd N" is not emitted if used as a JMenuItem accelerator and apple.laf.useScreenMenuBar=true.
- Improves the fix of JBR-3544 to allow "Cmd N" and "Ctrl N" to reach AWT if they're actually the ones which were pressed.
- Adds a regression test.

(cherry picked from commit 61a1b70d73)
2023-02-14 07:08:18 +01:00
Dmitry Batrak
9fe0b53657 JBR-5095 Incorrect initial window's location under GNOME
(cherry picked from commit 6995ce47fd)

with fix for JBR-5189 Can't exit fullscreen mode on ubuntu 22.10

(cherry picked from commit b933660cf1)
2023-02-14 07:08:18 +01:00
Victor Kropp
5b6f4ff3fb Update README.md
Mention Toolbox App in the list of applications built on JetBrains Runtime.

(cherry picked from commit cfa9789515)
2023-02-14 07:08:18 +01:00
Nikita Provotorov
08d1f10951 Update README.md
Replaced jbr-dev to main and other minor fixes.
2023-02-14 07:08:18 +01:00
Vitaly Provodin
68a744c9d5 update exclude list on results of 17.0.5_b721.3 test runs 2023-02-14 07:08:18 +01:00
Alexey Ushakov
78ae98929d JBR-5073 [Double-Monitor] java/awt/Window/LocationAtScreenCorner/LocationAtScreenCorner.java: Wrong location
Added check for nil displayID of the window
2023-02-14 07:08:18 +01:00
Nikita Tsarev
135c286dd8 JBR-4990: Undo changes to ExtendedKeyCodes 2023-02-14 07:08:17 +01:00
Vitaly Provodin
a3f84a4922 update exclude list on results of 17.0.5_b712.2 test runs 2023-02-14 07:08:17 +01:00
Vitaly Provodin
fcadc68575 JBR-4956 reduce width of screenshot by one pixel to exclude caret 2023-02-14 07:08:17 +01:00
ngubarkov
78ca759b6d IDEA-141456 Multimonitor HIDPI support for Linux 2023-02-14 07:08:17 +01:00
ngubarkov
0551e1969c JBR-4840 cache screen resolution in XToolkit 2023-02-14 07:08:17 +01:00
Vitaly Provodin
df45e522bd JBR-5058 set default locale as UK for RenderPerf 2023-02-14 07:08:17 +01:00
Alexey Ushakov
8d8ed97e91 JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Moving NSWindowDidChangeScreenNotification handler to AWTWindow

fixup! JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
2023-02-14 07:08:17 +01:00
Dmitry Batrak
03b88d30f5 JBR-5045 Invisible component can break focus cycle
(cherry picked from commit 0f57a27879)
2023-02-14 07:08:17 +01:00
Alexey Ushakov
b9b2f22a34 JBR-5025 Reduce latency during display reconfiguration in Metal
Moved metal load library checks to CGraphicsEnvironment
2023-02-14 07:08:17 +01:00
Maxim Kartashev
d97276a462 JBR-4544 Enable OpenGL pipeline by default for Wayland sessions
The OpenGL pipeline is enabled only if all of the following is true:
- WAYLAND is detected,
- VMWare virtualization is detected,
- rendering pipeline is not a software one (llvmpipe).
As a side effect, a system property 'jbr.virtualization.information'
is set to the value of detected virtualization type. The value is the
same as provided by JFR.
2023-02-14 07:08:17 +01:00
Nikita Tsarev
ad02d532cd JBR-3860: Fix shortcut behavior when Shift is the only modifier 2023-02-14 07:08:17 +01:00
Vitaly Provodin
a1868506e6 Update README.md 2023-02-14 07:08:17 +01:00
builduser
5a4b47061e JBR-5008 remove extra file jb/java/awt/font/DrawTest.java from colliding group 2023-02-14 07:08:17 +01:00
Vitaly Provodin
9451db44ac Update README.md 2023-02-14 07:08:17 +01:00
Vitaly Provodin
c34784dc93 update exclude list on results of 17.0.5_b691.6 test runs 2023-02-14 07:08:17 +01:00
Vitaly Provodin
fe6d355fd8 Update README.md 2023-02-14 07:08:16 +01:00
Nikita Tsarev
601c5e4ca5 JBR-4990: Fix regression tests for national keyboard layouts on macOS 2023-02-14 07:08:16 +01:00
Alexey Ushakov
f8a671912b JBR-4959 [macOS Ventura] Screen flickering after OS update when IDE is full screen
Replace multiple CHANGE_SCREEN notifications fired around the same time with just one
2023-02-14 07:08:16 +01:00
Dmitry Batrak
a206e2d7fa JBR-4988 Transient Z-order violations on macOS
(cherry picked from commit bcba97511c)
2023-02-14 07:08:16 +01:00
Maxim Kartashev
a3cc396874 JBR-4982 keycode_cache.c:60:37: error: format '%d' expects argument of type 'int', but argument 3 has type 'KeySym' 2023-02-14 07:08:16 +01:00
Vitaly Provodin
821ffa5cd8 JBR-4947 update alpine x64 image up to 3.14 2023-02-14 07:08:16 +01:00
Vitaly Provodin
27ff5e3cf4 update exclude list on results of 17.0.5_b469.67 test runs 2023-02-14 07:08:16 +01:00
Vitaly Provodin
06c3e02e3e Update README.md 2023-02-14 07:08:16 +01:00
Alexey Ushakov
8b185d7232 JBR-4950 src\java.desktop\windows\native\libawt\windows\awt_FileDialog.cpp: warning C4267: '+=': conversion from 'size_t' to 'UINT', possible loss of data
Added casts to resolve warnings
2023-02-14 07:08:16 +01:00
Vitaly Provodin
1cf4e2ca2d update Commit and Full testing exclude list on results of jbr17.668 test runs 2023-02-14 07:08:16 +01:00
Maxim Kartashev
e99480d17d JBR-4951 In function 'convert_to_java_array': error: comparison of integer expressions of different signedness 2023-02-14 07:08:16 +01:00
Alexey Ushakov
934f308d5b JBR-4859 jbr17: compiler warnings with Xcode 14.0.1 (14A400)
Disabled warnings for liblcms and liblwawt
2023-02-14 07:08:16 +01:00
Vitaly Provodin
27d124d22f JBR-4089 add modules sun.awt sun.awt.image sun.java2d 2023-02-14 07:08:16 +01:00
Vitaly Provodin
604a298350 update exclude list for Commit testing 2023-02-14 07:08:16 +01:00
Vitaly Provodin
32910740fb exclude tests failing because of JBR-4933, JBR-4934 2023-02-14 07:08:16 +01:00
Alexey Ushakov
b6585c6f89 JBR-4666 java.lang.InternalError: Error - unable to initialize Metal after recreation of graphics device.
Reverted fix of the JRE-359 (CGraphicsEnvironment.getDefaultScreenDevice() returns null)
Logged exception after first attempt to create graphics device
2023-02-14 07:08:15 +01:00
Alexey Ushakov
515d2da7cb JBR-4731 SIGILL caused by NPE Cannot invoke "java.awt.GraphicsConfiguration.getDevice()" because "config" is null
Handled null device in platform window
2023-02-14 07:08:15 +01:00
Maxim Kartashev
9aa232b266 Move JBR README.md to .github/ 2023-02-14 07:08:15 +01:00
Svyatoslav Vlasov
d5f3419495 Add ProjectorUtils to jbr-api (#181)
* Add ProjectorUtils to jbr-api

Co-authored-by: Sviatoslav Vlasov <Sviatoslav.Vlasov@jetbrains.com>
2023-02-14 07:08:15 +01:00
Nikita Tsarev
58ff8ddb5e JBR-3941 Make apple.awt.captureNextAppWinKey default to false 2023-02-14 07:08:15 +01:00
Vitaly Provodin
799efec576 JBR-4912 jb/java/api/frontend/CustomTitleBarDoubleClick.java intermittently throws java.awt.AWTError 2023-02-14 07:08:15 +01:00
Maxim Kartashev
831b6356ed exclude java/awt/dnd/AcceptDropMultipleTimes/AcceptDropMultipleTimes.java due to JBR-4880 on windows 2023-02-14 07:08:15 +01:00
Alexey Ushakov
2bb498ebc8 JBR-4710 macOS: SIGSEGV at sun.java2d.metal.MTLLayer.blitTexture
Added check for disposed texture in the MTLLayer
2023-02-14 07:08:15 +01:00
Nikita Gubarkov
ff18dfb03d JBR-4890 Fix variation selectors font fallback on macOS
If font for a given variation selector not found, try without variation selector
2023-02-14 07:08:15 +01:00
Artem Bochkarev
fc9fb83990 JBR-4907 remove custom view for osx system menu items
Just revert "JBR-3131: support custom view for system menu items"
2023-02-14 07:08:15 +01:00
Vitaly Provodin
d5d3db289a exclude java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java due to JBR-4905 on windows&linux 2023-02-14 07:08:15 +01:00
Alexey Ushakov
994dec962b JBR-4897 Reconnecting multiscreen monitor displays blank IDE
Handled NSWindowDidChangeScreenNotification, resolved race condition in window peer displayChanged listener
2023-02-14 07:08:15 +01:00
Vitaly Provodin
7f589fa99f exclude jb/java/jcef/HandleJSQueryTest3314.sh due to JBR-4866 on linux 2023-02-14 07:08:15 +01:00
Vitaly Provodin
01af7005a0 exclude some tests due to JBR-4880 on windows 2023-02-14 07:08:15 +01:00
Vitaly Provodin
90c54a3fc1 exclude javax/swing/JInternalFrame/8020708/bug8020708.java due to JBR-4879 on windows 2023-02-14 07:08:15 +01:00
Vitaly Provodin
549a467322 exclude java/awt tests which do not close child processes/windows 2023-02-14 07:08:15 +01:00
Vitaly Provodin
e5ceba75d8 exclude java/awt/FullScreen/NoResizeEventOnDMChangeTest/NoResizeEventOnDMChangeTest.java and java/awt/FullScreen/UninitializedDisplayModeChangeTest/UninitializedDisplayModeChangeTest.java due to 7188711 on linux-all
j
2023-02-14 07:08:14 +01:00
Maxim Kartashev
de0e30386f JBR-4877 WARNING: JNI local refs: 33, exceeds capacity: 32 2023-02-14 07:08:14 +01:00
Artem Bochkarev
e9d9f15178 JBR-4876 remove test duplicates
Since next jcef tests were moved into junit suite (inside jcef repository):
 HandleJSQueryTest
 JCEFStartupTest
 LoadPageWithoutUI
 MouseEventAfterHideAndShowBrowserTest
 MouseEventScenario
 MouseEventTest
2023-02-14 07:08:14 +01:00
Vitaly Provodin
58e3d90405 JBR-4875 jb/javax/swing/JComboBox/ComboBoxTransparentTittleBarTest.java checks dragging JFrame with Combobox 2023-02-14 07:08:14 +01:00
Dmitry Batrak
1a918b28da JBR-4871 Closed project leaked via KeyboardFocusManager#newFocusOwner
(cherry picked from commit 50c0ce58d3)
2023-02-14 07:08:14 +01:00
Maxim Kartashev
3ab62a3b50 JBR-4839 Report if wrong shared library is detected at run time 2023-02-14 07:08:14 +01:00
Maxim Kartashev
4e0544e86e JBR-4848 Cannot invoke "javax.swing.JTextField.getCaret()" because the return value of "java.lang.ref.WeakReference.get()" is null 2023-02-14 07:08:14 +01:00
Alexey Ushakov
774156640c JBR-4590 macOS: SIGSEGV at [libawt_lwawt] MTLTR_DrawGlyphList
Invalidate glyph cache cell info after switching MTLContext
2023-02-14 07:08:14 +01:00
Nikita Gubarkov
4b37a8ba11 Added Clion project setup 2023-02-14 07:08:14 +01:00
Nikita Gubarkov
cd9d7fd6e6 Updated IDEA project setup 2023-02-14 07:08:14 +01:00
Nikita Gubarkov
6466af1e8d JBR-4815 force hinting for non-antialiased text 2023-02-14 07:08:14 +01:00
Maxim Kartashev
7b2e9d0051 jb/branchdiff.py script to help with release branches 2023-02-14 07:08:14 +01:00
Nikita Gubarkov
11aed9096e JBR-3677 check AppleActionOnDoubleClick property for custom window decorations on macOS 2023-02-14 07:08:14 +01:00
Alexander Lobas
8e4d4cd331 JBR-4787 Rounded corners for native windows 2023-02-14 07:08:14 +01:00
Vitaly Provodin
524679411d updated JTreg exclude list 2023-02-14 07:08:14 +01:00
Maxim Kartashev
2c1fe95d6f JBR-3862 Implement native WatchService on MacOS
The watch service is based on FSEvents API that notifies about file
system changes at a directory level. It is possible to go back to
using the old polling watch service with -Dwatch.service.polling=true.

Features include:
- support for FILE_TREE option (recursive directory watching),
- minimum necessary I/O (no filesystem access more than once
  unless needed),
- one thread ("run loop") per WatchService instance,
- changes are detected by comparing file modification times with
  millisecond precision,
- a directory tree snapshot is taken at the time of WatchKey creation
  and can take a long time (proportional to the number of files).
2023-02-14 07:08:13 +01:00
Alexey Ushakov
6d4edf3f04 JBR-4696 macOS: NPE in -[AWTView viewDidChangeBackingProperties]
Added null pointer checks
2023-02-14 07:08:13 +01:00
MonoBot
0bb32a4ac5 JBR-4809 Update the bundled JetBrains Mono font version
Fonts release 2.242

(cherry picked from commit 641424a3e3)
2023-02-14 07:08:13 +01:00
Alexey Ushakov
f29f0af163 JBR-4680 idea window flickers while changing the screen brightness
Update insets in separate notification
2023-02-14 07:08:13 +01:00
Maxim Kartashev
38c1546476 JBR-4562 JBR-4610 Generate hs_err file on SIGABRT
Supported on Linux and MacOS only.
Controlled by -Djbr.catch.SIGABRT=true option; off by default.
2023-02-14 07:08:13 +01:00
Alexey Ushakov
aea5bb7c96 JBR-4807 RenderPerf: Provide tests for VolatileImage rendering
Added VolImage and VolImageAA test cases
2023-02-14 07:08:13 +01:00
Maxim Kartashev
6c7c661459 JBR-4626 MacOS aarch64: SIGSEGV at RenderCache.get / ScaledBlit.getFromCache
Avoid C2-compiled loop crashes by replacing the handcrafted MRU cache
with a more modern LinkedHashMap-based one.
2023-02-14 07:08:13 +01:00
Alexey Ushakov
ee6157f40f JBR-4588 macOS: SIGILL at [libsystem_kernel] __kill in CCE: class sun.java2d.opengl.CGLGraphicsConfig cannot be cast to class sun.java2d.metal.MTLGraphicsConfig
Moved tryLoadMetalLibrary under RQ lock.
Added more diagnostics.
2023-02-14 07:08:13 +01:00
Nikita Gubarkov
23663f1d1d Allow registering multiple implementations for JBR API services
This greatly reduces boilerplate when dealing with platform-specific code, one can specify multiple target implementation classes, one per platform. First found will be used.

Also added JBRApi.ServiceNotAvailableException to give services ability to validate any custom condition they want.
2023-02-14 07:08:13 +01:00
Denis Fokin
5f819d17cd JBR-4788 "Activate window by mouse hover" Windows option isn't supported by JBR 17
backport JBR-1991 (Focus problems in Windows with X-Mouse style focus) from JBR 11

(cherry picked from commit c8ad353f45)
(cherry picked from commit a52ed88377)
2023-02-14 07:08:13 +01:00
Alexey Ushakov
5438582ff6 JBR-4784 Extra allocations of MTLRenderPipelineDescriptor affects performance in metal pipeline
Remove extra allocations
2023-02-14 07:08:13 +01:00
Alexey Ushakov
a963718f67 JBR-4774 macOS: SIGILL at [libsystem_kernel] __kill in NPE / VolatileSurfaceManager.displayChanged / __displaycb_handle_block_invoke
Guarded against multiple displayChanged() notifications
2023-02-14 07:08:13 +01:00
Dmitry Batrak
54412d4593 JBR-4782 Synergy keyboard/mouse input: window disabled after bringing IntelliJ into focus
(cherry picked from commit f863a14b19)
2023-02-14 07:08:13 +01:00
Alexey Ushakov
d956c9fbfd JBR-4363 Changes in fonts rendering between JBR11 and JBR17
Do not use hinting for generating outlines
2023-02-14 07:08:13 +01:00
Alexey Ushakov
12721c7e83 JBR-3100 Exception in NSApplicationAWT: java.lang.NullPointerException at java.desktop/sun.lwawt.LWComponentPeer.windowToLocal
Added null check
2023-02-14 07:08:13 +01:00
Alexey Ushakov
d33a4eb42c JBR-4774 macOS: SIGILL at [libsystem_kernel] __kill in NPE / VolatileSurfaceManager.displayChanged / __displaycb_handle_block_invoke
Added null check
2023-02-14 07:08:12 +01:00
Alexey Ushakov
fd8cc47e53 JBR-3102 Exception in NSApplicationAWT: Invalid parameter not satisfying: !isnan(newOrigin.y)
Handled NAN values with some defaults
2023-02-14 07:08:12 +01:00
Vladislav Rassokhin
2ff8f319c1 JBR-4263 Improve check_jbr_size.sh
* Fix shellcheck inspections
* Don't silently fail if TOKEN is incorrect
2023-02-14 07:08:12 +01:00
Alexey Ushakov
1eeb9f7b73 JBR-4764 RenderPerfTest: provide more reliable data and convenient representation
Added the median instead of the mean (can be enabled using -DuseMean=true)
Provided sorted output and removed FPS suffix
2023-02-14 07:08:12 +01:00
Maxim Kartashev
bbec84b9c2 JBR API v0.0.4
JBR-4746 Added jetbrains.api.verifyBytecode VM option for generated bytecode verification

JBR-4753 Added JBR API for custom desktop actions

Added jetbrains.api.verbose system property for easier JBR API troubleshooting

Also fixed dependency scanning optimization by allowing search in known proxy interfaces outside com.jetbrains

JBR-3511 Way to customize implementation of java.awt.Desktop.browse()

Provided Desktop.setDesktopActionsHandler() and DesktopActionsHandler
interface, which methods will be invoked instead of the standard actions
provided that DesktopActionsHandler.isSupported() is true for the
corresponding action.
2023-02-14 07:08:12 +01:00
Maxim Kartashev
e00cf6bb79 JBR-3101 Exception in NSApplicationAWT: java.lang.NullPointerException at java.desktop/sun.lwawt.macosx.CPlatformComponent.setBounds
After CPlatformComponent.setBounds() was changed to allow for platformWindow.getPeer() == null, a few exceptions appeared that suggest platformWindow can also be null. This commit safeguards against this situation as well.

It seems that this can only be the case if the instance is created from outside of JDK, so Objects.requireNonNull() may help to catch the perpetrator.
2023-02-14 07:08:12 +01:00
Dmitry Batrak
f466a94036 JBR-4720 Focus state is broken after certain operations when VoiceOver is enabled
(cherry picked from commit dc1b49b5a6)
2023-02-14 07:08:12 +01:00
Dmitry Batrak
157b869b2d JBR-4673 Focus moves to another application on file dialog closing
(cherry picked from commit 7468974488)
2023-02-14 07:08:12 +01:00
Dmitry Batrak
f4824594fc JBR-4665 Focus 'jitter' on window showing in WSLg
(cherry picked from commit 9b32c2a577)
2023-02-14 07:08:12 +01:00
Nikita Gubarkov
a9fa41d862 JBR-2523 JBR-2917 Fix emoji, ZWJ and font fallback
Implement rendering of colored outlines and bitmap glyphs in OutlineTextRenderer
Add Segoe UI Emoji to font fallback on Windows
Require layout for some emoji-related unicodes
Fix variation selectors and ZWJ
2023-02-14 07:08:12 +01:00
Alexey Ushakov
53ff9e6be3 JBR-2210 IDEA fails to start (JVM crashes) when using the -Dfile.encoding=UTF-8in IDEA's vmoptions file
Returning devanagari subset back for ja.UTF-8 to get non-null font name from WFontConfiguration.getTextComponentFontName(). It is a regression from JDK-8208179.

(cherry picked from commit b51254a975)
2023-02-14 07:08:12 +01:00
Dmitry Batrak
017c51c8cb JBR-1987 Korean/Thai characters not printed properly in annotation tooltip (e.g. spellchecker)
This changes the fonts JDK uses for font fallback on Windows. These used to be DokChampa (for Thai) and Batang/Gulim/Gulim (for Korean).
Those fonts are not available by default on Windows 10, user needs to install supplementary font language packs to get them.
Now the following fonts will be used - Tahoma (for Thai) and Malgun Gothic (for Korean). They are available by default
on Windows 7, 8 and 10.

port from JBR 11 to JBR 15 (cherry picked from commit 850653192b)

cherry picked from commit 2bf43a57ab

Kept only Thai-related changes - Korean-related issues are now fixed in OpenJDK as per JDK-8190907
2023-02-14 07:08:12 +01:00
artem.bochkarev
556f0c301b JBR-4581 JCEF tests fail due to compilation errors
The problem was in commit "JBR-4512 windows: include pdb-files into jbrsdk": rsync can replace file lib/modules.
rsync is replaced with cp
2023-02-14 07:08:12 +01:00
Vitaly Provodin
6975132042 exclude sun/java2d/DirectX/RenderingToCachedGraphicsTest/RenderingToCachedGraphicsTest.java on linux-all due to 8252812 2023-02-14 07:08:12 +01:00
Vitaly Provodin
597a911cda exclude sanity/client/SwingSet/src/ColorChooserDemoTest.java on windows-all due to 8278582 2023-02-14 07:08:12 +01:00
Alexey Ushakov
8135f44823 JBR-4636 Some JWindow tests failed due to wrong scaling
Take into account custom scale via sun.java2d.uiScale
2023-02-14 07:08:11 +01:00
Nikita Gubarkov
50ee1e7a0a 8289189: Fix ./configure on WSL1 2023-02-14 07:08:11 +01:00
Alexey Ushakov
9b52164930 JBR-4619 Window content scale wrong after disconnecting external display / waking OS from sleep
Use viewDidChangeBackingProperties notification to adjust a window layer scale
2023-02-14 07:08:11 +01:00
Vitaly Provodin
ab4b770a5f exclude vmTestbase/vm/jit/LongTransitions due to 8271615 on macOS 2023-02-14 07:08:11 +01:00
Maxim Kartashev
42ea7b173f JBR-4602 Unexpected NoSuchFileException running Rider test
This reverts commits for JBR-3680, JBR-4118, and JBR-4485.
2023-02-14 07:08:11 +01:00
Nikita Gubarkov
7a4c5b8773 JBR-4373 Add mapping for .NewYork-* and .SFArabic-* system fonts 2023-02-14 07:08:11 +01:00
Alexander Lobas
511de77f0f JBR-4563 Rounded corners for native Window on Mac OS (#156)
* JBR-4563 Rounded corners for native Window on Mac OS
2023-02-14 07:08:11 +01:00
Alexander Lobas
01b33b06f0 JBR-4563 Rounded corners for native Window on Mac OS 2023-02-14 07:08:11 +01:00
Alexander Lobas
86b23c6e04 JBR-4305 (#119)
* IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode

* IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode

* JBR-4305 IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode

* JBR-4305 IDEA-283934 Top panel (toolbar, Editor tabs) hides under the Mac menu in full-screen mode
2023-02-14 07:08:11 +01:00
Alexey Ushakov
a9ae6228f6 JBR-4588 macOS: SIGILL at [libsystem_kernel] __kill in CCE: class sun.java2d.opengl.CGLGraphicsConfig cannot be cast to class sun.java2d.metal.MTLGraphicsConfig
Prevent fall back to OpenGL if Metal has been used before
2023-02-14 07:08:11 +01:00
Alexey Ushakov
0825a4fc27 JBR-4591 macOS: SIGILL at [libsystem_kernel] __kill in -[__NSMallocBlock__ removeFromSuperview]: unrecognized selector sent to instance
Verified if windowDragView is present
2023-02-14 07:08:11 +01:00
Artem Bochkarev
747c0010fd JBR-4475: fixed browsers numeration in test
theoretically it can cause 2 requests with the same query_id: "cef_query_2" (when first browser finishes loading after the creation of second one)
2023-02-14 07:08:11 +01:00
Artem Bochkarev
a6fe2cc0c4 JBR-4456: fixed HandleJSQueryTest
first invocation of dispatch(WindowEvent.WINDOW_CLOSING) calls System.exit() internally (because of setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE))
2023-02-14 07:08:11 +01:00
Vitaly Provodin
1050c04ae7 exclude javax/swing/JToolBar/4529206/bug4529206.java due to 8288707 on linux 2023-02-14 07:08:11 +01:00
Vitaly Provodin
f4c79871fc enabling dtrace-tests: added dtrace keyword
(cherry picked from commit 0b5119ca89)
2023-02-14 07:08:11 +01:00
Maxim Kartashev
1467e4b435 JBR-3101 Exception in NSApplicationAWT: java.lang.NullPointerException at java.desktop/sun.lwawt.macosx.CPlatformComponent.setBounds
CWarningWindow doesn't have a peer, so accomodated for that in
CPlatformComponent.setBounds().
2023-02-14 07:08:11 +01:00
Maxim Kartashev
5eb46a99bd JBR-4485 Windows: EXCEPTION_ACCESS_VIOLATION at sun.nio.fs.WindowsDirectoryStream$WindowsDirectoryIterator.readNextEntry
As a precaution, range-check the offset returned by WinAPI before
using it to read raw memory with Unsafe.
2023-02-14 07:08:10 +01:00
Vitaly Provodin
7a983d897d JBR-4570 improve synchronization and increase waiting time 2023-02-14 07:08:10 +01:00
Maxim Kartashev
39a2607fe6 JBR-3323 Exclude parts of VM code from sanitizer checks
Exclude VM error-reporting code that treats memory as a raw sequence of
bytes from address sanitizer checks. This is needed to only get true
reports when running tests against the --enable-asan build.
2023-02-14 07:08:10 +01:00
Dmitry Batrak
098add36c1 JBR-4552 Windows revert back after initial move/resize in Cygwin/X
(cherry picked from commit 6dc194e089)
2023-02-14 07:08:10 +01:00
Manuel Unterhofer
3c2a822eac FL-11598 Fix accidental reset of window configuration for custom decoration on macOS
This also aligns the handling of the style mask with how the other settings are applied: It uses a client property now. This property is now also applied directly on peer initialization so that there is no need to re-apply, and the window directly appears in the correct configuration.
2023-02-14 07:08:10 +01:00
Nikita Provotorov
13aefa8a4e JBR-4394, IDEA-246833: refactoring and blocking the fix of JBR-1573 to recreate IMs and ICs during preediting.
(cherry picked from commits 7a36587db8d3d5a63c5691243cd5bf56733c06e6, 321a4a3f83)
2023-02-14 07:08:10 +01:00
Nikita Provotorov
a7347a95d5 JBR-4394, IDEA-246833: fixup of JBR-2444.
(cherry picked from commit ef262dc8bb)
2023-02-14 07:08:10 +01:00
Dmitry Batrak
8ba61f32ee JBR-4537 Popup windows shown for a background window cause app icon to blink in taskbar on KDE 2023-02-14 07:08:10 +01:00
Dmitry Batrak
5541725e72 JBR-4535 Popup windows disappear on mouse hover when 'Focus strictly under mouse' policy is used in KDE 2023-02-14 07:08:10 +01:00
Alexey Ushakov
4655a237d7 JBR-3828 restore details for Java exceptions in crash dumps handled by ObjC
Added exception.toString() to jbr_err_* log

(cherry picked from commit 478bd6cdd7)

Added java stack of the exception to jbr_err_* log

(cherry picked from commit e97f728e93)

Also return the static string "OutOfMemoryError" in case of that
exception has been thrown in order to avoid crashing while reporting an
exception in an out-of-memory situation.
2023-02-14 07:08:10 +01:00
Maxim Kartashev
157c925030 JBR-1430 (8195129) Windows: use UTF16 version of Win32 API to load DLL
Also correct library name encoding in exception messages.
2023-02-14 07:08:10 +01:00
Vitaly Provodin
cefb810b73 exclude jb/java/awt/Window/ZOrderOnModalDialogActivation.java from S2 runs on Windows and Linux 2023-02-14 07:08:10 +01:00
Vitaly Provodin
4589dc44db exclude javax/swing/plaf/nimbus/TestNimbusOverride.java on windows due to 8253184 2023-02-14 07:08:10 +01:00
Vitaly Provodin
72785efcdc exclude java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java on linux-aarch64 only due to 8266283 2023-02-14 07:08:10 +01:00
Artem Bochkarev
1d40158c8a JBR-4473: fixed native part of SystemHotkeyReader 2023-02-14 07:08:10 +01:00
Dmitry Batrak
e858203a4f JBR-1740 Menu remains open when application loses focus
(cherry picked from commit f987d22cd2)
2023-02-14 07:08:09 +01:00
Vitaly Provodin
6369f2d7f6 exclude Frame/RestoreToOppositeScreen/RestoreToOppositeScreen.java from S2 runs due to 8286840 2023-02-14 07:08:09 +01:00
Vitaly Provodin
0ddff1234a exclude java/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java due to 8282232 2023-02-14 07:08:09 +01:00
Maxim Kartashev
8745a4ae2b JBR-4471 Linux: popup appears on wrong screen after desktop scale change
When screen scale changes, the cached screen bounds must be explicitly
updated. Call resetBoundsCache() whenever X11GraphicsDevice.scale has
changed.
2023-02-14 07:08:09 +01:00
Manuel Unterhofer
f3fcd807dd Merge fullscreen handlers for transparent title bar into existing ones 2023-02-14 07:08:09 +01:00
Manuel Unterhofer
77d4db6ffc FL-11420 Fix view hierarchy restoration for full-screen mode on macOS 2023-02-14 07:08:09 +01:00
Nikita Gubarkov
c8fa7aa298 JBR-4364 Port macOS native file dialog patches
IDEA-146669 Enable Mac native file dialogs
IDEA-159507 Mac native dialogs: multiple open dialogs are possible
JBR-1784 File dialogs aren't themed on macOS
JBR-1752 Floating windows overlap modal dialogs
JBR-2005: don't set appearance of file chooser if OSX version < 10.14
JBR-4546 Focus is not returned back to IDE after closing "Open" dialog
2023-02-14 07:08:09 +01:00
Dmitry Batrak
ca67337212 JBR-4463 Activating app-modal dialog brings all app windows to front
(cherry picked from commit 2b05925276)

includes fix for JBR-4642 regression: "focus follows mouse" broken for modals, I need to click into them

(cherry picked from commits c55bf03680, ec748f84fb)

includes fix for JBR-4957 regression: "Modal dialog is hidden by sibling popup on Linux"

(cherry picked from commit ea8da3cbe5)

includes fix for JBR-4968: jb/java/awt/Window/ModalDialogAndPopup.java intermittently fails by TimeoutException

(cherry picked from commit 2e9ab0cb06)
2023-02-14 07:08:09 +01:00
Maxim Kartashev
7250987848 JBR-4464 Error building latest jbr-dev after JDK-8285730 2023-02-14 07:08:09 +01:00
Maxim Kartashev
a51aa0f266 JBR-4118 NIO methods fail on Google Drive's virtual volume
If NtQueryDirectoryFile() failed with STATUS_INVALID_PARAMETER,
try again asking for less information with the FileDirectoryInformation
option as "information class". This option works on a mounted
Google Drive, but it doesn't provide file ids, which speed
up file listing. So it is used only as a fall-back solution.

(cherry picked from commit 82693aa985)
2023-02-14 07:08:09 +01:00
Maxim Kartashev
2eea7928b2 JBR-3680 Cherry-pick Google's NIO patches to get faster file listing
Fix regression introduced by Google's NIO patches:
- do not attempt to get the next entry after the directory stream has
been closed already,
- fix FaultyFileSystem that is used in StreamTest.java to throw
the right exception even when getFileAttributeView() is used instead of
readAttributes(),
- removed unnecessary type cast that caused a compilation warning.

Added a test for walking a directory with a non-latin name.

(cherry picked from commit 152a4e886d)
2023-02-14 07:08:09 +01:00
Renaud Paquay
ff867e6e11 JBR-3680 Improve performance of WindowsDirectoryStream
Use `NtQueryDirectoryInformation` instead of `FindFirst/FindNext` to
retrieve the list of entries of a directory.

`NtQueryDirectionInformation` has 2 main benefits over
`FindFist`/`FindNext`:

* Performance is about 40% faster

* Each retrieved entry retrieved contains a 64-bit `FileId` in addition
  to the usual attributes, ensuring that returned `java.nio.Path`
  instances hold onto a `BasicFileAttributes` instance that exposes a
  non-null `java.nio.file.attribute.BasicFileAttributes.fileKey()`.

This change also requires creating a new WindowsFileKey class, similar
to UnixFileKey class, so that
`java.nio.file.attribute.BasicFileAttributes.fileKey()` can return an
Object instance that can be used to compare files for equality.

With this change, the Windows implementation of Files.walkFileTree is
about 40% faster when the FOLLOW_LINKS option is not used, and about
2.5x faster when the FOLLOW_LINKS option is used.

When the FOLLOW_LINKS option is used, most calls to
`Files.isSameFile`, which is expensive as it requires 2 file I/O
operations, are avoided because the Path entries returned by the
new WindowsDirectoryStream implementation now contain a non-null
BasicFileAttributes.fileKey(). The remaining calls to
`Files.isSameFile` are performed when Files.walkFileTree need
to compare the initial directory with other entries.

Change-Id: Id79d89d477a6d5dcf151c63a9d6072c6f7ef43b2

(AKA JBR-3680 Cherry-pick Google's NIO patches to get faster file listing)

(cherry picked from commit 7c2d7541ba)
2023-02-14 07:08:09 +01:00
Maxim Kartashev
952dd446d8 JBR-3498 Windows: exception when trying to delete a directory with a trailing space
Allow Windows Path to have a trailing space despite Windows naming conventions
discouraging it. Many programs - including Explorer - successfully work
with such files or directories.
2023-02-14 07:08:09 +01:00
Dmitry Batrak
16d2d264f9 JBR-1518 JBR 11 does not support chain of popups on Linux
(cherry picked from commit 849356ee01)
2023-02-14 07:08:09 +01:00
Dmitry Batrak
9abf4ef397 JBR-4306 Robot doesn't work as expected in some cases on macOS
(cherry picked from commits 7d69734465, 0f33031484, 3b5ded0d02)
2023-02-14 07:08:09 +01:00
Ryan Osial
5a4335cb43 Cache results of font-config pattern search for reuse
(cherry picked from commit 432f637904)
(cherry picked from commit 17bc232f6f)
2023-02-14 07:08:08 +01:00
Maxim Kartashev
d076cbf283 JBR-3948 Linux: SIGSEGV at [libawt_xawt] Java_sun_awt_X11_XInputMethod_createXICNative
The crashes begin with the call to getDefaultConfig() in
createStatusWindow() returning garbage. With 8280468 fixed, there aren't
many reasons left for it to do so; it must be that the argument to the
call (the screen number) is out of range.

This change eliminates the possibilities to get an absolutely incorrect
screen number by checking the return values of several Xlib functions,
which, when fail, will leave their outgoing arguments uninitialized.
This, in turn, can lead to reading some random memory resulting in
equally random screen number that is later being fed to
getDefaultConfig().

Although on modern systems with Xinerama there should really be no
screen other than zero, as the last resort, this number is also
range-checked in getDefaultConfig() itself.
2023-02-14 07:08:08 +01:00
Anton Tarasov
181812cb85 JBR-4389 [update_1] IDEA UI font becomes too large after disconnecting the external monitor / sleep 2023-02-14 07:08:08 +01:00
Anton Tarasov
702d8b46d2 JBR-4389 IDEA UI font becomes too large after disconnecting the external monitor / sleep 2023-02-14 07:08:08 +01:00
Dmitry Batrak
69c063626f remove duplicate bundled JetBrains Mono bold italic font
following JBR-4402

(cherry picked from commit b7e5d3cfcf)
2023-02-14 07:08:08 +01:00
Dmitry Batrak
8e50000e6e JBR-4402 The wrong text is rendered in editor 2023-02-14 07:08:08 +01:00
Vitaly Provodin
d5474f8c6e JBR-4297 add a regression test
(cherry picked from commit 8e94fff6aa)
2023-02-14 07:08:08 +01:00
Konstantin Bulenkov
7ce116c659 Update JetBrains Mono font to 2.225 2023-02-14 07:08:08 +01:00
Alexey Ushakov
e3734a942d JBR-4363 Changes in fonts rendering between JBR11 and JBR17
Resolved merge artifact after applying IDEA-57233 fix
2023-02-14 07:08:08 +01:00
Alexey Ushakov
9b77e8b599 JBR-3843 IDE text is misaligned vertically when using Consolas font
Use usWinAscent/usWinDescent for metrics on Windows
2023-02-14 07:08:08 +01:00
Alexey Ushakov
33d3093bf7 JBR-1110 [JDK11] java/awt/font/Outline/OutlineInvarianceTest.java: Failed for font java.awt.Font[family=Dialog,name=MS Gothic,style=bold,size=30]
Replaced FT_LOAD_NO_HINTING mode for non AA rendering with FT_LOAD_TARGET_LIGHT

(cherry picked from commit 3368768244)
2023-02-14 07:08:08 +01:00
Alexey Ushakov
e478d7d634 JBR-2000 RM 2019.3.1 font rendering regression, normal text is heavier
Added -Djava2d.font.loadFontConfig=bundled to force loading bundled font.conf

(cherry picked from commit 788e078f64)
2023-02-14 07:08:08 +01:00
Dmitry Batrak
c3932e5ac0 JBR-4346 [Xfce] Windows are moved unexpectedly between workspaces when modal dialog is shown
(cherry picked from commits ad299f1e74, 800220af16)
2023-02-14 07:08:08 +01:00
Alexey Ushakov
8589deef2c JBR-3827 SIGILL at [libsystem_kernel] __kill in Java Exception at -[CDragSource convertData:]
Added check for drag source
2023-02-14 07:08:08 +01:00
Alexey Ushakov
9b4323ce50 JBR-3366 SIGILL at [libsystem_kernel] __kill in NSWindowStyleMaskFullScreen cleared on a window outside of a full screen transition
Wrapped the native exception and added logging

JBR-4882 Unable to exit fullscreen mode after Presentation mode was entered (and exited) on macOS

(cherry picked from commit d57e8b631b)
2023-02-14 07:08:08 +01:00
Alexey Ushakov
6e70ad4ea5 JBR-3365 SIGILL at [libsystem_kernel] __kill in java.lang.RuntimeException: Failed to convert, no screen / primaryScreen
Wrapped the native exception and added logging
2023-02-14 07:08:07 +01:00
Dmitry Batrak
c0f124f2a6 JBR-3751 Window content isn't rendered with some window managers on Linux
(cherry picked from commit 8d22e4dcb0)

includes fix for JBR-5046 Incorrect initial window's location in Xfce

(cherry picked from commits 234e705134, 02bc54f864)
2023-02-14 07:08:07 +01:00
Vitaly Provodin
abd3c30969 JBR-4294 split desktop tests to more groups for Commit testing 2023-02-14 07:08:07 +01:00
Dmitry Batrak
92b743749c JBR-4281 Window losing focus isn't detected in some cases on macOS
(cherry picked from commit 363650bbf4)

with JBR-4638 Regression: Unable to enter emoji in editor via Emoji & Symbols on macOS

(cherry picked from commit 8b9a00915d)

with JBR-4652 With multiple projects open non-fullscreen, right-click on Dock icon to select the project from the context menu doesn't switch to that project

(cherry picked from commit e34677587d)

with JBR-5134 Input methods can't be dynamically disabled on a focused JComponent

(cherry picked from commit 0a3f4b206d)
2023-02-14 07:08:07 +01:00
greg
e9d57062eb macOS: add methods to setup transparent titlebar with custom height (#100)
* macOS: add methods to setup transparent titlebar with custom height

* make windowTransparentTitleBarHeight CPlatfromWindow property

* add windowTransparentTitleBarHeight test

* Prevent mouseUp events on the transparent header on macOS when the window is being dragged

Co-authored-by: Manuel Unterhofer <manuel.unterhofer@jetbrains.com>

Custom macOS window decorations via JBR API

JBR-4460 Fix window drag with custom decorations on macOS

JBR-4553 Add logging to setUpTransparentTitleBar and resetTitleBar
2023-02-14 07:08:07 +01:00
Denis Fokin
9fce14cd4e JBR-4038 [JBR17] Force Touch events are not supported on macOS
Added missing files and handlers from JBR11
2023-02-14 07:08:07 +01:00
Alexey Ushakov
37770a7d43 JBR-3901 jbr-dev compile problem
Added transient keyword
2023-02-14 07:08:07 +01:00
Alexander Lobas
6c81b19cc9 JBR-2893 Big Sur: Add support of opening project as tabs IDEA-257932 Big Sur: IDEA hangs after closing a project tab after exiting and entering full screen
Converted JNF to JNIUtilites

(cherry picked from commit f02e31a440)
(cherry-picked from commit a84736ebcc)
2023-02-14 07:08:07 +01:00
Dmitry Batrak
5c3387c78c JBR-3676 WINDOW_ACTIVATED/DEACTIVATED events sent to a frame when child window closes on macOS
(cherry-picked from commit 824f9ebec3)
2023-02-14 07:08:07 +01:00
Dmitry Batrak
24b43c92d9 JBR-3611, JBR-3633, JBR-3666, JBR-3663, JBR-3671, JBR-3673, JBR-4181, JBR-4186, JBR-4893 Interoperability with macOS desktop spaces
(cherry-picked from commits 43fdd6cd26, 75335543f2, a156c6b9bf, 9fdc75969b, 1dcc612a81, 93588d0738, 94a3885bbe, c040e05703, 67b6cd871f, 9040fd56cd, 6349b86b7f)
2023-02-14 07:08:07 +01:00
Dmitry Batrak
402f8cae06 refactor nativeCreateNSWindow call wrapping
as part of JBR-3017

(cherry picked from commit eeef67a335)
2023-02-14 07:08:07 +01:00
Dmitry Batrak
751b86bf40 remove excessive wrapping with AccessController (AWTThreading does it internally now)
as part of JBR-3017

(cherry picked from commit f1dd523ba8)
2023-02-14 07:08:07 +01:00
Dmitry Batrak
8cfefb2e56 JBR-2971 Log more information about window creation and property changes
(cherry picked from commit 9d86b4d235)
2023-02-14 07:08:07 +01:00
Dmitry Batrak
9c5e8f6fa9 JBR-2533 Popup is not focused on click when switching from another application on macOS
(cherry picked from commits d9ff151211, 67b174dc8c, 72b0add80c, 21af1eba85, 2f1d317d87, 6dd334f9f0, cd863bac0d, 010f6fc951, 25e087d269, parts of 7d5ac56b6c, cd6dd5c3cf, e8bbd8ffdd)

with fix for JBR-3640 (java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFAppModalTest.java: window Open button lost focus when it should not) and JBR-3979 (Focus is not transferred to parent window)
2023-02-14 07:08:07 +01:00
Nikita Provotorov
002a9d2014 JBR-4271: JBR17 and dev built without --with-vendor-name parameter have invalid value of the java.vm.vendor property.
Changes the default JBR's vendor from "Oracle Corporation" to "JetBrains s.r.o.".

(cherry picked from commit 0cb7b4565c)
2023-02-14 07:08:07 +01:00
Nikita Gubarkov
2cd49e2f27 JBR API v0.0.3
JBR-4228 report HTMINBUTTON, HTMAXBUTTON, HTCLOSE, HTMENU, HTCAPTION targets via JBR API & handle corresponding non-client mouse events for windows with custom decoration
2023-02-14 07:08:06 +01:00
Alexey Ushakov
7b35178518 JBR-4224 java/awt/image/VolatileImage/GradientPaints.java: Number of mismatches (300000) exceeds limit (54000) with tolerance=5
Updated reg test to handle contentLost event
2023-02-14 07:08:06 +01:00
Vitaly Provodin
55e34222f0 exclude javax/swing/border/TestTitledBorderLeak.java on windows due to 8213531 2023-02-14 07:08:06 +01:00
Ivan Lopatin
3dbdbc9859 Scale2: exclude java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java due to 8279190 on macosx-all 2023-02-14 07:08:06 +01:00
Nikita Provotorov
f19398ccab JBR-3299: The test /jb/sun/awt/macos/NationalLayoutTest/Layout_ABC.java fails on MacOS.
Fixes the Layout_*.java tests by giving them to know the <Ctrl + key> combinations can generate KEY_TYPED event.

(cherry picked from commit eae5198b20)
2023-02-14 07:08:06 +01:00
Vitaly Provodin
e402d9f5bf exclude java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java on Wayland
sun/security/pkcs11/Signature/TestDSAKeyLength.java                                 8279941 linux-all
2023-02-14 07:08:06 +01:00
Alexey Ushakov
329c442ed1 JBR-4112 macOS: SIGILL at [libsystem_kernel] __kill in OOME: Java heap space at java.awt.image.DataBufferInt.<init>
Reg test update: replace management api with jfr
2023-02-14 07:08:06 +01:00
Nikita Provotorov
d803f02162 JBR-4207, IDEA-287559: IDEA incorrectly handles AltGr key modifier.
This commit reverts the fix of JDK-8041928 and disables its regression tests.

(cherry picked from commit ba5209ec06)
2023-02-14 07:08:06 +01:00
Nikita Provotorov
bbd68b2b84 JBR-4207, IDEA-287559: IDEA incorrectly handles AltGr key modifier.
Renames the test AltGrMustGenerateAltGrModifierTest3838.java to AltGrMustGenerateAltGrModifierTest4207.java.

(cherry picked from commit ed60a9c2bd)
2023-02-14 07:08:06 +01:00
Maxim Kartashev
cc6c8b595b JBR-4173 Tier1 test failures in jdk/javadoc/doclet/testModules
Introduction of JBR API changed the order of modules appearing in Java
Doc. This commit updates the corresponding tests to match the current
output with JBR API.

(cherry picked from commit 609406c21b)
2023-02-14 07:08:06 +01:00
Nikita Gubarkov
a0dd769d56 JBR-2567 Fix max file path buffer size for fontpath.c 2023-02-14 07:08:06 +01:00
Vitaly Provodin
d1466efbf6 exclude sun/security/pkcs11/Signature/TestDSAKeyLength.java on Ubuntu 21.04 due to 8279941 2023-02-14 07:08:06 +01:00
Anton Tarasov
7331633884 JBR-4204 provide an option to disable a11y support on macOS
(cherry picked from commit ee3c56abdc)
2023-02-14 07:08:06 +01:00
Vitaly Provodin
f9d56bdc8c exclude two swing tests on Windows due to JBR-4197 2023-02-14 07:08:06 +01:00
Alexey Ushakov
7b824ee581 JBR-4112 macOS: SIGILL at [libsystem_kernel] __kill in OOME: Java heap space at java.awt.image.DataBufferInt.<init>
Removed double allocation of surface data
2023-02-14 07:08:06 +01:00
Alexey Ushakov
382dd4f516 JBR-4187 java/awt/GraphicsDevice/DisplayModes/UnknownRefrshRateTest.java.UnknownRefrshRateTest fails on mac
Constrained display modes count used by the test
2023-02-14 07:08:06 +01:00
Alexey Ushakov
255abd12fe JBR-4177 libc++abi: terminating with uncaught exception of type NSException
Added check for AppContext
2023-02-14 07:08:05 +01:00
Alexey Ushakov
57d69ce841 JBR-4174 java/awt/FullScreen/FullScreenInsets/FullScreenInsets.java fails on mac aarch64
Hide cursor to fix OGL&Metal Robot issue (it reads cursor image). Added tolerance to fix Metal Robot inaccuracy.
2023-02-14 07:08:05 +01:00
Artem Semenov
d365607439 JBR-4167 [JCK] AccassibleJTree tests fail on Ubuntu 2023-02-14 07:08:05 +01:00
Alexey Ushakov
7d9e9c7fff JBR-4164 IDEs cannot be launched via launch configuration
Moved execution of displayChanged() to EDT
2023-02-14 07:08:05 +01:00
Vitaly Provodin
ac9dfd3e8c JBR-4169 add jdk.javadoc into JBR 2023-02-14 07:08:05 +01:00
Alexey Ushakov
47202187cb JBR-4150 IDE regularly locks up at sun.lwawt.macosx.LWCToolkit.getScreenInsets
Restored caching screen insets. Added handling of dock resize.
2023-02-14 07:08:05 +01:00
Vitaly Provodin
f98fdd12ff exclude java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java on Wayland configs due to 8279256 2023-02-14 07:08:05 +01:00
Vitaly Provodin
4c130dd06d exclude java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java on Scale2 configs due to 8279190 2023-02-14 07:08:05 +01:00
Vitaly Provodin
6553ce9056 exclude java/awt/FullScreen/UninitializedDisplayModeChangeTest/UninitializedDisplayModeChangeTest.java due to 827361 2023-02-14 07:08:05 +01:00
Vitaly Provodin
e1c98528f5 add exclude list for Wayland failures 2023-02-14 07:08:05 +01:00
Vitaly Provodin
7fb4631838 exclude javax/swing/plaf/basic/BasicComboPopup/JComboBoxPopupLocation /JComboBoxPopupLocation.java on macOS due to 8194945 2023-02-14 07:08:05 +01:00
Vitaly Provodin
e3f3d7f2f6 exclude sun/java2d/SunGraphics2D/EmptyClipRenderingTest.java on windows due to 8144029 2023-02-14 07:08:05 +01:00
Maxim Kartashev
8f79fe93b0 JBR-3948 Linux: SIGSEGV at [libawt_xawt] Java_sun_awt_X11_XInputMethod_createXICNative
The problem: the crashes occur in createStatusWindow() when calls like
adata->AwtColorMatch() end up going to 0x0 pc or some random inaccessible
memory. The only reason for that seems to be the
getDefaultConfig(screen) returning either NULL or garbage. That, in turn, probably
happens because of the wrong screen number provided. Before JBR-3623 was
fixed, awt_numScreens could've changed between the time the screen
number was chosen and the getDefaultConfig() call. After JBR-3623 was
fixed, this change is protected with the AWT lock, which this code
holds.
The fix: obtain the screen number via the Xlib API rather than the
ad-hoc loop though the root windows and return NULL if
getDefaultConfig() doesn't return useable data.

(cherry picked from commit 3d23e8d6a5)
2023-02-14 07:08:05 +01:00
Vitaly Provodin
3d00e1d65a add exclude list for Scale2 test runs 2023-02-14 07:08:05 +01:00
Vitaly Provodin
1882c46170 exclude java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java due to 8134231 2023-02-14 07:08:05 +01:00
Alexey Ushakov
1fe379232c JBR-3773 M1 java/awt/Window/WindowAppearanceTest/WindowAppearanceTest.java: : Incorrect color java.awt.Color[r=75,g=74,b=72]at (140,5)
Added more variants of colors for unfocused and focused titles
2023-02-14 07:08:04 +01:00
Artem Semenov
4bf42b9601 JBR-3775 Optimize the algorithm for obtaining tree elements 2023-02-14 07:08:04 +01:00
Nikita Gubarkov
04bdad2e01 JBR API v0.0.2
Added file dialog customization via JBR API & fixed bugs in windows common item dialog
2023-02-14 07:08:04 +01:00
Vitaly Provodin
2489208171 JBR-3931 add the module jdk.unsupported.desktop into jbr
(cherry picked from commit 32def2fd42)
2023-02-14 07:08:04 +01:00
Alexey Ushakov
cfe791bef4 JBR-4111 [JBR17] Make possible to select files and directories independently
Implemented apple.awt.fileDialogForFiles property
2023-02-14 07:08:04 +01:00
Vitaly Provodin
0c569f6046 enable fixed tests to regular runs 2023-02-14 07:08:04 +01:00
Vitaly Provodin
5f6372b7eb exclude javax/swing tests on mac-aarch64 due to 8277816 2023-02-14 07:08:04 +01:00
Aleksandr Veselov
587c479b6c JBR-4107 A11y: macOS - wrong frame position if window is not on primary screen 2023-02-14 07:08:04 +01:00
Alexey Ushakov
68e9183424 JBR-4060 [JBR17+Metal] Flickering on button's shadow
Removed unnecessary global flag. Optimized mask cache texture clearing code.
2023-02-14 07:08:04 +01:00
Alexey Ushakov
30035ef882 JBR-3954 Transparent text color rendering (needed for experimental UI)
Performed conversion from ARGB_PRE to ARGB in the grayscale text shader
2023-02-14 07:08:04 +01:00
Alexey Ushakov
bf4141838e JBR-3872 [JBR17+Metal] Wrong color for scrollbars and inlay hints
Corrected typo in setTxtUniforms and fixed alpha blending in frag_gmc_text shader
2023-02-14 07:08:04 +01:00
Alexey Ushakov
f52fbd7425 JBR-3820 Gamma correction for grayscale text in Metal rendering pipeline
Implemented gamma correction using the same approach that we did for OGL grayscale text rendering (OGLTextRenderer.c)
Optimized shader performance
2023-02-14 07:08:04 +01:00
Alexey Ushakov
61c7792a77 JBR-4104 jbr-dev compilation failure
Corrected suppress warnings
2023-02-14 07:08:04 +01:00
Dmitry Batrak
59693d9b43 JBR-4084 Default font '. AppleSystemUIFont' does not have bold weight on Chinese characters
(cherry picked from commit 4fde082d53)
2023-02-14 07:08:04 +01:00
Maxim Kartashev
28cf1e5ea2 JBR-3899 SIGSEGV at [libjvm] _ZN23JfrNetworkInterfaceName11on_rotationEv
Prevent JfrNetworkInterfaceName::on_rotation() to dereference a
potentially NULL pointer.

(cherry picked from commit b2a9372d70)
2023-02-14 07:08:04 +01:00
Dmitry Batrak
51a53b12cd JBR-4021 Unexpected focus event order on window showing
(cherry picked from commit 2a398ebb24)

includes fix for JBR-4131 Popup doesn't get focus if created from context menu

(cherry picked from commit 685562aafc)
2023-02-14 07:08:04 +01:00
Maxim Kartashev
a61c0693fa JBR-4020 Test ObsoleteFlagErrorMessage fails after +IgnoreUnrecognizedVMOptions has become the default
(cherry picked from commit ae5963a094)
2023-02-14 07:08:03 +01:00
Maxim Kartashev
012529b681 JBR-3923 Internal Error in c1_Instruction.cpp
Make C1 hotspot compiler bail out during CFG construction if there's a
cycle in the graph that isn't a natural loop and that has led to an
unexpected state of stack/locals like missing a phi function.

This is a temporary measure that lets hotspot continue working
even after encountering such bytecode patterns. The full solution
will probably involve more sophisticated CFG checks.

(cherry picked from commit aa0b61cb75)
2023-02-14 07:08:03 +01:00
Vitaly Provodin
2bd4bbf738 exclude tests spontaneously creating windows during test execution 2023-02-14 07:08:03 +01:00
Maxim Kartashev
40ce2beab2 JBR-2755 IDE UI became slow via remote X Server connection from Windows
When XGetImage() calls become slow in a remote X11 session, fake
XGetImage() with client-side XCreateImage() that is filled with some
background color. The color is chosen from several top left corner
pixels of the "slow" images obtained with XGetImage().

This feature activates in a remote X11 session only and is
controlled with -Dremote.x11.workaround={true|false|auto}.
2023-02-14 07:08:03 +01:00
Alexey Ushakov
52f56fc14b JBR-3924 CMD+Tilda does not switch app windows
Introduced vm property to disable capturing of next app window shortcut
2023-02-14 07:08:03 +01:00
Nikita Gubarkov
16032b1aa7 JBR-2917 Added emoji support for Windows
JBR-3951 Pass real glyph type from native code instead of guessing it by rowBytes & width
2023-02-14 07:08:03 +01:00
Pavel
cf2318c99e JBR-3926 make AwtComponent transparent for hit events by default
* JBR-3926 make AwtComponent transparent for hit events by default

* [WIP] pass hittest event to frame only if custom decoration is enabled and frame ready to handle it
(cherry picked from commit c0e26ff5d5)
2023-02-14 07:08:03 +01:00
Maxim Kartashev
4ff6434286 JBR-3896 Abysmally slow input and UI performance since upgrade to IU-213.4928.7 from previous 2021.3 EAP version
The slowness was the result of XWM.getInsetsFromExtents() repeated
attempts to acquire frame extents from a property that under Sway is
simply unavailable. Each attempt added at least 20ms to every re-draw.

Prior to (repeatedly) checking for NET_FRAME_EXTENTS property of a
window, check that the property is supported by the window manager.

(cherry picked from commit b40cc1c791)
2023-02-14 07:08:03 +01:00
Maxim Kartashev
603509c6c4 JBR-3916 Deadlock in pGetBounds() on Linux
The deadlock occurred because one thread was holding the AWT lock and
waiting for boundsCacheLock in resetBoundsCache() and the other vice
versa stuck in pGetBounds() owning boundsCacheLock and waiting for the
AWT lock.

The solution is to get rid of boundsCacheLock altogether. It was
introduced in order to never return null from getBoundsCached() so that
resetBoundsCache() wouldn't interfere. But the same effect can be
achieved by simply using a local variable to hold a copy of the current
bounds. The worst case scenario now is that two threads update
boundsCached immediately one after another (if they both have observed
the null value there at about the same time), but that's harmless as
pGetBounds() grabs the AWT lock when necessary.

(cherry picked from commit dc6ad31524)
2023-02-14 07:08:03 +01:00
Dmitry Batrak
8696332e6b log LWCToolkit invokeAndWait requests
as part of JBR-3017, to make investigation of similar issues simpler in the future

(cherry-picked from commit a7fd723e43)
2023-02-14 07:08:03 +01:00
Alexey Ushakov
3dab3a5563 JRE-202 Deadlock in CGLGraphicsConfig.getCGLConfigInfo
Added processing system events while waiting for OGLRenderQueue.lock
Moved getCGLConfigInfo logic execution to AppKit thread so, awt lock is
 taken on one thread

(cherry picked from commit d1c8bf03e1bd41cb075aa73cc39558103af7fe1a)
(cherry picked from commit 6bf9f31986be64acf3755b34568802f9960a66ec)
(cherry picked from commit 4e21d67e0369bffac45662c63699b39946218a7a)
2023-02-14 07:08:03 +01:00
Alexey Ushakov
be0abc9fda JRE-193 UI freeze and 12/second thread dumps
Moved CStrikeDisposer dispose code to AppKit

(cherry picked from commit 28774d6878)
2023-02-14 07:08:03 +01:00
Alexander Lobas
e7453ea3f8 JBR-3660 PhpStorm 2021.2 crashes on selecting iCloud Drive directory in Open dialog
(cherry picked from commit f5434bcaaf)
2023-02-14 07:08:03 +01:00
Alexander Lobas
87de8a28db JBR-3629 SIGILL at [libsystem_kernel] __kill NPE at com.intellij.openapi.options.SchemeImportUtil$1.isFileSelectable / -[CFileDialog askFilenameFilter:]
(cherry picked from commit 86c13ecaed)
2023-02-14 07:08:03 +01:00
Alexander Lobas
2871806442 JBR-3443 Native file dialog on OSX enable filename filter by VM option
(cherry-picked from commit f10e324538)
2023-02-14 07:08:03 +01:00
Alexander Lobas
720da6289c JBR-3442 Native file dialog on OSX (for open file) doesn't allow pasting path
(cherry-picked from commit 7d8cc524ca)
2023-02-14 07:08:02 +01:00
Maxim Kartashev
331fc8f9a8 Revert "JBR-2755 IDE UI became slow via remote X Server connection from Windows"
This reverts commit cd9138844da770ae60806fd7dbc1e85c773882a8.
2023-02-14 07:08:02 +01:00
Konstantin Aleev
694b80c461 fix memory leaks in AccessibleJTree
(cherry picked from commit 561a7b8def)
2023-02-14 07:08:02 +01:00
Maxim Kartashev
2f13716160 JBR-3835 Cropped messages in all Message Dialogs in Idea on Ubuntu 18.04.5 LTS with swing alerts enabled
The _NET_FRAME_EXTENTS property that is used to obtain the initial
insets of a dialog window does not immediately get its value and may be
returned as 0 if queried too soon after the window creation.

In order to avoid (incorrect) guessing of dialog's insets, make 3
attempts at getting the insets with a small but increasing pause
in between them.
2023-02-14 07:08:02 +01:00
Maxim Kartashev
e3edd61b35 Revert "JBR-3835 Cropped messages in all Message Dialogs in Idea on Ubuntu 18.04.5 LTS with swing alerts enabled"
This reverts commit 8e7aed70976ec0f90c736d86b9cd3e9cf09ff6d4.
2023-02-14 07:08:02 +01:00
Nikita Provotorov
f7a30dab87 JBR-3838 AltGr on Polish keyboard triggers Ctrl+Alt shortcut.
Add regression test.

(cherry picked from commit 8df43eef4b)
2023-02-14 07:08:02 +01:00
Maxim Kartashev
cc5e08665a JBR-3835 Cropped messages in all Message Dialogs in Idea on Ubuntu 18.04.5 LTS with swing alerts enabled
The _NET_FRAME_EXTENTS property that is used to obtain the initial
insets of a dialog window does not immediately get its value and may be
returned as 0 if queried too soon after the window creation.

In order to avoid (incorrect) guessing of dialog's insets, add an
artificial delay if getInsets() is called too soon.
2023-02-14 07:08:02 +01:00
Alexey Ushakov
3abbc25d13 JBR-3820 Gamma correction for grayscale text in Metal rendering pipeline
Added regression test to compare OGL and Metal text rendering
2023-02-14 07:08:02 +01:00
Artem Bochkarev
f210934679 JBR-1762: request focus of immediate parent when dispose popup
because requesting focus for frame-parent causes to close whole popup chain

(cherry picked from commit 7a2ccfc521)

JBR-1762: fixed review comments

(cherry picked from commit 0efbe5d9b9)
2023-02-14 07:08:02 +01:00
Dmitry Batrak
af60b8e4ce JBR-2759 Typeahead issue on Linux
(cherry picked from commits 76bdaf1131, b20c56ff3e, c9609330f2, a170b4e4ae)
2023-02-14 07:08:02 +01:00
Artem Bochkarev
10bffb49fd JBR-1762: request focus of immediate parent when dispose popup
because requesting focus for frame-parent causes to close whole popup chain

(cherry picked from commit 7a2ccfc521)

JBR-1762: fixed review comments

(cherry picked from commit 0efbe5d9b9)
2023-02-14 07:08:02 +01:00
Maxim Kartashev
bc957c83b7 JBR-3813 Regression after fix for JBR-3688
1. Cached bounds and insets must be cloned before return because they
aren't immutable objects.
2. Fixed the deadlock in resetBoundsCache() by synchronizing on a dedicated
lock.

(cherry picked from commit cd5314db8b)
2023-02-14 07:08:02 +01:00
Renaud Paquay
e8c37b471a Add BasicWithKeyFileAttributeView interface
This new interface is similar to `BasicFileAttributeView` except it
gives implementations a hint that the fileKey() should be acquired
even at some performance cost.

`FileTreeWalker` uses this new interface to request a file key
in addition to regular file attributes so that file equality can
be efficiently performed when checking for loops during file
tree traversal.

This makes `FileTreeWalker` about 2x faster when traversing non
trivial file system trees with the FOLLOW_LINKS option.

Change-Id: I8de047c8fc241dbab9ad57c5e361118a3a94893d

(AKA JBR-3680 Cherry-pick Google's NIO patches to get faster file listing)

(cherry picked from commit 6d1c3f06c4)
2023-02-14 07:08:02 +01:00
Ivan Migalev
de4ee8a18e JBR-3785: don't touch the active keyboard layout on input method activation / deactivation.
origin PR: github.com/JetBrains/JetBrainsRuntime/pull/78.

(cherry picked from commit 2f772fd1a2)
2023-02-14 07:08:02 +01:00
Dmitry Batrak
715fb037a4 JBR-3779 Unexpected Alt+Tab behaviour for Java frames on Cinnamon DE
(cherry picked from commit 0bf13985d5)
2023-02-14 07:08:02 +01:00
Maxim Kartashev
0aef341920 JBR-3688 PyCharm incredibly slow with fakexrandr
Cache screen bounds and insets and (conservatively) reset those caches
upon any possibility of a change.
This feature can be disabled with -Dx11.cache.screen.insets=false and
-Dx11.cache.screen.bounds=false.

Based on commit accef6f21e.
2023-02-14 07:08:01 +01:00
Maxim Kartashev
236ed4d152 JBR-3772 java/beans/PropertyEditor/TestFontClass.java: access denied ("java.util.PropertyPermission" "sun.awt.x11.trace" "read")
Instead of using System.getProperty() directly, wrap the call into
GetPropertyAction and use AccessController to execute it.
2023-02-14 07:08:01 +01:00
Dmitry Batrak
08d028e079 JBR-3504 a11y focus is set on the wrong element when opening popups
(cherry-picked from commit a69e12e0d2)
2023-02-14 07:08:01 +01:00
Maxim Kartashev
d735a612d3 JBR-3665 Typing is slow in remote X session
Only call XGetKeyboardMapping() once for all valid codes and cache the
resulting table. Use the cache on the subsequent calls to
keycodeToKeysym().
2023-02-14 07:08:01 +01:00
Maxim Kartashev
476f331bf5 JBR-2273 JBR musl port
Detect if we're running on a musl-based system by checking for the presence
of the libgcompat.so glibc compatibility library in the process' map.
If so, java is re-started with LD_LIBRARY_PATH set to point to the right
directory with libjvm.so. This works around the problem with the musl
dynamic library loader.

(based on commit 13a904ddb5)
2023-02-14 07:08:01 +01:00
Alexey Ushakov
bf33665705 Added support for otf into the build scripts. Updated prebuild maps.
Applied code from jbr-dev
2023-02-14 07:08:01 +01:00
Konstantin Bulenkov
6b600464d9 bundle Inter font 2023-02-14 07:08:01 +01:00
Maxim Kartashev
3911cc82b8 JBR-3664 Logging for communications with X server
Introduced logging controlled with -Dsun.awt.x11.trace.
Currently, only looks at the AWT lock and reports methods holding it
sorted by average hold time.

(based on commit 792a58ea0e)
(based on commit 770b4dc9c1)
2023-02-14 07:08:01 +01:00
Dmitry Batrak
1cd7066c7a JBR-3726 Modal windows 'disappear' on minimize in KDE
(cherry picked from commits d9baf2d9db, 9c2841028f, 5c4fd9ceaf, f0ed32fca4)
2023-02-14 07:08:01 +01:00
Maxim Kartashev
a8e9ae3001 JBR-3542 Fix -Xcheck:jni warnings
Fixes warnings coming from JBR-specific code in addition to those fixed
by 8269223.
2023-02-14 07:08:01 +01:00
Dmitry Batrak
0a2a54e32b JBR-3706 Toggling full screen mode for two frames doesn't work on macOS if invoked without delay
(cherry picked from commit 28cfc4815f)
2023-02-14 07:08:01 +01:00
Dmitry Batrak
b65b1f4462 JBR-3686 Background window steals focus when converted to full screen on macOS
(cherry-picked from commit 07a5b9672e)
2023-02-14 07:08:01 +01:00
Dmitry Batrak
ab3898117b JBR-3662, JBR-3672 Focus jumps to another project tab after closing modal dialog
(cherry picked from commit bfd01081c3, 2a71dc5981)
2023-02-14 07:08:01 +01:00
Nikita Gubarkov
d1e764b756 JBR-3648 Replace CacheCellInfo usages with MTLCacheCellInfo in metal rendering code 2023-02-14 07:08:01 +01:00
Dmitry Batrak
3b0cfd52bb JBR-3642 java/awt/Window/8159168/SetShapeTest.java fails on macOS-x64 & macOS-aarch64
make sure jb/java/awt/Focus/Typeahead* tests still pass

includes fixes for JBR-3786 javax/swing/plaf/aqua/CustomComboBoxFocusTest.java fails on MacOS by timeout
(cherry picked from commit f5c5388fb5)

and JBR-4113 java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.java fails by time out on macOS

(cherry picked from commit d8d4c55a61)
2023-02-14 07:08:00 +01:00
Anton Tarasov
bedb045e65 JBR-1834 [linux] runtime hidpi switch is broken
(cherry picked from commit eaa04303a7)
2023-02-14 07:08:00 +01:00
Anton Tarasov
a7e772c642 JBR-1429 Scale is huge due to GDK_SCALE
(cherry-picked from commit 1c3477df2e)
2023-02-14 07:08:00 +01:00
Anton Tarasov
a0761f2b92 JBR-1365 force IDE-managed HiDPI on Linux for fractional scales
(cherry picked from commit f092ff3962)
2023-02-14 07:08:00 +01:00
Anton Tarasov
d7b921fdd7 Allow HiDPI mode on Linux 2023-02-14 07:08:00 +01:00
Anton Tarasov
5e65503b43 JRE-489 -Dswing.bufferPerWindow is fractional scale unfriendly 2023-02-14 07:08:00 +01:00
Anton Tarasov
32556baa8c JRE-310 check for Windows8.1 when enabling ui scale
Was "don't fallback on fractional scale" in JBSDK9.
2023-02-14 07:08:00 +01:00
Vitaly.Provodin
ed846227df add 32-sizes for native data types
(cherry picked from commit 3a79870da8)
2023-02-14 07:08:00 +01:00
Nikita Gubarkov
a6680b7afe Added JBR-specific .idea project files 2023-02-14 07:08:00 +01:00
Alexey Ushakov
53622442f6 JBR-3344 "Exit Full Screen" action doesn't work, the only way is mouse click on window's native "green" button.
Restored JBR-1931 fix partially reverted by JBR-1718

(cherry picked from commit c0be778e20)
2023-02-14 07:08:00 +01:00
Anton Tarasov
cacb09924d JBR-3337 jb/java/jcef/HandleJSQueryTest3314.sh: fails on macOS-aarch64 with "JS Query was not handled in 2nd opened browser"
(cherry picked from commit 8678f41971)
2023-02-14 07:08:00 +01:00
Anton Tarasov
ee4af7e41d JBR-3545 Window.setMinimumSize does not respect DPI scaling
(cherry picked from commit 9b4f72ad18)
2023-02-14 07:08:00 +01:00
Denis Fokin
bbb01f565f JRE-408 JBR-3515 fix NullPointerException in MetalRootPaneUI.installWindowListeners
(cherry picked from commit 584d554af529cff445b0f09bc2d57be55e138b7a)
(cherry picked from commit 6a42bb54bd)
2023-02-14 07:08:00 +01:00
Elena Sayapina
dc86126023 JBR-2657 [TESTBUG] ChainOfPopupsFocusTest misbehaving on Windows
- changed open popup shortcut from Ctrl+N to Ctrl+M, so no new explorer windows appear if desktop gets focused by error
- added a click on the main test frame, so it gets focus when running from background cygwin process on Windows, otherwise it just flashes on the taskbar

(cherry picked from commit eda8e4d50e)
2023-02-14 07:08:00 +01:00
Maxim Kartashev
0d56a31d55 JBR-3572 Wayland: java/awt/Window/WindowTitleVisibleTest/WindowTitleVisibleTestLinuxGnome.java: title bar shown and hidden are the same.
Exclude the test when running under XWayland that doesn't implement
screen capture necessary for the test to function.
2023-02-14 07:08:00 +01:00
Denis Konoplev
17b1e9dfba EA-252361: Check window for null
(cherry picked from commit 23a7dbd486)
2023-02-14 07:08:00 +01:00
Artem Bochkarev
6457a6ca54 JBR-3131: support custom view for system menu items
(cherry picked from commit 78d509ac0f)
2023-02-14 07:07:59 +01:00
Artem Bochkarev
d99c4c0a15 JBR-3127: set NSWindowAllowsImplicitFullScreen=NO
fixed JBR-3127 Modal dialogs invoked from modal or floating dialogs are opened in full screen

(cherry picked from commit 0b8ff1a7e6)

JBR-3127: add possibility to load NSJavaVirtualMachine

JavaVM framework is deprecated but this class is still checked by AppKit, see https://youtrack.jetbrains.com/issue/JBR-3127#focus=Comments-27-4684465.0-0

(cherry picked from commit be6a2c4f0c)
2023-02-14 07:07:59 +01:00
Nikita Gubarkov
d8a5f092fc JBR-3376 Added check for -1 glyph info pointer in OGLTextRenderer.c 2023-02-14 07:07:59 +01:00
Dmitry Batrak
865495ffa5 JBR-3024 Popups are shown with 1x1 size sometimes
test case only

(cherry picked part of commit ee298f5287)
2023-02-14 07:07:59 +01:00
Vitaly Provodin
001a12e6c7 JBR-3314 add regression test
(cherry picked from commit c81adfed61)
2023-02-14 07:07:59 +01:00
Ivan Migalev
8227f6194f JBR-3227 Reload type of required native file dialogs each time a file dialog is requested
(cherry picked from commit 26dd87ab7c)
2023-02-14 07:07:59 +01:00
Ivan Migalev
4a811bd9ff JBR-3068 Update path selector behavior when sun.awt.windows.useCommonItemDialog is enabled
(cherry picked from commit 442bb7eecc)
2023-02-14 07:07:59 +01:00
Alexey Ushakov
703b185681 JBR-2996 M1 warnings: CoreText note: Client requested name “.SFCompact-Black”, it will get Times-Roman rather than the intended font
Cached system fonts family names

(cherry picked from commit 56629e4c90)
2023-02-14 07:07:59 +01:00
Alexey Ushakov
87a34df746 JBR-3023 Gray idea frame after project open with ide.mac.transparentTitleBarAppearance.
Initiate move/resize event on first appearance of window having FULL_WINDOW_CONTENT property set

(cherry picked from commit a6ea081ba2)
2023-02-14 07:07:59 +01:00
Dmitry Batrak
e0f596a36c JBR-3017 Focus issue in presence of third-party accessibility tool
use the new invocation approach for 'makeKeyAndOrderFront' as well, as it can also cause synchronous back-calls to accessibility subsystem, and change the global call order unexpectedly

this commit fixes TypeaheadSetVisibleTest and TypeaheadToFrontTest, when they are run with AltTab active

Guard against possible deadlocks, if UI-related methods are invoked not on EDT.
Sample deadlock scenario:
* Application thread attempts to show the window, this involves calling CWrapper.NSWindow.makeKeyAndOrderFront under AWT tree lock, which blocks till 'makeKeyAndOrderFront' completes on AppKit thread
* AppKit thread, while executing 'makeKeyAndOrderFront' performs 'back-call' to CAccessibility.getFocusOwner, which waits for execution on EDT
* EDT performs some activity requiring AWT tree lock (e.g. processing of PaintEvent)

(cherry picked from commits e3aaff5db4, 09941119e1)
2023-02-14 07:07:59 +01:00
Dmitry Batrak
df13ca624b JBR-3072 Deadlock on nested dialog hiding
(cherry picked from commits 99242748ee, ad1595b5c2)
2023-02-14 07:07:59 +01:00
Dmitry Batrak
b6c9867edc fix occasional freezes of JBR-3017 reproducer after the fix
(cherry picked from commit 7e6db54f77)
2023-02-14 07:07:59 +01:00
Dmitry Batrak
ad1c20082a JBR-2819 Create API to determine typographic family/subfamily for available fonts
(cherry picked from commit 89e519a4ef)
2023-02-14 07:07:59 +01:00
Nikita Gubarkov
b5de064943 JBR-2924 Do not try to create native italic font when we're going to make it fake italic 2023-02-14 07:07:59 +01:00
Nikita Gubarkov
765a7cd8f1 JBR-3982 Fixed non-antialiased text rendering on macOS
JBR-3269 Disabled subpixel antialiasing for macOS Mojave and newer
2023-02-14 07:07:59 +01:00
Dmitry Batrak
75d5344b38 JBR-3017 Focus issue in presence of third-party accessibility tool
(cherry picked from commit 88ead5d9e3)
2023-02-14 07:07:58 +01:00
Vitaly Provodin
87f2941f12 JBR-1718 add a regression test
(cherry picked from commit 84ff4eab21)
2023-02-14 07:07:58 +01:00
Elena Sayapina
89216010e1 JBR-2890 [TESTUPDATE] Enable jcef tests on macOS aarch64 platform
(cherry picked from commit 1714d7b627)
2023-02-14 07:07:58 +01:00
Nikita Gubarkov
c0d3c8d46a Added JBR API 2023-02-14 07:07:58 +01:00
Artem Bochkarev
fd8d5079cb JBR-2562: fixed invokation of parent method
(cherry picked from commit 93cbab2f2d)

JBR-2562: suppress exceptions from [NSWindow _changeJustMain]

temporary workaround to prevent crashes

(cherry picked from commit dd055b5970)
2023-02-14 07:07:58 +01:00
Mikhail Grishchenko
f6383a5c48 JBR-2890 Disable jcef tests on 32-bit and aarch64 platforms
(cherry picked from commit d34d6528fe)
2023-02-14 07:07:58 +01:00
Alexey Ushakov
4e97077eb8 JBR-2879 Big Sur: Opening project in new window results in opening project in another tab
Disabled Tabbing mode for all NSWindows

(cherry picked from commit 8cb0377a31)
2023-02-14 07:07:58 +01:00
Nikita Gubarkov
8539451aad JBR-2910 Implemented extended glyph cache for macOS
JBR-3976 Fixed text spacing & emoji scaling on macOS

JBR-3638 Adjust subpixel glyph positions for correct rounding in CStrike#getGlyphImageBounds
2023-02-14 07:07:58 +01:00
Alexey Ushakov
32c43bcf21 JBR-2617 Text with opacity renders black
Implemented alpha blending in grayscale text rendering (UX-1320)
Corrected bright text thickness (smooth on), bright and dark text thickness (smooth off)
Added JVM properties for fine tuning

(cherry picked from commit c30306f779)
(cherry picked from commit c95adeb8f2)
(cherry picked from commit 269c9580fb)
(cherry picked from commit 55c7be5fe9)
(cherry picked from commit e28ff71e97)
2023-02-14 07:07:58 +01:00
Alexey Ushakov
b809b3d5c5 JBR-2521 Ugly font in all 2020.2 EAPs on macOS
Provide gamma correction for both light and dark text

(cherry picked from commit 5953202a7e)
2023-02-14 07:07:58 +01:00
Alexey Ushakov
130f39aaa0 JBR-2591 Repainting is broken (was: Icons in tree list widgets became dark)
Save current blend mode before cached grayscale rendering

(cherry picked from commit 7beb75ccec)
(cherry picked from commit ed52fde57d)
2023-02-14 07:07:58 +01:00
Alexey Ushakov
374b210d1a JBR-1986 Enabling fractional metrics causes visual artifacts in font rendering on macOS 10.14+
Disable subpixel positioning for macOS 10.13+ if legacy LCD rendering is disabled

(cherry picked from commit dbd24232e4)
2023-02-14 07:07:58 +01:00
Vitaly Provodin
11c43e3674 exclude bug7154030 on macosx-aarch64 due to 8268284 2023-02-14 07:07:58 +01:00
Vitaly Provodin
9058205475 exclude SharedMemoryPixmapsTest on macosx-all due to 8221451 2023-02-14 07:07:58 +01:00
Vyacheslav Moklev
87b31821a5 JBR-2442 fix memory leak of fileBuffer
fix was suggested by Nikita Gubarkov
2023-02-14 07:07:58 +01:00
Andrey Starovoyt
1f76ef495f JBR-2736 provide writeObjects implementation for copying files/folders from Project Explorer to the Finder
(cherry picked from commit 33db034d49)
(cherry picked from commit d3ec3d899d)
2023-02-14 07:07:58 +01:00
Sergey Malenkov
4034e228c1 EA-235126 - CME: HighlightableComponent.getPreferredSize
(cherry picked from commit 523d80cafd)
2023-02-14 07:07:57 +01:00
Kirill Kirichenko
6b228393cb JBR-2667 Post review: rename win.darkTheme.on to win.lightTheme.on and reversed the logic
(cherry picked from commit eeab5252e6)
2023-02-14 07:07:57 +01:00
Kirill Kirichenko
a5eb47c390 JBR-2667 Add new AWT desktop property for light/dark theme detection on Windows 10
(cherry picked from commit 0e4ad056dd)
2023-02-14 07:07:57 +01:00
Alexey Ushakov
ce6f7accb4 JBR-2593 Wide ligatures not rendered in Grayscale mode
Added missing flush of cached vertices

(cherry picked from commit ad409b4370)
2023-02-14 07:07:57 +01:00
Nikita Gubarkov
491c7f41a3 JBR-2910 Implemented extended glyph cache for Linux 2023-02-14 07:07:57 +01:00
Nikita Gubarkov
2a593a99fc JBR-2910 Implemented extended glyph cache for Windows 2023-02-14 07:07:57 +01:00
Nikita Gubarkov
9cbd7aebf8 JBR-2614 Fixed LCD glyph width to include both left & right padding, so that rowBytes = width * 3 2023-02-14 07:07:57 +01:00
Alexey Ushakov
d56cc65ac0 JBR-2463 Font rendering problem on macOS Mojave
Use adjusted advances for glyphs

(cherry picked from commit 1af5dd4aae)
2023-02-14 07:07:57 +01:00
Denis Konoplev
1ac9815c65 JBR-3544: Generate popup invoked instead of New in this directory.
- A fix
- A regression test (cherry picked from commit 7995574c09)
2023-02-14 07:07:57 +01:00
Vitaly Provodin
ae2d1012c3 JBR-2545 Clean up the list of ignored Render tests
(cherry picked from commit f7b4c42e1d)
2023-02-14 07:07:57 +01:00
Jayathirth D V
594a6a7204 8241490: Add large text performance tests in RenderPerfTest
(cherry picked from commit 803ee2f2b5)
2023-02-14 07:07:57 +01:00
Alexey Ushakov
cf3a318e99 8230657: Create fine grained render perf test for metal pipeline
Converted gradle JUnit test to plain java for ant and gnumake

To run the tests:
cd src/demo/share/java2d/RenderPerfTest

ant run
or
java -jar dist/RenderPerfTest.jar
or
java -jar dist/RenderPerfTest.jar testWhiteTextBubblesGray

(cherry picked from commit 356121b18f)
(cherry picked from commit 8bd8d2d132)
2023-02-14 07:07:57 +01:00
Konstantin Bulenkov
f5450688c7 Update FiraCode to 5.2
(cherry picked from commit 71e2a8d8ad)
2023-02-14 07:07:57 +01:00
Alexey Ushakov
63acf11359 JBR-1929 Improve rendering of San Francisco font of macOS Catalina
Reverting gamma correction because of rendering artifacts in the light theme

This reverts commit 5016db51

(cherry picked from commit c1d644a004)
2023-02-14 07:07:57 +01:00
Alexey Ushakov
dda57d70e5 JBR-1929 Improve rendering of San Francisco font of macOS Catalina
Added gamma correction to match grayscale rendering with subpixel one

(cherry picked from commit 5016db518a)
2023-02-14 07:07:57 +01:00
Alexey Ushakov
96206931a3 JBR-2463 Font rendering problem on macOS Mojave
Use adjusted advances for glyphs

(cherry picked from commit 1af5dd4aae)
2023-02-14 07:07:56 +01:00
Anton Tarasov
07b03f9431 revert: JBR-1434 "New file dialog" popup remains above all windows on switching application
java.awt.peer.WindowPeer.isLightweightDialog() method does not exist.

(cherry picked from commit 7d8aeaf7de)
2023-02-14 07:07:56 +01:00
Anton Tarasov
28fc816b58 JBR-2872 improve: JBR-2866 JCEF: Markdown editor steals focus from a different frame
(cherry picked from commit bad748e3d0)
2023-02-14 07:07:56 +01:00
Anton Tarasov
37d910fe9a JBR-2866 JCEF: Markdown editor steals focus from a different frame 2023-02-14 07:07:56 +01:00
Anton Tarasov
b05bbfe230 JBR-2645 enable CefBrowser.close(true) in jcef reg tests
(cherry picked from commit 492c217125)
2023-02-14 07:07:56 +01:00
Anton Tarasov
7cb87d29b0 JBR-2259 WebSite isn't loaded with .loadUrl method if browser isn't shown in UI
(cherry picked from commit 57bbddf071)
2023-02-14 07:07:56 +01:00
Anton Tarasov
b0b4175cd3 JBR-2557 use com.jetbrains.cef.JCefAppConfig in JCEF tests
(cherry picked from commit e30a309f92)
2023-02-14 07:07:56 +01:00
Anton Tarasov
36e4664cfa JBR-2489 Git branch operations (switch to another branch, rebase) sometimes crash WebStorm 202.5428.27
(cherry picked from commit 81d2156fb1)
2023-02-14 07:07:56 +01:00
Anton Tarasov
2c8340fdfc JBR-2282 [jcef] update to JCEF/80.0.4+g74f7b0c+chromium-80.0.3987.122
(cherry picked from commit a5adc725df)
2023-02-14 07:07:56 +01:00
Anton Tarasov
96dafe4250 JBR-2305 jcef: jb/java/jcef/JCEFStartupTest.java throws java.lang.ExceptionInInitializerError
(cherry picked from commit f0385f01ec)
2023-02-14 07:07:56 +01:00
Anton Tarasov
f0be8de338 JBR-2306 jcef: jb/java/jcef/JCEFStartupTest.java unexpectedly exits with the exit code: 0
(cherry picked from commit ff7d7bd43c)
2023-02-14 07:07:56 +01:00
Anton Tarasov
048a46ae91 JBR-2299 [mac] jcef requests for "chromium safe storage" keychain access
(cherry picked from commit dd1334a352)
2023-02-14 07:07:56 +01:00
Anton Tarasov
80a90b8016 JBR-2222 Crash during closing IDE
(cherry picked from commit d0c367b31f)
2023-02-14 07:07:56 +01:00
Anton Tarasov
0a4265ec1e JBR-2287 [jcef] add CefBrowser wrapper to jtreg tests
(cherry picked from commit fa961d1769)
2023-02-14 07:07:56 +01:00
Anton Tarasov
efad45bde2 JBR-2169 AWTThreading: remove tracked invocation event from completion listener
(cherry picked from commit a855f3b835)
2023-02-14 07:07:56 +01:00
Anton Tarasov
669e34115a JBR-2159 Native crash in thread AWT-EventQueue-0 when trying to push commit
(cherry picked from commit bba297b4a4)
2023-02-14 07:07:55 +01:00
Anton Tarasov
8953af676e JBR-2148 JCEF: JBR bundle has invalid app structure
(cherry picked from commit f45f84d7ed)
2023-02-14 07:07:55 +01:00
Anton Tarasov
472665ef54 JBR-2146 improve InvokeOnToolkitHelper to cover more generic case 2023-02-14 07:07:55 +01:00
Anton Tarasov
c9570e9f30 JBR-2139 Idea freeze on dynamic plugin unloading
(cherry picked from commit e57bae4f66)
2023-02-14 07:07:55 +01:00
Anton Tarasov
9e9144074f JBR-2099 jb/java/jcef/JCEFStartupTest.java fails on Windows, Linux
(cherry picked from commit 3dfb0aa16a)
2023-02-14 07:07:55 +01:00
Anton Tarasov
9e2b870bd6 JBR-2093 create reg test for JCEF startup
(cherry picked from commit e8c2761f5b)
2023-02-14 07:07:55 +01:00
Anton Tarasov
9d4064b645 JBR-2082 Revealing taskbar does not work when "Automatically hide the taskbar"
(cherry picked from commit b31a41fb2f)
2023-02-14 07:07:55 +01:00
Mikhail Grishchenko
61106e286a JBR-2639, JBR-2412 [jcef] Tests that checks mouse events
JBR-2412 [windows] mouse listener does not work for jcef

(cherry picked from commit 66ad6472ae)
(cherry picked from commit 04246aac57)
(cherry picked from commit b7cde4fd05)
2023-02-14 07:07:55 +01:00
Mikhail Grishchenko
66998e6d04 JBR-2639 [win] jcef does not recognize vertical mouse wheel events
added regression test

(cherry picked from commit e8e4741bb0)
2023-02-14 07:07:55 +01:00
Mikhail Grishchenko
c3bebce2ab JBR-2412 [windows] mouse listener does not work for jcef
added regression test

(cherry picked from commit d1479872f2)
2023-02-14 07:07:55 +01:00
Elena Sayapina
9e2e17e821 JBR-2630 Typing speed in IDE editor was dropped after switching to 11.0.8
Introduced sun.awt.osx.RobotSafeDelayMillis property to control macOS specific safe delay for Robot methods.
50 ms safe delay was initially hardcoded in 3862142d (JDK-8242174: [macos] The NestedModelessDialogTest test make the macOS unstable) which affected performance tests execution.

(cherry picked from commit 5f691bb788)
2023-02-14 07:07:55 +01:00
Mikhail Grishchenko
3d043f989e JBR-2430 [jcef] Added Regression test
Checks that JS Query is handled in 2nd opened browser

(cherry picked from commit 404ff84565)

Refactoring + changed EDT awaiting method

(cherry picked from commit dc24658b31)
2023-02-14 07:07:55 +01:00
Vitaly Provodin
5c9f4fe999 exclude the new printer test 8262731 2023-02-14 07:07:55 +01:00
Alexey Ushakov
9f9d8aa2be JBR-2419 Improve performance of CStrike.getNativeGlyphOutlineBounds
Do not pass the result via java object. Use more straight api.

(cherry picked from commit 9f91fe91f5)
(cherry picked from commit c0fd2daf5c)
2023-02-14 07:07:55 +01:00
Alexey Ushakov
abd77ac848 JBR-2382 Provide detailed stack trace in crash dumps for unhandled ObjC exceptions
Used user home dir for jbr_err files. Removed logging with reportException method

(cherry picked from commit 2c8cdb221b)

JBR-2382 Provide detailed stack trace in crash dumps for unhandled ObjC exceptions

Used process workdir for jbr_err files. Added one more logging to reportException method

(cherry picked from commit 95a47810d5)

JBR-2382 Provide detailed stack trace in crash dumps for unhandled ObjC exceptions

Generate jbr_err_pidXX.log file with detailed stack trace of the exception

(cherry picked from commit 4c42f75021)
2023-02-14 07:07:55 +01:00
Artem Bochkarev
68bd6ac6ba JBR-2253: unset LD_PRELOAD just after VM loaded
workaround for JBR-2253 Preload libjsig.so to fix JNA crashes

(cherry picked from commit 127a2deddf)
2023-02-14 07:07:55 +01:00
Kirill Kirichenko
52b3618c02 JBR-1874 Cursor not changing from 'default' to 'text'. Additional fix after reopening.
(cherry picked from commit 5a29d4ade9)
2023-02-14 07:07:54 +01:00
Elena Sayapina
c317490190 JBR-2585 [TESTBUG] TouchScreenEvent tests affect tests simulating mouse actions
- added workaround for JBR-2585
- added README.md about manual test run
- made an update to close LinuxTouchScreenDevice properly
- added an error exit from linux shell script if sudo password is empty or chown fails

(cherry picked from commit 4deb3bbe61)
2023-02-14 07:07:54 +01:00
Denis Konoplev
49ad251714 fixup! macOS national keyboard support
Remove unused import that broke compilation
2023-02-14 07:07:54 +01:00
Elena Sayapina
e4da677ada IDEA-165950 [TESTUPDATE] National keyboard layouts support
Update regression test after the following commits:

02fad83c: Remove public constants from KeyEvent
f4227faf: Impossible to assign cmd+ß shortcuts
(cherry picked from commit 264802cf4b)
2023-02-14 07:07:54 +01:00
Elena Sayapina
1ee50ffae6 JBR-2328 [TESTBUG] Regression test java/awt/keyboard/AllKeyCode/AllKeyCode.java is not correct
(cherry picked from commit 861f73c393)
(cherry picked from commit bfab6a9364)
(cherry picked from commit e9fa7a0882)
2023-02-14 07:07:54 +01:00
Mikhail Grishchenko
70eec4f9d5 JBR-2259 WebSite isn't loaded with .loadUrl method if browser isn't shown in UI
Added reproducer

(cherry picked from commit e875bf72c9)
2023-02-14 07:07:54 +01:00
Denis Konoplev
0c2b49fa77 JBR-2490 Add option to work with Surface Pen
(cherry picked from commit 5acc7680a1)
2023-02-14 07:07:54 +01:00
Denis Konoplev
ac21e29b8a JBR-2669: set unicode for both keyCode and extendedKeyCode
(cherry picked from commit ba3f14c83a)
2023-02-14 07:07:54 +01:00
Denis Konoplev
1a4cbb4d44 JBR-2554: Proper unicode values in KeyEvent.keyCode
(cherry picked from commit 703d77a927)
2023-02-14 07:07:54 +01:00
Denis Konoplev
732409bb1b JBR-215: Remove SystemInfo
(cherry picked from commit 9adf77a512)
2023-02-14 07:07:54 +01:00
Denis Konoplev
cbec17d154 JBR-215: Separate LatinNonAlphaNumKeycodes option
(cherry picked from commit caf366f6f3)
2023-02-14 07:07:54 +01:00
Denis Konoplev
7810b9859f JBR-215: Windows non-alphanumeric shortcuts
(cherry picked from commit 4f60efebe2)
2023-02-14 07:07:54 +01:00
Denis Konoplev
8b1831cb9b JBR-2280: Fix regression. Mode compatible with old option.
(cherry picked from commit a3e3c23cb1)
2023-02-14 07:07:54 +01:00
Denis Fokin
f71f3d9840 macOS national keyboard support 2023-02-14 07:07:54 +01:00
Sergey Malenkov
dcf110d54d JBR-1929 FractionalMetricsSupport
(cherry picked from commit bbdc159762)
2023-02-14 07:07:54 +01:00
Mikhail Grishchenko
6d20d5efc5 JBR-2256 JEditorPane with test/html type and zero margins is not shown
Updated reproducer

(cherry picked from commit 529a188b8b)

JBR-2256 JEditorPane with test/html type and zero margins is not shown

Added reproducer

(cherry picked from commit 41578a40b5)
2023-02-14 07:07:53 +01:00
Mikhail Grishchenko
a448ac4631 JBR-2210 IDEA fails to start (JVM crashes) when using the -Dfile.encoding=UTF-8in IDEA's vmoptions file
Added regression test

(cherry picked from commit 4e1f5a43b3)
2023-02-14 07:07:53 +01:00
Mikhail Grishchenko
d9e50522b2 JBR-1414 [Test] downscale frames to run on low-dpi screens
(cherry picked from commit b46e74fe6f)
2023-02-14 07:07:53 +01:00
Elena Sayapina
6e3d96d23e JBR-1905 [TESBUG] java/awt/TextArea/DisposeTest/TestDispose.java: frame is not disposed
- java/awt/TextArea/DisposeTest/TestDispose.java, java/awt/TextField/DisposeTest/TestDispose.java: fixed test frame disposal
- java/awt/Frame/DisposeStressTest/DisposeStressTest.java: decreased test timeout from 2h to 10 min, added minor diagnostic logging

(cherry picked from commit 7f025f4e16)
(cherry picked from commit dda7f3d871)
(cherry picked from commit bc09aadadb)
2023-02-14 07:07:53 +01:00
Alexey Ushakov
0eedccceac JBR-2135 Use CoreText api to select the font with the most recent version
Added a property to force loading bundled fonts: -Djava2d.font.noVersionCheck=true

(cherry picked from commit cbb148dff4)
2023-02-14 07:07:53 +01:00
Alexey Ushakov
3fcf126303 JBR-2137 JetBrainsMono fonts update to v1.0.3
(cherry picked from commit a6e441828a)
2023-02-14 07:07:53 +01:00
Mikhail Grishchenko
772013a38b JBR-1414: Added regression test for dnd with HiDPI scaling
(cherry picked from commit 1f4ab12fbb)
2023-02-14 07:07:53 +01:00
Elena Sayapina
c4cd60d944 JBR-2041 [TEST] Added new regression test (Touchscreen devices support)
(cherry picked from commit 2d587b3728)
(cherry picked from commit 92606f2c7f)
(cherry picked from commit 05af375909)
(cherry picked from commit 0f895bf1b2)
(cherry picked from commit 08aa0852b7)
2023-02-14 07:07:53 +01:00
Konstantin Bulenkov
05eec77cd7 Update JetBrains Mono to 1.0.2
(cherry picked from commit 6f4a13e46f)
2023-02-14 07:07:53 +01:00
Ivan Migalev
f5a4db0d8c Extract the DWM colorization parameters from registry (JBR-2070)
(cherry picked from commit 0330cab60b)
2023-02-14 07:07:53 +01:00
Ivan Migalev
3d766876c4 Refresh desktop properties on WM_DWMCOLORIZATIONCOLORCHANGED (JBR-2070)
(cherry picked from commit 06086f4a7e)
2023-02-14 07:07:53 +01:00
Ivan Migalev
ffbd7cb5cd Fix a possible resource leak in ColorizationColorAffectsBorders
(cherry picked from commit 0c911b6ffe)
2023-02-14 07:07:53 +01:00
Elena Sayapina
972501a13f JBR-2086 JetBrainsMono fonts update to v1.0.1
(cherry picked from commit a4b373e631)
2023-02-14 07:07:53 +01:00
Konstantin Bulenkov
42ce8cadf7 JetBrains Mono 1.0
(cherry picked from commit d514f7a982)
2023-02-14 07:07:53 +01:00
Denis Konoplev
0bb4c72424 JBR-3444: Return NullSurfaceData when gc == null
(cherry picked from commit 01ad15e61c)
2023-02-14 07:07:53 +01:00
Denis Konoplev
225eb607c8 JBR-1995: Last character issue with korean
Fix for JTextComponent

(cherry picked from commit a7c8b0b535)
2023-02-14 07:07:53 +01:00
Denis Konoplev
4d5319c58d JBR-2891: Post PhaseEvents in the begin and end of Magnify and Rotate
(cherry picked from commit c811c295c2)
2023-02-14 07:07:52 +01:00
Denis Konoplev
1b1c1ab692 JBR-2444: Turn on IM workaround by default
(cherry picked from commit 15c4ce1d3e)
2023-02-14 07:07:52 +01:00
Denis Konoplev
1f95e52874 Fix build: add import & fix jwhen 2023-02-14 07:07:52 +01:00
Denis Konoplev
c952d033f3 JBR-2795: Add explicit conversion
(cherry picked from commit bf3e1c0c31)
2023-02-14 07:07:52 +01:00
Denis Konoplev
a190f5b5e6 IDEA-237231: Correct signarute mask
(cherry picked from commit 6974131eec)
2023-02-14 07:07:52 +01:00
Denis Konoplev
4df6f5d567 IDEA-237231: Possible fix for pen interraction
(cherry picked from commit 33a8c95d39)
2023-02-14 07:07:52 +01:00
Denis Konoplev
062cd079ad JBR-2041: Project view tap fix, recovery? constants & logging
(cherry picked from commit 1e904db3b0)
2023-02-14 07:07:52 +01:00
Denis Konoplev
ad75d0a9ce IDEA-229135: Fling animation stop on tap
(cherry picked from commit 7ce0f79561)
2023-02-14 07:07:52 +01:00
Denis Konoplev
02c924015b Windows touch screen support
(cherry picked from commit cab3f28907)
2023-02-14 07:07:52 +01:00
Denis Konoplev
4b41b9099c Turn off multitouch
(cherry picked from commit a2576ffa9a)
2023-02-14 07:07:52 +01:00
Denis Konoplev
05e670d28c Check XInput extension && touch inertia
(cherry picked from commit cca7fb97f4)
2023-02-14 07:07:52 +01:00
Denis Konoplev
772b8bf25e Touch scroll handling
(cherry picked from commit 6dcec3dc31)
2023-02-14 07:07:52 +01:00
Denis Konoplev
aa99cd2a6c XI2 Constants
(cherry picked from commit 588cd6ee73)
2023-02-14 07:07:52 +01:00
Denis Konoplev
d094217772 XLibWrapper XI2 functions
(cherry picked from commit d6bd1bfa2b)
2023-02-14 07:07:52 +01:00
Denis Konoplev
7a246e95f9 X11 native get put double
(cherry picked from commit f101bc1108)
2023-02-14 07:07:52 +01:00
Denis Konoplev
3fcd6cb3b2 Native data types
(cherry picked from commit 9504574dbb)
2023-02-14 07:07:51 +01:00
Denis Konoplev
9999770c4c XI2 headers in xlib wrapper generator
(cherry picked from commit ef108067a1)
2023-02-14 07:07:51 +01:00
Denis Konoplev
53575ed351 Revert "Turn off multitouch"
This reverts commit 90ea3bf57e4c687e9d9bf0a37f2f64c82a81f4eb.
2023-02-14 07:07:51 +01:00
Denis Konoplev
d0b2572978 Turn off multitouch
(cherry picked from commit a2576ffa9a)
2023-02-14 07:07:51 +01:00
Alexey Ushakov
807af44779 JBR-1962 Allow to change font config
Replaced several privileged blocks with just one

(cherry picked from commit faa8d3d258)
2023-02-14 07:07:51 +01:00
Vitaly Provodin
881ae4b648 JBR-572: Regression test on the crash caused by the fix
(cherry picked from commit 6cc380ffb5)
(cherry picked from commit 958e25ed21)
(cherry picked from commit a7de601d5f)
2023-02-14 07:07:51 +01:00
Dennis Ushakov
c01a8937fa JBR-1863, JBR-1868 correct advances on Catalina 2023-02-14 07:07:51 +01:00
Dennis Ushakov
a026be18de JBR-1850: on macOS fonts should be sorted by weight to ensure proper population of the families 2023-02-14 07:07:51 +01:00
Dennis Ushakov
dade5261c7 faster font family loading & lazy font family population
1. NSFont.familyName is faster than loading allFamilyNames
2. Prebuilt list of system fonts
3. Cleanup San Francisco family loading
4. Avoid calling expensive native getWidth on font when creating font family, load styles only when they would be used.
2023-02-14 07:07:51 +01:00
Dennis Ushakov
daf38924c5 JBR-1756 use CoreText for all font rendering on Catalina 2023-02-14 07:07:51 +01:00
Nikita Gubarkov
e6288c811d JBR-410 Added emoji support for Linux 2023-02-14 07:07:51 +01:00
Alexey Ushakov
ef849caf6d JBR-1997 JetBrainsMono fonts update to v0.22
(cherry picked from commit 41f4fddd34)
(cherry picked from commit f5302a02f4)
(cherry picked from commit 5d7fd2e1e5)
2023-02-14 07:07:51 +01:00
Anton Tarasov
141296216f JRE-729 [windows] unreasonable IME activity consumes CPU 2023-02-14 07:07:51 +01:00
Dmitry Batrak
e5167bc82b JBR-3119 Application's panel in KDE taskbar blinks when popup window is shown
this re-fixes JBR-2934 in a different way

(cherry picked from commit 63134e091b)
2023-02-14 07:07:51 +01:00
Dmitry Batrak
9763d62fef JBR-3038 Unexpected windows z-order change on workspace switch
(cherry picked from commit ddda860f42)
2023-02-14 07:07:51 +01:00
Dmitry Batrak
37077d6783 JBR-3035 The Confirm Exit pop-up window remains hidden behind a window of another application
(cherry picked from commit 470c3bd1b5)
2023-02-14 07:07:50 +01:00
Dmitry Batrak
32267e2419 JBR-2934 Serious usability issue with GoLand 2020.3 caused by JBR
(cherry picked from commit 95be4351d4)
2023-02-14 07:07:50 +01:00
Dmitry Batrak
7d599d93db JBR-2977 Opening a recent project in a new window doesn't bring this window to the front
(cherry picked from commit 2d9fb9e7b8)
2023-02-14 07:07:50 +01:00
Dmitry Batrak
e460ca2aa7 JBR-2698 setAutoRequestFocus(false) breaks focus logic under i3 window manager on Linux
(cherry picked from commit ebcdeb7d80)
2023-02-14 07:07:50 +01:00
Dmitry Batrak
7e9cb225c7 JBR-2696 Log focus API invocations with stack traces
(cherry picked from commits 0f038754e5, a507cab6d3)
2023-02-14 07:07:50 +01:00
Dmitry Batrak
232837f0d0 JBR-2496 Prevent JVM stealing focus from other applications on Linux (JBR-2497, JBR-2499, JBR-2503, JBR-2652)
(cherry picked from commits 87525d1d2a, 66381f0dec, 8a789e04e9, 665ebc5d47, 98a9219c23)
2023-02-14 07:07:50 +01:00
Alexey Ushakov
ff6edaeefc JBR-3509 Extend JDK-8267521 (Post JEP 411 refactoring: maximum covering > 50K) to JBR specific changes
Marked all the usages of SecurityManager related api
2023-02-14 07:07:50 +01:00
Artem Bochkarev
60ce309d42 JBR-1851: check NSArray length
and make more exception-safe
and minor optimization for logging (cache jobjects)

(cherry picked from commit 5839539379)
2023-02-14 07:07:50 +01:00
Artem Bochkarev
2fb2f865e5 JBR-1841: allow deferred disabling of InputMethods-support
(cherry picked from commit 969255904b)
2023-02-14 07:07:50 +01:00
Artem Bochkarev
e81147479f JBR-1668: add hardcoded default values for preferences node NSServicesStatus
(cherry picked from commit 8445f53d85)
2023-02-14 07:07:50 +01:00
Artem Bochkarev
0c1d812b13 JBR-1515: obtain shortcut from OS to check inside AWTView.performKeyEquivalent
(cherry picked from commit 30d479fbd4)

JBR-4899 Activate Previous Window doesn't work sometimes

(cherry picked from commit 63cb726f3c)
2023-02-14 07:07:50 +01:00
Artem Bochkarev
d95bc41b1d JBR-1668: add hardcoded descriptions of system actions
and minor fixes

fix memory management

(cherry picked from commit 15f7368309)
2023-02-14 07:07:50 +01:00
Elena Sayapina
4893dcf453 JBR-1417 [TEST] Added new regression test (JBR 11 does not support chain of popups)
(cherry picked from commit 41e89505be)
(cherry picked from commit 9fe5c778d9)
(cherry picked from commit 6ea9530d9f)
(cherry picked from commit d757108517)
(cherry picked from commit b99c1e7b5c)
2023-02-14 07:07:50 +01:00
Alexey Ushakov
edf2b5bec0 JBR-1690 Bundle new fonts
Test correction
Restored RenderUtil.java
Removed obsolete golden images
(cherry picked from commits:
aa13c8b4ea
943b1472c7
cab6dd5087
7997c7a5ee
cab6dd5087
7997c7a5ee
d3731df79d)
2023-02-14 07:07:50 +01:00
Dmitry Batrak
026eb10a70 IDEA-257525 Unable to show Chinese when using IDEA mac ARM version
The proposed solution is to use a 'normal' font as a base for 'San Francisco' font fallback.
Most of its fallback components/candidates (provided by the OS) are expected to be normal
fonts as well, and so the resulting coverage of Unicode character repertoire should be much better.

(cherry picked from commits 9b7113a6cf, 92b00d50b5, 53489fab27)
2023-02-14 07:07:50 +01:00
Dmitry Batrak
d8740a8db8 JRE-469 Console with emoji output becomes slow
The fix consists of two parts:
* Making CCharToGlyphMapper remember that a particular character cannot be displayed (isn't mapped to glyph with given font). Checking this repeatedly in native code is very slow.
* Make CCompositeGlyphMapper remember the results of char-to-glyph mapping, this was missing in previous implementation. This reuses caching code in CompositeGlyphMapper, extending the range of characters for which the results are cached to include Supplementary Multilingual Plane (most emoji characters belong to it).

port commit 4e0ccde2 from JBR 9

port from JBR 11 to JBR 15 (cherry picked from commit 394e055ae6)

cherry picked from commit 0db7e948af
2023-02-14 07:07:49 +01:00
Dmitry Batrak
1ca51b5550 reimplement JDK-7162125 to fix JDK-8147002
port commit ba38e5c4 from JBR 9

port from JBR 11 to JBR 15(cherry picked from commit a949f9d220)

cherry-picked from commit f309844f75
2023-02-14 07:07:49 +01:00
Artem Bochkarev
816b800e8d JBR-1771: fixed compilation errors (macosx-x86_64-normal-server-fastdebug)
(cherry picked from commit 1acada7cac)
2023-02-14 07:07:49 +01:00
Artem Bochkarev
e6a3d2049d JBR-1668: minor fixes
fixed review comments

(cherry picked from commit 9dbcf194c9)
2023-02-14 07:07:49 +01:00
Vitaly Provodin
08a508c65c JBR-1618: fixed misprint, added saving screenshots in case of failure
(cherry picked from commit e4a3889cf0)
2023-02-14 07:07:49 +01:00
Alexey Ushakov
0f0f250863 JBR-1624 Fonts rendering is broken in the 2019.2 EAP (Fira Code)
Corrected lookup for bold fonts

(cherry picked from commit 114b8af38f)
2023-02-14 07:07:49 +01:00
Alexey Ushakov
adc775ff39 JBR-1399 Improve font discovery and loading by introducing font cache
Added unit test

(cherry picked from commit b4f5bf8bd3)
2023-02-14 07:07:49 +01:00
Elena Sayapina
1715870ab4 IDEA-165950 [TEST] Added new regression test (National keyboard layouts support)
(cherry picked from commit 0900a705bc)
2023-02-14 07:07:49 +01:00
Artem Bochkarev
b84611e80a JBR-1668: read system keyboard shortcuts
initial support for OS X

(cherry picked from commit 6bbe7102e2)
2023-02-14 07:07:49 +01:00
Artem Bochkarev
fbcbbe8737 JBR-1573: restore current input context after cleanup
(cherry picked from commit b7acd7f6f6)
2023-02-14 07:07:49 +01:00
Alexey Ushakov
35c4821f1f JBR-1624 Fonts rendering is broken in the 2019.2 EAP (Fira Code)
Restored old behaviour of registerFontsInDir as it does not affect idea bundled fonts

(cherry picked from commit cef29e8100)
2023-02-14 07:07:49 +01:00
Alexey Ushakov
8dfd461192 JBR-1874 Cursor not changing from 'default' to 'text'
Prevent OS from changing cursor

(cherry picked from commit 94a4eb7002)
2023-02-14 07:07:49 +01:00
Alexey Ushakov
4705d872b6 JBR-1778 Font in editor incorrect (always italics)
Added -it pattern into italic detection code
Added some more patterns to bold and italic detection code
'Anka/Coder' font support

(cherry picked from commit 5119eeee12)
(cherry picked from commit ec241e4a0a)
(cherry picked from commit 251068294e)
(cherry picked from commit 08ae9ff034)
2023-02-14 07:07:49 +01:00
Alexey Ushakov
9e59658f3c JBR-1699 Use platform font rendering for bundled fonts on MacOS
Use different family for specific font faces. Refactoring

JBR-3071 Remove naming workaround for Fira Code

(cherry picked from commits c423003bd4, aee4b48d20)
2023-02-14 07:07:49 +01:00
Alexey Ushakov
22e8fe8f18 JBR-1624 Fonts rendering is broken in the 2019.2 EAP (Fira Code)
Lower priority for idea bundled fonts to pickup platform ones
(if installed)

(cherry picked from commit e838103a24)
2023-02-14 07:07:49 +01:00
Alexey Ushakov
c8a93c6d12 JBR-1885 JetBrainsMono fonts update to v0.19
Updated the fonts to v0.19. Bundled italic fonts

(cherry picked from commit 7f032e3fe7)
(cherry picked from commit a7b4c9449a)
2023-02-14 07:07:49 +01:00
Alexey Ushakov
c4812da51d JBR-1624 Fonts rendering is broken in the 2019.2 EAP (Fira Code)
Lower priority for idea bundled fonts to pickup platform ones
(if installed)

(cherry picked from commit e838103a24)
2023-02-14 07:07:48 +01:00
Alexey Ushakov
1536927a52 JBR-1699 Use platform font rendering for bundled fonts on MacOS
Used CFont instead of TrueTypeFont for bundled fonts on mac
Use different family for specific font faces. Refactoring

(cherry picked from commit 8c86ad3e96)
(cherry picked from commit c423003bd4)
(cherry picked from commit bcae402dc8)
2023-02-14 07:07:48 +01:00
Alexey Ushakov
a06dd15a2e JBR-1690 Bundle new fonts
Update family name for JetBrainsMono-Thin

(cherry picked from commit 0d2326ff34)
(cherry picked from commit 83843f9124)
(cherry picked from commit 2a2e1cfb36)
(cherry picked from commit 76abb69262)
2023-02-14 07:07:48 +01:00
Alexey Ushakov
50396d8828 JBR-1645 javax/swing/JTextArea/TestTabSize.java: Tab width calculation wrong
Corrected idea font filter

(cherry picked from commit 62f9d1f46a)
2023-02-14 07:07:48 +01:00
Artem Bochkarev
82e30f23dd JBR-1573: workaround for 'Sudden keyboard death on Ubuntu 18'
recreate instance of system InputMethod when starts filter all events

(cherry picked from commit 3ad94911af)

(cherry picked from commit c8533a1219)
2023-02-14 07:07:48 +01:00
Alexey Ushakov
1e7a24f18a JBR-1399 Improve font discovery and loading by introducing font cache
Bundle IDEA fonts to improve startup performance

(cherry picked from commit 350a3fdef3)
2023-02-14 07:07:48 +01:00
Artem Bochkarev
fb76ebe3c0 JBR-1541: activate menu in completion handler of modal dialog
(cherry picked from commit e57384c1d6)
2023-02-14 07:07:48 +01:00
Alexey Ushakov
99edf13c49 JBR-1314 Font difference in pycharm 2019.1 on Ubuntu
Removed disabling hints on MAX_FCSIZE_LTL_DISABLED font size

(cherry picked from commit 2b99dfed40)
2023-02-14 07:07:48 +01:00
Alexey Ushakov
64332db081 JBR-1412 [fwp to JBR11] JBR-1393 RubyMine is hanging after log in (macOS)
Modified version of JBR8 fix

(cherry picked from commit 434166fe63)
2023-02-14 07:07:48 +01:00
Alexey Ushakov
c8f2b574a1 JBR-1394 JBR11 does not support LCD text on Mac
Enable LCD rendering for transparent destinations

(cherry picked from commit 207c6b92ff)
2023-02-14 07:07:48 +01:00
Elena Sayapina
a2496b7789 JBR-1372: [TESTBUG] JDialog1054.java, MoveFocusShortcutTest.java regression tests need update
(cherry picked from commit a5948894bf)
2023-02-14 07:07:48 +01:00
Maxim Kartashev
1a06376612 JBR-2755 IDE UI became slow via remote X Server connection from Windows
When XGetImage() calls become slow in a remote X11 session, fake
XGetImage() with client-side XCreateImage() that is filled with some
background color. The color is chosen from several top left corner
pixels of the "slow" images obtained with XGetImage().

This feature activates in a remote X11 session only and is
controlled with -Dremote.x11.workaround={true|false|auto}.
2023-02-14 07:07:48 +01:00
Vyacheslav Moklev
5a5b560848 Fix const pointer after JDK-8225032 fix 2023-02-14 07:07:48 +01:00
Vyacheslav Moklev
9dd2dc63d0 Fix compilation on windows platform: awt_ole.h must be included before awt.h 2023-02-14 07:07:48 +01:00
Vyacheslav Moklev
bcc185f03d JBR-1269 Common Item Dialog does not appear on Alt+Tab or click in windows toolbar
JBR-1270 Common Item Dialog does not have an icon

Select a proper window handle
2023-02-14 07:07:48 +01:00
Vyacheslav Moklev
73cea3db6f JBR-1271 Wrong parent of native windows dialogs
Set a proper parent to a dialog window
2023-02-14 07:07:47 +01:00
Vyacheslav Moklev
1604a2e155 JBR-1273 Common Item Dialog does not open when wrong path to directory is passed
Handle set directory / set file properly
2023-02-14 07:07:47 +01:00
Vyacheslav Moklev
15c63c1d44 JBR-1274 Common Item Dialog sometimes crash the process
Prevent from freeing memory with CoTaskMemFree twice
2023-02-14 07:07:47 +01:00
Vyacheslav Moklev
295987f575 JBR-1257 CommonItemDialog modal window has no owner
Fix modality for Common Item Dialog

squash! JBR-1257 CommonItemDialog modal window has no owner

JBR-2478 java/awt/Modal/FileDialog/FileDialogNonModal7Test.java: DummyButton on Dialog did not gain focus when clicked

revert part of JBR-1271, that's related to 'old' file dialogs
2023-02-14 07:07:47 +01:00
Vyacheslav Moklev
2eb17e84ee JBR-1258 CommonItemDialog ignores directory to open
Fix parsing of directory path / file path
2023-02-14 07:07:47 +01:00
Vyacheslav Moklev
e1f2fcb9b0 JRE-1216 Implement Windows native file dialogs with the new Common Item Dialog API
Add implementation of file dialogs with the new Common Items Dialog API
2023-02-14 07:07:47 +01:00
Alexey Ushakov
9c825cd342 JBR-1144 [JDK11] [macos] Held down key is not deleted when press backspace after accent menu popup (Mojave)
Handled both Delete and ForwardDelete keys

(cherry picked from commit e3ba0bd651)
2023-02-14 07:07:47 +01:00
Alexey Ushakov
7276735ae9 JBR-1144 [JDK11] [macos] Held down key is not deleted when press backspace after accent menu popup (Mojave)
Handled backspace separately

(cherry picked from commit 81916a92af)
2023-02-14 07:07:47 +01:00
Elena Sayapina
b751552a44 JBR-1102: [TESTBUG] java/awt/Paint/ComponentIsNotDrawnAfterRemoveAddTest/ComponentIsNotDrawnAfterRemoveAddTest.java: 'paint' method of 60 components was not called
(cherry picked from commit dc7abebe17)
(cherry picked from commit c8d631a142)
2023-02-14 07:07:47 +01:00
Elena Sayapina
c7ba3edf5c JBR-998: [TEST] Added new regression test (Input freezes after MacOS key-selector on Mojave)
(cherry picked from commit 3d898a8024)
(cherry picked from commit f368f0f101)
2023-02-14 07:07:47 +01:00
Elena Sayapina
782d66ac81 JBR-318: [TEST] Added new regression test (Cmd+` doesn't work after update to JDK 152_*)
(cherry picked from commit 0be0a018b5)
(cherry picked from commit 5bb4c2a1d6)
2023-02-14 07:07:47 +01:00
Elena Sayapina
2285dec9a3 JBR-1054: [TEST] Added new regression test (Weird non-modal dialog above modal dialog behaviour)
(cherry picked from commit b808be6a6a)
(cherry picked from commit 48b7dd874f)
2023-02-14 07:07:47 +01:00
Vitaly Provodin
9694dcfa60 JRE-1117 J2DBench: introduced result reader for TC's charts (follow up)
separated printing values fo TC charts and values for comparisons

(cherry picked from commit bbdbe17e2a)
2023-02-14 07:07:47 +01:00
Vitaly Provodin
936643d597 JRE-1117 J2DBench: introduced result reader for TC's charts
(cherry picked from commit 422fa59643)
2023-02-14 07:07:47 +01:00
Alexey Ushakov
953168c2c5 JRE-60 Editor font is distorted on Kubuntu Linux 16.04 with HiDPI
Override FC_HINT_SLIGHT only for small font sizes

(cherry picked from commit 0e1d23c807)
2023-02-14 07:07:47 +01:00
Alexey Ushakov
11122fdbd9 JRE-471 Crash on macOS Sierra after Sleep
Replaced [NSScreen screens] 'objectAtIndex' with 'firstObject' to get nil instead of NSRangeException. Added nil checks

(cherry picked from commit d6b98511262055c01522d9ec8024253af7e91564)
(cherry picked from commit cef970e1ba)
2023-02-14 07:07:47 +01:00
Alexey Ushakov
cb067d630c JRE-608 J2DBench metrics: up to 20x degradation
Increased rendering queue buffer up to 6.4 MB

(cherry picked from commit 9ef00f00a7fb6e14835393f8d3944157c6800727)
(cherry picked from commit 2a61e9e997a880a60c5acb361849205170501b91)
(cherry picked from commit 68ca9f00ded004c970b94bd047a04b9f09237047)
(cherry picked from commit 2fe5289178)
2023-02-14 07:07:46 +01:00
Alexey Ushakov
c80b44f3e2 JRE-1028 fwport(9): JRE-1008 Do not use LCD shader on macOS 10.14+ in font rendering
Disable LCD text shader on macOS 10.14+ if LCD rendering is not explicitly specified

(cherry picked from commit dffea9d701)
2023-02-14 07:07:46 +01:00
Konstantin Bulenkov
b998425799 update icons
(cherry picked from commit dfe387ff5037deda29d8d522cba6cc5370796ff4)
(cherry picked from commit de1e4a9d71)
2023-02-14 07:07:46 +01:00
Konstantin Bulenkov
3c84adf229 add workspace.xml to gitignore
(cherry picked from commit bd5b9403fdca779ecc76f0b3af2918fe772f7ed1)

(cherry picked from commit 37e7661f85)
2023-02-14 07:07:46 +01:00
Vitaly Provodin
275ee98180 Update README.md 2023-02-14 07:07:46 +01:00
Vitaly Provodin
bcde416c6f Regression test on https://bugs.openjdk.java.net/browse/JDK-8139176
(cherry picked from commit 6f1c0a6)
(cherry picked from commit 63130fd461)

add regression test on https://bugs.openjdk.java.net/browse/JDK-8139176

(cherry picked from commit 380c17456c)

(cherry picked from commit 6f1c0a6)
(cherry picked from commit 63130fd461)
2023-02-14 07:07:46 +01:00
Vitaly Provodin
f9dd2acc7c not for upstream: added disposing frames in order to provide the test with the chance on the second run
(cherry picked from commit 8170635)
(cherry picked from commit 7fc924f065)
2023-02-14 07:07:46 +01:00
Vitaly Provodin
ab03e800e1 JRE-9: added regression test
(cherry picked from commit 4ffb665)
(cherry picked from commit 00a29ad129)
2023-02-14 07:07:46 +01:00
Sergey Malenkov
7849781189 JRE-100 Scroll with inertia (Mac os) should only work in the initial component
(cherry picked from commit e79502c708)
2023-02-14 07:07:46 +01:00
Sergey Malenkov
838b092187 IDEA-161965 ignore dragged event that does not change mouse location Sierra is more sensit
(cherry picked from commit ef490fa465)
2023-02-14 07:07:46 +01:00
Stanislav Dombrovsky
52e29fbbc0 Fix rendering of HTML list dots + better vertical align for them.
(cherry picked from commit fa4a404533ba1ef638fe523adc74391aee8a3ebf)

(cherry picked from commit 9f079c66e9)
2023-02-14 07:07:46 +01:00
Dmitry Batrak
a2a2b0a3a0 JBR-3353 Sibling popup window is shown below dialog on macOS
(cherry picked from commit 4c6f3e4510)
2023-02-14 07:07:46 +01:00
Dmitry Batrak
371fb39112 JBR-3339 Window requests focus on horizontal scroll (on Linux)
(cherry picked from commit 8d74e8e30b)
2023-02-14 07:07:46 +01:00
Anton Tarasov
3a40c40cad JRE-166 [macOS] deadlock with JFXPanel
(cherry picked from commit a9dbb6990fac0c659297487a261ba9170e5fb3ad)

(cherry picked from commit 8a44e1bb37)
2023-02-14 07:07:46 +01:00
Alexey Ushakov
0643b75cef 8265445: Introduce the new client property for mac: apple.awt.windowAppearance
Implemented apple.awt.windowAppearance client property
2023-02-14 07:07:46 +01:00
Anton Tarasov
0a7fa952c2 JBR-3306 jbr-dev warnings: incompatible pointer to integer conversion returning 'void *' from a function with result type 'jlong' 2023-02-14 07:07:45 +01:00
Dmitry Batrak
cebb748c74 JBR-2498 Fix unexpected window raising under Mutter WM
re-implement the fix, so that ChildAlwaysOnTopTest isn't failing
2023-02-14 07:07:45 +01:00
Alexey Ushakov
c333f10a71 JBR-3327 [jbr-dev] Adjust mac window appearance according to AppleInterfaceStyle property
Set window appearance according to AppleInterfaceStyle default
2023-02-14 07:07:45 +01:00
Alexey Ushakov
088310d01c JRE-238 [736] java.awt.AWTError: access denied ("java.lang.RuntimePermission" "canInvokeInSystemThreadGroup")
Moved task execution on AppKit to the privileged block. Minor refactoring

(cherry picked from commit 5dbb88471115c9e4a536ae37d0e6794de9e5ac9c)
2023-02-14 07:07:45 +01:00
Alexey Ushakov
a823b328ee JRE-359 CGraphicsEnvironment.getDefaultScreenDevice() returns null
Moved CG api calls to AppKit thread

(cherry picked from commit fd0210f035199e8612097a2c1d42b90cfd2111f8)
(cherry picked from commit 5e99e376d9dfe477401121878704630c3c13f9f7)

(cherry picked from commit 6d73b25130)
2023-02-14 07:07:45 +01:00
Dmitry Batrak
f82e7263f2 JBR-2973 Copy/Move dialog not in the focus on drag-n-drop to Project Tool window from external application
(cherry picked from commit 20fe78b650)
2023-02-14 07:07:45 +01:00
Alexey Ushakov
fa834ef827 JRE-444 CPlatformWindow.nativeGetTopmostPlatformWindowUnderMouse is slow
Replaced number of CGWindowListCopyWindowInfo for each window layer with [NSWindow windowNumberAtPoint: belowWindowWithWindowNumber:]

(cherry picked from commit 2a143af4d62340acdfd9c94d876f684385febbc8)
(cherry picked from commit 6fc369e8bf)
2023-02-14 07:07:45 +01:00
Alexey Ushakov
468e704169 JRE-482 Java_sun_font_CStrike_getNativeGlyphOutline takes too much time in scrolling
Replaced glyph outlines with bounding boxes for glyph boundaries calculation for most common usages. Also, skipped unnecessary OGL flushes in OGL rendering queue

(cherry picked from commit c58dc052af48887338a38beb0c721eddca3af481)
(cherry picked from commit 7f6be7cfb907bbf1c3572b911df5690fa3039fde)
(cherry picked from commit c68913d82c0ba4b4c509179123f0a4bf7971f857)
(cherry picked from commit 9cfa04c93ad416a8177d9e7ca410850bd3ff880f)
(cherry picked from commit 0e930841704e4e98ecc0c888b144245e74218799)
(cherry picked from commit 8ffc190fbdb059d5a24842115c0bc3ade8b351b9)
(cherry picked from commit 0f7c26186a)
2023-02-14 07:07:45 +01:00
Alexey Ushakov
b5e18fdc79 JBR-3316 Reimplement CThreading functionality on top of OpenJDK17 sourcebase
Adopted CThreading related code to OpenJDK17 source base

(cherry picked from commit 5dfb30ae68b2c54d58c98a9195709c031f823581)
(cherry picked from commit 94163bd69f64616836523e81567aa1141480d841)
2023-02-14 07:07:45 +01:00
Alexey Ushakov
cd3a6a7382 JBR-3304 jbr-dev warnings: 'getPhysFontName' defined but not used [-Werror=unused-function]
Removed unused code
2023-02-14 07:07:45 +01:00
Vitaly Provodin
7ec2b7bb89 exclude javax/swing/JTabbedPane/4624207/bug4624207.java failing on windows due to 8197552 2023-02-14 07:07:45 +01:00
Alexey Ushakov
8ab74b06a0 JRE-366 Add support for Awesome WM
Added detection of Awesome WM and handled similar to Sawfish WM

(cherry picked from commit 6742077ed198975949af567e8ef543f853397351)
(cherry picked from commit 2847be73c6)
2023-02-14 07:07:45 +01:00
Alexey Ushakov
ce0cef5f17 JRE-353 Fedora 25 + XMonad rendering issues
Added support for Xmonad WM

(cherry picked from commit c690c3c7fdf1390e6b1a8d388ff752a09391ae3c)
(cherry picked from commit 6851dc3441)
2023-02-14 07:07:45 +01:00
Denis Konoplev
f85a4d5ea1 8264143: Change uint8_t to unsigned char 2023-02-14 07:07:45 +01:00
Dmitry Batrak
bccb1461cd JBR-3255 Applying 'incline' transform might change character's advance
(cherry picked from commit b37f7cfdb1)
2023-02-14 07:07:45 +01:00
Dmitry Batrak
917c6c5f72 JBR-3215 'deriveFont(float)' can return a different font (not just change the size)
(cherry picked from commit 8eafcaab24)
2023-02-14 07:07:45 +01:00
Dmitry Batrak
1cb63383b3 JBR-3157 Maximized window with custom decorations isn't focused on showing
(cherry picked from commit 62b04983f2)
2023-02-14 07:07:44 +01:00
Dmitry Batrak
58c2a2b2a6 make AwtListGarbageCollectionTest pass reliably
(cherry picked from commit 304eb7f919)
2023-02-14 07:07:44 +01:00
Dmitry Batrak
631e036589 JBR-1752 Floating windows overlap modal dialogs
(cherry picked from commit 0161050077)
2023-02-14 07:07:44 +01:00
Dmitry Batrak
4c759cad71 JBR-3054 Focus is not returned to frame after closing of second-level popup on Windows
(cherry picked from commit 0c2b6e1c04)
2023-02-14 07:07:44 +01:00
Dmitry Batrak
b3d9d51bbf JBR-2702 Tooltips display through other applications on hover
(cherry picked from commits 11732c2469, 0ed7deabaa)
2023-02-14 07:07:44 +01:00
Dmitry Batrak
d7f30094f4 added RobotSmokeTest
this test failing in jtreg launch most probably indicates either some problem with the environment (e.g. some windows left open from previously launched processes) or with java.awt.Robot implementation

(cherry picked from commit 1d525a2d2f)
2023-02-14 07:07:44 +01:00
Dmitry Batrak
4fc5ac44e2 JBR-2847 Always dispatch KEY_TYPED event to the same component as KEY_PRESSED event
also fixes JBR-2834, IDEA-254466, IDEA-254466
squashed with fixes for JBR-3291, JBR-3307, JBR-3598

(cherry picked from commits e94f6057a4, ba6b9c085e, 2ccf6b65a7, 3b0708af7d, 3674766d65)
2023-02-14 07:07:44 +01:00
Dmitry Batrak
ad213e853c JBR-2712 Typeahead mechanism doesn't work on Windows
(cherry picked from commits 1a9838082e, f5b6222835, acd7e3b2da, cd6dd5c3cf8556f97f3113cb7d615a92393b57bf(partially), e8bbd8ffdd90f57cd12d7d7e89188be97ee4be0b(partially), 37901295e1, cafb374afc, 12034dcf61)

includes fix for JBR-4974 jb/java/awt/Focus/ModalDialogFromMenuTest.java intermittently clicks at tittle bar

Pause before getting the coordinates of the component to be clicked on,
not right before the click itself.
2023-02-14 07:07:44 +01:00
Denis Konoplev
753970dcf8 8264143: Lanai: RenderPerfTest.BgrSwBlitImage has artefacts on apple M1
Add stdint include to fix x64 build
2023-02-14 07:07:44 +01:00
Dmitry Batrak
85782c8d25 JBR-2498 Fix unexpected window raising under Mutter WM
(cherry picked from commit 73b45fb899)
2023-02-14 07:07:44 +01:00
Dmitry Batrak
42d8f165e0 JBR-2248 Support text wrapping in a <pre> tag in JEditorPane
port from JBR 11 to JBR 15 (cherry picked from commit ff2e915371)

cherry picked from commit 6a30c56138
2023-02-14 07:07:44 +01:00
Dmitry Batrak
eae198ece7 JBR-2234 Support CSS setting overflow-wrap:anywhere in JEditorPane
port from JBR 11 to JBR 15 (cherry picked from commits b6583d0a71, 6003abc15f)

cherry picked from commit 93ad4f06dd

also includes JBR-4006 [JCK] javax.swing.text.html.CSS$Attribute.OVERFLOW_WRAP field breaks public API
(cherry picked from commit f20a3d8679)
and JBR-4007 [JCK] javax.swing.text.GlyphView.calcBreakSpots method breaks public API
(cherry picked from commit 1002eff4f3)
2023-02-14 07:07:44 +01:00
Dmitry Batrak
928fd9946d JBR-2050 Issue with keycap emojis
port from JBR 11 to JBR 15 (cherry picked from commit ae91e1d7f1)

cherry picked from commit d3018a1837
2023-02-14 07:07:44 +01:00
Dmitry Batrak
111107087f JBR-1714 Italic text is displayed using incorrect glyphs on Windows
port from JBR 11 to JBR 15 (cherry picked from commits 46e4cdfcbd, 9cc5cbc99b)

cherry picked from commit 6769b27e53
2023-02-14 07:07:44 +01:00
Dmitry Batrak
3a81e31c1e JBR-1689 Incorrect painting of long strings on linux
port from JBR 11 to JBR 15 (cherry picked from commits e12c1d6f0d, 0429e74e9d)

cherry picked from commit e43cfd198f
2023-02-14 07:07:44 +01:00
Dmitry Batrak
6e95214f1c JBR-1248 Exception caused by broken font
port from JBR 11 to JBR 15 (cherry picked from commit 4efa7eab3e)

cherry picked from commit 6e1c514c6c
2023-02-14 07:07:43 +01:00
Dmitry Batrak
9c570bd00c JBR-1245 [JDK 11] There are different letter spacings in some controls
port from JBR 11 to JBR 15 (cherry picked from commit a26b70568a)

cherry picked from commit e2637199e9
2023-02-14 07:07:43 +01:00
Dmitry Batrak
9804158fea JRE-927 Unexpected wrapping of bidirectional text in JEditorPane on HiDPI screens
port commit 11a5a4a2 from JBR 9

port from JBR 11 to JBR 15 (cherry picked from commit 65a5e450d5)

cherry picked from commit 47ff31ae82
2023-02-14 07:07:43 +01:00
Dmitry Batrak
b46b8db99d JRE-774 Don't paste BOM from clipboard on Mac
port commit ea9b75b3 from JBR 9

port from JBR 11 to JBR 15 (cherry picked from commit c6fed2cf58)

cherry picked from commit a5e25d1ef9
2023-02-14 07:07:43 +01:00
Dmitry Batrak
b3c768d820 JRE-847 Box drawing characters have different widths with Monospaced font on Windows
port commit 778cef18 from JBR 9

port from JBR 11 to JBR 15 (cherry picked from commit 9caaac4a5a)

cherry picked from commit eea293f4a4
2023-02-14 07:07:43 +01:00
Dmitry Batrak
346cfc609c JRE-748 Strange dots with fractional metrics turned on
port commit 82e7c82d from JBR 9

port from JBR 11 to JBR 15 (cherry picked from commit e9bd5f5dad)

cherry picked from commit e0475e9ba2
2023-02-14 07:07:43 +01:00
Dmitry Batrak
a155ee295c JRE-593 Wrong italic font rendering for Source Code Pro
port commit 1f6bd200 from JBR 9

port from JBR 11 to JBR 15 (cherry picked from commit 32ce109355)

cherry picked from commit 087ff34c2e
2023-02-14 07:07:43 +01:00
Dmitry Batrak
0cf21e39d1 JRE-430 Font fallback sometimes doesn't work in Swing text components
port commit fc8003ad from JBR 9

port from JBR 11 to JBR 15 (cherry picked from commit 5b814d6b34)

cherry picked from commits b871188f44, 0a9f16dc90, 9cc82c39d9
2023-02-14 07:07:43 +01:00
Alexey Ushakov
678ca2855f JRE-303 2017.1.1 update breaks linux fonts
Corrected rendering hints for Non-AA text rendering

(cherry picked from commit b923aa7a0729a10ea47d3438622d659fbead44c9)
(cherry picked from commit b6bdd04e41)
2023-02-14 07:07:43 +01:00
Alexey Ushakov
b91b1b9582 JRE-205 Font is wrong and without anti aliasing in 2017.1 EAP
Added property to disable bundled font config:
  java2d.font.loadFontConf=false
Do not load custom font.conf by default

Moved hints adjusting logic from code to bundled font.conf file
Applied correction only for regular fonts with platform sizes less than 12
Some fonts are not corrected at all: Consolas, Noto Sans Mono
Used family name instead of physical one in requests to Fontconfig
Removed redundant call to FcConfigBuildFonts
Added privileged access to the properties (JRE-235,JRE-235)

(cherry picked from commit 4d4c915047077ebd966b0e3be056566d56ba11a4)
(cherry picked from commit 9d6f325f72482405264852f3ee2636f5fedaeaf0)
(cherry picked from commit e7e3372bf8db539c0f6bc85db9f1093f8fa4c380)
(cherry picked from commit 3e724caed2f199be50d25d1ecb20b7819c86be2e)
(cherry picked from commit d372b35963c096a32331b05b257e26841ace5d94)
(cherry picked from commit 18a5f5de03eb107f89dca138a44b9aab2151235c)
(cherry picked from commit 9ba320efef0539f75aa93fd1b5dd80266c954d0a)
(cherry picked from commit b8c38f419972af61291953f7f452c1698f7a1624)
(cherry picked from commit debba0128e200be60adc9a339d5985590ef4e230)
(cherry picked from commit 2fa17b1bd7d6524e4b5fa4d0b3ce2bf02a8fcc78)
(cherry picked from commit 09b4f61db0d4f5beea0e16ce9136c99e2185c10b)
(cherry picked from commit 3b6782dd742f9c74a9535145db2f9f7ffaccf7c8)
(cherry picked from commit f1b68149528c13a22fa64468c130b1405bf3d081)
(cherry picked from commit db5cf5a2b9cb454630fb86783c2d58cd5446cba6)
(cherry picked from commit 32140948578bc3c2a0c5f8adb537660421efe5e7)
(cherry picked from commit b978e3d0b131ed642774c5a14a649e13f764c20b)

(cherry picked from commit c75c1ef8b2)

(cherry picked from commit a29f19e6a2)
2023-02-14 07:07:43 +01:00
Dmitry Batrak
959fab194c an option to disable native rendering for rotated text (following JRE-19)
port commit ccc1ded6 from JBR 9

port from JBR 11 to JBR 15 (cherry picked from commit 72fb9ff7c4)

cherry picked from commit a5bd092449
2023-02-14 07:07:43 +01:00
Dmitry Batrak
3100cf30f1 JRE-11 Support text rendering via DirectWrite API on Windows
port commits 7b180f8d, cccbcab4 from JBR 9

port from JBR 11 to JBR 15 (cherry picked from commit 030f15834c)

cherry picked from commit b16ee45915
2023-02-14 07:07:43 +01:00
Dmitry Batrak
f7f37d2f09 IDEA-150876 OpenJDK fonts for toolwindow names look worse than Oracles's
don't apply FreeType-returned glyph advance for rotated glyphs rendered by GDI

This seems to produce a better looking text (more evenly spaced). Fractional metrics won't be respected by this code, but we can address this later if needed.

port commits c9debd5e, ed78cd00, 4c7e1619, 7aa0429c, 7bd6c17c from JBR 9

port from JBR 11 to JBR 15 (cherry picked from commits d6b588bdab, dbc15fb84e)

cherry picked from commit 2c0d6150d0
2023-02-14 07:07:43 +01:00
Vitaly Provodin
0d417c7f22 JRE-186 added regression test (Modal dialogs (Messages) shouldn't popup IDEA when another application is active)
(cherry picked from commit 236bd38d1b)
2023-02-14 07:07:43 +01:00
Vitaly Provodin
2b74d648fc JRE-269 added regression (JLabel doesn't scale <code>text</code> HTML fragments.)
(cherry picked from commit 1f4ad38d23)
2023-02-14 07:07:43 +01:00
Alexey Ushakov
44b8919210 JRE-307 Wrong dpi reported on Wayland
(cherry picked from commit 15693661cc)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
7f7687a498 JRE-392 added regression (Tip of the day is not hidden while another modal window is shown)
(cherry picked from commit c7b0ac686f)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
8f21d3a003 JRE-394 added regression test (System getenv doesn't return env var set in JNI code)
(cherry picked from commit 3a7b3c67b0)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
e060938f89 JRE-401 added regression test (AppCode freezes during autocomplete and other operations)
(cherry picked from commit cb4453b1d1)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
584c6c7110 JRE-422 added new regression test (AWTView deliverJavaMouseEvent leaks jEvent)
(cherry picked from commit 37dc13c603)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
c4ac5bf295 JRE-430 added new regression test (Font fallback sometimes doesn't work in Swing text components)
(cherry picked from commit d04debc847)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
1be6d56107 JRE-457 added new regression test (OGLTR_DisableGlyphModeState is slow)
(cherry picked from commit 3a43f4557f)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
563191dd53 JRE-458 added new regression test (Insufficient and inconsistent permissions on some files in Linux build)
(cherry picked from commit 82adbe9c25)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
860be1b25d JRE-467 added new regression test (Wrong rendering of variation sequences)
(cherry picked from commit 0026095202)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
de9c5eea79 JRE-468 added new regression test (Idea freezes on project loading)
(cherry picked from commit 1ce8c3ce82)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
1357a4dfe9 JRE-501 added new regression test (Live resize is jerky for heavy java applications on Mac)
(cherry picked from commit c4a1277c1b)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
be853659fc JRE-638 added new regression test (enable unlimited cryptographic policy by default)
(cherry picked from commit 4a14c6f15a)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
34fe51a8e3 JRE-705 added new regression test (Z-order of child windows is broken on Mac OS)
(cherry picked from commit 82cd480619)
2023-02-14 07:07:42 +01:00
Vitaly Provodin
b9e5bbb5e7 JRE-624 CThreading isAppKit() fails to detect main app thread if it was renamed
(cherry picked from commit c8f248a936)
2023-02-14 07:07:42 +01:00
Alexey Ushakov
2174a6654f IDEA-166173 IntelliJ freezes when returning from sleep
Fixed deadlock by removing unnecessary getScreenResolution call

(cherry picked from commit cec93cf1fd)
2023-02-14 07:07:42 +01:00
Alexey Ushakov
dc90c5b60a Added missing fontconfig defines
(cherry picked from commit 2ac273a456)
2023-02-14 07:07:42 +01:00
Alexey Ushakov
d3a8a46285 JRE-43 Font.getFamily() does not work in headless mode
Removed unused code

(cherry picked from commit 5b523f049e)
2023-02-14 07:07:41 +01:00
Alexey Ushakov
642431926a JRE-43 Font.getFamily() does not work in headless mode
Bundled Droid fonts to fallback in headless mode

(cherry picked from commit 5b523f049e)
2023-02-14 07:07:41 +01:00
Alexey Ushakov
efedf5ea00 JRE-15 Greyscale text is too dark comparing with subpixel AA
Adjusted default value for greyscale text rendering in freetype

(cherry picked from commit f80497c4f0)
2023-02-14 07:07:41 +01:00
Alexey Ushakov
c0992beaa5 IDEA-155347 On Ubuntu with High DPI tooltip font is too thick when the tooltip is fading in and out
Handled missing FC_RGBA_NONE value

(cherry picked from commit 44fcbdabf8)
2023-02-14 07:07:41 +01:00
Alexey Ushakov
7d8c00849b IDEA-149882 Issue with fonts in Ubuntu 12.04
Provided fallback to default font rendering settings if libfontconfig unable to
match font pattern

(cherry picked from commit d93a5f1598)
2023-02-14 07:07:41 +01:00
Alexey Ushakov
171a6ff6c1 IDEA-151619 CLion EAP fails to start with missing symbol: FT_Library_setLcdFilter
Skip FT_Library_setLcdFilter call if the symbol is not there
Cache negative FT_Library_setLcdFilter symbol lookup result
Used RTLD_DEFAULT handler for process symbols lookup

(cherry picked from commit e6f0055704)
2023-02-14 07:07:41 +01:00
Alexey Ushakov
53c3687542 JRE-29 fontconfig lib crashes CLion on OSX
Disabled fontconfig usage on OSX

(cherry picked from commit 431e14429c)
2023-02-14 07:07:41 +01:00
Vitaly Provodin
7ac353b361 exclude tests spontaneously creating windows during test execution 2023-02-14 07:07:41 +01:00
Alexey Ushakov
50abce513a JRE-48 built-in jre renders fonts abnormally heavier (normal text looks bold) than the oracle jre
Disable FT_LOAD_TARGET_LIGHT for fonts with FC_AUTOHINT=false (this target implicitly enables  FC_AUTOHINT)
Reused setupLoadRenderFlags for all rendering cases

(cherry picked from commit f3f2667a4c)
2023-02-14 07:07:41 +01:00
Alexey Ushakov
5c9757f956 Added logging for freetypeScaler via env variable OPENJDK_LOG_FFS=yes
and for screen resolution in freetypeScaler

(cherry picked from commit 091d74a791)
2023-02-14 07:07:41 +01:00
Alexey Ushakov
9d260796c5 JRE-34 IDE Crashes During Startup
Added validation of dpi settings coming from xserver

(cherry picked from commit b1c49c3b27)
2023-02-14 07:07:41 +01:00
Anton Tarasov
4512e78aa0 JBR-2031 [mac] jcef deadlocks with a11y on start
(cherry picked from commit 4f44b37f08)
2023-02-14 07:07:41 +01:00
Alexey Ushakov
4259007a3d JRE-1083 [JDK11] Test com/sun/java/accessibility/util/8051626/Bug8051626.java fails on macOS on JB JDK11b
Wrapped SelectorPerformer invocation into privileged action

(cherry picked from commit 48e7b547ae)
2023-02-14 07:07:41 +01:00
Anton Tarasov
2b00991759 JBR-2019 provide getWindowHandle method for jcef
(cherry picked from commit 7ae706b629)
2023-02-14 07:07:41 +01:00
Anton Tarasov
f9415b3b83 Comment assertion (originally JRE-965)
The assert line crashes debug hotspot.

(cherry picked from commit a00074a86c)
2023-02-14 07:07:41 +01:00
Anton Tarasov
57a919ac0d JBR-1976 [jcef] need mouse-transparent window on Windows
(cherry picked from commit b60fac96b4)
2023-02-14 07:07:40 +01:00
Anton Tarasov
757fee57a0 JBR-1824 export NSWindow::setIgnoresMouseEvents to java internal API
(cherry picked from commit 4399dc382c)
2023-02-14 07:07:40 +01:00
Anton Tarasov
3ed462eec0 JBR-1802 com/sun/java/accessibility/util/8051626/Bug8051626.java: access denied ("java.lang.RuntimePermission" "getClassLoader")
(cherry picked from commit eae772aca9)
2023-02-14 07:07:40 +01:00
Anton Tarasov
c2c1475715 JBR-1795 Project opened from Welcome screen goes to backgound after loading
(cherry picked from commit 322526458a)
2023-02-14 07:07:40 +01:00
Anton Tarasov
9b24fbc406 JBR-1609 Jupyter Notebook eventually causes IDEA to become unresponsive on Mac OSX
(cherry picked from commit 8ae0be8eb6)
2023-02-14 07:07:40 +01:00
Anton Tarasov
b008364eb4 JBR-1786 Weird white border for IDE window
(cherry picked from commit 4b09614a0e)
2023-02-14 07:07:40 +01:00
Vyacheslav Moklev
e04157019c JBR-1552 Invalid screen bounds in full screen mode
Check is window is not in undecorated state

(cherry picked from commit 5547701e2c)
2023-02-14 07:07:40 +01:00
Vyacheslav Moklev
56ff285252 JBR-1509 Client area size is wrong in Borderless mode
Fix client area size

(cherry picked from commit 00d32e58dc)
2023-02-14 07:07:40 +01:00
Anton Tarasov
de49a789c9 JBR-1770 [windows] frame does not open as maximized
(cherry picked from commit d9dfc3c6c5)
2023-02-14 07:07:40 +01:00
Anton Tarasov
b6a5e19c44 JBR-1693 difficult to input Japanese text with "Fast" Key Repeat
(cherry picked from commit 12de3e287e)
2023-02-14 07:07:40 +01:00
Anton Tarasov
805f8ad97e JBR-1669 IDE-managed HiDPI mode is broken
(cherry picked from commit 461b0b5cd4)
2023-02-14 07:07:40 +01:00
Anton Tarasov
837c22f0c9 JBR-1650 propagate custom decoration title bar height to native
(cherry picked from commit f6fc65d014)
2023-02-14 07:07:40 +01:00
Anton Tarasov
9e2e68c967 JBR-1629 Maximized window cut at the right and bottom
(cherry picked from commit 9e768377db)
2023-02-14 07:07:40 +01:00
Anton Tarasov
11832bb5a3 JBR-1492 Not able to start Intellij Idea 2017.2.5 with modified vmoptions
(cherry picked from commit e7ca6db66b)
2023-02-14 07:07:40 +01:00
Anton Tarasov
769e65fd52 JBR-1427 pycharm jupyter preview stuck and no response when click on preview.
(cherry picked from commit 1746b04686)
2023-02-14 07:07:40 +01:00
Anton Tarasov
3fdd25986a IDEA-210154 Borderless UI: Top frame of IDEA window is blue
(cherry picked from commit 2dd4163bc4)
2023-02-14 07:07:40 +01:00
Anton Tarasov
3dae2cfb41 JBR-1351 Borderless UI: Bold frame around IDEA window appears on non-HiDPI display
(cherry picked from commit 06d35de069)
2023-02-14 07:07:39 +01:00
Anton Tarasov
9fad418eca JBR-1313 wrong insets for non-resizable custom-decorated frame
(cherry picked from commit 9179718cb6)
2023-02-14 07:07:39 +01:00
Anton Tarasov
3a1d8b259a JBR-1293 do not modify client bounds when custom-decorated frame is set undecorated
(cherry picked from commit cb188edaab)
2023-02-14 07:07:39 +01:00
Anton Tarasov
dd1544ef0f JBR-1278 allow native border and shadow for custom decoration mode
(cherry picked from commit a879ad5739)
2023-02-14 07:07:39 +01:00
Anton Tarasov
9acef5809e JRE-1232 forwardport: JRE-1228 support custom frame decoration
(cherry picked from commit d2820524a1)
2023-02-14 07:07:39 +01:00
Anton Tarasov
a85c41943a JRE-1162 [jdk11] support on-the-fly DPI change on linux
(cherry picked from commit c06c4c69d3)
2023-02-14 07:07:39 +01:00
Anton Tarasov
f27f0cf777 JRE-1142 [jdk11] hidpi is not detected since Ubuntu 18.04
(cherry picked from commit be4f8c0d9d)
2023-02-14 07:07:39 +01:00
Anton Tarasov
7a5f4aad7b JRE-1111 [JDK11] java/beans/Beans/TypoInBeanDescription.java crashes at libawt_xawt.so+0x4a30d
(cherry picked from commit b89e6aed0b)
2023-02-14 07:07:39 +01:00
Anton Tarasov
75fea91316 fix JNI_OnUnload definition
(cherry picked from the commit  3571e39071)

(cherry picked from commit 1019d8f0f2)
2023-02-14 07:07:39 +01:00
Anton Tarasov
d2b2818a54 JRE-981 IM workaround does not work anymore
forward port of 2d7c29b in JetBrains/jdk8u_jdk

(cherry picked from commit f3ccc53e02)
2023-02-14 07:07:39 +01:00
Anton Tarasov
a773b60bad JRE-938 [windows] Frame.setMaximizedBounds not hidpi-aware
(cherry picked from commit cc97899923320e1fa17f5e44975c4a0f0ba51014)
(cherry picked from commit ccfe65be7f)
2023-02-14 07:07:39 +01:00
Anton Tarasov
bea7e4b84d JRE-907 macOS: add ability to check for scaled display mode
(cherry picked from commit e496262aa1)
2023-02-14 07:07:39 +01:00
Anton Tarasov
cec89a4ded JRE-934 Diff viewer errors are not visible on HiDPI Linux
(cherry picked from commit 641a09dd52)
2023-02-14 07:07:39 +01:00
Anton Tarasov
d1d9bc8097 [jdk9] HiDPI scale is not detected on some linux desktops
(cherry picked from commit 9279d80110)
2023-02-14 07:07:39 +01:00
Anton Tarasov
f42e14d1dc JRE-681 [windows] direct drawing into frame graphics may have wrong translate
(cherry picked from commit 6ea1d45fd1)
2023-02-14 07:07:39 +01:00
Anton Tarasov
4a2a92192d Read org.gnome.desktop.interface/scaling-factor
(cherry picked from commit 277357ae73)
2023-02-14 07:07:38 +01:00
Anton Tarasov
c75ec0058f Revert "8239894: Xserver crashes when the wrong high refresh rate is used"
This code is needed for "Read org.gnome.desktop.interface/scaling-factor".
Keep it until "JDK-8260270 Implement the HiDPI scale factor reading" is fixed.

This reverts commit a7c2ebc7
2023-02-14 07:07:38 +01:00
Anton Tarasov
3898e87602 Do not scale base font in HiDPI mode on Linux
(cherry picked from commit 6fb2c36529)
2023-02-14 07:07:38 +01:00
Anton Tarasov
d14d68f751 JRE-772 swing returns incorrect FRC when AA is off
(cherry picked from commit a161897d908aa10da6306c06452c5d6317fed2f0)
(cherry picked from commit 2bf5a7ca5c)
2023-02-14 07:07:38 +01:00
Anton Tarasov
7952ed3e4a JRE-681 [windows] direct drawing into frame graphics may have wrong translate
(cherry picked from commit ab6dee4c1fc453ad3cb5adb69fc243e550d184ae)

(cherry picked from commit 6ea1d45fd1)
2023-02-14 07:07:38 +01:00
Anton Tarasov
b5eef1081d JRE-665 Navigate Class/File/Symbol, Find in Path popup windows don't pick characters from input method
(cherry picked from commit 676f305b2b3b278e305bd4d9bde4269f27b3d676)
(cherry picked from commit 6ce31e0a32)
2023-02-14 07:07:38 +01:00
Anton Tarasov
f8e892a606 JRE-616 [linux] notify when dpi correction factor is applied to fonts
(cherry picked from commit f57d41f3118bfd773c99ce32d58cfae16931be6a)
(cherry picked from commit 6246abc72f)
2023-02-14 07:07:38 +01:00
Anton Tarasov
a89c959a0e JRE-612 [windows] icon in frame title is not dpi-aware
(cherry picked from commit dec04385177a2abb677add909d3b94f94c62a14e)

(cherry picked from commit 38466cbab0)
2023-02-14 07:07:38 +01:00
Anton Tarasov
9775831bcd JRE-604 [fps] frame's client area is one pixel beneath frame's borders
Adopted.

(cherry picked from commit ef2870ee38)
2023-02-14 07:07:38 +01:00
Anton Tarasov
37ef4eb70d JRE-596 [windows] popup positioning is broken with JRE-573
Adopted: moved to AwtWindow::Reshape

(cherry picked from commit c5cc28d85d)
2023-02-14 07:07:38 +01:00
Anton Tarasov
0446bd7d66 JRE-577 Goland 18 displays out of memory
(cherry picked from commit 2daaf21e420d4af15d3b1bfeb3f896074bea1e61)

(cherry picked from commit 9ea2011948)
2023-02-14 07:07:38 +01:00
Anton Tarasov
10572e4247 JRE-573 [windows] window client area bounds mismatch
Apply only WmEraseBkgnd

(cherry picked from commit afa68f7ad6440303c6417be3f675b1c4644b6014)

(cherry picked from commit 0651b45e13)
2023-02-14 07:07:38 +01:00
Anton Tarasov
31e5b98356 JRE-382 Three AWT-tests become hanging starting since master-875
(cherry picked from commit 7d492101db8fcbb3d285fd8e9669f74b0e0fce8f)
(cherry picked from commit b965f85c1b)
2023-02-14 07:07:38 +01:00
Anton Tarasov
3fdd25fae7 JRE-373 [macos] nativeCreateNSWindow deadlocks with a11y
(cherry picked from commit 72c77a992bbf1b95b82ffc08cb2f4f3bc36b3657)

(cherry picked from commit aa09fa2c85)
2023-02-14 07:07:38 +01:00
Anton Tarasov
6db8aa8ce8 IDEA-172422 Popup at the wrong place on the second monitor (new hidpi)
Adopted: moved to AwtWindow::Reshape

(cherry picked from commit 11a0911d65)
2023-02-14 07:07:38 +01:00
Anton Tarasov
615183402e JRE-309 [windows] on-screen position of a component is not pixel-perfect in user space in JRE-HiDPI mode
Adopted: moved to AwtWindow::Reshape

(cherry picked from commit 985908cf10)
2023-02-14 07:07:38 +01:00
Anton Tarasov
91c73feede JRE-269 JLabel doesn't scale <code>text</code> HTML fragments.
(cherry picked from commit 9ef72b6c3a477e4225f9b98e30fa9190613520e4)
(cherry picked from commit c17bc728ee)
2023-02-14 07:07:37 +01:00
Anton Tarasov
078f033e21 JRE-225 [macos] IDEA hangs on attempt to call getDefaultScreenDevice() from EDT
(cherry picked from commit 76aba25)

(cherry picked from commit df11dcc97bb5556ac5d0299b773a512b4f0bb5bb)
(cherry picked from commit aeea6c1ca3)
2023-02-14 07:07:37 +01:00
Anton Tarasov
5c7596a8df JRE-210 JEditorPane may return wrong preferred size as it moves b/w monitors of different scale
(cherry picked from commit 6c3087e6bda32ae9b095e069d8bea614502f5c03)
(cherry picked from commit adb3a4be16)
2023-02-14 07:07:37 +01:00
Anton Tarasov
01992f8183 JRE-119 [suppress updateGC() for WFileDialogPeer/WPrintDialogPeer]
updateGC() is called from WWindowPeer.<init> though it's not applicable to the named dialogs
as they don't have native AwtWindow peer required for the method.

(cherry picked from commit 72ed9f653177e273b811cfe70c2dba102a8636e4)
(cherry picked from commit cec49aaa38)
2023-02-14 07:07:37 +01:00
Anton Tarasov
62de842b10 JRE-119 [use default "sun.java2d.dpiaware=true" to be dpi-aware on Window 7]
This lets awt_Win32GraphicsEnv.cpp SetProcessDPIAwareProperty() call Win7 specific ::SetProcessDPIAware() API func.

(cherry picked from commit 5e7a766090810d839f4352d06fc2812499d766f8)
(cherry picked from commit 7d1d43bfa1)
2023-02-14 07:07:37 +01:00
Anton Tarasov
f815d480bc JRE-119 [Dynamically set DPI-awareness level to enable backward compatible HiDPI behavior]
Adopted: rely on java.manifest

(cherry picked from commit d00cfa4dc62a14a4cf89df9d4c4899970c9fc9e8)

Adopted

(cherry picked from commit 60be76b725)
2023-02-14 07:07:37 +01:00
Anton Tarasov
0ec397f6f1 JRE-119 [ask if ui scale is enabled natively]
(cherry picked from commit 801f45875fd8699edcbda5896210cec191062261)
(cherry picked from commit 20edebdefa)
2023-02-14 07:07:37 +01:00
Anton Tarasov
9a202b2e1c IDEA-153474 let JDK detect Xft.dpi value on non-GTK Linux DEs
Use the GTK method:

https://developer.gnome.org/gobject/stable/gobject-The-Base-Object-Type.html#g-object-get

to retrieve "gtk-xft-dpi" integer property of the X settings.

Add the property to JDK's GtkEngine & gtk2-interface.
Then read the property via GtkEngine from GTK LaF when "gnome.Xft/dpi" is undefined. It's assumed GTK LaF is forcedly installed.

(cherry picked from commit e05fc391ae0a3cc389e836441f882c0cf6ab3b99)
(cherry picked from commit fd615a5b45)
2023-02-14 07:07:37 +01:00
Anton Tarasov
e1f19272c5 IDEA-148854: AppCode crashes randomly every 15 mins or so
(cherry picked from commit 02f9a5fbb4924ff67c8a04c15e490acfcc750003)
(cherry picked from commit b8f4b4a9ed)
2023-02-14 07:07:37 +01:00
Vitaly Provodin
c1e67e29d6 updated JTreg exclude list 2023-02-14 07:07:37 +01:00
Alexey Ushakov
50402131a9 IDEA-57233, IDEA-152816, IDEA-152454 Editor font antialising/appearance problems on Linux
Used desktop DPI instead of hard-coded 72
Compensated increased glyph bitmap size by adjusting font size
Added LCD filter for sub-pixel rendering
Use fontconfig library to provide right rendering options for fonts
Corrected sizes passed to fontconfig library and hinting disabling policy
Added logging and versioned fontconfig lib loading
Resolved font rendering problem in lenses
fix text rendering issues (text cutoff and incorrect rendering in editor fragment components)
FcMatchFont-type pattern substitutions shouldn't be invoked before specific font is selected - it can apply unrelated rules
port commit e21cd635 from JBR 9
partially rollback JBR-363 fix, to apply corresponding change from OpenJDK 12

(cherry picked from commit 5d704a963b)
(cherry picked from commit 3d7ac30072)
(cherry picked from commit 0456745afb)
(cherry picked from commit 3d7ac30072)
(cherry picked from commit 4c8351fecf)
(cherry picked from commit 5faebc73d5)
(cherry picked from commit d1ed8ab118)
2023-02-14 07:07:37 +01:00
Vitaly Provodin
545ee91111 JBR-3398 remove the Experimental AOT and JIT Compiler (JEP 410) 2023-02-14 07:07:37 +01:00
Alexey Ushakov
28f4510269 JBR-2807: JDK15: update modules.list to resolve jbr build failure
removed nashorn modules
2023-02-14 07:07:37 +01:00
Vitaly Provodin
7b0ac769b6 JBR-2130 remove module jdk.pack 2023-02-14 07:07:37 +01:00
Vitaly Provodin
582319c511 JBR-4810 add VERSION_PATCH into version number string 2023-02-14 07:07:37 +01:00
Vitaly Provodin
4e3430b622 JBR-4754 make root directory with the same name as archive name 2023-02-14 07:07:36 +01:00
Nikita Provotorov
4b9962ef00 JBR-2074 Windows 10 AArch64 support: make the build scripts use custom build-jdk. 2023-02-14 07:07:36 +01:00
Nikita Provotorov
791162005b JBR-2074 Windows 10 AArch64 support: build fixes. 2023-02-14 07:07:36 +01:00
Vitaly Provodin
35d3a0b269 JBR-4567 replace comma with point in RenderPerf scores 2023-02-14 07:07:36 +01:00
Vitaly Provodin
8faad0afa3 JBR-4520 set file permissions after signing 2023-02-14 07:07:36 +01:00
Vitaly Provodin
606f46a2eb JBR-4512 windows: include pdb-files into jbrsdk 2023-02-14 07:07:36 +01:00
Vitaly Provodin
e7613cb063 JBR-4087 add version info into the name of root directory in JBR tar.gz-distributions 2023-02-14 07:07:36 +01:00
Vitaly Provodin
aeb63c59fb JBR-4511 remove --disable options from configure mac-aarch64 builds & unify configure for x64 and aarch64 2023-02-14 07:07:36 +01:00
Maxim Kartashev
36dc653bf4 JBR-4064 Windows: update build scripts to produce more deterministic output
Passed the configure script options necessary to enable reproducible builds
on Windows. With this options, the resulting jars are reproducible, but
native executables and libraries aren't.
2023-02-14 07:07:36 +01:00
Vladislav Rassokhin
527fc9b40b JBR-4451 Make bash scripts safer 2023-02-14 07:07:36 +01:00
Vitaly Provodin
a0fa3f15ea JBR-4487 enable Linux 32 builds 2023-02-14 07:07:36 +01:00
Vitaly Provodin
7cbe4a91b8 JBR-4458 enable JBR17 windows 32 bit builds 2023-02-14 07:07:36 +01:00
Vitaly Provodin
5687c21a9c JBR-4272 generate and save debug symbols for JBR on macos/linux 2023-02-14 07:07:36 +01:00
Vitaly Provodin
65aa144ffd JBR-4053 integrate DCEVM patches as usual commits 2023-02-14 07:07:36 +01:00
Vitaly Provodin
8f3138f3c0 JBR-4370 create a test checking all JBR artifacts exist - add exit code 2023-02-14 07:07:36 +01:00
Nikita Provotorov
f7707515b5 JBR-2074 Windows 10 AArch64 support: add build and pack scripts. 2023-02-14 07:07:35 +01:00
Vladimir Kempik
3d3f301793 JBR-4452: Update crash report message with JBR youtrack link
instead of bugreport.java.com
2023-02-14 07:07:35 +01:00
Vitaly Provodin
5c7c51b637 JBR-4437 add sources to JBRSDK distributions for Windows and Linux 2023-02-14 07:07:35 +01:00
Vitaly Provodin
51fd83d23e JBR-4437 add sources to JBRSDK distributions 2023-02-14 07:07:35 +01:00
Anton Tarasov
9bfece0b2a JBR-3906 JBR for Linux aarch64 with JCEF is missing, is there any support plan? 2023-02-14 07:07:35 +01:00
Vitaly Provodin
41a45cc8d6 JBR-4188 add script comparing performance results
add exec permissions && fix misprint in checking if headers exist

move the script comparing performance results from jdk8u_test
2023-02-14 07:07:35 +01:00
Vladimir Kempik
99dd9a5949 JBR-4283: Provide native JBR builds for alpine Linux-aarch64 2023-02-14 07:07:35 +01:00
Vladimir Kempik
0f3711b809 JBR-4242:Provide native JBR builds for alpine Linux 2023-02-14 07:07:35 +01:00
Maxim Kartashev
369b19bde0 JBR-3917 Problem using windows certificate store (trustStoreType=Windows-ROOT not recognized) 2023-02-14 07:07:35 +01:00
Maxim Kartashev
8abd2ed47c JBR-4145 Make builds independent from build directory
Supplied the --disable-absolute-path-in-output option to the configure script
when building JBR.
2023-02-14 07:07:35 +01:00
Vitaly Provodin
516cb7d31c JBR-4154 extract version info from sources & JBR-4099 make test-image on jbrsdk_jcef step 2023-02-14 07:07:35 +01:00
Vitaly Provodin
f8bf387e9b JBR-4067 fix misprint with applying obsolete exclude_jcef_module.patch 2023-02-14 07:07:35 +01:00
Vitaly Provodin
5c3b592b05 JBR-3756 remove JNF from mac-aarch64 binaries 2023-02-14 07:07:35 +01:00
Vitaly Provodin
d0c1c5bcc0 JBR-4082 create JBR & JBRSDK installer packages 2023-02-14 07:07:35 +01:00
Maxim Kartashev
37c2476a4d JBR-4061 Specify build user for the build 2023-02-14 07:07:35 +01:00
Maxim Kartashev
11070e0289 JBR-4063 macOS: update build scripts to produce more deterministic output
Make mkimages.sh produce more deterministic .tar.gz archives on MacOS.
NB: build notarization is not in the scope of this change.

(cherry picked from commit e1a1b6814d)
2023-02-14 07:07:35 +01:00
Maxim Kartashev
040c87c4ae JBR-4033 Linux: update build scripts to produce more deterministic output
This commits achieves almost the same build output with the same build
input on Linux. Exceptions are:
- class files timestamps differ in jrt-fs.jar (for all output),
- class files timestamps differ in all the jmod files (for
  jbrsdk...tar.gz).
NB: jbrsdk...test...tar.gz does not need to be deterministic.

This was achieved mainly by
- setting several environment variables (SOURCE_DATE_EPOCH, TZ),
- providing the necessary options to the configure script,
- setting the timestamp of all files that make up the resulting
  archive to SORUCE_DATE_EPOCH and normalizing the list of said
  files before archiving.

(cherry picked from commit ffded82734)
2023-02-14 07:07:34 +01:00
Maxim Kartashev
6ed50760f4 JBR-4059 Create Dockerfile for building on AArch64 Linux 2023-02-14 07:07:34 +01:00
Vitaly Provodin
b43144509c JBR-3905 add incremental JBR building 2023-02-14 07:07:34 +01:00
Vitaly Provodin
fd10df7a42 JBR-3904 fix the image directory name of macos builds 2023-02-14 07:07:34 +01:00
Vitaly Provodin
06c05f6dd4 configure BOOT_JDK to use JDK 17 2023-02-14 07:07:34 +01:00
Anton Tarasov
0cf940b755 JBR-3655 jbr-dev build fails to find jcef modules on Windows 2023-02-14 07:07:34 +01:00
Maxim Kartashev
2c7c6722a7 JBR-3645 Tool to support keeping JBR in sync with OpenJDK 2023-02-14 07:07:34 +01:00
Vitaly Provodin
d6d16ae820 JBR-3639 add jbrsdk tarballs for dcevm, jcef builds 2023-02-14 07:07:34 +01:00
Anton Tarasov
3ddb181145 JBR-3627 include jmods in jbrsdk bundle for jbr-dev 2023-02-14 07:07:34 +01:00
Vitaly.Provodin
2a01f1d547 add dockerfile for x86
(cherry picked from commit 8fb2341ea8)
2023-02-14 07:07:34 +01:00
Vitaly Provodin
2854d3461b JBR-1505 add jdk.jcmd module into JBR
(cherry picked from commit c40b9c8b9e)
2023-02-14 07:07:34 +01:00
Vitaly Provodin
07486edbd9 JBR-2957 notarize JBR and JBRSDK as APPL
(cherry picked from commit 0e7f9ce4ca)
2023-02-14 07:07:34 +01:00
Vitaly Provodin
2523774c7f JBR-667 add shenandoahgc feature
(cherry picked from commit e15dad04)
2023-02-14 07:07:34 +01:00
Vitaly Provodin
613a30f5de configure BOOT_JDK to use JDK 16 2023-02-14 07:07:34 +01:00
Anton Tarasov
e2e671f651 Add build.gradle 2023-02-14 07:07:34 +01:00
Vitaly Provodin
f0be42539a JBR-3401 enable macos-aarhc64 builds 2023-02-14 07:07:34 +01:00
Vitaly Provodin
559bdf5df5 JBR-3305 remove the option --disable-warnings-as-errors from configure 2023-02-14 07:07:33 +01:00
Vitaly Provodin
10c89b7908 JBR-2922 add JCEF to jbrsdk binaries
& fix a misprint in get_mods_list

JBR-2922 add JCEF to jbrsdk binaries

& fix a misprint in get_mods_list
2023-02-14 07:07:33 +01:00
Vitaly Provodin
861a1b5357 JBR-2912 add JBR 15 builds with DCEVM 2023-02-14 07:07:33 +01:00
Vitaly Provodin
c2ff68d6f9 JBR-2864 initial commit of DCEVM patches reworked for 15 2023-02-14 07:07:33 +01:00
Vitaly Provodin
382a015b4e JBR-2812 remove --with-import-modules from configure for aarch64 2023-02-14 07:07:33 +01:00
Anton Tarasov
4288f1c60c JBR-2812 bundle jcef in jmod format instead of modular-sdk
Build test-image with non-jcef build target
2023-02-14 07:07:33 +01:00
Vitaly Provodin
a71c536d96 JBR-2787 fix copying jcef files into jbr/jbrsdk binaries 2023-02-14 07:07:33 +01:00
Vitaly Provodin
3814ccbd15 JBR-2758 refactor building scripts to apply patches adding required modules instead of excluding
Add jogl and gluegen modules to support jcef osr mode
2023-02-14 07:07:33 +01:00
Anton Tarasov
f8723a9a75 JBR-2016 add jcef module and export packages to it
(cherry picked from commit cf997f71c6)
2023-02-14 07:07:33 +01:00
Vitaly Provodin
fa7361d39e JBR-2473 modify building scripts to add dcevm clauses, add git config to docker image
(cherry picked from commit 2620c62848)
2023-02-14 07:07:33 +01:00
Vitaly Provodin
bbb6add6f1 JBR-2395 eliminate JavaFX from JBR 2023-02-14 07:07:33 +01:00
Vitaly Provodin
f89bd6d5a8 JBR-2409 fix prameters for configure 2023-02-14 07:07:33 +01:00
Vitaly Provodin
2c776eda5a JDK14: exclude dependencies on jcef in x86, fastdebug builds 2023-02-14 07:07:33 +01:00
Vitaly Provodin
2e9dad5134 JBR-2396 fix CONF names 2023-02-14 07:07:33 +01:00
Vitaly Provodin
cbb107e408 JBR-2394 replace --disable-debug-symbols with --with-native-debug-symbols=none 2023-02-14 07:07:33 +01:00
Vitaly Provodin
b51ac56843 add exec permitions to configure 2023-02-14 07:07:32 +01:00
Vitaly Provodin
c98e982848 split checkout before building JBR+JFX or JBR+JCEF on two separate commands 2023-02-14 07:07:32 +01:00
Vitaly Provodin
0d161d8082 change BOOT_JDK, fix target names 2023-02-14 07:07:32 +01:00
Vitaly Provodin
d7e44bec96 JBR-2291 add vendor info into bundles 2023-02-14 07:07:32 +01:00
Vitaly Provodin
8e7c60b244 JBR-2324 address new layout in mac jcef 80.0.4+g74f7b0c+chromium-80.0.3987.122 2023-02-14 07:07:32 +01:00
Vitaly Provodin
9b6525b27c JBR-2320 add jdk.attach module into JBR 2023-02-14 07:07:32 +01:00
Vitaly Provodin
6821af9434 JBR-2217 provide JCEF-only (no JavaFX) bundle for master/202 branches 2023-02-14 07:07:32 +01:00
Vitaly Provodin
87e1a90471 JBR-2212 add scripts for linux_x86, linux_aarch64, linux_x64_fastdebug, osx_fastdebug, windows_x86 2023-02-14 07:07:32 +01:00
Vitaly Provodin
cd9207c6e1 JBR-1643 fix intermittent fialures of Windows builds at make/Init.gmk:304
combine images and test-image into one make invocation
2023-02-14 07:07:32 +01:00
Vitaly Provodin
fa80fefde4 JBR-2181 create two separate JBR bundles with JFX and JFX+JCEF 2023-02-14 07:07:32 +01:00
Vitaly Provodin
0418b00c87 JBR-2148 modify signapp&build scripts to match to the new layout 2023-02-14 07:07:32 +01:00
Vitaly Provodin
cd608be571 JBR-2084 modify scripts to sign Contents/MacOS/libjli.dylib as a a normal file 2023-02-14 07:07:32 +01:00
Vitaly Provodin
9f7c725cdf JBR-1821 notarize JBR bundles as a standalone app 2023-02-14 07:07:32 +01:00
Vitaly Provodin
96dfcfad9b JBR-2162 move building scripts from TC to JBR repo 2023-02-14 07:07:32 +01:00
Anton Tarasov
c4ab7e794c JBR-2016 add jcef module and export some sun.* packages to it 2023-02-14 07:07:32 +01:00
Vitaly Provodin
f3fa2cbbcf JBR-2014 add jdk.hotspot.agent module to jbr 2023-02-14 07:07:31 +01:00
Vitaly Provodin
2ec77997f6 JBR-1286 add jdk.compiler into JBR 2023-02-14 07:07:31 +01:00
Vitaly Provodin
41bbbff014 JBR-1199 add JBR modules list for jlink 2023-02-14 07:07:31 +01:00
Vitaly Provodin
384fd98545 Update docker script to create jdk15 build env 2023-02-14 07:07:31 +01:00
Vitaly Provodin
85d69cd0b9 JBR-3045 add pressing ESC to close the dialog after test completion
(cherry picked from commit 44d8b28b0b)
2023-02-14 07:07:31 +01:00
Vitaly Provodin
9b5e991466 JBR-3040 press the button END at the beggining in order to avoid text selection
(cherry picked from commit 1c2bf33db2)
2023-02-14 07:07:31 +01:00
Vitaly.Provodin
934fdf4cba updated JTreg exclude list 2023-02-14 07:07:31 +01:00
Tagir F. Valeev
94e7cc8587 8301226: Add clamp() methods to java.lang.Math and to StrictMath
Reviewed-by: qamai, darcy
2023-02-14 05:39:07 +00:00
Serguei Spitsyn
13b1ebba27 8298853: JvmtiVTMSTransitionDisabler should support disabling one virtual thread transitions
Reviewed-by: pchilanomate, lmesnik
2023-02-14 01:28:42 +00:00
Coleen Phillimore
abbeb7e4d2 8302108: Clean up placeholder supername code
Reviewed-by: dholmes, iklam
2023-02-13 20:57:01 +00:00
Amit Kumar
d503c66400 8302155: [AIX] NUM_LCPU is not required variable
Reviewed-by: tsteele, ihse
2023-02-13 19:01:05 +00:00
Gerard Ziemski
c37e9d1c8d 8298293: NMT: os::realloc() should verify that flags do not change between reallocations
Reviewed-by: dholmes, stuefe, iklam
2023-02-13 18:14:31 +00:00
Amit Kumar
101db262e1 8301697: [s390] Optimized-build is broken
Reviewed-by: tsteele, lucy
2023-02-13 16:14:33 +00:00
Erik Österlund
f4d4fa500c 8300255: Introduce interface for GC oop verification in the assembler
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Co-authored-by: Yadong Wang <yadongwang@openjdk.org>
Reviewed-by: fyang, aboldtch, coleenp
2023-02-13 15:50:54 +00:00
Gui Cao
99b6c0eb48 8302289: RISC-V: Use bgez instruction in arraycopy_simple_check when possible
Reviewed-by: fyang, dzhang, luhenry
2023-02-13 15:39:08 +00:00
Richard Reingruber
57aef85734 8301838: PPC: continuation yield intrinsic: exception check not needed if yield succeeded
Reviewed-by: lucy, goetz
2023-02-13 13:33:06 +00:00
sunguoyun
df93880efd 8301942: java/net/httpclient/DigestEchoClientSSL.java fail with -Xcomp
Reviewed-by: dfuchs
2023-02-13 12:50:28 +00:00
Albert Mingkun Yang
0025764ec0 8040793: vmTestbase/nsk/monitoring/stress/lowmem fails on calling isCollectionUsageThresholdExceeded()
Reviewed-by: iwalulya, tschatzl
2023-02-13 11:28:40 +00:00
Claes Redestad
1f9c110c1f 8301958: Reduce Arrays.copyOf/-Range overheads
Reviewed-by: alanb, smarks
2023-02-13 11:17:38 +00:00
Varada M
cb8107303e 8300139: [AIX] Use pthreads to avoid JNI_createVM call from primordial thread
Reviewed-by: dholmes, stuefe
2023-02-13 11:12:36 +00:00
Stuart Monteith
bbd8ae7820 8294194: [AArch64] Create intrinsics compress and expand
Reviewed-by: xgong, adinn, haosun, aph
2023-02-13 11:07:11 +00:00
Johan Sjölen
4e327db1d1 8301499: Replace NULL with nullptr in cpu/zero
Reviewed-by: dholmes, rehn
2023-02-13 09:25:09 +00:00
Prasanta Sadhukhan
0458d3825c 6513512: MetalLookAndFeel.initClassDefaults does not install an entry for MetalMenuBarUI
Reviewed-by: serb, aivanov
2023-02-13 08:59:19 +00:00
Conor Cleary
f4b140b420 8296410: HttpClient throws java.io.IOException: no statuscode in response for HTTP2
Reviewed-by: dfuchs, jpai
2023-02-13 08:34:45 +00:00
Emanuel Peter
5d39d14522 8299970: Speed up compiler/arraycopy/TestArrayCopyConjoint.java
Reviewed-by: chagedorn, kvn, thartmann
2023-02-13 08:13:13 +00:00
Tobias Hartmann
d1c87a03ad 8302203: IR framework should detect non-compilable test methods early
Reviewed-by: chagedorn, kvn
2023-02-13 06:23:24 +00:00
Dingli Zhang
1fec6b5953 8301852: RISC-V: Optimize class atomic when order is memory_order_relaxed
Reviewed-by: fyang
2023-02-13 02:02:40 +00:00
Feilong Jiang
7c233bc1c8 8302114: RISC-V: Several foreign jtreg tests fail with debug build after JDK-8301818
Reviewed-by: fyang, gcao
2023-02-13 02:01:25 +00:00
Joe Darcy
8049e59a5c 8301833: Add wide-ranging tests for FDLIBM porting
Reviewed-by: bpb, alanb
2023-02-12 17:45:55 +00:00
Joe Wang
6a44120a16 8301269: Update Commons BCEL to Version 6.7.0
Reviewed-by: lancea
2023-02-11 22:33:13 +00:00
sunguoyun
6f9f2b5d37 8301737: java/rmi/server/UnicastRemoteObject/serialFilter/FilterUROTest.java fail with -Xcomp
Reviewed-by: rriggs
2023-02-11 16:53:59 +00:00
Doug Simon
1ef9f6507b 8302172: [JVMCI] HotSpotResolvedJavaMethodImpl.canBeInlined must respect ForceInline
Reviewed-by: dlong
2023-02-11 15:38:59 +00:00
Alan Bateman
74b167b23d 8301819: Enable continuations code by default
Reviewed-by: kvn, dholmes, dcubed
2023-02-11 06:20:45 +00:00
Joe Darcy
919a6da2a7 8301202: Port fdlibm log to Java
Reviewed-by: bpb
2023-02-11 02:15:46 +00:00
Jim Laskey
98e98e9049 8296322: javac: use methods to manage parser mode flags
Reviewed-by: mcimadamore
2023-02-11 00:24:24 +00:00
Brian Burkhalter
84e47996e8 8297292: java/nio/channels/FileChannel/FileExtensionAndMap.java is too slow
Reviewed-by: jpai
2023-02-10 19:44:00 +00:00
Brian Burkhalter
57798dd439 6595142: (spec) ByteArrayInputStream treats bytes, not characters
Reviewed-by: alanb
2023-02-10 19:43:30 +00:00
Chris Plummer
880f52fda0 8301638: A number of nsk/jdi invokemethod tests should be converted to create virtual threads
Reviewed-by: lmesnik, amenkov, sspitsyn
2023-02-10 19:29:34 +00:00
Roman Kennke
db1b48ef3b 8302167: Avoid allocating register in fast_lock()
Reviewed-by: kvn, kdnilsen
2023-02-10 18:12:43 +00:00
Coleen Phillimore
582b943439 8278965: crash in SymbolTable::do_lookup
Reviewed-by: dholmes, fparain, iklam
2023-02-10 18:00:19 +00:00
Johan Sjölen
4539899c55 8301480: Replace NULL with nullptr in os/posix
Reviewed-by: coleenp, dholmes
2023-02-10 14:02:20 +00:00
Johan Sjölen
1428db798c 8301224: Replace NULL with nullptr in share/gc/shared/
Reviewed-by: stefank, kbarrett
2023-02-10 14:01:30 +00:00
Per Minborg
c25b4f4619 8301578: Perform output outside synchronization in Module.class
Reviewed-by: alanb
2023-02-10 13:46:46 +00:00
Matthijs Bijman
5830c03e53 8302004: InlineTree should consult replay file in release build
Reviewed-by: phh, xliu
2023-02-10 13:38:42 +00:00
Johan Sjölen
c8ace482ed 8301072: Replace NULL with nullptr in share/oops/
Reviewed-by: stefank, coleenp, dholmes
2023-02-10 09:57:59 +00:00
Kevin Walls
1c7b09bc23 8302069: javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java update
Reviewed-by: cjplummer, amenkov
2023-02-10 08:32:39 +00:00
Thomas Schatzl
837d4644a7 8302125: Make G1 full gc abort the VM after failing VerifyDuringGC verification
Reviewed-by: ayang, iwalulya
2023-02-10 08:28:49 +00:00
Ramkumar Sunderbabu
723433dbeb 8302117: IgnoreUnrecognizedVMOptions flag causes failure in ArchiveHeapTestClass
Reviewed-by: dholmes
2023-02-10 05:58:12 +00:00
Xiaohong Gong
e245620f6f 8293198: [vectorapi] Improve the implementation of VectorMask.indexInRange()
Reviewed-by: jbhateja, qamai, psandoz
2023-02-10 01:32:05 +00:00
Kevin Driver
b814cfc39d 8178806: Better exception logging in crypto code
Reviewed-by: valeriep
2023-02-09 22:31:00 +00:00
Rajan Halade
8c87a67419 8245654: Add Certigna Root CA
Reviewed-by: mullan
2023-02-09 20:48:37 +00:00
Coleen Phillimore
97d0c8720d 8302109: Trivial fixes to btree tests
Reviewed-by: lmesnik
2023-02-09 20:42:17 +00:00
Thomas Schatzl
0aeebee284 8301988: VerifyLiveClosure::verify_liveness asserts on bad pointers outside heap
Reviewed-by: dholmes, ayang
2023-02-09 20:09:13 +00:00
Alex Menkov
48155662af 8228604: StackMapFrames are missing from redefined class bytes of retransformed classes
Reviewed-by: cjplummer, sspitsyn
2023-02-09 19:37:32 +00:00
Sergey Bylokhov
5147969253 8272288: Funky multiresolution image breaks graphics context
Reviewed-by: jdv
2023-02-09 19:22:51 +00:00
Robbin Ehn
77ead449e4 8302066: Counter _number_of_nmethods_with_dependencies should be atomic.
Reviewed-by: thartmann, kvn
2023-02-09 18:39:45 +00:00
Chris Plummer
f4b72df428 8282379: [LOOM] vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod011 sometimes fails
Reviewed-by: dholmes, sspitsyn
2023-02-09 18:25:04 +00:00
Matthew Donovan
7fd440d97c 8298868: Update EngineCloseOnAlert.java for changes to TLS implementation
Reviewed-by: rhalade
2023-02-09 18:21:38 +00:00
Sean Mullan
7901f459dc 8301260: Add system property to toggle XML Signature secure validation mode
Reviewed-by: weijun, coffeys
2023-02-09 18:18:21 +00:00
SWinxy
597a9a4852 8301822: BasicLookAndFeel does not need to check for null after checking for type
Reviewed-by: serb
2023-02-09 17:46:35 +00:00
Aggelos Biboudis
3b05a94c36 8301858: Verification error when compiling switch with record patterns
Reviewed-by: vromero
2023-02-09 16:03:34 +00:00
Darragh Clarke
e4d1cff659 8300268: ServerImpl allows too many idle connections when using sun.net.httpserver.maxIdleConnections
Reviewed-by: dfuchs, vtewari, michaelm, jpai
2023-02-09 12:27:57 +00:00
Jesper Wilhelmsson
af8973dc50 Merge 2023-02-09 11:59:08 +00:00
Thomas Schatzl
2caa56a66b 8301843: Remove dummy region allocation
Reviewed-by: ayang, lkorinth, ysr
2023-02-09 10:48:14 +00:00
Albert Mingkun Yang
d401982087 8302121: Parallel: Remove unused arg in PSCardTable::inline_write_ref_field_gc
Reviewed-by: tschatzl
2023-02-09 10:37:48 +00:00
Varada M
916374d766 8302067: [AIX] AIX build error on os_aix_ppc.cpp
Reviewed-by: dholmes
2023-02-09 09:47:34 +00:00
Varada M
a4039e30e8 8302043: [AIX] Safefetch fails for bad_addressN and bad_address32
Reviewed-by: stuefe, dholmes
2023-02-09 09:36:40 +00:00
Kevin Walls
04f30185e9 8299739: HashedPasswordFileTest.java and ExceptionTest.java can fail with java.lang.NullPointerException
Reviewed-by: sspitsyn, amenkov, cjplummer
2023-02-09 09:30:44 +00:00
Thomas Schatzl
83e2db6ba3 8301116: Parallelize TLAB resizing in G1
Reviewed-by: ayang, iwalulya
2023-02-09 09:17:06 +00:00
Yasumasa Suenaga
c72f951529 8301853: C4819 warnings were reported in HotSpot on Windows
Reviewed-by: dholmes, ihse
2023-02-09 06:50:00 +00:00
Chihiro Ito
36478ee13f 8288783: Error messages are confusing when options conflict in -XX:StartFlightRecording
Reviewed-by: egahlin
2023-02-09 03:44:01 +00:00
Julian Waters
70f3150166 8301443: Clean broken comments from Windows code
Reviewed-by: aivanov
2023-02-09 03:19:42 +00:00
Harshitha Onkar
5561c397c5 8294484: MetalBorder's FrameBorder & DialogBorder have border rendering issues when scaled
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: aivanov, kizune
2023-02-09 00:44:58 +00:00
Mandy Chung
c8cc7b67db 8301704: Shorten the number of GCs in UnloadingTest.java to verify a class loader not being unloaded
Reviewed-by: rriggs
2023-02-09 00:38:08 +00:00
Ioi Lam
dc6d52cea5 8301876: Crash in DumpTimeClassInfo::add_verification_constraint
Reviewed-by: ccheung, matsaave
2023-02-09 00:30:07 +00:00
Alexander Zuev
e81f20b504 8301989: new javax.swing.text.DefaultCaret().setBlinkRate(N) results in NPE
Reviewed-by: dnguyen, honkar, prr
2023-02-08 23:55:58 +00:00
Roger Riggs
6f460e4885 8301863: ObjectInputFilter example incorrectly calls rejectUndecidedClass
Reviewed-by: lancea
2023-02-08 22:09:22 +00:00
Jonathan Gibbons
873558ee80 8300914: Allow @ as an escape in documentation comments
Reviewed-by: prappo
2023-02-08 21:57:22 +00:00
Erik Joelsson
8a9e383dba 8301717: Remove obsolete jib profiles
Reviewed-by: dholmes, ihse
2023-02-08 21:52:30 +00:00
Sergey Bylokhov
631a2790e5 8301567: The test/jdk/java/awt/AppContext/ApplicationThreadsStop/java.policy is unused
Reviewed-by: aivanov
2023-02-08 19:55:12 +00:00
Brian Burkhalter
638d612c6b 8298478: (fs) Path.of should allow input to include long path prefix
Reviewed-by: alanb
2023-02-08 19:20:39 +00:00
Mandy Chung
10dd98d0dd 8301462: Convert Permission files to use lambda after JDK-8076596
Reviewed-by: jpai, dfuchs, mullan
2023-02-08 19:06:41 +00:00
Albert Mingkun Yang
8d4c76ddce 8302072: Parallel: Remove unimplemented ParCompactionManager::stack_push
Reviewed-by: tschatzl
2023-02-08 17:20:58 +00:00
Alan Bateman
ecf21a9a24 8301767: Convert virtual thread tests to JUnit
Reviewed-by: cstein, lancea, jpai
2023-02-08 14:56:28 +00:00
Andrey Turbanov
9af2ea203d 8301828: Avoid unnecessary array fill after creation in javax.swing.text
Reviewed-by: prr, serb
2023-02-08 14:29:21 +00:00
Albert Mingkun Yang
3db352d003 8302047: G1: Remove unused G1RegionToSpaceMapper::_region_granularity
Reviewed-by: tschatzl
2023-02-08 13:23:37 +00:00
Markus Grönlund
c92a7deba5 8301380: jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java
Reviewed-by: dholmes, egahlin
2023-02-08 10:26:40 +00:00
Julian Waters
0f08785c01 8301756: Missed constructor from 8301659
Reviewed-by: aivanov
2023-02-08 09:10:21 +00:00
Albert Mingkun Yang
4de2d3c3b6 8301862: G1: Remove G1PageBasedVirtualSpace::_executable
Reviewed-by: tschatzl, lkorinth
2023-02-08 08:12:01 +00:00
Daniel Jeliński
e628fd5c39 8301214: Adjust handshakeTimeout value in test HandshakeTimeout.java after 8189338
Reviewed-by: msheppar, vtewari
2023-02-08 08:01:43 +00:00
Emanuel Peter
ac7119f0d5 8280126: C2: detect and remove dead irreducible loops
Reviewed-by: kvn, chagedorn, thartmann
2023-02-08 07:45:09 +00:00
Alisen Chung
2a579ab839 8292588: [macos] Multiscreen/MultiScreenLocationTest/MultiScreenLocationTest.java: Robot.mouseMove test failed on Screen #0
Reviewed-by: dnguyen, jdv
2023-02-07 20:28:52 +00:00
Calvin Cheung
53f72edcf6 8286510: Tests under dynamicArchive/methodHandles should check for loading of lambda proxy classes
Reviewed-by: iklam
2023-02-07 18:48:57 +00:00
Jonathan Gibbons
74485a3f23 8301810: Bug in doctree DocCommentTester.compress
Reviewed-by: prappo
2023-02-07 18:48:02 +00:00
Justin King
27126157d9 8298445: Add LeakSanitizer support in HotSpot
Reviewed-by: erikj, ihse
2023-02-07 17:41:25 +00:00
Mark Powers
2e2e71e1fa 8300416: java.security.MessageDigestSpi clone can result in thread-unsafe clones
Reviewed-by: mullan
2023-02-07 17:40:22 +00:00
Vicente Romero
a73d012c72 8295019: Cannot call a method with a parameter of a local class declared in a lambda
Reviewed-by: mcimadamore
2023-02-07 16:23:52 +00:00
Afshin Zafari
4fe99da74f 8151413: os::allocation_granularity/page_size and friends return signed values
Reviewed-by: stefank, ccheung, ysr
2023-02-07 14:08:01 +00:00
Darragh Clarke
09b8a19597 8300177: URISyntaxException fields can be final
Reviewed-by: dfuchs, alanb, jpai
2023-02-07 12:34:29 +00:00
Kevin Walls
c61a38212e 8296646: com/sun/jdi/JdbLastErrorTest.java test failure
Reviewed-by: dholmes, sspitsyn, cjplummer
2023-02-07 10:14:37 +00:00
Erik Österlund
f5f38a82cc 8301371: Interpreter store barriers on x86_64 don't have disjoint temp registers
Reviewed-by: kvn, tschatzl
2023-02-07 09:33:40 +00:00
Stefan Johansson
77dbcd8569 8301641: NativeMemoryUsageTotal event uses reserved value for committed field
Reviewed-by: eosterlund, stefank
2023-02-07 09:29:59 +00:00
sunguoyun
1aaf394b33 8301736: jdk/incubator/concurrent/StructuredTaskScope/StructuredTaskScopeTest.java fail with -Xcomp
Reviewed-by: alanb
2023-02-07 09:17:23 +00:00
Amit Kumar
9dad874ff9 8298413: [s390] CPUInfoTest fails due to uppercase feature string
Reviewed-by: mdoerr, lucy
2023-02-07 08:38:07 +00:00
Chang Peng
98433a2f6e 8296999: AArch64: scalar intrinsics for reverse method in Integer and Long
Reviewed-by: eliu, ngasson
2023-02-07 08:00:48 +00:00
Gui Cao
c04a982eb4 8301818: RISC-V: Factor out function mvw from MacroAssembler
Reviewed-by: luhenry, fyang, fjiang
2023-02-07 04:48:57 +00:00
Harshitha Onkar
787e16bb44 8289077: Add manual tests to open
Reviewed-by: azvegint
2023-02-06 23:43:18 +00:00
Archie L. Cobbs
07fb4f9a0b 7167356: (javac) investigate failing tests in JavacParserTest
Reviewed-by: vromero
2023-02-06 20:28:08 +00:00
William Kemper
3ac2beddba 8299324: inline_native_setCurrentThread lacks GC barrier for Shenandoah
Reviewed-by: rkennke, phh
2023-02-06 19:53:20 +00:00
Jonathan Gibbons
d53ade12a8 8301813: Bad caret position in error message
Reviewed-by: iris
2023-02-06 18:41:04 +00:00
Archie L. Cobbs
8c01b6e66b 8221580: Confusing diagnostic for assigning a static final field in a constructor
Reviewed-by: vromero
2023-02-06 18:22:22 +00:00
Eirik Bjorsnos
c129ce4660 8300259: Add test coverage for processing of pending block files in signed JARs
Reviewed-by: weijun
2023-02-06 17:15:26 +00:00
Weijun Wang
b56974209b 8301788: AlgorithmId should keep lowercase characters from 3rd party providers
Reviewed-by: mullan
2023-02-06 17:10:46 +00:00
Eirik Bjorsnos
05ea083b05 8301167: Update VerifySignedJar to actually exercise and test verification
Reviewed-by: weijun
2023-02-06 15:43:53 +00:00
Viktor Klang
ecf8842cd2 8300098: java/util/concurrent/ConcurrentHashMap/ConcurrentAssociateTest.java fails with internal timeout when executed with TieredCompilation1/3
Co-authored-by: Doug Lea <dl@openjdk.org>
Reviewed-by: jpai, alanb
2023-02-06 15:26:32 +00:00
Amit Kumar
7ae447f4eb 8301095: [s390x] TestDwarf.java fails
Reviewed-by: lucy, tsteele
2023-02-06 14:22:00 +00:00
Sidraya
9c80b8ad99 8299683: [S390X] Problems with -XX:+VerifyStack
Reviewed-by: mdoerr, lucy
2023-02-06 13:48:26 +00:00
Albert Mingkun Yang
8e9b72670b 8301599: Serial: Refactor nested closures in DefNewGeneration
Reviewed-by: tschatzl, iwalulya
2023-02-06 13:11:32 +00:00
Xiaolin Zheng
773050647e 8299162: Refactor shared trampoline emission logic
Reviewed-by: fyang, adinn, luhenry
2023-02-06 12:38:36 +00:00
Jan Lahoda
522fa13274 8301580: Error recovery does not clear returnResult
Reviewed-by: vromero
2023-02-06 12:25:06 +00:00
Aggelos Biboudis
7ac2079ba7 8301025: ClassCastException in switch with generic record
Reviewed-by: jlahoda
2023-02-06 12:24:21 +00:00
Albert Mingkun Yang
371a0c4f88 8301465: Remove unnecessary nmethod arming in Full GC of Serial/Parallel
Reviewed-by: tschatzl, iwalulya
2023-02-06 11:36:29 +00:00
Johan Sjölen
716f1df609 8301478: Replace NULL with nullptr in os/bsd
Reviewed-by: coleenp, stuefe
2023-02-06 09:21:19 +00:00
Prasanta Sadhukhan
ab528ce3cd 4934362: see also refers to self
Reviewed-by: prr, serb, aivanov
2023-02-06 08:49:53 +00:00
Emanuel Peter
8f195ff236 8298952: All nodes should have type(n) == Value(n) after IGVN
Reviewed-by: kvn, thartmann, chagedorn
2023-02-06 08:45:48 +00:00
Albert Mingkun Yang
e88fd8c2a9 8301768: G1: Remove unimplemented HeapRegionRemSet::split_card
Reviewed-by: tschatzl
2023-02-06 08:38:17 +00:00
Christian Hagedorn
96c50a3486 8301752: [IR Framework] Add more IR framework examples
Reviewed-by: kvn, thartmann
2023-02-06 07:38:21 +00:00
Justin King
3646c4e944 8301171: Rename sanitizers/address.h to sanitizers/address.hpp
Reviewed-by: kbarrett
2023-02-06 07:24:09 +00:00
Yuri Nesterenko
3f3356bcbd 8301760: Fix possible leak in SpNegoContext dispose
Reviewed-by: weijun
2023-02-06 07:08:35 +00:00
Xiaolin Zheng
b4cb6c8e8b 8301743: RISC-V: Add InlineSkippedInstructionsCounter to post-call nops
Reviewed-by: fyang, luhenry
2023-02-06 03:04:52 +00:00
Dingli Zhang
4dd6e8f9dc 8301740: RISC-V: Address::uses() should check address mode
Reviewed-by: luhenry, fjiang, fyang
2023-02-06 02:41:16 +00:00
Gui Cao
8507db1567 8301628: RISC-V: c2 fix pipeline class for several instructions
Reviewed-by: fjiang, fyang, luhenry
2023-02-06 02:28:53 +00:00
Andrey Turbanov
d67bfe21a2 8301342: Prefer ArrayList to LinkedList in LayoutComparator
Reviewed-by: prr, serb
2023-02-05 08:45:23 +00:00
Joe Darcy
34493248c0 8301396: Port fdlibm expm1 to Java
Reviewed-by: bpb
2023-02-04 00:48:26 +00:00
Chris Plummer
3be5317b59 8301798: [BACKOUT] jdb ThreadStartRequest and ThreadDeathRequest should use SUSPEND_NONE instead of SUSPEND_ALL
Reviewed-by: dcubed, dholmes
2023-02-03 22:22:55 +00:00
Matthew Donovan
e7247b10cc 8298872: Update CheckStatus.java for changes to TLS implementation
Reviewed-by: rhalade
2023-02-03 19:55:54 +00:00
Bill Huang
20579e48cf 8299994: java/security/Policy/Root/Root.java fails when home directory is read-only
Reviewed-by: rhalade
2023-02-03 19:19:14 +00:00
Phil Race
5962226cc3 8300891: Deprecate for removal javax.swing.plaf.synth.SynthLookAndFeel.load(URL url)
Reviewed-by: serb, aivanov, kizune, psadhukhan
2023-02-03 16:28:03 +00:00
Daniel Fuchs
8b70256d30 8301787: java/net/httpclient/SpecialHeadersTest failing after JDK-8301306
Reviewed-by: dcubed, rriggs
2023-02-03 16:01:47 +00:00
Varada M
bccd55bfdf 8300295: [AIX] TestDaemonDestroy fails due to !is_primordial_thread assertion
Reviewed-by: dholmes, stuefe
2023-02-03 15:35:26 +00:00
Albert Mingkun Yang
7435b27d68 8301744: Remove unused includes of genOopClosures.hpp
Reviewed-by: tschatzl
2023-02-03 12:26:05 +00:00
sunguoyun
6f9106e0d0 8301306: java/net/httpclient/* fail with -Xcomp
Reviewed-by: dfuchs, alanb
2023-02-03 11:56:06 +00:00
Johan Sjölen
ac9e046748 8301479: Replace NULL with nullptr in os/linux
Reviewed-by: coleenp, sgehwolf
2023-02-03 11:52:22 +00:00
Roland Westrelin
cf68d9fb8e 8299155: C2: SubTypeCheckNode::verify() should not produce dependencies / oop pool entries
Reviewed-by: thartmann, kvn
2023-02-03 07:58:29 +00:00
Matthias Baesken
11804b246e 8301050: Detect Xen Virtualization on Linux aarch64
Reviewed-by: dholmes, clanger
2023-02-03 07:54:33 +00:00
Per Minborg
b504c9411e 8300235: Use VarHandle access in Image(Input | Output)StreamImpl classes
Reviewed-by: rriggs
2023-02-03 07:24:20 +00:00
Andrey Turbanov
406021ad58 8300929: Avoid unnecessary array fill after creation in java.awt.image
Reviewed-by: attila, serb, aivanov
2023-02-03 06:51:54 +00:00
Sibabrata Sahoo
7f313b0cef 8180266: Convert sun/security/provider/KeyStore/DKSTest.sh to Java Jtreg Test
Reviewed-by: rhalade
2023-02-03 05:19:47 +00:00
Feilong Jiang
3ad6aef149 8301313: RISC-V: C2: assert(false) failed: bad AD file due to missing match rule
Reviewed-by: fyang, yadongwang
2023-02-03 05:03:21 +00:00
Jaikiran Pai
4c9de876bf 8301655: Problemlist jdk/jdk/nio/zipfs/TestLocOffsetFromZip64EF.java on Linux
Reviewed-by: lancea
2023-02-03 01:03:28 +00:00
Ioi Lam
04278e6bf2 8301564: Non-C-heap allocated ResourceHashtable keys and values must have trivial destructor
Reviewed-by: coleenp, jvernee
2023-02-02 22:31:53 +00:00
Hai-May Chao
b00b70c240 8286907: keytool should warn about weak PBE algorithms
Reviewed-by: mullan, weijun
2023-02-02 21:17:08 +00:00
Joe Darcy
ee0f5b5ed0 8301392: Port fdlibm log1p to Java
Reviewed-by: bpb
2023-02-02 20:36:34 +00:00
Raffaello Giulietti
f696785fd3 8300869: Make use of the Double.toString(double) algorithm in java.util.Formatter
Reviewed-by: darcy, naoto
2023-02-02 19:10:42 +00:00
Dr Heinz M. Kabutz
cf6b9eb8c8 8301637: ThreadLocalRandom.current().doubles().parallel() contention
Reviewed-by: alanb
2023-02-02 18:28:47 +00:00
Albert Mingkun Yang
c647ae6c32 8301149: Parallel: Refactor MutableNUMASpace::update_layout
Reviewed-by: tschatzl, lkorinth, iveresov
2023-02-02 17:41:52 +00:00
Chris Plummer
de5773325d 8301644: com/sun/jdi/JdbStopThreadTest.java fails after JDK-8300811
Reviewed-by: amenkov, kevinw
2023-02-02 16:58:48 +00:00
Jonathan Gibbons
930ec008e0 8301636: Minor cleanup in CommentHelper and DocPretty
Reviewed-by: prappo
2023-02-02 15:24:49 +00:00
Julian Waters
725d57b2e2 8301659: Resolve initialization reordering issues on Windows for libawt and libsaproc
Reviewed-by: dholmes, aivanov
2023-02-02 15:22:18 +00:00
Leonid Mesnik
2d50c7d477 8298979: Remove duplicated serviceability/jvmti/thread/GetAllThreads/allthr01/allthr01.java
Reviewed-by: sspitsyn
2023-02-02 15:10:27 +00:00
Christian Hagedorn
59b7fb1a91 8300273: [IR framework] Handle <!-- safepoint while printing --> message instead of bailing out
Reviewed-by: thartmann, kvn
2023-02-02 14:39:28 +00:00
Damon Fenacci
5b1584b92c 8298880: VectorLogicalOpIdentityTest.java IR test incorrectly use avx3 instead of avx512
Reviewed-by: chagedorn, kvn, rcastanedalo
2023-02-02 14:33:28 +00:00
Axel Boldt-Christmas
21c1afbc32 8301612: OopLoadProxy constructor should be explicit
Reviewed-by: stefank, jsjolen
2023-02-02 14:04:22 +00:00
Aleksei Efimov
03b23a1e1b 8301367: Add exception handler method to the BaseLdapServer
Reviewed-by: jpai, vtewari, dfuchs
2023-02-02 12:45:00 +00:00
Johan Sjölen
7b6ac41ab1 8286876: NMT.test_unaliged_block_address_vm_assert fails if using clang toolchain
Reviewed-by: stuefe, gziemski
2023-02-02 10:14:26 +00:00
Johan Sjölen
d097b5e628 8301508: Replace NULL with nullptr in os_cpu/linux_s390
Reviewed-by: kbarrett
2023-02-02 09:32:42 +00:00
Johan Sjölen
c8307e37fd 8301500: Replace NULL with nullptr in os_cpu/aix_ppc
Reviewed-by: tschatzl
2023-02-02 09:31:24 +00:00
Johan Sjölen
218223e4a3 8301501: Replace NULL with nullptr in os_cpu/bsd_aarch64
Reviewed-by: tschatzl, dholmes
2023-02-02 09:30:28 +00:00
Johan Sjölen
b81f0ff43a 8301505: Replace NULL with nullptr in os_cpu/linux_arm
Reviewed-by: kbarrett
2023-02-02 09:29:45 +00:00
Johan Sjölen
42a286a158 8301511: Replace NULL with nullptr in os_cpu/linux_zero
Reviewed-by: sgehwolf, dholmes
2023-02-02 09:29:02 +00:00
Johan Sjölen
ad79e49141 8301512: Replace NULL with nullptr in os_cpu/windows_aarch64
Reviewed-by: kbarrett
2023-02-02 09:28:19 +00:00
Johan Sjölen
8cc399b672 8301503: Replace NULL with nullptr in os_cpu/bsd_zero
Reviewed-by: kbarrett
2023-02-02 09:27:30 +00:00
Johan Sjölen
c109dae48c 8301513: Replace NULL with nullptr in os_cpu/windows_x86
Reviewed-by: kbarrett
2023-02-02 09:26:26 +00:00
Johan Sjölen
182d1b2fb7 8301507: Replace NULL with nullptr in os_cpu/linux_riscv
Reviewed-by: kbarrett
2023-02-02 09:25:21 +00:00
Johan Sjölen
5d1f71daf0 8301509: Replace NULL with nullptr in os_cpu/linux_x86
Reviewed-by: kbarrett
2023-02-02 09:24:30 +00:00
Johan Sjölen
6daff6b269 8301502: Replace NULL with nullptr in os_cpu/bsd_x86
Reviewed-by: tschatzl, dholmes
2023-02-02 09:23:48 +00:00
Johan Sjölen
13fcd602d3 8301504: Replace NULL with nullptr in os_cpu/linux_aarch64
Reviewed-by: kbarrett
2023-02-02 09:22:48 +00:00
Johan Sjölen
b1e96989b6 8301506: Replace NULL with nullptr in os_cpu/linux_ppc
Reviewed-by: kbarrett, rrich
2023-02-02 09:22:00 +00:00
Roland Westrelin
af474ce359 8297582: C2: very slow compilation due to type system verification code
Reviewed-by: kvn, vlivanov
2023-02-02 08:29:19 +00:00
Pavel Rappo
8d6e8a47c9 8301618: Compare elements and type mirrors properly
Reviewed-by: jjg
2023-02-01 23:54:22 +00:00
Jesper Wilhelmsson
d6832121b7 Merge 2023-02-01 22:36:07 +00:00
Erik Joelsson
960c393133 8301393: Include cdb in the Windows devkit
Reviewed-by: mikael
2023-02-01 21:04:41 +00:00
Weijun Wang
6c927c92f7 8301299: Wrong class spec on sun.security.util.Pem
Reviewed-by: jnimeh
2023-02-01 20:59:05 +00:00
Mandy Chung
51ac8783b9 8284236: Remove java/lang/ref/ReferenceEnqueue.java from ProblemList-Xcomp.txt
Reviewed-by: alanb
2023-02-01 20:27:20 +00:00
Chris Plummer
9952108734 8300811: jdb ThreadStartRequest and ThreadDeathRequest should use SUSPEND_NONE instead of SUSPEND_ALL
Reviewed-by: alanb, sspitsyn
2023-02-01 18:59:09 +00:00
Jonathan Gibbons
24ff3da054 8301201: Allow \n@ inside inline tags using inlineContent
Reviewed-by: hannesw
2023-02-01 18:28:42 +00:00
Matthew Donovan
3361a26df4 8298874: Update TestAllSuites.java for TLS v1.2 and 1.3
Reviewed-by: rhalade
2023-02-01 17:20:24 +00:00
ryawalla
bc750f70f2 8294527: Some java.security.debug options missing from security docs
Reviewed-by: mullan
2023-02-01 13:50:40 +00:00
Stefan Karlsson
1330d4eaa5 8298377: JfrVframeStream causes deadlocks in ZGC
Backport-of: 453dbd12ee
2023-02-01 13:19:26 +00:00
Justin King
7c6a8db328 8301447: [REDO] CodeHeap has virtual methods that are not overridden
Reviewed-by: kvn, thartmann
2023-02-01 13:11:12 +00:00
Tobias Hartmann
cae577a710 8295486: Inconsistent constant field values observed during compilation
Reviewed-by: chagedorn, kvn, jbhateja, vlivanov
2023-02-01 11:15:35 +00:00
Claes Redestad
969f6a37e4 8301093: C2 fails assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out
Reviewed-by: thartmann, kvn
2023-02-01 10:55:43 +00:00
Roland Westrelin
2a8ae2ff1c 8300256: C2: vectorization is sometimes skipped on loops where it would succeed
Reviewed-by: kvn, thartmann
2023-02-01 09:48:54 +00:00
Axel Boldt-Christmas
ef0d0a7092 8301402: os::print_location gets is_global_handle assert
Reviewed-by: coleenp, dholmes
2023-02-01 09:47:15 +00:00
Albert Mingkun Yang
4f6f3cc642 8301446: Remove unused includes of gc/shared/genOopClosures
Reviewed-by: stefank, kbarrett
2023-02-01 09:46:02 +00:00
Albert Mingkun Yang
a0aed9bd89 8301459: Serial: Merge KeepAliveClosure into FastKeepAliveClosure
Reviewed-by: stefank, tschatzl
2023-02-01 09:45:16 +00:00
Kevin Walls
225f80532c 8299891: JMX ObjectInputFilter additional classes needed
Reviewed-by: dfuchs, sspitsyn, cjplummer
2023-02-01 09:14:25 +00:00
David Holmes
d269ebbad2 8301570: Test runtime/jni/nativeStack/ needs to detach the native thread
Co-authored-by: Calvin Cheung <ccheung@openjdk.org>
Reviewed-by: lmesnik, ccheung
2023-02-01 07:56:21 +00:00
Deepa Kumari
8164cfbc03 8300696: [AIX] AttachReturnError fails
Reviewed-by: tsteele, dholmes
2023-02-01 07:04:26 +00:00
Bill Huang
09bfbf8063 8300909: Update com/sun/jndi/dns/Test6991580.java manual test instruction
Reviewed-by: alanb
2023-01-31 22:12:07 +00:00
Vicente Romero
6beadbbe9f 8293519: deprecation warnings should be emitted for uses of annotation methods inside other annotations
Reviewed-by: jlahoda
2023-01-31 18:20:11 +00:00
Coleen Phillimore
4bef233a4a 8301549: Fix comment about ClassCircularityError
Reviewed-by: lfoltan
2023-01-31 18:07:15 +00:00
Coleen Phillimore
e1bf471312 8301555: Remove constantPoolCacheKlass friend
Reviewed-by: fparain, kbarrett
2023-01-31 18:06:14 +00:00
Vicente Romero
5744c91bf5 8297158: Suspicious collection method call in Types.isSameTypeVisitor
Reviewed-by: jlahoda
2023-01-31 17:01:14 +00:00
Calvin Cheung
e193a0b72a 8295951: intermittent cmp_baseline task failures with CDS files
Reviewed-by: iklam
2023-01-31 16:51:45 +00:00
Albert Mingkun Yang
60c535de49 8301340: Make DirtyCardToOopClosure stack-allocated
Reviewed-by: stefank, tschatzl
2023-01-31 16:09:48 +00:00
Johan Sjölen
b76a52f210 8301076: Replace NULL with nullptr in share/prims/
Reviewed-by: kbarrett, dholmes
2023-01-31 14:22:44 +00:00
Johan Sjölen
90ec19efed 8301068: Replace NULL with nullptr in share/jvmci/
Reviewed-by: kvn, never
2023-01-31 12:19:42 +00:00
Robbin Ehn
419409bcf6 8301337: Remove unused os::_polling_page
Reviewed-by: coleenp, dnsimon
2023-01-31 11:41:16 +00:00
Aleksey Shipilev
d583767bf1 8301338: Identical branch conditions in CompileBroker::print_heapinfo
Reviewed-by: thartmann
2023-01-31 11:06:47 +00:00
Matthias Baesken
810c8a271b 8301170: perfMemory_windows.cpp add free_security_attr to early returns
Reviewed-by: stuefe, dholmes
2023-01-31 08:20:52 +00:00
Tobias Hartmann
33e653e284 8301448: [BACKOUT] CodeHeap has virtual methods that are not overridden
Reviewed-by: alanb, dholmes
2023-01-31 07:55:52 +00:00
Axel Boldt-Christmas
cdb4ba9657 8301326: Optimize compiler/uncommontrap/TestDeoptOOM.java test
Reviewed-by: rcastanedalo, thartmann
2023-01-31 07:54:20 +00:00
Feilong Jiang
9cc0171ed5 8301153: RISC-V: pipeline class for several instructions is not set correctly
Reviewed-by: fyang, yadongwang
2023-01-31 07:28:33 +00:00
Feilong Jiang
633e291cfc 8301067: RISC-V: better error message when reporting unsupported satp modes
Reviewed-by: fyang, yadongwang
2023-01-31 07:15:37 +00:00
Albert Mingkun Yang
4b0e259d16 8301344: G1: Remove DirtyCardToOopClosure forward declaration in g1OopClosures.hpp
Reviewed-by: tschatzl
2023-01-31 07:10:13 +00:00
Tobias Hartmann
7b3919d3f5 8301346: Remove dead emit_entry_barrier_stub definition
Reviewed-by: chagedorn, kvn
2023-01-31 06:46:47 +00:00
Justin King
a6867a7ec2 8301378: CodeHeap has virtual methods that are not overridden
Reviewed-by: kvn, thartmann
2023-01-31 06:34:45 +00:00
Fei Yang
aa3492442b 8300463: Build failure on Windows 32 after JDK-8296401
Reviewed-by: kbarrett
2023-01-31 00:10:42 +00:00
Christian Wimmer
622b6594d1 8262994: Refactor String.split to help method inlining
Reviewed-by: plevart
2023-01-30 23:33:11 +00:00
Mandy Chung
2d7690b2e5 8301207: (jdeps) Deprecate jdeps -profile option
Reviewed-by: alanb
2023-01-30 22:39:55 +00:00
Jesper Wilhelmsson
561a25e025 Merge 2023-01-30 20:51:54 +00:00
Joe Darcy
63bb2ce8de 8301205: Port fdlibm log10 to Java
Reviewed-by: bpb
2023-01-30 20:33:01 +00:00
Erik Joelsson
b84f4c40fd 8301267: Update of config.guess broke build on WSL
Reviewed-by: tbell, jvernee, djelinski
2023-01-30 20:18:59 +00:00
Chris Plummer
a128a5d07c 8300810: Get rid of unused JDI removeListener() methods
Reviewed-by: kevinw, amenkov
2023-01-30 19:08:08 +00:00
Leonid Mesnik
a91143cc93 8298907: nsk JDI tests pass if the debuggee failed to launch
Reviewed-by: cjplummer, kevinw
2023-01-30 17:32:45 +00:00
Naoto Sato
323813985b 8300916: Re-examine the initialization of JNU Charset in StaticProperty
Reviewed-by: mchung, alanb
2023-01-30 17:06:44 +00:00
Afshin Zafari
f4592b1471 8267935: Replace BasicHashtable and Hashtable
Reviewed-by: coleenp, rehn, tschatzl
2023-01-30 16:23:39 +00:00
Daniel Fuchs
a74ebd048a 8299325: java/net/httpclient/CancelRequestTest.java fails "test CancelRequestTest.testGetSendAsync("https://localhost:46509/https1/x/same/interrupt", true, true)"
Reviewed-by: jpai
2023-01-30 14:41:59 +00:00
Daniel Fuchs
041a12e655 8301255: Http2Connection may send too many GOAWAY frames
Reviewed-by: jpai
2023-01-30 14:36:36 +00:00
Amit Kumar
476f58adc1 8298424: Remove redundant FOUND_CORES variable in build-performance.m4
Reviewed-by: erikj, tsteele
2023-01-30 14:33:28 +00:00
Fei Yang
ebb84ad70d 8301036: RISC-V: Factor out functions baseOffset & baseOffset32 from MacroAssembler
Reviewed-by: luhenry, fjiang, shade
2023-01-30 12:24:19 +00:00
Fei Yang
61a5f114ee 8301033: RISC-V: Handle special cases for MinI/MaxI nodes for Zbb
Reviewed-by: fjiang, luhenry, shade
2023-01-30 12:15:52 +00:00
Albert Mingkun Yang
82df4a2aee 8301148: Serial: Remove ContiguousSpace::reset_saved_mark
Reviewed-by: kbarrett, tschatzl
2023-01-30 11:49:26 +00:00
Erik Österlund
c672ed16f3 8301248: Less side effects in InstanceRefKlass::trace_reference_gc
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: rkennke, stefank
2023-01-30 10:29:47 +00:00
Erik Österlund
cee4bd3ee6 8301047: Clean up type unsafe uses of oop from compiler code
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Reviewed-by: kvn, stefank
2023-01-30 10:28:40 +00:00
Erik Österlund
7fae3a1d8d 8301229: Clean up SuspendibleThreadSet::_suspend_all
Reviewed-by: stefank, kbarrett, tschatzl
2023-01-30 10:27:40 +00:00
Albert Mingkun Yang
f50cda7d45 8301217: Remove FilteringClosure
Reviewed-by: iwalulya, tschatzl
2023-01-30 10:17:46 +00:00
Koichi Sakata
08b24ac7aa 8294066: IGV: Graph changes when deleting a graph in the same group with smaller index
Reviewed-by: rcastanedalo, tholenstein
2023-01-30 09:50:09 +00:00
Richard Reingruber
3db558b67b 8300915: G1: incomplete SATB because nmethod entry barriers don't get armed
Reviewed-by: tschatzl, eosterlund
2023-01-30 08:43:15 +00:00
Matthias Baesken
cbefe1fd35 8301163: jdk/internal/vm/Continuation/Fuzz.java increase COMPILATION_TIMEOUT for Linux ppc64le
Reviewed-by: rrich
2023-01-30 08:15:10 +00:00
Prasanta Sadhukhan
c2ebd17938 6187113: DefaultListSelectionModel.removeIndexInterval(0, Integer.MAX_VALUE) fails
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: aivanov
2023-01-30 07:35:14 +00:00
Axel Boldt-Christmas
4bd3f0a0d5 8301088: oopDesc::print_on should consistently use a trailing newline
Reviewed-by: tschatzl, coleenp
2023-01-30 07:14:25 +00:00
David Holmes
64b25ea0b4 8291569: Consider removing JNI checks for signals SIGPIPE and SIGXFSZ
Reviewed-by: stuefe, rehn
2023-01-29 23:14:39 +00:00
Ioi Lam
1ff4646ed5 8298612: Refactor archiving of java String objects
Reviewed-by: ccheung
2023-01-29 21:59:48 +00:00
Sergey Bylokhov
d4e9f5e5f2 8238170: BeanContextSupport remove and propertyChange can deadlock
Reviewed-by: phh
2023-01-29 20:04:37 +00:00
Jatin Bhateja
6475501a01 8300208: Optimize Adler32 stub for AVX-512 targets.
Reviewed-by: kvn, sviswanathan
2023-01-29 01:55:46 +00:00
Yadong Wang
af564e46b0 8299844: RISC-V: Implement _onSpinWait intrinsic
Reviewed-by: fjiang, fyang, luhenry
2023-01-28 02:17:44 +00:00
Damon Nguyen
ef6200c727 8300269: The selected item in an editable JComboBox with titled border is not visible in Aqua LAF
Co-authored-by: Manukumar V S <mvs@openjdk.org>
Reviewed-by: psadhukhan, kizune, achung, prr
2023-01-27 23:09:14 +00:00
Eirik Bjorsnos
5dfc4ec7d9 8300140: ZipFile.isSignatureRelated returns true for files in META-INF subdirectories
Reviewed-by: weijun
2023-01-27 22:47:51 +00:00
Jesper Wilhelmsson
5c59de52a3 Merge 2023-01-27 22:46:31 +00:00
Tagir F. Valeev
ae0e76d3dd 8301120: Cleanup utility classes java.util.Arrays and java.util.Collections
Reviewed-by: smarks, darcy
2023-01-27 19:23:53 +00:00
Justin King
b8e5abc1e8 8301097: Update GHA XCode to 12.5.1
Reviewed-by: ihse
2023-01-27 19:09:53 +00:00
Xue-Lei Andrew Fan
9c4bc2c395 8301132: Test update for deprecated sprintf in Xcode 14
Reviewed-by: mikael
2023-01-27 19:01:01 +00:00
Mandy Chung
7f05d57a87 8217920: Lookup.defineClass injects a class that can access private members of any class in its own module
Reviewed-by: psandoz, alanb, darcy
2023-01-27 18:31:03 +00:00
Justin Lu
22c976a9b0 8177418: NPE is not apparent for methods in java.util.TimeZone API docs
Reviewed-by: lancea, naoto
2023-01-27 18:11:20 +00:00
Damon Nguyen
e5860ef60a 8301206: Fix issue with LocaleData after JDK-8300719
Reviewed-by: naoto
2023-01-27 17:22:05 +00:00
Mandy Chung
7aaf76c529 8300924: Method::invoke throws wrong exception type when passing wrong number of arguments to method with 4 or more parameters
Reviewed-by: rriggs
2023-01-27 17:13:54 +00:00
Johan Sjölen
49ff52087b 8300241: Replace NULL with nullptr in share/classfile/
Reviewed-by: coleenp, iklam
2023-01-27 16:15:29 +00:00
Johan Sjölen
f52d35c84b 8300240: Replace NULL with nullptr in share/ci/
Reviewed-by: kvn, coleenp
2023-01-27 15:43:34 +00:00
Johan Sjölen
5c1ec82656 8301077: Replace NULL with nullptr in share/services/
Reviewed-by: cjplummer, coleenp
2023-01-27 15:42:46 +00:00
Deepa Kumari
dff41316a2 8285850: [AIX] unreachable code in basic_tools.m4 -> BASIC_CHECK_TAR
Reviewed-by: erikj, tsteele
2023-01-27 15:28:13 +00:00
Adam Sotona
b22e5216c4 8300953: ClassDesc::ofInternalName missing @since tag
Reviewed-by: darcy, mchung, jjg
2023-01-27 15:09:53 +00:00
Justin King
e2a3b20ca8 8301187: Memory leaks in OopMapCache
Reviewed-by: fparain, coleenp
2023-01-27 14:58:22 +00:00
Coleen Phillimore
fccf818972 8301123: Enable Symbol refcounting underflow checks in PRODUCT
Reviewed-by: fparain, iklam
2023-01-27 14:56:29 +00:00
Damon Fenacci
e4252bb914 8300823: UB: Compile::_phase_optimize_finished is initialized too late
Reviewed-by: thartmann, chagedorn
2023-01-27 12:14:07 +00:00
Tejesh R
db8fa1be05 8300405: Screen capture for test JFileChooserSetLocationTest.java, failure case
Reviewed-by: serb
2023-01-27 11:05:12 +00:00
Johan Sjölen
3758487fda 8301180: Replace NULL with nullptr in share/gc/parallel/
Reviewed-by: stefank, ayang
2023-01-27 11:01:07 +00:00
Darragh Clarke
d7aa87fdbd 8300176: URLEncoder/URLDecoder static fields should be private static final
Reviewed-by: redestad, michaelm, stsypanov, dfuchs, jpai
2023-01-27 10:52:06 +00:00
Johan Sjölen
107e184d59 8301179: Replace NULL with nullptr in share/gc/serial/
Reviewed-by: tschatzl, kbarrett
2023-01-27 09:36:23 +00:00
Johan Sjölen
b77abc6a0d 8301178: Replace NULL with nullptr in share/gc/epsilon/
Reviewed-by: tschatzl, kbarrett
2023-01-27 09:35:42 +00:00
Albert Mingkun Yang
f7da09c349 8301164: Remove unused ResourceStack class
Reviewed-by: coleenp
2023-01-27 08:12:06 +00:00
Erik Österlund
6e4710bc83 8300253: Introduce AArch64 nzcv accessors
Reviewed-by: aph, smonteith
2023-01-27 08:08:59 +00:00
Julian Waters
c6b3f2dd10 8301129: Link to debuginfo files should only be made after stripping
Reviewed-by: erikj, ihse
2023-01-27 07:07:22 +00:00
Koichi Sakata
938b409608 8301133: IGV: NPE occurs when creating a diff graph with a graph in a different folder
Reviewed-by: rcastanedalo, chagedorn
2023-01-27 06:17:14 +00:00
Amit Kumar
0eb1f66fd8 8298038: [s390] Configure script detects num_cores +1
Reviewed-by: tsteele, erikj
2023-01-27 05:41:05 +00:00
Glavo
c3ff151457 8301190: [vectorapi] The typeChar of LaneType is incorrect when default locale is tr
Reviewed-by: psandoz
2023-01-27 01:17:02 +00:00
Damon Nguyen
a67b1e77d3 8300719: JDK 20 RDP2 L10n resource files update
Reviewed-by: cjplummer, naoto, prr, joehw, asemenyuk, jlu, lancea, ihse, jjg, weijun
2023-01-26 22:33:04 +00:00
Valerie Peng
7eff578768 8288050: Add support of SHA-512/224 and SHA-512/256 to the PBKDF2 and PBES2 impls in SunJCE provider
Reviewed-by: weijun
2023-01-26 22:07:31 +00:00
Matthew Donovan
d6007a356f 8298869: Update ConnectionTest.java for changes to TLS implementation
Reviewed-by: rhalade
2023-01-26 21:36:36 +00:00
Brian Burkhalter
c4278144be 8299982: (bf) Buffer.checkIndex(int, int) should use Preconditions.checkIndex(int, int, BiFunction)
Reviewed-by: uschindler, vtewari, rriggs, alanb
2023-01-26 20:09:01 +00:00
Matthew Donovan
7ddafd75b0 8301189: validate-source fails after JDK-8298873
Reviewed-by: dcubed, rhalade
2023-01-26 19:36:41 +00:00
Matthew Donovan
fc26d3e577 8298873: Update IllegalRecordVersion.java for changes to TLS implementation
Reviewed-by: rhalade
2023-01-26 18:36:29 +00:00
Viktor Klang
a2a7703370 8299444: java.util.Set.copyOf allocates needlessly for empty input collections
Reviewed-by: rriggs, shade, smarks
2023-01-26 18:15:56 +00:00
Johan Sjölen
d98a323a8b 8301070: Replace NULL with nullptr in share/memory/
Reviewed-by: stefank, stuefe
2023-01-26 16:30:31 +00:00
Thomas Schatzl
315398c245 8221785: Let possibly_parallel_threads_do cover the same threads as threads_do
Reviewed-by: iwalulya, coleenp
2023-01-26 15:39:22 +00:00
Erik Österlund
14114c2515 8301005: Clean up Copy::conjoint_*_atomic on windows
Reviewed-by: aboldtch, stefank, tschatzl
2023-01-26 15:11:03 +00:00
Erik Österlund
973f741993 8300968: Accessorize raw oop load in DeadCounterClosure
Reviewed-by: tschatzl, stefank
2023-01-26 15:10:08 +00:00
Severin Gehwolf
64ddf9536f 8299858: [Metrics] Swap memory limit reported incorrectly when too large
Reviewed-by: stuefe
2023-01-26 14:50:46 +00:00
Erik Österlund
28545dcf2b 8300247: Harden C1 xchg on AArch64 and PPC
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Reviewed-by: aph, rcastanedalo
2023-01-26 14:35:25 +00:00
Coleen Phillimore
3f6338146e 8300913: ZGC: assert(to_addr != 0) failed: Should be forwarded
Reviewed-by: eosterlund, rehn
2023-01-26 13:04:19 +00:00
Albert Mingkun Yang
da80e7a489 8300962: Parallel: Remove PSParallelCompact::_total_invocations
Reviewed-by: tschatzl, iwalulya
2023-01-26 11:41:07 +00:00
Albert Mingkun Yang
7725fe845b 8299953: Merge ContiguousSpaceDCTOC into DirtyCardToOopClosure
Reviewed-by: tschatzl, iwalulya
2023-01-26 11:40:16 +00:00
Albert Mingkun Yang
a9b8acb643 8300652: Parallel: Refactor oop marking stack in Full GC
Reviewed-by: tschatzl, iwalulya
2023-01-26 11:39:34 +00:00
Roman Marchenko
15a1488401 8297437: javadoc cannot link to old docs (with old style anchors)
Reviewed-by: hannesw
2023-01-26 11:11:21 +00:00
Johan Sjölen
b0376a5f44 8301069: Replace NULL with nullptr in share/libadt/
Reviewed-by: kvn
2023-01-26 10:49:06 +00:00
Albert Mingkun Yang
7328182b68 8300958: Parallel: Remove unused MutableNUMASpace::capacity_in_words
Reviewed-by: tschatzl
2023-01-26 10:44:01 +00:00
Leo Korinth
30cb305dc1 8292170: Convert CodeRootSetTable to use ResourceHashtable
Reviewed-by: coleenp, iwalulya, iklam
2023-01-26 10:32:36 +00:00
Albert Mingkun Yang
3589b80838 8300127: Serial: Remove unnecessary from-space iteration in DefNewGeneration::oop_since_save_marks_iterate
Reviewed-by: tschatzl, ysr
2023-01-26 10:13:51 +00:00
Conor Cleary
48152ef66f 8287134: HttpURLConnection chunked streaming mode doesn't enforce specified size
Reviewed-by: dfuchs, michaelm
2023-01-26 08:35:07 +00:00
Damon Fenacci
4b0e656bb6 8298118: split-if optimization causes empty loop to temporarily have more than one phi
Reviewed-by: roland, thartmann, kvn
2023-01-26 07:41:15 +00:00
Tobias Hartmann
252621d4e0 8301063: Remove dead code from GrowableArray
Reviewed-by: chagedorn, kvn
2023-01-26 06:30:37 +00:00
Joe Darcy
b5a4744f90 8300857: State return value for Types.asElement(NoType) explicitly
Reviewed-by: jjg
2023-01-26 02:14:07 +00:00
Scott Gibbons
7e951f4b4c 8301092: Add benchmark for CRC32
Reviewed-by: ecaspole, sviswanathan
2023-01-26 00:20:41 +00:00
Ioi Lam
adcfd25735 8301098: Remove dead code FileMapInfo::stop_sharing_and_unmap()
Reviewed-by: coleenp, ccheung
2023-01-25 20:04:50 +00:00
ScientificWare
9f0887e205 8296661: Typo Found In CSSParser.java
Reviewed-by: angorya, aivanov, prr
2023-01-25 19:20:39 +00:00
Mikael Vidstedt
ccf2f5837b 8300806: Update googletest to v1.13.0
Reviewed-by: erikj, ihse
2023-01-25 18:27:26 +00:00
Justin King
edf1e1ab4a 8300592: ASan build does not correctly propagate options to some test launchers
Reviewed-by: ihse
2023-01-25 16:18:29 +00:00
Xue-Lei Andrew Fan
e80b5ea448 8299635: Hotspot update for deprecated sprintf in Xcode 14
Reviewed-by: dholmes, mikael
2023-01-25 15:42:53 +00:00
Erik Joelsson
f279c751a5 8300805: Update autoconf build-aux files with latest from 2022-09-17
Reviewed-by: mikael, clanger
2023-01-25 14:14:56 +00:00
Per Minborg
a23ff63af1 8301086: jdk/internal/util/ByteArray/ReadWriteValues.java fails with CompilationError
Reviewed-by: dfuchs
2023-01-25 14:13:22 +00:00
Eirik Bjorsnos
61775c85b0 8300997: Add curl support to createJMHBundle.sh
Reviewed-by: erikj
2023-01-25 14:01:03 +00:00
Jaikiran Pai
8a47429dc0 8295944: Move the Http2TestServer and related classes into a package of its own
Reviewed-by: dfuchs
2023-01-25 13:38:02 +00:00
Daniel Fuchs
c8ad600064 8301004: httpclient: Add more debug to HttpResponseInputStream
Reviewed-by: jpai
2023-01-25 13:33:22 +00:00
Per Minborg
74e1a8bfa8 8300236: Use VarHandle access in Data(Input | Output)Stream classes
Reviewed-by: rriggs, alanb
2023-01-25 12:54:27 +00:00
Johan Sjölen
a5d8e12872 8300244: Replace NULL with nullptr in share/interpreter/
Reviewed-by: coleenp, dholmes
2023-01-25 10:31:51 +00:00
Johan Sjölen
71107f4648 8300651: Replace NULL with nullptr in share/runtime/
Reviewed-by: rehn, dholmes
2023-01-25 10:30:02 +00:00
Severin Gehwolf
3c61d5aa48 8300659: Refactor TestMemoryAwareness to use WhiteBox api for host values
Reviewed-by: mbaesken
2023-01-25 10:24:33 +00:00
Erik Österlund
b2071f79d8 8300657: Remove null filtering in CLD oop handle area
Reviewed-by: coleenp, dholmes
2023-01-25 08:17:56 +00:00
Erik Österlund
95fafd094f 8300644: Remove gc/shenandoah/jni/TestStringCriticalWithDedup.java
Reviewed-by: wkemper, mbaesken
2023-01-25 08:15:35 +00:00
Christian Hagedorn
5a478ef775 8297730: C2: Arraycopy intrinsic throws incorrect exception
Reviewed-by: thartmann, kvn
2023-01-25 07:22:12 +00:00
Prasanta Sadhukhan
7465de453a 6603771: Nimbus L&F: Ctrl+F7 keybinding for Jinternal Frame throws a NPE.
Reviewed-by: abhiscxk, serb
2023-01-25 05:48:07 +00:00
David Holmes
fbe5ab0066 8300830: Remove redundant assertion in src/hotspot/share/runtime/javaCalls.cpp
Reviewed-by: iklam, rehn, dcubed
2023-01-25 01:05:25 +00:00
Jie Fu
133946159c 8300981: Build failure on 32-bit platforms after JDK-8281213
Reviewed-by: coleenp
2023-01-24 23:44:35 +00:00
Jesper Wilhelmsson
81d523d382 Merge 2023-01-24 22:28:07 +00:00
Eirik Bjorsnos
cf46004f27 8300272: Improve readability of the test JarWithOneNonDisabledDigestAlg
Reviewed-by: weijun
2023-01-24 22:16:28 +00:00
Brian Burkhalter
b678e70003 8300942: JDK-8299684 breaks x86 build
Reviewed-by: dholmes, jiefu
2023-01-24 20:32:46 +00:00
Thomas Schatzl
3be5758bb4 8300769: Remove G1CollectionSet::_inc_bytes_used_before
Reviewed-by: ayang, iwalulya
2023-01-24 17:33:35 +00:00
Thomas Schatzl
859ca75b4c 8300862: Remove some G1 collection set remembered set debugging code
Reviewed-by: ayang, iwalulya
2023-01-24 17:15:53 +00:00
Adam Sotona
60b8a98501 8300591: @SuppressWarnings option "lossy-conversions" missing from jdk.compiler module javadoc
Backport-of: 836198a400
2023-01-24 13:15:02 +00:00
Justin King
048705c049 8300910: Remove metaprogramming/integralConstant.hpp
Reviewed-by: kbarrett, tschatzl
2023-01-24 11:39:18 +00:00
Matthias Baesken
544c16e0bd 8300266: Detect Virtualization on Linux aarch64
Reviewed-by: stuefe, lucy
2023-01-24 08:05:03 +00:00
Per Minborg
57f2d48e1e 8300863: Remove C-style array declarations in java.io
Reviewed-by: alanb, rriggs, darcy, iris
2023-01-24 07:43:29 +00:00
Jan Lahoda
a3ed7e94a2 8300623: Lambda deserialization regression involving Enum method reference
Reviewed-by: mcimadamore, vromero
2023-01-24 06:40:06 +00:00
Thomas Stuefe
2292ce137c 8294677: chunklevel::MAX_CHUNK_WORD_SIZE too small for some applications
Reviewed-by: simonis, phh
2023-01-24 06:35:26 +00:00
David Holmes
6dd8723f66 8290918: Initial nroff manpage generation for JDK 21
Reviewed-by: lancea, iris, darcy
2023-01-24 06:27:54 +00:00
Justin Lu
b3822f50c8 8300589: Use @snippet and @linkplain in java.text.CollationKey and java.text.CompactNumberFormat
Reviewed-by: lancea, naoto, iris
2023-01-24 04:35:46 +00:00
Ioi Lam
afd5921f1c 8298610: Refactor archiving of ConstantPool::resolved_references()
Reviewed-by: dholmes, ccheung
2023-01-24 04:07:06 +00:00
david
937ba1cadb 8300111: Add rpath for common lib locations for jpackageapplauncher
Reviewed-by: ihse, asemenyuk, almatvee
2023-01-24 03:07:16 +00:00
Jamil Nimeh
2da2e5a0e8 8300946: Add sun/security/provider/certpath/OCSP/OCSPNoContentLength to ProblemList
Reviewed-by: jpai
2023-01-24 02:09:48 +00:00
Justin Lu
0323609f44 8300706: Use @snippet in java.text
Reviewed-by: naoto
2023-01-24 02:05:05 +00:00
Tingjun Yuan
b5ee3d1f2a 8299497: Usage of constructors of primitive wrapper classes should be avoided in java.desktop API docs
Reviewed-by: serb, prr
2023-01-24 01:25:29 +00:00
David Holmes
77a50105f0 8286775: Remove identical per-compiler definitions of unsigned integral jtypes
Reviewed-by: kbarrett, coleenp
2023-01-24 00:21:29 +00:00
Andrey Turbanov
f79e587181 8300828: Avoid unnecessary array fill after creation in com.sun.media.sound
Reviewed-by: serb, prr
2023-01-23 21:05:14 +00:00
Jesper Wilhelmsson
56dc3b08a6 Merge 2023-01-23 20:58:40 +00:00
Erik Joelsson
0ea2dd1f77 8146132: Excessive output from make test-image
Reviewed-by: ihse
2023-01-23 20:51:13 +00:00
Justin Lu
dcf1523bf2 8300077: Refactor code examples to use @snippet in java.text.ChoiceFormat
Reviewed-by: lancea, iris, naoto
2023-01-23 19:31:36 +00:00
Per Minborg
d117350875 8300866: Declare some classes final in java.io
Reviewed-by: alanb
2023-01-23 19:09:39 +00:00
Jamil Nimeh
1a3cb8c501 8296343: CPVE thrown on missing content-length in OCSP response
Reviewed-by: mullan, rhalade
2023-01-23 18:05:48 +00:00
Mandy Chung
86fed79670 8300693: Lower the compile threshold and reduce the iterations of warmup loop in VarHandles tests
Reviewed-by: jvernee, dholmes, psandoz
2023-01-23 17:58:53 +00:00
Per Minborg
4525aa318a 8300867: Fix document issues in java.io
Reviewed-by: alanb, lancea, iris
2023-01-23 17:53:20 +00:00
Per Minborg
a7f035db76 8300868: Reduce visibility in java.io.SerialCallbackContext
Reviewed-by: rriggs
2023-01-23 17:47:01 +00:00
Per Minborg
079255e312 8300864: Declare some fields in java.io as final
Reviewed-by: rriggs, lancea
2023-01-23 17:40:13 +00:00
Brian Burkhalter
a56598f5a5 8299684: (bf) JNI direct buffer functions with large capacity behave unexpectedly
Reviewed-by: dholmes, alanb
2023-01-23 17:12:49 +00:00
Brian Burkhalter
542bfe61e6 8300587: (bf) Some covariant overrides are missing @since tags
Reviewed-by: lancea, iris
2023-01-23 17:05:36 +00:00
Justin King
03a9a88efb 8300265: Remove metaprogramming/isSigned.hpp
Reviewed-by: kbarrett, tschatzl
2023-01-23 16:03:28 +00:00
Emanuel Peter
5a4945c0d9 8299975: Limit underflow protection CMoveINode in PhaseIdealLoop::do_unroll must also protect type from underflow
Reviewed-by: roland, chagedorn
2023-01-23 13:10:42 +00:00
Fredrik Bredberg
f307e8c667 8299795: Relativize locals in interpreter frames
Reviewed-by: coleenp, rehn, pchilanomate, mdoerr, fyang
2023-01-23 10:43:50 +00:00
Prasanta Sadhukhan
11aadc9d98 8244400: MenuItem may cache the size and did not update it when the screen DPI is changed
Reviewed-by: serb, aivanov
2023-01-23 10:18:23 +00:00
Adam Sotona
836198a400 8300591: @SuppressWarnings option "lossy-conversions" missing from jdk.compiler module javadoc
Reviewed-by: jjg, darcy
2023-01-23 08:14:51 +00:00
David Holmes
fd752178e3 8290919: Update nroff pages in JDK 20 before RC
Reviewed-by: iris, alanb
2023-01-23 07:44:32 +00:00
Tobias Hartmann
45e4e00981 8300079: SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument
Reviewed-by: roland, chagedorn, kvn
2023-01-23 06:06:32 +00:00
Raffaello Giulietti
030b071db1 8300207: Add a pre-check for the number of canonical equivalent permutations in j.u.r.Pattern
Reviewed-by: smarks
2023-01-22 12:45:52 +00:00
Jatin Bhateja
7ced08d4ec 8300638: Tier1 IR Test failure after JDK-8298632 on macosx-x64-debug
Reviewed-by: kvn, pli
2023-01-22 06:47:00 +00:00
Sergey Bylokhov
3ea4eac145 8300817: The build is broken after JDK-8294693
Reviewed-by: tvaleev, darcy
2023-01-21 21:51:41 +00:00
Andrey Turbanov
cbfc069f6a 8300731: Avoid unnecessary array fill after creation in PaletteBuilder
Reviewed-by: prr, serb
2023-01-21 19:25:18 +00:00
Tagir F. Valeev
67b1c890b3 8294693: Add Collections.shuffle overload that accepts RandomGenerator interface
Reviewed-by: smarks, darcy
2023-01-21 18:36:31 +00:00
Justin King
c8dd7583a9 8300260: Remove metaprogramming/isSame.hpp
Reviewed-by: tschatzl, kbarrett
2023-01-21 15:03:26 +00:00
Dan Lutker
a6c2a2ae79 8300692: GCC 12 reports some compiler warnings in bundled freetype
Reviewed-by: erikj, serb, jwaters
2023-01-21 12:05:35 +00:00
Claes Redestad
bb42e61a61 8300493: Use ArraysSupport.vectorizedHashCode in j.u.zip.ZipCoder
Reviewed-by: alanb, lancea
2023-01-21 11:54:51 +00:00
Doug Simon
06394ee8b1 8300590: [JVMCI] BytecodeFrame.equals is broken
Reviewed-by: adinn, dlong
2023-01-21 11:31:44 +00:00
Justin King
5331a3ef73 8298908: Instrument Metaspace for ASan
Reviewed-by: stuefe, ihse, iklam
2023-01-21 08:57:14 +00:00
Sergey Bylokhov
e1ee6727f7 8300725: Improve performance of ColorConvertOp for default destinations with alpha
Reviewed-by: prr
2023-01-21 07:09:00 +00:00
Scott Gibbons
7c2f77a422 8300584: Accelerate AVX-512 CRC32C for small buffers
Reviewed-by: kvn, sviswanathan
2023-01-21 00:07:31 +00:00
Chris Plummer
5784eb7b68 8300721: Cleanup ProblemList-svc-vthread.txt
Reviewed-by: alanb, lmesnik
2023-01-20 19:58:54 +00:00
Volodymyr Paprotski
9d44dd0cca 8297972: Poly1305 Endianness on ByteBuffer not enforced
Reviewed-by: jnimeh
2023-01-20 19:51:28 +00:00
Mandy Chung
facd41511b 8297757: VarHandles.getStaticFieldFromBaseAndOffset should get the receiver type from VarHandle
Reviewed-by: psandoz, alanb
2023-01-20 17:25:18 +00:00
Darragh Clarke
e803855708 8299863: URLFromURITest.java should import org.junit.jupiter.api.Test
Reviewed-by: dfuchs, cstein
2023-01-20 17:00:53 +00:00
Ralf Schmelter
92d8326e40 8299827: Add resolved IP address in connection exception for sockets
Reviewed-by: alanb, vtewari, jpai, dfuchs
2023-01-20 16:36:45 +00:00
Stuart Marks
c6d5600396 8038146: Clarify Map.Entry's connection to the underlying map
Reviewed-by: alanb
2023-01-20 16:33:48 +00:00
Hannes Wallnöfer
b2d3622115 8299896: Reduce enum values of HtmlLinkInfo.Kind
Reviewed-by: jjg
2023-01-20 14:50:35 +00:00
Thomas Schatzl
623ba5b6dc 8300653: G1EvacInfo should use common naming scheme for collection set
Reviewed-by: ayang, iwalulya
2023-01-20 14:31:06 +00:00
Tobias Holenstein
97c611d029 8289748: C2 compiled code crashes with SIGFPE with -XX:+StressLCM and -XX:+StressGCM
Reviewed-by: thartmann, chagedorn, kvn
2023-01-20 14:20:32 +00:00
Coleen Phillimore
4562b402fb 8300682: InstanceKlassMiscStatus is a bad name
Reviewed-by: fparain, dholmes
2023-01-20 13:20:29 +00:00
Afshin Zafari
26410c180b 8281213: Unsafe uses of long and size_t in MemReporterBase::diff_in_current_scale
Reviewed-by: eastigeevich, kbarrett
2023-01-20 10:17:07 +00:00
Johan Sjölen
eca64795be 8300087: Replace NULL with nullptr in share/cds/
Reviewed-by: dholmes, iklam
2023-01-20 09:57:20 +00:00
Daniel Fuchs
49d60fee49 8300172: java/net/httpclient/MappingResponseSubscriber.java failed with java.net.ConnectException
Reviewed-by: jpai
2023-01-20 09:23:37 +00:00
Damon Fenacci
e1893976d5 8296403: [TESTBUG] IR test runner methods in TestLongRangeChecks.java invoke wrong test methods
Reviewed-by: thartmann, chagedorn, jiefu
2023-01-20 08:16:28 +00:00
Matias Saavedra Silva
77f2d20e96 8287873: Add test for using -XX:+AutoCreateSharedArchive with different JDK versions
Reviewed-by: iklam
2023-01-20 00:55:28 +00:00
Joe Darcy
93a933d4ef 8300400: Update --release 20 symbol information for JDK 20 build 32
Reviewed-by: iris, jjg
2023-01-19 23:24:01 +00:00
Justin Lu
9b97699be5 8300586: Refactor code examples to use @snippet in java.text.Collator
Reviewed-by: iris, lancea, naoto
2023-01-19 22:36:17 +00:00
Justin Lu
fbbb27e770 8300356: Refactor code examples to use @snippet in java.text.CollationElementIterator
Reviewed-by: naoto
2023-01-19 22:35:24 +00:00
Jesper Wilhelmsson
dfcd65c271 Merge 2023-01-19 22:27:45 +00:00
Joe Darcy
f2a1eb9804 8300698: Missing @since tag for ClassFileFormatVersion.RELEASE_21
Reviewed-by: rriggs, mchung
2023-01-19 22:11:23 +00:00
Alexey Ivanov
558d610beb 8299553: Make ScaledEtchedBorderTest.java comprehensive
Reviewed-by: serb, honkar, achung
2023-01-19 19:32:58 +00:00
Harshitha Onkar
80ab50b338 8294680: Refactor scaled border rendering
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: rmahajan, achung, aivanov, jdv
2023-01-19 18:43:54 +00:00
Weijun Wang
b317658d69 8300399: EdDSA does not verify when there is no message
Reviewed-by: ascarpino
2023-01-19 18:32:08 +00:00
Claes Redestad
d85243f02b 8300647: Miscellaneous hashCode improvements in java.base
Reviewed-by: stsypanov, rriggs
2023-01-19 16:50:07 +00:00
Ron Pressler
1c84050610 8298400: Virtual thread instability when stack overflows
Co-authored-by: Fei Yang <fyang@openjdk.org>
Co-authored-by: Richard Reingruber <rrich@openjdk.org>
Reviewed-by: dlong, pchilanomate
2023-01-19 15:34:01 +00:00
Stefan Karlsson
453dbd12ee 8298377: JfrVframeStream causes deadlocks in ZGC
Co-authored-by: Erik Österlund <eosterlund@openjdk.org>
Reviewed-by: eosterlund, mgronlun
2023-01-19 13:49:14 +00:00
Johan Sjölen
1084fd24eb 8299973: Replace NULL with nullptr in share/utilities/
Reviewed-by: coleenp, stefank, dholmes, kbarrett
2023-01-19 13:42:08 +00:00
Jonathan Dowland
dea58efb62 8300119: CgroupMetrics.getTotalMemorySize0() can report invalid results on 32 bit systems
Reviewed-by: sgehwolf
2023-01-19 13:26:18 +00:00
Alexey Ivanov
2e4a3c47e2 8293862: javax/swing/JFileChooser/8046391/bug8046391.java failed with 'Cannot invoke "java.awt.Image.getWidth(java.awt.image.ImageObserver)" because "retVal" is null'
Co-authored-by: Tejesh R <tr@openjdk.org>
Reviewed-by: prr, serb
2023-01-19 13:00:09 +00:00
Matthias Baesken
e326b86d37 8300042: Improve CPU related JFR events descriptions
Reviewed-by: clanger, lucy
2023-01-19 12:01:50 +00:00
Albert Mingkun Yang
11df6eb28a 8300540: Serial: Remove obsolete comments in GenMarkSweep
Reviewed-by: tschatzl
2023-01-19 11:52:40 +00:00
Albert Mingkun Yang
8f7faa631b 8300447: Parallel: Refactor PSPromotionManager::drain_stacks_depth
Reviewed-by: tschatzl, kbarrett
2023-01-19 11:51:43 +00:00
Justin King
eba87a0ee0 8300264: Remove metaprogramming/isPointer.hpp
Reviewed-by: kbarrett, tschatzl
2023-01-19 09:11:22 +00:00
Alan Bateman
08e621829b 8300526: Test runtime/jni/IsVirtualThread/IsVirtualThread.java should exercise alternative virtual thread implementation
Reviewed-by: pchilanomate
2023-01-19 09:00:01 +00:00
Johan Sjölen
cfe57466dd 8300242: Replace NULL with nullptr in share/code/
Reviewed-by: kvn, thartmann
2023-01-19 08:48:36 +00:00
Emanuel Peter
5f66024e95 8299959: C2: CmpU::Value must filter overflow computation against local sub computation
Reviewed-by: kvn, chagedorn, roland
2023-01-19 07:37:50 +00:00
Alan Bateman
5b0af1a80b 8208077: File.listRoots performance degradation
Reviewed-by: lancea, bpb
2023-01-19 06:59:38 +00:00
Christoph Langer
62a2f2327a 8300490: Spaces in name of MacOS Code Signing Identity are not correctly handled after JDK-8293550
Reviewed-by: erikj
2023-01-19 06:43:44 +00:00
SWinxy
2e9cb4b1f6 8267582: BasicLookAndFeel should not call getComponentPopupMenu twice to get a popup menu
Reviewed-by: psadhukhan
2023-01-19 05:05:20 +00:00
Sergey Bylokhov
7348b9ec93 8300167: Add validation of the raster's layout before using in native
Reviewed-by: prr
2023-01-19 05:02:12 +00:00
Feilong Jiang
24cdcd4c70 8293841: RISC-V: Implementation of Foreign Function & Memory API (Preview)
Co-authored-by: Weikai He <weikai@isrc.iscas.ac.cn>
Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: jvernee, fyang, shade, yadongwang
2023-01-19 01:33:35 +00:00
Joe Darcy
8e3036cf74 8300595: Use improved @see and @link syntax in javax.lang.model and javax.tools
Reviewed-by: jjg, iris
2023-01-19 01:14:12 +00:00
Pengfei Li
715b509f3d 8298632: [TESTBUG] Add IR checks in jtreg vectorization tests
Reviewed-by: kvn, jbhateja
2023-01-19 01:05:58 +00:00
Calvin Cheung
910dffea86 8292635: Run ArchivedEnumTest.java in jdk tier testing
Reviewed-by: iklam, dholmes
2023-01-19 00:20:13 +00:00
Jesper Wilhelmsson
fc9f8baf56 Merge 2023-01-18 23:29:12 +00:00
Justin Lu
31a2e02afc 8300308: java.text.MessageFormat has incorrect doc comment
Reviewed-by: naoto, lancea
2023-01-18 23:10:57 +00:00
Justin Lu
dfe94b89f8 8300307: Refactor code examples to use @snippet in java.text.DateFormat
Reviewed-by: lancea, iris, naoto
2023-01-18 23:09:46 +00:00
Joe Darcy
601e0ae7da 8300594: Use generalized see and link tags in UnicastRemoteObject
Reviewed-by: rriggs, smarks
2023-01-18 22:44:28 +00:00
Sergey Bylokhov
8b70c432d3 8299772: The ColorModel.getRGBdefault() method is not thread-safe
Reviewed-by: prr
2023-01-18 20:27:30 +00:00
Magnus Ihse Bursie
ba899b42ce 8300550: BASIC_JVM_LIBS is set for buildjdk even if this is incorrect
Reviewed-by: erikj
2023-01-18 20:09:34 +00:00
Joe Darcy
5473e8a1c6 8300357: Use generalized see and link tags in java.management
Reviewed-by: alanb, dfuchs
2023-01-18 20:08:37 +00:00
Joe Darcy
7bf0d1465e 8300133: Use generalized see and link tags in core libs
Reviewed-by: jjg, mchung, naoto, smarks
2023-01-18 18:54:03 +00:00
Rajat Mahajan
2a46e07f7d 8286581: Make Java process DPI Aware if sun.java2d.dpiaware property is set
Reviewed-by: aivanov, prr
2023-01-18 18:04:30 +00:00
Claes Redestad
3ea0b8bc25 8300489: Use ArraysSupport.vectorizedHashCode in j.l.CharacterName
Reviewed-by: alanb, naoto
2023-01-18 17:39:27 +00:00
Johan Sjölen
fcbf9d052e 8300243: Replace NULL with nullptr in share/compiler/
Reviewed-by: thartmann, kvn
2023-01-18 16:56:31 +00:00
Magnus Ihse Bursie
c205caead5 8297851: Add devkit for RISC-V
Reviewed-by: fyang, erikj
2023-01-18 16:16:51 +00:00
Coleen Phillimore
c3242ee452 8298596: vmTestbase/nsk/sysdict/vm/stress/chain/chain008/chain008.java fails with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom"
Reviewed-by: ayang, tschatzl
2023-01-18 15:19:30 +00:00
Dmitry Chuyko
b3684f4bac 8153837: AArch64: Handle special cases for MaxINode & MinINode
Reviewed-by: fyang, aph
2023-01-18 14:56:53 +00:00
Sergey Tsypanov
754f6e6116 8300237: Minor improvements in MethodHandles
Reviewed-by: redestad
2023-01-18 13:55:09 +00:00
Andrey Turbanov
85d8bacb0f 8300166: Unused array allocation in ProcessPath.doProcessPath
Reviewed-by: aivanov
2023-01-18 13:23:59 +00:00
Afshin Zafari
c464ef1d61 8292741: Convert JvmtiTagMapTable to ResourceHashtable
Reviewed-by: dholmes, coleenp, rehn
2023-01-18 13:21:32 +00:00
Julian Waters
1aded82e54 8300488: Incorrect usage of CATCH_BAD_ALLOC as a macro call
Reviewed-by: aivanov
2023-01-18 13:11:32 +00:00
Johan Sjölen
bd5ca95305 8300222: Replace NULL with nullptr in share/logging
Reviewed-by: coleenp, dholmes
2023-01-18 13:10:13 +00:00
Maurizio Cimadamore
b9275a8ed1 8300275: SegmentScope.isAccessibleBy returning incorrect values
Reviewed-by: alanb, jvernee
2023-01-18 12:36:15 +00:00
Jan Lahoda
c1b4212a53 8300195: Fall-through issue occurs when using record pattern in switch statements
Reviewed-by: vromero
2023-01-18 10:43:53 +00:00
Jie Fu
15a9186db2 8300169: Build failure with clang-15
Reviewed-by: dholmes, prr
2023-01-18 10:32:00 +00:00
Robbin Ehn
d9180423b8 8300267: Remove duplicated setter/getter for do_not_unlock
Reviewed-by: coleenp, dholmes
2023-01-18 10:23:11 +00:00
Daniel Jeliński
7c8b99eedb 8300117: Replace use of JNI_COMMIT mode with mode 0
Reviewed-by: serb, prr
2023-01-18 09:29:04 +00:00
Axel Boldt-Christmas
c7056737e3 8299089: Instrument global jni handles with tag to make them distinguishable
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Co-authored-by: Leslie Zhai <lzhai@openjdk.org>
Reviewed-by: eosterlund, stefank, ayang
2023-01-18 09:21:08 +00:00
Tobias Hartmann
66f7387b5f 8299074: nmethod marked for deoptimization is not deoptimized
Reviewed-by: eosterlund, rehn, kvn
2023-01-18 08:15:19 +00:00
Ramkumar Sunderbabu
1f438a8a70 8282651: ZGC: vmTestbase/gc/ArrayJuggle/ tests fails intermittently with exit code 97
Reviewed-by: lmesnik
2023-01-18 06:53:04 +00:00
Fei Yang
f1194dc07e 8300109: RISC-V: Improve code generation for MinI/MaxI nodes
Reviewed-by: fjiang, luhenry, shade
2023-01-18 01:14:47 +00:00
Sergey Kuksenko
89a032dc05 8300002: Performance regression caused by non-inlined hot methods due to post call noop instructions
Reviewed-by: kvn, iveresov, eosterlund
2023-01-18 00:16:34 +00:00
Jonathan Gibbons
7071397ed9 8299224: TestReporterStreams.java has bad indentation for legal header
Reviewed-by: prappo
2023-01-17 23:43:35 +00:00
Joe Darcy
1d8b87dda4 8300321: Use link tags in javax.sql.rowset package-info
Reviewed-by: lancea, iris
2023-01-17 22:19:30 +00:00
Joe Darcy
f9883fc45b 8300279: Use generalized see and link tags in core libs in client libs
Reviewed-by: aivanov, prr
2023-01-17 22:17:34 +00:00
Justin King
00b6c551ec 8300254: ASan build does not correctly propagate ASAN_OPTIONS
Reviewed-by: ihse
2023-01-17 21:53:34 +00:00
Claes Redestad
e37078f5bb 8282664: Unroll by hand StringUTF16 and StringLatin1 polynomial hash loops
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Ludovic Henry <luhenry@openjdk.org>
Co-authored-by: Claes Redestad <redestad@openjdk.org>
Reviewed-by: vlivanov, sviswanathan, luhenry
2023-01-17 21:06:22 +00:00
Valerie Peng
0f925fefdf 8295723: security/infra/wycheproof/RunWycheproof.java fails with Assertion Error
Reviewed-by: mschoene, ascarpino, coffeys, rhalade, weijun
2023-01-17 20:58:59 +00:00
Jayathirth D V
bd324cee9c 8295687: Better BMP bounds
Reviewed-by: rhalade, mschoene, psadhukhan, prr
2023-01-17 20:58:59 +00:00
Alexander Zuev
93161e46e7 8293742: Better Banking of Sounds
Reviewed-by: rhalade, azvegint, prr
2023-01-17 20:58:59 +00:00
Valerie Peng
6c5aefe60c 8293554: Enhanced DH Key Exchanges
Reviewed-by: rhalade, mschoene, ascarpino, weijun
2023-01-17 20:58:59 +00:00
Jamil Nimeh
2e8073e4f9 8287411: Enhance DTLS Performance
Reviewed-by: rhalade, ahgross, weijun, ascarpino
2023-01-17 20:58:58 +00:00
Prasanta Sadhukhan
d6b1513233 8293717: Objective view of ObjectView
Reviewed-by: kizune, rhalade, prr, azvegint, skoivu
2023-01-17 20:58:58 +00:00
Jayathirth D V
3364c460a4 8293734: Improve BMP image handling
Reviewed-by: kizune, prr, azvegint, rhalade, mschoene
2023-01-17 20:58:58 +00:00
Daniel Jeliński
b7cfb6817b 8293598: Enhance InetAddress address handling
Reviewed-by: skoivu, alanb, aefimov, rhalade, dfuchs
2023-01-17 20:58:58 +00:00
Markus Grönlund
51e52c4eb8 8286496: Improve Thread labels
Reviewed-by: mschoene, rhalade, egahlin
2023-01-17 20:58:58 +00:00
Phil Race
5aae8226fc 8288516: Enhance font creation
Reviewed-by: psadhukhan, azvegint, rhalade, mschoene
2023-01-17 20:58:58 +00:00
Naoto Sato
ba86c23eaf 8286070: Improve UTF8 representation
Reviewed-by: bchristi, rhalade
2023-01-17 20:58:58 +00:00
Justin Lu
ade08e190c 8300093: Refactor code examples to use @snippet in java.text.MessageFormat
Reviewed-by: iris, naoto
2023-01-17 19:40:41 +00:00
Justin Lu
d7c05d1870 8300011: Refactor code examples to use @snippet in java.util.TimeZone
Reviewed-by: lancea, naoto, iris
2023-01-17 18:30:32 +00:00
SWinxy
8c12ae8673 8283203: Fix typo in SystemTray.getTrayIconSize javadoc
Reviewed-by: aivanov
2023-01-17 17:30:25 +00:00
Naoto Sato
e7e3712121 8300010: UnsatisfiedLinkError on calling System.console().readPassword() on Windows
Reviewed-by: alanb
2023-01-17 17:25:44 +00:00
Xin Liu
0b9ff06f3a 8300184: Optimize ResourceHashtableBase::iterate_all using _number_of_entries
Reviewed-by: dholmes, rehn
2023-01-17 17:09:25 +00:00
Magnus Ihse Bursie
75b122feea 8300120: Configure should support different defaults for CI/dev build environments
Reviewed-by: erikj
2023-01-17 17:00:46 +00:00
Justin King
e139ec3db2 8300069: Left shift of negative value in share/adlc/dict2.cpp
Reviewed-by: ihse, kbarrett
2023-01-17 16:59:31 +00:00
Alan Bateman
fb147aaea1 8300228: ModuleReader.find on exploded module throws if resource name maps to invalid file path
Reviewed-by: jpai, chegar, cstein
2023-01-17 16:25:11 +00:00
Albert Mingkun Yang
4cd166ff27 8300125: Serial: Remove unused Generation::reset_saved_marks
Reviewed-by: kbarrett, lkorinth
2023-01-17 15:41:23 +00:00
Erik Österlund
ae0e02766a 8298059: Linked stack watermarks don't support nesting
Reviewed-by: stefank
Backport-of: b17c52422c
2023-01-17 15:05:51 +00:00
Jesper Wilhelmsson
85d70acc6e Merge 2023-01-17 13:19:14 +00:00
Erik Österlund
b7fb8ef89e 8299323: Allow extended registers for cmpw
Reviewed-by: sviswanathan, kvn
2023-01-17 12:16:05 +00:00
Abhishek Kumar
07d5753172 8300168: Typo in AccessibleJTableHeaderEntry javadoc
Reviewed-by: psadhukhan, tr
2023-01-17 10:40:19 +00:00
Matthias Baesken
e82dc6935b 8300205: Swing test bug8078268 make latch timeout configurable
Reviewed-by: aivanov, serb
2023-01-17 08:21:12 +00:00
Erik Österlund
9a36f8aadb 8299673: Simplify object pinning interactions with string deduplication
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: kbarrett, stefank, dholmes
2023-01-17 08:00:56 +00:00
Per Minborg
3462438ae1 8299576: Reimplement java.io.Bits using VarHandle access
Reviewed-by: uschindler, alanb
2023-01-17 07:44:26 +00:00
Hao Sun
f829a67935 8300227: [macos_aarch64] assert(cpu_has("hw.optional.arm.FEAT_AES")) failed after JDK-8297092
Reviewed-by: dholmes
2023-01-17 06:43:58 +00:00
Afshin Zafari
6a81d528e8 8299213: Bad cast in GrowableArrayWithAllocator<>::grow
Reviewed-by: kbarrett, jsjolen, jwaters
2023-01-17 05:44:41 +00:00
Tejesh R
8365c6775c 8300084: AquaFileChooserUI.getDefaultButton returns null
Reviewed-by: aivanov, serb
2023-01-17 04:44:42 +00:00
Archie L. Cobbs
382fe51b6d 8163229: several regression tests have a main method that is never executed
Reviewed-by: vromero
2023-01-17 04:43:40 +00:00
Matthew Donovan
06f9374e0c 8298867: Basics.java fails with SSL handshake exception
Reviewed-by: xuelei, rhalade
2023-01-17 04:41:55 +00:00
Fei Yang
859ccd1a15 8299847: RISC-V: Improve PrintOptoAssembly output of CMoveI/L nodes
Reviewed-by: fjiang, shade
2023-01-17 03:06:57 +00:00
Hao Sun
240830df7e 8297092: [macos_aarch64] Add support for SHA feature detection
Reviewed-by: njian, aph, gziemski
2023-01-17 02:07:43 +00:00
Justin King
f52f6e65fb 8299972: Remove metaprogramming/removeReference.hpp
Reviewed-by: tschatzl, kbarrett
2023-01-16 19:30:16 +00:00
Justin King
4c1e66e0ab 8299971: Remove metaprogramming/conditional.hpp
Reviewed-by: tschatzl, kbarrett
2023-01-16 19:28:25 +00:00
Magnus Ihse Bursie
4073b68565 8298047: Remove all non-significant trailing whitespace from properties files
Reviewed-by: serb, rriggs
2023-01-16 18:53:54 +00:00
Leo Korinth
506c818689 8296401: ConcurrentHashTable::bulk_delete might miss to delete some objects
Reviewed-by: rehn, iwalulya, aboldtch
2023-01-16 16:36:36 +00:00
Albert Mingkun Yang
319de6a6d3 8300124: Remove unnecessary assert in GenCollectedHeap::initialize
Reviewed-by: stefank, tschatzl
2023-01-16 14:25:35 +00:00
Afshin Zafari
289aed465e 8298128: runtime/ErrorHandling/TestSigInfoInHsErrFile.java fails to find pattern with slowdebug
Reviewed-by: dcubed, dholmes, stuefe
2023-01-16 12:36:45 +00:00
Manukumar V S
a2f67660f0 8288415: java/awt/PopupMenu/PopupMenuLocation.java is unstable in MacOS machines
Reviewed-by: dnguyen, aivanov
2023-01-16 12:18:51 +00:00
Erik Österlund
a734285314 8299879: CollectedHeap hierarchy should use override
Reviewed-by: stefank, tschatzl
2023-01-16 10:54:10 +00:00
Bhavana Kilambi
98d75f1879 8299038: Add AArch64 backend support for auto-vectorized FP16 conversions
Reviewed-by: xgong, ngasson
2023-01-16 10:47:38 +00:00
Aleksey Shipilev
cac72a6018 8300053: Shenandoah: Handle more GCCauses in ShenandoahControlThread::request_gc
Reviewed-by: wkemper, rkennke
2023-01-16 09:32:04 +00:00
Emanuel Peter
6fea233e22 8299960: Speed up test/hotspot/jtreg/compiler/c2/irTests/TestVectorizeURShiftSubword.java
Reviewed-by: thartmann, chagedorn, fgao
2023-01-16 09:17:31 +00:00
Emanuel Peter
7c1ebcc4ce 8299962: Speed up compiler/intrinsics/unsafe/DirectByteBufferTest.java and HeapByteBufferTest.java
Reviewed-by: kvn, thartmann
2023-01-16 09:15:31 +00:00
Aleksey Shipilev
abfd7e89f6 8300113: C2: Single-bit fields with signed type in TypePtr after JDK-8297933
Reviewed-by: roland, thartmann
2023-01-16 08:49:02 +00:00
Damon Fenacci
83f2c9a2b2 8293410: Remove GenerateRangeChecks flag
Reviewed-by: thartmann, chagedorn, kvn
2023-01-16 07:34:11 +00:00
Daniel Jeliński
50e7df91c7 8300024: Replace use of JNI_COMMIT mode with mode 0
Reviewed-by: amenkov, sspitsyn, cjplummer
2023-01-16 06:58:27 +00:00
Daniel Jeliński
fe7fca0128 8300032: DwarfParser resource leak
Reviewed-by: cjplummer, sspitsyn
2023-01-16 06:56:43 +00:00
Julian Waters
12edd6f922 8300052: PdhDll::PdhCollectQueryData and PdhLookupPerfNameByIndex will never be NULL
Reviewed-by: dholmes
2023-01-16 06:07:38 +00:00
Ioi Lam
7bcd5f418c 8297914: Remove java_lang_Class::process_archived_mirror()
Reviewed-by: ccheung
2023-01-15 20:30:31 +00:00
Sergey Bylokhov
e15bdc58ab 8299789: Compilation of gtest causes build to fail if runtime libraries are in different dirs
Reviewed-by: erikj
Backport-of: c8a8388aba
2023-01-14 04:19:54 +00:00
Jesper Wilhelmsson
4be94e4350 Merge 2023-01-14 01:57:13 +00:00
Chris Plummer
f4e119d5fc 8300012: Remove unused JDI VirtualMachineImpl.removeObjectMirror(ObjectReferenceImpl object) method
Reviewed-by: alanb, sspitsyn
2023-01-13 23:25:25 +00:00
Justin Lu
87865e0eb8 8299502: Usage of constructors of primitive wrapper classes should be avoided in javax.xml API docs
Backport-of: b8852f65a0
2023-01-13 23:19:02 +00:00
Justin Lu
dc5cc61621 8299499: Usage of constructors of primitive wrapper classes should be avoided in java.net API docs
Backport-of: 63cf4aa0c8
2023-01-13 23:17:53 +00:00
Justin Lu
98eae6dade 8299500: Usage of constructors of primitive wrapper classes should be avoided in java.text API docs
Reviewed-by: iris
Backport-of: cd10c7278d
2023-01-13 23:16:48 +00:00
Justin Lu
628266af60 8299501: Usage of constructors of primitive wrapper classes should be avoided in java.util API docs
Backport-of: f36f1354c6
2023-01-13 23:15:28 +00:00
Justin Lu
ab7f43f080 8299498: Usage of constructors of primitive wrapper classes should be avoided in java.lang API docs
Backport-of: d663b5da10
2023-01-13 23:14:14 +00:00
Daniel D. Daugherty
bc498f87f7 8300141: ProblemList java/util/concurrent/locks/Lock/OOMEInAQS.java with ZGC
8300144: ProblemList vmTestbase/nsk/sysdict/vm/stress/chain/chain007/chain007.java with ZGC
8300147: ProblemList vmTestbase/nsk/jvmti/SetFieldModificationWatch/setfmodw001/TestDescription.java in Xcomp

Reviewed-by: mikael
2023-01-13 22:55:08 +00:00
Artem Semenov
8cb25d3de4 8298644: JNI call of getCurrentComponent on a wrong thread
Reviewed-by: avu, serb, kizune
2023-01-13 19:39:56 +00:00
Justin Lu
500b45e12d 8299865: Unnecessary NullPointerException catch in java.util.TimeZone#setDefaultZone
Reviewed-by: lancea, iris, naoto, aturbanov
2023-01-13 18:13:50 +00:00
Eirik Bjorsnos
4ec3659845 8278349: JarSigner javadoc example uses SHA-1
Reviewed-by: weijun
2023-01-13 17:55:07 +00:00
Albert Mingkun Yang
d117979503 8300054: Use static_assert in basic_types_init
Reviewed-by: stefank, kbarrett
2023-01-13 16:49:26 +00:00
Gerard Ziemski
e0081462f4 8300055: [BACKOUT] OPEN_MAX is no longer the max limit on macOS >= 10.6 for RLIMIT_NOFILE
Reviewed-by: tschatzl, rriggs
2023-01-13 15:38:49 +00:00
Per Minborg
ce1193a1ed 8299976: Initialize static fields in Net eagerly
Reviewed-by: alanb
2023-01-13 15:19:12 +00:00
Jie Fu
3ffc955783 8300099: Configuration fails to auto-detect build user through $USER in dockers
Reviewed-by: ihse
2023-01-13 13:53:22 +00:00
Erik Österlund
e7fa150bc1 8299032: Interface IN_NATIVE oop stores for C2
Reviewed-by: stefank, rcastanedalo
2023-01-13 12:48:30 +00:00
Stefan Karlsson
c250222880 8300110: Unproblemlist Fuzz.java from ProblemList-zgc.txt
Reviewed-by: aboldtch, tschatzl
2023-01-13 12:28:52 +00:00
Markus Grönlund
ac63f5f8dd 8297877: Risk for uninitialized memory in case of CHECK macro early return as part of field access
Reviewed-by: ccheung, egahlin
2023-01-13 12:11:09 +00:00
Matthias Baesken
be8e6d05db 8299957: Enhance error logging in instrument coding with additional jplis_assert_msg
Reviewed-by: sspitsyn
2023-01-13 07:57:38 +00:00
Tobias Hartmann
640eff64d2 8300040: TypeOopPtr::make_from_klass_common calls itself with args in wrong order
Co-authored-by: David Simms <dsimms@openjdk.org>
Reviewed-by: chagedorn, kvn
2023-01-13 07:16:53 +00:00
Justin King
19628e3e0c 8300068: UBSan CFLAGS/LDFLAGS not passed when building ADLC
Reviewed-by: ihse
2023-01-13 04:07:42 +00:00
Jesper Wilhelmsson
9887047228 Merge 2023-01-12 22:24:19 +00:00
Raffaello Giulietti
33412c102c 8299677: Formatter.format might take a long time to format an integer or floating-point
Reviewed-by: alanb, stsypanov, darcy
2023-01-12 19:21:09 +00:00
Mikael Vidstedt
4b92fb0c6b 8299918: Update Xcode11.3.1-MacOSX10.15 devkit at Oracle
Reviewed-by: erikj
Backport-of: a17b563f54
2023-01-12 18:47:08 +00:00
Justin King
7a85d95e82 8298448: UndefinedBehaviorSanitizer
Reviewed-by: erikj, ihse
2023-01-12 15:50:05 +00:00
Julian Waters
26890d1909 8296478: Rework 8282948 and 8282700 to use the new autoconf UTIL_ARG_WITH
Reviewed-by: erikj, ihse
2023-01-12 15:01:59 +00:00
Roger Riggs
6a4a874356 8299034: Runtime::exec clarification of inherited environment
Reviewed-by: alanb
2023-01-12 14:54:39 +00:00
Julian Waters
cf00d09c8c 8299330: Minor improvements in MSYS2 Workflow handling
Reviewed-by: clanger, ihse
2023-01-12 14:32:14 +00:00
Claes Redestad
48c8fb39a7 8299978: Remove MethodHandleNatives.getMembers
Reviewed-by: jvernee, mchung
2023-01-12 13:39:59 +00:00
Axel Boldt-Christmas
89d3f3d96b 8299125: UnifiedOopRef in JFR leakprofiler should treat thread local oops correctly
Reviewed-by: eosterlund, mgronlun
2023-01-12 12:38:13 +00:00
Alan Bateman
4b573343a6 8278326: Socket close is not thread safe and other cleanup
Reviewed-by: jpai
2023-01-12 09:38:31 +00:00
Nick Gasson
036c80844e 8298482: Implement ParallelGC NUMAStats for Linux
Reviewed-by: ayang, sjohanss, tschatzl
2023-01-12 09:28:46 +00:00
Matthias Baesken
0ee8cac7c7 8299672: Enhance HeapDump JFR event
Reviewed-by: rschmelter, clanger
2023-01-12 08:04:46 +00:00
Christoph Langer
752a37016f 8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR
Reviewed-by: naoto
Backport-of: 3b374c0153
2023-01-12 08:02:58 +00:00
Emanuel Peter
d716ec5d30 8299179: ArrayFill with store on backedge needs to reduce length by 1
Reviewed-by: thartmann, kvn
2023-01-12 07:23:19 +00:00
Jorn Vernee
3918f9f523 8299090: Specify coordinate order for additional CaptureCallState parameters on class as well
Reviewed-by: pminborg, mcimadamore
2023-01-12 06:49:27 +00:00
Afshin Zafari
af8d3fb21a 8264684: os::get_summary_cpu_info padded with spaces
Reviewed-by: iklam, ccheung
2023-01-12 01:54:11 +00:00
Sergey Bylokhov
78b1686c15 8227257: javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError
Reviewed-by: aivanov, tr
2023-01-12 01:52:56 +00:00
4899 changed files with 182311 additions and 79644 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
@@ -43,7 +43,7 @@ runs:
uses: actions/checkout@v3
with:
repository: google/googletest
ref: 'release-${{ steps.version.outputs.value }}'
ref: 'v${{ steps.version.outputs.value }}'
path: gtest
- name: 'Export path to where GTest is installed'

View File

@@ -34,11 +34,11 @@ runs:
with:
install: 'autoconf tar unzip zip make'
path-type: minimal
location: msys2
location: ${{ runner.tool_cache }}/msys2
# We can't run bash until this is completed, so stick with pwsh
- name: 'Set MSYS2 path'
run: |
# Prepend msys2/msys64/usr/bin to the PATH
echo "$env:GITHUB_WORKSPACE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH
echo "$env:RUNNER_TOOL_CACHE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH
shell: pwsh

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
@@ -126,7 +126,6 @@ jobs:
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--enable-jtreg-failure-handler
--with-zlib=system
--with-jmod-compress=zip-1
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (

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
@@ -101,7 +101,6 @@ jobs:
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--enable-jtreg-failure-handler
--with-zlib=system
--with-jmod-compress=zip-1
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (

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
@@ -114,7 +114,6 @@ jobs:
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--enable-jtreg-failure-handler
--with-msvc-toolset-version=${{ inputs.msvc-toolset-version }}
--with-jmod-compress=zip-1
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
@@ -125,6 +124,7 @@ jobs:
# We need a minimal PATH on Windows
# Set PATH to "", so just GITHUB_PATH is included
PATH: ''
shell: env /usr/bin/bash --login -eo pipefail {0}
- name: 'Build'
id: build

View File

@@ -26,10 +26,6 @@
name: 'OpenJDK GHA Sanity Checks'
on:
push:
branches-ignore:
- master
- pr/*
workflow_dispatch:
inputs:
platforms:
@@ -59,7 +55,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 }}
@@ -235,7 +232,7 @@ jobs:
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-x64
xcode-toolset-version: '11.7'
xcode-toolset-version: '12.5.1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-x64 == 'true'
@@ -246,7 +243,7 @@ jobs:
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-aarch64
xcode-toolset-version: '12.4'
xcode-toolset-version: '12.5.1'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}

270
.github/workflows/pr.yml vendored Normal file
View File

@@ -0,0 +1,270 @@
#
# Copyright 2000-2023 JetBrains s.r.o.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Build OpenJDK on pull request'
on:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
###
### Determine platforms to include
###
select:
name: 'Select platforms'
runs-on: ubuntu-22.04
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86: ${{ steps.include.outputs.linux-x86 }}
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
macos-x64: ${{ steps.include.outputs.macos-x64 }}
macos-aarch64: ${{ steps.include.outputs.macos-aarch64 }}
windows-x64: ${{ steps.include.outputs.windows-x64 }}
windows-aarch64: ${{ steps.include.outputs.windows-aarch64 }}
windows-x86: ${{ steps.include.outputs.windows-x86 }}
steps:
# This function must be inlined in main.yml, or we'd be forced to checkout the repo
- name: 'Check what jobs to run'
id: include
run: |
# Determine which platform jobs to run
# Returns 'true' if the input platform list matches any of the platform monikers given as argument,
# 'false' otherwise.
# arg $1: platform name or names to look for
function check_platform() {
if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
input='${{ github.event.inputs.platforms }}'
elif [[ $GITHUB_EVENT_NAME == push ]]; then
if [[ '${{ !secrets.JDK_SUBMIT_FILTER || startsWith(github.ref, 'refs/heads/submit/') }}' == 'false' ]]; then
# If JDK_SUBMIT_FILTER is set, and this is not a "submit/" branch, don't run anything
>&2 echo 'JDK_SUBMIT_FILTER is set and not a "submit/" branch'
echo 'false'
return
else
input='${{ secrets.JDK_SUBMIT_PLATFORMS }}'
fi
fi
normalized_input="$(echo ,$input, | tr -d ' ')"
if [[ "$normalized_input" == ",," ]]; then
# For an empty input, assume all platforms should run
echo 'true'
return
else
# Check for all acceptable platform names
for part in $* ; do
if echo "$normalized_input" | grep -q -e ",$part," ; then
echo 'true'
return
fi
done
fi
echo 'false'
}
echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
echo "linux-x86=$(check_platform linux-x86 linux x86)" >> $GITHUB_OUTPUT
echo "linux-x64-variants=$(check_platform linux-x64-variants variants)" >> $GITHUB_OUTPUT
echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
echo "macos-x64=$(check_platform macos-x64 macos x64)" >> $GITHUB_OUTPUT
echo "macos-aarch64=$(check_platform macos-aarch64 macos aarch64)" >> $GITHUB_OUTPUT
echo "windows-x64=$(check_platform windows-x64 windows x64)" >> $GITHUB_OUTPUT
echo "windows-x86=$(check_platform windows-x86 windows x86)" >> $GITHUB_OUTPUT
echo "windows-aarch64=$(check_platform windows-aarch64 windows aarch64)" >> $GITHUB_OUTPUT
echo "docs=$(check_platform docs)" >> $GITHUB_OUTPUT
###
### Build jobs
###
build-linux-x64:
name: linux-x64
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
# The linux-x64 jdk bundle is used as buildjdk for the cross-compile job
if: needs.select.outputs.linux-x64 == 'true' || needs.select.outputs.linux-cross-compile == 'true'
build-linux-x86:
name: linux-x86
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x86
gcc-major-version: '10'
gcc-package-suffix: '-multilib'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
apt-architecture: 'i386'
# Some multilib libraries do not have proper inter-dependencies, so we have to
# install their dependencies manually.
apt-extra-packages: 'libfreetype6-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libc6-i386'
extra-conf-options: '--with-target-bits=32'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x86 == 'true'
build-linux-cross-compile:
name: linux-cross-compile
needs:
- select
- build-linux-x64
uses: ./.github/workflows/build-cross-compile.yml
with:
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
apt-gcc-cross-version: '10.4.0-4ubuntu1~22.04cross1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-cross-compile == 'true'
build-macos-x64:
name: macos-x64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-x64
xcode-toolset-version: '12.5.1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-x64 == 'true'
build-macos-aarch64:
name: macos-aarch64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-aarch64
xcode-toolset-version: '12.5.1'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-aarch64 == 'true'
build-windows-x64:
name: windows-x64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'x86.x64'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-x64 == 'true'
build-windows-x86:
name: windows-x86
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x86
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'x86'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-x86 == 'true'
build-windows-aarch64:
name: windows-aarch64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-aarch64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'arm64'
make-target: 'hotspot'
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-aarch64 == 'true'
build-docs:
name: docs
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
debug-levels: '[ "debug" ]'
make-target: 'docs-jdk-bundles'
# Make sure we never try to make full docs, since that would require a
# build JDK, and we do not need the additional testing of the graphs.
extra-conf-options: '--disable-full-docs'
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.docs == 'true'
# Remove bundles so they are not misconstrued as binary distributions from the JDK project
remove-bundles:
name: 'Remove bundle artifacts'
runs-on: ubuntu-22.04
if: always()
needs:
- build-linux-x64
- build-linux-x86
- build-linux-cross-compile
- build-macos-x64
- build-macos-aarch64
- build-windows-x64
- build-windows-aarch64
- build-windows-x86
steps:
# Hack to get hold of the api environment variables that are only defined for actions
- name: 'Get API configuration'
id: api
uses: actions/github-script@v6
with:
script: 'return { url: process.env["ACTIONS_RUNTIME_URL"], token: process.env["ACTIONS_RUNTIME_TOKEN"] }'
- name: 'Remove bundle artifacts'
run: |
# Find and remove all bundle artifacts
ALL_ARTIFACT_URLS="$(curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
'${{ fromJson(steps.api.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview')"
BUNDLE_ARTIFACT_URLS="$(echo "$ALL_ARTIFACT_URLS" | jq -r -c '.value | map(select(.name|startswith("bundles-"))) | .[].url')"
for url in $BUNDLE_ARTIFACT_URLS; do
echo "Removing $url"
curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
-X DELETE "$url" \
|| echo "Failed to remove bundle"
done

2
.gitignore vendored
View File

@@ -18,3 +18,5 @@ NashornProfile.txt
/src/utils/LogCompilation/target/
/.project/
/.settings/
*.class
.idea/workspace.xml

222
README.md
View File

@@ -1,12 +1,216 @@
# Welcome to the JDK!
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
For build instructions please see the
[online documentation](https://openjdk.org/groups/build/doc/building.html),
or either of these files:
# Welcome to JetBrains Runtime!
- [doc/building.html](doc/building.html) (html version)
- [doc/building.md](doc/building.md) (markdown version)
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.
See <https://openjdk.org/> for more information about the OpenJDK
Community and the JDK and see <https://bugs.openjdk.org> for JDK issue
tracking.
> **_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)
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 17
| IDE Version | Latest JBR | Date Released |
|-------------|--------------------------------------------------------------------------------------------------------|---------------|
| 2023.1 | [17.0.6-b829.5](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jbr-release-17.0.6b829.5) | 01-Mar-2023 |
| 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
cd JetBrainsRuntime
git checkout jbr21
```
### Windows
<a name="sources-windows"></a>
```
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
cd JetBrainsRuntime
git checkout jbr21
```
## 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 19 (for instance, [Azul Zulu Builds of OpenJDK 19](https://www.azul.com/downloads/?version=java-19-sts&os=linux&package=jdk)).
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 19 (for instance, [Azul Zulu Builds of OpenJDK 19](https://www.azul.com/downloads/?version=java-19-sts&os=windows&package=jdk)).
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 19 (for instance, [Azul Zulu Builds of OpenJDK 19](https://www.azul.com/downloads/?version=java-19-sts&os=macos&package=jdk)).
From the command line:
```
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
```
This will build the release configuration under `./build/macosx-x86_64-server-release/`.
## Developing
You can use [CLion](https://www.jetbrains.com/clion/) to develop native parts of the JetBrains Runtime and
[IntelliJ IDEA](https://www.jetbrains.com/idea/) for the parts written in Java.
Both require projects to be created.
### CLion
Run
```
$ make compile-commands
```
in the git root and open the resulting `build/.../compile_commands.json` file as a project.
Then use `Tools | Compilation Database | Change Project Root` to point to git root of this repository.
See also this detailed step-by-step tutorial for all platforms:
[How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).
### IDEA
Run
```
$ sh ./bin/idea.sh
```
in the git root to generate project files (add `--help` for options). If you have multiple
configurations (for example, `release` and `fastdebug`), supply the `--conf <conf_name>` argument.
Then open the git root directory as a project in IDEA.
## Contributing
We are happy to receive your pull requests!
Before you submit one, please sign our [Contributor License Agreement (CLA)](https://www.jetbrains.com/agreements/cla/).
## Resources
* [JetBrains Runtime on GitHub](https://github.com/JetBrains/JetBrainsRuntime).
* [OpenJDK build instructions](https://openjdk.java.net/groups/build/doc/building.html).
* [OpenJDK test instructions](https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk/master/doc/building.html#running-tests).
* [How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).

View File

@@ -25,7 +25,26 @@
# Shell script for generating an IDEA project from a given list of modules
usage() {
echo "usage: $0 [-h|--help] [-v|--verbose] [-o|--output <path>] [-c|--conf <conf_name>] [modules]+"
echo "Usage: $0 [-h|--help] [-q|--quiet] [-a|--absolute-paths] [-r|--root <path>] [-o|--output <path>] [-c|--conf <conf_name>] [modules...]"
echo " -h | --help"
echo " -q | --quiet
No stdout output"
echo " -a | --absolute-paths
Use absolute paths to this jdk, so that generated .idea
project files can be moved independently of jdk sources"
echo " -r | --root <path>
Project content root
Default: $TOPLEVEL_DIR"
echo " -o | --output <path>
Where .idea directory with project files will be generated
(e.g. using '-o .' will place project files in './.idea')
Default: same as --root"
echo " -c | --conf <conf_name>
make configuration (release, slowdebug etc)"
echo " [modules...]
Generate project modules for specific java modules
(e.g. 'java.base java.desktop')
Default: all existing modules (java.* and jdk.*)"
exit 1
}
@@ -33,10 +52,13 @@ SCRIPT_DIR=`dirname $0`
#assume TOP is the dir from which the script has been called
TOP=`pwd`
cd $SCRIPT_DIR; SCRIPT_DIR=`pwd`
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
cd .. ; TOPLEVEL_DIR=`pwd`
fi
cd $TOP;
IDEA_OUTPUT=$TOP/.idea
VERBOSE="false"
VERBOSE=true
ABSOLUTE_PATHS=false
CONF_ARG=
while [ $# -gt 0 ]
do
@@ -45,14 +67,24 @@ do
usage
;;
-v | --vebose )
VERBOSE="true"
-q | --quiet )
VERBOSE=false
;;
-a | --absolute-paths )
ABSOLUTE_PATHS=true
;;
-r | --root )
TOPLEVEL_DIR="$2"
shift
;;
-o | --output )
IDEA_OUTPUT=$2/.idea
IDEA_OUTPUT="$2/.idea"
shift
;;
-c | --conf )
CONF_ARG="CONF_NAME=$2"
shift
@@ -69,20 +101,17 @@ do
shift
done
if [ -e $IDEA_OUTPUT ] ; then
rm -r $IDEA_OUTPUT
if [ "x$IDEA_OUTPUT" = "x" ] ; then
IDEA_OUTPUT="$TOPLEVEL_DIR/.idea"
fi
mkdir -p $IDEA_OUTPUT || exit 1
cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
cd "$TOP" ; cd $TOPLEVEL_DIR; TOPLEVEL_DIR=`pwd`
cd "$TOP" ; cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
cd ..; IDEA_OUTPUT_PARENT=`pwd`
cd "$SCRIPT_DIR/.." ; OPENJDK_DIR=`pwd`
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
cd $SCRIPT_DIR/..
TOPLEVEL_DIR=`pwd`
cd $IDEA_OUTPUT
fi
MAKE_DIR="$SCRIPT_DIR/../make"
IDEA_MAKE="$MAKE_DIR/ide/idea/jdk"
IDEA_MAKE="$OPENJDK_DIR/make/ide/idea/jdk"
IDEA_TEMPLATE="$IDEA_MAKE/template"
cp -r "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
@@ -94,31 +123,31 @@ if [ -d "$TEMPLATES_OVERRIDE" ] ; then
done
fi
if [ "$VERBOSE" = "true" ] ; then
echo "output dir: $IDEA_OUTPUT"
echo "idea template dir: $IDEA_TEMPLATE"
if [ "$VERBOSE" = true ] ; then
echo "Will generate IDEA project files in \"$IDEA_OUTPUT\" for project \"$TOPLEVEL_DIR\""
fi
cd $TOP ; make -f "$IDEA_MAKE/idea.gmk" -I $MAKE_DIR/.. idea MAKEOVERRIDES= OUT=$IDEA_OUTPUT/env.cfg MODULES="$*" $CONF_ARG || exit 1
cd $TOP ; make -f "$IDEA_MAKE/idea.gmk" -I "$OPENJDK_DIR" idea TOPLEVEL_DIR="$TOPLEVEL_DIR" \
MAKEOVERRIDES= IDEA_OUTPUT_PARENT="$IDEA_OUTPUT_PARENT" OUT="$IDEA_OUTPUT/env.cfg" MODULES="$*" $CONF_ARG || exit 1
cd $SCRIPT_DIR
. $IDEA_OUTPUT/env.cfg
# Expect MODULE_ROOTS, MODULE_NAMES, BOOT_JDK & SPEC to be set
if [ "x$MODULE_ROOTS" = "x" ] ; then
echo "FATAL: MODULE_ROOTS is empty" >&2; exit 1
# Expect MODULES, MODULE_NAMES, RELATIVE_PROJECT_DIR, RELATIVE_BUILD_DIR to be set
if [ "xMODULES" = "x" ] ; then
echo "FATAL: MODULES is empty" >&2; exit 1
fi
if [ "x$MODULE_NAMES" = "x" ] ; then
echo "FATAL: MODULE_NAMES is empty" >&2; exit 1
fi
if [ "x$BOOT_JDK" = "x" ] ; then
echo "FATAL: BOOT_JDK is empty" >&2; exit 1
if [ "x$RELATIVE_PROJECT_DIR" = "x" ] ; then
echo "FATAL: RELATIVE_PROJECT_DIR is empty" >&2; exit 1
fi
if [ "x$SPEC" = "x" ] ; then
echo "FATAL: SPEC is empty" >&2; exit 1
if [ "x$RELATIVE_BUILD_DIR" = "x" ] ; then
echo "FATAL: RELATIVE_BUILD_DIR is empty" >&2; exit 1
fi
if [ -d "$TOPLEVEL_DIR/.hg" ] ; then
@@ -129,6 +158,43 @@ if [ -d "$TOPLEVEL_DIR/.git" ] ; then
VCS_TYPE="Git"
fi
if [ "$ABSOLUTE_PATHS" = true ] ; then
if [ "x$PATHTOOL" != "x" ]; then
PROJECT_DIR="`$PATHTOOL -am $OPENJDK_DIR`"
TOPLEVEL_PROJECT_DIR="`$PATHTOOL -am $TOPLEVEL_DIR`"
else
PROJECT_DIR="$OPENJDK_DIR"
TOPLEVEL_PROJECT_DIR="$TOPLEVEL_DIR"
fi
MODULE_DIR="$PROJECT_DIR"
TOPLEVEL_MODULE_DIR="$TOPLEVEL_PROJECT_DIR"
cd "$IDEA_OUTPUT_PARENT" && cd "$RELATIVE_BUILD_DIR" && BUILD_DIR="`pwd`"
CLION_SCRIPT_TOPDIR="$OPENJDK_DIR"
CLION_PROJECT_DIR="$PROJECT_DIR"
else
if [ "$RELATIVE_PROJECT_DIR" = "." ] ; then
PROJECT_DIR=""
else
PROJECT_DIR="/$RELATIVE_PROJECT_DIR"
fi
if [ "$RELATIVE_TOPLEVEL_PROJECT_DIR" = "." ] ; then
TOPLEVEL_PROJECT_DIR=""
else
TOPLEVEL_PROJECT_DIR="/$RELATIVE_TOPLEVEL_PROJECT_DIR"
fi
MODULE_DIR="\$MODULE_DIR\$$PROJECT_DIR"
PROJECT_DIR="\$PROJECT_DIR\$$PROJECT_DIR"
TOPLEVEL_MODULE_DIR="\$MODULE_DIR\$$TOPLEVEL_PROJECT_DIR"
TOPLEVEL_PROJECT_DIR="\$PROJECT_DIR\$$TOPLEVEL_PROJECT_DIR"
BUILD_DIR="\$PROJECT_DIR\$/$RELATIVE_BUILD_DIR"
CLION_SCRIPT_TOPDIR="$CLION_RELATIVE_PROJECT_DIR"
CLION_PROJECT_DIR="\$PROJECT_DIR\$/$CLION_SCRIPT_TOPDIR"
fi
if [ "$VERBOSE" = true ] ; then
echo "Project root: $PROJECT_DIR"
echo "Generating IDEA project files..."
fi
### Replace template variables
NUM_REPLACEMENTS=0
@@ -152,126 +218,106 @@ add_replacement() {
eval TO$NUM_REPLACEMENTS='$2'
}
add_replacement "###PATHTOOL###" "$PATHTOOL"
add_replacement "###CLION_SCRIPT_TOPDIR###" "$CLION_SCRIPT_TOPDIR"
add_replacement "###CLION_PROJECT_DIR###" "$CLION_PROJECT_DIR"
add_replacement "###PROJECT_DIR###" "$PROJECT_DIR"
add_replacement "###MODULE_DIR###" "$MODULE_DIR"
add_replacement "###TOPLEVEL_PROJECT_DIR###" "$TOPLEVEL_PROJECT_DIR"
add_replacement "###TOPLEVEL_MODULE_DIR###" "$TOPLEVEL_MODULE_DIR"
add_replacement "###MODULE_NAMES###" "$MODULE_NAMES"
add_replacement "###VCS_TYPE###" "$VCS_TYPE"
SPEC_DIR=`dirname $SPEC`
if [ "x$CYGPATH" != "x" ]; then
add_replacement "###BUILD_DIR###" "`$CYGPATH -am $SPEC_DIR`"
add_replacement "###IMAGES_DIR###" "`$CYGPATH -am $SPEC_DIR`/images/jdk"
add_replacement "###ROOT_DIR###" "`$CYGPATH -am $TOPLEVEL_DIR`"
add_replacement "###IDEA_DIR###" "`$CYGPATH -am $IDEA_OUTPUT`"
add_replacement "###BUILD_DIR###" "$BUILD_DIR"
add_replacement "###RELATIVE_BUILD_DIR###" "$RELATIVE_BUILD_DIR"
if [ "x$PATHTOOL" != "x" ]; then
add_replacement "###BASH_RUNNER_PREFIX###" "\$PROJECT_DIR\$/.idea/bash.bat"
else
add_replacement "###BASH_RUNNER_PREFIX###" ""
fi
if [ "x$PATHTOOL" != "x" ]; then
if [ "x$JT_HOME" = "x" ]; then
add_replacement "###JTREG_HOME###" ""
else
add_replacement "###JTREG_HOME###" "`$CYGPATH -am $JT_HOME`"
fi
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
add_replacement "###BUILD_DIR###" "`wslpath -am $SPEC_DIR`"
add_replacement "###IMAGES_DIR###" "`wslpath -am $SPEC_DIR`/images/jdk"
add_replacement "###ROOT_DIR###" "`wslpath -am $TOPLEVEL_DIR`"
add_replacement "###IDEA_DIR###" "`wslpath -am $IDEA_OUTPUT`"
if [ "x$JT_HOME" = "x" ]; then
add_replacement "###JTREG_HOME###" ""
else
add_replacement "###JTREG_HOME###" "`wslpath -am $JT_HOME`"
add_replacement "###JTREG_HOME###" "`$PATHTOOL -am $JT_HOME`"
fi
else
add_replacement "###BUILD_DIR###" "$SPEC_DIR"
add_replacement "###JTREG_HOME###" "$JT_HOME"
add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk"
add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR"
add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT"
fi
SOURCE_PREFIX="<sourceFolder url=\"file://"
SOURCE_POSTFIX="\" isTestSource=\"false\" />"
for root in $MODULE_ROOTS; do
if [ "x$CYGPATH" != "x" ]; then
root=`$CYGPATH -am $root`
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
root=`wslpath -am $root`
fi
VM_CI="jdk.internal.vm.ci/share/classes"
VM_COMPILER="src/jdk.internal.vm.compiler/share/classes"
if test "${root#*$VM_CI}" != "$root" || test "${root#*$VM_COMPILER}" != "$root"; then
for subdir in "$root"/*; do
if [ -d "$subdir" ]; then
SOURCES=$SOURCES" $SOURCE_PREFIX""$subdir"/src"$SOURCE_POSTFIX"
fi
done
else
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
fi
MODULE_IMLS=""
TEST_MODULE_DEPENDENCIES=""
for module in $MODULE_NAMES; do
MODULE_IMLS="$MODULE_IMLS<module fileurl=\"file://\$PROJECT_DIR$/.idea/$module.iml\" filepath=\"\$PROJECT_DIR$/.idea/$module.iml\" /> "
TEST_MODULE_DEPENDENCIES="$TEST_MODULE_DEPENDENCIES<orderEntry type=\"module\" module-name=\"$module\" scope=\"TEST\" /> "
done
add_replacement "###SOURCE_ROOTS###" "$SOURCES"
add_replacement "###MODULE_IMLS###" "$MODULE_IMLS"
add_replacement "###TEST_MODULE_DEPENDENCIES###" "$TEST_MODULE_DEPENDENCIES"
replace_template_dir "$IDEA_OUTPUT"
### Compile the custom Logger
### Generate module project files
CLASSES=$IDEA_OUTPUT/classes
if [ "$VERBOSE" = true ] ; then
echo "Generating project modules:"
fi
(
DEFAULT_IFS="$IFS"
IFS='#'
for value in $MODULES; do
(
eval "$value"
if [ "$VERBOSE" = true ] ; then
echo " $module"
fi
MAIN_SOURCE_DIRS=""
CONTENT_ROOTS=""
IFS=' '
for dir in $moduleSrcDirs; do
case $dir in
"src/"*) MAIN_SOURCE_DIRS="$MAIN_SOURCE_DIRS <sourceFolder url=\"file://$MODULE_DIR/$dir\" isTestSource=\"false\" />" ;;
*"/support/gensrc/$module") ;; # Exclude generated sources to avoid module-info conflicts, see https://youtrack.jetbrains.com/issue/IDEA-185108
*) CONTENT_ROOTS="$CONTENT_ROOTS <content url=\"file://$MODULE_DIR/$dir\">\
<sourceFolder url=\"file://$MODULE_DIR/$dir\" isTestSource=\"false\" generated=\"true\" /></content>" ;;
esac
done
if [ "x$MAIN_SOURCE_DIRS" != "x" ] ; then
CONTENT_ROOTS="<content url=\"file://$MODULE_DIR/src/$module\">$MAIN_SOURCE_DIRS</content>$CONTENT_ROOTS"
fi
add_replacement "###MODULE_CONTENT_ROOTS###" "$CONTENT_ROOTS"
DEPENDENCIES=""
for dep in $moduleDependencies; do
case $MODULE_NAMES in # Exclude skipped modules from dependencies
*"$dep"*) DEPENDENCIES="$DEPENDENCIES<orderEntry type=\"module\" module-name=\"$dep\" /> "
esac
done
add_replacement "###DEPENDENCIES###" "$DEPENDENCIES"
cp "$IDEA_OUTPUT/module.iml" "$IDEA_OUTPUT/$module.iml"
IFS="$DEFAULT_IFS"
replace_template_file "$IDEA_OUTPUT/$module.iml"
)
done
)
rm "$IDEA_OUTPUT/module.iml"
if [ "x$ANT_HOME" = "x" ] ; then
# try some common locations
if [ -f "/usr/share/ant/lib/ant.jar" ] ; then
ANT_HOME="/usr/share/ant"
### Create shell script runner for Windows
if [ "x$PATHTOOL" != "x" ]; then
echo "@echo off" > "$IDEA_OUTPUT/bash.bat"
if [ "x$WSL_DISTRO_NAME" != "x" ] ; then
echo "wsl -d $WSL_DISTRO_NAME --cd \"%cd%\" -e %*" >> "$IDEA_OUTPUT/bash.bat"
else
try_ant=$(ls /opt/homebrew/Cellar/ant/*/libexec/lib/ant.jar 2> /dev/null | sort -r | head -n 1)
if [ "x$try_ant" != "x" ] ; then
ANT_HOME=$(cd $(dirname $try_ant)/.. && pwd)
else
try_ant=$(ls /usr/local/Cellar/ant/*/libexec/lib/ant.jar 2> /dev/null | sort -r | head -n 1)
if [ "x$try_ant" != "x" ] ; then
ANT_HOME=$(cd $(dirname $try_ant)/.. && pwd)
fi
fi
fi
else
if [ ! -f "$ANT_HOME/lib/ant.jar" ] ; then
echo "FATAL: ANT_HOME is incorrect. Try removing it and use autodetection, or fix the value" >&2; exit 1
echo "$WINENV_ROOT\bin\bash.exe -l -c \"cd %CD:\=/%/ && %*\"" >> "$IDEA_OUTPUT/bash.bat"
fi
fi
if [ "x$ANT_HOME" = "x" ] ; then
echo "FATAL: cannot find ant. Try setting ANT_HOME." >&2; exit 1
fi
CP=$ANT_HOME/lib/ant.jar
rm -rf $CLASSES; mkdir $CLASSES
# If we have a Windows boot JDK, we need a .exe suffix
if [ -e "$BOOT_JDK/bin/java.exe" ] ; then
JAVAC=javac.exe
else
JAVAC=javac
fi
# If we are on WSL, the boot JDK might be either Windows or Linux,
# and we need to use realpath instead of CYGPATH to make javac work on both.
# We need to handle this case first since CYGPATH might be set on WSL.
if [ "x$WSL_DISTRO_NAME" != "x" ]; then
JAVAC_SOURCE_FILE=`realpath --relative-to=./ $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
JAVAC_SOURCE_PATH=`realpath --relative-to=./ $IDEA_OUTPUT/src`
JAVAC_CLASSES=`realpath --relative-to=./ $CLASSES`
ANT_TEMP=`mktemp -d -p ./`
cp $ANT_HOME/lib/ant.jar $ANT_TEMP/ant.jar
JAVAC_CP=$ANT_TEMP/ant.jar
elif [ "x$CYGPATH" != "x" ] ; then ## CYGPATH may be set in env.cfg
JAVAC_SOURCE_FILE=`$CYGPATH -am $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
JAVAC_SOURCE_PATH=`$CYGPATH -am $IDEA_OUTPUT/src`
JAVAC_CLASSES=`$CYGPATH -am $CLASSES`
JAVAC_CP=`$CYGPATH -am $CP`
else
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java
JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src
JAVAC_CLASSES=$CLASSES
JAVAC_CP=$CP
fi
$BOOT_JDK/bin/$JAVAC -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE
if [ "x$WSL_DISTRO_NAME" != "x" ]; then
rm -rf $ANT_TEMP
if [ "$VERBOSE" = true ] ; then
IDEA_PROJECT_DIR="`dirname $IDEA_OUTPUT`"
if [ "x$PATHTOOL" != "x" ]; then
IDEA_PROJECT_DIR="`$PATHTOOL -am $IDEA_PROJECT_DIR`"
fi
echo "
Now you can open \"$IDEA_PROJECT_DIR\" as IDEA project
You can also run 'bash \"$IDEA_OUTPUT/jdk-clion/update-project.sh\"' to generate Clion project"
fi

0
configure vendored Normal file → Executable file
View File

View File

@@ -1087,21 +1087,21 @@ home, i.e. the top directory, containing <code>lib/jtreg.jar</code>
etc.</p>
<p>The <a href="https://wiki.openjdk.org/display/Adoption">Adoption
Group</a> provides recent builds of jtreg <a
href="https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>.
href="https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>.
Download the latest <code>.tar.gz</code> file, unpack it, and point
<code>--with-jtreg</code> to the <code>jtreg</code> directory that you
just unpacked.</p>
<p>Building of Hotspot Gtest suite requires the source code of Google
Test framework. The top directory, which contains both
<code>googletest</code> and <code>googlemock</code> directories, should
be specified via <code>--with-gtest</code>. The supported version of
Google Test is 1.8.1, whose source code can be obtained:</p>
be specified via <code>--with-gtest</code>. The minimum supported
version of Google Test is 1.13.0, whose source code can be obtained:</p>
<ul>
<li>by downloading and unpacking the source bundle from <a
href="https://github.com/google/googletest/releases/tag/release-1.8.1">here</a></li>
<li>or by checking out <code>release-1.8.1</code> tag of
href="https://github.com/google/googletest/releases/tag/v1.13.0">here</a></li>
<li>or by checking out <code>v1.13.0</code> tag of
<code>googletest</code> project:
<code>git clone -b release-1.8.1 https://github.com/google/googletest</code></li>
<code>git clone -b v1.13.0 https://github.com/google/googletest</code></li>
</ul>
<p>To execute the most basic tests (tier 1), use:</p>
<pre><code>make run-test-tier1</code></pre>

View File

@@ -860,17 +860,18 @@ containing `lib/jtreg.jar` etc.
The [Adoption Group](https://wiki.openjdk.org/display/Adoption) provides
recent builds of jtreg [here](
https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
`jtreg` directory that you just unpacked.
Building of Hotspot Gtest suite requires the source code of Google Test framework.
The top directory, which contains both `googletest` and `googlemock`
directories, should be specified via `--with-gtest`.
The supported version of Google Test is 1.8.1, whose source code can be obtained:
Building of Hotspot Gtest suite requires the source code of Google
Test framework. The top directory, which contains both `googletest`
and `googlemock` directories, should be specified via `--with-gtest`.
The minimum supported version of Google Test is 1.13.0, whose source
code can be obtained:
* by downloading and unpacking the source bundle from [here](https://github.com/google/googletest/releases/tag/release-1.8.1)
* or by checking out `release-1.8.1` tag of `googletest` project: `git clone -b release-1.8.1 https://github.com/google/googletest`
* by downloading and unpacking the source bundle from [here](https://github.com/google/googletest/releases/tag/v1.13.0)
* or by checking out `v1.13.0` tag of `googletest` project: `git clone -b v1.13.0 https://github.com/google/googletest`
To execute the most basic tests (tier 1), use:
```

View File

@@ -82,6 +82,7 @@ id="toc-uniform-initialization">Uniform Initialization</a></li>
id="toc-local-function-objects">Local Function Objects</a></li>
<li><a href="#inheriting-constructors"
id="toc-inheriting-constructors">Inheriting constructors</a></li>
<li><a href="#attributes" id="toc-attributes">Attributes</a></li>
<li><a href="#additional-permitted-features"
id="toc-additional-permitted-features">Additional Permitted
Features</a></li>
@@ -1057,6 +1058,31 @@ using C++17 or later. It is also enabled by default for
C++11/14, as the change is considered a Defect Report that applies to
those versions. Earlier versions of gcc don't have that option, and
other supported compilers may not have anything similar.</p>
<h3 id="attributes">Attributes</h3>
<p>The use of some attributes (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)
(listed below) is permitted. (Note that some of the attributes defined
in that paper didn't make it into the final specification.)</p>
<p>Attributes are syntactically permitted in a broad set of locations,
but specific attributes are only permitted in a subset of those
locations. In some cases an attribute that appertains to a given element
may be placed in any of several locations with the same meaning. In
those cases HotSpot has a preferred location.</p>
<ul>
<li>An attribute that appertains to a function is placed at the
beginning of the function's declaration, rather than between the
function name and the parameter list.</li>
</ul>
<p>Only the following attributes are permitted:</p>
<ul>
<li><code>[[noreturn]]</code></li>
</ul>
<p>The following attributes are expressly forbidden:</p>
<ul>
<li><code>[[carries_dependency]]</code> - Related to
<code>memory_order_consume</code>.</li>
<li><code>[[deprecated]]</code> - Not relevant in HotSpot code.</li>
</ul>
<h3 id="additional-permitted-features">Additional Permitted
Features</h3>
<ul>
@@ -1149,9 +1175,6 @@ initialization or destruction. Initialization order problems can be
difficult to deal with and lead to surprises, as can destruction
ordering. HotSpot doesn't generally try to cleanup on exit, and running
destructors at exit can also lead to problems.</p></li>
<li><p><code>[[deprecated]]</code> attribute (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html">n3760</a>)
— Not relevant in HotSpot code.</p></li>
<li><p>Avoid most operator overloading, preferring named functions. When
operator overloading is used, ensure the semantics conform to the normal
expected behavior of the operation.</p></li>
@@ -1171,8 +1194,6 @@ href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm">n2541</
href="https://isocpp.org/files/papers/N3651.pdf">n3651</a>)</p></li>
<li><p>Member initializers and aggregates (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html">n3653</a>)</p></li>
<li><p><code>[[noreturn]]</code> attribute (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)</p></li>
<li><p>Rvalue references and move semantics</p></li>
</ul>
</body>

View File

@@ -1054,6 +1054,32 @@ and other supported compilers may not have anything similar.
[p0136r1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html
"p0136r1"
### Attributes
The use of some attributes
([n2761](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf))
(listed below) is permitted. (Note that some of the attributes defined in
that paper didn't make it into the final specification.)
Attributes are syntactically permitted in a broad set of locations, but
specific attributes are only permitted in a subset of those locations. In
some cases an attribute that appertains to a given element may be placed in
any of several locations with the same meaning. In those cases HotSpot has a
preferred location.
* An attribute that appertains to a function is placed at the beginning of the
function's declaration, rather than between the function name and the parameter
list.
Only the following attributes are permitted:
* `[[noreturn]]`
The following attributes are expressly forbidden:
* `[[carries_dependency]]` - Related to `memory_order_consume`.
* `[[deprecated]]` - Not relevant in HotSpot code.
### Additional Permitted Features
* `constexpr`
@@ -1153,10 +1179,6 @@ difficult to deal with and lead to surprises, as can destruction
ordering. HotSpot doesn't generally try to cleanup on exit, and
running destructors at exit can also lead to problems.
* `[[deprecated]]` attribute
([n3760](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html)) &mdash;
Not relevant in HotSpot code.
* Avoid most operator overloading, preferring named functions. When
operator overloading is used, ensure the semantics conform to the
normal expected behavior of the operation.
@@ -1181,9 +1203,6 @@ features that have not yet been discussed.
* Member initializers and aggregates
([n3653](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html))
* `[[noreturn]]` attribute
([n2761](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf))
* Rvalue references and move semantics
[ADL]: https://en.cppreference.com/w/cpp/language/adl

View File

@@ -578,12 +578,13 @@ directories.</p>
<p>For more notes about the PKCS11 tests, please refer to
test/jdk/sun/security/pkcs11/README.</p>
<h3 id="client-ui-tests">Client UI Tests</h3>
<h4 id="system-key-shortcuts">System key shortcuts</h4>
<p>Some Client UI tests use key sequences which may be reserved by the
operating system. Usually that causes the test failure. So it is highly
recommended to disable system key shortcuts prior testing. The steps to
access and disable system key shortcuts for various platforms are
provided below.</p>
<h4 id="macos">MacOS</h4>
<h5 id="macos">macOS</h5>
<p>Choose Apple menu; System Preferences, click Keyboard, then click
Shortcuts; select or deselect desired shortcut.</p>
<p>For example,
@@ -594,17 +595,41 @@ operating system. To run the test correctly the default global key
shortcut should be disabled using the steps described above, and then
deselect "Turn keyboard access on or off" option which is responsible
for <code>CTRL + F1</code> combination.</p>
<h4 id="linux">Linux</h4>
<h5 id="linux">Linux</h5>
<p>Open the Activities overview and start typing Settings; Choose
Settings, click Devices, then click Keyboard; set or override desired
shortcut.</p>
<h4 id="windows">Windows</h4>
<h5 id="windows">Windows</h5>
<p>Type <code>gpedit</code> in the Search and then click Edit group
policy; navigate to User Configuration -&gt; Administrative Templates
-&gt; Windows Components -&gt; File Explorer; in the right-side pane
look for "Turn off Windows key hotkeys" and double click on it; enable
or disable hotkeys.</p>
<p>Note: restart is required to make the settings take effect.</p>
<h4 id="robot-api">Robot API</h4>
<p>Most automated Client UI tests use <code>Robot</code> API to control
the UI. Usually, the default operating system settings need to be
adjusted for Robot to work correctly. The detailed steps how to access
and update these settings for different platforms are provided
below.</p>
<h5 id="macos-1">macOS</h5>
<p><code>Robot</code> is not permitted to control your Mac by default
since macOS 10.15. To allow it, choose Apple menu -&gt; System Settings,
click Privacy &amp; Security; then click Accessibility and ensure the
following apps are allowed to control your computer: <em>Java</em> and
<em>Terminal</em>. If the tests are run from an IDE, the IDE should be
granted this permission too.</p>
<h5 id="windows-1">Windows</h5>
<p>On Windows if Cygwin terminal is used to run the tests, there is a
delay in focus transfer. Usually it causes automated UI test failure. To
disable the delay, type <code>regedit</code> in the Search and then
select Registry Editor; navigate to the following key:
<code>HKEY_CURRENT_USER\Control Panel\Desktop</code>; make sure the
<code>ForegroundLockTimeout</code> value is set to 0.</p>
<p>Additional information about Client UI tests configuration for
various operating systems can be obtained at <a
href="https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements">Automated
client GUI testing system set up requirements</a></p>
<h2 id="editing-this-document">Editing this document</h2>
<p>If you want to contribute changes to this document, edit
<code>doc/testing.md</code> and then run

View File

@@ -606,12 +606,14 @@ test/jdk/sun/security/pkcs11/README.
### Client UI Tests
#### System key shortcuts
Some Client UI tests use key sequences which may be reserved by the operating
system. Usually that causes the test failure. So it is highly recommended to
disable system key shortcuts prior testing. The steps to access and disable
system key shortcuts for various platforms are provided below.
#### MacOS
##### macOS
Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts;
select or deselect desired shortcut.
@@ -624,12 +626,12 @@ test correctly the default global key shortcut should be disabled using the
steps described above, and then deselect "Turn keyboard access on or off"
option which is responsible for `CTRL + F1` combination.
#### Linux
##### Linux
Open the Activities overview and start typing Settings; Choose Settings, click
Devices, then click Keyboard; set or override desired shortcut.
#### Windows
##### Windows
Type `gpedit` in the Search and then click Edit group policy; navigate to User
Configuration -> Administrative Templates -> Windows Components -> File
@@ -638,6 +640,33 @@ double click on it; enable or disable hotkeys.
Note: restart is required to make the settings take effect.
#### Robot API
Most automated Client UI tests use `Robot` API to control the UI. Usually,
the default operating system settings need to be adjusted for Robot
to work correctly. The detailed steps how to access and update these settings
for different platforms are provided below.
##### macOS
`Robot` is not permitted to control your Mac by default since
macOS 10.15. To allow it, choose Apple menu -> System Settings, click
Privacy & Security; then click Accessibility and ensure the following apps are
allowed to control your computer: *Java* and *Terminal*. If the tests are run
from an IDE, the IDE should be granted this permission too.
##### Windows
On Windows if Cygwin terminal is used to run the tests, there is a delay in
focus transfer. Usually it causes automated UI test failure. To disable the
delay, type `regedit` in the Search and then select Registry Editor; navigate
to the following key: `HKEY_CURRENT_USER\Control Panel\Desktop`; make sure
the `ForegroundLockTimeout` value is set to 0.
Additional information about Client UI tests configuration for various operating
systems can be obtained at [Automated client GUI testing system set up
requirements](https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements)
## Editing this document
If you want to contribute changes to this document, edit `doc/testing.md` and

238
jb/branchdiff.py Executable file
View File

@@ -0,0 +1,238 @@
#!/usr/bin/env python3
import argparse
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.stderr.write(f"[verbose] ")
sys.stderr.write(*msg)
sys.stderr.write('\n')
def first_line(str):
return "" if not str else str.splitlines()[0]
class Options:
def __init__(self):
ap = argparse.ArgumentParser(description="Show commit differences between branches of JBR git repos",
epilog="Example: %(prog)s --from origin/jbr17 --to jbr17.b469 --path "
"src/hotspot --limit 200")
ap.add_argument('--jbr', dest='jbrpath', help='path to JBR git root', required=True)
ap.add_argument('--from', dest='frombranch', help='branch to take commits from', required=True)
ap.add_argument('--to', dest='tobranch', help='branch to apply new commits to', required=True)
ap.add_argument('--path', dest='path', help='limit to changes in this path (relative to git root)')
ap.add_argument('--limit', dest='limit', help='limit to this many log entries in --jdk repo', type=int, default=-1)
ap.add_argument('--html', dest="ishtml", help="print out HTML rather than plain text", action='store_true')
ap.add_argument('-o', dest="output", help="print the list of missing commits to this file"
" to be used as exclude list later")
ap.add_argument('--exclude', dest='exclude', help='exclude commits listed in the given file '
'(can use edited -o output file as input here)')
ap.add_argument('-v', dest='verbose', help="verbose output", default=False, action='store_true')
args = ap.parse_args()
if not os.path.isdir(args.jbrpath):
fatal(f"{args.jbrpath} not a directory")
if not git_is_available():
fatal("can't run git commands; make sure git is in PATH")
self.frombranch = args.frombranch
self.tobranch = args.tobranch
self.jbrpath = args.jbrpath
self.path = args.path
self.limit = args.limit
self.exclude = args.exclude
self.output = args.output
self.ishtml = args.ishtml
self.verbose = args.verbose
class GitRepo:
def __init__(self, rootpath):
self.rootpath = rootpath
def run_git_cmd(self, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
p = subprocess.run(args, capture_output=True, text=True)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
return p.stdout
def save_git_cmd(self, fname, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
with open(fname, "w") as stdout_file:
p = subprocess.run(args, stdout=stdout_file)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
def current_branch(self):
branch_name = self.run_git_cmd(["branch", "--show-current"]).strip()
return branch_name
def log(self, branch, path=None, limit=None):
cmds = ["log", "--no-decorate", branch]
if limit:
cmds.extend(["-n", str(limit)])
if path:
cmds.append(path)
full_log = self.run_git_cmd(cmds)
return full_log
class Commit:
def __init__(self, lines):
self.sha = lines[0].split()[1]
self.message = ""
self.bugid = ""
# Commit message starts after one blank line
read_message = False
for l in lines:
if read_message:
self.message = l.strip()
t = self.message.split(' ')
if len(t) > 1:
bugid = t[0]
if bugid.startswith("fixup"):
bugid = t[1]
bugid = bugid.strip(":")
if bugid.startswith("JBR-") or bugid.isnumeric():
self.bugid = bugid
break
if not read_message and l == "":
read_message = True
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, jbr):
verbose(options, f"Reading history from '{jbr.rootpath}'")
if options.path:
verbose(options, f"\t(only under '{options.path}')")
if options.limit > 0:
verbose(options, f"\t(up to '{options.limit}' commits)")
verbose(options, f"Searching for missing fixes in '{options.tobranch}' compared with '{options.frombranch}'")
def git_is_available():
p = None
try:
p = subprocess.run(["git", "--help"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
except:
pass
return p is not None and p.returncode == 0
def main():
check_python_min_requirements()
options = Options()
jbr = GitRepo(options.jbrpath)
print_explanation(options, jbr)
commits_to_save = []
try:
log_from = jbr.log(options.frombranch, options.path, options.limit)
log_to = jbr.log(options.tobranch, options.path, options.limit)
history_from = History(log_from)
history_to = History(log_to)
verbose(options, f"Read {history_from.size()} commits from '{options.frombranch}', {history_to.size()} from {options.tobranch}")
exclude_list=[]
if options.exclude:
with open(options.exclude, "r") as exclude_file:
l = exclude_file.read().split('\n')
exclude_list = list(filter(lambda line: not line.startswith("#"), l))
for c in history_from.commits:
if c.message:
verbose(options, f"Looking for commit '{c.message}'")
if c.message in exclude_list:
verbose(options, "...nope, in exclude list")
continue
if not history_to.contains(c.message):
commits_to_save.append(c)
except KeyboardInterrupt:
fatal("Interrupted")
print_out_commits(options, commits_to_save)
save_commits_to_file(commits_to_save, options)
def save_commits_to_file(commits_to_save, options):
if len(commits_to_save) > 0 and options.output:
print()
with open(options.output, "w") as out:
for i, c in enumerate(reversed(commits_to_save)):
print(f"# {c.sha}", file=out)
print(c.message, file=out)
def print_out_commits(options, commits_to_save):
if options.ishtml:
print("<html><body>")
print(f"<p><b>Commits on <code>{options.frombranch}</code>"
f" missing from <code>{options.tobranch}</code></b></p></h1>")
if len(commits_to_save) > 0:
for c in sorted(commits_to_save, key=lambda commit: commit.bugid):
if options.ishtml:
msg = c.message
bugurl = ""
if c.bugid:
if c.bugid.isnumeric():
bugurl = f"https://bugs.openjdk.org/browse/JDK-{c.bugid}"
elif c.bugid.startswith("JBR-"):
bugurl = f"https://youtrack.jetbrains.com/issue/{c.bugid}"
if len(bugurl) > 0:
msg = msg.replace(c.bugid, f"<a href='{bugurl}'>{c.bugid}</a>")
sha = f"<a href='https://jetbrains.team/p/jbre/repositories/jbr/commits?commits={c.sha}'>" \
f"{c.sha[0:8]}</a>"
print(f"<li>{msg} ({sha})</li>")
else:
print(f"{c.message} ({c.sha[0:8]})")
if options.ishtml:
print("</body></html>")
def check_python_min_requirements():
if sys.version_info < (3, 6):
fatal("Minimum version 3.6 is required to run this script")
if __name__ == '__main__':
main()

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

@@ -0,0 +1,13 @@
# jetbrains/runtime:jbr15env
FROM centos:7
RUN yum -y install centos-release-scl
RUN yum -y install devtoolset-8
RUN yum -y install zip bzip2 unzip tar wget make autoconf automake libtool gcc gcc-c++ libstdc++-devel alsa-devel cups-devel xorg-x11-devel libjpeg62-devel giflib-devel freetype-devel file which libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel libXrandr-devel libXi-devel git
# Install Java 16
RUN wget https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz \
-O - | tar xz -C /
RUN mv /zulu17.28.13-ca-jdk17.0.0-linux_x64 /jdk17.0.0
ENV PATH /opt/rh/devtoolset-8/root/usr/bin:$PATH
RUN mkdir .git
RUN git config user.email "teamcity@jetbrains.com"
RUN git config user.name "builduser"

View File

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

View File

@@ -0,0 +1,22 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_aarch64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
FROM arm64v8/alpine:3.12
# Install the necessary build tools
RUN apk --no-cache add --update bash grep tar zip bzip2 rsync fontconfig build-base \
git libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev \
libxtst-dev autoconf freetype-dev cups-dev alsa-lib-dev file \
fontconfig fontconfig-dev linux-headers
# Set up boot JDK for building
COPY boot_jdk_musl_aarch64.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_musl_aarch64.tar.gz && rm /jdk17/boot_jdk_musl_aarch64.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

@@ -0,0 +1,22 @@
# NOTE: This Dockerfile is meant to be used from the mkdocker_musl_x64.sh script.
# Pull a concrete version of Linux that does NOT recieve updates after it's
# been created. This is so that the image is as stable as possible to make
# image creation reproducible.
# NB: this also means there may be no security-related fixes there, need to
# move the version to the next manually.
FROM alpine:3.14
# Install the necessary build tools
RUN apk --no-cache add --update bash grep tar zip bzip2 rsync fontconfig build-base \
git libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev \
libxtst-dev autoconf freetype-dev cups-dev alsa-lib-dev file \
fontconfig fontconfig-dev linux-headers
# Set up boot JDK for building
COPY boot_jdk_musl_amd64.tar.gz /jdk17/
RUN cd /jdk17 && tar --strip-components=1 -xzf boot_jdk_musl_amd64.tar.gz && rm /jdk17/boot_jdk_musl_amd64.tar.gz
ENV BOOT_JDK=/jdk17
RUN git config --global user.email "teamcity@jetbrains.com" && \
git config --global user.name "builduser"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1 @@
JetBrainsRuntime

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="IssueNavigationConfiguration">
<option name="links">
<list>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})([A-Z]+\-\d+)(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://youtrack.jetbrains.com/issue/$1" />
</IssueNavigationLink>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})(?:JDK-)?(\d{7})(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
</IssueNavigationLink>
</list>
</option>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$/src/jetbrains.api">
<sourceFolder url="file://$MODULE_DIR$/src/jetbrains.api/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/jetbrains.api/templates" isTestSource="false" />
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="inheritedJdk" />
</component>
</module>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/jdk.iml" filepath="$PROJECT_DIR$/.idea/jdk.iml" />
###MODULE_IMLS###
<module fileurl="file://$PROJECT_DIR$/.idea/jetbrains.api.iml" filepath="$PROJECT_DIR$/.idea/jetbrains.api.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/test.iml" filepath="$PROJECT_DIR$/.idea/test.iml" />
</modules>
</component>
</project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="IssueNavigationConfiguration">
<option name="links">
<list>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})([A-Z]+\-\d+)(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://youtrack.jetbrains.com/issue/$1" />
</IssueNavigationLink>
<IssueNavigationLink>
<option name="issueRegexp" value="(?:^|\s|\p{Punct})(?:JDK-)?(\d{7})(?=$|\s|\p{Punct})" />
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
</IssueNavigationLink>
</list>
</option>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@@ -0,0 +1,135 @@
apply plugin: 'java'
import org.gradle.internal.os.OperatingSystem
repositories {
mavenCentral()
}
def test_jvm = {
if (project.hasProperty('jbsdkhome')) {
file(jbsdkhome + (OperatingSystem.current().isWindows()?"/bin/java.exe" : "/bin/java")).absolutePath
} else {
if (OperatingSystem.current().isMacOsX()) {
file('../../../build/macosx-x86_64-normal-server-release/images/jdk-bundle/jdk-11.0.4.jdk/Contents/Home/bin/java').absolutePath
} else if (OperatingSystem.current().isLinux()) {
file('../../../build/linux-x86_64-normal-server-release/images/jdk/bin/java').absolutePath
} else {
file('../../../build/windows-x86_64-normal-server-release/images/jdk/bin/java.exe').absolutePath
}
}
}
dependencies {
testCompile('junit:junit:4.12'){
exclude group: 'org.hamcrest'
}
testCompile 'org.hamcrest:hamcrest-library:1.3'
testCompile 'net.java.dev.jna:jna:4.4.0'
testCompile 'com.twelvemonkeys.imageio:imageio-tiff:3.3.2'
testCompile 'org.apache.commons:commons-lang3:3.0'
}
def jdk_modules = ["java.base", "java.logging", "java.prefs",
"java.se.ee", "java.sql", "java.datatransfer",
"java.management", "java.rmi", "java.security.jgss",
"java.sql.rowset", "java.desktop", "java.management.rmi",
"java.scripting", "java.security.sasl", "java.transaction",
"java.instrument", "java.naming", "java.se",
"java.smartcardio", "java.xml.crypto"]
def jdk_class_dirs = []
jdk_modules.collect(jdk_class_dirs) {
new File("../../../src/" + it + "/share/classes")
}
if (OperatingSystem.current().isMacOsX())
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/macosx/classes"
}
else if (OperatingSystem.current().isLinux()) {
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/solaris/classes"
}
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/unix/classes"
}
} else
jdk_modules.collect(jdk_class_dirs) {
"../../../src/" + it + "/windows/classes"
}
sourceSets.main.java.srcDirs = jdk_class_dirs
sourceSets {
test {
java {
srcDir "../../../test/jdk/jbu"
}
}
}
test.dependsOn.clear()
test.dependsOn tasks.compileTestJava
test {
systemProperty "jb.java2d.metal", "true"
systemProperty "testdata", file('../../../test/jdk/jbu/testdata').absolutePath
// Generate golden images for DroidFontTest and MixedTextTest
// systemProperty "gentestdata", ""
// Enable Java2D logging (https://confluence.jetbrains.com/display/JRE/Java2D+Rendering+Logging)
// systemProperty "sun.java2d.trace", "log"
// systemProperty "sun.java2d.trace", "log,pimpl"
outputs.upToDateWhen { false }
executable = test_jvm()
// Enable async/dtrace profiler
jvmArgs "-XX:+PreserveFramePointer"
// Enable native J2D logging (only in debug build)
// Can be turned on for J2D by adding "#define DEBUG 1" into jdk/src/share/native/sun/java2d/Trace.h
// environment 'J2D_TRACE_LEVEL', '4'
}
def buildDir = project.buildscript.sourceFile.parentFile.parentFile.parentFile.parentFile
def make_cmd = "make"
if (OperatingSystem.current().isWindows()) {
def cyg_make_cmd = new File("c:/cygwin64/bin/make.exe")
if (cyg_make_cmd.exists()) make_cmd = cyg_make_cmd.absolutePath
}
def test_run = false
task make_images {
doLast {
if (!test_run) {
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath, "images")
def proc = pb.redirectErrorStream(true).start()
proc.inputStream.eachLine { println it }
assert proc.waitFor() == 0
}
}
}
task make_clean {
doLast {
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath, "clean")
def proc = pb.redirectErrorStream(true).start()
proc.inputStream.eachLine { println it }
assert proc.waitFor() == 0
}
}
task run_test {
doLast {
test_run = true
}
}
tasks.cleanTest.dependsOn tasks.run_test
classes.dependsOn.clear()
classes.dependsOn tasks.make_images
tasks.cleanClasses.dependsOn tasks.make_clean

View File

@@ -0,0 +1,54 @@
java.base,
java.compiler,
java.datatransfer,
java.desktop,
java.instrument,
java.logging,
java.management,
java.management.rmi,
java.naming,
java.net.http,
java.prefs,
java.rmi,
java.scripting,
java.se,
java.security.jgss,
java.security.sasl,
java.smartcardio,
java.sql,
java.sql.rowset,
java.transaction.xa,
java.xml,
java.xml.crypto,
jdk.accessibility,
jdk.attach,
jdk.charsets,
jdk.compiler,
jdk.crypto.cryptoki,
jdk.crypto.ec,
jdk.dynalink,
jdk.httpserver,
jdk.internal.ed,
jdk.internal.le,
jdk.internal.vm.ci,
jdk.javadoc,
jdk.jdi,
jdk.jdwp.agent,
jdk.jfr,
jdk.jsobject,
jdk.localedata,
jdk.management,
jdk.management.agent,
jdk.management.jfr,
jdk.naming.dns,
jdk.naming.rmi,
jdk.net,
jdk.sctp,
jdk.security.auth,
jdk.security.jgss,
jdk.unsupported,
jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
jdk.jcmd

View File

@@ -0,0 +1,18 @@
#!/bin//bash
set -euo pipefail
# $1 - Boot JDK
# $2 - JBR part of API version
cd "`dirname "$0"`/../../../../.."
PWD="`pwd`"
CONF="$PWD/build/jbr-api.conf"
./configure --with-debug-level=release --with-boot-jdk=$1 || exit $?
make jbr-api CONF=release MAKEOVERRIDES= "JBR_API_CONF_FILE=$CONF" JBR_API_JBR_VERSION=$2 || exit $?
. $CONF || exit $?
echo "##teamcity[buildNumber '$VERSION']"
cp "$JAR" ./jbr-api-${VERSION}.jar || exit $?
cp "$SOURCES_JAR" ./jbr-api-${VERSION}-sources.jar || exit $?
echo "##teamcity[publishArtifacts '$PWD/jbr-api-${VERSION}.jar']"
echo "##teamcity[publishArtifacts '$PWD/jbr-api-${VERSION}-sources.jar']"

View File

@@ -0,0 +1,176 @@
#!/bin/bash
set -euo pipefail
set -x
function check_bundle_type_maketest() {
# check whether last char is 't', if so remove it
if [ "${bundle_type: -1}" == "t" ]; then
bundle_type="${bundle_type%?}"
do_maketest=1
else
do_maketest=0
fi
}
function getVersionProp() {
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
}
while getopts ":i?" o; do
case "${o}" in
i) INC_BUILD=1 ;;
esac
done
shift $((OPTIND-1))
if [[ $# -lt 2 ]]; then
echo "Required at least two arguments: build_number bundle_type"
exit 1
fi
build_number=$1
bundle_type=$2
# shellcheck disable=SC2034
architecture=${3:-x64} # aarch64 or x64
check_bundle_type_maketest
tag_prefix="jdk-"
OPENJDK_TAG=$(git log --simplify-by-decoration --decorate=short --pretty=short | grep "$tag_prefix" | cut -d "(" -f2 | cut -d ")" -f1 | awk '{print $2}' | tr -d ',' | sort -t "-" -k 2 -g | tail -n 1)
VERSION_FEATURE=$(getVersionProp "DEFAULT_VERSION_FEATURE")
VERSION_INTERIM=$(getVersionProp "DEFAULT_VERSION_INTERIM")
VERSION_UPDATE=$(getVersionProp "DEFAULT_VERSION_UPDATE")
VERSION_PATCH=$(getVersionProp "DEFAULT_VERSION_PATCH")
[[ $VERSION_UPDATE = 0 ]] && JBSDK_VERSION="$VERSION_FEATURE" || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}"
[[ $VERSION_PATCH = 0 ]] || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}.${VERSION_PATCH}"
echo "##teamcity[setParameter name='env.JBSDK_VERSION' value='${JBSDK_VERSION}']"
JDK_BUILD_NUMBER=${JDK_BUILD_NUMBER:=$(echo $OPENJDK_TAG | awk -F "-|[+]" '{print $3}')}
[ -z $JDK_BUILD_NUMBER ] && JDK_BUILD_NUMBER=1
echo "##teamcity[setParameter name='env.JDK_UPDATE_NUMBER' value='${JDK_BUILD_NUMBER}']"
VENDOR_NAME="JetBrains s.r.o."
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION}+${JDK_BUILD_NUMBER}-${build_number}"
[ -z "$bundle_type" ] || VENDOR_VERSION_STRING="${VENDOR_VERSION_STRING}-${bundle_type}"
do_reset_changes=0
do_reset_dcevm=0
HEAD_REVISION=0
STATIC_CONF_ARGS=""
common_conf_props_file="jb/project/tools/common/static_conf_args.txt"
if [[ -f "$common_conf_props_file" ]]; then
STATIC_CONF_ARGS=$(<$common_conf_props_file)
fi
OS_NAME=$(uname -s)
# Enable reproducible builds
TZ=UTC
export TZ
SOURCE_DATE_EPOCH="$(git log -1 --pretty=%ct)"
export SOURCE_DATE_EPOCH
COPYRIGHT_YEAR=""
BUILD_TIME=""
TOUCH_TIME=""
REPRODUCIBLE_TAR_OPTS=""
case "$OS_NAME" in
Linux)
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
;;
CYGWIN*)
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
;;
Darwin)
COPYRIGHT_YEAR="$(date -u -r $SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%F)"
TOUCH_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%Y%m%d%H%M.%S)"
REPRODUCIBLE_TAR_OPTS="--uid 0 --gid 0 --numeric-owner"
;;
esac
WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS="--with-native-debug-symbols=zipped"
REPRODUCIBLE_BUILD_OPTS="--enable-reproducible-build
--with-source-date=$SOURCE_DATE_EPOCH
--with-hotspot-build-time=$BUILD_TIME
--with-copyright-year=$COPYRIGHT_YEAR
--disable-absolute-paths-in-output
--with-build-user=builduser"
function zip_native_debug_symbols() {
image_bundle_path=$(echo $1 | cut -d"/" -f-4)
jdk_name=$(echo $1 | cut -d"/" -f5)
jbr_diz_name=$2
[ -d "dizfiles" ] && rm -rf dizfiles
mkdir dizfiles
rsync_target="../../../../dizfiles"
[ -z "$jdk_name" ] && rsync_target=$rsync_target"/"$jbr_diz_name
(cd $image_bundle_path && find . -name '*.diz' -exec rsync -R {} $rsync_target \;)
[ ! -z "$jdk_name" ] && mv dizfiles/$jdk_name dizfiles/$jbr_diz_name
(cd dizfiles && find $jbr_diz_name -print0 | COPYFILE_DISABLE=1 \
tar --no-recursion --null -T - -czf ../"$jbr_diz_name".tar.gz) || do_exit $?
}
function do_exit() {
exit_code=$1
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
if [ $do_reset_dcevm -eq 1 ]; then
[ ! -z $HEAD_REVISION ] && git reset --hard $HEAD_REVISION
fi
exit "$exit_code"
}
function update_jsdk_mods() {
__jsdk=$1
__jcef_mods=$2
__orig_jsdk_mods=$3
__updated_jsdk_mods=$4
# re-create java.desktop.jmod with updated module-info.class
tmp=.java.desktop.$$.tmp
mkdir "$tmp" || exit $?
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.desktop.jmod || exit $?
"$__jsdk"/bin/javac \
--patch-module java.desktop="$__orig_jsdk_mods"/java.desktop.jmod \
--module-path "$__jcef_mods" -d "$tmp"/classes src/java.desktop/share/classes/module-info.java || exit $?
"$__jsdk"/bin/jmod \
create --class-path "$tmp"/classes --config "$tmp"/conf --header-files "$tmp"/include --legal-notice "$tmp"/legal --libs "$tmp"/lib \
java.desktop.jmod || exit $?
mv java.desktop.jmod "$__updated_jsdk_mods" || exit $?
rm -rf "$tmp"
# re-create java.base.jmod with updated hashes
tmp=.java.base.$$.tmp
mkdir "$tmp" || exit $?
hash_modules=$("$__jsdk"/bin/jmod describe "$__orig_jsdk_mods"/java.base.jmod | grep hashes | awk '{print $2}' | tr '\n' '|' | sed s/\|$//) || exit $?
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.base.jmod || exit $?
rm "$__updated_jsdk_mods"/java.base.jmod || exit $? # temp exclude from path
"$__jsdk"/bin/jmod \
create --module-path "$__updated_jsdk_mods" --hash-modules "$hash_modules" \
--class-path "$tmp"/classes --cmds "$tmp"/bin --config "$tmp"/conf --header-files "$tmp"/include --legal-notice "$tmp"/legal --libs "$tmp"/lib \
java.base.jmod || exit $?
mv java.base.jmod "$__updated_jsdk_mods" || exit $?
rm -rf "$tmp"
}
function get_mods_list() {
__mods=$1
echo $(ls $__mods) | sed s/\.jmod/,/g | sed s/,$//g | sed s/' '//g
}
function copy_jmods() {
__mods_list=$1
__jmods_from=$2
__jmods_to=$3
mkdir -p $__jmods_to
echo "${__mods_list}," | while read -d, mod; do cp $__jmods_from/$mod.jmod $__jmods_to/; done
}

View File

@@ -0,0 +1 @@
--with-vendor-vm-bug-url=https://youtrack.jetbrains.com/issues/JBR

View File

@@ -0,0 +1,164 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_aarch64
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_linux_aarch64}
function do_configure {
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}aarch64-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-aarch64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=1
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-aarch64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-aarch64-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
do_exit 0

View File

@@ -0,0 +1,164 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_x64
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_linux_x64}
function do_configure {
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x64-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86_64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=1
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-x86_64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods $JSDK $JCEF_PATH/jmods $JSDK/jmods $JSDK_MODS_DIR || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
jbr_name_postfix="_${bundle_type}"
[ "$bundle_type" != "fd" ] && jbrsdk_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x64-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
do_exit 0

View File

@@ -0,0 +1,144 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
source jb/project/tools/common/scripts/common.sh
function do_configure {
linux32 bash configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
$STATIC_CONF_ARGS \
--enable-cds=yes \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
function is_musl {
libc=$(ldd /bin/ls | grep 'musl' | head -1 | cut -d ' ' -f1)
if [ -z $libc ]; then
# This is not Musl, return 1 == false
return 1
fi
return 0
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
libc_type_suffix=''
fastdebug_infix=''
if is_musl; then libc_type_suffix='musl-' ; fi
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x86-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-linux-${libc_type_suffix}x86-${fastdebug_infix:-}b${build_number}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__root_dir" ] && rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__root_dir"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__root_dir"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__root_dir"/release > release
mv release "$IMAGES_DIR"/"$__root_dir"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__root_dir"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__root_dir"/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk "${JBR}_diz"
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__root_dir"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
tar $REPRODUCIBLE_TAR_OPTS \
--no-recursion --null -T - -cf "$JBR".tar) || do_exit $?
mv "$IMAGES_DIR"/"$JBR".tar ./"$JBR".tar
[ -f "$JBR".tar.gz ] && rm "$JBR.tar.gz"
touch -c -d "@$SOURCE_DATE_EPOCH" "$JBR".tar
gzip "$JBR".tar || do_exit $?
rm -rf "${IMAGES_DIR:?}"/"$__root_dir"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86-server-release
case "$bundle_type" in
"jcef")
echo "not implemented" && do_exit 1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-x86-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(grep -v "jdk.internal.vm" jb/project/tools/common/modules.list | xargs | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat $JSDK/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" $JBRSDK_BUNDLE $JSDK_MODS_DIR "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-${libc_type_suffix}test-x86-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
tar -pcf "$JBRSDK_TEST".tar -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
gzip "$JBRSDK_TEST".tar || do_exit $?
fi
do_exit 0

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,167 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_mac
source jb/project/tools/common/scripts/common.sh
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 17)}
function do_configure {
if [[ "${architecture}" == *aarch64* ]]; then
ENABLE_CDS="--enable-cds=no"
else
ENABLE_CDS="--enable-cds=yes"
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" \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
$WITH_ZIPPED_NATIVE_DEBUG_SYMBOLS \
|| do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
tmp=.bundle.$$.tmp
mkdir "$tmp" || do_exit $?
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix:-}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-osx-${architecture}-${fastdebug_infix:-}b${build_number}
JRE_CONTENTS=$tmp/$__root_dir/Contents
mkdir -p "$JRE_CONTENTS" || do_exit $?
echo Running jlink...
"$JSDK"/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$JRE_CONTENTS/Home" || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$JRE_CONTENTS/Home/release"
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $JRE_CONTENTS/Home/release > release
mv release $JRE_CONTENTS/Home/release
cp $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home/lib/src.zip $JRE_CONTENTS/Home/lib
copy_jmods "$__modules" "$__modules_path" "$JRE_CONTENTS"/Home/jmods
zip_native_debug_symbols $IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk "${JBR}_diz"
fi
cp -R "$JSDK"/../MacOS "$JRE_CONTENTS"
cp "$JSDK"/../Info.plist "$JRE_CONTENTS"
[ -n "$bundle_type" ] && (cp -a $JCEF_PATH/Frameworks "$JRE_CONTENTS" || do_exit $?)
echo Creating "$JBR".tar.gz ...
# Normalize timestamp
find "$tmp"/"$__root_dir" -print0 | xargs -0 touch -c -h -t "$TOUCH_TIME"
(cd "$tmp" &&
find "$__root_dir" -print0 | LC_ALL=C sort -z | \
COPYFILE_DISABLE=1 tar $REPRODUCIBLE_TAR_OPTS --no-recursion --null -T - \
-czf "$JBR".tar.gz --exclude='*.dSYM' --exclude='man') || do_exit $?
mv "$tmp"/"$JBR".tar.gz "$JBR".tar.gz
rm -rf "$tmp"
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
CONF_ARCHITECTURE=x86_64
if [[ "${architecture}" == *aarch64* ]]; then
CONF_ARCHITECTURE=aarch64
fi
RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=1
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=macosx-${CONF_ARCHITECTURE}-server-fastdebug
JBSDK=macosx-${architecture}-server-release
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
make clean CONF=$RELEASE_NAME || do_exit $?
fi
make images CONF=$RELEASE_NAME || do_exit $?
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk-bundle/jdk-$JBSDK_VERSION.jdk/Contents/Home
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not changed
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat "$JSDK"/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-${architecture}-b${build_number}
echo Creating "$JBRSDK_TEST" ...
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
make test-image jbr-api CONF=$RELEASE_NAME JBR_API_JBR_VERSION=TEST || do_exit $?
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test"
[ -f "$JBRSDK_TEST.tar.gz" ] && rm "$JBRSDK_TEST.tar.gz"
COPYFILE_DISABLE=1 tar -pczf "$JBRSDK_TEST".tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi
do_exit 0

View File

@@ -0,0 +1,121 @@
#!/bin/bash
set -euo pipefail
set -x
APP_DIRECTORY=$1
APPL_USER=$2
APPL_PASSWORD=$3
APP_NAME=$4
BUNDLE_ID=$5
FAKE_ROOT="${6:-fake-root}"
if [[ -z "$APP_DIRECTORY" ]] || [[ -z "$APPL_USER" ]] || [[ -z "$APPL_PASSWORD" ]]; then
echo "Usage: $0 AppDirectory Username Password"
exit 1
fi
if [[ ! -d "$APP_DIRECTORY" ]]; then
echo "AppDirectory '$APP_DIRECTORY' does not exist or not a directory"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
function publish-log() {
id=$1
file=$2
curl -T "$file" "$ARTIFACTORY_URL/$id" || true
}
function altool-upload() {
# Since altool uses same file for upload token we have to trick it into using different folders for token file location
# Also it copies zip into TMPDIR so we override it too, to simplify cleanup
OLD_HOME="$HOME"
export HOME="$FAKE_ROOT/home"
export TMPDIR="$FAKE_ROOT/tmp"
mkdir -p "$HOME"
mkdir -p "$TMPDIR"
export _JAVA_OPTIONS="-Duser.home=$HOME -Djava.io.tmpdir=$TMPDIR"
# Reduce amount of downloads, cache transporter libraries
shared_itmstransporter="$OLD_HOME/shared-itmstransporter"
if [[ -f "$shared_itmstransporter" ]]; then
cp -r "$shared_itmstransporter" "$HOME/.itmstransporter"
fi
# For some reason altool prints everything to stderr, not stdout
set +e
xcrun altool --notarize-app \
--username "$APPL_USER" --password "$APPL_PASSWORD" \
--primary-bundle-id "$BUNDLE_ID" \
--asc-provider JetBrainssro --file "$1" 2>&1 | tee "altool.init.out"
unset TMPDIR
export HOME="$OLD_HOME"
set -e
}
#immediately exit script with an error if a command fails
set -euo pipefail
#file="$APP_NAME.zip"
#log "Zipping $file..."
#rm -rf "$file"
#ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY" "$file"
log "Notarizing $APP_NAME..."
rm -rf "altool.init.out" "altool.check.out"
altool-upload "$APP_NAME"
notarization_info="$(grep -e "RequestUUID" "altool.init.out" | grep -oE '([0-9a-f-]{36})')"
if [ -z "$notarization_info" ]; then
log "Faile to read RequestUUID from altool.init.out"
exit 10
fi
PATH="$PATH:/usr/local/bin/"
log "Notarization request sent, awaiting response"
spent=0
while true; do
# For some reason altool prints everything to stderr, not stdout
xcrun altool --username "$APPL_USER" --notarization-info "$notarization_info" --password "$APPL_PASSWORD" >"altool.check.out" 2>&1 || true
status="$(grep -oe 'Status: .*' "altool.check.out" | cut -c 9- || true)"
log "Current status: $status"
if [ "$status" = "invalid" ]; then
log "Notarization failed"
ec=1
elif [ "$status" = "success" ]; then
log "Notarization succeeded"
ec=0
else
if [ "$status" != "in progress" ]; then
log "Unknown notarization status, waiting more, altool output:"
cat "altool.check.out"
fi
if [[ $spent -gt 60 ]]; then
log "Waiting time out (apx 60 minutes)"
ec=2
break
fi
sleep 60
((spent += 1))
continue
fi
developer_log="developer_log.json"
log "Fetching $developer_log"
# TODO: Replace cut with trim or something better
url="$(grep -oe 'LogFileURL: .*' "altool.check.out" | cut -c 13-)"
wget "$url" -O "$developer_log" && cat "$developer_log" || true
if [ $ec != 0 ]; then
log "Publishing $developer_log"
publish-log "$notarization_info" "$developer_log"
fi
break
done
cat "altool.check.out"
rm -rf "altool.init.out" "altool.check.out"
exit $ec

View File

@@ -0,0 +1,117 @@
#!/bin/bash
set -euo pipefail
set -x
APPLICATION_PATH=$1
APP_NAME=$2
BUNDLE_ID=$3
JB_DEVELOPER_CERT=$4
JB_INSTALLER_CERT=$5
if [[ -z "$APPLICATION_PATH" ]] || [[ -z "$JB_DEVELOPER_CERT" ]]; then
echo "Usage: $0 AppDirectory CertificateID"
exit 1
fi
if [[ ! -d "$APPLICATION_PATH" ]]; then
echo "AppDirectory '$APPLICATION_PATH' does not exist or not a directory"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
#immediately exit script with an error if a command fails
set -euo pipefail
# Cleanup files left from previous sign attempt (if any)
find "$APPLICATION_PATH" -name '*.cstemp' -exec rm '{}' \;
log "Signing libraries and executables..."
# -perm +111 searches for executables
for f in \
"Contents/Home/lib" "Contents/MacOS" \
"Contents/Home/Frameworks" \
"Contents/Frameworks"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "*.node" -o -perm +111 \) \
-exec codesign --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
--entitlements entitlements.xml {} \;
fi
done
log "Signing libraries in jars in $PWD"
# todo: add set -euo pipefail; into the inner sh -c
# `-e` prevents `grep -q && printf` loginc
# with `-o pipefail` there's no input for 'while' loop
find "$APPLICATION_PATH" -name '*.jar' \
-exec sh -c "set -u; unzip -l \"\$0\" | grep -q -e '\.dylib\$' -e '\.jnilib\$' -e '\.so\$' -e '\.tbd\$' -e '^jattach\$' && printf \"\$0\0\" " {} \; |
while IFS= read -r -d $'\0' file; do
log "Processing libraries in $file"
rm -rf jarfolder jar.jar
mkdir jarfolder
filename="${file##*/}"
log "Filename: $filename"
cp "$file" jarfolder && (cd jarfolder && jar xf "$filename" && rm "$filename")
find jarfolder \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -name "jattach" \) \
-exec codesign --timestamp \
--force \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
(cd jarfolder; zip -q -r -o -0 ../jar.jar .)
mv jar.jar "$file"
done
rm -rf jarfolder jar.jar
log "Signing other files..."
for f in \
"Contents/Home/bin"; do
if [ -d "$APPLICATION_PATH/$f" ]; then
find "$APPLICATION_PATH/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "*.tbd" -o -perm +111 \) \
-exec codesign --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime --force \
--entitlements entitlements.xml {} \;
fi
done
#log "Signing executable..."
#codesign --timestamp \
# -v -s "$JB_DEVELOPER_CERT" --options=runtime \
# --force \
# --entitlements entitlements.xml "$APPLICATION_PATH/Contents/MacOS/idea"
log "Signing whole app..."
codesign --timestamp \
-v -s "$JB_DEVELOPER_CERT" --options=runtime \
--force \
--entitlements entitlements.xml "$APPLICATION_PATH"
BUILD_NAME=$(echo $APPLICATION_PATH | awk -F"/" '{ print $2 }')
log "Creating $APP_NAME.pkg..."
rm -rf "$APP_NAME.pkg"
mkdir -p unsigned
pkgbuild --identifier $BUNDLE_ID --root $APPLICATION_PATH \
--install-location /Library/Java/JavaVirtualMachines/${BUILD_NAME} unsigned/${APP_NAME}.pkg
productsign --timestamp --sign "$JB_INSTALLER_CERT" unsigned/${APP_NAME}.pkg ${APP_NAME}.pkg
#log "Signing whole app..."
#codesign --timestamp \
# -v -s "$JB_DEVELOPER_CERT" --options=runtime \
# --force \
# --entitlements entitlements.xml $APP_NAME.pkg
log "Verifying java is not broken"
find "$APPLICATION_PATH" \
-type f -name 'java' -perm +111 -exec {} -version \;

View File

@@ -0,0 +1,138 @@
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
set -x
export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
export COPYFILE_DISABLE=true
INPUT_FILE=$1
EXPLODED=$2.exploded
BACKUP_JMODS=$2.backup
USERNAME=$3
PASSWORD=$4
CODESIGN_STRING=$5
JB_INSTALLER_CERT=$6
NOTARIZE=$7
BUNDLE_ID=$8
cd "$(dirname "$0")"
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
log "Deleting $EXPLODED ..."
if test -d "$EXPLODED"; then
find "$EXPLODED" -mindepth 1 -maxdepth 1 -exec chmod -R u+wx '{}' \;
fi
rm -rf "$EXPLODED"
mkdir "$EXPLODED"
rm -rf "$BACKUP_JMODS"
mkdir "$BACKUP_JMODS"
log "Unzipping $INPUT_FILE to $EXPLODED ..."
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
BUILD_NAME="$(ls "$EXPLODED")"
#sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
rm -f $EXPLODED/$BUILD_NAME/Contents/CodeResources
rm "$INPUT_FILE"
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/jmods $BACKUP_JMODS
fi
log "$INPUT_FILE extracted and removed"
APP_NAME=$(echo ${INPUT_FILE} | awk -F".tar" '{ print $1 }')
APPLICATION_PATH=$EXPLODED/$(ls $EXPLODED)
find "$APPLICATION_PATH/Contents/Home/bin" \
-maxdepth 1 -type f -name '*.jnilib' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Linking $file"
b="$(basename "$file" .jnilib)"
ln -sf "$b.jnilib" "$(dirname "$file")/$b.dylib"
fi
done
find "$APPLICATION_PATH/Contents/" \
-maxdepth 1 -type f -name '*.txt' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Moving $file"
mv "$file" "$APPLICATION_PATH/Contents/Resources"
fi
done
non_plist=$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist' | wc -l)
if [[ $non_plist -gt 0 ]]; then
log "Only Info.plist file is allowed in Contents directory but found $non_plist file(s):"
log "$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist')"
exit 1
fi
log "Unlocking keychain..."
# Make sure *.p12 is imported into local KeyChain
security unlock-keychain -p "$PASSWORD" "/Users/$USERNAME/Library/Keychains/login.keychain"
attempt=1
limit=3
set +e
while [[ $attempt -le $limit ]]; do
log "Signing (attempt $attempt) $APPLICATION_PATH ..."
./sign.sh "$APPLICATION_PATH" "$APP_NAME" "$BUNDLE_ID" "$CODESIGN_STRING" "$JB_INSTALLER_CERT"
ec=$?
if [[ $ec -ne 0 ]]; then
((attempt += 1))
if [ $attempt -eq $limit ]; then
set -e
fi
log "Signing failed, wait for 30 sec and try to sign again"
sleep 30
else
log "Signing done"
codesign -v "$APPLICATION_PATH" -vvvvv
log "Check sign done"
spctl -a -v $APPLICATION_PATH
((attempt += limit))
fi
done
set -e
if [ "$NOTARIZE" = "yes" ]; then
log "Notarizing..."
# shellcheck disable=SC1090
source "$HOME/.notarize_token"
# Since notarization tool uses same file for upload token we have to trick it into using different folders, hence fake root
# Also it leaves copy of zip file in TMPDIR, so notarize.sh overrides it and uses FAKE_ROOT as location for temp TMPDIR
FAKE_ROOT="$(pwd)/fake-root"
mkdir -p "$FAKE_ROOT"
echo "Notarization will use fake root: $FAKE_ROOT"
./notarize.sh "$APPLICATION_PATH" "$APPLE_USERNAME" "$APPLE_PASSWORD" "$APP_NAME.pkg" "$BUNDLE_ID" "$FAKE_ROOT"
rm -rf "$FAKE_ROOT"
set +e
log "Stapling..."
xcrun stapler staple "$APPLICATION_PATH"
else
log "Notarization disabled"
log "Stapling disabled"
fi
log "Zipping $BUILD_NAME to $INPUT_FILE ..."
(
#cd "$EXPLODED"
#ditto -c -k --sequesterRsrc --keepParent "$BUILD_NAME" "../$INPUT_FILE"
if test -d $BACKUP_JMODS/jmods; then
mv $BACKUP_JMODS/jmods $APPLICATION_PATH/Contents/Home
fi
mv $APPLICATION_PATH $EXPLODED/$BUILD_NAME
tar -pczvf $INPUT_FILE --exclude='man' -C $EXPLODED $BUILD_NAME
log "Finished zipping"
)
rm -rf "$EXPLODED"
log "Done"

View File

@@ -0,0 +1,30 @@
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
index 522acb7cb43..c40e689d5de 100644
--- jb/project/tools/common/modules.list
+++ jb/project/tools/common/modules.list
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef,
+gluegen.rt,
+jogl.all
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index 897647ee368..781d1809493 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -116,7 +116,11 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop;
+ jdk.unsupported.desktop,
+ jcef,
+ jogl.all;
+
+ exports java.awt.peer to jcef;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

View File

@@ -0,0 +1,30 @@
diff --git jb/project/tools/common/modules.list jb/project/tools/common/modules.list
index 522acb7..c40e689 100644
--- jb/project/tools/common/modules.list
+++ jb/project/tools/common/modules.list
@@ -51,4 +51,7 @@ jdk.unsupported.desktop,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef,
+gluegen.rt,
+jogl.all
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index 897647e..781d180 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -116,7 +116,11 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop;
+ jdk.unsupported.desktop,
+ jcef,
+ jogl.all;
+
+ exports java.awt.peer to jcef;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

View File

@@ -0,0 +1,162 @@
#!/bin/bash
set -euo pipefail
TC_PRINT=0
# Always print TeamCity service messages if running under TeamCity
[[ -n "${TEAMCITY_VERSION:-}" ]] && TC_PRINT=1
while getopts ":t" o; do
case "${o}" in
t) TC_PRINT=1 ;;
*);;
esac
done
shift $((OPTIND-1))
NEWFILEPATH="$1"
CONFIGID="$2"
BUILDID="$3"
TOKEN="$4"
if [ ! -f "$NEWFILEPATH" ]; then
echo "File not found: $NEWFILEPATH"
exit 1
fi
#
# Get the size of new artifact
#
unameOut="$(uname -s)"
case "${unameOut}" in
Linux*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
Darwin*)
NEWFILESIZE=$(stat -f%z "$NEWFILEPATH")
;;
CYGWIN*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
MINGW*)
NEWFILESIZE=$(stat -c%s "$NEWFILEPATH")
;;
*)
echo "Unknown machine: ${unameOut}"
exit 1
esac
FILENAME=$(basename "${NEWFILEPATH}")
#
# Get pattern of artifact name
# Base filename pattern: <BUNDLE_TYPE>-<JDK_VERSION>-<OS>-<ARCH>-b<BUILD>.tar.gz: jbr_dcevm-17.0.2-osx-x64-b1234.tar.gz
# BUNDLE_TYPE: jbr, jbrsdk, jbr_dcevm, jbrsdk_jcef etc.
# OS_ARCH_PATTERN - <os_architecture>: osx-x64, linux-aarch64, linux-musl-x64, windows-x64 etc.
BUNDLE_TYPE=jbrsdk
OS_ARCH_PATTERN=""
FILE_EXTENSION=tar.gz
re='(jbr[a-z_]*).*-[0-9_\.]+-(.+)-b[0-9]+(.+)'
if [[ $FILENAME =~ $re ]]; then
BUNDLE_TYPE=${BASH_REMATCH[1]}
OS_ARCH_PATTERN=${BASH_REMATCH[2]}
FILE_EXTENSION=${BASH_REMATCH[3]}
else
echo "File name $FILENAME does not match regex $re"
exit 1
fi
function test_started_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testStarted name='$1']"
fi
}
function test_failed_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testFailed name='$1' message='$2']"
fi
}
function test_finished_msg() {
if [ $TC_PRINT -eq 1 ]; then
echo "##teamcity[testFinished name='$1']"
fi
}
test_name="${BUNDLE_TYPE}_${OS_ARCH_PATTERN//\-/_}${FILE_EXTENSION//\./_}"
test_started_msg "$test_name"
echo "BUNDLE_TYPE: $BUNDLE_TYPE"
echo "OS_ARCH_PATTERN: $OS_ARCH_PATTERN"
echo "FILE_EXTENSION: $FILE_EXTENSION"
echo "Size of $FILENAME is $NEWFILESIZE bytes"
#
# Get previous successful build ID
# Example:
# CONFIGID=IntellijCustomJdk_Jdk17_Master_LinuxX64jcef
# BUILDID=12345678
#
# expected return value
# id="123".number="567"
#
CURL_RESPONSE=$(curl -sSL --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/?locator=buildType:(id:$CONFIGID),status:success,count:1,finishDate:(build:$BUILDID,condition:before)")
re='id=\"([0-9]+)\".+number=\"([0-9\.]+)\"'
# ID: Previous successful build id
ID=0
if [[ $CURL_RESPONSE =~ $re ]]; then
ID=${BASH_REMATCH[1]}
echo "Previous build ID: $ID"
echo "Previous build number: ${BASH_REMATCH[2]}"
else
msg="ERROR: cannot find previous build"
echo "$msg"
echo "$CURL_RESPONSE"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
fi
#
# Get artifacts from previous successful build
#
# expected return value
# name="jbrsdk_jcef*.tar.gz size="123'
#
CURL_RESPONSE=$(curl -sSL --header "Authorization: Bearer $TOKEN" "https://buildserver.labs.intellij.net/app/rest/builds/$ID?fields=id,number,artifacts(file(name,size))")
echo "Artifacts of the previous build:"
echo "$CURL_RESPONSE"
# Find binary size (in response) with reg exp
re="name=\"(${BUNDLE_TYPE}[^\"]+${OS_ARCH_PATTERN}[^\"]+${FILE_EXTENSION})\" size=\"([0-9]+)\""
if [[ $CURL_RESPONSE =~ $re ]]; then
prevFileName=${BASH_REMATCH[1]}
echo "Previous artifact name: $prevFileName"
prevFileSize=${BASH_REMATCH[2]}
echo "Previous artifact size: $prevFileSize"
((allowedSize=prevFileSize+prevFileSize/20)) # use 5% threshold
echo "Allowed size: $allowedSize"
if [[ "$NEWFILESIZE" -gt "$allowedSize" ]]; then
msg="ERROR: new size is significantly greater than previous size (need to investigate)"
echo "$msg"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
else
echo "PASSED"
test_finished_msg "$test_name"
fi
else
msg="ERROR: cannot find string with size in xml response:"
echo "Regex: $re"
echo "$msg"
echo "$CURL_RESPONSE"
test_failed_msg "$test_name" "$msg"
test_finished_msg "$test_name"
exit 1
fi

View File

@@ -0,0 +1,93 @@
#!/bin/bash
set -euo pipefail
set -x
usage ()
{
echo "Usage: perfcmp.sh [options] <test_results_cur> <test_results_ref> <results> <test_prefix> <noHeaders>"
echo "Options:"
echo -e " -h, --help\tdisplay this help"
echo -e " -tc\tprint teacmity statistic"
echo -e "test_results_cur - the file with metrics values for the current measuring"
echo -e "test_results_ref - the file with metrics values for the reference measuring"
echo -e "results - results of comaprison"
echo -e "test_prefix - specifys measuring type, makes sense for enabled -tc, by default no prefixes"
echo -e "noHeaders - by default 1-st line contains headers"
echo -e ""
echo -e "test_results_* files content should be in csv format with header and tab separator:"
echo -e "The 1-st column is the test name"
echo -e "The 2-st column is the test value"
echo -e ""
echo -e "Example:"
echo -e "Test Value"
echo -e "Testname 51.54"
}
while [ -n "$1" ]
do
case "$1" in
-h | --help) usage
exit 1 ;;
-tc) tc=1
shift
break ;;
*) break;;
esac
done
if [[ "$#" < "3" ]]; then
echo "Error: Invalid arguments"
usage
exit 1
fi
curFile=$1
refFile=$2
resFile=$3
testNamePrefix=$4
noHeaders=$5
echo $curFile
echo $refFile
echo $resFile
curValues=`cat "$curFile" | cut -f 2 | tr -d '\t'`
if [ -z $noHeaders ]; then
curValuesHeader=`echo "$curValues" | head -n +1`_cur
header=`cat "$refFile" | head -n +1 | awk -F'\t' -v x=$curValuesHeader '{print " "$1"\t"$2"_ref\t"x"\tratio"}'`
testContent=`paste -d '\t' $refFile <(echo "$curValues") | tail -n +2`
else
testContent=`paste -d '\t' $refFile <(echo "$curValues") | tail -n +1`
fi
testContent=`echo "$testContent" | tr "," "." | awk -F'\t' '{
if ($3>$2+$2*0.1) {
print "* "$1"\t"$2"\t"$3"\t"(($2>0)?$3/$2:"-")
} else {
print " "$1"\t"$2"\t"$3"\t"(($2>0)?$3/$2:"-")
}
}'`
if [ -z $noHeaders ]; then
echo "$header" > $resFile
fi
echo "$testContent" >> $resFile
cat "$resFile" | tr '\t' ';' | column -t -s ';' | tee $resFile
if [ -z $tc ]; then
exit 0
fi
failed=0
echo "$testContent" 2>&1 | (
while read -r s; do
testname=`echo "$s" | cut -f 1 | tr -d "[:space:]" | tr -d "*"`
duration=`echo "$s" | cut -f 3`
echo "$s" | cut -c1 | grep -c "*" && failed=1
echo \#\#teamcity[testStarted name=\'$testNamePrefix$testname\']
echo "===>$s"
echo \#\#teamcity[buildStatisticValue key=\'$testNamePrefix$testname\' value=\'$duration\']
[ $failed -eq 1 ] && echo \#\#teamcity[testFailed name=\'$testNamePrefix$testname\' message=\'$s\']
echo \#\#teamcity[testFinished name=\'$testNamePrefix$testname\' duration=\'$duration\']
failed=0
done
)

View File

@@ -0,0 +1,148 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_aarch64
if [ -z "$BUILD_JDK" ]; then
echo "BUILD_JDK environment variable must be specified and point to a JDK built from the current sources" \
" and is able to run on the build system. See OpenJDK documentation for --with-build-jdk for more info."
exit 1
fi
source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_aarch64}
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
--openjdk-target=aarch64-unknown-cygwin \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-build-jdk=$BUILD_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
--enable-cds=yes || do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
echo Running jlink ...
${BUILD_JDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__arch_name/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-aarch64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=0
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=0
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-aarch64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
where cygpath
if [ $? -eq 0 ]; then
JCEF_PATH="$(cygpath -w $JCEF_PATH | sed 's/\\/\//g')"
fi
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module_aarch64.patch || do_exit $?
update_jsdk_mods "$BUILD_JDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* $JSDK_MODS_DIR # $JSDK/jmods is not unchanged
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g) || do_exit $?
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0

View File

@@ -0,0 +1,141 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script makes test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
# Environment variables:
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument
# to configure
# By default JDK_BUILD_NUMBER is set zero
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_x64
source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_x64}
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
echo Running jlink ...
${JSDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-server-release
case "$bundle_type" in
"jcef")
do_reset_changes=0
do_maketest=1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=0
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-x86_64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
where cygpath
if [ $? -eq 0 ]; then
JCEF_PATH="$(cygpath -w $JCEF_PATH | sed 's/\\/\//g')"
fi
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(xargs < jb/project/tools/common/modules.list | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0

View File

@@ -0,0 +1,131 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
source jb/project/tools/common/scripts/common.sh
WORK_DIR=$(pwd)
NVDA_PATH=${NVDA_PATH:=$WORK_DIR/nvda_controllerClient}
function do_configure {
sh ./configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-toolchain-version=$TOOLCHAIN_VERSION \
--with-boot-jdk=$BOOT_JDK \
--with-nvdacontrollerclient=$NVDA_PATH \
--disable-ccache \
--enable-cds=yes \
$STATIC_CONF_ARGS \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
echo Running jlink ...
${JSDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__root_dir || do_exit $?
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> $__root_dir/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' $__root_dir/release > release
mv release $__root_dir/release
cp $IMAGES_DIR/jdk/lib/src.zip $__root_dir/lib
for dir in $(ls -d $IMAGES_DIR/jdk/*); do
rsync -amv --include="*/" --include="*.pdb" --exclude="*" $dir $__root_dir
done
copy_jmods "$__modules" "$__modules_path" "$__root_dir"/jmods
fi
}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-server-release
case "$bundle_type" in
"jcef")
echo "not implemented" && do_exit 1
;;
"nomod" | "")
bundle_type=""
;;
"fd")
do_reset_changes=0
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-x86_64-server-fastdebug
;;
esac
if [ -z "${INC_BUILD:-}" ]; then
do_configure || do_exit $?
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME clean images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME clean images || do_exit $?
fi
else
if [ $do_maketest -eq 1 ]; then
make LOG=info CONF=$RELEASE_NAME images test-image jbr-api JBR_API_JBR_VERSION=TEST || do_exit $?
else
make LOG=info CONF=$RELEASE_NAME images || do_exit $?
fi
fi
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JSDK_MODS_DIR=$IMAGES_DIR/jmods
JBRSDK_BUNDLE=jbrsdk
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ]; then
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
update_jsdk_mods "$JSDK" "$JCEF_PATH"/jmods "$JSDK"/jmods "$JSDK_MODS_DIR" || do_exit $?
cp $JCEF_PATH/jmods/* ${JSDK_MODS_DIR} # $JSDK/jmods is not unchanged
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
# create runtime image bundle
modules=$(grep -v "jdk.internal.vm" jb/project/tools/common/modules.list | xargs | sed s/" "//g) || do_exit $?
modules+=",jdk.crypto.mscapi"
create_image_bundle "jbr${jbr_name_postfix}" "jbr" $JSDK_MODS_DIR "$modules" || do_exit $?
# create sdk image bundle
modules=$(cat ${JSDK}/release | grep MODULES | sed s/MODULES=//g | sed s/' '/','/g | sed s/\"//g | sed s/\\r//g | sed s/\\n//g)
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "fd" ] || [ "$bundle_type" == "$JBRSDK_BUNDLE" ]; then
modules=${modules},$(get_mods_list "$JCEF_PATH"/jmods)
fi
create_image_bundle "$JBRSDK_BUNDLE${jbr_name_postfix}" "$JBRSDK_BUNDLE" "$JSDK_MODS_DIR" "$modules" || do_exit $?
do_exit 0

View File

@@ -0,0 +1,57 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script packs test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
source jb/project/tools/common/scripts/common.sh
[ "$bundle_type" == "jcef" ] && do_maketest=1
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-aarch64-${fastdebug_infix}b${build_number}
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
RELEASE_NAME=windows-aarch64-server-release
IMAGES_DIR=build/$RELEASE_NAME/images
BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-aarch64-b$build_number
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -0,0 +1,57 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# jcef - the release bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# This script packs test-image along with JDK images when bundle_type is set to "jcef".
# If the character 't' is added at the end of bundle_type then it also makes test-image along with JDK images.
#
source jb/project/tools/common/scripts/common.sh
[ "$bundle_type" == "jcef" ] && do_maketest=1
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x64-${fastdebug_infix}b${build_number}
echo Creating $JBR.tar.gz ...
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
RELEASE_NAME=windows-x86_64-server-release
IMAGES_DIR=build/$RELEASE_NAME/images
BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x64-b$build_number
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -0,0 +1,53 @@
#!/bin/bash
set -euo pipefail
set -x
# The following parameters must be specified:
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built;possible values:
# <empty> or nomod - the release bundles without any additional modules (jcef)
# fd - the fastdebug bundles which also include the jcef module
#
source jb/project/tools/common/scripts/common.sh
[ "$bundle_type" == "jcef" ] && echo "not implemented" && do_exit 1
function pack_jbr {
__bundle_name=$1
__arch_name=$2
fastdebug_infix=''
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
JBR=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
__root_dir=${__bundle_name}-${JBSDK_VERSION}-windows-x86-${fastdebug_infix}b${build_number}
echo Creating $JBR.tar.gz ...
chmod -R ug+rwx,o+rx ${BASE_DIR}/$__root_dir
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__root_dir || do_exit $?
}
[ "$bundle_type" == "nomod" ] && bundle_type=""
JBRSDK_BUNDLE=jbrsdk
RELEASE_NAME=windows-x86_64-server-release
IMAGES_DIR=build/$RELEASE_NAME/images
BASE_DIR=.
if [ "$bundle_type" == "jcef" ] || [ "$bundle_type" == "dcevm" ] || [ "$bundle_type" == "fd" ]; then
jbr_name_postfix="_${bundle_type}"
else
jbr_name_postfix=""
fi
pack_jbr jbr${jbr_name_postfix} jbr
pack_jbr jbrsdk${jbr_name_postfix} jbrsdk
if [ $do_maketest -eq 1 ]; then
JBRSDK_TEST=$JBRSDK_BUNDLE-$JBSDK_VERSION-windows-test-x86-b$build_number
cp "build/${RELEASE_NAME}/jbr-api/jbr-api.jar" "${IMAGES_DIR}/test" || do_exit $?
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $BASE_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

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
@@ -69,6 +69,13 @@ $(eval $(call SetupCopyFiles,COPY_NIMBUS_TEMPLATES, \
TARGETS += $(COPY_NIMBUS_TEMPLATES)
$(eval $(call SetupCopyFiles,COPY_CLDRCONVERTER_PROPERTIES, \
SRC := $(TOPDIR)/make/jdk/src/classes/build/tools/cldrconverter, \
DEST := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes/build/tools/cldrconverter, \
FILES := $(wildcard $(TOPDIR)/make/jdk/src/classes/build/tools/cldrconverter/*.properties)))
TARGETS += $(COPY_CLDRCONVERTER_PROPERTIES)
################################################################################
$(eval $(call SetupJavaCompilation, COMPILE_DEPEND, \

93
make/JBRApi.gmk Normal file
View File

@@ -0,0 +1,93 @@
#
# Copyright 2000-2023 JetBrains s.r.o.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
JBR_API_ROOT_DIR := $(TOPDIR)/src/jetbrains.api
JBR_API_TOOLS_DIR := $(JBR_API_ROOT_DIR)/tools
JBR_API_SRC_DIR := $(JBR_API_ROOT_DIR)/src
JBR_API_OUTPUT_DIR := $(OUTPUTDIR)/jbr-api
JBR_API_GENSRC_DIR := $(JBR_API_OUTPUT_DIR)/gensrc
JBR_API_BIN_DIR := $(JBR_API_OUTPUT_DIR)/bin
JBR_API_VERSION_PROPERTIES := $(JBR_API_ROOT_DIR)/version.properties
JBR_API_VERSION_GENSRC := $(JBR_API_OUTPUT_DIR)/jbr-api.version
JBR_API_GENSRC_BATCH := $(JBR_API_VERSION_GENSRC)
JBR_API_SRC_FILES := $(call FindFiles, $(JBR_API_SRC_DIR))
JBR_API_GENSRC_FILES := $(foreach f, $(call FindFiles, $(JBR_API_SRC_DIR)), \
$(JBR_API_GENSRC_DIR)/$(call RelativePath, $f, $(JBR_API_SRC_DIR)))
ifeq ($(JBR_API_JBR_VERSION),)
JBR_API_JBR_VERSION := DEVELOPMENT
JBR_API_FAIL_ON_HASH_MISMATCH := false
else
.PHONY: $(JBR_API_VERSION_PROPERTIES)
JBR_API_FAIL_ON_HASH_MISMATCH := true
endif
ARCHIVE_BUILD_JBR_API_BIN := $(JBR_API_BIN_DIR)
$(eval $(call SetupJavaCompilation, BUILD_JBR_API, \
SMALL_JAVA := true, \
COMPILER := bootjdk, \
SRC := $(JBR_API_GENSRC_DIR), \
EXTRA_FILES := $(JBR_API_GENSRC_FILES), \
BIN := $(JBR_API_BIN_DIR), \
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api.jar, \
))
$(eval $(call SetupJarArchive, BUILD_JBR_API_SOURCES_JAR, \
DEPENDENCIES := $(JBR_API_GENSRC_FILES), \
SRCS := $(JBR_API_GENSRC_DIR), \
JAR := $(JBR_API_OUTPUT_DIR)/jbr-api-sources.jar, \
SUFFIXES := .java, \
BIN := $(JBR_API_BIN_DIR), \
))
# Grouped targets may not be supported, so hack dependencies: sources -> version file -> generated sources
$(JBR_API_VERSION_GENSRC): $(JBR_API_SRC_FILES) $(JBR_API_VERSION_PROPERTIES) $(JBR_API_TOOLS_DIR)/Gensrc.java
$(ECHO) Generating sources for JBR API
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_TOOLS_DIR)/Gensrc.java" \
"$(TOPDIR)/src" "$(JBR_API_OUTPUT_DIR)" "$(JBR_API_JBR_VERSION)"
$(JBR_API_GENSRC_FILES): $(JBR_API_VERSION_GENSRC)
$(TOUCH) $@
jbr-api-check-version: $(JBR_API_GENSRC_FILES) $(JBR_API_VERSION_PROPERTIES)
$(JAVA_CMD) $(JAVA_FLAGS_SMALL) "$(JBR_API_TOOLS_DIR)/CheckVersion.java" \
"$(JBR_API_ROOT_DIR)" "$(JBR_API_GENSRC_DIR)" "$(JBR_API_FAIL_ON_HASH_MISMATCH)"
jbr-api: $(BUILD_JBR_API) $(BUILD_JBR_API_SOURCES_JAR) jbr-api-check-version
.PHONY: jbr-api jbr-api-check-version
ifneq ($(JBR_API_CONF_FILE),)
$(JBR_API_CONF_FILE): $(JBR_API_GENSRC_FILES)
$(ECHO) "VERSION=`$(CAT) $(JBR_API_VERSION_GENSRC)`" > $(JBR_API_CONF_FILE)
$(ECHO) "JAR=$(JBR_API_OUTPUT_DIR)/jbr-api.jar" >> $(JBR_API_CONF_FILE)
$(ECHO) "SOURCES_JAR=$(JBR_API_OUTPUT_DIR)/jbr-api-sources.jar" >> $(JBR_API_CONF_FILE)
jbr-api: $(JBR_API_CONF_FILE)
.PHONY: $(JBR_API_CONF_FILE)
endif

View File

@@ -1354,6 +1354,14 @@ create-main-targets-include:
@$(ECHO) ALL_MAIN_TARGETS := $(sort $(ALL_TARGETS)) > \
$(MAKESUPPORT_OUTPUTDIR)/main-targets.gmk
################################################################################
# JBR API
$(eval $(call SetupTarget, jbr-api, \
MAKEFILE := JBRApi, \
TARGET := jbr-api \
))
################################################################################
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, Main-post.gmk))

View File

@@ -51,6 +51,7 @@ define create-info-file
$(if $(VENDOR_VERSION_STRING), \
$(call info-file-item, "IMPLEMENTOR_VERSION", "$(VENDOR_VERSION_STRING)"))
$(call info-file-item, "JAVA_VERSION_DATE", "$(VERSION_DATE)")
$(call info-file-item, "JAVA_RUNTIME_VERSION", "$(VERSION_STRING)")
$(call info-file-item, "OS_NAME", "$(RELEASE_FILE_OS_NAME)")
$(call info-file-item, "OS_ARCH", "$(RELEASE_FILE_OS_ARCH)")
$(call info-file-item, "LIBC", "$(RELEASE_FILE_LIBC)")

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
@@ -101,6 +101,29 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
AUTOCONF_DIR=$TOPDIR/make/autoconf
])
###############################################################################
# Setup what kind of build environment type we have (CI or local developer)
AC_DEFUN_ONCE([BASIC_SETUP_BUILD_ENV],
[
if test "x$CI" = "xtrue"; then
DEFAULT_BUILD_ENV="ci"
AC_MSG_NOTICE([CI environment variable set to $CI])
else
DEFAULT_BUILD_ENV="dev"
fi
UTIL_ARG_WITH(NAME: build-env, TYPE: literal,
RESULT: BUILD_ENV,
VALID_VALUES: [auto dev ci], DEFAULT: auto,
CHECKING_MSG: [for build environment type],
DESC: [select build environment type (affects certain default values)],
IF_AUTO: [
RESULT=$DEFAULT_BUILD_ENV
]
)
AC_SUBST(BUILD_ENV)
])
###############################################################################
# Evaluates platform specific overrides for devkit variables.
# $1: Name of variable

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
@@ -88,6 +88,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
UTIL_LOOKUP_PROGS(GIT, git)
UTIL_LOOKUP_PROGS(NICE, nice)
UTIL_LOOKUP_PROGS(READLINK, greadlink readlink)
UTIL_LOOKUP_PROGS(WHOAMI, whoami)
# These are only needed on some platforms
UTIL_LOOKUP_PROGS(PATHTOOL, cygpath wslpath)
@@ -285,7 +286,7 @@ AC_DEFUN([BASIC_CHECK_TAR],
if test "x$TAR_TYPE" = "xgnu"; then
TAR_INCLUDE_PARAM="T"
TAR_SUPPORTS_TRANSFORM="true"
elif test "x$TAR_TYPE" = "aix"; then
elif test "x$TAR_TYPE" = "xaix"; then
# -L InputList of aix tar: name of file listing the files and directories
# that need to be archived or extracted
TAR_INCLUDE_PARAM="L"
@@ -433,7 +434,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
if test "x$PANDOC" != x; then
AC_MSG_CHECKING([for pandoc version])
PANDOC_VERSION=`$PANDOC --version 2>&1 | $HEAD -1 | $CUT -d " " -f 2`
PANDOC_VERSION=`$PANDOC --version 2>&1 | $TR -d '\r' | $HEAD -1 | $CUT -d " " -f 2`
AC_MSG_RESULT([$PANDOC_VERSION])
if test "x$PANDOC_VERSION" != x$RECOMMENDED_PANDOC_VERSION; then
@@ -442,7 +443,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
PANDOC_MARKDOWN_FLAG="markdown"
AC_MSG_CHECKING([if the pandoc smart extension needs to be disabled for markdown])
if $PANDOC --list-extensions | $GREP -q '\+smart'; then
if $PANDOC --list-extensions | $GREP -q '+smart'; then
AC_MSG_RESULT([yes])
PANDOC_MARKDOWN_FLAG="markdown-smart"
else

View File

@@ -89,8 +89,8 @@ AC_DEFUN([BASIC_SETUP_PATHS_WINDOWS],
WINENV_TEMP_DIR=$($PATHTOOL -u $($CMD /q /c echo %TEMP% 2> /dev/null) | $TR -d '\r\n')
AC_MSG_RESULT([$WINENV_TEMP_DIR])
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
# Don't trust the current directory for WSL2, but change to an OK temp dir
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl1" || test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
# Don't trust the current directory for WSL, but change to an OK temp dir
cd "$WINENV_TEMP_DIR"
# Bring along confdefs.h or autoconf gets all confused
cp "$CONFIGURE_START_DIR/confdefs.h" "$WINENV_TEMP_DIR"
@@ -228,7 +228,7 @@ AC_DEFUN([BASIC_WINDOWS_FINALIZE_FIXPATH],
# Platform-specific finalization
AC_DEFUN([BASIC_WINDOWS_FINALIZE],
[
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl1" || test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl2"; then
# Change back from temp dir
cd $CONFIGURE_START_DIR
fi

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
@@ -382,7 +382,7 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
# Finally, set some other options...
# Determine if the boot jdk jar supports the --date option
if $JAR --help 2>&1 | $GREP -q "\-\-date=TIMESTAMP"; then
if $JAR --help 2>&1 | $GREP -q -e "--date=TIMESTAMP"; then
BOOT_JDK_JAR_SUPPORTS_DATE=true
else
BOOT_JDK_JAR_SUPPORTS_DATE=false

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (c) 2012, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2021, Azul Systems, Inc. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
@@ -37,17 +37,6 @@ if [ "x$OUT" = x ]; then
# Test and fix little endian MIPS.
if [ `uname -m` = mipsel ]; then
OUT=mipsel-unknown-linux-gnu
elif [ `uname -m` = mips64el ]; then
OUT=mips64el-unknown-linux-gnu
# Test and fix little endian PowerPC64.
elif [ `uname -m` = ppc64le ]; then
OUT=powerpc64le-unknown-linux-gnu
# Test and fix LoongArch64.
elif [ `uname -m` = loongarch64 ]; then
OUT=loongarch64-unknown-linux-gnu
# Test and fix RISC-V.
elif [ `uname -m` = riscv64 ]; then
OUT=riscv64-unknown-linux-gnu
fi
# Test and fix cygwin machine arch .x86_64
elif [[ `uname -s` = CYGWIN* ]]; then
@@ -64,17 +53,6 @@ if [ "x$OUT" = x ]; then
fi
fi
# Detect C library.
# Use '-gnu' suffix on systems that use glibc.
# Use '-musl' suffix on systems that use the musl libc.
echo $OUT | grep -- -linux- > /dev/null 2> /dev/null
if test $? = 0; then
libc_vendor=`ldd --version 2>&1 | sed -n '1s/.*\(musl\).*/\1/p'`
if [ x"${libc_vendor}" = x"musl" ]; then
OUT=`echo $OUT | sed 's/-gnu/-musl/'`
fi
fi
# Test and fix cygwin on x86_64
echo $OUT | grep 86-pc-cygwin > /dev/null 2> /dev/null
if test $? != 0; then
@@ -90,11 +68,11 @@ if test $? = 0; then
fi
# Test and fix wsl
echo $OUT | grep unknown-linux-gnu > /dev/null 2> /dev/null
echo $OUT | grep '\(unknown\|pc\)-linux-gnu' > /dev/null 2> /dev/null
if test $? = 0; then
uname -r | grep -i microsoft > /dev/null 2> /dev/null
if test $? = 0; then
OUT=`echo $OUT | sed -e 's/unknown-linux-gnu/pc-wsl/'`
OUT=`echo $OUT | sed -e 's/\(unknown\|pc\)-linux-gnu/pc-wsl/'`
fi
fi
@@ -114,18 +92,6 @@ if test $? = 0; then
OUT=powerpc$KERNEL_BITMODE`echo $OUT | sed -e 's/[^-]*//'`
fi
# Test and fix cpu on macos-aarch64, uname -p reports arm, buildsys expects aarch64
echo $OUT | grep arm-apple-darwin > /dev/null 2> /dev/null
if test $? != 0; then
# The GNU version of uname may be on the PATH which reports arm64 instead
echo $OUT | grep arm64-apple-darwin > /dev/null 2> /dev/null
fi
if test $? = 0; then
if [ `uname -m` = arm64 ]; then
OUT=aarch64`echo $OUT | sed -e 's/[^-]*//'`
fi
fi
# Test and fix cpu on Macosx when C preprocessor is not on the path
echo $OUT | grep i386-apple-darwin > /dev/null 2> /dev/null
if test $? = 0; then

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (c) 2014, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -29,46 +29,16 @@
DIR=`dirname $0`
if echo $* | grep linux-musl >/dev/null ; then
echo $*
exit
fi
# Allow wsl
if echo $* | grep pc-wsl >/dev/null ; then
echo $*
exit
fi
# Allow msys2
if echo $* | grep pc-msys >/dev/null ; then
echo $*
exit
fi
# Canonicalize for riscv which autoconf-config.sub doesn't handle
if echo $* | grep '^riscv\(32\|64\)-linux' >/dev/null ; then
result=`echo $@ | sed 's/linux/unknown-linux/'`
echo $result
exit
fi
# Filter out everything that doesn't begin with "aarch64-"
if ! echo $* | grep '^aarch64-' >/dev/null ; then
. $DIR/autoconf-config.sub "$@"
# autoconf-config.sub exits, so we never reach here, but just in
# case we do:
exit
fi
while test $# -gt 0 ; do
case $1 in
-- ) # Stop option processing
shift; break ;;
aarch64-* )
config=`echo $1 | sed 's/^aarch64-/arm-/'`
sub_args="$sub_args $config"
shift; ;;
- ) # Use stdin as input.
sub_args="$sub_args $1"
shift; break ;;
@@ -81,7 +51,5 @@ done
result=`. $DIR/autoconf-config.sub $sub_args "$@"`
exitcode=$?
result=`echo $result | sed "s/^arm-/aarch64-/"`
echo $result
exit $exitcode

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, 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
@@ -26,39 +26,29 @@
AC_DEFUN([BPERF_CHECK_CORES],
[
AC_MSG_CHECKING([for number of cores])
NUM_CORES=1
FOUND_CORES=no
if test -f /proc/cpuinfo; then
# Looks like a Linux (or cygwin) system
NUM_CORES=`cat /proc/cpuinfo | grep -c processor`
NUM_CORES=`cat /proc/cpuinfo | grep -cw processor`
if test "$NUM_CORES" -eq "0"; then
NUM_CORES=`cat /proc/cpuinfo | grep -c ^CPU`
fi
if test "$NUM_CORES" -ne "0"; then
FOUND_CORES=yes
fi
elif test -x /usr/sbin/sysctl; then
# Looks like a MacOSX system
NUM_CORES=`/usr/sbin/sysctl -n hw.ncpu`
FOUND_CORES=yes
elif test "x$OPENJDK_BUILD_OS" = xaix ; then
NUM_LCPU=`lparstat -m 2> /dev/null | $GREP -o "lcpu=[[0-9]]*" | $CUT -d "=" -f 2`
if test -n "$NUM_LCPU"; then
NUM_CORES=$NUM_LCPU
FOUND_CORES=yes
fi
NUM_CORES=`lparstat -m 2> /dev/null | $GREP -o "lcpu=[[0-9]]*" | $CUT -d "=" -f 2`
elif test -n "$NUMBER_OF_PROCESSORS"; then
# On windows, look in the env
NUM_CORES=$NUMBER_OF_PROCESSORS
FOUND_CORES=yes
fi
if test "x$FOUND_CORES" = xyes; then
AC_MSG_RESULT([$NUM_CORES])
else
if test "$NUM_CORES" -eq "0"; then
NUM_CORES=1
AC_MSG_RESULT([could not detect number of cores, defaulting to 1])
AC_MSG_WARN([This will disable all parallelism from build!])
else
AC_MSG_RESULT([$NUM_CORES])
fi
])

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
@@ -86,6 +86,7 @@ PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET
# Continue setting up basic stuff. Most remaining code require fundamental tools.
BASIC_SETUP_PATHS
BASIC_SETUP_BUILD_ENV
# Check if it's a pure open build or if custom sources are to be used.
JDKOPT_SETUP_OPEN_OR_CUSTOM
@@ -215,6 +216,12 @@ JDKOPT_SETUP_CODE_COVERAGE
# AddressSanitizer
JDKOPT_SETUP_ADDRESS_SANITIZER
# UndefinedBehaviorSanitizer
JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER
# LeakSanitizer
JDKOPT_SETUP_LEAK_SANITIZER
###############################################################################
#
# Check dependencies for external and internal libraries.

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
@@ -234,6 +234,31 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
fi
AC_SUBST(HOTSPOT_OVERRIDE_LIBPATH)
# Should we build the client for the JAWS screen reader?
if test "x$OPENJDK_TARGET_OS" = xwindows; then
AC_MSG_CHECKING([if JAWS client support is enabled])
A11Y_JAWS_ANNOUNCING_ENABLED=true
AC_ARG_ENABLE(
[jaws-client],
[AS_HELP_STRING([--disable-jaws-client], [Set to disable to exclude the client for the JAWS screen reader from the build])],
[
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
AC_MSG_WARN([--[enable|disable]-jaws-client[=*] flags are ignored for headless builds])
elif test "x$enableval" != xyes; then
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
]
)
if test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
AC_MSG_RESULT([$A11Y_JAWS_ANNOUNCING_ENABLED])
else
A11Y_JAWS_ANNOUNCING_ENABLED=false
fi
AC_SUBST(A11Y_JAWS_ANNOUNCING_ENABLED)
])
###############################################################################
@@ -410,10 +435,56 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
[
UTIL_ARG_ENABLE(NAME: asan, DEFAULT: false,
UTIL_ARG_ENABLE(NAME: asan, DEFAULT: false, RESULT: ASAN_ENABLED,
DESC: [enable AddressSanitizer],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if AddressSanitizer (asan) is available])
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang" ||
test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
],
IF_ENABLED: [
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
# ASan is simply incompatible with gcc -Wstringop-truncation. See
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85650
# It's harmless to be suppressed in clang as well.
ASAN_CFLAGS="-fsanitize=address -Wno-stringop-truncation -fno-omit-frame-pointer -fno-common -DADDRESS_SANITIZER"
ASAN_LDFLAGS="-fsanitize=address"
elif test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
# -Oy- is equivalent to -fno-omit-frame-pointer in GCC/Clang.
ASAN_CFLAGS="-fsanitize=address -Oy- -DADDRESS_SANITIZER"
# MSVC produces a warning if you pass -fsanitize=address to the linker. It also complains
$ if -DEBUG is not passed to the linker when building with ASan.
ASAN_LDFLAGS="-debug"
fi
JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"
JVM_LDFLAGS="$JVM_LDFLAGS $ASAN_LDFLAGS"
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $ASAN_CFLAGS"
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $ASAN_CFLAGS"
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $ASAN_CFLAGS"
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $ASAN_CFLAGS"
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $ASAN_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $ASAN_LDFLAGS"
])
AC_SUBST(ASAN_ENABLED)
])
###############################################################################
#
# LeakSanitizer
#
AC_DEFUN_ONCE([JDKOPT_SETUP_LEAK_SANITIZER],
[
UTIL_ARG_ENABLE(NAME: lsan, DEFAULT: false, RESULT: LSAN_ENABLED,
DESC: [enable LeakSanitizer],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if LeakSanitizer (lsan) is available])
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
AC_MSG_RESULT([yes])
@@ -423,26 +494,60 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
fi
],
IF_ENABLED: [
# ASan is simply incompatible with gcc -Wstringop-truncation. See
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85650
# It's harmless to be suppressed in clang as well.
ASAN_CFLAGS="-fsanitize=address -Wno-stringop-truncation -fno-omit-frame-pointer"
ASAN_LDFLAGS="-fsanitize=address"
JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"
JVM_LDFLAGS="$JVM_LDFLAGS $ASAN_LDFLAGS"
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $ASAN_CFLAGS"
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $ASAN_CFLAGS"
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $ASAN_CFLAGS"
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $ASAN_CFLAGS"
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $ASAN_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $ASAN_LDFLAGS"
ASAN_ENABLED="yes"
],
IF_DISABLED: [
ASAN_ENABLED="no"
LSAN_CFLAGS="-fsanitize=leak -fno-omit-frame-pointer -DLEAK_SANITIZER"
LSAN_LDFLAGS="-fsanitize=leak"
JVM_CFLAGS="$JVM_CFLAGS $LSAN_CFLAGS"
JVM_LDFLAGS="$JVM_LDFLAGS $LSAN_LDFLAGS"
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $LSAN_CFLAGS"
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $LSAN_CFLAGS"
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $LSAN_CFLAGS"
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $LSAN_CFLAGS"
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $LSAN_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $LSAN_LDFLAGS"
])
AC_SUBST(LSAN_ENABLED)
])
AC_SUBST(ASAN_ENABLED)
###############################################################################
#
# UndefinedBehaviorSanitizer
#
AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
[
# GCC reports lots of likely false positives for stringop-truncation and format-overflow.
# Silence them for now.
UBSAN_CHECKS="-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-sanitize=shift-base"
UBSAN_CFLAGS="$UBSAN_CHECKS -Wno-stringop-truncation -Wno-format-overflow -fno-omit-frame-pointer -DUNDEFINED_BEHAVIOR_SANITIZER"
UBSAN_LDFLAGS="$UBSAN_CHECKS"
UTIL_ARG_ENABLE(NAME: ubsan, DEFAULT: false, RESULT: UBSAN_ENABLED,
DESC: [enable UndefinedBehaviorSanitizer],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if UndefinedBehaviorSanitizer (ubsan) is available])
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
],
IF_ENABLED: [
JVM_CFLAGS="$JVM_CFLAGS $UBSAN_CFLAGS"
JVM_LDFLAGS="$JVM_LDFLAGS $UBSAN_LDFLAGS"
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $UBSAN_CFLAGS"
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $UBSAN_CFLAGS"
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $UBSAN_CFLAGS"
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $UBSAN_CFLAGS"
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $UBSAN_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $UBSAN_LDFLAGS"
])
if test "x$UBSAN_ENABLED" = xfalse; then
UBSAN_CFLAGS=""
UBSAN_LDFLAGS=""
fi
AC_SUBST(UBSAN_CFLAGS)
AC_SUBST(UBSAN_LDFLAGS)
AC_SUBST(UBSAN_ENABLED)
])
################################################################################
@@ -742,7 +847,7 @@ AC_DEFUN([JDKOPT_CHECK_CODESIGN_PARAMS],
$RM "$CODESIGN_TESTFILE"
$TOUCH "$CODESIGN_TESTFILE"
CODESIGN_SUCCESS=false
$CODESIGN $PARAMS "$CODESIGN_TESTFILE" 2>&AS_MESSAGE_LOG_FD \
eval \"$CODESIGN\" $PARAMS \"$CODESIGN_TESTFILE\" 2>&AS_MESSAGE_LOG_FD \
>&AS_MESSAGE_LOG_FD && CODESIGN_SUCCESS=true
$RM "$CODESIGN_TESTFILE"
AC_MSG_CHECKING([$MESSAGE])
@@ -755,7 +860,7 @@ AC_DEFUN([JDKOPT_CHECK_CODESIGN_PARAMS],
AC_DEFUN([JDKOPT_CHECK_CODESIGN_HARDENED],
[
JDKOPT_CHECK_CODESIGN_PARAMS([-s "$MACOSX_CODESIGN_IDENTITY" --option runtime],
JDKOPT_CHECK_CODESIGN_PARAMS([-s \"$MACOSX_CODESIGN_IDENTITY\" --option runtime],
[if codesign with hardened runtime is possible])
])
@@ -781,7 +886,7 @@ AC_DEFUN([JDKOPT_SETUP_MACOSX_SIGNING],
# Check for user provided code signing identity.
UTIL_ARG_WITH(NAME: macosx-codesign-identity, TYPE: string,
DEFAULT: openjdk_codesign, CHECK_VALUE: UTIL_CHECK_STRING_NON_EMPTY,
DEFAULT: openjdk_codesign, CHECK_VALUE: [UTIL_CHECK_STRING_NON_EMPTY],
DESC: [specify the macosx code signing identity],
CHECKING_MSG: [for macosx code signing identity]
)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2021, 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
@@ -69,149 +69,137 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
AC_SUBST(JDK_RC_PLATFORM_NAME)
AC_SUBST(HOTSPOT_VM_DISTRO)
# Setup username (for use in adhoc version strings etc)
AC_ARG_WITH([build-user], [AS_HELP_STRING([--with-build-user],
[build username to use in version strings])])
if test "x$with_build_user" = xyes || test "x$with_build_user" = xno; then
AC_MSG_ERROR([--with-build-user must have a value])
elif test "x$with_build_user" != x; then
USERNAME="$with_build_user"
else
# Outer [ ] to quote m4.
[ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
# Note: UTIL_ARG_WITH treats empty strings as valid values when OPTIONAL is false!
# Outer [ ] to quote m4.
[ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
# $USER may be not defined in dockers, so try to check with $WHOAMI
if test "x$USERNAME" = x && test "x$WHOAMI" != x; then
[ USERNAME=`$WHOAMI | $TR -d -c '[a-z][A-Z][0-9]'` ]
fi
# Setup username (for use in adhoc version strings etc)
UTIL_ARG_WITH(NAME: build-user, TYPE: string,
RESULT: USERNAME,
DEFAULT: $USERNAME,
DESC: [build username to use in version strings],
DEFAULT_DESC: [current username, sanitized],
CHECK_VALUE: [UTIL_CHECK_STRING_NON_EMPTY])
AC_SUBST(USERNAME)
# Set the JDK RC name
AC_ARG_WITH(jdk-rc-name, [AS_HELP_STRING([--with-jdk-rc-name],
[Set JDK RC name. This is used for FileDescription and ProductName properties
of MS Windows binaries. @<:@not specified@:>@])])
if test "x$with_jdk_rc_name" = xyes || test "x$with_jdk_rc_name" = xno; then
AC_MSG_ERROR([--with-jdk-rc-name must have a value])
elif [ ! [[ $with_jdk_rc_name =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-jdk-rc-name contains non-printing characters: $with_jdk_rc_name])
elif test "x$with_jdk_rc_name" != x; then
# Set JDK_RC_NAME to a custom value if '--with-jdk-rc-name' was used and is not empty.
JDK_RC_NAME="$with_jdk_rc_name"
else
# Otherwise calculate from "branding.conf" included above.
JDK_RC_NAME="$PRODUCT_NAME $JDK_RC_PLATFORM_NAME"
fi
# Otherwise calculate from "branding.conf" included above.
UTIL_ARG_WITH(NAME: jdk-rc-name, TYPE: string,
DEFAULT: $PRODUCT_NAME $JDK_RC_PLATFORM_NAME,
DESC: [Set JDK RC name. This is used for FileDescription and ProductName
properties of MS Windows binaries.],
DEFAULT_DESC: [from branding.conf],
CHECK_VALUE: [UTIL_CHECK_STRING_NON_EMPTY_PRINTABLE])
AC_SUBST(JDK_RC_NAME)
# The vendor name, if any
AC_ARG_WITH(vendor-name, [AS_HELP_STRING([--with-vendor-name],
[Set vendor name. Among others, used to set the 'java.vendor'
and 'java.vm.vendor' system properties. @<:@not specified@:>@])])
if test "x$with_vendor_name" = xyes || test "x$with_vendor_name" = xno; then
AC_MSG_ERROR([--with-vendor-name must have a value])
elif [ ! [[ $with_vendor_name =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-vendor-name contains non-printing characters: $with_vendor_name])
elif test "x$with_vendor_name" != x; then
# Only set COMPANY_NAME if '--with-vendor-name' was used and is not empty.
# Otherwise we will use the value from "branding.conf" included above.
COMPANY_NAME="$with_vendor_name"
fi
# Only set COMPANY_NAME if '--with-vendor-name' was used and is not empty.
# Otherwise we will use the value from "branding.conf" included above.
UTIL_ARG_WITH(NAME: vendor-name, TYPE: string,
RESULT: COMPANY_NAME,
DEFAULT: $COMPANY_NAME,
DESC: [Set vendor name. Among others, used to set the 'java.vendor'
and 'java.vm.vendor' system properties.],
DEFAULT_DESC: [from branding.conf],
CHECK_VALUE: [UTIL_CHECK_STRING_NON_EMPTY_PRINTABLE])
AC_SUBST(COMPANY_NAME)
# The vendor URL, if any
AC_ARG_WITH(vendor-url, [AS_HELP_STRING([--with-vendor-url],
[Set the 'java.vendor.url' system property @<:@not specified@:>@])])
if test "x$with_vendor_url" = xyes || test "x$with_vendor_url" = xno; then
AC_MSG_ERROR([--with-vendor-url must have a value])
elif [ ! [[ $with_vendor_url =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-vendor-url contains non-printing characters: $with_vendor_url])
elif test "x$with_vendor_url" != x; then
# Only set VENDOR_URL if '--with-vendor-url' was used and is not empty.
# Otherwise we will use the value from "branding.conf" included above.
VENDOR_URL="$with_vendor_url"
fi
# Only set VENDOR_URL if '--with-vendor-url' was used and is not empty.
# Otherwise we will use the value from "branding.conf" included above.
UTIL_ARG_WITH(NAME: vendor-url, TYPE: string,
DEFAULT: $VENDOR_URL,
DESC: [Set the 'java.vendor.url' system property],
DEFAULT_DESC: [from branding.conf],
CHECK_VALUE: [UTIL_CHECK_STRING_NON_EMPTY_PRINTABLE])
AC_SUBST(VENDOR_URL)
# The vendor bug URL, if any
AC_ARG_WITH(vendor-bug-url, [AS_HELP_STRING([--with-vendor-bug-url],
[Set the 'java.vendor.url.bug' system property @<:@not specified@:>@])])
if test "x$with_vendor_bug_url" = xyes || test "x$with_vendor_bug_url" = xno; then
AC_MSG_ERROR([--with-vendor-bug-url must have a value])
elif [ ! [[ $with_vendor_bug_url =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-vendor-bug-url contains non-printing characters: $with_vendor_bug_url])
elif test "x$with_vendor_bug_url" != x; then
# Only set VENDOR_URL_BUG if '--with-vendor-bug-url' was used and is not empty.
# Otherwise we will use the value from "branding.conf" included above.
VENDOR_URL_BUG="$with_vendor_bug_url"
fi
# Only set VENDOR_URL_BUG if '--with-vendor-bug-url' was used and is not empty.
# Otherwise we will use the value from "branding.conf" included above.
UTIL_ARG_WITH(NAME: vendor-bug-url, TYPE: string,
RESULT: VENDOR_URL_BUG,
DEFAULT: $VENDOR_URL_BUG,
DESC: [Set the 'java.vendor.url.bug' system property],
DEFAULT_DESC: [from branding.conf],
CHECK_VALUE: [UTIL_CHECK_STRING_NON_EMPTY_PRINTABLE])
AC_SUBST(VENDOR_URL_BUG)
# The vendor VM bug URL, if any
AC_ARG_WITH(vendor-vm-bug-url, [AS_HELP_STRING([--with-vendor-vm-bug-url],
[Sets the bug URL which will be displayed when the VM crashes @<:@not specified@:>@])])
if test "x$with_vendor_vm_bug_url" = xyes || test "x$with_vendor_vm_bug_url" = xno; then
AC_MSG_ERROR([--with-vendor-vm-bug-url must have a value])
elif [ ! [[ $with_vendor_vm_bug_url =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-vendor-vm-bug-url contains non-printing characters: $with_vendor_vm_bug_url])
elif test "x$with_vendor_vm_bug_url" != x; then
# Only set VENDOR_URL_VM_BUG if '--with-vendor-vm-bug-url' was used and is not empty.
# Otherwise we will use the value from "branding.conf" included above.
VENDOR_URL_VM_BUG="$with_vendor_vm_bug_url"
fi
# Only set VENDOR_URL_VM_BUG if '--with-vendor-vm-bug-url' was used and is not empty.
# Otherwise we will use the value from "branding.conf" included above.
UTIL_ARG_WITH(NAME: vendor-vm-bug-url, TYPE: string,
RESULT: VENDOR_URL_VM_BUG,
DEFAULT: $VENDOR_URL_VM_BUG,
DESC: [Sets the bug URL which will be displayed when the VM crashes],
DEFAULT_DESC: [from branding.conf],
CHECK_VALUE: [UTIL_CHECK_STRING_NON_EMPTY_PRINTABLE])
AC_SUBST(VENDOR_URL_VM_BUG)
# Override version from arguments
# If --with-version-string is set, process it first. It is possible to
# override parts with more specific flags, since these are processed later.
AC_ARG_WITH(version-string, [AS_HELP_STRING([--with-version-string],
[Set version string @<:@calculated@:>@])])
if test "x$with_version_string" = xyes || test "x$with_version_string" = xno; then
AC_MSG_ERROR([--with-version-string must have a value])
elif test "x$with_version_string" != x; then
# Additional [] needed to keep m4 from mangling shell constructs.
if [ [[ $with_version_string =~ ^([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(-([a-zA-Z0-9]+))?(((\+)([0-9]*))?(-([-a-zA-Z0-9.]+))?)?$ ]] ]; then
VERSION_FEATURE=${BASH_REMATCH[[1]]}
VERSION_INTERIM=${BASH_REMATCH[[3]]}
VERSION_UPDATE=${BASH_REMATCH[[5]]}
VERSION_PATCH=${BASH_REMATCH[[7]]}
VERSION_EXTRA1=${BASH_REMATCH[[9]]}
VERSION_EXTRA2=${BASH_REMATCH[[11]]}
VERSION_EXTRA3=${BASH_REMATCH[[13]]}
VERSION_PRE=${BASH_REMATCH[[15]]}
version_plus_separator=${BASH_REMATCH[[18]]}
VERSION_BUILD=${BASH_REMATCH[[19]]}
VERSION_OPT=${BASH_REMATCH[[21]]}
# Unspecified numerical fields are interpreted as 0.
if test "x$VERSION_INTERIM" = x; then
VERSION_INTERIM=0
UTIL_ARG_WITH(NAME: version-string, TYPE: string,
DEFAULT: [],
DESC: [Set version string],
DEFAULT_DESC: [calculated],
CHECK_VALUE: [
if test "x$RESULT" != x; then
# Additional [] needed to keep m4 from mangling shell constructs.
if [ [[ $RESULT =~ ^([0-9]+)(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(\.([0-9]+))?(-([a-zA-Z0-9]+))?(((\+)([0-9]*))?(-([-a-zA-Z0-9.]+))?)?$ ]] ]; then
VERSION_FEATURE=${BASH_REMATCH[[1]]}
VERSION_INTERIM=${BASH_REMATCH[[3]]}
VERSION_UPDATE=${BASH_REMATCH[[5]]}
VERSION_PATCH=${BASH_REMATCH[[7]]}
VERSION_EXTRA1=${BASH_REMATCH[[9]]}
VERSION_EXTRA2=${BASH_REMATCH[[11]]}
VERSION_EXTRA3=${BASH_REMATCH[[13]]}
VERSION_PRE=${BASH_REMATCH[[15]]}
version_plus_separator=${BASH_REMATCH[[18]]}
VERSION_BUILD=${BASH_REMATCH[[19]]}
VERSION_OPT=${BASH_REMATCH[[21]]}
# Unspecified numerical fields are interpreted as 0.
if test "x$VERSION_INTERIM" = x; then
VERSION_INTERIM=0
fi
if test "x$VERSION_UPDATE" = x; then
VERSION_UPDATE=0
fi
if test "x$VERSION_PATCH" = x; then
VERSION_PATCH=0
fi
if test "x$VERSION_EXTRA1" = x; then
VERSION_EXTRA1=0
fi
if test "x$VERSION_EXTRA2" = x; then
VERSION_EXTRA2=0
fi
if test "x$VERSION_EXTRA3" = x; then
VERSION_EXTRA3=0
fi
if test "x$version_plus_separator" != x \
&& test "x$VERSION_BUILD$VERSION_OPT" = x; then
AC_MSG_ERROR([Version string contains + but both 'BUILD' and 'OPT' are missing])
fi
if test "x$VERSION_BUILD" = x0; then
AC_MSG_WARN([Version build 0 is interpreted as no build number])
VERSION_BUILD=
fi
# Stop the version part process from setting default values.
# We still allow them to explicitly override though.
NO_DEFAULT_VERSION_PARTS=true
else
FAILURE="--with-version-string fails to parse as a valid version string: $RESULT"
fi
fi
if test "x$VERSION_UPDATE" = x; then
VERSION_UPDATE=0
fi
if test "x$VERSION_PATCH" = x; then
VERSION_PATCH=0
fi
if test "x$VERSION_EXTRA1" = x; then
VERSION_EXTRA1=0
fi
if test "x$VERSION_EXTRA2" = x; then
VERSION_EXTRA2=0
fi
if test "x$VERSION_EXTRA3" = x; then
VERSION_EXTRA3=0
fi
if test "x$version_plus_separator" != x \
&& test "x$VERSION_BUILD$VERSION_OPT" = x; then
AC_MSG_ERROR([Version string contains + but both 'BUILD' and 'OPT' are missing])
fi
if test "x$VERSION_BUILD" = x0; then
AC_MSG_WARN([Version build 0 is interpreted as no build number])
VERSION_BUILD=
fi
# Stop the version part process from setting default values.
# We still allow them to explicitly override though.
NO_DEFAULT_VERSION_PARTS=true
else
AC_MSG_ERROR([--with-version-string fails to parse as a valid version string: $with_version_string])
fi
fi
])
AC_ARG_WITH(version-pre, [AS_HELP_STRING([--with-version-pre],
[Set the base part of the version 'PRE' field (pre-release identifier) @<:@'internal'@:>@])],
@@ -290,23 +278,19 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
fi
fi
AC_ARG_WITH(version-feature, [AS_HELP_STRING([--with-version-feature],
[Set version 'FEATURE' field (first number) @<:@current source value@:>@])],
[with_version_feature_present=true], [with_version_feature_present=false])
if test "x$with_version_feature_present" = xtrue; then
if test "x$with_version_feature" = xyes || test "x$with_version_feature" = xno; then
AC_MSG_ERROR([--with-version-feature must have a value])
else
JDKVER_CHECK_AND_SET_NUMBER(VERSION_FEATURE, $with_version_feature)
fi
else
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
# Default is to get value from version-numbers.conf
VERSION_FEATURE="$DEFAULT_VERSION_FEATURE"
fi
# Default is to get value from version-numbers.conf
if test "x$NO_DEFAULT_VERSION_PARTS" = xtrue; then
DEFAULT_VERSION_FEATURE="$VERSION_FEATURE"
fi
UTIL_ARG_WITH(NAME: version-feature, TYPE: string,
DEFAULT: $DEFAULT_VERSION_FEATURE,
DESC: [Set version 'FEATURE' field (first number)],
DEFAULT_DESC: [current source value],
CHECK_VALUE: [
JDKVER_CHECK_AND_SET_NUMBER(VERSION_FEATURE, $RESULT)
])
AC_ARG_WITH(version-interim, [AS_HELP_STRING([--with-version-interim],
[Set version 'INTERIM' field (second number) @<:@current source value@:>@])],
[with_version_interim_present=true], [with_version_interim_present=false])
@@ -480,91 +464,81 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
VERSION_SHORT=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}
# The version date
AC_ARG_WITH(version-date, [AS_HELP_STRING([--with-version-date],
[Set version date @<:@current source value@:>@])])
if test "x$with_version_date" = xyes || test "x$with_version_date" = xno; then
AC_MSG_ERROR([--with-version-date must have a value])
elif test "x$with_version_date" != x; then
if [ ! [[ $with_version_date =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]] ]; then
AC_MSG_ERROR(["$with_version_date" is not a valid version date])
else
VERSION_DATE="$with_version_date"
fi
else
VERSION_DATE="$DEFAULT_VERSION_DATE"
fi
UTIL_ARG_WITH(NAME: version-date, TYPE: string,
DEFAULT: $DEFAULT_VERSION_DATE,
DESC: [Set version date],
DEFAULT_DESC: [current source value],
CHECK_VALUE: [
if test "x$RESULT" = x; then
FAILURE="--with-version-date cannot be empty"
elif [ ! [[ $RESULT =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]] ]; then
FAILURE="\"$RESULT\" is not a valid version date"
fi
])
# The vendor version string, if any
AC_ARG_WITH(vendor-version-string, [AS_HELP_STRING([--with-vendor-version-string],
[Set vendor version string @<:@not specified@:>@])])
if test "x$with_vendor_version_string" = xyes; then
AC_MSG_ERROR([--with-vendor-version-string must have a value])
elif [ ! [[ $with_vendor_version_string =~ ^[[:graph:]]*$ ]] ]; then
AC_MSG_ERROR([--with--vendor-version-string contains non-graphical characters: $with_vendor_version_string])
elif test "x$with_vendor_version_string" != xno; then
# Set vendor version string if --without is not passed
# Check not required if an empty value is passed, since VENDOR_VERSION_STRING
# would then be set to ""
VENDOR_VERSION_STRING="$with_vendor_version_string"
# DEFAULT is set to an empty string in the case of --with-vendor-version-string without
# any value, which would set VENDOR_VERSION_STRING_ENABLED to true and ultimately also
# cause VENDOR_VERSION_STRING to fall back to the value in DEFAULT
UTIL_ARG_WITH(NAME: vendor-version-string, TYPE: string,
DEFAULT: [],
OPTIONAL: true,
DESC: [Set vendor version string],
DEFAULT_DESC: [not specified])
if test "x$VENDOR_VERSION_STRING_ENABLED" = xtrue; then
if [ ! [[ $VENDOR_VERSION_STRING =~ ^[[:graph:]]*$ ]] ]; then
AC_MSG_ERROR([--with--vendor-version-string contains non-graphical characters: $VENDOR_VERSION_STRING])
fi
fi
# Set the MACOSX Bundle Name base
AC_ARG_WITH(macosx-bundle-name-base, [AS_HELP_STRING([--with-macosx-bundle-name-base],
[Set the MacOSX Bundle Name base. This is the base name for calculating MacOSX Bundle Names.
@<:@not specified@:>@])])
if test "x$with_macosx_bundle_name_base" = xyes || test "x$with_macosx_bundle_name_base" = xno; then
AC_MSG_ERROR([--with-macosx-bundle-name-base must have a value])
elif [ ! [[ $with_macosx_bundle_name_base =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-name-base contains non-printing characters: $with_macosx_bundle_name_base])
elif test "x$with_macosx_bundle_name_base" != x; then
# Set MACOSX_BUNDLE_NAME_BASE to the configured value.
MACOSX_BUNDLE_NAME_BASE="$with_macosx_bundle_name_base"
fi
UTIL_ARG_WITH(NAME: macosx-bundle-name-base, TYPE: string,
DEFAULT: $MACOSX_BUNDLE_NAME_BASE,
DESC: [Set the MacOSX Bundle Name base. This is the base name for calculating MacOSX Bundle Names.],
DEFAULT_DESC: [from branding.conf],
CHECK_VALUE: [UTIL_CHECK_STRING_NON_EMPTY_PRINTABLE])
AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
# Set the MACOSX Bundle ID base
AC_ARG_WITH(macosx-bundle-id-base, [AS_HELP_STRING([--with-macosx-bundle-id-base],
[Set the MacOSX Bundle ID base. This is the base ID for calculating MacOSX Bundle IDs.
@<:@not specified@:>@])])
if test "x$with_macosx_bundle_id_base" = xyes || test "x$with_macosx_bundle_id_base" = xno; then
AC_MSG_ERROR([--with-macosx-bundle-id-base must have a value])
elif [ ! [[ $with_macosx_bundle_id_base =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-id-base contains non-printing characters: $with_macosx_bundle_id_base])
elif test "x$with_macosx_bundle_id_base" != x; then
# Set MACOSX_BUNDLE_ID_BASE to the configured value.
MACOSX_BUNDLE_ID_BASE="$with_macosx_bundle_id_base"
else
# If using the default value, append the VERSION_PRE if there is one
# to make it possible to tell official builds apart from developer builds
if test "x$VERSION_PRE" != x; then
MACOSX_BUNDLE_ID_BASE="$MACOSX_BUNDLE_ID_BASE-$VERSION_PRE"
fi
# If using the default value, append the VERSION_PRE if there is one
# to make it possible to tell official builds apart from developer builds
if test "x$VERSION_PRE" != x; then
MACOSX_BUNDLE_ID_BASE="$MACOSX_BUNDLE_ID_BASE-$VERSION_PRE"
fi
# Set the MACOSX Bundle ID base
UTIL_ARG_WITH(NAME: macosx-bundle-id-base, TYPE: string,
DEFAULT: $MACOSX_BUNDLE_ID_BASE,
DESC: [Set the MacOSX Bundle ID base. This is the base ID for calculating MacOSX Bundle IDs.],
DEFAULT_DESC: [based on branding.conf and VERSION_PRE],
CHECK_VALUE: [UTIL_CHECK_STRING_NON_EMPTY_PRINTABLE])
AC_SUBST(MACOSX_BUNDLE_ID_BASE)
# Set the MACOSX CFBundleVersion field
AC_ARG_WITH(macosx-bundle-build-version, [AS_HELP_STRING([--with-macosx-bundle-build-version],
[Set the MacOSX Bundle CFBundleVersion field. This key is a machine-readable
string composed of one to three period-separated integers and should represent the
build version. Defaults to the build number.])])
if test "x$with_macosx_bundle_build_version" = xyes || test "x$with_macosx_bundle_build_version" = xno; then
AC_MSG_ERROR([--with-macosx-bundle-build-version must have a value])
elif [ ! [[ $with_macosx_bundle_build_version =~ ^[0-9\.]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-build-version contains non numbers and periods: $with_macosx_bundle_build_version])
elif test "x$with_macosx_bundle_build_version" != x; then
MACOSX_BUNDLE_BUILD_VERSION="$with_macosx_bundle_build_version"
if test "x$VERSION_BUILD" != x; then
MACOSX_BUNDLE_BUILD_VERSION="$VERSION_BUILD"
else
if test "x$VERSION_BUILD" != x; then
MACOSX_BUNDLE_BUILD_VERSION="$VERSION_BUILD"
else
MACOSX_BUNDLE_BUILD_VERSION=0
fi
# If VERSION_OPT consists of only numbers and periods, add it.
if [ [[ $VERSION_OPT =~ ^[0-9\.]+$ ]] ]; then
MACOSX_BUNDLE_BUILD_VERSION="$MACOSX_BUNDLE_BUILD_VERSION.$VERSION_OPT"
fi
MACOSX_BUNDLE_BUILD_VERSION=0
fi
# If VERSION_OPT consists of only numbers and periods, add it.
if [ [[ $VERSION_OPT =~ ^[0-9\.]+$ ]] ]; then
MACOSX_BUNDLE_BUILD_VERSION="$MACOSX_BUNDLE_BUILD_VERSION.$VERSION_OPT"
fi
# Set the MACOSX CFBundleVersion field
UTIL_ARG_WITH(NAME: macosx-bundle-build-version, TYPE: string,
DEFAULT: $MACOSX_BUNDLE_BUILD_VERSION,
DESC: [Set the MacOSX Bundle CFBundleVersion field. This key is a machine-readable
string composed of one to three period-separated integers and should represent the
build version.],
DEFAULT_DESC: [the build number],
CHECK_VALUE: [
if test "x$RESULT" = x; then
FAILURE="--with-macosx-bundle-build-version must have a value"
elif [ ! [[ $RESULT =~ ^[0-9\.]*$ ]] ]; then
FAILURE="--with-macosx-bundle-build-version contains non numbers and periods: $RESULT"
fi
])
AC_SUBST(MACOSX_BUNDLE_BUILD_VERSION)
# We could define --with flags for these, if really needed

View File

@@ -0,0 +1,121 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, JetBrains s.r.o.. 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.
#
################################################################################
# Setup nvdacontrollerclient (The library for communication with
# NVDA - a screen reader for Microsoft Windows)
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_NVDACONTROLLERCLIENT], [
# To enable NVDA, user specifies neither --with-nvdacontrollerclient or
# a pair (--with-nvdacontrollerclient-include, --with-nvdacontrollerclient-lib)
AC_ARG_WITH(nvdacontrollerclient, [AS_HELP_STRING([--with-nvdacontrollerclient],
[specify prefix directory for the NVDA Controller Client library package
(expecting headers and libs under PATH/<target-arch>/)])])
AC_ARG_WITH(nvdacontrollerclient-include, [AS_HELP_STRING([--with-nvdacontrollerclient-include],
[specify directory for the NVDA Controller Client include files])])
AC_ARG_WITH(nvdacontrollerclient-lib, [AS_HELP_STRING([--with-nvdacontrollerclient-lib],
[specify directory for the NVDA Controller Client library])])
NVDACONTROLLERCLIENT_FOUND=no
NVDACONTROLLERCLIENT_LIB=
NVDACONTROLLERCLIENT_DLL=
NVDACONTROLLERCLIENT_CFLAGS=
if test "x${NEEDS_LIB_NVDACONTROLLERCLIENT}" = "xtrue" ; then
if (test "x${with_nvdacontrollerclient_include}" = "x" && test "x${with_nvdacontrollerclient_lib}" != "x") || \
(test "x${with_nvdacontrollerclient_include}" != "x" && test "x${with_nvdacontrollerclient_lib}" = "x") ; then
AC_MSG_ERROR([Must specify both or neither of --with-nvdacontrollerclient-include and --with-nvdacontrollerclient-lib])
elif (test "x${with_nvdacontrollerclient}" != "x" && test "x${with_nvdacontrollerclient_include}" != "x") ; then
AC_MSG_ERROR([Must specify either --with-nvdacontrollerclient or a pair (--with-nvdacontrollerclient-include, --with-nvdacontrollerclient-lib)])
fi
if (test "x${with_nvdacontrollerclient}" != "x") || \
(test "x${with_nvdacontrollerclient_include}" != "x" && test "x${with_nvdacontrollerclient_lib}" != "x") ; then
AC_MSG_CHECKING([for nvdacontrollerclient])
if test "x${OPENJDK_TARGET_OS}" != "xwindows" ; then
AC_MSG_ERROR([--with-nvdacontrollerclient[-*] flags are applicable only to Windows builds])
fi
if test "x${OPENJDK_TARGET_CPU_ARCH}" = "xaarch64" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient32"
NVDACONTROLLERCLIENT_ARCHDIR="arm64"
elif test "x${OPENJDK_TARGET_CPU_ARCH}" = "xx86" && test "x${OPENJDK_TARGET_CPU_BITS}" = "x64" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient64"
NVDACONTROLLERCLIENT_ARCHDIR="x64"
elif test "x${OPENJDK_TARGET_CPU_ARCH}" = "xx86" && test "x${OPENJDK_TARGET_CPU_BITS}" = "x32" ; then
NVDACONTROLLERCLIENT_BIN_BASENAME="nvdaControllerClient32"
NVDACONTROLLERCLIENT_ARCHDIR="x86"
else
AC_MSG_ERROR([The nvdacontrollerclient library exists only for x86_32, x86_64, AArch64 architectures])
fi
if test "x${with_nvdacontrollerclient}" != "x" ; then
# NVDACONTROLLERCLIENT_ARCHDIR is used only here
NVDACONTROLLERCLIENT_INC_PATH="${with_nvdacontrollerclient}/${NVDACONTROLLERCLIENT_ARCHDIR}"
NVDACONTROLLERCLIENT_BIN_PATH="${with_nvdacontrollerclient}/${NVDACONTROLLERCLIENT_ARCHDIR}"
else
NVDACONTROLLERCLIENT_INC_PATH="${with_nvdacontrollerclient_include}"
NVDACONTROLLERCLIENT_BIN_PATH="${with_nvdacontrollerclient_lib}"
fi
POTENTIAL_NVDACONTROLLERCLIENT_DLL="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.dll"
POTENTIAL_NVDACONTROLLERCLIENT_LIB="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.lib"
POTENTIAL_NVDACONTROLLERCLIENT_EXP="${NVDACONTROLLERCLIENT_BIN_PATH}/${NVDACONTROLLERCLIENT_BIN_BASENAME}.exp"
if ! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_DLL}" || \
! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_LIB}" || \
! test -s "${POTENTIAL_NVDACONTROLLERCLIENT_EXP}" ; then
AC_MSG_ERROR([Could not find ${NVDACONTROLLERCLIENT_BIN_BASENAME}.dll and/or ${NVDACONTROLLERCLIENT_BIN_BASENAME}.lib and/or ${NVDACONTROLLERCLIENT_BIN_BASENAME}.exp inside ${NVDACONTROLLERCLIENT_BIN_PATH}])
fi
if ! test -s "${NVDACONTROLLERCLIENT_INC_PATH}/nvdaController.h" ; then
AC_MSG_ERROR([Could not find the header file nvdaController.h inside ${NVDACONTROLLERCLIENT_INC_PATH}])
fi
NVDACONTROLLERCLIENT_CFLAGS="-I${NVDACONTROLLERCLIENT_INC_PATH}"
NVDACONTROLLERCLIENT_DLL="${POTENTIAL_NVDACONTROLLERCLIENT_DLL}"
NVDACONTROLLERCLIENT_LIB="${POTENTIAL_NVDACONTROLLERCLIENT_LIB}"
NVDACONTROLLERCLIENT_FOUND=yes
AC_MSG_RESULT([includes at ${NVDACONTROLLERCLIENT_INC_PATH} ; binaries at ${NVDACONTROLLERCLIENT_BIN_PATH}])
fi
elif test "x${with_nvdacontrollerclient}" != "x" || \
test "x${with_nvdacontrollerclient_include}" != "x" || test "x${with_nvdacontrollerclient_lib}" != "x" ; then
AC_MSG_WARN([[nvdacontrollerclient is not used, so --with-nvdacontrollerclient[-*] is ignored]])
fi
if test "x${NVDACONTROLLERCLIENT_FOUND}" = "xyes" ; then
A11Y_NVDA_ANNOUNCING_ENABLED=true
else
A11Y_NVDA_ANNOUNCING_ENABLED=false
fi
AC_SUBST(A11Y_NVDA_ANNOUNCING_ENABLED)
AC_SUBST(NVDACONTROLLERCLIENT_CFLAGS)
AC_SUBST(NVDACONTROLLERCLIENT_DLL)
AC_SUBST(NVDACONTROLLERCLIENT_LIB)
])

View File

@@ -0,0 +1,92 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, JetBrains s.r.o.. 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.
#
################################################################################
# Setup speechd
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_SPEECHD],
[
AC_ARG_WITH(speechd, [AS_HELP_STRING([--with-speechd],
[specify prefix directory for the libspeechd package
(expecting the headers under PATH/include); required for AccessibleAnnouncer to work])])
AC_ARG_WITH(speechd-include, [AS_HELP_STRING([--with-speechd-include],
[specify directory for the speechd include files])])
if test "x$NEEDS_LIB_SPEECHD" = xfalse || test "x${with_speechd}" = xno || \
test "x${with_speechd_include}" = xno; then
if (test "x${with_speechd}" != x && test "x${with_speechd}" != xno) || \
(test "x${with_speechd_include}" != x && test "x${with_speechd_include}" != xno); then
AC_MSG_WARN([[speechd not used, so --with-speechd[-*] is ignored]])
fi
A11Y_SPEECHD_ANNOUNCING_ENABLED=false
SPEECHD_CFLAGS=
SPEECHD_LIBS=
else
SPEECHD_FOUND=no
if test "x${with_speechd}" != x && test "x${with_speechd}" != xyes; then
AC_MSG_CHECKING([for speechd header and library])
if test -s "${with_speechd}/include/libspeechd.h"; then
SPEECHD_CFLAGS="-I${with_speechd}/include"
SPEECHD_LIBS="-L${with_speechd}/lib -lspeechd"
SPEECHD_FOUND=yes
AC_MSG_RESULT([$SPEECHD_FOUND])
else
AC_MSG_ERROR([Can't find 'include/libspeechd.h' under ${with_speechd} given with the --with-speechd option.])
fi
fi
if test "x${with_speechd_include}" != x; then
AC_MSG_CHECKING([for speechd headers])
if test -s "${with_speechd_include}/libspeechd.h"; then
SPEECHD_CFLAGS="-I${with_speechd_include}"
SPEECHD_FOUND=yes
AC_MSG_RESULT([$SPEECHD_FOUND])
else
AC_MSG_ERROR([Can't find 'include/libspeechd.h' under ${with_speechd} given with the --with-speechd-include option.])
fi
fi
if test "x$SPEECHD_FOUND" = xno; then
# Are the libspeechd headers installed in the default /usr/include location?
AC_CHECK_HEADERS([libspeechd.h],
[ SPEECHD_FOUND=yes ],
[ SPEECHD_FOUND=no; break ]
)
if test "x$SPEECHD_FOUND" = xyes; then
SPEECHD_CFLAGS=
SPEECHD_LIBS="-lspeechd"
fi
fi
if test "x$SPEECHD_FOUND" = xno; then
A11Y_SPEECHD_ANNOUNCING_ENABLED=false
else
A11Y_SPEECHD_ANNOUNCING_ENABLED=true
fi
fi
AC_SUBST(A11Y_SPEECHD_ANNOUNCING_ENABLED)
AC_SUBST(SPEECHD_CFLAGS)
AC_SUBST(SPEECHD_LIBS)
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, 2022, 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
@@ -27,8 +27,9 @@
# Setup libraries and functionalities needed to test the JDK.
################################################################################
# Minimum supported version
# Minimum supported versions
JTREG_MINIMUM_VERSION=7.1.1
GTEST_MINIMUM_VERSION=1.13.0
###############################################################################
#
@@ -58,20 +59,13 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_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])
# Verify that the version is the required one.
# This is a simplified version of TOOLCHAIN_CHECK_COMPILER_VERSION
gtest_version="`$GREP GOOGLETEST_VERSION $GTEST_FRAMEWORK_SRC/CMakeLists.txt | $SED -E -e 's/set\(GOOGLETEST_VERSION (.*)\)/\1/'`"
comparable_actual_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$gtest_version"`
comparable_minimum_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$GTEST_MINIMUM_VERSION"`
if test $comparable_actual_version -lt $comparable_minimum_version ; then
AC_MSG_ERROR([gtest version is too old, at least version $GTEST_MINIMUM_VERSION is required])
fi
fi
fi
@@ -285,10 +279,16 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_JIB],
#
AC_DEFUN_ONCE([LIB_TESTS_ENABLE_DISABLE_FAILURE_HANDLER],
[
UTIL_ARG_ENABLE(NAME: jtreg-failure-handler, DEFAULT: auto,
if test "x$BUILD_ENV" = "xci"; then
BUILD_FAILURE_HANDLER_DEFAULT=auto
else
BUILD_FAILURE_HANDLER_DEFAULT=false
fi
UTIL_ARG_ENABLE(NAME: jtreg-failure-handler, DEFAULT: $BUILD_FAILURE_HANDLER_DEFAULT,
RESULT: BUILD_FAILURE_HANDLER,
DESC: [enable building of the jtreg failure handler],
DEFAULT_DESC: [enabled if jtreg is present],
DEFAULT_DESC: [enabled if jtreg is present and build env is CI],
CHECKING_MSG: [if the jtreg failure handler should be built],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if the jtreg failure handler is available])

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
@@ -33,7 +33,9 @@ m4_include([lib-freetype.m4])
m4_include([lib-hsdis.m4])
m4_include([lib-std.m4])
m4_include([lib-x11.m4])
m4_include([lib-fontconfig.m4])
m4_include([lib-speechd.m4])
m4_include([lib-nvdacontrollerclient.m4])
m4_include([lib-tests.m4])
################################################################################
@@ -45,10 +47,16 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
# No X11 support on windows or macosx
NEEDS_LIB_X11=false
NEEDS_LIB_SPEECHD=false
elif test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
# No X11 support needed when building headless only
NEEDS_LIB_X11=false
NEEDS_LIB_SPEECHD=false
else
# All other instances need X11, even if building headless only, libawt still
# needs X11 headers.
NEEDS_LIB_X11=true
NEEDS_LIB_SPEECHD=true
fi
# Check if fontconfig is needed
@@ -87,6 +95,40 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
else
NEEDS_LIB_FFI=false
fi
# Check if nvdacontrollerclient is needed
if test "x$OPENJDK_TARGET_OS" = xwindows && test "x$ENABLE_HEADLESS_ONLY" != xtrue; then
NEEDS_LIB_NVDACONTROLLERCLIENT=true
else
NEEDS_LIB_NVDACONTROLLERCLIENT=false
fi
])
################################################################################
# Setup BASIC_JVM_LIBS that can be different depending on build/target platform
################################################################################
AC_DEFUN([LIB_SETUP_JVM_LIBS],
[
# Atomic library
# 32-bit platforms needs fallback library for 8-byte atomic ops on Zero
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
if test "x$OPENJDK_$1_OS" = xlinux &&
(test "x$OPENJDK_$1_CPU" = xarm ||
test "x$OPENJDK_$1_CPU" = xm68k ||
test "x$OPENJDK_$1_CPU" = xmips ||
test "x$OPENJDK_$1_CPU" = xmipsel ||
test "x$OPENJDK_$1_CPU" = xppc ||
test "x$OPENJDK_$1_CPU" = xsh ||
test "x$OPENJDK_$1_CPU" = xriscv32); then
BASIC_JVM_LIBS_$1="$BASIC_JVM_LIBS_$1 -latomic"
fi
fi
# Because RISC-V only has word-sized atomics, it requires libatomic where
# other common architectures do not, so link libatomic by default.
if test "x$OPENJDK_$1_OS" = xlinux && test "x$OPENJDK_$1_CPU" = xriscv64; then
BASIC_JVM_LIBS_$1="$BASIC_JVM_LIBS_$1 -latomic"
fi
])
################################################################################
@@ -105,10 +147,12 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
LIB_SETUP_LIBFFI
LIB_SETUP_MISC_LIBS
LIB_SETUP_X11
LIB_SETUP_SPEECHD
LIB_SETUP_NVDACONTROLLERCLIENT
LIB_TESTS_SETUP_GTEST
BASIC_JDKLIB_LIBS=""
BASIC_JDKLIB_LIBS_TARGET=""
if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
BASIC_JDKLIB_LIBS="-ljava -ljvm"
fi
@@ -135,27 +179,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lrt"
fi
# Atomic library
# 32-bit platforms needs fallback library for 8-byte atomic ops on Zero
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
if test "x$OPENJDK_TARGET_OS" = xlinux &&
(test "x$OPENJDK_TARGET_CPU" = xarm ||
test "x$OPENJDK_TARGET_CPU" = xm68k ||
test "x$OPENJDK_TARGET_CPU" = xmips ||
test "x$OPENJDK_TARGET_CPU" = xmipsel ||
test "x$OPENJDK_TARGET_CPU" = xppc ||
test "x$OPENJDK_TARGET_CPU" = xsh ||
test "x$OPENJDK_TARGET_CPU" = xriscv32); then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic"
fi
fi
# Because RISC-V only has word-sized atomics, it requires 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"
@@ -163,15 +186,17 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
if test "x$OPENJDK_TARGET_OS" = xwindows; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib powrprof.lib uuid.lib \
wsock32.lib winmm.lib version.lib psapi.lib"
fi
LIB_SETUP_JVM_LIBS(BUILD)
LIB_SETUP_JVM_LIBS(TARGET)
JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
JDKEXE_LIBS=""
JVM_LIBS="$BASIC_JVM_LIBS"
JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_TARGET"
OPENJDK_BUILD_JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
OPENJDK_BUILD_JVM_LIBS="$BASIC_JVM_LIBS"
OPENJDK_BUILD_JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_BUILD"
AC_SUBST(JDKLIB_LIBS)
AC_SUBST(JDKEXE_LIBS)

View File

@@ -446,19 +446,34 @@ JCOV_INPUT_JDK=@JCOV_INPUT_JDK@
JCOV_FILTERS=@JCOV_FILTERS@
# AddressSanitizer
export ASAN_ENABLED:=@ASAN_ENABLED@
export DEVKIT_LIB_DIR:=@DEVKIT_LIB_DIR@
ifeq ($(ASAN_ENABLED), yes)
export ASAN_OPTIONS=handle_segv=0 detect_leaks=0
ifneq ($(DEVKIT_LIB_DIR),)
export LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):$(DEVKIT_LIB_DIR)
endif
endif
ASAN_ENABLED:=@ASAN_ENABLED@
# LeakSanitizer
LSAN_ENABLED:=@LSAN_ENABLED@
# UndefinedBehaviorSanitizer
UBSAN_ENABLED:=@UBSAN_ENABLED@
UBSAN_CFLAGS:=@UBSAN_CFLAGS@
UBSAN_LDFLAGS:=@UBSAN_LDFLAGS@
# Necessary additional compiler flags to compile X11
X_CFLAGS:=@X_CFLAGS@
X_LIBS:=@X_LIBS@
# Linux speechd a11y announcer
A11Y_SPEECHD_ANNOUNCING_ENABLED:=@A11Y_SPEECHD_ANNOUNCING_ENABLED@
SPEECHD_CFLAGS:=@SPEECHD_CFLAGS@
SPEECHD_LIBS:=@SPEECHD_LIBS@
# Windows NVDA a11y announcer
A11Y_NVDA_ANNOUNCING_ENABLED:=@A11Y_NVDA_ANNOUNCING_ENABLED@
NVDACONTROLLERCLIENT_CFLAGS:=@NVDACONTROLLERCLIENT_CFLAGS@
NVDACONTROLLERCLIENT_DLL:=@NVDACONTROLLERCLIENT_DLL@
NVDACONTROLLERCLIENT_LIB:=@NVDACONTROLLERCLIENT_LIB@
# Windows the client for the JAWS screen reader
A11Y_JAWS_ANNOUNCING_ENABLED:=@A11Y_JAWS_ANNOUNCING_ENABLED@
# The lowest required version of macosx
MACOSX_VERSION_MIN=@MACOSX_VERSION_MIN@
# The highest allowed version of macosx

View File

@@ -818,3 +818,12 @@ AC_DEFUN([UTIL_CHECK_STRING_NON_EMPTY],
FAILURE="Value cannot be empty"
fi
])
AC_DEFUN([UTIL_CHECK_STRING_NON_EMPTY_PRINTABLE],
[
if test "x$RESULT" = x; then
FAILURE="Value cannot be empty"
elif [ ! [[ $RESULT =~ ^[[:print:]]*$ ]] ]; then
FAILURE="Value contains non-printing characters: $RESULT"
fi
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, 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
@@ -521,7 +521,7 @@ AC_DEFUN([UTIL_REMOVE_SYMBOLIC_LINKS],
sym_link_dir=`pwd -P`
# Resolve file symlinks
while test $COUNTER -lt 20; do
ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP -e '->' | $SED -e 's/.*-> \(.*\)/\1/'`
if test "x$ISLINK" == x; then
# This is not a symbolic link! We are done!
break

View File

@@ -257,7 +257,7 @@ ifeq ($(HAS_FILE_FUNCTION), true)
else
# Use printf to get consistent behavior on all platforms.
WriteFile = \
$(shell $(PRINTF) "%s" $(call ShellQuote, $1) > $2)
$(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) > $2)
endif
# Param 1 - Text to write
@@ -268,5 +268,5 @@ ifeq ($(HAS_FILE_FUNCTION), true)
else
# Use printf to get consistent behavior on all platforms.
AppendFile = \
$(shell $(PRINTF) "%s" $(call ShellQuote, $1) >> $2)
$(shell $(PRINTF) "%s\n" $(strip $(call ShellQuote, $1)) >> $2)
endif

View File

@@ -547,6 +547,7 @@ endef
# STRIPFLAGS Optionally change the flags given to the strip command
# PRECOMPILED_HEADER Header file to use as precompiled header
# PRECOMPILED_HEADER_EXCLUDE List of source files that should not use PCH
# BUILD_INFO_LOG_MACRO Overrides log level of the build info log message, default LogWarn
#
# After being called, some variables are exported from this macro, all prefixed
# with parameter 1 followed by a '_':
@@ -701,6 +702,19 @@ define SetupNativeCompilationBody
$$(error No sources found for $1 when looking inside the dirs $$($1_SRC))
endif
ifeq ($$($1_TYPE), EXECUTABLE)
ifeq ($(UBSAN_ENABLED), true)
# We need to set the default options for UBSan. This needs to be included in every executable.
# Rather than copy and paste code to everything with a main function, we add an additional
# source file to every executable that exports __ubsan_default_options.
ifneq ($$(filter %.cpp %.cc, $$($1_SRCS)), )
$1_SRCS += $(TOPDIR)/make/data/ubsan/ubsan_default_options.cpp
else
$1_SRCS += $(TOPDIR)/make/data/ubsan/ubsan_default_options.c
endif
endif
endif
# Calculate the expected output from compiling the sources
$1_EXPECTED_OBJS_FILENAMES := $$(call replace_with_obj_extension, $$(notdir $$($1_SRCS)))
$1_EXPECTED_OBJS := $$(addprefix $$($1_OBJECT_DIR)/, $$($1_EXPECTED_OBJS_FILENAMES))
@@ -918,12 +932,18 @@ define SetupNativeCompilationBody
# Setup rule for printing progress info when compiling source files.
# This is a rough heuristic and may not always print accurate information.
$$($1_BUILD_INFO): $$($1_SRCS) $$($1_COMPILE_VARDEPS_FILE)
# The $1_BUILD_INFO and $1_BUILD_INFO_DEPS variables are used in
# TestFilesCompilation.gmk.
$$(call SetIfEmpty, $1_BUILD_INFO_LOG_MACRO, LogWarn)
$1_BUILD_INFO_DEPS := $$($1_SRCS) $$($1_COMPILE_VARDEPS_FILE)
$$($1_BUILD_INFO): $$($1_BUILD_INFO_DEPS)
ifeq ($$(wildcard $$($1_TARGET)), )
$$(call LogWarn, Creating $$(subst $$(OUTPUTDIR)/,,$$($1_TARGET)) from $$(words \
$$(call $$($1_BUILD_INFO_LOG_MACRO), \
Creating $$(subst $$(OUTPUTDIR)/,,$$($1_TARGET)) from $$(words \
$$(filter-out %.vardeps, $$?)) file(s))
else
$$(call LogWarn, $$(strip Updating $$(subst $$(OUTPUTDIR)/,,$$($1_TARGET)) \
$$(call $$($1_BUILD_INFO_LOG_MACRO), \
$$(strip Updating $$(subst $$(OUTPUTDIR)/,,$$($1_TARGET)) \
$$(if $$(filter-out %.vardeps, $$?), \
due to $$(words $$(filter-out %.vardeps, $$?)) file(s), \
$$(if $$(filter %.vardeps, $$?), due to makefile changes))))
@@ -1042,10 +1062,13 @@ define SetupNativeCompilationBody
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).debuginfo
# Setup the command line creating debuginfo files, to be run after linking.
# It cannot be run separately since it updates the original target file
# Creating the debuglink is done in another command rather than all at once
# so we can run it after strip is called, since strip can sometimes mangle the
# embedded debuglink, which we want to avoid.
$1_CREATE_DEBUGINFO_CMDS := \
$$($1_OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES) $$(NEWLINE) \
$(CD) $$($1_SYMBOLS_DIR) && \
$$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)
$$($1_OBJCOPY) --only-keep-debug $$($1_TARGET) $$($1_DEBUGINFO_FILES) $$(NEWLINE)
$1_CREATE_DEBUGLINK_CMDS := $(CD) $$($1_SYMBOLS_DIR) && \
$$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)
else ifeq ($(call isTargetOs, aix), true)
# AIX does not provide the equivalent of OBJCOPY to extract debug symbols,
@@ -1174,7 +1197,7 @@ define SetupNativeCompilationBody
$1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
$$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \
$$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \
$$($1_STRIP_CMD)
$$($1_STRIP_CMD) $$($1_CREATE_DEBUGLINK_CMDS)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
@@ -1237,6 +1260,7 @@ define SetupNativeCompilationBody
test "$$$$?" = "1" ; \
$$($1_CREATE_DEBUGINFO_CMDS)
$$($1_STRIP_CMD)
$$($1_CREATE_DEBUGLINK_CMDS)
ifeq ($(call isBuildOsEnv, windows.wsl2), true)
$$(CHMOD) +x $$($1_TARGET)
endif
@@ -1248,6 +1272,7 @@ define SetupNativeCompilationBody
$$($1_LIBS) $$($1_EXTRA_LIBS)) ; \
$$($1_CREATE_DEBUGINFO_CMDS)
$$($1_STRIP_CMD)
$$($1_CREATE_DEBUGLINK_CMDS)
endif
ifeq ($(call isTargetOs, windows), true)
ifneq ($$($1_MANIFEST), )

View File

@@ -84,7 +84,7 @@ define ProcessMarkdown
$$(call MakeDir, $$(SUPPORT_OUTPUTDIR)/markdown $$(dir $$($1_$2_PANDOC_OUTPUT)))
$$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \
$$(PANDOC) $$($1_OPTIONS) -f $$(PANDOC_MARKDOWN_FLAG) \
-t $$($1_FORMAT) --standalone \
-t $$($1_FORMAT) --eol=lf --standalone \
$$($1_$2_CSS_OPTION) $$($1_$2_OPTIONS_FROM_SRC) $$($1_$2_OPTIONS) \
'$$($1_$2_PANDOC_INPUT)' -o '$$($1_$2_PANDOC_OUTPUT)')
ifneq ($$(findstring $$(LOG_LEVEL), debug trace),)

View File

@@ -45,6 +45,7 @@ include NativeCompilation.gmk
# SOURCE_DIRS A list of source directories to search
# OUTPUT_DIR Where to put the resulting files
# EXCLUDE A list of filenames to exclude from compilation
# EXTRA_FILES List of extra files not in SOURCE_DIRS
SetupTestFilesCompilation = $(NamedParamsMacroTemplate)
define SetupTestFilesCompilationBody
@@ -64,6 +65,7 @@ define SetupTestFilesCompilationBody
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKLIB)
$1_LDFLAGS := $(LDFLAGS_JDKLIB) $$(call SET_SHARED_LIBRARY_ORIGIN)
$1_COMPILATION_TYPE := LIBRARY
$1_LOG_TYPE := library
else ifeq ($$($1_TYPE), PROGRAM)
$1_PREFIX = exe
$1_OUTPUT_SUBDIR := bin
@@ -71,6 +73,7 @@ define SetupTestFilesCompilationBody
$1_BASE_CXXFLAGS := $(CXXFLAGS_JDKEXE)
$1_LDFLAGS := $(LDFLAGS_JDKEXE) $(LDFLAGS_TESTEXE)
$1_COMPILATION_TYPE := EXECUTABLE
$1_LOG_TYPE := executable
else
$$(error Unknown type: $$($1_TYPE))
endif
@@ -82,6 +85,8 @@ define SetupTestFilesCompilationBody
$1_EXCLUDE_PATTERN := $$(addprefix %/, $$($1_EXCLUDE))
$1_FILTERED_FILE_LIST := $$(filter-out $$($1_EXCLUDE_PATTERN), $$($1_FILE_LIST))
$1_BUILD_INFO := $$($1_OUTPUT_DIR)/_$1-build-info.marker
# Setup a compilation for each and every one of them
$$(foreach file, $$($1_FILTERED_FILE_LIST),\
$$(eval name := $$(strip $$(basename $$(notdir $$(file))))) \
@@ -89,7 +94,7 @@ define SetupTestFilesCompilationBody
$$(eval $$(call SetupNativeCompilation, BUILD_TEST_$$(name), \
NAME := $$(unprefixed_name), \
TYPE := $$($1_COMPILATION_TYPE), \
EXTRA_FILES := $$(file), \
EXTRA_FILES := $$(file) $$($1_EXTRA_FILES), \
OBJECT_DIR := $$($1_OUTPUT_DIR)/support/$$(name), \
OUTPUT_DIR := $$($1_OUTPUT_DIR)/$$($1_OUTPUT_SUBDIR), \
CFLAGS := $$($1_BASE_CFLAGS) $$($1_CFLAGS) $$($1_CFLAGS_$$(name)), \
@@ -103,10 +108,21 @@ define SetupTestFilesCompilationBody
OPTIMIZATION := $$(if $$($1_OPTIMIZATION_$$(name)),$$($1_OPTIMIZATION_$$(name)),LOW), \
COPY_DEBUG_SYMBOLS := false, \
STRIP_SYMBOLS := $$(if $$($1_STRIP_SYMBOLS_$$(name)),$$($1_STRIP_SYMBOLS_$$(name)),false), \
BUILD_INFO_LOG_MACRO := LogInfo, \
)) \
$$(eval $1 += $$(BUILD_TEST_$$(name)) ) \
$$(eval $1 += $$(BUILD_TEST_$$(name)) ) \
$$(eval $1_BUILD_INFO_DEPS += $$(BUILD_TEST_$$(name)_BUILD_INFO_DEPS)) \
$$(eval $$(BUILD_TEST_$$(name)_BUILD_INFO): | $$($1_BUILD_INFO)) \
)
# Setup rule for printing a summary of all the tests being compiled. On Warn
# log level, this replaces the individual build info logging done by
# SetupNativeCompilation.
$$($1_BUILD_INFO): $$($1_BUILD_INFO_DEPS)
$$(call LogWarn, $$(strip Creating $$(words $$(filter-out %.vardeps, $$?)) \
test $$($1_LOG_TYPE) file(s) for $1))
$(TOUCH) $$@
endef
endif # _TEST_FILES_COMPILATION_GMK

View File

@@ -144,9 +144,19 @@ define SetupBuildLauncherBody
$1_WINDOWS_JLI_LIB := $(call FindStaticLib, java.base, jli, /libjli)
$1_EXTRA_FILES := $(LAUNCHER_SRC)/main.c
ifeq ($(ASAN_ENABLED), true)
$1_EXTRA_FILES += $(TOPDIR)/make/data/asan/asan_default_options.c
endif
ifeq ($(LSAN_ENABLED), true)
$1_EXTRA_FILES += $(TOPDIR)/make/data/lsan/lsan_default_options.c
endif
$$(eval $$(call SetupJdkExecutable, BUILD_LAUNCHER_$1, \
NAME := $1, \
EXTRA_FILES := $(LAUNCHER_SRC)/main.c, \
EXTRA_FILES := $$($1_EXTRA_FILES), \
OPTIMIZATION := $$($1_OPTIMIZATION), \
CFLAGS := $$(CFLAGS_JDKEXE) \
$$(LAUNCHER_CFLAGS) \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2020, 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
@@ -25,7 +25,7 @@
# Versions and download locations for dependencies used by GitHub Actions (GHA)
GTEST_VERSION=1.8.1
GTEST_VERSION=1.13.0
JTREG_VERSION=7.1.1+1
LINUX_X64_BOOT_JDK_EXT=tar.gz

View File

@@ -242,14 +242,15 @@ var getJibProfilesCommon = function (input, data) {
common.main_profile_names = [
"linux-x64", "linux-x86", "macosx-x64", "macosx-aarch64",
"windows-x64", "windows-x86", "windows-aarch64",
"linux-aarch64", "linux-arm32", "linux-ppc64le", "linux-s390x"
"linux-aarch64", "linux-arm32", "linux-ppc64le", "linux-s390x",
"linux-riscv64"
];
// These are the base settings for all the main build profiles.
common.main_profile_base = {
dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf", "jmh", "jcov"],
default_make_targets: ["product-bundles", "test-bundles", "static-libs-bundles"],
configure_args: concat("--enable-jtreg-failure-handler",
configure_args: concat(
"--with-exclude-translations=es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
"--disable-manpages",
"--disable-jvm-feature-shenandoahgc",
@@ -519,6 +520,17 @@ var getJibProfilesProfiles = function (input, common, data) {
"--disable-warnings-as-errors"
],
},
"linux-riscv64": {
target_os: "linux",
target_cpu: "riscv64",
build_cpu: "x64",
dependencies: ["devkit", "gtest", "build_devkit"],
configure_args: [
"--openjdk-target=riscv64-linux-gnu", "--with-freetype=bundled",
"--disable-warnings-as-errors"
],
},
};
// Add the base settings to all the main profiles
@@ -714,7 +726,10 @@ var getJibProfilesProfiles = function (input, common, data) {
},
"linux-s390x": {
platform: "linux-s390x",
}
},
"linux-riscv64": {
platform: "linux-riscv64",
},
}
// Generate common artifacts for all main profiles
Object.keys(artifactData).forEach(function (name) {
@@ -798,24 +813,6 @@ var getJibProfilesProfiles = function (input, common, data) {
}
});
// Define the reference implementation profiles. These are basically the same
// as the open profiles, but upload artifacts to a different location.
common.main_profile_names.forEach(function (name) {
var riName = name + "-ri";
var riDebugName = riName + common.debug_suffix;
var openName = name + common.open_suffix;
var openDebugName = openName + common.debug_suffix;
profiles[riName] = clone(profiles[openName]);
profiles[riDebugName] = clone(profiles[openDebugName]);
// Rewrite all remote dirs to "bundles/openjdk/BCL/..."
for (artifactName in profiles[riName].artifacts) {
var artifact = profiles[riName].artifacts[artifactName];
artifact.remote = replaceAll(
"\/GPL\/", "/BCL/",
(artifact.remote != null ? artifact.remote : artifact.local));
}
});
// For open profiles, the non-debug jdk bundles, need an "open" prefix on the
// remote bundle names, forming the word "openjdk". See JDK-8188789.
common.main_profile_names.forEach(function (name) {
@@ -995,6 +992,20 @@ var getJibProfilesProfiles = function (input, common, data) {
};
profiles["run-test"] = concatObjects(profiles["run-test"], macosxRunTestExtra);
profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], macosxRunTestExtra);
} else if (input.build_os == "windows") {
// On windows, add the devkit debugger to the path in all the run-test profiles
// to make them available to the jtreg failure handler.
var archDir = "x64";
if (input.build_arch == "aarch64") {
archDir = "arm64"
}
windowsRunTestExtra = {
environment_path: [
input.get("devkit", "install_path") + "/10/Debuggers/" + archDir
]
}
profiles["run-test"] = concatObjects(profiles["run-test"], windowsRunTestExtra);
profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], windowsRunTestExtra);
}
// The profile run-test-prebuilt defines src.conf as the src bundle. When
@@ -1036,11 +1047,12 @@ var getJibProfilesDependencies = function (input, common) {
var devkit_platform_revisions = {
linux_x64: "gcc11.2.0-OL6.4+1.0",
macosx: "Xcode12.4+1.1",
windows_x64: "VS2022-17.1.0+1.0",
linux_aarch64: "gcc11.2.0-OL7.6+1.0",
windows_x64: "VS2022-17.1.0+1.1",
linux_aarch64: input.build_cpu == "x64" ? "gcc11.2.0-OL7.6+1.1" : "gcc11.2.0-OL7.6+1.0",
linux_arm: "gcc8.2.0-Fedora27+1.0",
linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
linux_s390x: "gcc8.2.0-Fedora27+1.0"
linux_s390x: "gcc8.2.0-Fedora27+1.0",
linux_riscv64: "gcc11.3.0-Fedora_rawhide_68692+1.1"
};
var devkit_platform = (input.target_cpu == "x86"
@@ -1220,7 +1232,7 @@ var getJibProfilesDependencies = function (input, common) {
gtest: {
organization: common.organization,
ext: "tar.gz",
revision: "1.8.1"
revision: "1.13.0+1.0"
},
};

View File

@@ -0,0 +1,73 @@
/*
* Copyright (c) 2023, Google 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.
*/
#ifndef ADDRESS_SANITIZER
#error "Build misconfigured, preprocessor macro ADDRESS_SANITIZER should be defined"
#endif
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(visibility)
#define ATTRIBUTE_DEFAULT_VISIBILITY __attribute__((visibility("default")))
#elif defined(_MSC_VER)
#define ATTRIBUTE_DEFAULT_VISIBILITY __declspec(dllexport)
#else
#define ATTRIBUTE_DEFAULT_VISIBILITY
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(used)
#define ATTRIBUTE_USED __attribute__((used))
#else
#define ATTRIBUTE_USED
#endif
#if defined(_MSC_VER)
#define CDECL __cdecl
#else
#define CDECL
#endif
// Override weak symbol exposed by ASan to override default options. This is called by ASan
// extremely early during library loading, before main is called. We need to override the default
// options because LSan is enabled by default and Hotspot is not yet compatible with it.
// Additionally we need to prevent ASan from handling SIGSEGV, so that Hotspot's crash handler is
// used. You can override these options by setting the environment variable ASAN_OPTIONS.
ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* CDECL __asan_default_options() {
return
#ifdef LEAK_SANITIZER
"leak_check_at_exit=0,"
#else
// ASan bundles LSan, however we only support LSan when it is explicitly requested during
// configuration. Thus we disable it to match if it was not requested.
"detect_leaks=0,"
#endif
"print_suppressions=0,"
"handle_segv=0,"
// See https://github.com/google/sanitizers/issues/1322. Hopefully this is resolved
// at some point and we can remove this option.
"intercept_tls_get_addr=0";
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2023, Google 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,5 +23,8 @@
* questions.
*/
extern "C" {
provides jdk.internal.org.jline.terminal.spi.JnaSupport with jdk.internal.org.jline.terminal.impl.jna.JnaSupportImpl;
#include "./asan_default_options.c"
} // extern "C"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2000, 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
@@ -476,6 +476,11 @@ charset x-IBM874 IBM874
alias ibm-874
alias 874
# alias for GB18030 is generated at runtime
charset GB18030 GB18030
package sun.nio.cs
type source
########################################################
#
# charsets provided by ExtendedCharsets provider.
@@ -563,11 +568,6 @@ charset GBK GBK # Simplified Chinese
alias windows-936
alias CP936
charset GB18030 GB18030
package sun.nio.cs.ext
type template
alias gb18030-2000
charset GB2312 EUC_CN
package sun.nio.cs.ext
type dbcs

View File

@@ -7,7 +7,6 @@ Big5_HKSCS
EUC_CN
EUC_KR
GBK
GB18030
IBM856
IBM921
IBM922

View File

@@ -11,7 +11,6 @@ EUC_JP_LINUX
EUC_JP_Open
EUC_TW
GBK
GB18030
ISO_8859_11
ISO_8859_3
ISO_8859_6

View File

@@ -1,26 +0,0 @@
#
# generate these charsets into sun.nio.cs
#
Big5
Big5_Solaris
Big5_HKSCS # always together with Big5
EUC_CN
EUC_KR
EUC_JP
EUC_JP_LINUX
EUC_JP_Open
EUC_TW
GBK
GB18030
ISO_8859_11
ISO_8859_3
ISO_8859_6
ISO_8859_8
Johab
PCK
TIS_620
JIS_X_0201
JIS_X_0208
JIS_X_0212
JIS_X_0208_Solaris
JIS_X_0212_Solaris

View File

@@ -2,7 +2,6 @@
# generate these charsets into sun.nio.cs
#
GBK
GB18030
Johab
MS1255
MS1256

View File

@@ -0,0 +1,141 @@
# coverageLevels.txt
# Copyright © 2022 Unicode, Inc.
# CLDR data files are interpreted according to the LDML specification (http://unicode.org/reports/tr35/)
# For terms of use, see http://www.unicode.org/copyright.html
#
# Provides the Coverage Level of locales at Basic or Above.
# For more info,see the Locale Coverage Chart for this version.
# Generated by ShowLocaleCoverage.
#
#Locale ; Level
af ; modern
am ; modern
ar ; modern
as ; modern
ast ; basic
az ; modern
be ; modern
bg ; modern
bgc ; basic
bho ; basic
bn ; modern
br ; moderate
brx ; basic
bs ; modern
bs_Cyrl ; basic
ca ; modern
ceb ; moderate
chr ; modern
cs ; modern
cv ; moderate
cy ; modern
da ; modern
de ; modern
doi ; basic
dsb ; modern
el ; modern
en ; modern
es ; modern
et ; modern
eu ; modern
fa ; modern
ff_Adlm ; basic
fi ; modern
fil ; modern
fo ; basic
fr ; modern
ga ; modern
gd ; modern
gl ; modern
gu ; modern
ha ; modern
he ; modern
hi ; modern
hi_Latn ; modern
hr ; modern
hsb ; modern
hu ; modern
hy ; modern
ia ; basic
id ; modern
ig ; modern
is ; modern
it ; modern
ja ; modern
jv ; modern
ka ; modern
kea ; basic
kgp ; basic
kk ; modern
km ; modern
kn ; modern
ko ; modern
kok ; modern
ks ; basic
ks_Deva ; basic
ky ; modern
lo ; modern
lt ; modern
lv ; modern
mai ; basic
mi ; basic
mk ; modern
ml ; modern
mn ; modern
mni ; basic
mr ; modern
ms ; modern
my ; modern
ne ; modern
nl ; modern
nn ; modern
no ; modern
or ; modern
pa ; modern
pcm ; modern
pl ; modern
ps ; modern
pt ; modern
qu ; moderate
raj ; basic
rm ; basic
ro ; modern
ru ; modern
sa ; basic
sat ; basic
sc ; moderate
sd ; modern
sd_Deva ; basic
si ; modern
sk ; modern
sl ; modern
so ; modern
sq ; modern
sr ; modern
su ; basic
sv ; modern
sw ; modern
ta ; modern
te ; modern
tg ; basic
th ; modern
ti ; basic
tk ; modern
to ; basic
tr ; modern
tt ; basic
uk ; modern
ur ; modern
uz ; modern
uz_Cyrl ; basic
vi ; modern
wo ; basic
xh ; moderate
yo ; modern
yrl ; basic
yue ; modern
yue_Hans ; modern
zh ; modern
zh_Hant ; modern
zu ; modern
#EOF

View File

@@ -0,0 +1,67 @@
/*
* Copyright (c) 2023, Google 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.
*/
#ifndef LEAK_SANITIZER
#error "Build misconfigured, preprocessor macro LEAK_SANITIZER should be defined"
#endif
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(visibility)
#define ATTRIBUTE_DEFAULT_VISIBILITY __attribute__((visibility("default")))
#else
#define ATTRIBUTE_DEFAULT_VISIBILITY
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(used)
#define ATTRIBUTE_USED __attribute__((used))
#else
#define ATTRIBUTE_USED
#endif
// Override weak symbol exposed by LSan to override default options. This is called by LSan
// extremely early during library loading, before main is called. We need to override the default
// options because LSan will perform leak checking at program exit. Unfortunately Hotspot does not
// shutdown cleanly at the moment and some leaks occur, we want to ignore these. Instead we
// explicitly perform leak checking early during JVM shutdown.
ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __lsan_default_options() {
return
"print_suppressions=0,"
"leak_check_at_exit=0,"
// See https://github.com/google/sanitizers/issues/1322. Hopefully this is resolved
// at some point and we can remove this option.
"intercept_tls_get_addr=0";
}
// Override weak symbol exposed by LSan to override default suppressions. This is called by LSan
// extremely early during library loading, before main is called.
ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __lsan_default_suppressions() {
return
// Remove after JDK-8297688 is resolved.
"leak:^JLI_MemAlloc$\n"
"leak:^JLI_StringDup$\n";
}

View File

@@ -0,0 +1,30 @@
/*
* Copyright (c) 2023, Google 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.
*/
extern "C" {
#include "./lsan_default_options.c"
} // extern "C"

View File

@@ -0,0 +1,54 @@
/*
* Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* 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.
*/
#ifndef UNDEFINED_BEHAVIOR_SANITIZER
#error "Build misconfigured, preprocessor macro UNDEFINED_BEHAVIOR_SANITIZER should be defined"
#endif
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(visibility)
#define ATTRIBUTE_DEFAULT_VISIBILITY __attribute__((visibility("default")))
#else
#define ATTRIBUTE_DEFAULT_VISIBILITY
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(used)
#define ATTRIBUTE_USED __attribute__((used))
#else
#define ATTRIBUTE_USED
#endif
// Override weak symbol exposed by UBSan to override default options. This is called by UBSan
// extremely early during library loading, before main is called. We need to override the default
// options because by default UBSan only prints a warning for each occurrence. We want jtreg tests
// to fail when undefined behavior is encountered. We also want a full stack trace for the offending
// thread so it is easier to track down. You can override these options by setting the environment
// variable UBSAN_OPTIONS.
ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __ubsan_default_options() {
return "halt_on_error=1,print_stacktrace=1";
}

View File

@@ -4,7 +4,9 @@
*
* 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.
* 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
@@ -21,13 +23,8 @@
* questions.
*/
package compiler.lib.ir_framework.driver.irmatching.parser;
extern "C" {
/**
* Exception thrown when facing an unexpected format during parsing of the hotspot-pid* file
*/
class FileCorruptedException extends RuntimeException {
public FileCorruptedException(String s) {
super(s);
}
}
#include "./ubsan_default_options.c"
} // extern "C"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 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
@@ -63,20 +63,28 @@ ifeq ($(BASE_OS), OL)
LINUX_VERSION := OL6.4
endif
else ifeq ($(BASE_OS), Fedora)
DEFAULT_OS_VERSION := 27
ifeq ($(BASE_OS_VERSION), )
BASE_OS_VERSION := $(DEFAULT_OS_VERSION)
endif
ifeq ($(filter x86_64 armhfp, $(ARCH)), )
FEDORA_TYPE := fedora-secondary
ifeq ($(ARCH), riscv64)
DEFAULT_OS_VERSION := rawhide/68692
ifeq ($(BASE_OS_VERSION), )
BASE_OS_VERSION := $(DEFAULT_OS_VERSION)
endif
BASE_URL := http://fedora.riscv.rocks/repos-dist/$(BASE_OS_VERSION)/$(ARCH)/Packages/
else
FEDORA_TYPE := fedora/linux
endif
ARCHIVED := $(shell [ $(BASE_OS_VERSION) -lt $(DEFAULT_OS_VERSION) ] && echo true)
ifeq ($(ARCHIVED),true)
BASE_URL := https://archives.fedoraproject.org/pub/archive/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/
else
BASE_URL := https://dl.fedoraproject.org/pub/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/
DEFAULT_OS_VERSION := 27
ifeq ($(BASE_OS_VERSION), )
BASE_OS_VERSION := $(DEFAULT_OS_VERSION)
endif
ifeq ($(filter x86_64 armhfp, $(ARCH)), )
FEDORA_TYPE := fedora-secondary
else
FEDORA_TYPE := fedora/linux
endif
ARCHIVED := $(shell [ $(BASE_OS_VERSION) -lt $(DEFAULT_OS_VERSION) ] && echo true)
ifeq ($(ARCHIVED),true)
BASE_URL := https://archives.fedoraproject.org/pub/archive/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/
else
BASE_URL := https://dl.fedoraproject.org/pub/$(FEDORA_TYPE)/releases/$(BASE_OS_VERSION)/Everything/$(ARCH)/os/Packages/
endif
endif
LINUX_VERSION := Fedora_$(BASE_OS_VERSION)
else
@@ -87,8 +95,17 @@ endif
# Define external dependencies
# Latest that could be made to work.
GCC_VER := 11.2.0
ifeq ($(GCC_VER), 11.2.0)
GCC_VER := 11.3.0
ifeq ($(GCC_VER), 11.3.0)
gcc_ver := gcc-11.3.0
binutils_ver := binutils-2.39
ccache_ver := ccache-3.7.12
mpfr_ver := mpfr-4.1.1
gmp_ver := gmp-6.2.1
mpc_ver := mpc-1.2.1
gdb_ver := gdb-11.2
REQUIRED_MIN_MAKE_MAJOR_VERSION := 4
else ifeq ($(GCC_VER), 11.2.0)
gcc_ver := gcc-11.2.0
binutils_ver := binutils-2.37
ccache_ver := ccache-3.7.12
@@ -189,7 +206,7 @@ RPM_LIST := \
libXi libXi-devel \
libXdmcp libXdmcp-devel \
libXau libXau-devel \
libgcc \
libgcc libxcrypt \
zlib zlib-devel \
libffi libffi-devel \
fontconfig fontconfig-devel \
@@ -245,7 +262,7 @@ define Download
$$($(1)_CFG) : $$($(1)_FILE)
mkdir -p $$(SRCDIR)
tar -C $$(SRCDIR) -xf $$<
$$(foreach p,$$(abspath $$(wildcard patches/$$(notdir $$($(1)_DIR)).patch)), \
$$(foreach p,$$(abspath $$(wildcard patches/$$(ARCH)-$$(notdir $$($(1)_DIR)).patch)), \
echo PATCHING $$(p) ; \
patch -d $$($(1)_DIR) -p1 -i $$(p) ; \
)
@@ -414,6 +431,12 @@ $(gcc) \
# wants.
$(BUILDDIR)/$(binutils_ver)/Makefile : CONFIG += --enable-64-bit-bfd --libdir=$(PREFIX)/$(word 1,$(LIBDIRS))
ifneq ($(ARCH), riscv64)
# gold is not available for riscv64 for some reason,
# and subsequent linking will fail if we try to enable it.
LINKER_CONFIG := --enable-gold=default
endif
# Makefile creation. Simply run configure in build dir.
# Setting CFLAGS to -O2 generates a much faster ld.
$(bfdmakes) \
@@ -426,11 +449,11 @@ $(BUILDDIR)/$(binutils_ver)/Makefile \
$(PATHPRE) $(ENVS) CFLAGS="-O2 $(CFLAGS)" \
$(BINUTILS_CFG) \
$(CONFIG) \
$(LINKER_CONFIG) \
--with-sysroot=$(SYSROOT) \
--disable-nls \
--program-prefix=$(TARGET)- \
--enable-multilib \
--enable-gold=default \
--enable-threads \
--enable-plugins \
) > $(@D)/log.config 2>&1
@@ -494,7 +517,7 @@ ifeq ($(ARCH), armhfp)
$(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --with-float=hard
endif
ifneq ($(filter ppc64 ppc64le s390x, $(ARCH)), )
ifneq ($(filter riscv64 ppc64 ppc64le s390x, $(ARCH)), )
# We only support 64-bit on these platforms anyway
CONFIG += --disable-multilib
endif

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 *

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