Compare commits

..

1889 Commits

Author SHA1 Message Date
Nikita Gubarkov
fd009fe88e Enumerate and filter physical devices, create a logical device. Corrections. 2023-04-05 20:32:21 +03:00
Nikita Gubarkov
738f762d3e Enumerate and filter physical devices, create a logical device. 2023-03-31 19:55:13 +03:00
Nikita Gubarkov
ef9172f50e Remove bundled Vulkan headers, use stubs when Vulkan is disabled. Corrections. 2023-03-31 12:17:36 +03:00
Nikita Gubarkov
ed8a7ad702 Remove bundled Vulkan headers, use stubs when Vulkan is disabled. 2023-03-30 21:53:47 +03:00
Alexey Ushakov
6238545ead Vulkan sdk support in configure. Corrections 2023-03-17 21:30:47 +01:00
Alexey Ushakov
9bda49c60c Vulkan sdk support in configure 2023-03-16 21:13:22 +01:00
Nikita Gubarkov
a8cdbbfb8d Added debug messenger. 2023-03-16 22:10:10 +02:00
Nikita Gubarkov
2d7c8037fa Decoupled Vulkan from Wayland.
Extracted protocol-independent logic into "share".
2023-03-16 20:57:18 +02:00
Nikita Gubarkov
b51d9559b0 Forgot to stage vk_video headers. 2023-03-16 18:10:04 +02:00
Nikita Gubarkov
f410ae50af Imported Vulkan headers, started using Vulkan-Hpp. 2023-03-16 18:05:38 +02:00
Alexey Ushakov
7ebdeb734b Added detection of Vulkan support. Corrections. 2023-03-16 11:21:15 +01:00
Alexey Ushakov
f7821f8d45 Added detection of Vulkan support 2023-03-15 19:29:22 +01:00
Maxim Kartashev
28a609691a Implemented GraphicsEnvironment and Device, HiDPI (scaling) support 2022-12-13 10:06:03 +03:00
Maxim Kartashev
2f47290c19 Dialog and window menu support 2022-11-28 10:57:38 +03:00
Maxim Kartashev
ba1c4a464d dlopen version 0 of xkbcommon if non-versioned file is missing 2022-11-23 13:19:15 +03:00
Dmitry Batrak
466f1dd0fd generate correct mouse events after click in window resize area 2022-11-23 11:17:30 +03:00
Dmitry Batrak
fd37168007 set cursor on pointer enter event, as per Wayland API requirement
in the initial implementation cursor was only updated on pointer move events
2022-11-18 19:51:17 +03:00
Dmitry Batrak
607dcb78a8 support setting mouse cursors 2022-11-18 14:22:21 +03:00
Maxim Kartashev
f9f5359629 Prevent deadlock when scrolling
SurfaceData need to be able to be locked twice during scrolling,
but the associated mutex wasn't recursive, which led to a deadlock.
2022-11-16 17:22:24 +03:00
Maxim Kartashev
6b19a747f7 Basic support for VolatileImage
The image is actually a non-volatile software implementation.
2022-11-15 11:52:49 +03:00
Maxim Kartashev
7d7d9f9bf5 Prevent race condition when destroying buffer manager
Also implemented AWT_LOCK() family of macros
2022-11-15 11:52:23 +03:00
Dmitry Batrak
66c28a3606 prevent crashes on concurrent access to AWT API 2022-11-14 19:12:31 +03:00
Maxim Kartashev
e2321b5594 Implemented getColorModel() and createAcceleratedImage()
This is enough to make J2Ddemo and StylePad work
2022-11-11 12:04:24 +03:00
Dmitry Batrak
5813b10e65 maximize/un-maximize improvements
* remove 'roundtrip' calls - they don't seem to be needed after recent changes to paint logic
* remove unneeded lock in WLFramePeer.setState - corresponding code doesn't query or modify any state
* always repaint client decorations on frame state change - it might not be accompanied by size change
* remember the size of frame before maximization, use it on de-maximization, if compositor doesn't propose a size itself
2022-11-09 16:18:28 +03:00
Maxim Kartashev
d121a93cb1 JBR-4918 More bugfixes in Wayland buffers management
Event-driven painting of client decorations.
Smooth window resize.
Transactional commits at AWT and Swing level
based on frame numbers.
2022-11-08 08:40:18 +03:00
Dmitry Batrak
f7638abee2 initialize memory allocated for WLFrame
just in case, to prevent potential usage of uninitialized fields in future
2022-11-02 12:41:08 +03:00
Dmitry Batrak
55b1310c24 support setting state to a window before making it visible, and right afterwards 2022-10-31 12:23:16 +03:00
Maxim Kartashev
bfe03f4bd1 Revert "JBR-4918 More bugfixes in Wayland buffers management"
This reverts commit 15a09a1564.
2022-10-28 13:20:27 +03:00
Maxim Kartashev
15a09a1564 JBR-4918 More bugfixes in Wayland buffers management
Event-driven painting of client decorations.
Smooth window resize.
Transactional commits at AWT and Swing level
based on frame numbers.
2022-10-28 11:28:57 +03:00
Dmitry Batrak
858380c36d fix assertion in WLKeyboardFocusManagerPeer 2022-10-21 18:34:02 +03:00
Dmitry Batrak
a81b44d79d client-side decorations, and some fixes for minimize/maximize window functionality 2022-10-21 16:46:36 +03:00
Dmitry Batrak
7f9aee3c7f make default component focused on frame activation 2022-10-21 12:05:01 +03:00
Maxim Kartashev
0478a24483 JBR-4918 Additional bugfixes in Wayland buffers management 2022-10-21 09:48:51 +03:00
Maxim Kartashev
c113772448 JBR-4865 Support xdg-shell functions
Implemented maximize/fullscreen together with the reverse functions.
2022-10-19 11:24:08 +03:00
Maxim Kartashev
757194800f JBR-4918 Implement support for window size change 2022-10-18 11:07:01 +03:00
Maxim Kartashev
b9c4ac35ec JBR-4865 Support xdg-shell functions 2022-10-18 11:06:57 +03:00
Dmitry Batrak
adf8d95f7b simplify Wayland events dispatching, fix known issues 2022-10-13 10:23:03 +03:00
Maxim Kartashev
b2986aef46 JBR-4621 Implemented key repeat 2022-10-12 14:23:09 +03:00
Maxim Kartashev
cea81933d9 JBR-4621 Input events support for Wayland
This includes basic mouse and keyboard support.
2022-10-12 14:23:09 +03:00
Maxim Kartashev
6779e2c59b Let WLToolkit work with DISPLAY unset 2022-10-12 14:23:06 +03:00
Alexey Ushakov
4b7c5f62a9 Improved sun.awt.wl.WLGraphicsEnvironment to support createCraphics() 2022-10-12 14:22:34 +03:00
Maxim Kartashev
df204bb882 Added libwakefield source code to the tree
It is not integrated into the build infrastructure both for simplicity
and to avoid otherwise unnecessary dependencies on weston, pixman, etc.

Also fixed copyrights in the recently added files, including the
auto-generated ones.
2022-10-12 14:22:34 +03:00
Maxim Kartashev
0d7fdcf415 Made it possible for Wayland tests to run in parallel
Also fixed a potential crash in getLocationOnScreen().
2022-10-12 14:22:34 +03:00
Maxim Kartashev
73c8c50262 Wayland test harness and sample test 2022-10-12 14:22:34 +03:00
Maxim Kartashev
16cacd0b55 AWT Robot to support Wayland natively
Requires the presence of the 'wakefield' protocol extension on the
server side; will throw UOE on use otherwise. Can be completely
disabled by undefining WAKEFIELD_ROBOT during compilation.

Provides the ability to re-position the surface to the given absolute
coordinates, query the surface's position, obtain RGB of a pixel at the
given absolute coordinates and take a screenshot of an area.
2022-10-12 14:22:34 +03:00
Nikita Gubarkov
19496fcef9 Suppress unused-result warning for libfontmanager 2022-10-12 14:22:34 +03:00
nikita.gubarkov
9cb4769361 Text rendering support
Extracted X11-related code from libfontmanager into libfontmanager_xawt
2022-10-12 14:22:33 +03:00
Maxim Kartashev
dc36d0afaf Reduced xdg_wm_base protocol version to 1 in order to run under Weston
This was done purely for convenience. The version can be bumped back up
at any time, but the change will require a more recent version
of Weston for testing.
2022-10-12 14:22:33 +03:00
Alexey Ushakov
20ca5a41f4 Added JFrame support 2022-10-12 14:22:33 +03:00
Alexey Ushakov
e864ea8469 Fixed child hw component position 2022-10-12 14:22:33 +03:00
Alexey Ushakov
b3e31866ec Implemented heavyweight button rendering 2022-10-12 14:22:33 +03:00
Alexey Ushakov
4cdce4b44a Moved native window management to WLComponentPeer 2022-10-12 14:22:33 +03:00
Alexey Ushakov
2187957e7e Added WLRepaintArea 2022-10-12 14:22:33 +03:00
Alexey Ushakov
14aa544c86 Refactored peers 2022-10-12 14:22:32 +03:00
Alexey Ushakov
de5214531a Added stubs for WLTK button peer 2022-10-12 14:22:32 +03:00
Alexey Ushakov
ea6f74d64f Added 2d surface support 2022-10-12 14:22:32 +03:00
Alexey Ushakov
56e174709b Added support for background color. Refactoring 2022-10-12 14:22:32 +03:00
Alexey Ushakov
c5103ff4a8 Make simple awt window visible 2022-10-12 14:22:32 +03:00
Dmitry Batrak
49c103709e window showing and event loop prototype 2022-10-12 14:22:32 +03:00
Dmitry Batrak
4b21d041d8 more stubbing for WLToolkit, add WLFramePeer 2022-10-12 14:22:31 +03:00
Dmitry Batrak
c1ee18adfb more stubbing for WLToolkit 2022-10-12 14:22:31 +03:00
Alexey Ushakov
693e16b0a1 Created stub version of WLToolkit
A wayland base toolkit with native part linked to wayland-client library
2022-10-12 14:22:28 +03:00
Kim Barrett
5ad126f446 8295012: Arena should not derive from CHeapObj<mtNone>
Reviewed-by: stefank, dholmes
2022-10-12 01:55:58 +00:00
Xiaohong Gong
ab8c1361bc 8292898: [vectorapi] Unify vector mask cast operation
Co-authored-by: Quan Anh Mai <qamai@openjdk.org>
Reviewed-by: jbhateja, eliu
2022-10-12 01:39:57 +00:00
Jatin Bhateja
2ceb80c60f 8288043: Optimize FP to word/sub-word integral type conversion on X86 AVX2 platforms
Reviewed-by: kvn, sviswanathan
2022-10-12 01:05:44 +00:00
Quan Anh Mai
703a6ef591 8283699: Improve the peephole mechanism of hotspot
Reviewed-by: kvn, dlong
2022-10-12 00:31:04 +00:00
Kim Barrett
94a9b048af 8295013: OopStorage should derive from CHeapObjBase
Reviewed-by: stefank, tschatzl
2022-10-11 23:17:31 +00:00
Pavel Rappo
3a980b972f 8295168: Remove superfluous period in @throws tag description
Reviewed-by: bpb, naoto, lancea, iris
2022-10-11 19:44:54 +00:00
Pavel Rappo
9bb932ce30 8295154: Documentation for RemoteExecutionControl.invoke(Method) inherits non-existent documentation
Reviewed-by: jjg
2022-10-11 19:35:18 +00:00
Martin Doerr
945950d863 8295069: [PPC64] Performance regression after JDK-8290025
Reviewed-by: rrich, lucy
2022-10-11 19:19:41 +00:00
Chris Plummer
d362e16924 8294689: The SA transported_core.html file needs quite a bit of work
Reviewed-by: kevinw, poonam, sspitsyn
2022-10-11 18:01:18 +00:00
Smita Kamath
07946aa49c 8289552: Make intrinsic conversions between bit representations of half precision values and floats
Reviewed-by: kvn, sviswanathan, jbhateja
2022-10-11 17:06:19 +00:00
Raffaello Giulietti
2586b1a3c1 8295155: Incorrect javadoc of java.base module
Reviewed-by: alanb, rriggs, bpb, iris, jvernee
2022-10-11 16:58:36 +00:00
Magnus Ihse Bursie
e1a77cfd5f 8295163: Remove old hsdis Makefile
Reviewed-by: shade, iris
2022-10-11 16:35:55 +00:00
Xue-Lei Andrew Fan
3c7ae1225f 8294821: Class load improvement for AES crypto engine
Reviewed-by: valeriep
2022-10-11 16:23:02 +00:00
Markus Karg
619cd825b5 8294702: BufferedInputStream uses undefined value range for markpos
Reviewed-by: alanb, bpb
2022-10-11 16:07:31 +00:00
Abhishek Kumar
9d0009e92b 6777156: GTK L&F: JFileChooser can jump beyond root directory in combobox and selection textarea.
Reviewed-by: jdv, tr, psadhukhan
2022-10-11 12:55:59 +00:00
Aleksey Shipilev
3ebe5ad2d7 8294751: Zero: Allow larger default heaps
Reviewed-by: iklam, rkennke
2022-10-11 12:30:58 +00:00
Tejesh R
33d0618813 6616245: NullPointerException when using JFileChooser with a custom FileView
Reviewed-by: aivanov
2022-10-11 11:11:49 +00:00
Erik Gahlin
fba763f825 8291519: jdk/jfr/api/event/TestShouldCommit.java failed with Unexpected value of shouldCommit()
Reviewed-by: mgronlun
2022-10-11 10:06:17 +00:00
Tongbao Zhang
6053bf0f6a 8293782: Shenandoah: some tests failed on lock rank check
Reviewed-by: mdoerr, shade
2022-10-11 10:04:30 +00:00
KIRIYAMA Takuya
4435d56d3f 8282395: URL.openConnection can throw IOOBE
Reviewed-by: dfuchs
2022-10-11 09:22:33 +00:00
Daniel Jeliński
fe70487d0b 8294958: java/net/httpclient/ConnectTimeout tests are slow
Reviewed-by: dfuchs, aefimov
2022-10-11 08:50:01 +00:00
Roberto Castañeda Lozano
97f1321cb4 8294356: IGV: scheduled graphs contain duplicated elements
Reviewed-by: chagedorn, thartmann
2022-10-11 07:13:00 +00:00
Matthias Baesken
5e05e421ed 8294901: remove pre-VS2017 checks in Windows related coding
Reviewed-by: dholmes, mdoerr, kbarrett
2022-10-11 07:11:59 +00:00
Andrey Turbanov
e775acf889 8293986: Incorrect double-checked locking in com.sun.beans.introspect.ClassInfo
Reviewed-by: serb
2022-10-11 05:59:16 +00:00
Eric Liu
9d116ec147 8294262: AArch64: compiler/vectorapi/TestReverseByteTransforms.java test failed on SVE machine
Reviewed-by: aph, njian
2022-10-11 01:37:20 +00:00
Ningsheng Jian
4b17d28a6d 8294261: AArch64: Use pReg instead of pRegGov when possible
Reviewed-by: ngasson, xgong
2022-10-11 01:06:28 +00:00
Sergey Bylokhov
891156a744 8295003: Do not mention applets in the "java.awt.color" package
Reviewed-by: aivanov, prr
2022-10-11 00:40:34 +00:00
Kim Barrett
e6c33e62b5 8295014: Remove unnecessary explicit casts to void* in CHeapObjBase
Reviewed-by: jsjolen, dholmes, stefank
2022-10-11 00:17:36 +00:00
Erik Gahlin
1bfcc2790a 8294931: JFR: Simplify SettingInfo
Reviewed-by: mgronlun
2022-10-10 17:56:34 +00:00
Pavel Rappo
eb90c4fc04 8294377: Prepare to stop auto-inheriting documentation for subclasses of exceptions whose documentation is inherited
Reviewed-by: jjg
2022-10-10 16:54:57 +00:00
Markus Grönlund
4df4a1f8e2 8287832: jdk/jfr/event/runtime/TestActiveSettingEvent.java failed with "Expected two batches of Active Setting events"
Reviewed-by: egahlin
2022-10-10 12:40:58 +00:00
Markus Grönlund
35d17a00ab 8293864: Kitchensink24HStress.java fails with SIGSEGV in JfrCheckpointManager::lease
Reviewed-by: egahlin
2022-10-10 12:39:10 +00:00
Aleksey Shipilev
c5f462e83b 8294956: GHA: qemu-debootstrap is deprecated, use the regular one
Reviewed-by: erikj
2022-10-10 12:19:46 +00:00
Prasanta Sadhukhan
269252aa3d 8295007: javax/swing/JRadioButton/4314194/bug4314194.java fails in mach5 for WIndowLookAndFeel
Reviewed-by: aivanov, tr
2022-10-10 11:51:21 +00:00
Jie Fu
6ed74ef654 8295005: compiler/loopopts/TestRemoveEmptyLoop.java fails with release VMs after JDK-8294839
Reviewed-by: chagedorn, epeter
2022-10-10 07:06:51 +00:00
Daniel Jeliński
8a148bc960 8294848: Unnecessary SSLCipher dispose implementations
Reviewed-by: xuelei, valeriep, wetmore
2022-10-10 07:02:27 +00:00
Markus Karg
8713dfa64e 8294541: java/io/BufferedInputStream/TransferTo.java fails with OOME
Reviewed-by: alanb
2022-10-09 13:55:27 +00:00
Xiaolin Zheng
542cc602a7 8294366: RISC-V: Partially mark out incompressible regions
Reviewed-by: fyang, yadongwang
2022-10-08 06:41:45 +00:00
Alex Menkov
495c043533 7124710: interleaved RedefineClasses() and RetransformClasses() calls may have a problem
Reviewed-by: sspitsyn, dcubed
2022-10-07 23:02:19 +00:00
Justin Lu
d39d8c856a 8170389: java.text.DigitList.getDouble() : Controversy between javadoc and code
Reviewed-by: naoto, lancea
2022-10-07 22:58:26 +00:00
Matias Saavedra Silva
3466e99934 8294691: dynamicArchive/RelativePath.java is running other test case
Reviewed-by: iklam, ccheung
2022-10-07 20:44:35 +00:00
Weijun Wang
823b53d895 8294987: Streamline DerOutputStream write
Reviewed-by: jnimeh, ascarpino
2022-10-07 20:34:08 +00:00
Chris Plummer
6a266c4de1 8292879: com/sun/jdi/ClassUnloadEventTest.java failed due to classes not unloading
Reviewed-by: dholmes, coleenp, sspitsyn
2022-10-07 19:11:19 +00:00
Aleksey Shipilev
fe7a4617fe 8294920: Missing SP value in Linux x86_32 thread context
Reviewed-by: cjplummer, sspitsyn
2022-10-07 18:23:16 +00:00
Brian Burkhalter
4cbac40de9 8294717: (bf) DirectByteBuffer constructor will leak if allocating Deallocator or Cleaner fails with OOME
Reviewed-by: alanb
2022-10-07 17:43:00 +00:00
Alex Menkov
c1166a304d 8289561: java/lang/instrument/NativeMethodPrefixAgent.java fails with "ERROR: Injection failure: java.lang.UnsupportedOperationException: Records requires ASM8"
Reviewed-by: lmesnik, cjplummer, sspitsyn
2022-10-07 17:13:30 +00:00
Aleksey Shipilev
a1747ef81a 8294941: GHA: Cut down cross-compilation sysroots
Reviewed-by: clanger, erikj
2022-10-07 17:11:07 +00:00
Darragh Clarke
67210abd04 8286394: Address possibly lossy conversions in jdk.naming.dns
Reviewed-by: rriggs, aefimov
2022-10-07 16:04:50 +00:00
Sacha Coppey
7a194d31a3 8290154: [JVMCI] partially implement JVMCI for RISC-V
Reviewed-by: ihse, dnsimon, yadongwang
2022-10-07 13:09:09 +00:00
Johan Sjölen
b38bed6d0e 8294308: Allow dynamically choosing the MEMFLAGS of a type without ResourceObj
Reviewed-by: coleenp, stefank, kbarrett
2022-10-07 11:06:57 +00:00
Albert Mingkun Yang
118d93b3dc 8294907: Remove unused NativeLookup::dll_load
Reviewed-by: dholmes
2022-10-07 08:55:12 +00:00
Alan Bateman
1fda8421b9 8291429: java/lang/Thread/virtual/ThreadAPI.java timed out on single core system
Reviewed-by: sspitsyn, cjplummer
2022-10-07 08:14:43 +00:00
Andrey Turbanov
2d25c0a31c 8292280: Unused field 'keyListener' in BasicRadioButtonUI
Reviewed-by: jdv, serb
2022-10-07 06:19:01 +00:00
Alan Bateman
0ad6803ac2 8293810: Remove granting of RuntimePermission("stopThread") from tests
Reviewed-by: dfuchs, mullan, mchung, chegar
2022-10-07 06:15:38 +00:00
Srikanth Adayapalam
cf84c8eaf2 8292975: javac produces code that crashes with LambdaConversionException
8269983: BootstrapMethodError with method reference and intersection type

Reviewed-by: dlsmith, vromero
2022-10-07 04:20:40 +00:00
Prasanta Sadhukhan
f3a44a4835 8075916: The regression-swing case failed as colored text is not shown on disabled checkbox and radio button with Nimbus LAF
Reviewed-by: tr, aivanov
2022-10-07 03:09:19 +00:00
Prasanta Sadhukhan
37bd4fbe30 6852577: Only for Nimbus LAF UIManager.get("PasswordField.echoChar") is null
Reviewed-by: tr, aivanov
2022-10-07 03:02:53 +00:00
Justin Lu
d4c9a88073 6560981: (cal) unused local variables in GregorianCalendar, etc.
Reviewed-by: naoto, bchristi, iris
2022-10-06 23:16:06 +00:00
Zhiqiang Zang
5dd851d872 8281453: New optimization: convert ~x into -1-x when ~x is used in an arithmetic expression
Reviewed-by: kvn
2022-10-06 22:15:20 +00:00
Mikael Vidstedt
85569e966c 8286037: Bump minimum boot jdk to JDK 19
Reviewed-by: ctornqvi, darcy, shade, erikj
2022-10-06 17:34:14 +00:00
Damon Nguyen
fef345b19f 8293672: Update freetype md file
Reviewed-by: prr
2022-10-06 16:07:47 +00:00
Martin Desruisseaux
5c030cccae 8290973: In AffineTransform, equals(Object) is inconsistent with hashCode()
Reviewed-by: prr
2022-10-06 16:03:36 +00:00
Matias Saavedra Silva
f888aa953c 8293061: Combine CDSOptions and AppCDSOptions test utility classes
Reviewed-by: dholmes, iklam, ccheung
2022-10-06 15:03:24 +00:00
Emanuel Peter
73f06468ae 8294839: Disable StressLongCountedLoop in compiler/loopopts/TestRemoveEmptyLoop.java
Reviewed-by: thartmann, chagedorn
2022-10-06 10:40:11 +00:00
Raffaello Giulietti
2ceebf681f 8294456: Fix misleading-indentation warnings in core JDK libraries
Reviewed-by: shade, rriggs, iris, darcy
2022-10-06 09:31:26 +00:00
Alan Bateman
ad7b7d40ce 8294697: java/lang/Thread/virtual/ThreadAPI.testGetStackTrace2 failed with non-empty stack trace
Reviewed-by: dfuchs, jpai
2022-10-06 07:59:43 +00:00
Aleksey Shipilev
e38ae8a651 8294759: Print actual lock/monitor ranking
Reviewed-by: coleenp, dholmes
2022-10-06 07:57:54 +00:00
Matthias Baesken
7012d4ba55 8294837: unify Windows 2019 version check in os_windows and java_props_md
Reviewed-by: alanb, rriggs
2022-10-06 07:12:07 +00:00
Jayathirth D V
8c15f77aba 8270915: GIFImageReader disregards ignoreMetadata flag which causes memory exhaustion
Reviewed-by: prr
2022-10-06 05:43:43 +00:00
Jayathirth D V
6029120a5f 8278086: [REDO] ImageIO.write() method will throw IndexOutOfBoundsException
Co-authored-by: Masanori Yano <myano@openjdk.org>
Reviewed-by: tr, prr
2022-10-06 05:23:38 +00:00
Fei Yang
8f5611593a 8294679: RISC-V: Misc crash dump improvements
Reviewed-by: fjiang, shade
2022-10-06 01:21:18 +00:00
Alexandre Iline
e986a97a96 8292330: Update JCov version to 3.0.13
Reviewed-by: erikj
2022-10-06 00:21:00 +00:00
Stuart Marks
d4142d8441 8290036: Define and specify Runtime shutdown sequence
Reviewed-by: dholmes, alanb
2022-10-05 23:43:02 +00:00
Joe Darcy
0ec18382b7 8294869: Correct failure of RemovedJDKInternals.java after JDK-8294618
Reviewed-by: alanb, azvegint
2022-10-05 19:27:20 +00:00
Justin Lu
87acfee3c3 8294397: Replace StringBuffer with StringBuilder within java.text
Reviewed-by: lancea, naoto, bchristi
2022-10-05 18:42:00 +00:00
Xue-Lei Andrew Fan
f2c57186a4 8294734: Redundant override in AES implementation
Reviewed-by: valeriep, wetmore
2022-10-05 17:25:58 +00:00
Joe Darcy
536c9a512e 8294618: Update openjdk.java.net => openjdk.org
Reviewed-by: mikael, iris, joehw, prr, ihse
2022-10-05 16:48:09 +00:00
Matthias Baesken
f531dae4a0 8294840: langtools OptionalDependencyTest.java use File.pathSeparator
Reviewed-by: alanb
2022-10-05 14:41:29 +00:00
Richard Reingruber
ee6c39175b 8289925: Shared code shouldn't reference the platform specific method frame::interpreter_frame_last_sp()
Reviewed-by: eosterlund, dlong
2022-10-05 14:10:02 +00:00
Robbin Ehn
bd90c4cfa6 8282900: runtime/stringtable/StringTableCleaningTest.java verify unavailable at this moment
Reviewed-by: coleenp, dholmes
2022-10-05 12:45:18 +00:00
Robbin Ehn
979efd4174 8289004: investigate if SharedRuntime::get_java_tid parameter should be a JavaThread*
Reviewed-by: dholmes, jsjolen
2022-10-05 12:44:20 +00:00
Erik Joelsson
b9eeec2b6b 8294310: compare.sh fails on macos after JDK-8293550
Reviewed-by: ihse
2022-10-05 12:42:05 +00:00
Erik Gahlin
13a5000d48 8294151: JFR: Unclear exception message when dumping stopped in memory recording
Reviewed-by: mgronlun
2022-10-05 11:49:53 +00:00
Jorn Vernee
8ebebbce32 8294368: Java incremental builds broken on Windows after JDK-8293116
Reviewed-by: erikj, djelinski, jlahoda
2022-10-05 10:26:53 +00:00
Roberto Castañeda Lozano
4bdd1c9148 8290964: C2 compilation fails with assert "non-reduction loop contains reduction nodes"
Reviewed-by: thartmann, chagedorn
2022-10-05 09:43:31 +00:00
Richard Reingruber
b4e74aeabf 8294514: Wrong initialization of nmethod::_consts_offset for native nmethods
Reviewed-by: kvn, dlong
2022-10-05 09:33:45 +00:00
Matthias Baesken
953ce8da2c 8293701: jdeps InverseDepsAnalyzer runs into NoSuchElementException: No value present
Reviewed-by: mchung
2022-10-05 07:34:42 +00:00
Matthias Baesken
be82cff625 8294748: Cleanup unneeded references to hg
Reviewed-by: erikj, clanger
2022-10-05 07:25:49 +00:00
Daniel Jeliński
43dbf5899b 8186765: Speed up test sun/net/www/protocol/https/HttpsClient/ProxyAuthTest.java
Reviewed-by: dfuchs, jpai
2022-10-05 06:47:19 +00:00
Magnus Ihse Bursie
755958e5ee 8294376: Minimize disabled warnings in java.base
Reviewed-by: erikj
2022-10-05 05:56:44 +00:00
Joe Darcy
1dafbe3f94 8294539: Augment discussion of equivalence relations on floating-point values
Reviewed-by: psandoz, smarks
2022-10-05 00:18:55 +00:00
SWinxy
b2e86a6209 8294255: Add link to DEFAULT_WAIT_TIME in javadoc for SunToolKit.realsSync
Reviewed-by: aivanov, prr
2022-10-04 19:16:14 +00:00
lawrence.andrews
b22a38dedb 8292309: Fix java/awt/PrintJob/ConstrainedPrintingTest/ConstrainedPrintingTest.java test
Reviewed-by: jdv
2022-10-04 18:02:43 +00:00
KIRIYAMA Takuya
121d4a5119 8293579: tools/jpackage/share/jdk/jpackage/tests/UnicodeArgsTest.java fails on Japanese Windows platform
Reviewed-by: asemenyuk, naoto, almatvee
2022-10-04 17:29:15 +00:00
Alisen Chung
1166a8abd2 8292214: Memory leak in getAllConfigs of awt_GraphicsEnv.c:386
Reviewed-by: azvegint, dnguyen
2022-10-04 15:22:18 +00:00
Erik Gahlin
3644e26cef 8294673: JFR: Add SecurityProviderService#threshold to TestActiveSettingEvent.java
Reviewed-by: mgronlun
2022-10-04 14:24:55 +00:00
Albert Mingkun Yang
085949a117 8294712: G1: Use index-base iteration for G1FlushHumongousCandidateRemSets
Reviewed-by: kbarrett, iwalulya
2022-10-04 13:58:51 +00:00
Erik Gahlin
b850f052d8 8294758: JFR: Docs build fails after changes to RecordedObject and Timespan
Reviewed-by: mgronlun, alanb
2022-10-04 13:14:27 +00:00
Leonid Mesnik
2dbedf0e93 8294406: Test runtime/handshake/HandshakeDirectTest.java failed: JVMTI_ERROR_WRONG_PHASE
Reviewed-by: dholmes, sspitsyn
2022-10-04 12:57:55 +00:00
Erik Gahlin
4d6668e7ee 8294242: JFR: jfr print doesn't handle infinite duration well
Reviewed-by: mgronlun
2022-10-04 11:45:53 +00:00
Raffaello Giulietti
5a9cd33632 8294509: The sign extension bug applies to 'public static int[] convertSeedBytesToInts(byte[] seed, int n, int z)' in RandomSupport
Reviewed-by: shade
2022-10-04 10:25:11 +00:00
Martin Doerr
f03934e270 8294578: [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode
Reviewed-by: shade, lucy
2022-10-04 10:13:57 +00:00
Aleksey Shipilev
3b476a1758 8292847: Zero: Allow ergonomics to select the GC
Reviewed-by: tschatzl, stuefe
2022-10-04 09:11:17 +00:00
Roland Westrelin
16047e8308 8292780: misc tests failed "assert(false) failed: graph should be schedulable"
Reviewed-by: dlong, chagedorn, thartmann
2022-10-04 08:34:29 +00:00
Roland Westrelin
bf39b184ca 8288302: Shenandoah: SIGSEGV in vm maybe related to jit compiling xerces
Reviewed-by: shade, thartmann
2022-10-04 08:08:38 +00:00
Tobias Holenstein
f957ce9959 8294564: IGV: IllegalArgumentException for "Difference to current graph"
Reviewed-by: rcastanedalo, chagedorn
2022-10-04 07:29:29 +00:00
Ioi Lam
ae79af2ad6 8294740: Add cgroups keyword to TestDockerBasic.java
Reviewed-by: mseledtsov, dholmes
2022-10-04 03:21:10 +00:00
Serguei Spitsyn
07ed68efb2 8288907: serviceability/jvmti/vthread/SuspendResume1/SuspendResume1.java fails with -XX:TieredStopAtLevel=2,3
Reviewed-by: dholmes
2022-10-03 23:16:51 +00:00
Jonathan Gibbons
090cdfc7a2 8294726: Update URLs in minefield tests
Reviewed-by: darcy, iris
2022-10-03 20:20:53 +00:00
Emmanuel Bourg
ed40d88f29 8276849: Refresh the window icon on graphics configuration changes
Reviewed-by: prr, jdv
2022-10-03 18:42:01 +00:00
Raffaello Giulietti
081691adf4 8294593: Check the size of the target on invocations of BigInteger::isProbablePrime
Reviewed-by: darcy
2022-10-03 18:02:21 +00:00
Daniel Jeliński
a4f2078bd6 8294437: java/nio/channels/FileChannel tests slow on Windows
Reviewed-by: alanb, bpb
2022-10-03 17:42:56 +00:00
Igor Veresov
c6e3daa5fa 8242115: C2 SATB barriers are not safepoint-safe
Reviewed-by: kvn, vlivanov
2022-10-03 17:40:10 +00:00
Jonathan Gibbons
e137f9f2f0 8293877: Rewrite MineField test
Reviewed-by: vromero, martin, darcy, jlahoda
2022-10-03 17:08:37 +00:00
Doug Simon
4f44fd6308 8237467: jlink plugin to save the argument files as input to jlink in the output image
Reviewed-by: mchung
2022-10-03 16:24:43 +00:00
Andrey Turbanov
edfb18a724 8294695: Remove redundant deprecation suppression in ThreadGroup
Reviewed-by: alanb, jpai
2022-10-03 16:03:31 +00:00
stsypanov
46633e644a 8294698: Remove unused 'checkedExceptions' param from MethodAccessorGenerator.generateMethod()
Reviewed-by: redestad
2022-10-03 12:56:51 +00:00
Johan Sjölen
f2a32d996a 8293691: converting a defined BasicType value to a string should not crash the VM
Reviewed-by: shade, coleenp, dlong
2022-10-03 12:18:04 +00:00
Tobias Holenstein
ccc1d31696 8294529: IGV: Highlight the current graphs in the Outline
Reviewed-by: chagedorn
2022-10-03 11:36:05 +00:00
Albert Mingkun Yang
08a7ecf47e 8294671: Remove unused CardValues::last_card
Reviewed-by: tschatzl
2022-10-03 11:11:22 +00:00
Roberto Castañeda Lozano
5fe837a35e 8294236: [IR Framework] CPU preconditions are overriden by regular preconditions
Reviewed-by: chagedorn, pli, kvn
2022-10-03 07:40:53 +00:00
Jan Lahoda
8e9cfeb17c 8294431: jshell reports error on initialisation of static final field of anonymous class
Reviewed-by: sundar
2022-10-03 07:23:42 +00:00
Tobias Holenstein
6e8f0387d6 8294567: IGV: IllegalStateException in search
Reviewed-by: rcastanedalo, chagedorn, kvn
2022-10-03 07:14:16 +00:00
Erik Gahlin
bc668b994d 8293099: JFR: Typo in TestRemoteDump.java
Reviewed-by: mgronlun
2022-10-03 07:04:30 +00:00
Daniel Jeliński
03f25a9c69 8293562: blocked threads with KeepAliveCache.get
Reviewed-by: dfuchs, michaelm
2022-10-03 06:32:31 +00:00
Erik Gahlin
a69ee85308 8292336: JFR: Warn users if -XX:StartFlightRecording:disk=false is specified with maxage or maxsize
Reviewed-by: mgronlun
2022-10-03 06:13:39 +00:00
Doug Simon
b8b9b97a1a 8294676: [JVMCI] InstalledCode.deoptimize(false) should not touch address field
Reviewed-by: never
2022-10-01 11:20:46 +00:00
Jaikiran Pai
fd594302f7 8294610: java/net/vthread/HttpALot.java is slow on Linux
Reviewed-by: dfuchs, alanb
2022-10-01 09:17:53 +00:00
Vladimir Ivanov
c7ab1caafb 8294609: C2: Improve inlining of methods with unloaded signature classes
Reviewed-by: kvn, dlong
2022-09-30 23:30:45 +00:00
Andrey Turbanov
375f02fb21 8294608: Remove redundant unchecked suppression in FileDescriptor
Reviewed-by: alanb, bpb
2022-09-30 20:19:45 +00:00
Roger Riggs
d207da8a8c 8294533: Documentation mistake in Process::getErrorStream and getInputStream
Reviewed-by: iris
2022-09-30 19:10:55 +00:00
Dhamoder Nalla
da4e96d596 8276545: Fix handling of trap count overflow in Parse::Parse()
Reviewed-by: thartmann, kvn
2022-09-30 18:38:48 +00:00
Erik Gahlin
48674d4f36 8291428: JFR: 'jfr print' displays incorrect timestamps during DST
Reviewed-by: mgronlun
2022-09-30 17:34:52 +00:00
Justin Lu
3b1bc21727 8294307: ISO 4217 Amendment 173 Update
Reviewed-by: lancea, bpb, naoto
2022-09-30 17:10:49 +00:00
Alan Bateman
b8f9a915a2 8293940: Some tests for virtual threads take too long
Reviewed-by: dfuchs
2022-09-30 16:41:33 +00:00
Erik Gahlin
1d26c4b149 8291022: JFR: Reduce logging in ChunkHeader constructor
Reviewed-by: mgronlun
2022-09-30 16:30:45 +00:00
Claes Redestad
3efbd5f0fa 8294626: Improve URL protocol lower casing
Reviewed-by: dfuchs
2022-09-30 16:03:53 +00:00
Johan Sjölen
052a924985 8294293: Remove unused _width and _newlines field in outputStream
Reviewed-by: rehn, dholmes
2022-09-30 14:45:40 +00:00
Erik Gahlin
c2ce43cbb0 8291021: JFR: Only one finished state in ChunkHeader class
Reviewed-by: mgronlun
2022-09-30 13:10:56 +00:00
Yoshiki Sato
f01573368f 8294357: (tz) Update Timezone Data to 2022d
Reviewed-by: naoto, coffeys
2022-09-30 12:45:35 +00:00
Hannes Wallnöfer
64da8620e1 8287597: List all preview features on the javadoc PREVIEW page
Reviewed-by: jjg
2022-09-30 11:11:28 +00:00
Adam Sotona
b4e1e416da 8293000: Review running times of jshell regression tests
Reviewed-by: darcy
2022-09-30 08:57:50 +00:00
Severin Gehwolf
6d83482a6b 8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts
Reviewed-by: iklam
2022-09-30 08:44:10 +00:00
Albert Mingkun Yang
6974978869 8294521: Parallel: Remove unused field in UpdateDensePrefixAndCompactionTask
Reviewed-by: kbarrett, tschatzl
2022-09-30 07:43:21 +00:00
Albert Mingkun Yang
81fda1b756 8294569: Remove CardTable::_last_valid_index
Reviewed-by: tschatzl, kbarrett
2022-09-30 07:42:27 +00:00
Dingli Zhang
7c60e6d2d6 8293770: RISC-V: Reuse runtime call trampolines
Co-authored-by: zifeihan <caogui@iscas.ac.cn>
Reviewed-by: fyang, shade
2022-09-30 07:31:57 +00:00
Daniel Jeliński
9dce8652f2 8294115: JNI local refs exceeds capacity warning in NetworkInterface::getAll
Reviewed-by: dfuchs
2022-09-30 06:00:37 +00:00
Viktor Klang
b030c7de32 8225235: Unused field defaultIndex in NetworkInterface
Reviewed-by: chegar, vtewari, dfuchs, jpai
2022-09-30 03:06:36 +00:00
Brian Burkhalter
a07975bf3e 8294519: (fs) java/nio/file/Files/CopyProcFile.java fails intermittenly due to unstable /proc/cpuinfo output
Reviewed-by: alanb, shade, lancea
2022-09-29 21:06:49 +00:00
Matias Saavedra Silva
88062eea67 8293969: breakup the long signature in SystemDictionaryShared::is_supported_invokedynamic
Reviewed-by: eastigeevich, coleenp
2022-09-29 20:16:30 +00:00
Aleksei Voitylov
aeef3ecdc4 8294198: Implement isFinite intrinsic for RISC-V
Reviewed-by: fyang, kvn
2022-09-29 18:51:38 +00:00
Chris Plummer
5f6ad926d7 8294547: HotSpotAgent.setupVM() should include "cause" exception when throwing DebuggerException
Reviewed-by: sspitsyn, coleenp
2022-09-29 18:31:10 +00:00
Chris Plummer
545ded1a82 8294548: Problem list SA core file tests on macosx-x64 due to JDK-8294316
Reviewed-by: sspitsyn
2022-09-29 18:30:20 +00:00
Alexander Zvegintsev
29c70f1ab7 8294595: Add javax/swing/plaf/aqua/CustomComboBoxFocusTest.java to problem list
Reviewed-by: rriggs
2022-09-29 16:32:47 +00:00
Patricio Chilano Mateo
5d48da4574 8294370: Fix allocation bug in java_lang_Thread::async_get_stack_trace()
Reviewed-by: dholmes, sspitsyn
2022-09-29 15:35:41 +00:00
Raffaello Giulietti
ce85cac947 8065554: MatchResult should provide values of named-capturing groups
Reviewed-by: smarks
2022-09-29 09:16:21 +00:00
Xiaolin Zheng
1decdcee71 8294492: RISC-V: Use li instead of patchable movptr at non-patchable callsites
Reviewed-by: fyang
2022-09-29 07:21:07 +00:00
Brian Burkhalter
8491fd5c12 8294551: Put java/io/BufferedInputStream/TransferTo.java on problem list
Reviewed-by: jpai
2022-09-29 00:35:14 +00:00
Dean Long
6f8f28e756 8294160: misc crash dump improvements
Reviewed-by: dholmes, vlivanov
2022-09-28 23:15:04 +00:00
Matias Saavedra Silva
8873192433 8293515: heapShared.cpp: rename JavaThread parameter to current
Reviewed-by: coleenp, ccheung
2022-09-28 21:27:05 +00:00
Chris Plummer
76f1865124 8293563: [macos-aarch64] SA core file tests failing with sun.jvm.hotspot.oops.UnknownOopException
Reviewed-by: sspitsyn, kevinw
2022-09-28 20:35:33 +00:00
Lance Andersen
9db95edd01 8215788: Clarify JarInputStream Manifest access
Reviewed-by: weijun, mullan, alanb
2022-09-28 19:22:19 +00:00
Andrey Turbanov
9309786dbf 8294472: Remove redundant rawtypes suppression in AbstractChronology
Reviewed-by: lancea, naoto
2022-09-28 18:44:01 +00:00
Chris Plummer
3b7fc80b18 8294411: SA should provide more useful info when it fails to start up due to "failed to workaround classshareing"
Reviewed-by: kevinw, sspitsyn
2022-09-28 17:17:12 +00:00
Matias Saavedra Silva
4fb424ba5f 8293961: Unused ClassPathZipEntry::contents_do
Reviewed-by: ccheung, dholmes
2022-09-28 15:59:49 +00:00
Markus Karg
7515b304ca 8279283: BufferedInputStream should override transferTo
Reviewed-by: bpb
2022-09-28 15:58:25 +00:00
Albert Mingkun Yang
7401fe040d 8292912: Make guard card in CardTable inaccessible
Reviewed-by: tschatzl, sjohanss
2022-09-28 15:57:08 +00:00
Aleksey Shipilev
70d8428ebb 8294520: Problemlist java/nio/file/Files/CopyProcFile.java
Reviewed-by: alanb
2022-09-28 14:33:12 +00:00
Tobias Holenstein
30e3bf9da0 8291805: IGV: Improve Zooming
Reviewed-by: rcastanedalo, lujaniuk, chagedorn
2022-09-28 14:31:22 +00:00
Alan Bateman
37f83b9b8e 8294375: test/jdk/java/nio/channels/vthread/BlockingChannelOps.java is slow
Reviewed-by: jpai
2022-09-28 13:10:43 +00:00
Albert Mingkun Yang
60616f243f 8294059: Serial: Refactor GenCollectedHeap::collect
Reviewed-by: sjohanss, tschatzl
2022-09-28 10:36:00 +00:00
Hao Sun
ea6167104e 8294359: Interpreter(AArch64) intrinsify Thread.currentThread()
Reviewed-by: aph, shade
2022-09-28 10:03:37 +00:00
Prasanta Sadhukhan
c42ef70a45 7148092: [macosx] When Alt+down arrow key is pressed, the combobox popup does not appear.
Reviewed-by: prr, serb
2022-09-28 08:50:58 +00:00
Albert Mingkun Yang
94e14da0ef 8294057: Parallel: Tighten ParallelCompactData::initialize_region_data
Reviewed-by: tschatzl, sjohanss
2022-09-28 08:27:35 +00:00
Roland Westrelin
1ea0d6b424 8292301: [REDO v2] C2 crash when allocating array of size too large
Reviewed-by: xliu, thartmann, kvn
2022-09-28 07:16:59 +00:00
KIRIYAMA Takuya
c13e0ef3f8 8292848: AWT_Mixing and TrayIcon tests fail on el8 with hard-coded isOel7
Reviewed-by: prr, serb
2022-09-28 07:00:38 +00:00
Serguei Spitsyn
79ccc791f2 8293613: need to properly handle and hide tmp VTMS transitions
Reviewed-by: cjplummer, lmesnik
2022-09-28 04:44:43 +00:00
Weijun Wang
5e1e449c11 8290920: sspi_bridge.dll not built if BUILD_CRYPTO is false
Reviewed-by: valeriep, erikj, ihse, wetmore
2022-09-28 01:27:57 +00:00
Fei Yang
d827fd830a 8294430: RISC-V: Small refactoring for movptr_with_offset
Reviewed-by: fjiang, yadongwang, shade
2022-09-28 00:22:16 +00:00
AJ Ferguson
9d76ac8a44 8292158: AES-CTR cipher state corruption with AVX-512
Reviewed-by: kvn, svkamath, sviswanathan
2022-09-28 00:12:23 +00:00
David Holmes
e5b65c40ea 8290482: Update JNI Specification of DestroyJavaVM for better alignment with JLS, JVMS, and Java SE API Specifications
Reviewed-by: rehn, coleenp
2022-09-27 23:57:32 +00:00
Leonid Mesnik
f8d9fa8873 8294483: Remove vmTestbase/nsk/jvmti/GetThreadState tests.
Reviewed-by: kvn, dholmes
2022-09-27 22:47:01 +00:00
Chris Plummer
6ad151d096 8293143: Workaround for JDK-8292217 when doing "step over" of bytecode with unresolved cp reference
Reviewed-by: sspitsyn, amenkov
2022-09-27 21:20:41 +00:00
Jonathan Gibbons
22b59b66d9 8294471: SpecTaglet is inconsistent with SpecTree for inline property
Reviewed-by: prappo
2022-09-27 21:18:12 +00:00
David Holmes
763d4bf074 8293592: Remove JVM_StopThread, stillborn, and related cleanup
Reviewed-by: alanb, sspitsyn, rehn, coleenp
2022-09-27 21:03:50 +00:00
Gerard Ziemski
739fdec7ea 8289162: runtime/NMT/ThreadedMallocTestType.java should print out memory allocations to help debug
Reviewed-by: hseigel, coleenp
2022-09-27 16:27:32 +00:00
KIRIYAMA Takuya
a11477ce25 8289797: tools/launcher/I18NArgTest.java fails on Japanese Windows environment
Reviewed-by: naoto
2022-09-27 16:03:33 +00:00
Naoto Sato
71511283ce 8294317: Insufficient build rules for tzdb.dat
Reviewed-by: joehw, erikj
2022-09-27 16:01:47 +00:00
Joshua Cao
fb4979c05b 8290401: Support dump all phases and print nodes in ascending order of index
Reviewed-by: chagedorn, xliu
2022-09-27 15:52:22 +00:00
Matias Saavedra Silva
112ca2b863 8293964: Unused check_for_duplicates parameter in ClassLoaderExt::process_jar_manifest
Reviewed-by: ccheung, dholmes
2022-09-27 15:39:31 +00:00
Darragh Clarke
99017b06bf 8293064: Remove unused NET_xxx functions
Reviewed-by: chegar, djelinski, aefimov, vtewari
2022-09-27 15:01:03 +00:00
Andrey Turbanov
3419363e89 8294361: Cleanup usages of StringBuffer in SQLOutputImpl
Reviewed-by: rriggs, lancea
2022-09-27 13:16:59 +00:00
Alan Bateman
1abf971b93 8249627: Degrade Thread.suspend and Thread.resume
Reviewed-by: cjplummer, sspitsyn, dholmes, jpai
2022-09-27 11:43:59 +00:00
Doug Lea
bc12e9553d 8292969: Bad Thread Utilization in ForkJoinPool
Reviewed-by: shade, alanb
2022-09-27 10:50:18 +00:00
Emanuel Peter
dd51f7e0b7 8293996: C2: fix and simplify IdealLoopTree::do_remove_empty_loop
Reviewed-by: roland, thartmann, chagedorn
2022-09-27 08:52:19 +00:00
Martin Doerr
14c6ac457d 8293998: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
Reviewed-by: shade, lucy
2022-09-27 07:54:13 +00:00
Hao Sun
02ea338177 8293887: AArch64 build failure with GCC 12 due to maybe-uninitialized warning in libfdlibm k_rem_pio2.c
Reviewed-by: erikj, shade, ihse
2022-09-27 03:09:18 +00:00
Leonid Mesnik
49a7347ba5 8294408: Problemlist runtime/handshake/HandshakeSuspendExitTest.java
Reviewed-by: dholmes
2022-09-27 01:45:36 +00:00
Fei Gao
aa48705ddd 8289422: Fix and re-enable vector conditional move
Reviewed-by: thartmann, kvn
2022-09-27 01:24:17 +00:00
David Holmes
1ddc92fef5 8294404: [BACKOUT] JDK-8294142: make test should report only executed tests
Reviewed-by: jjg
2022-09-27 00:58:44 +00:00
Alexander Matveev
1e222bccd3 8293462: [macos] app image signature invalid when creating DMG or PKG from post processed signed image
Reviewed-by: asemenyuk
2022-09-26 22:48:25 +00:00
Justin Lu
43eff2b309 8272687: Replace StringBuffer with StringBuilder in RuleBasedCollator
Reviewed-by: lancea, naoto, bchristi, bpb
2022-09-26 22:31:51 +00:00
Jonathan Gibbons
b88ee1ee22 6251738: Want a top-level summary page that itemizes all spec documents referenced from javadocs (OEM spec)
Reviewed-by: hannesw
2022-09-26 21:28:39 +00:00
Alexandre Iline
aca4276e89 8294379: Missing comma after copyright year
Reviewed-by: kcr, azvegint, prr
2022-09-26 19:27:46 +00:00
Alexandre Iline
1f521a1204 8225012: sanity/client/SwingSet/src/ToolTipDemoTest.java fails on Windows
Reviewed-by: serb
2022-09-26 18:03:00 +00:00
Roger Riggs
5ae6bc23e8 8234262: Unmask SIGQUIT in a child process
Reviewed-by: bpb, dholmes, vtewari, stuefe, alanb
2022-09-26 15:55:22 +00:00
Raffaello Giulietti
968af74de4 8293567: AbstractSplittableWithBrineGenerator: salt has digits that duplicate the marker
Reviewed-by: jlaskey
2022-09-26 15:47:18 +00:00
Aleksey Shipilev
36b61c5d7e 8293872: Make runtime/Thread/ThreadCountLimit.java more robust
Reviewed-by: dholmes, adinn
2022-09-26 12:44:04 +00:00
Prasanta Sadhukhan
2be315877b 4797982: Setting negative size of JSplitPane divider leads to unexpected results.
Reviewed-by: azvegint, prr
2022-09-26 11:00:38 +00:00
Johan Sjölen
050eebf2e8 8294245: Make Compile::print_inlining_stream stack allocated
Reviewed-by: kvn, rehn
2022-09-26 10:50:43 +00:00
Aleksey Shipilev
91a23d775f 8294142: make test should report only on executed tests
Reviewed-by: ihse, djelinski, erikj
2022-09-26 08:30:45 +00:00
Jaikiran Pai
169a5d48af 8294193: Files.createDirectories throws FileAlreadyExistsException for a symbolic link whose target is an existing directory
Reviewed-by: alanb
2022-09-26 05:16:31 +00:00
Ashutosh Mehra
3675f4c2af 8293252: Shenandoah: ThreadMXBean synchronizer tests crash with aggressive heuristics
Reviewed-by: wkemper, rkennke, heidinga, phh
2022-09-23 18:52:49 +00:00
Leonid Mesnik
543851db92 8289607: Change hotspot/jtreg tests to not use Thread.suspend/resume
Reviewed-by: sspitsyn, cjplummer
2022-09-23 17:44:57 +00:00
Quan Anh Mai
e2f8251490 8293618: x86: Wrong code generation in class Assembler
Reviewed-by: kvn, thartmann
2022-09-23 17:12:48 +00:00
Aleksey Shipilev
6ecd08172b 8294270: make test passes awkward -status:-status:error,fail to jtreg
Reviewed-by: djelinski, erikj, ihse
2022-09-23 16:27:07 +00:00
Harshitha Onkar
eca9749da0 8288325: [windows] Actual and Preferred Size of AWT Non-resizable frame are different
Reviewed-by: kizune, aivanov, tr
2022-09-23 16:24:52 +00:00
Jie Fu
2e20e7ec0f 8294271: Remove use of ThreadDeath from make utilities
Reviewed-by: ihse, shade, alanb
2022-09-23 13:54:23 +00:00
Magnus Ihse Bursie
e45f3d5176 8294281: Allow warnings to be disabled on a per-file basis
Reviewed-by: erikj
2022-09-23 13:39:56 +00:00
Xiaolin Zheng
664e5b1d2e 8294187: RISC-V: Unify all relocations for the backend into AbstractAssembler::relocate()
Reviewed-by: fjiang, yadongwang, fyang
2022-09-23 13:15:44 +00:00
Fredrik Bredberg
acd75e0f1c 8294053: Unneeded local variable in handle_safefetch()
Reviewed-by: rehn, stuefe, shade
2022-09-23 12:34:06 +00:00
Aleksey Shipilev
0b56b82243 8293991: java/lang/Float/Binary16ConversionNaN.java fails on silent NaN conversions
Reviewed-by: darcy
2022-09-23 09:03:18 +00:00
Alan Bateman
acd5bcfc88 8289610: Degrade Thread.stop
Reviewed-by: rriggs, cjplummer, jpai, mchung, prr, mullan
2022-09-23 07:55:29 +00:00
Aleksey Shipilev
05c8cabdad 8293532: Use lighter jmod compression levels in build config
Reviewed-by: ihse
2022-09-23 07:38:13 +00:00
Roberto Castañeda Lozano
eec992c6b0 8292602: ZGC: C2 late barrier analysis uses invalid dominator information
Co-authored-by: Nils Eliasson <neliasso@openjdk.org>
Reviewed-by: kvn, thartmann
2022-09-23 07:25:07 +00:00
Jaikiran Pai
f6d78cda85 8293657: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 failed with "SSLHandshakeException: Remote host terminated the handshake"
Reviewed-by: kevinw, dfuchs
2022-09-23 04:54:39 +00:00
Fei Gao
a4dc035a97 8290910: Wrong memory state is picked in SuperWord::co_locate_pack()
Reviewed-by: chagedorn, kvn
2022-09-23 01:26:21 +00:00
Fei Yang
f3ba332fdc 8294183: AArch64: Wrong macro check in SharedRuntime::generate_deopt_blob
Reviewed-by: dlong, shade
2022-09-23 01:09:51 +00:00
lawrence.andrews
df53fa752a 8292328: AccessibleActionsTest.java test instruction for show popup on JLabel did not specify shift key
Reviewed-by: serb, aivanov
2022-09-22 20:15:28 +00:00
Xin Liu
5285035ed9 8294075: gtest/AsyncLogGtest crashes with SEGV
Reviewed-by: dholmes, shade
2022-09-22 16:37:42 +00:00
Xin Liu
696287d6e8 8294037: Using alias template to unify hashtables in AsyncLogWriter
Reviewed-by: coleenp, simonis
2022-09-22 16:36:01 +00:00
Brian Burkhalter
48cc15602b 8293331: Refactor FileDispatcherImpl into operating system-specific components
Reviewed-by: alanb
2022-09-22 15:59:05 +00:00
Aleksey Shipilev
f751e6087d 8294197: Zero: JVM_handle_linux_signal should not assume deopt NOPs
Reviewed-by: coleenp
2022-09-22 14:51:12 +00:00
Aleksey Shipilev
4a6060ba2c 8294190: Incorrect check messages in SharedRuntime::generate_uncommon_trap_blob
Reviewed-by: thartmann, dlong
2022-09-22 14:49:55 +00:00
Jan Lahoda
0be2b2c2f1 8292756: java.lang.AssertionError at at jdk.compiler/com.sun.tools.javac.code.Scope$ScopeImpl.leave(Scope.java:386)
Reviewed-by: vromero
2022-09-22 14:33:07 +00:00
Sean Coffey
bc2af47e1e 8254711: Add java.security.Provider.getService JFR Event
Reviewed-by: mullan, valeriep, jpai
2022-09-22 13:53:15 +00:00
Stefan Karlsson
d781ab09f7 8294003: Don't handle si_addr == 0 && si_code == SI_KERNEL SIGSEGVs
Reviewed-by: dholmes, shade, dlong
2022-09-22 12:35:15 +00:00
Xiaolin Zheng
a216960d71 8294087: RISC-V: RVC: Fix a potential alignment issue and add more alignment assertions for the patchable calls/nops
Reviewed-by: shade, fjiang, fyang
2022-09-22 11:43:47 +00:00
Nick Gasson
3fa6778ab2 8292296: Use multiple threads to process ParallelGC deferred updates
Reviewed-by: tschatzl, ayang
2022-09-22 10:16:28 +00:00
Jaikiran Pai
800e68d690 8292044: HttpClient doesn't handle 102 or 103 properly
Reviewed-by: dfuchs, chegar, michaelm
2022-09-22 09:18:22 +00:00
Emanuel Peter
83abfa5d82 8255670: Improve C2's detection of modified nodes
Reviewed-by: kvn, thartmann, roland
2022-09-22 07:44:50 +00:00
Abhishek Kumar
5652030f16 8292376: A few Swing methods use inheritDoc on exceptions which are not inherited
Reviewed-by: prr, tr
2022-09-22 07:38:14 +00:00
Matthias Baesken
03f287d4ad 8293995: Problem list sun/tools/jstatd/TestJstatdRmiPort.java on all platforms because of 8293577
Reviewed-by: clanger
2022-09-22 07:20:51 +00:00
Xiaolin Zheng
d5bee4a0df 8294086: RISC-V: Cleanup InstructionMark usages in the backend
Reviewed-by: fjiang, fyang
2022-09-22 03:48:06 +00:00
Calvin Cheung
47f233acec 8292202: modules_do is called without Module_lock
Reviewed-by: iklam, coleenp
2022-09-22 03:37:23 +00:00
Feilong Jiang
742bc041ea 8294100: RISC-V: Move rt_call and xxx_move from SharedRuntime to MacroAssembler
Reviewed-by: shade, fyang
2022-09-22 00:58:31 +00:00
Claes Redestad
2283c3244f 8294149: JMH 1.34 and later requires jopt-simple 5.0.4
Reviewed-by: erikj
2022-09-21 22:17:50 +00:00
Adam Sotona
9f90eb0524 8294062: Improve parsing performance of j.l.c.MethodTypeDesc
Reviewed-by: psandoz
2022-09-21 18:02:37 +00:00
Thomas Stuefe
c6be2cd347 8293156: Dcmd VM.classloaders fails to print the full hierarchy
Reviewed-by: dholmes, cjplummer
2022-09-21 17:07:41 +00:00
Alexey Ivanov
711e2520ad 8294039: Remove "Classpath" exception from java/awt tests
Reviewed-by: dmarkov, iris
2022-09-21 17:01:39 +00:00
Alexey Ivanov
27b8e2f49e 8294038: Remove "Classpath" exception from javax/swing tests
Reviewed-by: dmarkov, iris
2022-09-21 17:00:40 +00:00
Brian Burkhalter
e1958971c9 8294068: Unconditional and eager load of nio library since JDK-8264744
Reviewed-by: alanb, redestad
2022-09-21 14:51:21 +00:00
Ashutosh Mehra
84d7ff64d8 8288129: Shenandoah: Skynet test crashed with iu + aggressive
Reviewed-by: eosterlund, rkennke
2022-09-21 14:28:02 +00:00
Jie Fu
07afa3f41e 8294110: compiler/uncommontrap/Decompile.java fails after JDK-8293798
Reviewed-by: shade, thartmann
2022-09-21 13:10:10 +00:00
Fei Yang
0746bcb68f 8294083: RISC-V: Minimal build failed with --disable-precompiled-headers
Reviewed-by: fjiang, yadongwang, shade
2022-09-21 12:57:09 +00:00
Jan Lahoda
95ec2eaca3 8293897: Synthetic final modifier is part of the AST for a try-with-resource resource
Reviewed-by: sundar
2022-09-21 12:29:40 +00:00
Thomas Stuefe
d14e96d970 8293493: Signal Handlers printout should show signal block state
Reviewed-by: dholmes, jsjolen
2022-09-21 12:06:57 +00:00
Matthias Baesken
da4fdfbbf4 8293659: Improve UnsatisfiedLinkError error message to include dlopen error details
Reviewed-by: mchung, lucy
2022-09-21 11:32:24 +00:00
Jan Lahoda
cd1cdcdb0d 8293116: Incremental JDK build could be sped up
Reviewed-by: erikj, vromero, ihse
2022-09-21 10:27:58 +00:00
Tobias Holenstein
e9401e67b3 8293364: IGV: Refactor Action in EditorTopComponent and fix minor bugs
Reviewed-by: rcastanedalo, chagedorn
2022-09-21 09:37:26 +00:00
John Neffenger
844a95b907 8292892: Javadoc index descriptions are not deterministic
Reviewed-by: jjg
2022-09-21 08:45:38 +00:00
Magnus Ihse Bursie
8d1dd6a6cf 8294076: Improve ant detection in idea.sh
Reviewed-by: erikj
2022-09-21 08:22:47 +00:00
Tobias Holenstein
4e7cb156c8 8293480: IGV: Update Bytecode and ControlFlow Component immediately when opening a new graph
Reviewed-by: rcastanedalo, chagedorn
2022-09-21 08:08:13 +00:00
Thomas Schatzl
8ecdaa6811 8294000: Filler array klass should be in jdk/vm/internal, not in java/vm/internal
Reviewed-by: shade, dholmes
2022-09-21 07:58:07 +00:00
Emanuel Peter
379f3094db 8287217: C2: PhaseCCP: remove not visited nodes, prevent type inconsistency
Reviewed-by: roland, chagedorn, thartmann
2022-09-21 07:22:28 +00:00
Emanuel Peter
12e3510f63 8293798: Fix test bugs due to incompatibility with -XX:+AlwaysIncrementalInline
Reviewed-by: kvn, thartmann, chagedorn
2022-09-21 07:21:27 +00:00
casparcwang
cb72f80925 8293978: Duplicate simple loop back-edge will crash the vm
Reviewed-by: roland, chagedorn
2022-09-21 06:24:19 +00:00
Aleksey Shipilev
cddd6def9f 8279941: sun/security/pkcs11/Signature/TestDSAKeyLength.java fails when NSS version detection fails
Reviewed-by: valeriep
2022-09-20 20:11:45 +00:00
Alex Menkov
21008cad46 8285383: vmTestbase/nsk/jvmti/scenarios/hotswap/HS204/hs204t001/hs204t001.java failed with "exit code: 96"
Reviewed-by: dcubed, lmesnik, sspitsyn
2022-09-20 18:18:39 +00:00
Damon Nguyen
3b438a68ea 8294067: [macOS] javax/swing/JComboBox/6559152/bug6559152.java Cannot select an item from popup with the ENTER key.
Reviewed-by: azvegint, psadhukhan
2022-09-20 18:15:13 +00:00
Ruprabhu25
caae53f4da 8289508: Improve test coverage for XPath Axes: ancestor, ancestor-or-self, preceding, and preceding-sibling
Reviewed-by: joehw
2022-09-20 17:35:26 +00:00
Julian Waters
cb5771dc2a 8294006: Avoid hardcoding object file suffixes in make
Reviewed-by: erikj, ihse
2022-09-20 17:23:49 +00:00
Paul Hohensee
5002eaa5cc 8293828: JFR: jfr/event/oldobject/TestClassLoaderLeak.java still fails when GC cycles are not happening
Reviewed-by: tschatzl
2022-09-20 17:12:51 +00:00
Naoto Sato
e3358e77f5 8294008: Grapheme implementation of setText() throws IndexOutOfBoundsException
Reviewed-by: joehw, smarks
2022-09-20 16:46:18 +00:00
Prasanta Sadhukhan
df8ec09f8d 8294046: Newly added test test/jdk/javax/swing/JTabbedPane/TestNPEStateChgListener.java fails in macos
Reviewed-by: azvegint, prr
2022-09-20 15:21:34 +00:00
Vladimir Kempik
09af637a9b 8294012: RISC-V: get/put_native_u8 missing the case when address&7 is 6
Reviewed-by: shade, fyang
2022-09-20 14:58:28 +00:00
Claes Redestad
584de68d78 8294058: Early use of lambda introduced in JDK-8285263 cause startup regressions in 20-b02
Reviewed-by: mullan
2022-09-20 14:50:33 +00:00
Julian Waters
bb422f5c14 8293595: tstrings::any() is missing an overload
Reviewed-by: asemenyuk, almatvee
2022-09-20 13:04:35 +00:00
Julian Waters
0f28cb06ab 8294014: Remove redundant UseCompiler conditions
Reviewed-by: kvn, thartmann
2022-09-20 12:22:18 +00:00
Yanhong Zhu
84ee1a291c 8293781: RISC-V: Clarify types of calls
Reviewed-by: fjiang, fyang, yadongwang
2022-09-20 12:12:35 +00:00
Robbin Ehn
1b496064bf 8293922: Extend barrier-less Java thread transitions to native transitions
Reviewed-by: mdoerr, pchilanomate, dcubed
2022-09-20 08:41:39 +00:00
Quan Anh Mai
a07902bcbe 8293976: Use unsigned integers in Assembler/CodeBuffer::emit_int*
Reviewed-by: kvn, jbhateja
2022-09-20 08:39:01 +00:00
Doug Simon
fe541f05cc 8293989: [JVMCI] re-use cleared oop handles
Reviewed-by: never
2022-09-20 07:55:22 +00:00
Adam Sotona
0fa7d9e8cd 8278863: Add method ClassDesc::ofInternalName
Reviewed-by: jvernee
2022-09-20 07:50:03 +00:00
Albert Mingkun Yang
4020ed53dd 8293210: G1: Remove redundant check in G1FreeHumongousRegionClosure
Reviewed-by: tschatzl, kbarrett
2022-09-19 18:05:28 +00:00
Doug Simon
8ff2c2639e 8293942: [JVMCI] data section entries must be 4-byte aligned on AArch64
Reviewed-by: never
2022-09-19 16:30:48 +00:00
Brian Burkhalter
6e23b43220 8293502: (fc) FileChannel::transfer methods fail to copy /proc files on Linux
Reviewed-by: alanb
2022-09-19 15:57:06 +00:00
Sean Coffey
1f9ff41312 8292297: Fix up loading of override java.security properties file
Reviewed-by: xuelei
2022-09-19 15:21:46 +00:00
Alexey Ivanov
64b96e5cf5 8293811: Provide a reason for PassFailJFrame.forceFail
Reviewed-by: honkar, jdv
2022-09-19 14:22:36 +00:00
Erik Joelsson
f91762f56e 8293965: Code signing warnings after JDK-8293550
Reviewed-by: mikael, ihse
2022-09-19 12:36:14 +00:00
Damon Nguyen
8082c24a0d 8054572: [macosx] JComboBox paints the border incorrectly
Reviewed-by: honkar, psadhukhan
2022-09-19 11:33:25 +00:00
Abhishek Kumar
b920d2999f 8271328: User is able to choose the color after disabling the color chooser.
Reviewed-by: psadhukhan, tr
2022-09-19 11:30:47 +00:00
Andrey Turbanov
5725a93c07 8293879: Remove unnecessary castings in jdk.hotspot.agent
Reviewed-by: lmesnik, cjplummer
2022-09-19 10:58:46 +00:00
Prasanta Sadhukhan
ab7f58a377 6286501: JTabbedPane throws NPE from its stateChanged listener in particular case
Reviewed-by: jdv
2022-09-19 10:25:21 +00:00
Christian Hagedorn
d41f69f9c0 8293849: PrintIdealPhase in compiler directives file is ignored when used with other compile commands
Reviewed-by: rcastanedalo, kvn
2022-09-19 10:16:21 +00:00
Christian Hagedorn
471e2f12b4 8292088: C2: assert(is_OuterStripMinedLoop()) failed: invalid node class: IfTrue
Reviewed-by: roland, kvn
2022-09-19 10:15:18 +00:00
Albert Mingkun Yang
a93cf92635 8293920: G1: Add index based heap region iteration
Reviewed-by: tschatzl, kbarrett
2022-09-19 09:52:10 +00:00
Matthias Baesken
36c9034ff1 8293808: mscapi destroyKeyContainer enhance KeyStoreException: Access is denied exception
Reviewed-by: weijun
2022-09-19 07:39:02 +00:00
Aleksey Shipilev
cbd0688b32 8293851: hs_err should print more stack in hex dump
Reviewed-by: adinn, stefank
2022-09-19 07:38:06 +00:00
Thomas Schatzl
04d7b7d574 8293503: gc/metaspace/TestMetaspacePerfCounters.java#Epsilon-64 failed assertGreaterThanOrEqual: expected MMM >= NNN
Reviewed-by: lkorinth, kbarrett
2022-09-19 07:34:14 +00:00
Thomas Schatzl
d77c464c38 8293891: gc/g1/mixedgc/TestOldGenCollectionUsage.java (still) assumes that GCs take 1ms minimum
Reviewed-by: ayang, kbarrett
2022-09-19 07:33:14 +00:00
Thomas Schatzl
d7c1a7635d 8293861: G1: Disable preventive GCs by default
Reviewed-by: ayang, kbarrett, mbeckwit
2022-09-19 07:29:01 +00:00
Aleksey Shipilev
43f7f47ae0 8293499: Provide jmod --compress option
Reviewed-by: alanb, mchung, jpai, redestad
2022-09-19 06:19:53 +00:00
Aleksey Shipilev
26e08cf3d0 8293844: C2: Verify Location::{oop,normal} types in PhaseOutput::FillLocArray
Reviewed-by: kvn, dlong
2022-09-19 06:18:55 +00:00
Aleksey Shipilev
357a2cc22a 8293937: x86: Drop LP64 conditions from clearly x86_32 code
Reviewed-by: kvn, stuefe
2022-09-19 06:17:24 +00:00
Thomas Stuefe
b1ed40a87a 8293466: libjsig should ignore non-modifying sigaction calls
Reviewed-by: manc, dholmes
2022-09-19 05:38:09 +00:00
Thomas Stuefe
b6ff8fa307 8292073: NMT: remove unused constructor parameter from MallocHeader
Reviewed-by: zgu
2022-09-18 12:44:53 +00:00
Kevin Walls
cfd44bb2cd 8293218: serviceability/tmtools/jstat/GcNewTest.java fails with "Error in the percent calculation"
8293564: serviceability/tmtools/jstat/GcTest01.java fails with "Error in the percent calculation"

Reviewed-by: sspitsyn, lmesnik, dcubed
2022-09-17 09:55:51 +00:00
Quan Anh Mai
01e7b88199 8290917: x86: Memory-operand arithmetic instructions have too low costs
Reviewed-by: kvn, sviswanathan, jbhateja
2022-09-16 20:07:59 +00:00
Johan Sjölen
4b8399b5f0 8293251: Use stringStream::base() instead of as_string() when applicable
Reviewed-by: rehn
2022-09-16 19:54:35 +00:00
Lance Andersen
a8f0f575ab 8278165: Clarify that ZipInputStream does not access the CEN fields for a ZipEntry
Reviewed-by: bpb, alanb
2022-09-16 18:52:25 +00:00
Vladimir Ivanov
746f5f589d 8293816: CI: ciBytecodeStream::get_klass() is not consistent
Reviewed-by: dlong, kvn
2022-09-16 17:57:03 +00:00
Joe Darcy
4b297c1c16 8293892: Add links to JVMS 19 and 20 from ClassFileFormatVersion enum constants
Reviewed-by: sundar, mchung
2022-09-16 16:53:20 +00:00
Leslie Zhai
dfb9c06633 8293535: jdk/javadoc/doclet/testJavaFX/TestJavaFxMode.java fail with jfx
Reviewed-by: jjg
2022-09-16 14:53:30 +00:00
Erik Joelsson
f42caefe2e 8293550: Optionally add get-task-allow entitlement to macos binaries
Reviewed-by: mikael, cjplummer, ihse
2022-09-16 12:33:32 +00:00
Feilong Jiang
5feca688df 8293840: RISC-V: Remove cbuf parameter from far_call/far_jump/trampoline_call
Reviewed-by: fyang
2022-09-16 11:40:31 +00:00
Jan Lahoda
39cd1635bf 8293578: Duplicate ldc generated by javac
Reviewed-by: mcimadamore
2022-09-16 11:37:45 +00:00
Aleksei Efimov
7765942aee 8290367: Update default value and extend the scope of com.sun.jndi.ldap.object.trustSerialData system property
Reviewed-by: dfuchs, jpai
2022-09-16 10:04:51 +00:00
Daniel Fuchs
11e7d53b23 8293819: sun/util/logging/PlatformLoggerTest.java failed with "RuntimeException: Retrieved backing PlatformLogger level null is not the expected CONFIG"
Reviewed-by: jpai
2022-09-16 09:12:28 +00:00
Prasanta Sadhukhan
141d5f5dee 8293767: AWT test TestSinhalaChar.java has old SCCS markings
Reviewed-by: iris
2022-09-16 07:58:00 +00:00
Xiaohong Gong
3beca2db07 8291600: [vectorapi] vector cast op check is not always needed for vector mask cast
Co-authored-by: Quan Anh Mai <qamai@openjdk.org>
Reviewed-by: jiefu, eliu, jbhateja
2022-09-16 01:26:11 +00:00
Man Cao
9a40b76ac5 8293842: IPv6-only systems throws UnsupportedOperationException for several socket/TCP options
Co-authored-by: Martin Buchholz <martin@openjdk.org>
Reviewed-by: djelinski, dfuchs
2022-09-15 22:06:18 +00:00
Kevin Walls
bb9aa4eae6 8293813: ProblemList com/sun/jdi/JdbLastErrorTest.java on windows-x64 in Xcomp mode
Reviewed-by: dcubed
2022-09-15 21:04:52 +00:00
Mark Powers
4cec141a90 8291509: Minor cleanup could be done in sun.security
Reviewed-by: weijun
2022-09-15 19:59:53 +00:00
Daniel D. Daugherty
6beeb8471c 8293875: ProblemList sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 on linux-x64
Reviewed-by: bpb
2022-09-15 19:38:52 +00:00
Xin Liu
bf79f99c0c 8292989: Avoid dynamic memory in AsyncLogWriter
Reviewed-by: jsjolen, stuefe
2022-09-15 18:32:21 +00:00
Leonid Mesnik
2028ec7412 8289608: Change com/sun/jdi tests to not use Thread.suspend/resume
Reviewed-by: cjplummer, sspitsyn, alanb, dcubed
2022-09-15 17:25:48 +00:00
Xue-Lei Andrew Fan
ecb456ae29 8293779: redundant checking in AESCrypt.makeSessionKey() method
Reviewed-by: djelinski, hchao, mullan
2022-09-15 15:06:27 +00:00
Coleen Phillimore
6fca9ae047 8288474: Move EventContinuationFreezeOld from try_freeze_fast to freeze_slow
Reviewed-by: rpressler, pchilanomate
2022-09-15 12:11:08 +00:00
Jan Lahoda
fbd8b42d70 8293591: Remove use of Thread.stop from jshell tests
Reviewed-by: alanb
2022-09-15 11:27:15 +00:00
Adam Sotona
aff5ff14b2 8244681: Add a warning for possibly lossy conversion in compound assignments
8293797: Release Note: Javac warns about type casts in compound assignments with possible lossy conversions

Reviewed-by: erikj, prr
2022-09-15 10:10:23 +00:00
Thomas Schatzl
15cb1fb788 8256265: G1: Improve parallelism in regions that failed evacuation
Co-authored-by: Hamlin Li <mli@openjdk.org>
Co-authored-by: Albert Mingkun Yang <ayang@openjdk.org>
Reviewed-by: sjohanss, ayang
2022-09-15 09:57:16 +00:00
Aleksei Voitylov
b31a03c60a 8293695: Implement isInfinite intrinsic for RISC-V
Reviewed-by: yadongwang, fyang, dsamersoff
2022-09-15 09:45:03 +00:00
casparcwang
8f3bbe950f 8293472: Incorrect container resource limit detection if manual cgroup fs mounts present
Reviewed-by: sgehwolf, iklam
2022-09-15 08:47:05 +00:00
Stanimir Stamenkov
1caba0f13c 8292948: JEditorPane ignores font-size styles in external linked css-file
Reviewed-by: psadhukhan
2022-09-15 08:16:28 +00:00
Hao Sun
eeb625e709 8290169: adlc: Improve child constraints for vector unary operations
Reviewed-by: eliu, xgong, sviswanathan
2022-09-15 01:38:10 +00:00
Zdenek Zambersky
2057070eb0 8293815: P11PSSSignature.engineUpdate should not print debug messages during normal operation
Reviewed-by: valeriep
2022-09-15 01:06:08 +00:00
Fei Yang
7376c55219 8293769: RISC-V: Add a second temporary register for BarrierSetAssembler::load_at
Reviewed-by: fjiang, shade
2022-09-14 23:50:35 +00:00
Joe Darcy
d191e47516 8293768: Add links to JLS 19 and 20 from SourceVersion enum constants
Reviewed-by: iris, jjg
2022-09-14 21:04:20 +00:00
Brian Burkhalter
a75ddb836b 8293122: (fs) Use file cloning in macOS version of Files::copy method
Reviewed-by: alanb
2022-09-14 20:13:19 +00:00
Thomas Stuefe
95c7c556a3 8293402: hs-err file printer should reattempt stack trace printing if it fails
Reviewed-by: chagedorn, dsamersoff
2022-09-14 16:49:06 +00:00
Pengfei Li
211fab8d36 8291669: [REDO] Fix array range check hoisting for some scaled loop iv
Reviewed-by: roland, thartmann
2022-09-14 14:20:39 +00:00
Matthias Baesken
7f3250d71c 8293787: Linux aarch64 build fails after 8292591
Reviewed-by: aph, shade
2022-09-14 10:29:12 +00:00
Jan Lahoda
2a3879180e 8292755: Non-default method in interface leads to a stack overflow in JShell
Reviewed-by: vromero
2022-09-14 08:51:03 +00:00
Jie Fu
8351b30e00 8293771: runtime/handshake/SystemMembarHandshakeTransitionTest.java fails if MEMBARRIER_CMD_QUERY is unsupported
Reviewed-by: rehn
2022-09-14 07:54:32 +00:00
Jie Fu
91f9c0d0cf 8293774: Improve TraceOptoParse to dump the bytecode name
Reviewed-by: chagedorn
2022-09-14 07:18:00 +00:00
Aggelos Biboudis
1169a15936 8291657: Javac assertion when compiling a method call with switch expression as argument
Reviewed-by: jlahoda
2022-09-14 06:48:01 +00:00
Aleksey Shipilev
2baf2516e1 8293654: Improve SharedRuntime handling of continuation helper out-arguments
Reviewed-by: dlong, kvn
2022-09-14 05:45:37 +00:00
Aleksey Shipilev
60f59a4a88 8293660: Fix frame::sender_for_compiled_frame frame size assert
Reviewed-by: dlong, kvn
2022-09-14 05:44:47 +00:00
Aleksey Shipilev
b3461c188a 8293680: PPC64BE build failure after JDK-8293344
Reviewed-by: mdoerr, stuefe
2022-09-14 05:37:34 +00:00
Andrey Turbanov
7e02039805 8293647: Avoid unnecessary boxing in jdk.hotspot.agent
Reviewed-by: cjplummer, sspitsyn
2022-09-13 17:53:33 +00:00
Evgeny Astigeevich
90390222bd 8287394: AArch64: Remove cbuf parameter from far_call/far_jump/trampoline_call
Reviewed-by: aph
2022-09-13 17:19:16 +00:00
Joe Darcy
1dc5039fed 8293626: AccessFlag::locations(ClassFileFormatVersion cffv) does not throw NPEx when parameter is null
8293627: AccessFlag::locations(ClassFileFormatVersion cffv) and locations() results are inconsistent

Reviewed-by: mchung
2022-09-13 16:51:01 +00:00
Emanuel Peter
6f2223faa1 8288180: C2: VectorPhase must ensure that SafePointNode memory input is a MergeMemNode
Reviewed-by: roland, thartmann
2022-09-13 13:14:05 +00:00
Axel Boldt-Christmas
725f41ffd4 8293351: Add second tmp register to aarch64 BarrierSetAssembler::load_at
Reviewed-by: aph, tschatzl, fyang
2022-09-13 11:21:47 +00:00
Thomas Schatzl
37234c856d 8291912: Introduce per-allocation target struct for members in G1PLABAllocator
Reviewed-by: iwalulya, sjohanss
2022-09-13 08:47:51 +00:00
Robbin Ehn
1e1db5debd 8292591: Experimentally add back barrier-less Java thread transitions
Reviewed-by: mdoerr, eosterlund, pchilanomate, dcubed
2022-09-13 08:31:45 +00:00
Kevin Walls
dfc16e047f 8292302: Windows GetLastError value overwritten by ThreadLocalStorage::thread
Reviewed-by: cjplummer, dholmes, dcubed
2022-09-13 07:34:55 +00:00
Jaikiran Pai
8bd79d3efd 8170305: URLConnection doesn't handle HTTP/1.1 1xx (informational) messages
Reviewed-by: dfuchs, michaelm
2022-09-13 05:08:05 +00:00
Tejesh R
9cd3e355d1 4834298: JFileChooser.getSelectedFiles() failed with multi-selection and double-click
Reviewed-by: jdv
2022-09-13 04:54:15 +00:00
Fei Gao
ec2629c052 8275275: AArch64: Fix performance regression after auto-vectorization on NEON
Reviewed-by: aph, xgong
2022-09-13 03:13:38 +00:00
Hao Sun
cbee0bc9ef 8292587: AArch64: Support SVE fabd instruction
Reviewed-by: njian, fgao, ngasson
2022-09-13 02:19:02 +00:00
Feilong Jiang
68645ebffb 8293566: RISC-V: Clean up push and pop registers
Reviewed-by: fyang, shade
2022-09-13 01:07:04 +00:00
Chris Plummer
526eb54fc3 8293669: SA: Remove unnecssary "InstanceStackChunkKlass: InstanceStackChunkKlass" output when scanning heap
Reviewed-by: sspitsyn
2022-09-12 23:56:45 +00:00
Ioi Lam
41ce658267 8292225: Rename ArchiveBuilder APIs related to source and buffered addresses
Reviewed-by: ccheung
2022-09-12 22:52:16 +00:00
Vladimir Ivanov
155b10ae86 8293329: x86: Improve handling of constants in AES/GHASH stubs
Reviewed-by: kvn
2022-09-12 22:51:27 +00:00
Serguei Spitsyn
d3f7e3b417 8293339: vm/jvmti/StopThread/stop001/stop00103 crashes with SIGSEGV in Continuation::is_continuation_mounted
Reviewed-by: cjplummer, lmesnik
2022-09-12 21:56:05 +00:00
Daniel Skantz
524af94937 8283627: Outdated comment in MachineDescriptionTwosComplement.isLP64
Reviewed-by: cjplummer, sspitsyn, lmesnik
2022-09-12 16:31:52 +00:00
lawrence.andrews
cea409cc28 8292738: JInternalFrame backgroundShadowBorder & foregroundShadowBorder line is longer in Mac Look and Feel
Reviewed-by: serb, aivanov
2022-09-12 15:50:25 +00:00
Sergey Tsypanov
9ef6c0925a 8287908: Use non-cloning reflection methods where acceptable
Reviewed-by: rriggs
2022-09-12 13:31:53 +00:00
Roger Riggs
0c61bf109f 8293282: LoadLibraryUnloadTest.java fails with "Too few cleared WeakReferences"
Reviewed-by: mchung, jpai
2022-09-12 13:26:15 +00:00
Bill Huang
91c9091d7e 8293343: sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java failed with "Agent communication error: java.io.EOFException"
8293335: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1failed with "Agent communication error: java.io.EOFException"

Reviewed-by: kevinw, cjplummer
2022-09-12 13:07:34 +00:00
Prasanta Sadhukhan
4c77bd32a0 6529151: NullPointerException in swing.plaf.synth.SynthLookAndFeel$Handler
Reviewed-by: serb, dnguyen
2022-09-12 11:55:48 +00:00
Albert Mingkun Yang
d5aae0103a 8293544: G1: Add comment in G1BarrierSetC1::pre_barrier
Reviewed-by: kbarrett, sjohanss
2022-09-12 10:05:09 +00:00
Roland Westrelin
37df5f5625 8291599: Assertion in PhaseIdealLoop::skeleton_predicate_has_opaque after JDK-8289127
Reviewed-by: chagedorn, thartmann
2022-09-12 07:30:47 +00:00
Matthias Baesken
699c42962e 8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures
Reviewed-by: mdoerr, stuefe
2022-09-12 06:41:48 +00:00
Alan Bateman
68da02c7b5 8292240: CarrierThread.blocking not reset when spare not activated
Reviewed-by: dfuchs
2022-09-10 06:15:48 +00:00
Vladimir Ivanov
005b49bb78 8293044: C1: Missing access check on non-accessible class
Reviewed-by: thartmann, dlong
2022-09-09 20:47:31 +00:00
Coleen Phillimore
91d00b3022 8288473: Remove unused frame::set_pc_preserve_deopt methods
Reviewed-by: rpressler, dcubed
2022-09-09 20:19:56 +00:00
Man Cao
45ff10cc68 8292695: SIGQUIT and jcmd attaching mechanism does not work with signal chaining library
Reviewed-by: xliu, stuefe
2022-09-09 19:12:08 +00:00
Dean Long
dbec22b84b 8293287: add ReplayReduce flag
Reviewed-by: kvn, thartmann
2022-09-09 18:45:43 +00:00
Naoto Sato
b8598b0297 8291660: Grapheme support in BreakIterator
Reviewed-by: smarks
2022-09-09 17:13:51 +00:00
Quan Anh Mai
a14c3a493a 8288933: Improve the implementation of Double/Float.isInfinite
Reviewed-by: redestad, darcy
2022-09-09 17:01:57 +00:00
Bhavana Kilambi
00befddd7c 8292675: Add identity transformation for removing redundant AndV/OrV nodes
Reviewed-by: thartmann, ngasson
2022-09-09 14:24:23 +00:00
Tobias Holenstein
7169ee5c73 8293477: IGV: Upgrade to Netbeans Platform 15
Reviewed-by: chagedorn, rcastanedalo
2022-09-09 13:09:15 +00:00
Roland Westrelin
3dd94f33b2 8292671: Hotspot Style Guide should allow covariant returns
Reviewed-by: jrose, kbarrett, stuefe, kvn, dholmes
2022-09-09 11:43:09 +00:00
Abhishek Kumar
9d6b0285f5 8234315: GTK LAF does not gray out disabled JMenu
Reviewed-by: serb, psadhukhan
2022-09-09 07:08:15 +00:00
Valerie Peng
812d805a48 6447816: Provider filtering (getProviders) is not working with OR'd conditions
Reviewed-by: weijun
2022-09-09 00:30:54 +00:00
Fei Yang
43e191d64b 8293524: RISC-V: Use macro-assembler functions as appropriate
Reviewed-by: shade, fjiang
2022-09-09 00:18:48 +00:00
Sangheon Kim
14eb5ad0dc 8291753: Add JFR event for GC CPU Time
Reviewed-by: tschatzl, ayang
2022-09-08 18:20:03 +00:00
Vladimir Ivanov
30d4145e2e 8293230: x86_64: Move AES and GHASH stub definitions into separate source files
Reviewed-by: thartmann
2022-09-08 16:50:47 +00:00
Daniel D. Daugherty
4c5501c31c 8293548: ProblemList sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 on linux-x64
Reviewed-by: ccheung, azvegint
2022-09-08 16:30:59 +00:00
Vicente Romero
46e6e41b9a 8293051: Further refactor javac after removal of -source/-target/--release 7
Reviewed-by: darcy, mcimadamore
2022-09-08 14:36:19 +00:00
Jan Lahoda
c0ee30a25a 8293348: A false cyclic inheritance error reported
Reviewed-by: vromero
2022-09-08 14:10:06 +00:00
Ashutosh Mehra
85ec1f8d02 8293492: ShenandoahControlThread missing from hs-err log and thread dump
Reviewed-by: zgu, shade
2022-09-08 14:02:41 +00:00
Stefan Karlsson
6bd2794175 8293304: Replace some usages of INTPTR_FORMAT with PTR_FORMAT
Reviewed-by: kbarrett, coleenp
2022-09-08 13:37:06 +00:00
Andrey Turbanov
98da03af50 8293432: Use diamond operator in java.management
Reviewed-by: rriggs, sspitsyn
2022-09-08 11:05:54 +00:00
Adam Sotona
ffc249ae21 8289613: Drop use of Thread.stop in jshell
Reviewed-by: jlahoda
2022-09-08 10:01:24 +00:00
John R Rose
8d3399bf5f 8292758: put support for UNSIGNED5 format into its own header file
Reviewed-by: dlong, coleenp
2022-09-08 07:36:53 +00:00
Jie Fu
6677227301 8293497: Build failure due to MaxVectorSize was not declared when C2 is disabled after JDK-8293254
Reviewed-by: dlong
2022-09-08 02:29:01 +00:00
Weijun Wang
986b834148 8293489: Accept CAs with BasicConstraints without pathLenConstraint
Reviewed-by: mullan
2022-09-08 01:35:22 +00:00
Fei Yang
fc5f97fe37 8293474: RISC-V: Unify the way of moving function pointer
Reviewed-by: yadongwang, fjiang, shade
2022-09-08 01:14:08 +00:00
Daniel D. Daugherty
2d13f53017 8293512: ProblemList serviceability/tmtools/jstat/GcNewTest.java in -Xcomp mode
8293516: ProblemList gc/cslocker/TestCSLocker.java in -Xcomp mode
8293517: ProblemList sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 on linux-x64
8293518: ProblemList sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java

Reviewed-by: bpb
2022-09-07 23:08:54 +00:00
Ioi Lam
f84386cf6e 8293182: Improve testing of CDS archive heap
Reviewed-by: ccheung, coleenp
2022-09-07 23:02:35 +00:00
Chris Plummer
51de765867 8283010: serviceability/sa/ClhsdbThread.java failed with "'Base of Stack:' missing from stdout/stderr "
Reviewed-by: amenkov
2022-09-07 21:51:46 +00:00
Daniel D. Daugherty
8a489658ab 8293514: ProblemList gc/metaspace/TestMetaspacePerfCounters.java#Epsilon-64 on all platforms
Reviewed-by: kbarrett
2022-09-07 21:33:46 +00:00
Zdenek Zambersky
1e031e6a58 8293232: Fix race condition in pkcs11 SessionManager
Reviewed-by: valeriep
2022-09-07 20:50:41 +00:00
Daniel D. Daugherty
1080c4e4ae 8293508: ProblemList gc/metaspace/TestMetaspacePerfCounters.java#Epsilon-64
Reviewed-by: bpb
2022-09-07 20:49:06 +00:00
Chris Plummer
aff9a696cb 8283224: Remove THREAD_NOT_ALIVE from possible JDWP error codes
Reviewed-by: alanb, sspitsyn
2022-09-07 19:46:19 +00:00
Brian Burkhalter
76df73b390 8293456: runtime/os/TestTracePageSizes.java sub-tests fail with "AssertionError: No memory range found for address: NNNN"
Reviewed-by: alanb, lancea
2022-09-07 18:53:25 +00:00
Naoto Sato
32c7b6283d 8293146: Strict DateTimeFormatter fails to report an invalid week 53
Reviewed-by: rriggs
2022-09-07 18:33:37 +00:00
Daniel D. Daugherty
02dce24b59 8207166: jdk/jshell/JdiHangingLaunchExecutionControlTest.java - launch timeout
Reviewed-by: vromero
2022-09-07 18:30:16 +00:00
Daniel D. Daugherty
d36abbe8da 8293496: ProblemList runtime/os/TestTracePageSizes.java on linux-x64
Reviewed-by: alanb, azvegint
2022-09-07 15:26:02 +00:00
Christian Stein
1ee59adcfe 8289798: Update to use jtreg 7
Reviewed-by: ihse, jpai
2022-09-07 15:13:35 +00:00
Coleen Phillimore
5934669ca8 8292383: Create a SymbolHandle type to use for ResourceHashtable
Reviewed-by: iklam, hseigel
2022-09-07 14:50:58 +00:00
Evgeny Astigeevich
6ff4775b71 8285487: AArch64: Do not generate unneeded trampolines for runtime calls
Reviewed-by: xliu, aph
2022-09-07 14:39:48 +00:00
Prasanta Sadhukhan
d696104535 4850101: Setting mnemonic to VK_F4 underlines the letter S in a button.
Reviewed-by: prr
2022-09-07 12:34:38 +00:00
Stefan Karlsson
14fd1b6cdf 8292921: Rewrite object field printer
Reviewed-by: stuefe, coleenp
2022-09-07 12:08:20 +00:00
Serguei Spitsyn
4f9065d3d5 8293333: Broken links in JDI specification
Reviewed-by: alanb, cjplummer
2022-09-07 09:04:09 +00:00
Andrey Turbanov
2259e427a5 8293197: Avoid double racy reads from non-volatile fields in SharedSecrets
Reviewed-by: alanb
2022-09-07 06:11:56 +00:00
Daniel Jeliński
205f992e9e 8293326: jdk/sun/security/tools/jarsigner/compatibility/SignTwice.java slow on Windows
Reviewed-by: weijun, wetmore
2022-09-07 05:25:53 +00:00
Chris Plummer
710a143473 8293445: clhsdb "thread" command gives incorrect error message for bad threadID
Reviewed-by: dcubed
2022-09-06 22:26:29 +00:00
Vladimir Ivanov
57930f8e53 8293285: x86_64: Move libm stub implementations to StubGenerator
Reviewed-by: kvn
2022-09-06 22:18:03 +00:00
Vladimir Ivanov
5b4c415510 8293254: x86_64: Extract arraycopy stub implementations into a separate file
Reviewed-by: dlong, kvn
2022-09-06 22:16:37 +00:00
Vladimir Ivanov
fb6eb6f267 8293245: x86_64: Extract Adler32 stub implementation into stubGenerator_x86_64_adler.cpp
Reviewed-by: kvn, dlong
2022-09-06 22:15:39 +00:00
Brian Burkhalter
da596182a4 8264744: (fs) Use file cloning in Linux version of Files::copy method
Reviewed-by: alanb
2022-09-06 18:10:58 +00:00
Ludovic Henry
85d4b49151 8283929: GHA: Add RISC-V build config
Reviewed-by: ihse, shade
2022-09-06 16:24:04 +00:00
Yoshiki Sato
98d85e6f59 8292579: (tz) Update Timezone Data to 2022c
Reviewed-by: naoto, alanb
2022-09-06 16:05:51 +00:00
Doug Simon
7c96608d9a 8293403: JfrResolution::on_jvmci_resolution crashes when caller is null
Reviewed-by: never
2022-09-06 15:18:02 +00:00
Coleen Phillimore
c05015bc93 8291736: find_method_handle_intrinsic leaks Method*
Reviewed-by: hseigel, iklam, dholmes
2022-09-06 14:01:17 +00:00
Thomas Schatzl
b2067e63da 8291725: Leftover marks when VM shutdown aborts bitmap clearing make mixed gc fail
Reviewed-by: iwalulya, ayang
2022-09-06 13:41:37 +00:00
Albert Mingkun Yang
6a1e98cbf7 8293213: G1: Remove redundant assertion in G1RemSet::clean_card_before_refine
Reviewed-by: tschatzl, kbarrett
2022-09-06 11:21:00 +00:00
Abhishek Kumar
a92c1ff700 8287912: GTK L&F : Background of tree icons are red
Reviewed-by: psadhukhan, jdv
2022-09-06 10:55:06 +00:00
bobpengxie
272745b374 8293340: Remove unused _code in {Zero,Template}InterpreterGenerator
Reviewed-by: jiefu, shade
2022-09-06 09:39:17 +00:00
Jan Lahoda
26f2a978f6 8290561: Coalesce incubator-module warnings for single-file source-code programs
Reviewed-by: mcimadamore
2022-09-06 09:27:48 +00:00
Magnus Ihse Bursie
8e22f2bb40 8293361: GHA: dump config.log in case of configure failure
Reviewed-by: shade
2022-09-06 08:51:02 +00:00
Magnus Ihse Bursie
b17758a932 8247283: Enable the new conformant preprocessor option in Visual Studio
Reviewed-by: erikj, djelinski
2022-09-06 08:50:13 +00:00
Albert Mingkun Yang
1bed23a1af 8293353: [BACKOUT] G1: Remove redundant is-marking-active checks in C1 barrier
Reviewed-by: kbarrett, mdoerr, tschatzl
2022-09-06 08:43:34 +00:00
Jan Lahoda
4955835249 8282434: Leading combining diacritic character in string renders incorrectly
Reviewed-by: vromero
2022-09-06 08:42:45 +00:00
Andrey Turbanov
ef20ffe4d2 8293159: Use try-with-resources in X11FontManager.registerFontDir
Reviewed-by: prr
2022-09-05 19:58:18 +00:00
Hannes Wallnöfer
056ed48dda 8293180: JQuery UI license file not updated
Reviewed-by: jjg
2022-09-05 18:51:01 +00:00
Emanuel Peter
dbb2c4b6ac 8288897: Clean up node dump code
Reviewed-by: chagedorn, xliu
2022-09-05 14:27:00 +00:00
Albert Mingkun Yang
9833c025fd 8292946: GC lock/jni/jnilock001 test failed "assert(gch->gc_cause() == GCCause::_scavenge_alot || !gch->incremental_collection_failed()) failed: Twice in a row"
Reviewed-by: kbarrett, tschatzl
2022-09-05 13:35:36 +00:00
Aleksey Shipilev
d7536588b3 8293107: GHA: Bump to Ubuntu 22.04
Reviewed-by: ihse
2022-09-05 13:28:51 +00:00
Thomas Stuefe
d4e3e69505 8293344: JDK-8242181 broke stack printing for non-attached threads
Reviewed-by: chagedorn, mdoerr
2022-09-05 13:08:14 +00:00
Volker Simonis
2c61efe3de 8282648: Weaken the InflaterInputStream specification in order to allow faster Zip implementations
Reviewed-by: lancea, alanb, jpai, mr, darcy
2022-09-05 12:50:52 +00:00
Ludvig Janiuk
e31c537f05 8293224: Add link to openjdk.org/jtreg/ from doc/testing
Reviewed-by: erikj, iris, ihse
2022-09-05 12:17:19 +00:00
Prasanta Sadhukhan
955baa3c44 8267374: macOS: Option+Up/Down Arrow don't traverse to beginning/end of line in JTextArea
Reviewed-by: prr
2022-09-05 10:47:48 +00:00
Magnus Ihse Bursie
8df671c908 8293355: JDK-8293167 included bad copyright header
Reviewed-by: kbarrett
2022-09-05 10:17:58 +00:00
Fei Yang
5bed9f7675 8293290: RISC-V: Explicitly pass a third temp register to MacroAssembler::store_heap_oop
Reviewed-by: shade
2022-09-05 10:02:08 +00:00
Markus Grönlund
48b3ab02f9 8293167: Memory leak in JfrThreadSampler if stackdepth is larger than default (64)
Reviewed-by: jbachorik
2022-09-05 09:13:07 +00:00
Serguei Spitsyn
4067321ef4 8291586: Broken links in JVMTI specification
Reviewed-by: alanb
2022-09-05 08:51:25 +00:00
Axel Boldt-Christmas
32f4dc8403 8293295: Add type check asserts to java_lang_ref_Reference accessors
Reviewed-by: stefank, kbarrett, coleenp
2022-09-05 08:34:13 +00:00
Daniel Jeliński
e945619ddd 8293088: Fix compilation with the new Visual Studio preprocessor
Reviewed-by: ihse
2022-09-05 07:22:58 +00:00
Roberto Castañeda Lozano
730ced9a10 8292660: C2: blocks made unreachable by NeverBranch-to-Goto conversion are removed incorrectly
Reviewed-by: kvn, roland
2022-09-05 07:16:51 +00:00
Ichiroh Takiguchi
3464019d7e 8292899: CustomTzIDCheckDST.java testcase failed on AIX platform
Reviewed-by: naoto
2022-09-04 07:22:09 +00:00
Chris Plummer
e92b9e4030 8293325: Minor improvements to macos catch_mach_exception_raise() error handling
Reviewed-by: amenkov, dcubed, sspitsyn
2022-09-03 23:15:35 +00:00
Chris Plummer
767262e67c 8292201: serviceability/sa/ClhsdbThreadContext.java fails with "'Thread "Common-Cleaner"' missing from stdout/stderr"
Reviewed-by: amenkov, sspitsyn
2022-09-03 16:06:25 +00:00
Jaikiran Pai
a366e82aa1 7113208: Incorrect javadoc on java.net.DatagramPacket.setLength()
Reviewed-by: dfuchs
2022-09-03 05:48:20 +00:00
Ioi Lam
ac05bc8605 8293293: Move archive heap loading code out of heapShared.cpp
Reviewed-by: erikj, coleenp
2022-09-02 23:47:48 +00:00
Jie Fu
e1e67324c0 8293319: [C2 cleanup] Remove unused other_path arg in Parse::adjust_map_after_if
Reviewed-by: kvn
2022-09-02 22:40:53 +00:00
Dean Long
5757e2129e 8292385: assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out
Reviewed-by: thartmann, jiefu, kvn
2022-09-02 19:25:08 +00:00
Bill Huang
3993a1f9ea 8292067: Convert test/sun/management/jmxremote/bootstrap shell tests to java version
Reviewed-by: lmesnik
2022-09-02 18:10:56 +00:00
Coleen Phillimore
83a34086bc 8293315: Add back logging for Placeholders
Reviewed-by: iklam
2022-09-02 17:51:49 +00:00
Joe Darcy
b6477fdb30 8293288: bootcycle build failure after JDK-8173605
Reviewed-by: erikj
2022-09-02 17:44:59 +00:00
Vladimir Ivanov
0c6094e796 8293188: x86_64: Introduce stubGenerator_x86_64.hpp
Reviewed-by: dholmes, kvn
2022-09-02 17:05:51 +00:00
Chris Plummer
2baeebbc02 8293006: sun/tools/jhsdb/JStackStressTest.java fails with "UnalignedAddressException: 8baadbabe"
Reviewed-by: dcubed, sspitsyn
2022-09-02 16:11:01 +00:00
Chris Plummer
da99e3e829 8289400: Improve com/sun/jdi/TestScaffold error reporting
Reviewed-by: amenkov, lmesnik
2022-09-02 16:08:17 +00:00
Roland Westrelin
77e21c57ce 8290529: C2: assert(BoolTest(btest).is_canonical()) failure
Reviewed-by: kvn, thartmann
2022-09-02 13:35:11 +00:00
Coleen Phillimore
fcc0cf9677 8292375: Convert ProtectionDomainCacheTable to ResourceHashtable
Reviewed-by: dholmes, iklam
2022-09-02 13:07:45 +00:00
Axel Boldt-Christmas
6fc58b8324 8293207: Add assert to JVM_ReferenceRefersTo to clarify its API
Reviewed-by: stefank, kbarrett
2022-09-02 12:59:50 +00:00
Albert Mingkun Yang
ce06a3b689 8293023: Change CardTable::is_in_young signature
Reviewed-by: kbarrett, iwalulya
2022-09-02 11:02:22 +00:00
Albert Mingkun Yang
26cac088b4 8293209: Parallel: Remove unused variables in PSParallelCompact::invoke
Reviewed-by: kbarrett
2022-09-02 11:00:49 +00:00
Magnus Ihse Bursie
46523b817c 8293219: Microsoft toolchain selection picks 32-bit tools over 64-bit
Reviewed-by: erikj, shade
2022-09-02 09:35:02 +00:00
Xiaolin Zheng
bc5ffc8e47 8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub
Reviewed-by: yadongwang, fjiang, shade, vkempik
2022-09-02 07:01:02 +00:00
Stefan Karlsson
98ce45ff74 8292981: Unify and restructure integer printing format specifiers
Reviewed-by: kbarrett, dholmes
2022-09-02 06:52:35 +00:00
Joe Darcy
3ac91b08cb 8293003: Review running time of Warn5 regression test
Reviewed-by: vromero
2022-09-02 02:53:59 +00:00
Hao Sun
e0168a0eb0 8288012: AArch64: unnecessary macro expansion in stubGenerator_aarch64
Reviewed-by: aph, njian
2022-09-02 02:43:07 +00:00
Serguei Spitsyn
99c3ab0177 8293010: JDI ObjectReference/referringObjects/referringObjects001 fails: assert(env->is_enabled(JVMTI_EVENT_OBJECT_FREE)) failed: checking
Reviewed-by: cjplummer, zgu, lmesnik
2022-09-02 01:59:32 +00:00
Jonathan Gibbons
0fb9469d93 8290126: Add a check in JavadocTester for "javadoc should not crash"
Reviewed-by: prappo
2022-09-01 22:41:27 +00:00
Brian Burkhalter
0a4d0cee9f 8293121: (fs) Refactor UnixFileSystem copying into generic Unix, Linux, and BSD implementations
Reviewed-by: alanb
2022-09-01 22:21:21 +00:00
Bill Huang
032be168b5 8292066: Convert TestInputArgument.sh and TestSystemLoadAvg.sh to java version
Reviewed-by: lmesnik, amenkov
2022-09-01 21:29:24 +00:00
Bill Huang
e393973761 8292990: Improve test coverage for XPath Axes: parent
Reviewed-by: joehw
2022-09-01 21:25:40 +00:00
Dean Long
fa68371bb8 8292584: assert(cb != __null) failed: must be with -XX:-Inline
Reviewed-by: kvn, rpressler
2022-09-01 20:19:37 +00:00
Ruprabhu25
04d8069bac 8230374: maxOutputSize, instead of javatest.maxOutputSize, should be used in TEST.properties
Reviewed-by: dholmes
2022-09-01 19:53:14 +00:00
Mahendra Chhipa
3d254d3c8e 8289510: Improve test coverage for XPath Axes: namespace
Reviewed-by: joehw
2022-09-01 17:42:32 +00:00
Joe Darcy
2d18dda3f2 8173605: Remove support for source and target 1.7 option in javac
Reviewed-by: vromero
2022-09-01 16:43:50 +00:00
Ludvig Janiuk
7c2f2994da 8293202: Document how to edit doc/testing, doc/building
Reviewed-by: erikj
2022-09-01 16:39:22 +00:00
Chris Plummer
07616de00c 8175382: clhsdb pmap should print the end addresses of the load modules
Reviewed-by: sspitsyn, ysuenaga
2022-09-01 16:35:41 +00:00
Aggelos Biboudis
9444a081cc 8290709: Incorrect dominance error for unconditional pattern vs. null
Reviewed-by: jlahoda
2022-09-01 16:09:03 +00:00
Naoto Sato
6a1b0b5649 8293154: TemporalQueries java doc error
Reviewed-by: rriggs, lancea
2022-09-01 15:46:45 +00:00
Aleksey Shipilev
5204528296 8293201: Library detection in runtime/ErrorHandling/TestDwarf.java fails on some systems
Reviewed-by: chagedorn
2022-09-01 14:13:51 +00:00
Roger Riggs
2d10d4f54e 8291651: CleanerTest.java fails with "Cleanable was cleaned"
Reviewed-by: jpai, dfuchs
2022-09-01 14:02:06 +00:00
Albert Mingkun Yang
bd674dc55e 8293163: G1: Rename G1HeapRegionAttr::is_humongous
Reviewed-by: kbarrett, sangheki
2022-09-01 10:50:45 +00:00
Albert Mingkun Yang
479795b4d1 8293164: Remove unimplemented Generation::print_heap_change
Reviewed-by: iwalulya
2022-09-01 10:49:52 +00:00
Aleksey Shipilev
6e6202c14d 8292407: Improve Weak CAS VarHandle/Unsafe tests resilience under spurious failures
Reviewed-by: yadongwang, fyang, vkempik, psandoz
2022-09-01 09:22:56 +00:00
Dingli Zhang
17283cfe4c 8293011: riscv: Duplicated stubs to interpreter for static calls
Reviewed-by: fyang
2022-09-01 01:06:45 +00:00
Magnus Ihse Bursie
6076128996 8292008: Transition the JDK to the common standard of C11
Reviewed-by: erikj
2022-08-31 22:17:26 +00:00
Jonathan Gibbons
6f297346dc 8293178: Remove obsolete properties from javadoc resource file
Reviewed-by: prappo
2022-08-31 22:11:20 +00:00
Magnus Ihse Bursie
dd5415309a 8293162: Drop support for VS2017
Reviewed-by: erikj, kbarrett
2022-08-31 22:07:30 +00:00
Ioi Lam
12317ef7d0 8293046: Move CDS command-line flags to cds_globals.hpp
Reviewed-by: dholmes, ccheung, coleenp
2022-08-31 19:58:36 +00:00
Aleksey Shipilev
372fc58e89 8293165: GHA: Provide necessary x86_32 packages for runtime/ErrorHandling/TestDwarf.java
Reviewed-by: ihse
2022-08-31 17:51:48 +00:00
Doug Simon
3c1bda4bc3 8293019: [JVMCI] change ratio of libgraal to C1 threads and use one isolate per libgraal thread
Reviewed-by: never, iveresov
2022-08-31 16:13:25 +00:00
Andrey Turbanov
0d51f63a2e 8293008: Replace uses of StringBuffer with StringBuilder in MergeCollation
Reviewed-by: rriggs, naoto, bpb
2022-08-31 13:56:50 +00:00
Eric Caspole
5d6779f709 8292681: Add JMH for ProtectionDomain
Reviewed-by: mullan
2022-08-31 13:24:34 +00:00
Fei Yang
38e6706315 8293050: RISC-V: Remove redundant non-null assertions about macro-assembler
Reviewed-by: fjiang, yadongwang, shade
2022-08-31 12:24:28 +00:00
Roland Westrelin
4c90e87a6f 8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses
Reviewed-by: chagedorn, thartmann
2022-08-31 09:23:41 +00:00
Axel Boldt-Christmas
9e3176bd09 8293035: Cleanup MacroAssembler::movoop code patching logic aarch64 riscv
Reviewed-by: eosterlund, fyang
2022-08-31 07:42:22 +00:00
Johan Sjölén
c42478b723 8293109: Remove unused methods in Compiler
Reviewed-by: roland, thartmann, kvn
2022-08-31 06:57:54 +00:00
Aleksey Shipilev
d2eed079c3 8293020: jmod should not be treated as "small" tool for large modules
Reviewed-by: erikj, ihse, alanb
2022-08-31 05:30:16 +00:00
Aleksey Shipilev
923c952bec 8293098: GHA: Harmonize GCC version handling for host and cross builds
Reviewed-by: ihse, clanger
2022-08-31 05:29:19 +00:00
Jatin Bhateja
38377d5eb7 8291649: multiple tests failing with -Xcomp after JDK-8290034
Co-authored-by: Kim Barrett <kbarrett@openjdk.org>
Co-authored-by: John R Rose <jrose@openjdk.org>
Reviewed-by: kbarrett, jrose
2022-08-31 05:02:56 +00:00
Feilong Jiang
2d7792c783 8293065: Zero build failure on AArch64 and RISCV64 after JDK-8293007
Reviewed-by: eosterlund, fyang, yadongwang, kvn
2022-08-31 00:56:27 +00:00
Chris Plummer
c3380c03b1 8292995: improve the SA page cache
Reviewed-by: kevinw, sspitsyn
2022-08-30 23:13:49 +00:00
Ioi Lam
1cf245d77c 8292590: Product JVM crashes with FLAG_SET_XXX on non-product Flag
Reviewed-by: dholmes, coleenp
2022-08-30 22:00:43 +00:00
Kevin Driver
6335150cea 6205692: (spec) javax.crypto.MacSpi.engineUpdate(ByteBuffer input): NPE should be specified
Reviewed-by: valeriep
2022-08-30 20:51:34 +00:00
Albert Mingkun Yang
622be797b9 8293090: Remove unused par_oop_since_save_marks_iterate_done
Reviewed-by: kbarrett
2022-08-30 19:37:36 +00:00
Albert Mingkun Yang
3d0ab2b1aa 8292858: G1: Remove redundant check in G1FlushHumongousCandidateRemSets
Reviewed-by: tschatzl, kbarrett
2022-08-30 19:36:41 +00:00
Vladimir Ivanov
6e248279cf 8292878: x86: Make scratch register usage explicit in assembler code
Reviewed-by: kvn, shade
2022-08-30 18:45:24 +00:00
Serguei Spitsyn
f5ebbf3225 8292657: Calling GetLocalXXX from virtual thread with thread parameter set to NULL returns carrier locals
Reviewed-by: cjplummer, alanb
2022-08-30 18:28:05 +00:00
Kevin Driver
550e5d7822 4958071: (spec) confusing exception list for javax.crypto.Cipher.init(...) for
Reviewed-by: valeriep, wetmore
2022-08-30 18:23:46 +00:00
Andrey Turbanov
d3d2e669b7 8293009: Remove unused field 'millisPerHour' in DateFormatSymbols
Reviewed-by: naoto, jpai
2022-08-30 17:31:21 +00:00
Vladimir Ivanov
f3ebb420b7 8293036: x86_64: Move Continuation-related stub methods to MacroAssembler
Reviewed-by: dlong, kvn
2022-08-30 17:08:18 +00:00
Aleksey Shipilev
1576f991fe 8288759: GCC 12 fails to compile signature.cpp due to -Wstringop-overread
Reviewed-by: dholmes, coleenp
2022-08-30 16:55:47 +00:00
Chris Plummer
f285cea9a6 8293037: Remove DebuggerBase.writeBytes() and related code from SA
Reviewed-by: amenkov, kevinw
2022-08-30 16:24:51 +00:00
Florian Weimer
343333abcf 8293004: (fs) FileChannel.transferXXX use of copy_file_range needs fallback handling for ENOSYS
Reviewed-by: stuefe, alanb, bpb
2022-08-30 15:23:35 +00:00
Andrey Turbanov
b3450e930e 8292850: Unused field 'expiredTimersKey' in javax.swing.TimerQueue
Reviewed-by: prr
2022-08-30 10:22:12 +00:00
Albert Mingkun Yang
6b7d4b1f74 8293028: Remove GenCollectedHeap::handle_failed_promotion
Reviewed-by: kbarrett
2022-08-30 09:51:06 +00:00
Feilong Jiang
21a736954f 8292575: riscv: Represent Registers as values
Reviewed-by: yzhu, yadongwang, fyang
2022-08-30 09:24:37 +00:00
Tejesh R
4a28f3798d 8291792: DefaultStyledDocument.setCharacterAttributes accepts negative length
Reviewed-by: psadhukhan, prr
2022-08-30 08:36:58 +00:00
Alexey Ushakov
f766d92755 8290344: Start/stop displaysync affects performance in metal rendering pipeline
Reviewed-by: aghaisas, jdv
2022-08-30 08:23:58 +00:00
Roland Westrelin
afa5d4ced3 8290451: Incorrect result when switching to C2 OSR compilation from C1
Reviewed-by: thartmann, kvn
2022-08-30 07:27:51 +00:00
Jaikiran Pai
bc6ac6f7af 8292968: java.net.ContentHandler's javadoc has a broken reference
Reviewed-by: dfuchs
2022-08-30 05:24:14 +00:00
Yadong Wang
e016363b54 8293007: riscv: failed to build after JDK-8290025
Reviewed-by: fyang, fjiang, shade
2022-08-30 01:17:41 +00:00
David Holmes
9424d6d487 8293012: ConstantPool::print_on can crash if _cache is NULL
Reviewed-by: shade, rehn
2022-08-30 00:58:26 +00:00
Ioi Lam
40b0ed5657 8292891: ifdef-out some CDS-only functions
Reviewed-by: coleenp, ccheung, dholmes
2022-08-29 23:20:21 +00:00
Dean Long
adb3d4f14a 8292694: x86_64 c2i/i2c adapters may use more stack space than necessary
Reviewed-by: kvn, thartmann
2022-08-29 19:38:48 +00:00
Tomas Zezula
30def49c72 8292769: [JVMCI] OutOfMemoryError thrown when attaching the libgraal isolate causes HotSpot to crash.
Reviewed-by: dnsimon, never
2022-08-29 15:46:50 +00:00
Pengfei Li
a88a9e344f 8291466: C2: assert(false) failed: infinite loop in PhaseIterGVN::transform_old with -XX:+StressIGVN
Reviewed-by: roland, chagedorn
2022-08-29 13:06:20 +00:00
Prasanta Sadhukhan
d5167a91a9 7189422: [macosx] Submenu's arrow have a wrong position
Reviewed-by: prr, dnguyen
2022-08-29 10:59:31 +00:00
Aleksey Shipilev
512fee1d1e 8292972: Initialize fields if CodeBlobIterator shortcuts without heaps
Reviewed-by: kvn, chagedorn
2022-08-29 07:47:50 +00:00
Aleksey Shipilev
a476ec5c81 8292983: ModuleReferenceImpl.computeHash should record algorithm for cache checks
Reviewed-by: alanb, mchung, jpai
2022-08-29 05:58:41 +00:00
Jaikiran Pai
99cab6a68e 8292911: Add a note about jtreg failure handlers in the testing doc
Reviewed-by: lancea, erikj, jjg
2022-08-29 02:25:37 +00:00
Bill Huang
f6b6360155 8289949: Improve test coverage for XPath: operators
Reviewed-by: joehw
2022-08-28 16:58:53 +00:00
Doug Simon
b0e0b87891 8292917: [JVMCI] Extend InstalledCode API to make an nmethod non entrant.
Reviewed-by: never
2022-08-27 08:21:58 +00:00
Daniel D. Daugherty
1500d3dfb2 8292994: ProblemList vmTestbase/gc/lock/jni/jnilock001/TestDescription.java
Reviewed-by: prr
2022-08-26 20:52:35 +00:00
Roger Riggs
4e457acda0 8291760: PipelineLeaksFD.java still fails: More or fewer pipes than expected
Reviewed-by: jpai, alanb
2022-08-26 19:06:29 +00:00
Mikhailo Seledtsov
774edeb521 8271615: vmTestbase/vm/jit/LongTransitions/ test fail due to locale mismatch
Reviewed-by: shade, lmesnik
2022-08-26 18:16:16 +00:00
Jonathan Dowland
9a0d1e7ce8 8292541: [Metrics] Reported memory limit may exceed physical machine memory
Reviewed-by: stuefe, sgehwolf
2022-08-26 16:22:14 +00:00
Brian Burkhalter
c74b6d4552 8292562: (fc) Use copy_file_range in FileChannel::transferTo on Linux
Reviewed-by: alanb
2022-08-26 16:12:58 +00:00
Stefan Karlsson
3844685be0 8292697: ZGC: Hangs when almost out of metaspace memory
Reviewed-by: eosterlund, coleenp
2022-08-26 13:44:28 +00:00
Tobias Holenstein
2b803493ba 8292669: IGV: Search not useable when in Overflow Toolbar
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Co-authored-by: Tobias Holenstein <tholenstein@openjdk.org>
Reviewed-by: chagedorn, rcastanedalo
2022-08-26 13:37:14 +00:00
Stefan Karlsson
4732abf7f4 8292910: Remove root to oop cast in HeapDumper
Reviewed-by: eosterlund, coleenp
2022-08-26 12:34:10 +00:00
Jonathan Dowland
f694f8a767 8292083: Detected container memory limit may exceed physical machine memory
Reviewed-by: sgehwolf, stuefe
2022-08-26 12:25:16 +00:00
Axel Boldt-Christmas
f91943c19f 8292868: Explicitly pass a third temp register to MacroAssembler::store_heap_oop for aarch64
Reviewed-by: shade, eosterlund, tschatzl
2022-08-26 09:37:46 +00:00
Roland Westrelin
6354a57b5c 8290711: assert(false) failed: infinite loop in PhaseIterGVN::optimize
Reviewed-by: chagedorn, kvn
2022-08-26 07:57:40 +00:00
Chris Plummer
3e18773016 8292880: Improve debuggee logging for com/sun/jdi/ClassUnloadEventTest.java
Reviewed-by: amenkov, kevinw
2022-08-25 22:54:29 +00:00
Jie Fu
909e1edb18 8292919: Build failure due to UseJVMCICompiler was not declared when C2 is disabled after JDK-8292691
Reviewed-by: shade, kvn
2022-08-25 22:44:45 +00:00
Chris Plummer
55f5a83b88 8282410: Remove SA ProcDebugger support
Reviewed-by: kevinw, amenkov
2022-08-25 22:25:49 +00:00
Chris Plummer
d83faeaf9a 8292250: Create test for co-located JDI MethodEntry, Step, and Breakpoint events
Reviewed-by: amenkov, kevinw
2022-08-25 22:03:43 +00:00
Coleen Phillimore
e353b572a5 8292890: Remove PrintTouchedMethodsAtExit and LogTouchedMethods
Reviewed-by: iklam, hseigel
2022-08-25 21:12:35 +00:00
Julian Waters
95a33fe150 8292314: Cleanup legacy address handling
Reviewed-by: prr
2022-08-25 19:44:43 +00:00
Maxim Kartashev
5d799d80e6 8292304: [REDO] JDK-8289208 Test DrawRotatedStringUsingRotatedFont.java occasionally crashes on MacOS
Reviewed-by: prr
2022-08-25 19:43:44 +00:00
Coleen Phillimore
4f50316a1a 8292680: Convert Dictionary to ConcurrentHashTable
Reviewed-by: rehn, hseigel
2022-08-25 19:02:52 +00:00
Vladimir Ivanov
2fe0ce0148 8292203: AArch64: Represent Registers as values
Reviewed-by: kvn, aph
2022-08-25 16:50:18 +00:00
Aleksey Shipilev
251bff6bee 8292877: java/util/concurrent/atomic/Serial.java uses {Double,Long}Accumulator incorrectly
Reviewed-by: psandoz, martin, alanb
2022-08-25 16:47:58 +00:00
Aleksey Shipilev
f57d34242c 8292867: RISC-V: Simplify weak CAS return value handling
Reviewed-by: yadongwang, fyang
2022-08-25 16:24:53 +00:00
Calvin Cheung
88af204027 8292494: Ensure SystemDictionary::set_platform_loader and set_system_loader are called only once
Reviewed-by: iklam, dholmes
2022-08-25 16:10:37 +00:00
Matthias Baesken
8d3d4397cc 8292903: enhance round_up_power_of_2 assertion output
Reviewed-by: stefank, stuefe
2022-08-25 14:52:40 +00:00
Erik Österlund
054c23f484 8290025: Remove the Sweeper
Reviewed-by: stefank, kvn, iveresov, coleenp, vlivanov, mdoerr
2022-08-25 09:48:55 +00:00
Albert Mingkun Yang
dc7e2562f4 8290376: G1: Refactor G1MMUTracker::when_sec
Reviewed-by: tschatzl, iwalulya
2022-08-25 09:15:09 +00:00
Prasanta Sadhukhan
5a20bc44b1 8292715: Cleanup Problemlist
Reviewed-by: prr
2022-08-25 07:34:38 +00:00
Ramkumar Sunderbabu
7b81a9c75d 8289764: gc/lock tests failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects"
Reviewed-by: lmesnik
2022-08-25 01:37:54 +00:00
Ioi Lam
76ee5495cd 8292329: Enable CDS shared heap for zero builds
Reviewed-by: shade, erikj, ihse
2022-08-24 22:39:52 +00:00
Valerie Peng
14623c6087 8292739: Invalid legacy entries may be returned by Provider.getServices() call
Reviewed-by: weijun
2022-08-24 18:23:19 +00:00
Harshitha Onkar
568be58e85 8290469: Add new positioning options to PassFailJFrame test framework
Reviewed-by: prr, aivanov
2022-08-24 16:23:23 +00:00
Johan Sjölén
69448f9c1a 8292679: Simplify thread creation in gtest and port 2 tests to new way
Reviewed-by: rehn, coleenp, stuefe
2022-08-24 15:50:21 +00:00
Jayashree Huttanagoudar
3c2289d651 8215916: The failure reason of an optional JAAS LoginModule is not logged
Reviewed-by: weijun
2022-08-24 15:47:12 +00:00
Tyler Steele
71ab5c95af 8292816: GPL Classpath exception missing from assemblyprefix.h
Reviewed-by: stuefe, ihse
2022-08-24 13:43:55 +00:00
Aleksey Shipilev
c0623972cf 8292713: Unsafe.allocateInstance should be intrinsified without UseUnalignedAccesses
Reviewed-by: psandoz, kvn, fyang
2022-08-24 13:19:43 +00:00
Erik Österlund
a45a4b9465 8292194: G1 nmethod entry barrier disarm value wraps around too early
Reviewed-by: ayang, tschatzl
2022-08-24 13:11:23 +00:00
Coleen Phillimore
d3fed12867 8292864: Remove resourceHash.hpp from header files
Reviewed-by: stefank
2022-08-24 12:40:10 +00:00
Coleen Phillimore
b653b9cc27 8291969: Convert LoaderConstraintsTable to ResourceHashtable
Reviewed-by: dholmes, iklam
2022-08-24 11:39:25 +00:00
Axel Boldt-Christmas
0813a47051 8282729: Serial: Move BOT implementation to collector specific directory
Reviewed-by: tschatzl, ayang
2022-08-24 09:50:17 +00:00
Thomas Stuefe
fa5cc4cc8e 8291878: NMT: Malloc limits
Reviewed-by: kvn, shade
2022-08-24 07:58:54 +00:00
Matthias Baesken
ad2e0c4df0 8292778: EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free
Reviewed-by: rriggs, kevinw, amenkov
2022-08-24 07:05:28 +00:00
Christian Hagedorn
13c0369646 8242181: [Linux] Show source information when printing native stack traces in hs_err files
Reviewed-by: erikj, tschatzl, stuefe, ihse
2022-08-24 06:44:06 +00:00
Coleen Phillimore
fe0544f8a7 8292790: Remove hashtable.hpp from other files
Reviewed-by: shade, hseigel
2022-08-23 20:39:25 +00:00
Vladimir Ivanov
926380d3b7 8292640: C2: Remove unused scratch register usages on x86
Reviewed-by: kvn
2022-08-23 20:25:56 +00:00
Vladimir Ivanov
f3be6731d3 8292638: x86: Improve scratch register handling in VM stubs
Co-authored-by: Aleksey Shipilev <shade@openjdk.org>
Reviewed-by: kvn, shade
2022-08-23 19:32:51 +00:00
Roger Riggs
d24b7b7026 8276651: java/lang/ProcessHandle tests fail with "RuntimeException: Input/output error" in java.lang.ProcessHandleImpl$Info.info0
Reviewed-by: jpai, alanb
2022-08-23 14:36:46 +00:00
Thomas Schatzl
8a45abd5f3 8292654: G1 remembered set memory footprint regression after JDK-8286115
Reviewed-by: ayang, iwalulya
2022-08-23 13:54:10 +00:00
Coleen Phillimore
cc287832c2 8292777: Remove hashtable.hpp from dependencies.hpp
Reviewed-by: chagedorn
2022-08-23 13:42:37 +00:00
Martin Doerr
cf00677412 8292368: [ppc64] internal error g1BarrierSet.inline.hpp assert(oopDesc::is_oop(pre_val, true)) failed: Error
Reviewed-by: eosterlund, shade
2022-08-23 08:58:53 +00:00
Magnus Ihse Bursie
d92e00a519 8292763: JDK-8292716 breaks configure without jtreg
Reviewed-by: alanb
2022-08-23 08:32:02 +00:00
Magnus Ihse Bursie
486f90c134 8292716: Configure should check that jtreg is of the required version
Reviewed-by: erikj
2022-08-23 07:45:03 +00:00
Andrey Turbanov
b4e1aa87e3 8289658: Avoid redundant LinkedHashMap.get call in TagletManager.addNewSimpleCustomTag
Reviewed-by: attila, prappo
2022-08-23 07:44:01 +00:00
Matthias Baesken
84936e9278 8292586: simplify cleanups in NTLMAuthSequence getCredentialsHandle
Reviewed-by: michaelm
2022-08-23 07:31:43 +00:00
Doug Simon
259ba86c60 8290075: [JVMCI] only blessed methods can link against EventWriterFactory.getEventWriter
Reviewed-by: mgronlun
2022-08-23 07:24:53 +00:00
Thomas Stuefe
a85a72341b 8292351: tty should always live
Reviewed-by: clanger, coleenp, dholmes
2022-08-23 05:05:15 +00:00
Xiaohong Gong
4da1745836 8291118: [vectorapi] Optimize the implementation of lanewise FIRST_NONZERO
Reviewed-by: eliu, psandoz
2022-08-23 01:30:05 +00:00
Jatin Bhateja
38a81913d3 8290322: Optimize Vector.rearrange over byte vectors for AVX512BW targets.
Reviewed-by: kvn, sviswanathan
2022-08-22 23:59:58 +00:00
Coleen Phillimore
27af0144ea 8292743: Missing include resourceHash.hpp
Reviewed-by: dcubed, stefank
2022-08-22 20:31:31 +00:00
Daniel D. Daugherty
f58aaab4a4 8292262: adjust timeouts in several M&M tests
Reviewed-by: cjplummer
2022-08-22 19:32:40 +00:00
Daniel D. Daugherty
ab6988599c 8292215: java/util/stream/boottest/java.base/java/util/stream/SpinedBufferTest.java times out with slowdebug
Reviewed-by: rriggs, shade
2022-08-22 19:31:50 +00:00
Daniel D. Daugherty
54843b700a 8290211: jdk/internal/vm/Continuation/Fuzz.java failed with "AssertionError: Failed to compile int Fuzz.com_int(int,int) in 5000ms"
Reviewed-by: lmesnik, alanb, jiefu
2022-08-22 19:30:50 +00:00
Daniel D. Daugherty
8a0c3e53d5 8292261: adjust timeouts in JLI GetObjectSizeIntrinsicsTest.java
Reviewed-by: cjplummer
2022-08-22 19:29:58 +00:00
Coleen Phillimore
8e8ee4b6f2 8292596: Make SymbolHashMap a ResourceHashtable
Reviewed-by: hseigel, dholmes
2022-08-22 18:43:51 +00:00
Naoto Sato
aa9b8f04bf 8292043: Incorrect decoding near EOF for stateful decoders like UTF-16
Reviewed-by: joehw, alanb, lancea
2022-08-22 16:26:37 +00:00
Brian Burkhalter
f95ee79603 8292566: Add reference to the java.nio.file package in java.nio package documentation
Reviewed-by: iris, jpai, alanb
2022-08-22 15:53:12 +00:00
Alexey Semenyuk
45c3e898ed 8292316: Tests should not rely on specific JAR file names (jpackage)
Reviewed-by: almatvee
2022-08-22 15:42:27 +00:00
Harold Seigel
db77227684 8282684: Obsolete UseContainerCpuShares and PreferContainerQuotaForCPUCount flags
Reviewed-by: dholmes, iklam, sgehwolf
2022-08-22 14:35:44 +00:00
Daniel Fuchs
256b52387b 8292381: java/net/httpclient/SpecialHeadersTest.java fails with "ERROR: Shutting down connection: HTTP/2 client stopped"
Reviewed-by: jpai
2022-08-22 14:14:41 +00:00
Eric Caspole
e561933907 8292623: Reduce runtime of java.io microbenchmarks
Reviewed-by: rriggs
2022-08-22 13:40:15 +00:00
Thomas Schatzl
dcd78020e4 8292708: Rename G1ParScanThreadState::flush to flush_stats
Reviewed-by: iwalulya, shade
2022-08-22 13:16:38 +00:00
Magnus Ihse Bursie
16593cf51c 8292717: Clean up checking of testing requirements in configure
Reviewed-by: erikj
2022-08-22 13:07:23 +00:00
Leo Korinth
c59f9b374b 8287828: Fix so that one can select jtreg test case by ID from make
Reviewed-by: erikj, iklam, ihse
2022-08-22 12:52:31 +00:00
Albert Mingkun Yang
476c484e37 8292656: G1: Remove G1HotCardCache::_use_cache
Reviewed-by: tschatzl, iwalulya
2022-08-22 12:38:00 +00:00
Prasanta Sadhukhan
a17fce7507 6445283: ProgressMonitorInputStream not large file aware (>2GB)
Reviewed-by: azvegint, prr
2022-08-22 11:13:33 +00:00
Julian Waters
1ed03d82b2 8292226: Prepare make for better Link Time Optimization support
Reviewed-by: ihse
2022-08-22 11:00:17 +00:00
KIRIYAMA Takuya
79597f1ea6 8272702: Resolving URI relative path with no / may lead to incorrect toString
Reviewed-by: dfuchs, michaelm
2022-08-22 09:22:59 +00:00
Thomas Schatzl
7b5f9edb59 8288966: Better handle very spiky promotion in G1
Reviewed-by: iwalulya, kbarrett
2022-08-22 09:07:34 +00:00
Bhavana Kilambi
07c797720d 8290249: Vectorize signum on AArch64
Reviewed-by: aph, ngasson
2022-08-22 09:01:08 +00:00
Thomas Schatzl
a3ec0bb03a 8253413: [REDO] [REDO] G1 incorrectly limiting young gen size when using the reserve can result in repeated full gcs
Reviewed-by: iwalulya, kbarrett
2022-08-22 08:48:52 +00:00
Ioi Lam
27b0f7726b 8292318: Memory corruption in remove_dumptime_info
Reviewed-by: coleenp, ccheung
2022-08-22 03:43:27 +00:00
Sergey Tsypanov
9a65524e2f 8290300: Use standard String-joining tools where applicable
Reviewed-by: naoto, rriggs, dfuchs
2022-08-21 17:22:10 +00:00
Thomas Stuefe
f9004fe443 8292561: Make "ReplayCompiles" a diagnostic product switch
Reviewed-by: kvn, xliu
2022-08-21 06:59:20 +00:00
Ioi Lam
2fbb936203 8292691: Move CompilerConfig::is_xxx() inline functions out of compilerDefinitions.hpp
Reviewed-by: kvn, iveresov
2022-08-20 23:17:57 +00:00
Kevin Walls
3601e30df7 8290909: MemoryPoolMBean/isUsageThresholdExceeded tests failed with "isUsageThresholdExceeded() returned false, and is still false, while threshold = MMMMMMM and used peak = NNNNNNN"
Reviewed-by: cjplummer, amenkov
2022-08-20 14:20:29 +00:00
Andrey Turbanov
37c0a13647 8292350: Use static methods for hashCode/toString primitives
Reviewed-by: prr, rriggs, amenkov, jpai
2022-08-20 10:05:48 +00:00
Vladimir Ivanov
44532009ff 8292628: x86: Improve handling of constants in trigonometric stubs
Reviewed-by: shade, kvn
2022-08-20 00:38:38 +00:00
Coleen Phillimore
07c9ba74fa 8292686: runtime/cds/appcds/TestWithProfiler.java SIGSEGV in TableStatistics ctr
Reviewed-by: dcubed, hseigel
2022-08-19 20:47:24 +00:00
Weijun Wang
235151ead8 8292676: Remove two kerberos tests from problem list
Reviewed-by: xuelei, hchao
2022-08-19 19:59:39 +00:00
Weijun Wang
df5209e70f 8292683: Remove BadKeyUsageTest.java from Problem List
Reviewed-by: xuelei, hchao
2022-08-19 19:58:44 +00:00
Weijun Wang
74d3330e10 8292682: Code change of JDK-8282730 not updated to reflect CSR update
Reviewed-by: xuelei, hchao
2022-08-19 19:57:42 +00:00
Ioi Lam
57aac2ab65 8290981: Enable CDS for zero builds
Co-authored-by: Aleksey Shipilev <shade@openjdk.org>
Reviewed-by: erikj, shade, ihse
2022-08-19 19:16:33 +00:00
Vladimir Ivanov
6a8a531359 8292564: x86: Remove redundant casts in Assembler usages
Reviewed-by: iveresov, kvn, shade
2022-08-19 19:13:26 +00:00
Ioi Lam
7244dd6fab 8292267: Clean up synchronizer.hpp
Reviewed-by: coleenp, dcubed, dholmes
2022-08-19 17:25:12 +00:00
Johan Sjölén
1f3578b79c 8292446: Make TableRateStatistics optional in CHT
Reviewed-by: coleenp, rehn
2022-08-19 16:39:32 +00:00
Robbin Ehn
45dec480ef 8292592: JFR test TestNative is not reliable due to low rate of sampling.
Reviewed-by: egahlin, shade
2022-08-19 16:05:08 +00:00
Joe Darcy
58aae340a9 8292576: Improve wording of AccessFlag-related specs
Reviewed-by: alanb
2022-08-19 15:56:12 +00:00
Brian Burkhalter
5ca268ca65 8292636: (dc) Problem listing of java/nio/channels/DatagramChannel/Unref.java has incorrect issue ID
Reviewed-by: jpai
2022-08-19 15:03:11 +00:00
Harold Seigel
37aa7c165d 8292559: Add test for -XX:+CheckJNICalls showing changed signal handlers
Reviewed-by: stuefe, coleenp
2022-08-19 12:19:35 +00:00
Pengfei Li
f2f0cd86bf 8292511: AArch64: Align CPU feature name for NEON with hwcap
Reviewed-by: aph, njian
2022-08-19 09:09:18 +00:00
Joe
1f484dae4e 8289562: Change bugs.java.com and bugreport.java.com URL's to https
Co-authored-by: Joe Cherian <joe.cherian@oracle.com>
Reviewed-by: prr, jjg, naoto, iris
2022-08-19 08:55:58 +00:00
Albert Mingkun Yang
63a126aa2d 8292607: Remove unused dirty and dirty_card_range_after_reset in CardTable
Reviewed-by: tschatzl
2022-08-19 08:43:20 +00:00
Axel Boldt-Christmas
7d18ebd870 8292606: G1 and Epsilon header cleanup for JDK-8282729
Reviewed-by: ayang, shade, tschatzl
2022-08-19 08:29:36 +00:00
Ioi Lam
2edd550105 8292312: Work around memset() called operator new
Reviewed-by: dcubed
2022-08-19 03:05:13 +00:00
Ioi Lam
964aac28fe 8292499: CDS ArchivedEnumTest.java fails: object points to a static field that may be reinitialized
Reviewed-by: dholmes, ccheung
2022-08-19 03:04:08 +00:00
Kim Barrett
f85411f24a 8292458: Atomic operations on scoped enums don't build with clang
Reviewed-by: eosterlund, stefank
2022-08-19 01:49:52 +00:00
Christian Stein
82dbe29fc8 8292633: runtime/cds/appcds/dynamicArchive/CDSStreamTestDriver.java fails to compile
Reviewed-by: dcubed, dholmes
2022-08-18 23:29:39 +00:00
Weijun Wang
54ce11431d 6587699: Document DigestInputStream behavior when skip() or mark() / reset() is used
Reviewed-by: wetmore
2022-08-18 22:35:13 +00:00
Daniel D. Daugherty
a1df2da668 8292632: compiler/sharedstubs/SharedTrampolineTest.java fails with "Error: VM option 'PrintRelocations' is develop and is available only in debug version of VM."
Reviewed-by: dholmes
2022-08-18 22:17:49 +00:00
Jonathan Gibbons
1b756bfa3a 8236048: Cleanup use of Utils.normalizeNewlines
Reviewed-by: hannesw
2022-08-18 21:57:05 +00:00
Tomas Zezula
97e2689470 8288121: [JVMCI] Re-export the TerminatingThreadLocal functionality to the graal compiler.
Reviewed-by: dnsimon, never
2022-08-18 21:53:04 +00:00
Tyler Steele
833bf06905 8292608: [AIX] Broken build after 8291945
Reviewed-by: shade
2022-08-18 18:02:46 +00:00
Christian Stein
62a7fc60d3 8292315: Tests should not rely on specific JAR file names (hotspot)
Reviewed-by: vromero
2022-08-18 17:26:14 +00:00
chigiriki
20a3cb7ce3 8292488: JFR: Incorrect comment in ActiveRecordingEvent
Reviewed-by: egahlin
2022-08-18 16:46:16 +00:00
Joe Darcy
f567fa0fd5 8292498: java/lang/invoke/lambda/LogGeneratedClassesTest.java failed with "AssertionError: only show error once expected [1] but found [0]"
Reviewed-by: psandoz, mchung, jpai, rriggs
2022-08-18 16:09:26 +00:00
Albert Mingkun Yang
d00e7b92b4 8292544: G1: Remove virtual specifier for methods in G1EdenRegions and G1SurvivorRegions
Reviewed-by: lkorinth, tschatzl
2022-08-18 14:00:36 +00:00
Coleen Phillimore
f2773f6404 8292556: Clean up unused Hashtable instantiations
Reviewed-by: hseigel, dholmes
2022-08-18 11:26:08 +00:00
Hannes Wallnöfer
d5435642f9 8289334: Use CSS variables to define fonts and colors
Reviewed-by: jjg
2022-08-18 09:02:16 +00:00
Christian Hagedorn
2ee9491a60 8289051: C2: Cleanup PhaseCCP::analyze()
Reviewed-by: thartmann, kvn
2022-08-18 07:36:15 +00:00
Christian Hagedorn
32d675ca60 8291775: C2: assert(r != __null && r->is_Region()) failed: this phi must have a region
Reviewed-by: thartmann, kvn
2022-08-18 07:35:14 +00:00
Harold Seigel
0d96546ab9 8292054: Test runtime/posixSig/TestPosixSig.java fails with 'Test failed, bad output.'
Reviewed-by: coleenp, stuefe
2022-08-17 19:56:14 +00:00
Aleksey Shipilev
e8bc87956a 8292443: Weak CAS VarHandle/Unsafe tests should test always-failing cases
Reviewed-by: psandoz
2022-08-17 18:13:49 +00:00
Yi-Fan Tsai
494d3873b1 8280152: AArch64: Reuse runtime call trampolines
Reviewed-by: aph, phh
2022-08-17 17:35:02 +00:00
Hannes Wallnöfer
8b4e6ba01f 8289332: Auto-generate ids for user-defined headings
Reviewed-by: jjg
2022-08-17 17:14:34 +00:00
Eric Caspole
0fc92637d2 8291828: Reduce runtime of java.util.stream microbenchmarks
Reviewed-by: rriggs
2022-08-17 15:00:02 +00:00
Aleksey Shipilev
e81210f5fe 8292352: 32-bit Windows build failures after JDK-8290059
Reviewed-by: stuefe
2022-08-17 13:25:02 +00:00
Coleen Phillimore
f45b8408a0 8292384: Convert AdapterHandlerTable to ResourceHashtable
Reviewed-by: hseigel, rehn
2022-08-17 12:53:05 +00:00
Aleksey Shipilev
0c67fba11f 8289049: x86_32 build fails with GCC 11 due to newString646_US warning
Reviewed-by: alanb, stuefe
2022-08-17 12:52:17 +00:00
Prasanta Sadhukhan
bf7d6d3a0f 7132413: [macosx] closed/javax/swing/AbstractButton/5049549/bug5049549.java fails on MacOS
Reviewed-by: azvegint, dnguyen
2022-08-17 12:46:27 +00:00
Coleen Phillimore
e230719ad3 8292448: Convert BitMapFragmentTable to ResourceHashtable
Reviewed-by: iklam, rehn
2022-08-17 12:18:05 +00:00
Hao Sun
f75da2235a 8292395: [testbug] VectorGatherScatterTest.java fails on SVE with -XX:MaxVectorSize=8 after JDK-8288397
Reviewed-by: chagedorn, thartmann
2022-08-17 10:30:18 +00:00
Volker Simonis
802ef38060 8292327: java.io.EOFException in InflaterInputStream after JDK-8281962
Reviewed-by: alanb, lancea
2022-08-17 09:34:41 +00:00
Ao Qi
e61f6fc394 8292362: java/lang/Thread/jni/AttachCurrentThread/AttachTest.java#id1 failed on some platforms
Co-authored-by: Alan Bateman <alanb@openjdk.org>
Reviewed-by: alanb
2022-08-17 08:32:19 +00:00
Alan Bateman
0bfb12162f 8292051: jdk/internal/misc/TerminatingThreadLocal/TestTerminatingThreadLocal.java failed "AssertionError: Expected terminated values: [666] but got: []"
Co-authored-by: Peter Levart <plevart@openjdk.org>
Reviewed-by: plevart
2022-08-17 07:28:41 +00:00
Andrey Turbanov
1d9c2f7a6e 8292279: (fs) Use try-with-resources to release NativeBuffer
Reviewed-by: alanb
2022-08-17 07:18:29 +00:00
Roberto Castañeda Lozano
a25e1dc53c 8292285: C2: remove unreachable block after NeverBranch-to-Goto conversion
Reviewed-by: thartmann, chagedorn, kvn
2022-08-17 06:25:25 +00:00
Hannes Wallnöfer
1ef4e48488 8273860: Javadoc Deprecated API list should not use italic font for description column
Reviewed-by: jjg
2022-08-17 05:34:44 +00:00
Hao Sun
0cc66aeae8 8285790: AArch64: Merge C2 NEON and SVE matching rules
Co-authored-by: Ningsheng Jian <njian@openjdk.org>
Co-authored-by: Eric Liu <eliu@openjdk.org>
Reviewed-by: adinn, aph, xgong
2022-08-17 03:51:46 +00:00
Daniel D. Daugherty
da477b1366 8292509: ProblemList java/lang/invoke/lambda/LogGeneratedClassesTest.java on windows
8292510: ProblemList runtime/cds/appcds/cacheObject/ArchivedEnumTest.java

Reviewed-by: darcy
2022-08-16 23:02:23 +00:00
Phil Race
01b87ba8e2 8289616: Drop use of Thread.stop in AppContext
Reviewed-by: alanb, iris, azvegint
2022-08-16 22:53:36 +00:00
Joe Darcy
e44e3f0c19 8289106: Add model of class file versions to core reflection
Reviewed-by: rriggs
2022-08-16 18:43:58 +00:00
Calvin Cheung
c3d3662e52 8292313: 2 runtime/cds/appcds tests fail after JDK-8284313
Reviewed-by: hseigel, iklam
2022-08-16 16:26:59 +00:00
jquanC
3e122419b2 8290775: Some doc errors in DerOutputStream.java
Reviewed-by: xuelei
2022-08-16 14:46:14 +00:00
Aleksey Shipilev
ec53fba039 8292361: Build failure on PPC64 BE after JDK-8290840
Reviewed-by: stefank, stuefe
2022-08-16 10:57:41 +00:00
Jaikiran Pai
4cc6cb9d9d 8290041: ModuleDescriptor.hashCode is inconsistent
Reviewed-by: alanb
2022-08-16 08:31:36 +00:00
Fei Yang
d1edda8ff5 8292338: aarch64: Use cbnz instruction in gen_continuation_enter when possible
Reviewed-by: haosun, shade, aph
2022-08-16 07:18:30 +00:00
Tejesh R
21f4eb2233 6521141: DebugGraphics NPE @ setFont();
Reviewed-by: prr
2022-08-16 05:52:50 +00:00
Coleen Phillimore
6e6ae596d6 8292286: Convert PlaceholderTable to ResourceHashtable
Reviewed-by: hseigel, iklam
2022-08-15 21:53:02 +00:00
Xue-Lei Andrew Fan
ea2c82e74f 8291949: Unexpected extending of SupportedGroups
Reviewed-by: djelinski, wetmore
2022-08-15 17:00:15 +00:00
Eric Caspole
b5707b0376 8292196: Reduce runtime of java.util.regex microbenchmarks
Reviewed-by: rriggs
2022-08-15 16:54:39 +00:00
Julian Waters
b00eedeb02 8291511: Redefinition of EXIT_FAILURE in libw2k_lsa_auth
Reviewed-by: weijun
2022-08-15 16:27:45 +00:00
Eric Caspole
3a090777ba 8291337: Reduce runtime of vm.lamdba microbenchmarks
Reviewed-by: rriggs
2022-08-15 16:08:39 +00:00
Patricio Chilano Mateo
dd2034b007 8291972: Fix double copy of arguments when thawing two interpreted frames
Co-authored-by: Richard Reingruber <rrich@openjdk.org>
Co-authored-by: Patricio Chilano Mateo <pchilanomate@openjdk.org>
Reviewed-by: rpressler, rehn, rrich
2022-08-15 14:34:54 +00:00
Christian Stein
aa5b718933 8292182: [TESTLIB] Enhance JAXPPolicyManager to setup required permissions for jtreg version 7 jar
Reviewed-by: joehw, lancea, iris, naoto
2022-08-15 13:34:19 +00:00
Tobias Hartmann
695bb39391 8292347: Remove unused Type::is_ptr_to_boxing_obj
Reviewed-by: chagedorn, rcastanedalo
2022-08-15 10:55:45 +00:00
Albert Mingkun Yang
ec96b1f187 8290291: G1: Merge multiple calls of block_size in HeapRegion::block_start
Reviewed-by: tschatzl, iwalulya
2022-08-15 10:18:28 +00:00
Axel Boldt-Christmas
fd4b2f2868 8291718: Remove mark_for_deoptimization from klass unloading
Reviewed-by: eosterlund, dlong
2022-08-15 09:53:39 +00:00
Sean Coffey
9d7c13eb14 8155246: Throw error if default java.security file is missing
Reviewed-by: mullan
2022-08-15 09:07:17 +00:00
Christian Hagedorn
e89abb7d2d 8292190: [IR Framework] Remove redundant regex matching for failing counts constraints
Reviewed-by: kvn, rcastanedalo, thartmann
2022-08-15 06:08:08 +00:00
David Holmes
77cd917a97 Merge 2022-08-14 20:05:10 +00:00
Thomas Stuefe
1c1c4410b2 8292072: NMT: repurpose Tracking overhead counter as global malloc counter
Reviewed-by: iklam, clanger
2022-08-13 18:40:29 +00:00
Daniel D. Daugherty
d546d13861 8292319: ProblemList 2 runtime/cds/appcds tests due to JDK-8292313
Reviewed-by: kvn
2022-08-13 15:06:31 +00:00
Artem Semenov
8353a33350 8286313: [macos] Voice over reads the boolean value as null in the JTable
Reviewed-by: prr, kizune
2022-08-13 05:56:37 +00:00
Daniel D. Daugherty
e70747b4e9 8292305: [BACKOUT] JDK-8289208 Test DrawRotatedStringUsingRotatedFont.java occasionally crashes on MacOS
Reviewed-by: prr, dholmes
2022-08-12 21:31:04 +00:00
Vladimir Kozlov
967a28c3d8 8292260: [BACKOUT] JDK-8279219: [REDO] C2 crash when allocating array of size too large
Reviewed-by: vlivanov
2022-08-12 20:24:53 +00:00
Calvin Cheung
22d6d315f2 8284313: Improve warning messages when CDS archive fails to load
Reviewed-by: iklam, dholmes
2022-08-12 16:39:55 +00:00
Maxim Kartashev
00decca46a 8289208: Test DrawRotatedStringUsingRotatedFont.java occasionally crashes on MacOS
Reviewed-by: prr, avu
2022-08-12 15:37:18 +00:00
Coleen Phillimore
9f8cc42135 8292218: Convert PackageEntryTable to ResourceHashtable
Reviewed-by: lfoltan, iklam, dholmes
2022-08-12 12:37:27 +00:00
Alexey Ushakov
871b7dab14 8291266: RenderPerfTest: missing content while rendering some primitives
Reviewed-by: aghaisas, prr
2022-08-12 09:48:57 +00:00
Jan Lahoda
0c40128fec 7194212: NPE in Flow.visitIdent
Reviewed-by: vromero
2022-08-12 08:12:28 +00:00
David Holmes
6eb7c3ad0e 8290732: JNI DestroyJavaVM can start shutdown when one non-daemon thread remains
Reviewed-by: stuefe, rehn
2022-08-12 06:41:22 +00:00
Daniel Jeliński
083e014d0c 8292233: Increase symtab hash table size
Reviewed-by: kevinw, cjplummer
2022-08-12 05:25:46 +00:00
Daniel Jeliński
45e5b31a18 8292244: Remove unnecessary include directories
Reviewed-by: erikj, prr
2022-08-12 05:23:54 +00:00
Ioi Lam
9bfffa082e 8291945: Add OSInfo API for static OS information
Reviewed-by: dholmes, stuefe
2022-08-11 23:14:14 +00:00
Ioi Lam
bd5855337c 8290833: Remove ConstantPoolCache::walk_entries_for_initialization()
Reviewed-by: coleenp, ccheung
2022-08-11 21:48:34 +00:00
Vladimir Ivanov
755ecf6b73 8292153: x86: Represent Registers as values
Reviewed-by: kvn, aph
2022-08-11 21:16:02 +00:00
Ao Qi
dedc05cb40 8291640: java/beans/XMLDecoder/8028054/Task.java should use the 3-arg Class.forName
Co-authored-by: Alan Bateman <alanb@openjdk.org>
Reviewed-by: alanb, prr
2022-08-11 19:30:20 +00:00
Julian Waters
3d20a8b20a 8291959: FileFontStrike#initNative does not properly initialize IG Table on Windows
Reviewed-by: prr
2022-08-11 19:27:24 +00:00
Claes Redestad
a28ab7b62a 8288568: Reduce runtime of java.security microbenchmarks
Reviewed-by: ecaspole, hchao, rriggs
2022-08-11 15:28:45 +00:00
Bill Huang
7ea9ba1f6c 8292064: Convert java/lang/management/MemoryMXBean shell tests to java version
Reviewed-by: lmesnik, sspitsyn
2022-08-11 14:34:01 +00:00
Ichiroh Takiguchi
fc1d94ef1a 8292232: AIX build failure by JDK-8290840
Reviewed-by: jiefu, stuefe
2022-08-11 14:01:18 +00:00
Coleen Phillimore
a9bc149992 8292216: Remove modules/packages_unloading_do
Reviewed-by: dholmes
2022-08-11 12:17:02 +00:00
Erik Österlund
1c0f0f4211 8292077: G1 nmethod entry barriers don't keep oops alive
Reviewed-by: tschatzl, stefank, vlivanov
2022-08-11 11:45:11 +00:00
Andrey Turbanov
ad5f628c58 8292140: (fs) Needless instanceof check in RegistryFileTypeDetector
Reviewed-by: alanb
2022-08-11 06:24:04 +00:00
Andrey Turbanov
2ddf72874f 8292026: Remove redundant allocations from DoubleByteEncoder
Reviewed-by: prr
2022-08-11 06:23:01 +00:00
Thomas Stuefe
3aaffd6309 8292071: NMT: move MallocHeader to its own header and inline header checks
Reviewed-by: mbaesken, lucy, iklam
2022-08-11 05:26:56 +00:00
David Holmes
85a602355f Merge 2022-08-11 05:14:13 +00:00
Jaikiran Pai
4b03e135e1 8285405: add test and check for negative argument to HashMap::newHashMap et al
Reviewed-by: chegar, naoto, lancea, smarks
2022-08-11 02:17:01 +00:00
Feilong Jiang
2e0a17c560 8292187: aarch64: Remove duplicate header files
Reviewed-by: aph, ngasson
2022-08-11 00:55:08 +00:00
Leonid Mesnik
36ef4c1a92 8291081: Some sun/tools/jstatd/TestJstatd* tests fail with "Not a percentage\: 68.31\: expected true, was false"
Reviewed-by: kevinw, cjplummer
2022-08-11 00:30:19 +00:00
Coleen Phillimore
b47438cabc 8292068: Convert ModuleEntryTable into ResourceHashtable
Reviewed-by: iklam, lfoltan
2022-08-10 22:04:33 +00:00
Alex Kasko
543163a03b 8291978: jpackage: allow to override primary l10n files on Windows
Reviewed-by: asemenyuk, almatvee, naoto
2022-08-10 20:34:51 +00:00
Joe Darcy
68af7c1365 8291734: Return accurate ACC_SUPER access flag for classes
Reviewed-by: mchung
2022-08-10 19:55:57 +00:00
Alex Kasko
e4925a3959 8291924: jpackage: l10n for Windows context menu label
Reviewed-by: naoto, asemenyuk, almatvee
2022-08-10 19:17:42 +00:00
Daniel Jeliński
7b029ea6ba 8227651: Tests fail with SSLProtocolException: Input record too big
8212096: javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch

Reviewed-by: coffeys, xuelei
2022-08-10 18:16:10 +00:00
Brian Burkhalter
35fd5d88eb 8292200: Add java/io/File/GetXSpace.java to Windows problem list
Reviewed-by: alanb
2022-08-10 18:09:54 +00:00
David Schlosnagle
9825c33560 8291641: Optimize StackTraceElement.toString()
Reviewed-by: rriggs, mchung
2022-08-10 16:22:19 +00:00
Evgeny Astigeevich
cb37282a12 8291752: AArch64: Remove check_emit_size parameter from trampoline_call
Reviewed-by: kvn, aph
2022-08-10 14:56:17 +00:00
Lance Andersen
4c6d22a6ce 8288769: Revert unintentional change to deflate.c
Reviewed-by: iris, bpb, alanb
2022-08-10 14:40:10 +00:00
Aleksey Shipilev
37d3146cca 8289002: Minimal x86_64 VM build fails with GCC 11: 'this' pointer is null
Reviewed-by: dholmes, aph
2022-08-10 13:26:56 +00:00
Tejesh R
ecfa38ffa8 8281966: Absolute path of symlink is null in JFileChooser
Reviewed-by: aivanov, psadhukhan
2022-08-10 11:43:02 +00:00
Thomas Schatzl
5fce02e39a 8291496: Allocating card table before heap causes underflow asserts in CardTable::addr_for()
Co-authored-by: Albert Mingkun Yang <ayang@openjdk.org>
Reviewed-by: kbarrett, iwalulya
2022-08-10 09:40:43 +00:00
Prasanta Sadhukhan
83dc2e3e45 8292062: misc javax/swing tests failing
Reviewed-by: prr
2022-08-10 03:42:12 +00:00
Ioi Lam
49133809c2 8292007: Do not include vmSymbol.hpp in method.hpp
Reviewed-by: coleenp
2022-08-10 02:59:53 +00:00
Brian Burkhalter
6397d564a5 8151430: (fs) BasicFileAttributeView.setTimes should support setting file create time on OS X
Reviewed-by: alanb
2022-08-09 22:29:04 +00:00
Alisen Chung
0def5316cd 8290889: JDK 19 RDP2 L10n resource files update - msgdrop 10
Reviewed-by: naoto, asemenyuk
2022-08-09 22:27:58 +00:00
Daniel D. Daugherty
57e0da1578 8292132: ProblemList jdk/internal/misc/TerminatingThreadLocal/TestTerminatingThreadLocal.java
Reviewed-by: bpb
2022-08-09 19:26:28 +00:00
Daniel D. Daugherty
17c77b5d7a 8292119: ProblemList java/awt/image/multiresolution/MultiresolutionIconTest.java on linux-x64 and windows-all
Reviewed-by: naoto, prr
2022-08-09 18:50:56 +00:00
Bill Huang
d889264c61 8290836: Improve test coverage for XPath functions: String Functions
8290837: Improve test coverage for XPath functions: Boolean Functions
8290838: Improve test coverage for XPath functions: Number Functions

Reviewed-by: joehw
2022-08-09 18:26:54 +00:00
Joe Darcy
ae1a9a0b25 8292060: Make ClassFileVersionTest.java version adapting
Reviewed-by: hseigel
2022-08-09 17:55:18 +00:00
Brian Burkhalter
4040927d17 8290047: (fs) FileSystem.getPathMatcher does not check for ":" at last index
Reviewed-by: naoto, rriggs, alanb, lancea
2022-08-09 17:07:14 +00:00
Calvin Cheung
8d0d9eaa9c 8291238: JDK can't be built without G1
Reviewed-by: stuefe, jiefu
2022-08-09 16:30:44 +00:00
Richard Reingruber
aff7689a00 8292075: Remove deleted test compiler/rangechecks/TestRangeCheckHoistingScaledIV.java from ProblemList
Reviewed-by: chagedorn, pli
2022-08-09 15:21:28 +00:00
Abhishek Kumar
3677b55b45 6391806: JLabel and AbstractButton's imageUpdate method should be better specified
Reviewed-by: psadhukhan, prr
2022-08-09 12:27:05 +00:00
Thomas Schatzl
0ade2641f7 8290814: Hide G1RootRegions behind G1ConcurrentMark
Reviewed-by: sangheki, iwalulya
2022-08-09 12:01:58 +00:00
Coleen Phillimore
f5b3618c42 8291970: Add TableStatistics get function to ResourceHashtable
Reviewed-by: iklam, ccheung
2022-08-09 11:59:02 +00:00
Tejesh R
cbc9040f3a 8290278: JavaDoc of index parameter of method JTabbedPane.insertTab
Reviewed-by: psadhukhan, prr, honkar
2022-08-09 11:53:41 +00:00
ScientificWare
2712bc3f79 8289741: Remove unused imports from DTDBuilder.java
Reviewed-by: jpai
2022-08-09 08:40:24 +00:00
Koichi Sakata
af243ca334 8265433: IGV: add graph tooltips with properties
Reviewed-by: rcastanedalo, tholenstein
2022-08-09 08:18:44 +00:00
Sergey Bylokhov
77398430b5 8288633: The ICC_ColorSpace.fromCIEXYZ method uses the wrong rendering intent
Reviewed-by: prr
2022-08-08 21:50:16 +00:00
Daniel D. Daugherty
eb8b789015 8292061: ProblemList serviceability/attach/ConcAttachTest.java on linux-all
Reviewed-by: darcy
2022-08-08 19:39:02 +00:00
Mark Powers
08274e6fea 8290975: Minor cleanup could be done in javax.security
Reviewed-by: wetmore, mullan
2022-08-08 17:30:22 +00:00
Ramkumar Sunderbabu
7db5abddd1 8282642: vmTestbase/gc/gctests/LoadUnloadGC2/LoadUnloadGC2.java fails intermittently with exit code 1
Reviewed-by: lmesnik
2022-08-08 15:07:48 +00:00
Bill Huang
124fc4a83d 8290180: Convert com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh to jtreg java version
8290181: convert com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh to java version

Reviewed-by: lmesnik, amenkov
2022-08-08 15:06:49 +00:00
Thomas Schatzl
459193710f 8290357: Drop HeapRegion::marked_bytes()
Reviewed-by: sangheki, iwalulya
2022-08-08 13:28:39 +00:00
Thomas Schatzl
7676be8a99 8291037: Move PLAB resizing mechanism to G1EvacStats
Reviewed-by: sangheki, iwalulya
2022-08-08 12:50:52 +00:00
Peter Levart
861cc671e2 8291897: TerminatingThreadLocal(s) not registered from virtual thread(s)
Reviewed-by: alanb
2022-08-08 12:38:21 +00:00
Harold Seigel
8d88be233b 8291459: JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*)
Reviewed-by: dholmes, coleenp
2022-08-08 12:19:15 +00:00
Julian Waters
8a804f653d 8291454: Missing check for JLI C runtime library in CoreLibraries.gmk
Reviewed-by: erikj, ihse
2022-08-08 12:17:48 +00:00
Yadong Wang
5a539e8da7 8291893: riscv: remove fence.i used in user space
Reviewed-by: fyang, vkempik
2022-08-08 11:47:36 +00:00
Prasanta Sadhukhan
b2f0cbdca1 8064787: [macosx] In Nimbus LaF, Ctrl+Alt mnemonic doesn't work
Reviewed-by: prr, dnguyen
2022-08-08 11:40:21 +00:00
Harshitha Onkar
891df2128a 8259687: JTabbedPane.setComponentAt doesn't hide previously visible tab component
Reviewed-by: psadhukhan, dnguyen
2022-08-08 11:39:17 +00:00
thyecust
d4fb91ba04 8291956: Simplify the loop condition in sun.net.httpserver.Request constructor
Co-authored-by: Tian Haoyu <tienhoayu@gmail.com>
Reviewed-by: dfuchs, chegar
2022-08-08 11:25:45 +00:00
Tobias Holenstein
20123ea4de 8291901: IGV: Preference menu disappears after JDK-8288750
Reviewed-by: rcastanedalo, thartmann
2022-08-08 08:03:21 +00:00
raspberry-hu
8e2c006cd1 8291957: Redundant import statements in sun.security.ec
Reviewed-by: xuelei
2022-08-08 02:49:44 +00:00
Andrey Turbanov
ae52053757 8291954: Use Optional.isEmpty instead of !Optional.isPresent in java.base
Reviewed-by: jpai, alanb, lancea, rriggs, bpb
2022-08-06 09:53:35 +00:00
David Holmes
87cda21c5d Merge 2022-08-05 22:35:24 +00:00
Joe Darcy
0657acf534 8289249: Add methods to Elements for record constructors
Reviewed-by: vromero
2022-08-05 22:18:59 +00:00
Daniel D. Daugherty
b66a0d1613 8291992: [REDO2] ProblemList multiple tests in -Xcomp mode due to JDK-8291649
Reviewed-by: bpb
2022-08-05 21:56:54 +00:00
Daniel D. Daugherty
9bff3b76f2 8291990: [REDO] ProblemList multiple tests in -Xcomp mode due to JDK-8291649
Reviewed-by: bpb
2022-08-05 21:36:11 +00:00
Thomas Schatzl
f9bb3676e3 8291653: G1 refinement incorrectly expects always-valid HeapRegion out of the Hot Card Cache
Reviewed-by: kbarrett, ayang
2022-08-05 16:20:27 +00:00
Michael McMahon
b17a745d7f 8291637: HttpClient default keep alive timeout not followed if server sends invalid value
Reviewed-by: jpai, dfuchs
2022-08-05 14:51:58 +00:00
Claes Redestad
0da4314e95 8288732: Reduce runtime of java.util.concurrent microbenchmarks
Reviewed-by: ecaspole, rriggs
2022-08-05 14:35:45 +00:00
Yadong Wang
88c96dd3eb 8291947: riscv: fail to build after JDK-8290840
Reviewed-by: fyang, fjiang
2022-08-05 09:12:29 +00:00
Axel Boldt-Christmas
dd7f2d912b 8290090: Change CodeBlobType from unscoped enum to enum class
Reviewed-by: eosterlund, kvn
2022-08-05 08:24:25 +00:00
Fei Yang
4c652d9eca 8291952: riscv: Remove PRAGMA_NONNULL_IGNORED
Reviewed-by: yadongwang, shade
2022-08-05 07:51:05 +00:00
Alan Bateman
5963300c0c 8290562: ThreadMXBean.getThread{Cpu,User}Time fails with -XX:-VMContinuations
Reviewed-by: sspitsyn, kevinw, mchung
2022-08-05 07:39:43 +00:00
Tobias Holenstein
b0d6952811 8291823: IGV: Fix "Save selected groups"
Reviewed-by: rcastanedalo, kvn, thartmann
2022-08-05 07:04:37 +00:00
Tobias Holenstein
504a626597 8291799: IGV: make "Selection mode" a toggle button
Reviewed-by: kvn, thartmann, rcastanedalo
2022-08-05 07:00:15 +00:00
Andrey Turbanov
6e7cd7627d 8291061: Improve thread safety of FileTime.toString and toInstant
Reviewed-by: alanb
2022-08-05 06:56:20 +00:00
David Holmes
477f471159 Merge 2022-08-05 03:52:15 +00:00
Bhavana Kilambi
6b2184e8d1 8290248: Implement MaxINode::Ideal transformation
Reviewed-by: kvn, thartmann
2022-08-05 01:51:34 +00:00
Calvin Cheung
27c8826090 8291840: Avoid JavaCalls for setting up _java_system_loader and _java_platform_loader
Reviewed-by: coleenp, iklam
2022-08-04 23:56:11 +00:00
Daniel D. Daugherty
6e6c64c6f6 8291941: ProblemList java/lang/ProcessBuilder/PipelineLeaksFD.java on linux-all
Reviewed-by: dholmes
2022-08-04 22:50:24 +00:00
Coleen Phillimore
617a196fd3 8290812: Add a test for ResourceHashtable
Reviewed-by: stuefe, iklam
2022-08-04 22:42:41 +00:00
Jie Fu
1edc245574 8291899: Zero VM is broken on MacOS after JDK-8290840 due to os::setup_fpu() is missing
Reviewed-by: shade
2022-08-04 22:23:56 +00:00
Phil Race
6ad6b1c454 8272998: ImageIO.read() throws incorrect exception type
Reviewed-by: aivanov, dnguyen
2022-08-04 20:51:48 +00:00
Alisen Chung
90257f9505 8169187: [macosx] Aqua: java/awt/image/multiresolution/MultiresolutionIconTest.java
Reviewed-by: prr, dnguyen
2022-08-04 20:37:12 +00:00
Daniel D. Daugherty
c48cd88652 8291926: ProblemList multiple tests in -Xcomp mode due to JDK-8291649
Reviewed-by: rriggs
2022-08-04 19:49:15 +00:00
Gaurav Chaudhari
3c3256414f 8288377: [REDO] DST not applying properly with zone id offset set with TZ env variable
Reviewed-by: naoto
2022-08-04 18:49:05 +00:00
Ioi Lam
fd9ac62161 8291457: Clean up lifecycle of CDS dump-time data structures
Reviewed-by: coleenp, ccheung
2022-08-04 18:10:21 +00:00
Vicente Romero
3ba317167d 8285935: Spurious lint warning for static method accessed through instance qualifier
Reviewed-by: jlahoda
2022-08-04 17:57:28 +00:00
Peter Levart
4b3dfe1d22 8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs
Backport-of: d4a795d75a
2022-08-04 16:53:57 +00:00
Quan Anh Mai
92d2982f3f 8283232: x86: Improve vector broadcast operations
Reviewed-by: kvn, jbhateja
2022-08-04 16:27:45 +00:00
Andrew Haley
966ab219b4 8291895: Remove PRAGMA_NONNULL_IGNORED from x86 and AArch64
Reviewed-by: shade
2022-08-04 16:11:01 +00:00
Sergey Tsypanov
aa557b9b01 8288327: Executable.hasRealParameterData should not be volatile
Reviewed-by: plevart
2022-08-04 15:15:49 +00:00
Peter Levart
d4a795d75a 8283276: java/io/ObjectStreamClass/ObjectStreamClassCaching.java fails with various GCs
Reviewed-by: rkennke, shade
2022-08-04 13:25:15 +00:00
Harold Seigel
a3040fcc2b 8291360: Create entry points to expose low-level class file information
Reviewed-by: dholmes, rriggs
2022-08-04 13:13:01 +00:00
Daniel Jeliński
ce61eb6ff9 8290349: IP_DONTFRAGMENT doesn't set DF bit in IPv4 header
Reviewed-by: michaelm, alanb
2022-08-04 10:52:15 +00:00
Prasanta Sadhukhan
26e5c112da 4890041: Remove TAB and Shift TAB from Popup Menu in Motif Look & Feel
Reviewed-by: azvegint, prr
2022-08-04 09:15:15 +00:00
David Holmes
0bc804d6ef 8291762: Backout JDK-8291757 from jdk/jdk
Reviewed-by: alanb
2022-08-04 07:42:48 +00:00
David Holmes
3493973186 Merge 2022-08-04 07:14:59 +00:00
Daniel Jeliński
4772354f4c 8291825: java/time/nontestng/java/time/zone/CustomZoneNameTest.java fails if defaultLocale and defaultFormatLocale are different
Reviewed-by: naoto
2022-08-04 06:57:35 +00:00
David Holmes
43bb399375 8291757: Remove EA from JDK 19 version string starting with Initial RC promotion B35 on August 11, 2022
Reviewed-by: alanb
2022-08-04 06:51:37 +00:00
Tobias Hartmann
1a6c83b771 8291798: VMRegImpl::print_on is broken after JDK-8289060
Reviewed-by: shade, jiefu, kvn, dlong
2022-08-04 05:02:16 +00:00
Ioi Lam
b6b0317f83 8290840: Refactor the "os" class
Reviewed-by: dholmes, gziemski, stuefe, stefank
2022-08-04 01:20:29 +00:00
Daniel D. Daugherty
4cfbb3b5ec Merge 2022-08-03 22:31:18 +00:00
Justin Gu
13f0f126b9 8290370: Convert SymbolPropertyTable to ResourceHashtable
Reviewed-by: coleenp, iklam
2022-08-03 19:53:30 +00:00
Vicente Romero
67f001186b 8260892: Compilation fails: lambda parameter not visible in body when generics involved
Reviewed-by: jlahoda
2022-08-03 19:19:34 +00:00
Eric Caspole
1b66cecd31 8291729: Reduce runtime of vm.compiler microbenchmarks
Reviewed-by: kvn
2022-08-03 18:01:26 +00:00
Ao Qi
0cc49fd9ea 8291508: Fix some tests with "requires vm.jvmti & vm.continuations"
Reviewed-by: sspitsyn, lmesnik, alanb
2022-08-03 17:33:11 +00:00
Aleksey Shipilev
c89556f6cd 8291633: Build failures with GCC 11, Alpine 3 due to incompatible casts from nullptr
Reviewed-by: stuefe, mbaesken, jiefu
2022-08-03 16:43:20 +00:00
Marc R. Hoffmann
4d6e6f6741 8291822: ARM32: Build errors with GCC 11 in frame::saved_oop_result
Reviewed-by: shade, stuefe
2022-08-03 16:40:03 +00:00
Naoto Sato
e52a340d7f 8290488: IBM864 character encoding implementation bug
Reviewed-by: iris, joehw, alanb
2022-08-03 15:59:43 +00:00
Daniel Jeliński
af529be069 8285836: sun/net/www/http/KeepAliveCache/KeepAliveProperty.java failed with "RuntimeException: Failed in server"
Reviewed-by: dfuchs, jpai
2022-08-03 14:51:28 +00:00
Thomas Schatzl
e265b2a291 8290867: Race freeing remembered set segments
Reviewed-by: kbarrett, sangheki
2022-08-03 14:26:06 +00:00
Coleen Phillimore
b7d2bde8e3 8291733: Remove JFR events that expose hashtable
Reviewed-by: egahlin
2022-08-03 13:06:53 +00:00
David Holmes
0971d34646 Merge 2022-08-03 08:11:10 +00:00
Serguei Spitsyn
0ae8341057 8290908: misc tests fail: assert(!thread->owns_locks()) failed: must release all locks when leaving VM
Reviewed-by: cjplummer, amenkov
2022-08-02 22:41:17 +00:00
Chris Plummer
5acf2d7cb4 8291578: Remove JMX related tests from ProblemList-svc-vthreads.txt
Reviewed-by: sspitsyn, kevinw, lmesnik
2022-08-02 21:15:01 +00:00
Chris Plummer
a6564d495b 8291650: Add delay to ClassUnloadEventTest before exiting to give time for JVM to send all events before VMDeath
Reviewed-by: sspitsyn, amenkov
2022-08-02 21:13:00 +00:00
Erik Gahlin
54c093ab0e 8291524: jdk/jfr/event/runtime/TestClassLoaderStatsEvent.java Value not equal to 2, field='hiddenClassCount', value='0'
Reviewed-by: hseigel
2022-08-02 14:41:38 +00:00
Evgeny Astigeevich
af76c0c199 8291654: AArch64: assert from JDK-8287393 causes crashes
Reviewed-by: dholmes, xliu, phh
2022-08-02 12:01:25 +00:00
Johan Sjölén
a9db5bb373 8291626: Remove Mutex::contains as it is unused
Reviewed-by: stefank, dholmes
2022-08-02 10:38:31 +00:00
Pengfei Li
a2cff2634c 8291597: [BACKOUT] JDK-8289996: Fix array range check hoisting for some scaled loop iv
Reviewed-by: kvn, thartmann
2022-08-02 06:50:55 +00:00
Weijun Wang
554f44ecb1 8282730: LdapLoginModule throw NPE from logout method after login failure
Reviewed-by: mullan
2022-08-01 22:28:30 +00:00
Coleen Phillimore
f714ac52bf 8290718: Remove ALLOCATION_SUPER_CLASS_SPEC
Reviewed-by: zgu, iklam
2022-08-01 21:26:36 +00:00
Evgeny Astigeevich
6cbc234ad1 8287393: AArch64: Remove trampoline_call1
Reviewed-by: aph, phh
2022-08-01 19:52:42 +00:00
Bill Huang
57bf603b73 8289948: Improve test coverage for XPath functions: Node Set Functions
Reviewed-by: joehw
2022-08-01 16:37:22 +00:00
Gerard Ziemski
1df77ec137 8291060: OPEN_MAX is no longer the max limit on macOS >= 10.6 for RLIMIT_NOFILE
Reviewed-by: dholmes, dcubed
2022-08-01 16:07:11 +00:00
Aleksey Shipilev
fcc119531a 8290531: Loom: Parallelize a few tests more deeply
Reviewed-by: rpressler, jpai, alanb
2022-08-01 14:20:27 +00:00
Roger Riggs
226b8e680a 8290885: java/lang/ProcessBuilder/PipelineLeaksFD.java fail: More or fewer pipes than expected
Reviewed-by: bpb, naoto, jpai
2022-08-01 13:44:21 +00:00
Matthias Baesken
464085ed90 8291558: unify print_jni_name_prefix_on and print_jni_name_suffix_on on posix platforms
Reviewed-by: dholmes, stuefe
2022-08-01 13:24:31 +00:00
Prasanta Sadhukhan
f5d1b5bda2 6463708: DefaultButtonModel.setMnemonic generates ChangeEvent for no change
Reviewed-by: azvegint, prr
2022-08-01 11:08:56 +00:00
Thomas Schatzl
30205bb289 8290966: G1: Record number of PLAB filled and number of direct allocations
Reviewed-by: sangheki, kbarrett
2022-08-01 09:53:37 +00:00
Andrew Haley
86ef7b20eb 8289046: Undefined Behaviour in x86 class Assembler
Reviewed-by: shade, kvn
2022-08-01 08:57:49 +00:00
KIRIYAMA Takuya
d61c0c79cf 8290497: some tests in com/sun/jdi fail on localized Windows platform
Reviewed-by: sspitsyn, cjplummer, amenkov
2022-08-01 08:12:25 +00:00
Thomas Stuefe
7ff19694df 8290067: Show stack dimensions in UL logging when attaching threads
Reviewed-by: dholmes, mbaesken
2022-08-01 08:03:52 +00:00
Axel Boldt-Christmas
257c71c35f 8290062: Remove nmethodLocker for nmethods on-stack
Reviewed-by: eosterlund, kvn
2022-08-01 05:23:39 +00:00
Aleksey Shipilev
d9cb410efc 8290466: Default to --with-source-date=current to avoid unmodified Hotspot recompilation
Reviewed-by: erikj, ihse
2022-07-31 18:52:16 +00:00
Aleksey Shipilev
acbe093a66 8291559: x86: compiler/vectorization/TestReverseBitsVector.java fails
Reviewed-by: kvn
2022-07-31 18:49:21 +00:00
Thomas Stuefe
32d410a1af 8290868: NMT: MallocSiteTable statistics improvements
Reviewed-by: zgu, lucy
2022-07-30 13:03:25 +00:00
Johan Sjölén
357902415d 8288904: Incorrect memory ordering in UL
Reviewed-by: rehn, dholmes
2022-07-30 07:34:39 +00:00
Joe Wang
470c0eb216 8290740: Catalog not used when the handler is null
Reviewed-by: lancea, naoto, iris
2022-07-30 01:42:05 +00:00
Yasumasa Suenaga
dd9bd31b86 8289688: jfr command hangs when it processes invalid file
Reviewed-by: egahlin
2022-07-29 23:30:58 +00:00
Jonathan Gibbons
8179a191f0 8290243: move seeTagToContent from HtmlDocletWriter to TagletWriterImpl
Reviewed-by: prappo
2022-07-29 21:55:20 +00:00
Serguei Spitsyn
15943e4242 8282666: nsk/jvmti/PopFrame/popframe004 failed with: TEST FAILED: 30 JVMTI events were generated by the function PopFrame()
Reviewed-by: lmesnik, amenkov
2022-07-29 21:49:27 +00:00
Kevin Driver
0bcf17674e 6227536: KeyGenerator.init() methods do not throw IllegalArgumentException for keysize == 0
Reviewed-by: wetmore
2022-07-29 20:30:28 +00:00
Joe Darcy
cc2861a993 8290901: Reduce use of -source in langtools tests
Reviewed-by: jjg
2022-07-29 17:35:22 +00:00
Aggelos Biboudis
64a1a08ff9 8289647: AssertionError during annotation processing of record related tests
Reviewed-by: vromero
2022-07-29 16:02:18 +00:00
Thomas Schatzl
95fc16bdfa 8290525: Move HeapRegion::_compaction_top to G1FullCollector
Reviewed-by: kbarrett, sangheki
2022-07-29 15:45:25 +00:00
Thomas Schatzl
f58e08e258 8290715: Fix incorrect uses of G1CollectedHeap::heap_region_containing()
Reviewed-by: kbarrett, sangheki
2022-07-29 15:43:43 +00:00
Boris Ulasevich
18cd16d2ea 8291003: ARM32: constant_table.size assertion
Reviewed-by: shade
2022-07-29 06:21:48 +00:00
Bill Huang
cfe9026fe0 8289511: Improve test coverage for XPath Axes: child
Reviewed-by: joehw
2022-07-29 01:42:19 +00:00
Magnus Ihse Bursie
eeac3da795 8289755: Remove --enable-reproducible-build from jib profile
Reviewed-by: wetmore, erikj
2022-07-28 22:34:03 +00:00
Bradford Wetmore
791fc5791a 6383195: javax.crypto.spec.PBEKeySpec is not thread safe
Reviewed-by: weijun
2022-07-28 22:04:44 +00:00
Boris Ulasevich
e052d7f4bc 8288477: nmethod header size reduction
Reviewed-by: kvn, never
2022-07-28 19:49:31 +00:00
Mark Reinhold
1d16c91ba7 8291512: Snippetize modules API examples
Reviewed-by: darcy
2022-07-28 18:22:59 +00:00
Jorn Vernee
54a2c5a6d1 8290059: Do not use std::thread in panama tests
Reviewed-by: mcimadamore, stuefe, erikj
2022-07-28 14:53:26 +00:00
Richard Reingruber
5214a17d81 8291479: ProblemList compiler/rangechecks/TestRangeCheckHoistingScaledIV.java on ppc64le
Reviewed-by: thartmann, goetz
2022-07-28 14:07:18 +00:00
Jatin Bhateja
471a427d10 8287794: Reverse*VNode::Identity problem
Reviewed-by: thartmann, xgong
2022-07-28 11:08:38 +00:00
Matthias Baesken
5d1ad39684 8290839: jdk/jfr/event/compiler/TestJitRestart.java failed with "RuntimeException: No JIT restart event found: expected true, was false"
Reviewed-by: egahlin, lucy
2022-07-28 10:48:45 +00:00
Leslie Zhai
97fc8deb1d 8291106: ZPlatformGranuleSizeShift is redundant
Reviewed-by: eosterlund, jiefu
2022-07-28 08:58:29 +00:00
Aleksey Shipilev
dd69a68d09 8291000: C2: Purge LoadPLocked and Store*Conditional nodes
Reviewed-by: eosterlund, kvn
2022-07-28 08:15:53 +00:00
Matthias Baesken
07f0612c9a 8290532: Adjust PKCS11Exception and handle more PKCS11 error codes
Reviewed-by: valeriep
2022-07-28 07:30:51 +00:00
Prasanta Sadhukhan
93f96d8c9e 8290399: [macos] Aqua LAF does not fire an action event if combo box menu is displayed
Reviewed-by: azvegint, prr
2022-07-28 06:44:49 +00:00
Jatin Bhateja
5d82d67a9e 8290034: Auto vectorize reverse bit operations.
Reviewed-by: xgong, kvn
2022-07-28 04:43:01 +00:00
Leonid Mesnik
348a0521e1 8290846: sun/tools/jstatd/JstatdTest* tests should use VM options
Reviewed-by: cjplummer, sspitsyn
2022-07-28 00:04:17 +00:00
Ioi Lam
bc6a3c7b83 8290739: Simplify storage of dump-time class information
Reviewed-by: ccheung
2022-07-27 23:52:30 +00:00
Hao Sun
16a127524c 8290943: Fix several IR test issues on SVE after JDK-8289801
Reviewed-by: jiefu, adinn
2022-07-27 23:42:11 +00:00
Pavel Rappo
c1a3347f17 8291358: Fix the "overridding" typo
Reviewed-by: rriggs
2022-07-27 21:48:59 +00:00
Thomas Schatzl
37b08c7bf9 8237913: G1CollectedHeap::heap_region_containing shouldn't be a template
Reviewed-by: kbarrett, sangheki
2022-07-27 20:05:06 +00:00
Aleksey Shipilev
dc74ea21f1 8291048: x86: compiler/c2/irTests/TestAutoVectorization2DArray.java fails with lower SSE
Reviewed-by: kvn, jiefu
2022-07-27 16:58:49 +00:00
Roger Riggs
c1040897cd 8290848: LoadLibraryUnload.java still fails with "Too few cleared WeakReferences"
Reviewed-by: mchung, jpai
2022-07-27 14:47:17 +00:00
David Holmes
923462467e Merge 2022-07-27 14:07:11 +00:00
Axel Boldt-Christmas
2f3e494b80 8290074: Remove implicit arguments for RegisterMap constructor
Reviewed-by: eosterlund, tschatzl
2022-07-27 12:43:18 +00:00
Thomas Schatzl
e804236f05 8291289: gc/TestPLABAdaptToMinTLABSize fails after JDK-8289137
Reviewed-by: shade
2022-07-27 12:39:28 +00:00
Zhengyu Gu
adaf3b9014 8291056: Remove unused Generation::par_promote*()
Reviewed-by: kbarrett
2022-07-27 12:25:35 +00:00
Harold Seigel
48b77a6969 8285792: Posix signal handler modification checking issues.
Reviewed-by: dholmes, erikj
2022-07-27 12:22:55 +00:00
Julian Waters
8ec3197683 8291002: Rename Method::build_interpreter_method_data to Method::build_profiling_method_data
Reviewed-by: kvn, thartmann
2022-07-27 11:52:10 +00:00
Tobias Hartmann
61e072d11c 8290705: StringConcat::validate_mem_flow asserts with "unexpected user: StoreI"
Reviewed-by: kvn, xliu
2022-07-27 10:43:52 +00:00
Maurizio Cimadamore
36c00fdd74 8291006: java/foreign/TestUnsupportedPlatform fails after JDK-8290455
Reviewed-by: jvernee
2022-07-27 09:50:58 +00:00
Eric Liu
2bd90c2149 8284990: AArch64: Remove STXR_PREFETCH from CPU features
Reviewed-by: aph, ngasson, njian
2022-07-27 09:38:04 +00:00
Thomas Schatzl
2a1d9cfead 8289137: Automatically adapt Young/OldPLABSize and when setting only MinTLABSize
Reviewed-by: iwalulya, sangheki
2022-07-27 08:01:05 +00:00
Mark Powers
4d796ee8ab 8290887: Unused private method in TrustManagerFactoryImpl
Reviewed-by: weijun, xuelei, mullan
2022-07-26 20:23:55 +00:00
Eric Caspole
f0f78a9125 8290894: Reduce runtime of vm.lang microbenchmarks
Reviewed-by: rriggs
2022-07-26 20:06:35 +00:00
Leonid Mesnik
1451642317 8244976: vmTestbase/nsk/jdi/Event/request/request001.java doesn' initialize eName
Reviewed-by: shade, sspitsyn, cjplummer
2022-07-26 19:02:47 +00:00
Aleksey Shipilev
8159a1ab70 8290706: Remove the support for inline contiguous allocations
Reviewed-by: eosterlund, aph, rrich, fyang, thartmann
2022-07-26 17:19:10 +00:00
Joe Darcy
7318b22209 8289551: Conversions between bit representations of half precision values and floats
Reviewed-by: psandoz, jrose
2022-07-26 16:54:32 +00:00
longxu0509
2ae8e31183 8290669: Fix wording in sun.security.ec
Reviewed-by: mullan
2022-07-26 15:04:49 +00:00
Pengfei Li
893909558b 8289996: Fix array range check hoisting for some scaled loop iv
Co-authored-by: John R Rose <jrose@openjdk.org>
Reviewed-by: roland, kvn, thartmann
2022-07-26 13:45:38 +00:00
Thomas Schatzl
da9cc5c9f4 8290806: Only add eager reclaim task to G1 post evacuate tasks if there were candidates
Reviewed-by: kbarrett, sangheki
2022-07-26 13:29:05 +00:00
Evgeny Astigeevich
330adc03a9 8290969: DumpClassListCLDClosure incorrectly uses ResizeableResourceHashtable
Reviewed-by: iklam, ccheung
2022-07-26 12:10:56 +00:00
Roger Riggs
28bbdc5ebb 8290972: ProblemList java/lang/ProcessBuilder/PipelineLeaksFD.java
Reviewed-by: iris, jpai
2022-07-26 11:53:50 +00:00
Xiaohong Gong
a6faf5d33a 8290485: [vector] REVERSE_BYTES for byte type should not emit any instructions
Reviewed-by: thartmann, kvn
2022-07-26 02:56:26 +00:00
Julian Waters
0ca5cb13a3 8290834: Improve potentially confusing documentation on collection of profiling information
Reviewed-by: thartmann, kvn, dlong
2022-07-25 22:46:19 +00:00
Alexey Semenyuk
7c3cfd13e3 8290557: tools/jpackage/share/AddLauncherTest.java#id1 failed with "ERROR: Failed: Check icon file"
Reviewed-by: almatvee
2022-07-25 21:51:26 +00:00
Maurizio Cimadamore
8c9d5ad4f8 8290455: jck test api/java_lang/foreign/VaList/Empty.html fails on some platforms
Reviewed-by: jvernee, mbaesken
2022-07-25 21:32:44 +00:00
Andrey Turbanov
0ca74f538e 8289659: Refactor I/O stream copying to use InputStream.readAllBytes in X509CertPath
Reviewed-by: attila, weijun
2022-07-25 14:10:26 +00:00
Andrew Haley
1e270ea4f5 8290780: AArch64: Crash in c2 nmethod running RunThese30M.java
Reviewed-by: dlong
2022-07-25 12:40:21 +00:00
Kim Barrett
b17269ad52 8290959: Consistently use "grey" instead of "gray" in GC code
Reviewed-by: tschatzl
2022-07-25 12:26:04 +00:00
Axel Boldt-Christmas
350808a5a3 8290459: Remove unused GCCause enums
Reviewed-by: tschatzl, kbarrett
2022-07-25 11:03:48 +00:00
Prasanta Sadhukhan
d0c365a7b9 8170794: [macosx] Error when using setDesktopManager on a JDesktopPane on MacOS X with Look and Feel Aqua
Reviewed-by: prr
2022-07-25 10:32:11 +00:00
Bhavana Kilambi
80dc6cebc9 8290730: compiler/vectorization/TestAutoVecIntMinMax.java failed with "IRViolationException: There were one or multiple IR rule failures."
Reviewed-by: jiefu, kvn, thartmann
2022-07-25 09:08:23 +00:00
Erik Österlund
228e8e94fe 8290700: Optimize AArch64 nmethod entry barriers
Reviewed-by: kvn, dlong
2022-07-25 07:08:46 +00:00
Thomas Stuefe
852e71d9f0 8290870: NMT: Increase MallocSiteTable size and allocate it only when needed
Reviewed-by: zgu, dholmes
2022-07-25 05:18:34 +00:00
Man Cao
0599a05f8c 8290900: Build failure with Clang 14+ due to function warning attribute
Reviewed-by: kbarrett
2022-07-23 02:54:07 +00:00
Shruthi
987656d690 8289471: Issue in Initialization of keys in ErrorMsg.java and XPATHErrorResources.java
Reviewed-by: joehw
2022-07-22 22:10:43 +00:00
Roger Riggs
2660a9268b 8290893: ProblemList java/lang/ClassLoader/loadLibraryUnload/LoadLibraryUnload
Reviewed-by: dcubed
2022-07-22 20:11:25 +00:00
SWinxy
ef8486a1a4 8286270: [java.desktop] Replace color search in XColors with a switch statement
Reviewed-by: prr, azvegint
2022-07-22 18:36:58 +00:00
Andrey Turbanov
62f22633d1 8290861: Remove unused field URLJarFile.BUF_SIZE
Reviewed-by: jpai, djelinski, aefimov
2022-07-22 15:55:58 +00:00
Erik Österlund
b28f9dab80 8290688: Optimize x86_64 nmethod entry barriers
Reviewed-by: kvn, rrich
2022-07-22 14:42:42 +00:00
Zhengyu Gu
54854d9300 8256811: Delayed/missed jdwp class unloading events
Co-authored-by: Chris Plummer <cjplummer@openjdk.org>
Reviewed-by: cjplummer, coleenp, sspitsyn
2022-07-22 12:27:04 +00:00
Sergey Tsypanov
75c1e99968 8289572: InputStream wrapping with BufferedInputStream is redundant in HttpTimestamper
Reviewed-by: jpai, mullan
2022-07-22 11:50:28 +00:00
Christoph Langer
c29242ebb0 8290460: Alpine: disable some panama tests that rely on std::thread
Backport-of: d7f0de272c
2022-07-22 11:33:05 +00:00
Aleksey Shipilev
7841e5cc38 8290464: Optimize ResourceArea zapping on ResourceMark release
Reviewed-by: stuefe, zgu, coleenp
2022-07-22 11:12:49 +00:00
David Holmes
e9f97b2e8c 8290489: Initial nroff manpage generation for JDK 20
Reviewed-by: dcubed
2022-07-22 04:40:15 +00:00
Chris Plummer
59d85bad34 8290687: serviceability/sa/TestClassDump.java could leave files owned by root on macOS
Reviewed-by: amenkov, lmesnik
2022-07-21 21:34:26 +00:00
Ioi Lam
66f59c2c16 8290731: Clean up CDS handling of LambdaForm Species classes
Reviewed-by: ccheung
2022-07-21 21:32:30 +00:00
Julian Waters
0dda3c14eb 8289275: Remove incorrect __declspec(dllimport) attributes from pointers in jdk.crypto.cryptoki
Reviewed-by: valeriep
2022-07-21 19:11:40 +00:00
Roger Riggs
620c8a045f 8289643: File descriptor leak with ProcessBuilder.startPipeline
Reviewed-by: alanb, jpai, lancea
2022-07-21 18:57:23 +00:00
Alex Menkov
7ec0132ad3 8286844: com/sun/jdi/RedefineCrossEvent.java failed with 1 threads completed while VM suspended
Reviewed-by: sspitsyn, cjplummer
2022-07-21 18:14:40 +00:00
Ryan Ernst
80bd8c3549 8290504: Close streams returned by ModuleReader::list
Reviewed-by: mchung, chegar
2022-07-21 18:01:25 +00:00
Eric Caspole
15f4b30459 8290115: ArrayCopyObject JMH has wrong package
Reviewed-by: rriggs
2022-07-21 17:49:22 +00:00
Jonathan Gibbons
4c1cd66d22 8288368: simplify code in ValueTaglet, remove redundant code
Reviewed-by: prappo
2022-07-21 16:26:52 +00:00
Daniel D. Daugherty
6346c3338c 8290826: validate-source failures after JDK-8290016
Reviewed-by: azvegint
2022-07-21 15:43:00 +00:00
Tobias Holenstein
604a115a5b 8290016: IGV: Fix graph panning when mouse dragged outside of window
Reviewed-by: kvn, thartmann
2022-07-21 14:54:27 +00:00
Aleksey Shipilev
59e495e4d3 8290704: x86: TemplateTable::_new should not call eden_allocate() without contiguous allocs enabled
Reviewed-by: kvn, thartmann, coleenp
2022-07-21 13:23:10 +00:00
Michael McMahon
799a2c844d 8276561: URL$DefaultFactory::PREFIX should be static final
Reviewed-by: djelinski, jpai
2022-07-21 11:03:48 +00:00
Andrey Turbanov
52cc6cd063 8288723: Avoid redundant ConcurrentHashMap.get call in java.time
Reviewed-by: attila, rriggs
2022-07-21 10:22:58 +00:00
Ryan Ernst
3582fd9e93 8290359: Ensure that all directory streams are closed in jdk.link
Reviewed-by: chegar
2022-07-21 06:19:55 +00:00
Ryan Ernst
53fc495e3a 8290316: Ensure that all directory streams are closed in java.base
Reviewed-by: chegar
2022-07-21 06:19:00 +00:00
Ryan Ernst
db1e44c2dd 8290353: ModuleReader::list specification should suggest closing the returned stream
Reviewed-by: chegar, mchung, mr, jpai
2022-07-21 06:16:03 +00:00
Ioi Lam
2c73a1f39d 8290324: Move atomic operations outside of os_xxx.hpp
Reviewed-by: dholmes, kbarrett
2022-07-21 05:12:10 +00:00
Vladimir Kozlov
e8975be94b 8290746: ProblemList compiler/vectorization/TestAutoVecIntMinMax.java
Reviewed-by: dholmes
2022-07-21 00:46:11 +00:00
Daniel D. Daugherty
9c19d89c9c Merge 2022-07-20 22:56:17 +00:00
Leonid Mesnik
b1817a30a0 8290468: Remove gc/gctests/mallocWithGC tests
Reviewed-by: kbarrett, tschatzl
2022-07-20 19:19:57 +00:00
Thomas Schatzl
eeb345a286 8290533: Remove G1ConcurrentMark::mark_in_bitmap(uint, HeapRegion*,oop)
Reviewed-by: sangheki, kbarrett
2022-07-20 16:16:57 +00:00
Bhavana Kilambi
89458e36af 8288107: Auto-vectorization for integer min/max
Reviewed-by: kvn, ngasson
2022-07-20 15:36:39 +00:00
Tobias Holenstein
3d3e3df8f0 8290069: IGV: Highlight both graphs of difference in outline
Reviewed-by: kvn, thartmann
2022-07-20 14:33:05 +00:00
David Holmes
17e65bbd23 8290625: Test jdk/javadoc/tool/CheckManPageOptions.java after manpage update
Reviewed-by: hannesw
2022-07-20 13:09:31 +00:00
Andrew Haley
1c055076e0 8289743: AArch64: Clean up patching logic
Reviewed-by: adinn, ngasson
2022-07-20 13:00:12 +00:00
Zhengyu Gu
011958d30b 8290374: Shenandoah: Remove inaccurate comment on SBS::load_reference_barrier()
Reviewed-by: shade
2022-07-20 12:42:13 +00:00
Thomas Schatzl
984cd02dfb 8290707: runtime/cds/appcds/dynamicArchive/DynamicLambdaWithUseImplMethodHandle.java fails with "Can't find sun.hotspot.whitebox"
Reviewed-by: dholmes
2022-07-20 12:34:55 +00:00
jeremy
4b4d35289a 8264999: GeneralPath.lineTo() to itself produces jagged lines
Reviewed-by: lbourges, prr
2022-07-20 11:34:48 +00:00
Erik Österlund
43c47b1ad7 8290534: Move MacroAssembler::verified_entry to C2_MacroAssembler on x86
Reviewed-by: shade, kvn
2022-07-20 10:26:38 +00:00
Fei Yang
5425573bb4 8290496: riscv: Fix build warnings-as-errors with GCC 11
Reviewed-by: yadongwang, fjiang, shade
2022-07-20 08:26:35 +00:00
Jesper Wilhelmsson
a3e07d950a Merge 2022-07-20 07:39:01 +00:00
Aleksey Shipilev
2ea3f546c2 8290495: Micro-optimize Method::can_be_statically_bound assertions
Reviewed-by: dholmes, stuefe
2022-07-20 06:00:03 +00:00
Prasanta Sadhukhan
971479153d 8190907: Windows 10 default Korean Font Malgun Gothic available not used by GUI elements even though available without Korean Language Pack
Reviewed-by: naoto, prr
2022-07-20 05:49:40 +00:00
David Holmes
618f3a82a4 8278274: Update nroff pages in JDK 19 before RC
Reviewed-by: jjg
2022-07-20 04:40:09 +00:00
Jie Fu
43588648ca 8290511: compiler/vectorapi/TestMaskedMacroLogicVector.java fails IR verification
Reviewed-by: kvn, thartmann
2022-07-19 22:50:00 +00:00
Joe Wang
7b418f9aba 8287916: Address the inconsistency between the constant array and pool size
Reviewed-by: naoto, lancea, rhalade, ahgross
2022-07-19 20:55:28 +00:00
Joe Wang
41ef2b2490 8285407: Improve Xalan supports
Reviewed-by: naoto, lancea, ahgross, rhalade
2022-07-19 20:55:27 +00:00
Weijun Wang
d991ec4f9f 8282676: Improve subject handling
Reviewed-by: ahgross, mullan, rhalade
2022-07-19 20:55:27 +00:00
Lance Andersen
b7b917a0a8 8284370: Improve zlib usage
Reviewed-by: alanb, mschoene, rhalade
2022-07-19 20:55:27 +00:00
Alexander Zuev
a37465b8fa 8283190: Improve MIDI processing
Reviewed-by: prr, rhalade, psadhukhan, mschoene
2022-07-19 20:55:27 +00:00
Tobias Hartmann
632d2d2690 8281866: Enhance MethodHandle invocations
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Reviewed-by: chagedorn
2022-07-19 20:55:27 +00:00
Tobias Hartmann
84b4e9bb41 8281859: Improve class compilation
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Reviewed-by: chagedorn
2022-07-19 20:55:27 +00:00
Joe Wang
e7f8003edd 8272249: Better properties of loaded Properties
Reviewed-by: naoto, lancea, rhalade, mschoene
2022-07-19 20:55:27 +00:00
Aleksei Efimov
cdc1582d1d 8277608: Address IP Addressing
Reviewed-by: dfuchs, rhalade, michaelm
2022-07-19 20:55:26 +00:00
Valerie Peng
ec1d338e15 8272243: Improve DER parsing
Reviewed-by: weijun, rhalade
2022-07-19 20:55:26 +00:00
Alexey Semenyuk
c2cbeb3ee8 8290398: jpackage exe installers are not installed in jtreg tests
Reviewed-by: almatvee
2022-07-19 19:46:51 +00:00
Joe Wang
f1001a06b3 8287916: Address the inconsistency between the constant array and pool size
Reviewed-by: naoto, lancea, rhalade, ahgross
2022-07-19 18:39:39 +00:00
Joe Wang
5d1c44871a 8285407: Improve Xalan supports
Reviewed-by: naoto, lancea, ahgross, rhalade
2022-07-19 18:39:39 +00:00
Weijun Wang
d0a2f13dea 8282676: Improve subject handling
Reviewed-by: ahgross, mullan, rhalade
2022-07-19 18:39:39 +00:00
Lance Andersen
83339500ba 8284370: Improve zlib usage
Reviewed-by: alanb, mschoene, rhalade
2022-07-19 18:39:39 +00:00
Alexander Zuev
879ea78037 8283190: Improve MIDI processing
Reviewed-by: prr, rhalade, psadhukhan, mschoene
2022-07-19 18:39:39 +00:00
Tobias Hartmann
78c514d085 8281866: Enhance MethodHandle invocations
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Reviewed-by: chagedorn
2022-07-19 18:39:39 +00:00
Tobias Hartmann
ac93ab0e0a 8281859: Improve class compilation
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Reviewed-by: chagedorn
2022-07-19 18:39:38 +00:00
Joe Wang
67dd3f7343 8272249: Better properties of loaded Properties
Reviewed-by: naoto, lancea, rhalade, mschoene
2022-07-19 18:39:38 +00:00
Aleksei Efimov
243c76f59f 8277608: Address IP Addressing
Reviewed-by: dfuchs, rhalade, michaelm
2022-07-19 18:39:38 +00:00
Valerie Peng
ddb106be7a 8272243: Improve DER parsing
Reviewed-by: weijun, rhalade
2022-07-19 18:39:38 +00:00
Alexey Semenyuk
1af7c33df5 8290400: Must run exe installers in jpackage jtreg tests without UI
Reviewed-by: almatvee
2022-07-19 17:01:55 +00:00
Alexey Semenyuk
d67e7ccda5 8290402: jpackage exe uninstallers don't return correct exit code in case of failure
Reviewed-by: almatvee
2022-07-19 17:01:01 +00:00
Alexey Semenyuk
977e09489d 8283707: Support <major.minor.update.build> version format on Windows
Reviewed-by: almatvee
2022-07-19 16:59:28 +00:00
Coleen Phillimore
96a542feb2 8227060: Optimize safepoint cleanup subtask order
Reviewed-by: kbarrett, pchilanomate
2022-07-19 16:32:07 +00:00
Eric Caspole
2cb659e7f4 8290391: Reduce runtime of java.util package microbenchmarks
Reviewed-by: rriggs, redestad
2022-07-19 16:30:44 +00:00
Coleen Phillimore
bbc57483ce 8272096: Exceptions::new_exception can return wrong exception
Reviewed-by: hseigel, dholmes
2022-07-19 14:41:58 +00:00
Maurizio Cimadamore
e062dff1bf 8290524: Typo in javadoc of MemorySegment/MemoryAddress
Reviewed-by: jvernee
2022-07-19 14:33:53 +00:00
Thomas Schatzl
a41b12f430 8290512: G1: Fix typo in allocation statistics log message
Reviewed-by: kbarrett
2022-07-19 12:40:12 +00:00
Roger Riggs
e02627ca0a 8290397: LoadLibraryUnload.java failed with "Too few cleared WeakReferences"
Reviewed-by: mchung
2022-07-19 11:51:28 +00:00
Andrey Turbanov
2ff22087f2 8289804: Remove redundant stream() call before forEach in jdk.jshell
Reviewed-by: psandoz
2022-07-19 11:32:30 +00:00
Markus Grönlund
a6bab2a379 8288482: JFR: Cannot resolve method
Reviewed-by: jbachorik
2022-07-19 09:34:49 +00:00
Aggelos Biboudis
f5a7de8627 8290379: Parse error with parenthesized pattern and guard using an array
Reviewed-by: jlahoda
2022-07-19 09:03:28 +00:00
Matthias Baesken
612d8c6cb1 8290456: remove os::print_statistics()
Reviewed-by: coleenp
2022-07-19 07:15:08 +00:00
Thomas Stuefe
d7f0de272c 8290460: Alpine: disable some panama tests that rely on std::thread
Reviewed-by: jvernee, dholmes
2022-07-19 07:13:18 +00:00
Matthias Baesken
dfbc6919e1 8289524: Add JFR JIT restart event
Reviewed-by: kvn, lucy
2022-07-19 07:07:41 +00:00
George Adams
4e6cd67fec 8290000: Bump macOS GitHub actions to macOS 11
Reviewed-by: shade, clanger
2022-07-19 06:29:43 +00:00
Ioi Lam
4dc421caa0 8290417: CDS cannot archive lamda proxy with useImplMethodHandle
Reviewed-by: dholmes, ccheung, mchung
2022-07-19 04:37:28 +00:00
Hollow Man
af86cd3d8c 8290463: Fix several comment typos in sun.security.ec
Reviewed-by: xuelei
2022-07-19 01:49:20 +00:00
Jesper Wilhelmsson
6cd1c0c14e Merge 2022-07-18 22:51:25 +00:00
Jie Fu
4a4d8ed83b 8289801: [IR Framework] Add flags to whitelist which can be used to simulate a specific machine setup like UseAVX
Reviewed-by: kvn, xgong, thartmann
2022-07-18 22:49:17 +00:00
Leonid Mesnik
5a96a5db13 8289612: Change hotspot/jtreg tests to not use Thread.stop
Reviewed-by: dholmes, dcubed
2022-07-18 21:53:41 +00:00
Mark Powers
b65f7ec2f1 4887998: Use Integer.rotateLeft() and rotateRight() in crypto implementations
Reviewed-by: weijun
2022-07-18 20:50:54 +00:00
Alexander Zuev
6c8d0e617f 8282526: Default icon is not painted properly
Reviewed-by: aivanov, prr
2022-07-18 20:33:19 +00:00
Srinivas Mandalika
e72742eeb5 8286172: Create an automated test for JDK-4516019
Reviewed-by: prr, achung
2022-07-18 17:18:53 +00:00
Srinivas Mandalika
b9de0a7556 8284524: Create an automated test for JDK-4422362
Reviewed-by: prr
2022-07-18 17:17:50 +00:00
Srinivas Mandalika
5ae4320921 8284767: Create an automated test for JDK-4422535
Reviewed-by: prr, achung
2022-07-18 17:16:44 +00:00
Sergey Tsypanov
efed7a7f65 8289908: Skip bounds check for cases when String is constructed from entirely used byte[]
Reviewed-by: prr, rriggs, aturbanov
2022-07-18 17:15:46 +00:00
Zhengyu Gu
b2010a7481 8287805: Shenandoah: consolidate evacuate-update-root closures
Reviewed-by: shade
2022-07-18 16:54:08 +00:00
Phil Race
ea8b75cfe4 8290334: Update FreeType to 2.12.1
Reviewed-by: serb, azvegint
2022-07-18 16:05:03 +00:00
Coleen Phillimore
6882f0eb39 8290013: serviceability/jvmti/GetLocalVariable/GetLocalWithoutSuspendTest.java failed "assert(!in_vm) failed: Undersized StackShadowPages"
Reviewed-by: lmesnik
2022-07-18 15:04:08 +00:00
Fei Yang
92067e2003 8290137: riscv: small refactoring for add_memory_int32/64
Reviewed-by: yadongwang, fjiang, shade
2022-07-18 13:01:35 +00:00
Pengfei Li
2677dd6d23 8289954: C2: Assert failed in PhaseCFG::verify() after JDK-8183390
Reviewed-by: kvn, thartmann, roland
2022-07-18 12:18:06 +00:00
Roland Westrelin
4f3f74c141 8289127: Apache Lucene triggers: DEBUG MESSAGE: duplicated predicate failed which is impossible
Reviewed-by: kvn, dlong
2022-07-18 07:08:49 +00:00
Fei Gao
87340fd540 8288883: C2: assert(allow_address || t != T_ADDRESS) failed after JDK-8283091
Reviewed-by: kvn, mdoerr
2022-07-18 05:54:51 +00:00
Ajit Ghaisas
bc7a1ea249 8288948: Few J2DBench tests indicate lower primitive drawing performance with metal rendering pipeline
Reviewed-by: avu, prr
2022-07-18 05:18:37 +00:00
Ioi Lam
84f23149e2 8286030: Avoid JVM crash when containers share the same /tmp dir
Reviewed-by: stuefe, sgehwolf
2022-07-18 04:10:08 +00:00
Feilong Jiang
4dd236b40a 8290280: riscv: Clean up stack and register handling in interpreter
Reviewed-by: fyang
2022-07-18 02:12:34 +00:00
Jesper Wilhelmsson
522b65743c Merge 2022-07-17 15:11:21 +00:00
Daniel D. Daugherty
441c33f0b1 8289003: JavaThread::check_is_terminated() implementation should rely on Thread-SMR
Reviewed-by: dholmes, pchilanomate
2022-07-16 13:17:52 +00:00
Jatin Bhateja
2342684f2c 8290066: Remove KNL specific handling for new CPU target check in IR annotation
Reviewed-by: kvn, sviswanathan
2022-07-16 01:18:30 +00:00
Ioi Lam
0143cf1d46 8290333: Remove os_share_*.hpp
Reviewed-by: dholmes, jiefu
2022-07-16 01:03:16 +00:00
Roger Riggs
0184f46bdf 8289919: [test] LoadLibraryUnloadTest.java failed with "Failed to unload native library"
Reviewed-by: mchung
2022-07-15 18:27:44 +00:00
Mandy Chung
cca91f7bcc 8290327: Remove java/lang/reflect/callerCache/ReflectionCallerCacheTest.java from ProblemList-Xcomp.txt
Reviewed-by: jpai
2022-07-15 18:11:18 +00:00
Thomas Schatzl
b4e2ce0094 8290366: Remove unused during_conc_mark parameter in HeapRegion::note_self_forwarding_removal_start
Reviewed-by: ayang
2022-07-15 13:58:17 +00:00
Vicente Romero
f3abb82989 8268312: Compilation error with nested generic functional interface
Reviewed-by: mcimadamore
2022-07-15 13:06:03 +00:00
Yoshiki Sato
92deab5465 8028265: Add legacy tz tests to OpenJDK
Reviewed-by: coffeys, naoto
2022-07-15 07:16:14 +00:00
Vladimir Kozlov
70fce07a38 8290246: test fails "assert(init != __null) failed: initialization not found"
Reviewed-by: dlong, iveresov
2022-07-15 05:07:21 +00:00
Pavel Rappo
15d3329edd 8281969: Bad result for the snippet @link tag if substring/regex consists of whitespace
Reviewed-by: jjg
2022-07-14 22:27:53 +00:00
Thomas Schatzl
757a742ac7 8290177: Improve documentation in G1MMUTracker
Reviewed-by: iwalulya, ayang
2022-07-14 21:04:50 +00:00
Doug Lea
890bcedd49 8290264: java/util/concurrent/locks/Lock/OOMEInAQS.java fails with "exit code: 0"
Reviewed-by: dholmes, alanb, dcubed
2022-07-14 19:53:31 +00:00
Zhengyu Gu
c8e0315114 8290250: Shenandoah: disable Loom for iu mode
Reviewed-by: rkennke
2022-07-14 17:19:27 +00:00
Jesper Wilhelmsson
3ad3950560 Merge 2022-07-14 16:29:51 +00:00
Brian Burkhalter
fb27ddcbe5 8290252: Add TEST.properties to java/nio/channels/FileChannel and move tests out of largeMemory sub-dir
Reviewed-by: alanb, jpai
2022-07-14 15:23:42 +00:00
Kim Barrett
3bb2dc8e7f 8290290: Remove addition of TimeInstants
Reviewed-by: stuefe, dholmes
2022-07-14 14:37:10 +00:00
Albert Mingkun Yang
c7c20661ee 8290221: G1: Merge multiple calls of get_next_marked_addr in HeapRegion::oops_on_memregion_iterate_in_unparsable
Reviewed-by: tschatzl, iwalulya
2022-07-14 08:47:29 +00:00
Jie Fu
be58cbc417 8290269: gc/shenandoah/TestVerifyJCStress.java fails due to invalid tag: required after JDK-8290023
Reviewed-by: tschatzl
2022-07-14 08:31:05 +00:00
Albert Mingkun Yang
109e21af66 8290080: G1: Remove unnecessary is-obj-dead check in HeapRegion::do_oops_on_memregion_in_humongous
Reviewed-by: tschatzl, iwalulya
2022-07-14 07:56:49 +00:00
KIRIYAMA Takuya
adf40d25a1 8290149: java/nio/file/Files/probeContentType/Basic.java fails on Windows Server 2019/2022
Reviewed-by: jpai, lancea
2022-07-14 07:00:33 +00:00
Daniel Jeliński
292d909e81 8290178: failure_handler: run netstat without name lookups
Reviewed-by: jpai, dfuchs, msheppar, lmesnik
2022-07-14 06:36:57 +00:00
Jesper Wilhelmsson
a7f83582d3 Merge 2022-07-14 06:19:40 +00:00
Andrey Turbanov
02fae60740 8288067: Avoid redundant HashMap.containsKey call in Type1Font.expandAbbreviation
Reviewed-by: attila, prr
2022-07-14 06:10:28 +00:00
Ichiroh Takiguchi
5d588eda97 8290218: AIX build failure by JDK-8289780
Reviewed-by: iklam, stuefe
2022-07-14 04:35:54 +00:00
Feilong Jiang
3471ac9a90 8290164: compiler/runtime/TestConstantsInError.java fails on riscv
Reviewed-by: fyang, yadongwang
2022-07-14 03:32:52 +00:00
Jatin Bhateja
fd89ab8dac 8288112: C2: Error: ShouldNotReachHere() in Type::typerr()
Reviewed-by: dlong, kvn
2022-07-14 01:46:11 +00:00
Bill Huang
dbab827bee 8249834: java/util/ArrayList/Bug8146568.java and j/u/Vector/Bug8148174.java use @ignore w/o bug-id
Reviewed-by: jpai
2022-07-14 01:31:34 +00:00
lawrence.andrews
3216d198f3 8289559: java/awt/a11y/AccessibleJPopupMenuTest.java test fails with java.lang.NullPointerException
Reviewed-by: serb
2022-07-13 22:42:13 +00:00
Joe Wang
2bf6285c80 8290209: jcup.md missing additional text
Reviewed-by: iris, naoto, lancea
2022-07-13 21:02:45 +00:00
Sergey Tsypanov
c83fcbd18f 8290079: Reduce interaction with volatile in static initializer of BigInteger
Reviewed-by: jpai, rriggs, darcy
2022-07-13 19:36:50 +00:00
Doug Simon
74ac5df96f 8290234: [JVMCI] use JVMCIKlassHandle to protect raw Klass* values from concurrent G1 scanning
Reviewed-by: kvn, never
2022-07-13 19:15:53 +00:00
Thomas Schatzl
5e3ecff7a6 8290253: gc/g1/TestVerificationInConcurrentCycle.java#id1 fails with "Error. can't find sun.hotspot.WhiteBox in test directory or libraries"
Reviewed-by: dcubed
2022-07-13 18:31:03 +00:00
Doug Lea
535804554d 8066859: java/lang/ref/OOMEInReferenceHandler.java failed with java.lang.Exception: Reference Handler thread died
Reviewed-by: alanb
2022-07-13 18:05:42 +00:00
Joe Wang
73b83e0188 8290207: Missing notice in dom.md
Reviewed-by: iris, lancea, naoto
2022-07-13 17:32:02 +00:00
Thomas Schatzl
2583feb21b 8290023: Remove use of IgnoreUnrecognizedVMOptions in gc tests
Reviewed-by: ayang, lkorinth, kbarrett
2022-07-13 16:08:59 +00:00
Brian Burkhalter
44fb92e2aa 8290197: test/jdk/java/nio/file/Files/probeContentType/Basic.java fails on some systems for the ".rar" extension
Reviewed-by: lancea, dfuchs, jpai
2022-07-13 15:13:27 +00:00
Alan Bateman
f528124f57 8289284: jdk.tracePinnedThreads output confusing when pinned due to native frame
Reviewed-by: jpai, mchung
2022-07-13 15:03:37 +00:00
Jonathan Gibbons
572c14efc6 8288624: Cleanup CommentHelper.getText0
Reviewed-by: hannesw
2022-07-13 14:45:04 +00:00
Prasanta Sadhukhan
6e18883d8f 8290162: Reset recursion counter missed in fix of JDK-8224267
Reviewed-by: prr
2022-07-13 05:06:04 +00:00
Daniel D. Daugherty
ce36f6ea85 8290203: ProblemList vmTestbase/nsk/jvmti/scenarios/capability/CM03/cm03t001/TestDescription.java on linux-all
Reviewed-by: naoto
2022-07-12 21:45:19 +00:00
Daniel D. Daugherty
fff7f35300 8290201: ProblemList com/sun/jdi/InvokeHangTest.java on macosx-x64 in vthread mode
Reviewed-by: bpb
2022-07-12 21:04:43 +00:00
Brian Burkhalter
128c6c648c 8290095: java/nio/channels/FileChannel/largeMemory/LargeGatheringWrite.java timed out
Reviewed-by: jpai, alanb
2022-07-12 20:48:23 +00:00
Jayashree Huttanagoudar
31f7fc043b 8283082: sun.security.x509.X509CertImpl.delete("x509.info.validity") nulls out info field
Reviewed-by: weijun
2022-07-12 20:12:22 +00:00
Jesper Wilhelmsson
d9ca438d06 Merge 2022-07-12 16:16:16 +00:00
Ludvig Janiuk
e8568b890a 8290020: Deadlock in leakprofiler::emit_events during shutdown
Reviewed-by: mgronlun, dholmes, egahlin
2022-07-12 15:54:36 +00:00
Ralf Schmelter
7f0e9bd632 8289745: JfrStructCopyFailed uses heap words instead of bytes for object sizes
Reviewed-by: mgronlun, stuefe
2022-07-12 14:53:46 +00:00
Ralf Schmelter
728157fa03 8289917: Metadata for regionsRefilled of G1EvacuationStatistics event is wrong
Reviewed-by: tschatzl, mgronlun, stuefe, egahlin
2022-07-12 14:51:55 +00:00
Alan Bateman
59d0c739ac 8289930: Improve Thread description of inherited AccessControlContext
Reviewed-by: jpai, mchung
2022-07-12 14:46:15 +00:00
Maurizio Cimadamore
4545ed6842 8289365: SegmentAllocator:allocateArray(MemoryLayout, count) does not throw IAEx when count is -1
Reviewed-by: psandoz
2022-07-12 14:22:42 +00:00
Maurizio Cimadamore
0fd1b68972 8290071: Javadoc for MemorySegment/MemoryAddress getter/setters contains some typos
Reviewed-by: uschindler, psandoz
2022-07-12 14:16:22 +00:00
Erik Gahlin
0e906975a8 8290133: JFR: Remove unused methods in Bits.java
Reviewed-by: mgronlun
2022-07-12 14:14:56 +00:00
Maurizio Cimadamore
2baf526fce 8288850: SegmentAllocator:allocate() can return null some cases
Reviewed-by: psandoz
2022-07-12 14:14:46 +00:00
Ryan Ernst
ea12615d2f 8288984: Simplification in java.lang.Runtime::exit
Reviewed-by: dholmes, chegar, alanb, kbarrett
2022-07-12 13:50:36 +00:00
Martin Doerr
393dc7ade7 8290082: [PPC64] ZGC C2 load barrier stub needs to preserve vector registers
Reviewed-by: eosterlund, rrich
2022-07-12 13:31:51 +00:00
Matthias Baesken
e5491a2605 8289910: unify os::message_box across posix platforms
Reviewed-by: iklam, dholmes
2022-07-12 12:10:28 +00:00
Daniel Jeliński
04c47da118 8289768: Clean up unused code
Reviewed-by: dfuchs, lancea, weijun, naoto, cjplummer, alanb, michaelm, chegar
2022-07-12 11:30:17 +00:00
Jorn Vernee
3164c98f4c 8289148: j.l.foreign.VaList::nextVarg call could throw IndexOutOfBoundsException or even crash the VM
8289333: Specification of method j.l.foreign.VaList::skip deserves clarification
8289156: j.l.foreign.VaList::skip call could throw java.lang.IndexOutOfBoundsException: Out of bound access on segment

Reviewed-by: mcimadamore
2022-07-12 11:25:45 +00:00
Daniel Fuchs
3b9059a147 8290083: ResponseBodyBeforeError: AssertionError or SSLException: Unsupported or unrecognized SSL message
Reviewed-by: jpai
2022-07-12 09:59:29 +00:00
Serguei Spitsyn
c3806b93c4 8289709: fatal error: stuck in JvmtiVTMSTransitionDisabler::disable_VTMS_transitions
Reviewed-by: alanb, amenkov, lmesnik
2022-07-11 22:44:03 +00:00
Phil Race
f42dab8592 8289853: Update HarfBuzz to 4.4.1
Reviewed-by: serb, azvegint
2022-07-11 19:19:27 +00:00
Christoph Langer
39715f3da7 8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows
Backport-of: 975316e3e5
2022-07-11 17:46:22 +00:00
Doug Simon
21db9a507b 8290065: [JVMCI] only check HotSpotCompiledCode stream is empty if installation succeeds
Reviewed-by: kvn
2022-07-11 16:47:05 +00:00
Jesper Wilhelmsson
c79baaa811 Merge 2022-07-11 16:15:49 +00:00
Pavel Rappo
62fbc3f883 8287379: Using @inheritDoc in an inapplicable context shouldn't crash javadoc
Reviewed-by: jjg
2022-07-11 15:43:20 +00:00
Coleen Phillimore
0c1aa2bc8a 8289184: runtime/ClassUnload/DictionaryDependsTest.java failed with "Test failed: should be unloaded"
Reviewed-by: lmesnik, hseigel
2022-07-11 15:34:17 +00:00
Calvin Cheung
c33fa55cf8 8274235: -Xshare:dump should not call vm_direct_exit
Reviewed-by: iklam, dholmes
2022-07-11 15:33:18 +00:00
Pavel Rappo
59980ac8e4 8288309: Rename the "testTagInheritence" directory
Reviewed-by: hannesw
2022-07-11 15:31:22 +00:00
Alan Bateman
fc01666a58 8290002: (se) AssertionError in SelectorImpl.implCloseSelector
Reviewed-by: michaelm
2022-07-11 14:41:13 +00:00
Maurizio Cimadamore
fed3af8ae0 8287809: Revisit implementation of memory session
Reviewed-by: jvernee
2022-07-11 14:30:19 +00:00
Thomas Stuefe
95c8022958 8290046: NMT: Remove unused MallocSiteTable::reset()
Reviewed-by: jiefu, zgu
2022-07-11 14:07:12 +00:00
Coleen Phillimore
0c37008917 8275662: remove test/lib/sun/hotspot
Reviewed-by: mseledtsov, sspitsyn, lmesnik
2022-07-11 13:07:03 +00:00
Prasanta Sadhukhan
46251bc6e2 8224267: JOptionPane message string with 5000+ newlines produces StackOverflowError
Reviewed-by: tr, aivanov
2022-07-11 11:35:32 +00:00
Aggelos Biboudis
bba6be79e0 8269674: Improve testing of parenthesized patterns
Reviewed-by: jlahoda
2022-07-11 11:13:55 +00:00
Koichi Sakata
2579373dd0 8280472: Don't mix legacy logging with UL
Reviewed-by: dholmes, mgronlun
2022-07-11 09:24:16 +00:00
Martin Doerr
cb6e9cb728 8290004: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
Reviewed-by: rrich, lucy
2022-07-11 09:21:05 +00:00
Markus Grönlund
0494291490 8289692: JFR: Thread checkpoint no longer enforce mutual exclusion post Loom integration
Reviewed-by: rehn
2022-07-11 09:11:58 +00:00
Jan Lahoda
25f4b04365 8289894: A NullPointerException thrown from guard expression
Reviewed-by: vromero
2022-07-11 08:59:32 +00:00
Thomas Schatzl
0225eb434c 8290018: Remove dead declarations in G1BlockOffsetTablePart
Reviewed-by: ayang
2022-07-11 07:59:00 +00:00
Thomas Schatzl
e25982071d 8290019: Refactor HeapRegion::oops_on_memregion_iterate()
Reviewed-by: ayang, iwalulya
2022-07-11 07:58:07 +00:00
Albert Mingkun Yang
b542bcba57 8289729: G1: Incorrect verification logic in G1ConcurrentMark::clear_next_bitmap
Reviewed-by: tschatzl, iwalulya
2022-07-11 07:58:03 +00:00
Thomas Schatzl
4ab77ac60d 8290017: Directly call HeapRegion::block_start in G1CMObjArrayProcessor::process_slice
Reviewed-by: ayang, iwalulya
2022-07-11 07:36:21 +00:00
Ioi Lam
e9d9cc6d0a 8290027: Move inline functions from vm_version_x86.hpp to cpp
Reviewed-by: kbarrett, dholmes
2022-07-11 05:21:01 +00:00
Andrey Turbanov
87aa3ce03e 8289274: Cleanup unnecessary null comparison before instanceof check in security modules
Reviewed-by: mullan
2022-07-09 17:59:43 +00:00
Jatin Bhateja
81ee7d28f8 8289186: Support predicated vector load/store operations over X86 AVX2 targets.
Reviewed-by: xgong, kvn
2022-07-09 15:13:25 +00:00
Ioi Lam
3c08e6b311 8289780: Avoid formatting stub names when Forte is not enabled
Reviewed-by: dholmes, coleenp, sspitsyn
2022-07-09 03:47:20 +00:00
Joe Wang
c86c51cc72 8282071: Update java.xml module-info
Reviewed-by: lancea, iris, naoto
2022-07-08 21:34:57 +00:00
Daniel D. Daugherty
9981c85d46 8290033: ProblemList serviceability/jvmti/GetLocalVariable/GetLocalWithoutSuspendTest.java on windows-x64 in -Xcomp mode
Reviewed-by: azvegint, tschatzl
2022-07-08 19:47:55 +00:00
Jonathan Gibbons
54b4576f78 8288699: cleanup HTML tree in HtmlDocletWriter.commentTagsToContent
Reviewed-by: hannesw
2022-07-08 19:33:03 +00:00
Lance Andersen
6aaf141f61 8289984: Files:isDirectory and isRegularFile methods not throwing SecurityException
Reviewed-by: iris, alanb
2022-07-08 18:56:04 +00:00
Weijun Wang
1877533f75 6522064: Aliases from Microsoft CryptoAPI has bad character encoding
Reviewed-by: coffeys, hchao
2022-07-08 18:38:08 +00:00
Vladimir Kempik
c142fbbbaf 8289697: buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad
Backport-of: d852e99ae9
2022-07-08 17:49:53 +00:00
Vicente Romero
9c86c82091 8282714: synthetic arguments are being added to the constructors of static local classes
Reviewed-by: jlahoda
2022-07-08 17:24:27 +00:00
Stuart Marks
eeaf0bbabc 8289872: wrong wording in @param doc for HashMap.newHashMap et. al.
Reviewed-by: chegar, naoto, iris
2022-07-08 17:03:48 +00:00
Coleen Phillimore
e7795851d2 8271707: migrate tests to use jdk.test.whitebox.WhiteBox
Reviewed-by: lmesnik, dholmes
2022-07-08 15:55:14 +00:00
Jorn Vernee
460d879a75 8289601: SegmentAllocator::allocateUtf8String(String str) should be clarified for strings containing \0
Reviewed-by: psandoz, mcimadamore
2022-07-08 15:21:11 +00:00
Jorn Vernee
732f1065fe 8289223: Canonicalize header ids in foreign API javadocs
Reviewed-by: mcimadamore
2022-07-08 11:18:32 +00:00
Vladimir Kempik
d852e99ae9 8289697: buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad
Reviewed-by: prr
2022-07-08 09:14:51 +00:00
Dmitry Chuyko
a13af65043 8282322: AArch64: Provide a means to eliminate all STREX family of instructions
Reviewed-by: ngasson, aph
2022-07-08 08:55:13 +00:00
Thomas Schatzl
f1967cfaab 8289997: gc/g1/TestVerificationInConcurrentCycle.java fails due to use of debug-only option
Reviewed-by: lkorinth
2022-07-08 08:49:17 +00:00
Thomas Stuefe
ea21c46531 8289799: Build warning in methodData.cpp memset zero-length parameter
Backport-of: cce77a7001
2022-07-08 08:13:20 +00:00
Thomas Schatzl
1b8f466dba 8289740: Add verification testing during all concurrent phases in G1
Reviewed-by: iwalulya, ayang
2022-07-08 07:15:56 +00:00
Robbin Ehn
ac399e9777 8286957: Held monitor count
Reviewed-by: rpressler, eosterlund
2022-07-08 07:12:19 +00:00
Ioi Lam
1fec62f299 8289710: Move Suspend/Resume classes out of os.hpp
Reviewed-by: dholmes, coleenp
2022-07-08 05:39:24 +00:00
Jesper Wilhelmsson
01b9f95c62 Merge 2022-07-08 02:07:36 +00:00
Alexander Matveev
64286074ba 8289030: [macos] app image signature invalid when creating DMG or PKG
Reviewed-by: asemenyuk
2022-07-08 00:17:11 +00:00
Yasumasa Suenaga
3f1174aa47 8289646: configure script failed on WSL
Reviewed-by: ihse
2022-07-08 00:04:46 +00:00
Mark Powers
f804f2ce8e 8284851: Update javax.crypto files to use proper javadoc for mentioned classes
Reviewed-by: weijun, valeriep
2022-07-07 23:20:58 +00:00
Daniel D. Daugherty
1304390b3e 8289951: ProblemList jdk/jfr/api/consumer/TestRecordingFileWrite.java on linux-x64 and macosx-x64
Reviewed-by: psandoz
2022-07-07 23:09:42 +00:00
Brian Burkhalter
11319c2aeb 8278469: Test java/nio/channels/FileChannel/LargeGatheringWrite.java times out
8289526: java/nio/channels/FileChannel/MapTest.java times out

Reviewed-by: dcubed
2022-07-07 22:36:08 +00:00
Coleen Phillimore
8cdead0c94 8278923: Document Klass::is_loader_alive
Reviewed-by: dholmes, iklam
2022-07-07 20:28:34 +00:00
Coleen Phillimore
f93beacd2f 8252329: runtime/LoadClass/TestResize.java timed out
Reviewed-by: hseigel, iklam
2022-07-07 20:27:31 +00:00
Joe Wang
3212dc9c6f 8289486: Improve XSLT XPath operators count efficiency
Reviewed-by: naoto, lancea
2022-07-07 19:07:04 +00:00
Zdenek Zambersky
3e60e82814 8289301: P11Cipher should not throw out of bounds exception during padding
Reviewed-by: valeriep
2022-07-07 18:18:04 +00:00
Thomas Schatzl
f7b183059a 8289538: Make G1BlockOffsetTablePart unaware of block sizes
Reviewed-by: ayang, iwalulya
2022-07-07 18:08:43 +00:00
Ioi Lam
5564effe9c 8289763: Remove NULL check in CDSProtectionDomain::init_security_info()
Reviewed-by: ccheung, coleenp
2022-07-07 17:29:25 +00:00
Stuart Marks
a8eb728680 8289779: Map::replaceAll javadoc has redundant @throws clauses
Reviewed-by: prappo, iris
2022-07-07 16:54:15 +00:00
Alex Kasko
a694e9e34d 8288838: jpackage: file association additional arguments
Reviewed-by: asemenyuk, almatvee
2022-07-07 16:45:35 +00:00
Thomas Schatzl
95e3190d96 8210708: Use single mark bitmap in G1
Co-authored-by: Stefan Johansson <sjohanss@openjdk.org>
Co-authored-by: Ivan Walulya <iwalulya@openjdk.org>
Reviewed-by: iwalulya, ayang
2022-07-07 15:46:05 +00:00
Coleen Phillimore
8e7b45b820 8282986: Remove "system" in boot class path names
Reviewed-by: iklam, dholmes
2022-07-07 15:27:55 +00:00
Ivan Walulya
74ca6ca25b 8289800: G1: G1CollectionSet::finalize_young_part clears survivor list too early
Reviewed-by: ayang, tschatzl
2022-07-07 15:09:30 +00:00
Justin Gu
86f63f9703 8289164: Convert ResolutionErrorTable to use ResourceHashtable
Reviewed-by: iklam, coleenp
2022-07-07 14:57:24 +00:00
Albert Mingkun Yang
013a5eeeb9 8137280: Remove eager reclaim of humongous controls
Reviewed-by: tschatzl, iwalulya
2022-07-07 13:53:24 +00:00
Jie Fu
77ad998b6e 8289778: ZGC: incorrect use of os::free() for mountpoint string handling after JDK-8289633
Reviewed-by: stuefe, dholmes, mdoerr
2022-07-07 12:52:04 +00:00
Prasanta Sadhukhan
532a6ec7e3 7124313: [macosx] Swing Popups should overlap taskbar
Reviewed-by: serb, dmarkov
2022-07-07 11:51:49 +00:00
Martin Doerr
e05b2f2c3b 8289856: [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060
Reviewed-by: dlong, lucy
2022-07-07 10:21:25 +00:00
Thomas Stuefe
cce77a7001 8289799: Build warning in methodData.cpp memset zero-length parameter
Reviewed-by: jiefu, lucy
2022-07-07 09:42:14 +00:00
Maurizio Cimadamore
889150b47a 8289558: Need spec clarification of j.l.foreign.*Layout
Reviewed-by: psandoz, jvernee
2022-07-07 09:08:09 +00:00
Kevin Walls
d1249aa5cb 8198668: MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001/TestDescription.java still failing
Reviewed-by: lmesnik, sspitsyn
2022-07-07 08:41:50 +00:00
Xiaohong Gong
a79ce4e748 8286941: Add mask IR for partial vector operations for ARM SVE
Reviewed-by: kvn, jbhateja, njian, ngasson
2022-07-07 08:14:21 +00:00
Jan Lahoda
8dd94a2c14 8289196: Pattern domination not working properly for record patterns
Reviewed-by: vromero
2022-07-07 07:54:18 +00:00
Thomas Stuefe
569de453c3 8289620: gtest/MetaspaceUtilsGtests.java failed with unexpected stats values
Reviewed-by: coleenp
2022-07-07 05:30:10 +00:00
Tongbao Zhang
403a9bc796 8289436: Make the redefine timer statistics more accurate
Reviewed-by: sspitsyn, cjplummer, lmesnik
2022-07-06 22:49:57 +00:00
Pavel Rappo
8f24d25168 6509045: {@inheritDoc} only copies one instance of the specified exception
Reviewed-by: jjg
2022-07-06 22:01:12 +00:00
Joe Darcy
a40c17b730 8289775: Update java.lang.invoke.MethodHandle[s] to use snippets
Reviewed-by: jrose
2022-07-06 21:28:09 +00:00
Jesper Wilhelmsson
2a6ec88cd0 Merge 2022-07-06 21:01:10 +00:00
Ron Pressler
9a0fa82424 8288949: serviceability/jvmti/vthread/ContStackDepthTest/ContStackDepthTest.java failing
Reviewed-by: dlong, eosterlund, rehn
2022-07-06 20:53:13 +00:00
Daniel D. Daugherty
55fa19b508 8289857: ProblemList jdk/jfr/event/runtime/TestActiveSettingEvent.java
Reviewed-by: darcy
2022-07-06 20:52:25 +00:00
Daniel D. Daugherty
32b650c024 8289840: ProblemList vmTestbase/nsk/jdwp/ThreadReference/ForceEarlyReturn/forceEarlyReturn002/forceEarlyReturn002.java when run with vthread wrapper
Reviewed-by: bpb
2022-07-06 16:51:03 +00:00
Daniel D. Daugherty
ef3f2ed9ba 8289841: ProblemList vmTestbase/gc/gctests/MemoryEaterMT/MemoryEaterMT.java with ZGC on windows
Reviewed-by: rriggs
2022-07-06 16:50:14 +00:00
Raffaello Giulietti
35387d5cb6 8289260: BigDecimal movePointLeft() and movePointRight() do not follow their API spec
Reviewed-by: darcy
2022-07-06 16:22:18 +00:00
Lance Andersen
9f37ba44b8 8288706: Unused parameter 'boolean newln' in method java.lang.VersionProps#print(boolean, boolean)
Reviewed-by: iris, alanb, rriggs
2022-07-06 15:37:23 +00:00
Andrew Haley
dfb24ae4b7 8289060: Undefined Behaviour in class VMReg
Reviewed-by: jvernee, kvn
2022-07-06 15:22:00 +00:00
Xue-Lei Andrew Fan
82a8bd7e92 8287596: Reorg jdk.test.lib.util.ForceGC
Reviewed-by: rriggs
2022-07-06 14:23:44 +00:00
Andrew Haley
cc2b792704 8288992: AArch64: CMN should be handled the same way as CMP
Reviewed-by: adinn, ngasson
2022-07-06 13:49:46 +00:00
Thomas Stuefe
75c0a5b828 8288824: [arm32] Display isetstate in register output
Reviewed-by: dsamersoff, snazarki
2022-07-06 13:17:54 +00:00
Coleen Phillimore
83a5d5996b 8278479: RunThese test failure with +UseHeavyMonitors and +VerifyHeavyMonitors
Reviewed-by: kvn, dcubed, dlong
2022-07-06 12:07:36 +00:00
Roland Westrelin
cbaf6e807e 8288022: c2: Transform (CastLL (AddL into (AddL (CastLL when possible
Reviewed-by: thartmann, kvn
2022-07-06 11:36:12 +00:00
Thomas Stuefe
0526402a02 8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc
Backport-of: da6d1fc0e0
2022-07-06 10:15:38 +00:00
Thomas Schatzl
834189527e 8289739: Add G1 specific GC breakpoints for testing
Reviewed-by: kbarrett, iwalulya
2022-07-06 09:39:25 +00:00
Severin Gehwolf
ac6be16519 8289695: [TESTBUG] TestMemoryAwareness.java fails on cgroups v2 and crun
Reviewed-by: sspitsyn
2022-07-06 08:24:47 +00:00
ScientificWare
4ad18cf088 8289730: Deprecated code sample in java.lang.ClassCastException
Reviewed-by: darcy
2022-07-06 08:19:40 +00:00
Matthias Baesken
d8f4e97bd3 8289146: containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output
Reviewed-by: sgehwolf, mdoerr, iklam
2022-07-06 07:12:32 +00:00
Andrey Turbanov
f783244caf 8289706: (cs) Avoid redundant TreeMap.containsKey call in AbstractCharsetProvider
Reviewed-by: attila, naoto
2022-07-06 06:40:19 +00:00
Alan Bateman
b3a0e482ad 8289439: Clarify relationship between ThreadStart/ThreadEnd and can_support_virtual_threads capability
Reviewed-by: dholmes, dcubed, sspitsyn, cjplummer
2022-07-06 06:40:07 +00:00
Xiaohong Gong
fafe8b3f8d 8289604: compiler/vectorapi/VectorLogicalOpIdentityTest.java failed on x86 AVX1 system
Reviewed-by: jiefu, kvn
2022-07-06 06:15:04 +00:00
Tyler Steele
0b6fd4820c 8288128: S390X: Fix crashes after JDK-8284161 (Virtual Threads)
Reviewed-by: mdoerr
2022-07-05 21:11:50 +00:00
Evgeny Astigeevich
351560414d 8280481: Duplicated stubs to interpreter for static calls
Reviewed-by: kvn, phh
2022-07-05 20:50:02 +00:00
Daniel D. Daugherty
30e134e909 8289091: move oop safety check from SharedRuntime::get_java_tid() to JavaThread::threadObj()
Reviewed-by: rehn, dholmes
2022-07-05 20:42:42 +00:00
Lance Andersen
d48694d0f3 8283335: Add exists and readAttributesIfExists methods to FileSystemProvider
Reviewed-by: alanb
2022-07-05 19:45:08 +00:00
Doug Simon
c45d613faa 8289687: [JVMCI] bug in HotSpotResolvedJavaMethodImpl.equals
Reviewed-by: kvn
2022-07-05 18:25:12 +00:00
Chris Plummer
29ea6429d2 8287847: Fatal Error when suspending virtual thread after it has terminated
Reviewed-by: alanb, sspitsyn
2022-07-05 17:46:59 +00:00
Michael McMahon
77c3bbf105 8289617: Remove test/jdk/java/net/ServerSocket/ThreadStop.java
Reviewed-by: alanb, jpai
2022-07-05 09:15:41 +00:00
Andrew Haley
a5934cddca 8289698: AArch64: Need to relativize extended_sp in frame
Reviewed-by: alanb, dholmes
2022-07-05 07:54:38 +00:00
Andrey Turbanov
fd1bb078ea 8287603: Avoid redundant HashMap.containsKey calls in NimbusDefaults.getDerivedColor
Reviewed-by: attila, aivanov
2022-07-05 07:39:05 +00:00
Albert Mingkun Yang
4c997ba830 8289520: G1: Remove duplicate checks in G1BarrierSetC1::post_barrier
Reviewed-by: tschatzl, iwalulya
2022-07-05 07:29:02 +00:00
KIRIYAMA Takuya
1b997db734 8289427: compiler/compilercontrol/jcmd/ClearDirectivesFileStackTest.java failed with null setting
Reviewed-by: kvn, thartmann
2022-07-05 06:38:10 +00:00
Thomas Stuefe
688712f75c 8289633: Forbid raw C-heap allocation functions in hotspot and fix findings
Reviewed-by: kbarrett, dholmes
2022-07-05 04:26:45 +00:00
Andrey Turbanov
df063f7db1 8289484: Cleanup unnecessary null comparison before instanceof check in java.rmi
Reviewed-by: jpai, attila
2022-07-04 20:21:11 +00:00
Ryan Ernst
9ccae7078e 8287593: ShortResponseBody could be made more resilient to rogue connections
Reviewed-by: chegar, dfuchs
2022-07-04 16:09:40 +00:00
Pavel Rappo
f640fc5a1e 8067757: Incorrect HTML generation for copied javadoc with multiple @throws tags
Reviewed-by: jjg
2022-07-04 16:00:53 +00:00
Albert Mingkun Yang
bad9ffe471 8288947: G1: Consolidate per-region is-humongous query in G1CollectedHeap
Reviewed-by: tschatzl, iwalulya
2022-07-04 15:18:24 +00:00
Matthias Baesken
0dff3276e8 8289569: [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl
Reviewed-by: clanger
Backport-of: a8edd7a12f
2022-07-04 14:45:48 +00:00
Andrew Haley
b5d965656d 8288971: AArch64: Clean up stack and register handling in interpreter
Reviewed-by: adinn, ngasson
2022-07-04 13:26:54 +00:00
Albert Mingkun Yang
d53b02eb9f 8287312: G1: Early return on first failure in VerifyRegionClosure
Reviewed-by: tschatzl, iwalulya, kbarrett
2022-07-04 12:03:57 +00:00
Jatin Bhateja
1a271645a8 8287851: C2 crash: assert(t->meet(t0) == t) failed: Not monotonic
Reviewed-by: thartmann, chagedorn
2022-07-04 11:31:32 +00:00
Matthias Baesken
a8edd7a12f 8289569: [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl
Reviewed-by: clanger, alanb, stuefe
2022-07-04 08:56:35 +00:00
Albert Mingkun Yang
e31003a064 8289575: G1: Remove unnecessary is-marking-active check in G1BarrierSetRuntime::write_ref_field_pre_entry
Reviewed-by: tschatzl, iwalulya
2022-07-04 08:04:01 +00:00
Christoph Langer
5b5bc6c26e 8287672: jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run
Reviewed-by: stuefe
Backport-of: 7e211d7daa
2022-07-04 07:52:38 +00:00
Andrey Turbanov
8e7a3cb5ab 8289431: (zipfs) Avoid redundant HashMap.get in ZipFileSystemProvider.removeFileSystem
Reviewed-by: lancea, attila
2022-07-04 06:54:09 +00:00
Erik Gahlin
dc4edd3fe8 8289183: jdk.jfr.consumer.RecordedThread.getId references Thread::getId, should be Thread::threadId
Reviewed-by: alanb
2022-07-03 19:28:39 +00:00
Prasanta Sadhukhan
649f2d8835 8065097: [macosx] javax/swing/Popup/TaskbarPositionTest.java fails because Popup is one pixel off
Reviewed-by: aivanov
2022-07-03 08:36:08 +00:00
Bill Huang
d8444aa45e 8286610: Add additional diagnostic output to java/net/DatagramSocket/InterruptibleDatagramSocket.java
Reviewed-by: msheppar, dfuchs, jpai
2022-07-03 02:37:30 +00:00
Serguei Spitsyn
c4dcce4bca 8289619: JVMTI SelfSuspendDisablerTest.java failed with RuntimeException: Test FAILED: Unexpected thread state
Reviewed-by: alanb, cjplummer
2022-07-02 20:43:11 +00:00
Jesper Wilhelmsson
70f5693356 Merge 2022-07-02 18:07:36 +00:00
Andrey Turbanov
dee5121bd4 8289385: Cleanup redundant synchronization in Http2ClientImpl
Reviewed-by: jpai, dfuchs
2022-07-02 15:24:23 +00:00
Ioi Lam
cdf6979259 8289230: Move PlatformXXX class declarations out of os_xxx.hpp
Reviewed-by: coleenp, ccheung
2022-07-02 14:45:10 +00:00
Igor Veresov
f5cdabad06 8245268: -Xcomp is missing from java launcher documentation
Reviewed-by: kvn
2022-07-02 05:55:10 +00:00
Serguei Spitsyn
9515560c54 8288703: GetThreadState returns 0 for virtual thread that has terminated
Reviewed-by: alanb, amenkov, cjplummer
2022-07-02 05:43:43 +00:00
Sergey Bylokhov
cfc9a881af 8288854: getLocalGraphicsEnvironment() on for multi-screen setups throws exception NPE
Reviewed-by: azvegint, aivanov
2022-07-02 00:25:20 +00:00
Vladimir Ivanov
9925014035 8280320: C2: Loop opts are missing during OSR compilation
Reviewed-by: thartmann, iveresov
2022-07-01 22:56:48 +00:00
Kevin Driver
44e8c462b4 8289603: Code change for JDK-8170762 breaks all build
Reviewed-by: weijun
2022-07-01 22:01:55 +00:00
Maurizio Cimadamore
8e01ffb3a7 8289570: SegmentAllocator:allocateUtf8String(String str) default behavior mismatch to spec
Reviewed-by: alanb, psandoz
2022-07-01 21:46:07 +00:00
Kevin Driver
2dd00f580c 8170762: Document that ISO10126Padding pads with random bytes
Reviewed-by: weijun
2022-07-01 21:28:44 +00:00
Brian Burkhalter
e291a67e96 8289584: (fs) Print size values in java/nio/file/FileStore/Basic.java when they differ by > 1GiB
Reviewed-by: alanb
2022-07-01 19:13:49 +00:00
Daniel D. Daugherty
20124ac755 8289585: ProblemList sun/tools/jhsdb/JStackStressTest.java on linux-aarch64
Reviewed-by: bpb, kevinw
2022-07-01 16:21:31 +00:00
Calvin Cheung
c43bdf7165 8289257: Some custom loader tests failed due to symbol refcount not decremented
Reviewed-by: iklam, coleenp
2022-07-01 16:11:17 +00:00
Naoto Sato
604ea90d55 8289549: ISO 4217 Amendment 172 Update
Reviewed-by: iris
2022-07-01 16:07:23 +00:00
Harold Seigel
09b4032f8b 8289534: Change 'uncomplicated' hotspot runtime options
Reviewed-by: coleenp, dholmes
2022-07-01 14:31:30 +00:00
Thomas Stuefe
a8fe2d97a2 8289512: Fix GCC 12 warnings for adlc output_c.cpp
Reviewed-by: kvn, lucy
2022-07-01 13:43:45 +00:00
Tobias Holenstein
b9b900a61c 8277060: EXCEPTION_INT_DIVIDE_BY_ZERO in TypeAryPtr::dump2 with -XX:+TracePhaseCCP
Reviewed-by: kvn, thartmann, chagedorn, dlong
2022-07-01 13:34:38 +00:00
Harshitha Onkar
f190f4e638 8288444: Remove the workaround for frame.pack() in ModalDialogTest
Reviewed-by: azvegint
2022-07-01 09:07:34 +00:00
Richard Reingruber
d260a4e794 8289434: x86_64: Improve comment on gen_continuation_enter()
Reviewed-by: kvn
2022-07-01 06:12:52 +00:00
Tobias Hartmann
95497772e7 8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: kvn, chagedorn
2022-07-01 05:23:57 +00:00
Xiaohong Gong
124c63c17c 8288294: [vector] Add Identity/Ideal transformations for vector logic operations
Reviewed-by: kvn, jbhateja
2022-07-01 01:19:18 +00:00
Jesper Wilhelmsson
918068a115 Merge 2022-07-01 00:47:56 +00:00
Kevin Walls
00d06d4a82 8289440: Remove vmTestbase/nsk/monitoring/MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded003 from ProblemList.txt
Reviewed-by: amenkov, lmesnik
2022-06-30 20:18:52 +00:00
Prasanta Sadhukhan
feb223aacf 8288707: javax/swing/JToolBar/4529206/bug4529206.java: setFloating does not work correctly
Reviewed-by: tr, serb
2022-06-30 11:16:07 +00:00
rmartinc
c3addbb1c0 8288895: LdapContext doesn't honor set referrals limit
Reviewed-by: dfuchs, aefimov
2022-06-30 09:17:57 +00:00
Xiaohong Gong
1305fb5ca8 8287984: AArch64: [vector] Make all bits set vector sharable for match rules
Reviewed-by: kvn, ngasson
2022-06-30 08:53:27 +00:00
Alan Bateman
c20b3aa9c5 8289278: Suspend/ResumeAllVirtualThreads need both can_suspend and can_support_virtual_threads
Reviewed-by: sspitsyn, dcubed, dholmes, iris
2022-06-30 08:49:32 +00:00
Ryan Ernst
7b5bd251ef 8286397: Address possibly lossy conversions in jdk.hotspot.agent
Reviewed-by: cjplummer, chegar
2022-06-30 08:28:45 +00:00
Tobias Holenstein
28c5e483a8 8287094: IGV: show node input numbers in edge tooltips
Reviewed-by: chagedorn, thartmann
2022-06-30 07:14:29 +00:00
Thomas Stuefe
da6d1fc0e0 8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc
Reviewed-by: dholmes, clanger
2022-06-30 06:19:25 +00:00
Xin Liu
31e50f2c76 8286104: use aggressive liveness for unstable_if traps
Reviewed-by: kvn, thartmann
2022-06-30 03:59:42 +00:00
Jaikiran Pai
dddd4e7c81 8289291: HttpServer sets incorrect value for "max" parameter in Keep-Alive header value
Reviewed-by: michaelm, dfuchs
2022-06-30 01:43:11 +00:00
Jesper Wilhelmsson
048bffad79 Merge 2022-06-29 23:32:37 +00:00
Harshitha Onkar
15efb2bdeb 8289238: Refactoring changes to PassFailJFrame Test Framework
Reviewed-by: azvegint, aivanov
2022-06-29 18:36:38 +00:00
Zdenek Zambersky
b6bd190d8d 8288985: P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305
Reviewed-by: valeriep
2022-06-29 17:20:03 +00:00
Doug Simon
ba670ecbb9 8289094: [JVMCI] reduce JNI overhead and other VM rounds trips in JVMCI
Reviewed-by: kvn, dlong
2022-06-29 16:14:55 +00:00
Naoto Sato
cf7154498f 8289252: Recommend Locale.of() method instead of the constructor
Reviewed-by: joehw, rriggs
2022-06-29 15:47:26 +00:00
Raffaello Giulietti
570897498b 8288596: Random:from() adapter does not delegate to supplied generator in all cases
Reviewed-by: darcy
2022-06-29 14:56:28 +00:00
liach
0709a6a1fb 8284942: Proxy building can just iterate superinterfaces once
Reviewed-by: mchung
2022-06-29 14:22:48 +00:00
Albert Mingkun Yang
2961b7eede 8285364: Remove REF_ enum for java.lang.ref.Reference
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Reviewed-by: kbarrett, coleenp, stefank
2022-06-29 13:15:19 +00:00
Yasumasa Suenaga
167ce4dae2 8289421: No-PCH build for Minimal VM was broken by JDK-8287001
Reviewed-by: mbaesken, jiefu, stuefe
2022-06-29 11:43:45 +00:00
Quan Anh Mai
108cd69516 8283726: x86_64 intrinsics for compareUnsigned method in Integer and Long
Reviewed-by: kvn, jbhateja
2022-06-29 10:34:05 +00:00
Thomas Stuefe
b96ba19807 8289182: NMT: MemTracker::baseline should return void
Reviewed-by: dholmes, zgu
2022-06-29 04:12:46 +00:00
Yuta Sato
779b4e1d19 8287001: Add warning message when fail to load hsdis libraries
Reviewed-by: kvn, ysuenaga
2022-06-29 01:17:28 +00:00
Joe Darcy
dbc6e11010 8289399: Update SourceVersion to use snippets
Reviewed-by: jjg, iris
2022-06-29 00:14:45 +00:00
KIRIYAMA Takuya
910053b74e 8280235: Deprecated flag FlightRecorder missing from VMDeprecatedOptions test
Reviewed-by: dholmes, mgronlun
2022-06-28 23:37:23 +00:00
Hai-May Chao
7b3bf97760 8289401: Add dump output to TestRawRSACipher.java
Reviewed-by: weijun
2022-06-28 23:30:32 +00:00
Jesper Wilhelmsson
86dc760f9e Merge 2022-06-28 22:11:23 +00:00
Daniel D. Daugherty
1504804896 8289398: ProblemList jdk/jfr/api/consumer/recordingstream/TestOnEvent.java on linux-x64 again
Reviewed-by: azvegint
2022-06-28 20:06:06 +00:00
altrisi
af0088076d 8284640: CollectorImpl class could be a record class
Reviewed-by: phh, rriggs
2022-06-28 17:12:06 +00:00
Alex Kasko
c67149be4b 8288961: jpackage: test MSI installation fix
Reviewed-by: asemenyuk, almatvee
2022-06-28 17:06:08 +00:00
Alex Kasko
1f36ed1fae 8288013: jpackage: test utility Windows registry enhancement
Reviewed-by: asemenyuk, almatvee
2022-06-28 17:03:11 +00:00
Igor Veresov
9b7805e3b4 8289069: Very slow C1 arraycopy jcstress tests after JDK-8279886
Reviewed-by: thartmann, kvn
2022-06-28 16:26:08 +00:00
Jonathan Gibbons
c42b796f91 8288058: Broken links on constant-values page
Reviewed-by: prappo
2022-06-28 15:58:12 +00:00
Jonathan Gibbons
a814293e1f 8275784: Bogus warning generated for record with compact constructor
Reviewed-by: prappo
2022-06-28 15:54:52 +00:00
Yi-Fan Tsai
88fe19c5b2 8289071: Compute allocation sizes of stubs and nmethods outside of lock protection
Reviewed-by: thartmann, phh
2022-06-28 15:16:21 +00:00
Brian Burkhalter
6f9717b46b 8288836: (fs) Files.writeString spec for IOException has "specified charset" when no charset is provided
Reviewed-by: alanb, lancea, iris
2022-06-28 15:05:46 +00:00
Thomas Stuefe
d4eeeb82cb 8271252: os::reserve_memory should not use mtOther as default NMT flag
Reviewed-by: zgu
2022-06-28 12:32:35 +00:00
Claes Redestad
9048cef761 8288425: Footprint regression due MH creation when initializing StringConcatFactory
Reviewed-by: jlaskey
Backport-of: 6d595614a2
2022-06-28 12:27:30 +00:00
Zhengyu Gu
549c6c22ae 8287818: Shenandoah: adapt nmethod arming from Loom
Reviewed-by: shade
2022-06-28 12:16:55 +00:00
Albert Mingkun Yang
aa43824249 8289138: G1: Remove redundant is-marking-active checks in C1 barrier
Reviewed-by: tschatzl, ehelin
2022-06-28 11:54:25 +00:00
Maurizio Cimadamore
adbd200dc5 8289228: SegmentAllocator::allocateArray null handling is too lax
Reviewed-by: jvernee, psandoz
2022-06-28 10:06:42 +00:00
Magnus Ihse Bursie
b4ab5fe1da 8288396: Always create reproducible builds
Reviewed-by: amenkov, ehelin
2022-06-28 09:00:45 +00:00
Calvin Cheung
33369719b2 8289258: ProblemList some failing custom loader tests with ZGC
Reviewed-by: dholmes
2022-06-28 05:22:43 +00:00
Dean Long
b4490386fe 8288445: AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding
Reviewed-by: thartmann, haosun, njian
2022-06-28 03:12:12 +00:00
Thejasvi Voniadka
784fa0add7 8282036: Change java/util/zip/ZipFile/DeleteTempJar.java to stop HttpServer cleanly in case of exceptions
Reviewed-by: jpai, alanb, dfuchs
2022-06-28 01:55:17 +00:00
Hai-May Chao
ca78f7bd76 8286259: Password cleanup after KeyStore.PasswordProtection in P11KeyStore
Reviewed-by: valeriep
2022-06-27 23:15:13 +00:00
Daniel D. Daugherty
2efa89a89e 8289251: ProblemList java/lang/ref/OOMEInReferenceHandler.java
Reviewed-by: dholmes
2022-06-27 21:24:00 +00:00
Calvin Cheung
e322e77e95 8288651: CDS test HelloUnload.java should not use literal string as ClassLoader name
Reviewed-by: coleenp, iklam
2022-06-27 21:16:02 +00:00
Harshitha Onkar
40bf3b1167 8288993: Make AwtFramePackTest generic by removing @requires tag
Reviewed-by: dmarkov, aivanov, serb
2022-06-27 21:02:11 +00:00
Pavel Rappo
17ef8cae33 8288524: Allow @systemProperty to appear in overview documentation
Reviewed-by: jjg
2022-06-27 19:33:16 +00:00
Daniel D. Daugherty
caa6b74b5b 8289240: ProblemList java/lang/reflect/callerCache/ReflectionCallerCacheTest.java in -Xcomp mode
Reviewed-by: bpb, naoto
2022-06-27 18:43:42 +00:00
Daniel D. Daugherty
28913f4747 8289235: ProblemList vmTestbase/nsk/jdi/ClassType/invokeMethod/invokemethod011/TestDescription.java when run with vthread wrapper
Reviewed-by: bpb
2022-06-27 18:42:27 +00:00
Jesper Wilhelmsson
d4b040f42d Merge 2022-06-27 18:25:53 +00:00
Raffaello Giulietti
354ed1034d 8288021: Add hard test cases to jdk.internal.math.DoubleToDecimalChecker
Co-authored-by: Paul Zimmermann <Paul.Zimmermann@inria.fr>
Reviewed-by: darcy
2022-06-27 18:21:17 +00:00
Jonathan Gibbons
7746664819 8280826: Document set of strings javac recognizes for SuppressWarnings
Reviewed-by: darcy
2022-06-27 17:02:21 +00:00
Maurizio Cimadamore
2c8ada689f 8289188: SegmentAllocator:allocateArray(*) default behavior mismatch to spec
Reviewed-by: alanb
2022-06-27 15:37:08 +00:00
Daniel Fuchs
f3f078846f 8288746: HttpClient resources could be reclaimed more eagerly
Reviewed-by: jpai, michaelm
2022-06-27 15:11:35 +00:00
Tobias Holenstein
be6be15efa 8288750: IGV: Improve Shortcuts
Reviewed-by: chagedorn, thartmann
2022-06-27 13:20:38 +00:00
Roland Westrelin
210a06a287 8287227: Shenandoah: A couple of virtual thread tests failed with iu mode even without Loom enabled.
Reviewed-by: shade, rkennke
2022-06-27 12:42:41 +00:00
Damon Nguyen
64f95cfb32 8012675: javax.swing.JEditorPane is unclear on the handling of unsupported HTML script tags
Reviewed-by: prr, aivanov
2022-06-27 12:37:15 +00:00
Jayashree Huttanagoudar
ddb55ede2c 8135292: Remove duplicate code in <OS>Address.java in SA
Reviewed-by: cjplummer, amenkov
2022-06-27 11:52:42 +00:00
Thomas Schatzl
699ad45b43 8289093: BlockLocationPrinter fails to decode addresses with G1
Reviewed-by: ayang, iwalulya
2022-06-27 11:41:24 +00:00
Christian Hagedorn
784a0f0496 8288683: C2: And node gets wrong type due to not adding it back to the worklist in CCP
Reviewed-by: roland, thartmann
2022-06-27 11:32:13 +00:00
Alan Bateman
7e13cdb799 8289079: java/lang/Thread/jni/AttachCurrentThread/AttachTest.java#id1 failed with "RuntimeException: Test failed"
Reviewed-by: dholmes, mcimadamore
2022-06-27 10:22:04 +00:00
Andrey Turbanov
7905788e96 8289126: Cleanup unnecessary null comparison before instanceof check in jdk.hotspot.agent
Reviewed-by: ayang, cjplummer
2022-06-27 07:30:19 +00:00
Andrey Turbanov
47fe9ef5bf 8289078: Make STARTTIME_ANY and STARTTIME_PROCESS_UNKNOWN fields static in ProcessHandleImpl
Reviewed-by: jpai, rriggs, bpb, naoto, iris
2022-06-27 07:13:02 +00:00
Matthias Baesken
62e1e7950b 8289147: unify os::infinite_sleep on posix platforms
Reviewed-by: mdoerr, kbarrett, dholmes
2022-06-27 06:50:11 +00:00
Joe Darcy
de7467146f 8266670: Better modeling of access flags in core reflection
Reviewed-by: mchung, rriggs, asotona
2022-06-25 19:09:43 +00:00
Jaikiran Pai
9c92da5249 8247407: tools/jlink/plugins/CompressorPluginTest.java test failing
Reviewed-by: sundar, jlaskey
2022-06-25 12:19:14 +00:00
Ryan Ernst
a5c25d8837 8286395: Address possibly lossy conversions in java.security.jgss
Reviewed-by: chegar
2022-06-25 08:00:21 +00:00
Ryan Ernst
e93be3acdf 8286389: Address possibly lossy conversions in jdk.crypto.ec
Reviewed-by: chegar, xuelei
2022-06-25 07:55:55 +00:00
Jaikiran Pai
7ac40f3b9f 8288983: broken link in com.sun.net.httpserver.SimpleFileServer
Reviewed-by: dfuchs, aefimov, michaelm
2022-06-25 02:36:27 +00:00
Vicente Romero
53b37fe153 8288130: compiler error with AP and explicit record accessor
Reviewed-by: jlahoda
2022-06-24 21:42:23 +00:00
Daniel D. Daugherty
08288819dd 8289166: ProblemList tools/jlink/plugins/CompressorPluginTest.java
Reviewed-by: lmesnik, bpb
2022-06-24 19:13:41 +00:00
Leonid Mesnik
4cdb97893c 8289098: clean up ported serviceability/jvmti tests
Reviewed-by: kevinw, sspitsyn
2022-06-24 18:13:23 +00:00
Joe Darcy
9918b6d384 8288609: Update --release 19 symbol information for JDK 19 build 28
Reviewed-by: iris
2022-06-24 16:26:03 +00:00
Ioi Lam
f67c5361cc 8288935: Remove excessive includes introduced in loom
Reviewed-by: rehn, stefank
2022-06-24 14:43:16 +00:00
Brian Burkhalter
239b4bb020 8289095: (fs) UnixCopyFile build error on linux-x86
Reviewed-by: alanb, shade, stuefe
2022-06-24 14:24:28 +00:00
Daniel D. Daugherty
0d2952e5b3 8289129: [BACKOUT] JDK-8287281 adjust guarantee in Handshake::execute for the case of target thread being current
Reviewed-by: alanb
2022-06-24 14:17:22 +00:00
Roger Riggs
fdc8455c45 8288495: [test] Make OutputAnalyzer exception more informative
Reviewed-by: lmesnik, naoto, jpai, dholmes
2022-06-24 13:46:32 +00:00
Boris Ulasevich
20f55abd27 8289044: ARM32: missing LIR_Assembler::cmove metadata type support
Reviewed-by: shade, stuefe
2022-06-24 13:37:22 +00:00
Harold Seigel
925084c496 8288976: classfile parser 'wrong name' error message has the names the wrong way around
Reviewed-by: dholmes, shade
2022-06-24 12:03:09 +00:00
Jan Lahoda
bdf9902f75 8288120: VerifyError with JEP 405 pattern match
Reviewed-by: vromero
2022-06-24 08:13:28 +00:00
Christian Hagedorn
17aacde50f 8288669: compiler/vectorapi/VectorFPtoIntCastTest.java still fails with "IRViolationException: There were one or multiple IR rule failures."
Reviewed-by: thartmann, dcubed
2022-06-24 07:28:44 +00:00
Johan Sjölén
9dc9a64fa4 8287281: adjust guarantee in Handshake::execute for the case of target thread being current
Reviewed-by: rehn, pchilanomate, dholmes, dcubed
2022-06-24 05:00:53 +00:00
Ioi Lam
64782a7524 8288623: Move Continuation classes out of javaClasses.hpp
Reviewed-by: stefank, coleenp
2022-06-24 04:29:48 +00:00
Abhishek Kumar
b0db33333a 8288528: broken links in java.desktop
Reviewed-by: prr, aivanov
2022-06-24 04:22:25 +00:00
Brian Burkhalter
651cbebb96 8288080: (fc) FileChannel::map for MemorySegments should state it always throws UOE
Backport-of: a9c2ab67c4
2022-06-23 22:57:35 +00:00
Daniel Jeliński
c8cc94a384 8288979: Improve CLDRConverter run time
Reviewed-by: naoto, rriggs
2022-06-23 18:44:54 +00:00
Sergey Tsypanov
740169ce1c 8285521: Minor improvements in java.net.URI
Reviewed-by: dfuchs
2022-06-23 17:52:37 +00:00
Brian Burkhalter
13cbb3a416 8289073: (fs) UnsatisfiedLinkError for sun.nio.fs.UnixCopyFile.bufferedCopy0()
Reviewed-by: alanb
2022-06-23 17:48:45 +00:00
Joe Wang
1f9521e6cb 8287076: Document.normalizeDocument() produces different results
Reviewed-by: lancea, iris, naoto
2022-06-23 17:12:31 +00:00
Naoto Sato
a716f7934b 8288589: Files.readString ignores encoding errors for UTF-16
Backport-of: 2728770e3d
2022-06-23 17:07:58 +00:00
Serguei Spitsyn
4c9ea7e66a 8286580: serviceability/jvmti/vthread/GetSetLocalTest failed with assert: Not supported for heap frames
Reviewed-by: lmesnik, rpressler, cjplummer
2022-06-23 16:21:32 +00:00
Coleen Phillimore
b206d2d149 8289006: Cleanup from thread.hpp split
Reviewed-by: dholmes, dcubed
2022-06-23 16:21:26 +00:00
Naoto Sato
2728770e3d 8288589: Files.readString ignores encoding errors for UTF-16
Reviewed-by: rriggs, iris, alanb
2022-06-23 15:49:43 +00:00
Brian Burkhalter
ef17ee4dea 8288515: (ch) Unnecessary use of Math.addExact() in java.nio.channels.FileLock.overlaps()
Reviewed-by: alanb
2022-06-23 15:40:23 +00:00
Brian Burkhalter
72f286a9ba 8287580: (se) CancelledKeyException during channel registration
Reviewed-by: alanb
2022-06-23 15:39:32 +00:00
Brian Burkhalter
b8db0c383b 6980847: (fs) Files.copy needs to be "tuned"
Reviewed-by: alanb
2022-06-23 15:36:19 +00:00
Julian Waters
d579916a6b 8288740: Change incorrect documentation for sjavac flag
Reviewed-by: ihse
2022-06-23 14:17:58 +00:00
Thomas Stuefe
26c03c1860 8288719: [arm32] SafeFetch32 thumb interleaving causes random crashes
8284997: arm32 build crashes since JDK-8283326

Reviewed-by: snazarki, xliu, lucy
2022-06-23 10:15:05 +00:00
Thiago Henrique Hüpner
a802b9816a 8287760: --do-not-resolve-by-default gets overwritten if --warn-if-resolved flags is used
Reviewed-by: lancea, alanb, cstein
2022-06-23 09:41:06 +00:00
Evgeny Astigeevich
bf0623b11f 8286314: Trampoline not created for far runtime targets outside small CodeCache
Reviewed-by: aph, phh
2022-06-23 09:30:59 +00:00
Richard Reingruber
3f5e48a44e 8288781: C1: LIR_OpVisitState::maxNumberOfOperands too small
Reviewed-by: shade, mdoerr, thartmann
2022-06-23 05:42:54 +00:00
Jesper Wilhelmsson
5b583e4792 Merge 2022-06-22 23:21:49 +00:00
Jonathan Gibbons
3b1ec3e660 8288994: Incorrect @since tags for @value update in JDK-8286101
Reviewed-by: darcy, prappo
2022-06-22 20:48:31 +00:00
Erik Gahlin
58b6937b09 8288982: JFR: Log event streaming actions
Reviewed-by: mgronlun
2022-06-22 19:37:51 +00:00
Daniel D. Daugherty
6458ebc8e4 8288988: ProblemList serviceability/jvmti/vthread/ContStackDepthTest/ContStackDepthTest.java in -Xcomp mode
Reviewed-by: alanb, azvegint
2022-06-22 16:20:20 +00:00
Xin Liu
82c77ca807 8288926: make runtime/logging/DeoptStats.java more reliable
Reviewed-by: simonis, phh
2022-06-22 15:57:48 +00:00
Naoto Sato
d4de475747 8287868: Localized names update in COMPAT locale provider
Reviewed-by: iris, joehw
2022-06-22 15:47:07 +00:00
Jaikiran Pai
50c37f53f2 8276798: HttpURLConnection sends invalid HTTP request
Reviewed-by: dfuchs, michaelm
2022-06-22 14:45:52 +00:00
Markus Grönlund
6037ccdd50 8288846: misc tests fail "assert(ms < 1000) failed: Un-interruptable sleep, short time use only"
Reviewed-by: egahlin
2022-06-22 13:29:44 +00:00
Coleen Phillimore
270cf67e5f 8288752: Split thread implementation files
Reviewed-by: dholmes, rehn, iklam
2022-06-22 12:49:25 +00:00
Matthias Baesken
d51f4f471f 8287011: Improve container information
Reviewed-by: sgehwolf, stuefe
2022-06-22 10:36:16 +00:00
Alan Bateman
8fa46c8f72 8288840: StructureViolationException should not link to fork method
Reviewed-by: psandoz, mchung
2022-06-22 07:48:58 +00:00
Alan Bateman
7cf71bc2d3 8287982: Concurrent implicit attach from native threads crashes VM
Reviewed-by: dholmes, rehn
2022-06-22 07:48:14 +00:00
Jaikiran Pai
affbd72aa3 8288744: Remove tools/jlink/plugins/CompressorPluginTest.java from problemlist
Reviewed-by: alanb
2022-06-22 05:51:24 +00:00
Joe Wang
9e2d9ac59a 8288529: broken link in java.xml
Reviewed-by: iris, lancea, naoto
2022-06-22 04:49:17 +00:00
Jesper Wilhelmsson
2bf5c9a687 Merge 2022-06-21 22:26:26 +00:00
Alexander Matveev
70008da6b4 8287971: Throw exception for missing values in .jpackage.xml
Reviewed-by: asemenyuk
2022-06-21 21:12:21 +00:00
Maurizio Cimadamore
d7b43af591 8288761: SegmentAllocator:allocate(long bytesSize) not throwing IAEx when bytesSize < 0
Reviewed-by: psandoz
2022-06-21 20:59:45 +00:00
Ioi Lam
9f8bfab290 8288537: Move Devirtualizer out of hotspot/share/memory/iterator.hpp
Reviewed-by: stefank, coleenp
2022-06-21 20:54:59 +00:00
Leonid Mesnik
f080430440 8288599: com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ...
Reviewed-by: sspitsyn, kevinw
2022-06-21 18:38:03 +00:00
Aleksey Shipilev
834d92dd72 8288754: GCC 12 fails to build zReferenceProcessor.cpp
Reviewed-by: kbarrett, ayang, stefank, tschatzl
2022-06-21 18:13:36 +00:00
Ron Pressler
198cec9e1b 8286103: VThreadMonitorTest fails "assert(!current->cont_fastpath() || (current->cont_fastpath_thread_state() && !interpreted_native_or_deoptimized_on_stack(current))) failed"
Reviewed-by: sspitsyn, pchilanomate
2022-06-21 16:58:55 +00:00
Ron Pressler
97200a78b1 8278053: serviceability/jvmti/vthread/ContStackDepthTest/ContStackDepthTest.java failing in loom repo with Xcomp
Reviewed-by: sspitsyn, pchilanomate, coleenp
2022-06-21 16:48:33 +00:00
Daniel D. Daugherty
31d981e5ea 8288532: additional review changes for JDK-8286830
Reviewed-by: pchilanomate, dholmes
2022-06-21 16:36:51 +00:00
Daniel D. Daugherty
a144988600 8288139: JavaThread touches oop after GC barrier is detached
Reviewed-by: pchilanomate, dholmes, rehn, eosterlund
2022-06-21 16:21:03 +00:00
Daniel D. Daugherty
e26d3b3c01 8288497: add support for JavaThread::is_oop_safe()
Reviewed-by: pchilanomate, dholmes, rehn, eosterlund
2022-06-21 16:08:09 +00:00
Hannes Wallnöfer
c74a9235fc 8288531: Empty spans in mobile navigation markup
Reviewed-by: jjg
2022-06-21 16:02:22 +00:00
Brian Burkhalter
535fba8bfc 8288687: (fc) Unix version ofFileChannelImpl.transferTo0() should should return IOS_UNSUPPORTED if not Linux, macOS, nor AIX
Reviewed-by: alanb
2022-06-21 15:27:52 +00:00
Emanuel Peter
af05139133 8288467: remove memory_operand assert for spilled instructions
Reviewed-by: thartmann, shade, jbhateja
2022-06-21 15:22:02 +00:00
Weijun Wang
19017358b1 8288209: SSL debug message wrong about unsupported authentication scheme
Reviewed-by: djelinski, jnimeh
2022-06-21 14:33:03 +00:00
Andrey Turbanov
0f801fe6fd 8288628: Unnecessary Hashtable usage in ConditionalSpecialCasing
Reviewed-by: naoto, jpai
2022-06-21 08:28:04 +00:00
Thomas Stuefe
701ea3beaa 8288556: VM crashes if it gets sent SIGUSR2 from outside
Reviewed-by: dholmes, lucy
2022-06-21 07:55:48 +00:00
Jaikiran Pai
5e680d0594 8288724: Prevent NullPointerException in serviceability/tmtools/jstack/DaemonThreadTest.java if jstack process fails
Reviewed-by: kevinw, sspitsyn
2022-06-21 07:12:32 +00:00
Hannes Wallnöfer
b9c396625c 8288671: Problematic fix for font boosting
Reviewed-by: jjg
2022-06-21 05:56:20 +00:00
Ioi Lam
ad8914616b 8288601: Consolidate static/dynamic archive tables
Reviewed-by: ccheung
2022-06-21 05:20:58 +00:00
Rob McKenna
7e211d7daa 8287672: jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run
Reviewed-by: dfuchs, aefimov
2022-06-21 00:23:12 +00:00
Jesper Wilhelmsson
7039c6616a Merge 2022-06-20 19:38:49 +00:00
Lance Andersen
453e8beb43 8288527: broken link in java.base/java/util/zip/package-summary.html
Reviewed-by: bpb, martin
2022-06-20 17:32:31 +00:00
Erik Gahlin
33d0363e03 8288741: JFR: Change package name of snippet files
Reviewed-by: mgronlun
2022-06-20 16:20:31 +00:00
Emanuel Peter
302a6c068d 8287801: Fix test-bugs related to stress flags
Reviewed-by: chagedorn, thartmann
2022-06-20 14:29:06 +00:00
Markus Grönlund
0408f9c543 8288663: JFR: Disabling the JfrThreadSampler commits only a partially disabled state
Backport-of: a7df5a4063
2022-06-20 14:24:35 +00:00
Markus Grönlund
a7df5a4063 8288663: JFR: Disabling the JfrThreadSampler commits only a partially disabled state
Reviewed-by: jbachorik, egahlin
2022-06-20 13:30:19 +00:00
tqxia
406cf611d9 8287771: Remove useless G1 After GC summary refinement and sampling thread times
Reviewed-by: tschatzl, kbarrett
2022-06-20 12:58:26 +00:00
Erik Gahlin
1cf83a403f 8287800: JFR: Incorrect error message when starting recording with missing .jfc file
Reviewed-by: mgronlun
2022-06-20 12:23:33 +00:00
Claes Redestad
5cdb4b1960 8288011: StringConcatFactory: Split application of stringifiers
Reviewed-by: jvernee, mchung
2022-06-20 11:56:20 +00:00
Erik Gahlin
46d5b682db 8288685: JFR: Use static methods for Active Recording and Active Setting events
Reviewed-by: mgronlun
2022-06-20 11:48:27 +00:00
Claes Redestad
68bff04515 8288673: Reduce runtime of java.time microbenchmarks
Reviewed-by: jvernee
2022-06-20 10:21:51 +00:00
Claes Redestad
d917e1874e 8288667: Reduce runtime of java.text microbenchmarks
Reviewed-by: jvernee
2022-06-20 10:20:31 +00:00
Andrey Turbanov
695d8656c5 8284672: Collapse identical catch branches in java.desktop
Reviewed-by: prr, aivanov, serb
2022-06-20 09:02:15 +00:00
Martin Doerr
09da87cf5c 8288485: jni/nullCaller/NullCallerTest.java failing (ppc64)
Reviewed-by: alanb
2022-06-20 08:34:06 +00:00
Andrey Turbanov
7acdcc1034 8288329: Avoid redundant TreeMap.containsKey call in PolicyParser.read
Reviewed-by: mullan
2022-06-20 08:03:13 +00:00
Roberto Castañeda Lozano
f62b2bd9cd 8288480: IGV: toolbar action is not applied to the focused graph
Reviewed-by: chagedorn, thartmann
2022-06-20 07:34:45 +00:00
Roberto Castañeda Lozano
02da5f9970 8263384: IGV: Outline should highlight the Graph that has focus
Reviewed-by: xliu, chagedorn, thartmann
2022-06-20 07:27:11 +00:00
Christian Hagedorn
ed714af854 8288564: C2: LShiftLNode::Ideal produces wrong result after JDK-8278114
Reviewed-by: kvn, iveresov, thartmann
2022-06-20 06:47:40 +00:00
Erik Österlund
7d4df6a83f 8284404: Too aggressive sweeping with Loom
Reviewed-by: kvn, thartmann
2022-06-20 06:43:23 +00:00
Xiaohong Gong
ae030bcbc5 8288397: AArch64: Fix register issues in SVE backend match rules
Reviewed-by: njian, ngasson
2022-06-20 01:07:45 +00:00
Jonathan Gibbons
f12d044929 8288692: jdk/javadoc/doclet/testTagMisuse/TestTagMisuse.java fails after JDK-8288545
Reviewed-by: prappo
2022-06-17 21:48:24 +00:00
Erik Gahlin
97544be5b6 8268398: 15% increase in JFR footprint in Noop-Base
Reviewed-by: jbachorik
2022-06-17 19:40:08 +00:00
Joe Darcy
47b86690b6 8288573: Make Executable.getParameterCount() actually abstract
Reviewed-by: iris, alanb, jpai
2022-06-17 16:57:38 +00:00
Jonathan Gibbons
983f75caa6 8288545: Missing space in error message
Reviewed-by: hannesw
2022-06-17 16:53:19 +00:00
Jesper Wilhelmsson
af64d316c0 Merge 2022-06-17 13:46:47 +00:00
Claes Redestad
cc445926cf 8287904: Reduce runtime of java.net microbenchmarks
Reviewed-by: jvernee
2022-06-17 12:24:16 +00:00
Srinivas Mandalika
523d553e13 8282777: Create a Regression test for JDK-4515031
Reviewed-by: serb
2022-06-17 08:22:27 +00:00
Roberto Castañeda Lozano
f3da7ff66e 8288421: IGV: warn user about all unreachable nodes
Reviewed-by: chagedorn, thartmann
2022-06-17 07:32:15 +00:00
Alan Bateman
53bf1bfdab 8286176: Add JNI_VERSION_19 to jni.h and JNI spec
Reviewed-by: dcubed, iris, mchung, dholmes
2022-06-17 05:57:28 +00:00
Sandhya Viswanathan
9d4b25e788 8288281: compiler/vectorapi/VectorFPtoIntCastTest.java failed with "IRViolationException: There were one or multiple IR rule failures."
Reviewed-by: thartmann, chagedorn
2022-06-16 22:07:13 +00:00
Alexey Semenyuk
c254c9d095 8287401: jpackage tests failing on Windows due to powershell issue
Reviewed-by: almatvee
2022-06-16 22:04:17 +00:00
Andrey Turbanov
e833c1d179 8285519: Change usages of TimeUnit.convert to TimeUnit.toXXX
Reviewed-by: rriggs
2022-06-16 17:29:49 +00:00
Adam Sotona
e7d52e25a2 8288594: Address possibly lossy conversions in java.base FloatToDecimal
Reviewed-by: rriggs
2022-06-16 16:59:19 +00:00
Andrew Haley
2cf7c01759 8288478: AArch64: Clean up whitespace in assembler_aarch64.hpp
Reviewed-by: shade
2022-06-16 16:38:39 +00:00
Andrey Turbanov
ce5024f66f 8288468: Avoid redundant HashMap.get call in NegotiateAuthentication.firstToken
Reviewed-by: dfuchs, jpai
2022-06-16 16:03:05 +00:00
Maurizio Cimadamore
ff3db52044 8288534: Out of bound errors for memory segment access mentions wrong values
Reviewed-by: psandoz
2022-06-16 15:59:22 +00:00
Claes Redestad
8fc8fdca96 8287905: Reduce runtime of java.nio microbenchmarks
Reviewed-by: jvernee
2022-06-16 15:05:00 +00:00
Coleen Phillimore
cf4a4966a8 8288064: Class initialization locking
Reviewed-by: rehn, vlivanov
2022-06-16 12:38:06 +00:00
Jesper Wilhelmsson
3d12c0225b Merge 2022-06-16 12:01:32 +00:00
Dmitry Kulikov
b2a58bec4a 8288005: HotSpot build with disabled PCH fails for Windows AArch64
Reviewed-by: shade, kbarrett
2022-06-16 08:12:30 +00:00
Tejesh R
39526e28bc 8284619: javax/swing/JTable/8236907/LastVisibleRow.java failed with "Test Case Failed!!, Last Row not Visible!!!"
Reviewed-by: psadhukhan, honkar
2022-06-16 03:47:30 +00:00
Fei Gao
a1795901ee 8283091: Support type conversion between different data sizes in SLP
Reviewed-by: kvn, sviswanathan
2022-06-16 02:40:59 +00:00
Hao Sun
f7ba3b7e42 8288300: AArch64: Remove the assertion in fmovs/fmovd(FloatRegister, FloatRegister)
Reviewed-by: aph, ngasson
2022-06-16 00:54:27 +00:00
Ioi Lam
07612281b0 8288443: Simplify vmClasses::resolve_all()
Reviewed-by: ccheung, dholmes, coleenp
2022-06-15 22:40:03 +00:00
Jonathan Gibbons
729164f534 8288533: Missing @param tags in com.sun.source classes
Reviewed-by: darcy, iris
2022-06-15 22:31:56 +00:00
Daniel D. Daugherty
9ff40346dd 8288530: ProblemList serviceability/jvmti/VMObjectAlloc/VMObjectAllocTest.java in -Xcomp mode
Reviewed-by: amenkov
2022-06-15 21:19:31 +00:00
Kevin Driver
1855e9d201 8220732: setSeed(long) java api doc is missing warning about provided seed quality
Reviewed-by: wetmore
2022-06-15 21:03:04 +00:00
Claes Redestad
6d595614a2 8288425: Footprint regression due MH creation when initializing StringConcatFactory
Reviewed-by: jvernee, mchung
2022-06-15 19:48:27 +00:00
Daniel D. Daugherty
9254e12993 8288526: ProblemList gc/stress/TestStressG1Humongous.java on windows-x64
Reviewed-by: psandoz
2022-06-15 19:43:38 +00:00
Paul Sandoz
395aea307f 8288414: Long::compress/expand samples are not correct
Reviewed-by: alanb
2022-06-15 19:21:13 +00:00
Andrey Turbanov
3475e12fa6 8288330: Avoid redundant ConcurrentHashMap.get call in Http2ClientImpl.deleteConnection
Reviewed-by: jpai, dfuchs
2022-06-15 18:12:29 +00:00
Magnus Ihse Bursie
cb5ef3da19 8288499: Restore cancel-in-progress in GHA
Reviewed-by: erikj, shade
2022-06-15 17:36:12 +00:00
Conor Cleary
13d4ddc35b 8286962: java/net/httpclient/ServerCloseTest.java failed once with ConnectException
Reviewed-by: dfuchs, jpai
2022-06-15 15:41:18 +00:00
Andrew Leonard
6633855ca7 8288399: MacOS debug symbol files not always deterministic in reproducible builds
Reviewed-by: erikj
2022-06-15 14:00:20 +00:00
Johan Sjölén
d5cd2f2caa 8284849: Add deoptimization to unified logging
Reviewed-by: jvernee, kvn, xliu, coleenp
2022-06-15 12:23:49 +00:00
Andrey Turbanov
dfeeb6f8f3 8288140: Avoid redundant Hashtable.get call in Signal.handle
Reviewed-by: rriggs
2022-06-15 10:35:02 +00:00
Boris Ulasevich
68b2057205 8287373: remove unnecessary paddings in generated code
Reviewed-by: kvn
2022-06-15 09:10:48 +00:00
Alan Bateman
f3b1f60a29 8288289: Preview APIs in jdk.jdi, jdk.management, and jdk.jfr should be reflective preview APIs
Reviewed-by: cjplummer, jlahoda
2022-06-15 08:20:51 +00:00
Emanuel Peter
2471f8f7c5 8287647: VM debug support: find node by pattern in name or dump
Reviewed-by: kvn, chagedorn, thartmann
2022-06-15 08:06:47 +00:00
Aleksey Shipilev
31bc689977 8288324: Loom: Uninitialized JvmtiEnvs in VM_Virtual* ops
Reviewed-by: sspitsyn, dholmes
2022-06-15 07:49:20 +00:00
Matthias Baesken
33f34d540e 8288207: Enhance MalformedURLException in Uri.parseCompat
Reviewed-by: dfuchs, alanb
2022-06-15 06:53:12 +00:00
Matthias Baesken
444a0d98ac 8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist
Reviewed-by: sgehwolf, mdoerr
2022-06-15 06:39:23 +00:00
Zhuojun Miao
08400f18ba 8287349: AArch64: Merge LDR instructions to improve C1 OSR performance
Reviewed-by: aph, ngasson, thartmann
2022-06-15 05:57:55 +00:00
Yoshiki Sato
fe807217a7 8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier
Reviewed-by: mchung
2022-06-15 00:12:53 +00:00
Vladimir Ivanov
50f99c3208 8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes
Reviewed-by: thartmann, kvn
2022-06-14 22:37:00 +00:00
Harshitha Onkar
bbaeacb597 8265586: [windows] last button is not shown in AWT Frame with BorderLayout and MenuBar set.
Reviewed-by: aivanov, dmarkov, azvegint
2022-06-14 19:48:06 +00:00
Coleen Phillimore
0f580974a6 8288134: Super class names don't have envelopes
Reviewed-by: iklam, hseigel, fparain
2022-06-14 19:30:39 +00:00
Brian Burkhalter
5a8e1e43a4 8287889: (fs) Files.copy description of REPLACE_EXISTING is hard to read
Reviewed-by: alanb
2022-06-14 17:59:06 +00:00
Paul Sandoz
fb297705f6 8287186: JDK modules participating in preview
Reviewed-by: alanb, jlahoda
2022-06-14 16:22:59 +00:00
Aleksey Shipilev
8cd87e731b 8288303: C1: Miscompilation due to broken Class.getModifiers intrinsic
Reviewed-by: iveresov, dlong
2022-06-14 14:34:45 +00:00
Alan Bateman
c76a06aeb5 8288214: serviceability/jvmti/vthread/VThreadNotifyFramePopTest/VThreadNotifyFramePopTest.java test failed
Reviewed-by: lmesnik, zgu, dcubed, sspitsyn
2022-06-14 13:00:27 +00:00
Matthias Baesken
0530f4e517 8288094: cleanup old _MSC_VER handling
Reviewed-by: mdoerr, clanger, aturbanov
2022-06-14 10:43:07 +00:00
Magnus Ihse Bursie
1a6533225d 8287906: Rewrite of GitHub Actions (GHA) sanity tests
Reviewed-by: shade, erikj, cstein
2022-06-14 07:48:49 +00:00
Matthias Baesken
c2ccf4ca85 8288003: log events for os::dll_unload
Reviewed-by: dholmes, stuefe
2022-06-14 07:18:07 +00:00
Swati Sharma
03dca565cf 8287525: Extend IR annotation with new options to test specific target feature.
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: chagedorn, kvn
2022-06-14 06:13:26 +00:00
Eric Liu
86c9241cce 8287028: AArch64: [vectorapi] Backend implementation of VectorMask.fromLong with SVE2
Reviewed-by: xgong, ngasson
2022-06-14 03:38:42 +00:00
Naoto Sato
fbe9266622 8288378: [BACKOUT] DST not applying properly with zone id offset set with TZ env variable
Reviewed-by: dholmes
2022-06-14 01:06:54 +00:00
Jesper Wilhelmsson
19043538e1 Merge 2022-06-14 00:27:47 +00:00
Daniel D. Daugherty
53ef59c402 8288365: ProblemList java/lang/reflect/callerCache/ReflectionCallerCacheTest.java in -Xcomp on macosx-x64 and windows-x64
Reviewed-by: dholmes, mchung
2022-06-13 22:47:33 +00:00
Brian Burkhalter
a9c2ab67c4 8288080: (fc) FileChannel::map for MemorySegments should state it always throws UOE
Reviewed-by: alanb
2022-06-13 22:47:13 +00:00
Daniel D. Daugherty
e90b579b29 8288332: Tier1 validate-source fails after 8279614
Reviewed-by: darcy
2022-06-13 20:47:34 +00:00
Alisen Chung
b42c1ad108 8279614: The left line of the TitledBorder is not painted on 150 scale factor
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: kizune, aivanov, prr
2022-06-13 20:05:06 +00:00
Gaurav Chaudhari
9b6d0a7e94 8285838: DST not applying properly with zone id offset set with TZ env variable
Reviewed-by: naoto
2022-06-13 20:01:57 +00:00
Jonathan Gibbons
53a0acee06 8286101: Support formatting in @value tag
Reviewed-by: prappo
2022-06-13 18:13:21 +00:00
Hai-May Chao
8f400b9aab 8286779: javax.crypto.CryptoPolicyParser#isConsistent always returns 'true'
Reviewed-by: mullan, rhalade
2022-06-13 15:31:58 +00:00
Severin Gehwolf
e0baf012b1 8287007: [cgroups] Consistently use stringStream throughout parsing code
Reviewed-by: iklam
2022-06-13 15:14:51 +00:00
Mark Powers
17695962ac 8285263: Minor cleanup could be done in java.security
Reviewed-by: weijun
2022-06-13 15:13:56 +00:00
Alexey Ivanov
b97a4f6cdc 8288114: Update JIRA link in vcs.xml
Reviewed-by: mcimadamore, ihse, erikj
2022-06-13 14:48:52 +00:00
Martin Doerr
7aafc69a96 8288105: [PPC64] Problems with -XX:+VerifyStack
Reviewed-by: goetz, mbaesken
2022-06-13 14:42:49 +00:00
Kevin Driver
2adef6a1f8 8267860: Off-by-one bug when searching arrays in AlpnGreaseTest
Co-authored-by: Bradford Wetmore <wetmore@openjdk.org>
Reviewed-by: wetmore
2022-06-13 14:38:36 +00:00
Jie Fu
4aede33fbf 8288282: Zero-release build is broken after JDK-8279047 due to UseHeavyMonitors is read-only
Reviewed-by: dholmes, shade
2022-06-13 14:36:57 +00:00
Andrew Haley
0207d761f4 8287926: AArch64: intrinsics for divideUnsigned and remainderUnsigned methods in java.lang.Integer and java.lang.Long
Reviewed-by: adinn, ngasson
2022-06-13 14:35:43 +00:00
Emanuel Peter
33ed0365c3 8283775: better dump: VM support for graph querying in debugger with BFS traversal and node filtering
Reviewed-by: kvn, chagedorn, thartmann, rcastanedalo
2022-06-13 11:46:13 +00:00
Koichi Sakata
ac28be721f 8283612: IGV: Remove Graal module
Reviewed-by: rcastanedalo, chagedorn
2022-06-13 08:22:57 +00:00
Sibabrata Sahoo
0cb0ecf443 8209935: Test to cover CodeSource.getCodeSigners()
Reviewed-by: mullan
2022-06-13 05:17:58 +00:00
Andrey Turbanov
f1143b1b57 8287696: Avoid redundant Hashtable.containsKey call in JarVerifier.doneWithMeta
Reviewed-by: jpai, lancea
2022-06-11 10:53:35 +00:00
David Holmes
d46f404b31 8279047: Remove expired flags in JDK 20
Reviewed-by: kvn, kbarrett, alanb
2022-06-11 05:52:14 +00:00
Joe Darcy
f4b05a1168 8288173: JDK-8202449 fix causes conformance test failure : api/java_util/Random/RandomGenerator/NextFloat.html
Backport-of: da2339cf69
2022-06-11 00:44:15 +00:00
Hai-May Chao
f7a4be75fb 8288270: Tier1 build failures after JDK-8287178
Reviewed-by: weijun, jiefu
2022-06-10 23:58:15 +00:00
Weijun Wang
d4b473d890 8287178: IntegerModuloP::multiplicativeInverse returns 0 for 0
Reviewed-by: jnimeh
2022-06-10 22:25:18 +00:00
Raffaello Giulietti
da2339cf69 8288173: JDK-8202449 fix causes conformance test failure : api/java_util/Random/RandomGenerator/NextFloat.html
Reviewed-by: bpb, darcy
2022-06-10 21:01:14 +00:00
Joe Darcy
f2e10dce78 8288238: Add missing file jdk.incubator.concurrent-J.sym.txt
Reviewed-by: mikael, dcubed
2022-06-10 20:00:17 +00:00
Jesper Wilhelmsson
fa564e9d58 Merge 2022-06-10 19:53:40 +00:00
Magnus Ihse Bursie
d0c8ff8fdf 8288195: Prepare build system for GHA changes
Reviewed-by: shade, erikj
2022-06-10 19:32:30 +00:00
Joe Darcy
7e940efcbc 8286038: Update --release 19 symbol information for JDK 19 build 26
Reviewed-by: iris
2022-06-10 19:00:41 +00:00
Rajan Halade
c6dd2ab9d7 8224768: Test ActalisCA.java fails
Reviewed-by: mullan
2022-06-10 17:25:54 +00:00
Aleksey Shipilev
d9c1364dde 8288101: False build warning-as-error with GCC 9 after JDK-8214976
Reviewed-by: mdoerr, zgu, kbarrett
2022-06-10 17:07:20 +00:00
Joe Darcy
aaa897148a 8288227: Refactor annotation implementation to use pattern matching for instanceof
Reviewed-by: alanb
2022-06-10 17:05:17 +00:00
Sandhya Viswanathan
2cc40afa07 8287835: Add support for additional float/double to integral conversion for x86
Reviewed-by: kvn, jbhateja
2022-06-10 17:02:33 +00:00
Daniel D. Daugherty
0164145afc 8288222: ProblemList serviceability/jvmti/vthread/VThreadNotifyFramePopTest/VThreadNotifyFramePopTest.java
Reviewed-by: alanb, iklam
2022-06-10 15:37:20 +00:00
Jonathan Gibbons
03276a5153 8281445: Document the default value for the override-methods option
Reviewed-by: prappo
2022-06-10 15:02:59 +00:00
Rajan Halade
3ee1e60595 8288132: Update test artifacts in QuoVadis CA interop tests
Reviewed-by: mullan
2022-06-10 15:01:19 +00:00
Rajan Halade
512db0ff31 8271838: AmazonCA.java interop test fails
Reviewed-by: mullan
2022-06-10 14:49:27 +00:00
Prasanta Sadhukhan
fcb35ed40e 8287743: javax/swing/text/CSSBorder/6796710/bug6796710.java failed
Reviewed-by: aivanov
2022-06-10 13:37:24 +00:00
Andrew Haley
bdd64d6f7d 8288181: AArch64: clean up out-of-date comments
Reviewed-by: shade
2022-06-10 13:27:30 +00:00
Jie Fu
5d0e8b6981 8288203: runtime/ClassUnload/UnloadTestWithVerifyDuringGC.java fails with release VMs
Reviewed-by: shade
2022-06-10 11:40:25 +00:00
Magnus Ihse Bursie
975316e3e5 8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows
Reviewed-by: naoto
2022-06-10 10:07:10 +00:00
KIRIYAMA Takuya
0901548833 8283724: Incorrect description for jtreg-failure-handler option
Reviewed-by: erikj, ihse
2022-06-10 09:19:06 +00:00
Roland Westrelin
dae4c493e4 8286197: C2: Optimize MemorySegment shape in int loop
Reviewed-by: kvn, thartmann
2022-06-10 08:17:26 +00:00
Thomas Schatzl
94b473e464 8280454: G1: ClassLoaderData verification keeps CLDs live that causes problems with VerifyDuringGC during Remark
Reviewed-by: stefank, coleenp
2022-06-10 07:57:32 +00:00
Andrey Turbanov
900d967da5 8287924: Avoid redundant HashMap.containsKey call in EnvHelp.mapToHashtable
Reviewed-by: sspitsyn, cjplummer
2022-06-09 20:29:16 +00:00
Brian Burkhalter
d482d7f5b9 8286160: (fs) Files.exists returns unexpected results with C:\pagefile.sys because it's not readable
Reviewed-by: alanb
2022-06-09 16:30:53 +00:00
Joe Darcy
edff51e5fd 8284858: Start of release updates for JDK 20
8286035: Add source 20 and target 20 to javac
8286034: Add SourceVersion.RELEASE_20

Reviewed-by: dholmes, kcr, iris, erikj, jjg, ihse
2022-06-09 16:16:49 +00:00
Conor Cleary
267144311c 8286171: HttpClient/2 : Expect:100-Continue blocks indefinitely when response is not 100
Reviewed-by: dfuchs, jpai
2022-06-09 15:03:52 +00:00
Aleksey Shipilev
59b0de6bc7 8288048: Build failure with GCC 6 after JDK-8286562
Reviewed-by: kbarrett, ysuenaga
2022-06-09 14:16:07 +00:00
Andrew Haley
db4405d0f8 8288078: linux-aarch64-optimized build fails in Tier5 after JDK-8287567
Reviewed-by: adinn, thartmann
2022-06-09 14:13:05 +00:00
Claes Redestad
7e948f7ccb 8287903: Reduce runtime of java.math microbenchmarks
Reviewed-by: ecaspole, aph
2022-06-09 13:11:15 +00:00
Harold Seigel
3fa99844a6 8287854: Dangling reference in ClassVerifier::verify_class
Reviewed-by: dholmes, coleenp
2022-06-09 12:03:54 +00:00
Nick Gasson
4285e3d6db 8288023: AArch64: disable PAC-RET when preview is enabled
Reviewed-by: rpressler, adinn
2022-06-09 11:48:46 +00:00
Martin Doerr
560e2927e3 8287738: [PPC64] jdk/incubator/vector/*VectorTests failing
Reviewed-by: kvn, goetz
2022-06-09 10:14:45 +00:00
Aleksey Shipilev
e5b56bafa9 8288040: x86: Loom: Improve cont/monitor-count helper methods
Reviewed-by: coleenp, rpressler
2022-06-09 08:16:22 +00:00
Tejesh R
5a89cb01bc 6429812: NPE after calling JTable.updateUI() when using a header renderer + XP L&F
Reviewed-by: aivanov, serb
2022-06-09 08:12:59 +00:00
Jan Lahoda
bc28baeba9 8287897: Augment src/jdk.internal.le/share/legal/jline.md with information on 4th party dependencies
Reviewed-by: vromero
2022-06-09 07:11:09 +00:00
Aleksey Shipilev
aa2fc54b61 8287493: 32-bit Windows build failure in codeBlob.cpp after JDK-8283689
Reviewed-by: kvn, zgu, alanb, jvernee
2022-06-09 05:49:39 +00:00
Aleksey Shipilev
7e1cce8cb5 8288051: Loom: Extend the compilation warning workaround in stack chunk copy
Reviewed-by: coleenp
2022-06-09 05:48:48 +00:00
wanghaomin
3419beec7f 8286847: Rotate vectors don't support byte or short
Reviewed-by: eliu, xgong, jiefu, jbhateja
2022-06-09 04:00:31 +00:00
XenoAmess
e01cd7c3ed 8284780: Need methods to create pre-sized HashSet and LinkedHashSet
Reviewed-by: naoto, bpb, dfuchs, ascarpino
2022-06-09 01:50:54 +00:00
Jie Fu
a941bc2de6 8288082: Build failure due to __clang_major__ is not defined after JDK-8214976
Reviewed-by: dholmes
2022-06-09 00:01:31 +00:00
Maurizio Cimadamore
65f0829d64 8288068: Javadoc contains spurious reference to CLinker
Reviewed-by: iris
2022-06-08 23:58:28 +00:00
Man Cao
130ce7c6b8 8288052: Small logging clarification during failed heap shrinkage
Co-authored-by: Jonathan Joo <jonathanjoo@google.com>
Reviewed-by: tschatzl
2022-06-08 20:18:28 +00:00
Ron Pressler
b623398555 8287901: Loom: Failures with -XX:+VerifyStack
Reviewed-by: pchilanomate, coleenp
2022-06-08 19:50:31 +00:00
Kim Barrett
04f02ac6b2 8214976: Warn about uses of functions replaced for portability
Reviewed-by: dholmes, tschatzl, coleenp
2022-06-08 19:16:46 +00:00
Pavel Rappo
024a240e1b 8287333: Clean up ParamTaglet and ThrowsTaglet
Reviewed-by: jjg
2022-06-08 17:37:41 +00:00
Raffaello Giulietti
c8cff1bd6f 8202449: overflow handling in Random.doubles
Reviewed-by: darcy
2022-06-08 16:28:18 +00:00
Raffaello Giulietti
c15e10fb6c 8233760: Result of BigDecimal.toString throws overflow exception on new BigDecimal(str)
Reviewed-by: darcy
2022-06-08 16:23:04 +00:00
Tim Prinzing
b92ce2699b 8281001: Class::forName(String) defaults to system class loader if the caller is null
Reviewed-by: mchung
2022-06-08 16:21:55 +00:00
yuu1127
c68419f2f7 8286990: Add compiler name to warning messages in Compiler Directive
Reviewed-by: kvn, thartmann
2022-06-08 16:05:31 +00:00
Naoto Sato
6fb84e2c91 8287541: Files.writeString fails to throw IOException for charset "windows-1252"
Reviewed-by: iris, bpb, alanb, jpai, lancea, aturbanov
2022-06-08 15:50:06 +00:00
Alexey Ivanov
a9b9831f2a 8286663: Resolve IDE warnings in WTrayIconPeer and SystemTray
Reviewed-by: prr, serb, honkar
2022-06-08 15:36:08 +00:00
Alexander Zuev
b021d37cec 8283383: [macos] a11y : Screen magnifier shows extra characters (0) at the end JButton accessibility name
Reviewed-by: serb, dmarkov
2022-06-08 14:44:41 +00:00
Christian Hagedorn
78d371266a 8287432: C2: assert(tn->in(0) != __null) failed: must have live top node
Reviewed-by: kvn, thartmann
2022-06-08 14:12:09 +00:00
Magnus Ihse Bursie
f7791ad0ea 8287895: Some langtools tests fail on msys2
Reviewed-by: jjg
2022-06-08 14:04:48 +00:00
Feilong Jiang
5ad6286b73 8287970: riscv: jdk/incubator/vector/*VectorTests failing
Reviewed-by: kvn, fyang, dlong, yadongwang
2022-06-08 12:38:48 +00:00
Alexey Pavlyutkin
a9d46f3413 8287894: Use fixed timestamp as an alternative of __DATE__ macro in jdk.jdi to make Windows build reproducible
Reviewed-by: erikj, ihse
2022-06-08 11:42:30 +00:00
Christian Hagedorn
6e3e470dac 8285965: TestScenarios.java does not check for "<!-- safepoint while printing -->" correctly
Reviewed-by: thartmann, kvn
2022-06-08 10:41:52 +00:00
Jie Fu
d959c22a95 8288000: compiler/loopopts/TestOverUnrolling2.java fails with release VMs
Reviewed-by: roland, thartmann
2022-06-08 08:08:10 +00:00
Matthias Baesken
230726ea58 8287735: Provide separate event category for dll operations
Reviewed-by: coleenp, stuefe
2022-06-08 07:21:23 +00:00
Claes Redestad
ecf00785f2 8287442: Reduce list to array conversions in java.lang.invoke.MethodHandles
Reviewed-by: jvernee
2022-06-08 07:18:29 +00:00
Claes Redestad
5c39a36641 8287522: StringConcatFactory: Add in prependers and mixers in batches
Reviewed-by: jlaskey, mchung
2022-06-08 07:17:31 +00:00
Jie Fu
47d3c2a175 8287980: Build is broken due to SuperWordMaxVectorSize when C2 is disabled after JDK-8287697
Reviewed-by: kvn
2022-06-08 06:55:33 +00:00
Roland Westrelin
bf0e625fe0 8286451: C2: assert(nb == 1) failed: only when the head is not shared
Reviewed-by: thartmann, chagedorn
2022-06-08 06:41:20 +00:00
Roland Westrelin
0960ecc407 8287700: C2 Crash running eclipse benchmark from Dacapo
Reviewed-by: chagedorn, kvn, xliu, thartmann
2022-06-08 06:36:52 +00:00
Roland Westrelin
590337e2f2 8286625: C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect
Reviewed-by: thartmann, chagedorn
2022-06-08 06:35:28 +00:00
Daniel Jeliński
4662e06bff 8277307: Pre shared key sent under both session_ticket and pre_shared_key extensions
Reviewed-by: coffeys, ascarpino
2022-06-08 06:33:40 +00:00
Thiago Henrique Hüpner
7df48f97d2 8287353: Use snippet tag instead of pre tag in Javadoc of InterruptedException
Reviewed-by: jpai
2022-06-08 04:08:08 +00:00
Joe Darcy
32dd1eef88 8287967: Update golden test files after JDK-8287886
Reviewed-by: dholmes
2022-06-08 01:59:50 +00:00
Sandhya Viswanathan
45f1b72a6e 8287697: Limit auto vectorization to 32-byte vector on Cascade Lake
Reviewed-by: kvn, jbhateja
2022-06-08 01:05:20 +00:00
Joe Darcy
39ec58b63c 8287886: Further terminology updates to match JLS
Reviewed-by: jjg
2022-06-08 00:56:57 +00:00
Ioi Lam
68c5957b9e 8287869: -XX:+AutoCreateSharedArchive doesn't work when JDK build is switched
Reviewed-by: ccheung, dholmes
2022-06-07 23:11:33 +00:00
Sergey Bylokhov
bf439f8c93 8287876: The recently de-problemlisted TestTitledBorderLeak test is unstable
Reviewed-by: psadhukhan, prr
2022-06-07 23:10:48 +00:00
Daniel D. Daugherty
b7a34f728d 8287927: ProblemList java/awt/GraphicsDevice/DisplayModes/UnknownRefrshRateTest.java on macosx-aarch64
Reviewed-by: aivanov
2022-06-07 21:08:59 +00:00
Joe Wang
8e07839179 8285081: Improve XPath operators count accuracy
Reviewed-by: naoto, lancea
2022-06-07 20:49:45 +00:00
Alex Menkov
b12e7f1bf9 8279358: vmTestbase/nsk/jvmti/scenarios/jni_interception/JI03/ji03t003/TestDescription.java fails with usage tracker
Reviewed-by: cjplummer, lmesnik
2022-06-07 20:32:46 +00:00
Andrey Turbanov
1aa87e0078 8287148: Avoid redundant HashMap.containsKey calls in ExtendedKeyCodes.getExtendedKeyCodeForChar
Reviewed-by: prr
2022-06-07 19:39:56 +00:00
Chris Plummer
74be2d9ef6 8286983: rename jdb -trackvthreads and debug agent enumeratevthreads options and clarify "Preview Feature" nature of these options
Reviewed-by: amenkov, lmesnik, alanb
2022-06-07 19:07:34 +00:00
Leonid Mesnik
8e10c2bfc7 8287877: Exclude vmTestbase/nsk/jvmti/AttachOnDemand/attach022/TestDescription.java until JDK-8277573 is fixed
Reviewed-by: dcubed, sspitsyn
2022-06-07 18:55:33 +00:00
Ioi Lam
9ec27d0e9f 8287872: Disable concurrent execution of hotspot docker tests
Reviewed-by: mseledtsov, ccheung
2022-06-07 17:28:25 +00:00
Daniel D. Daugherty
91e6bf6791 8287919: ProblemList java/lang/CompressExpandTest.java
Reviewed-by: azvegint
2022-06-07 17:25:38 +00:00
Xin Liu
3da7e393ee 8287840: Dead copy region node blocks IfNode's fold-compares
Reviewed-by: kvn, thartmann
2022-06-07 17:12:14 +00:00
Ioi Lam
c41a283f52 8273853: Update the Java manpage for automatic CDS archive updating
Reviewed-by: ccheung, dholmes
2022-06-07 16:57:32 +00:00
Erik Gahlin
41d5809caf 8287811: JFR: jfr configure error message should not print stack trace
Reviewed-by: mgronlun
2022-06-07 16:42:11 +00:00
Joe Darcy
5d4ea9b954 8273346: Expand library mappings to IEEE 754 operations
Reviewed-by: bpb
2022-06-07 16:13:42 +00:00
Tim Prinzing
96641c0c42 8287745: jni/nullCaller/NullCallerTest.java fails with "exitValue = 1"
Reviewed-by: erikj, mchung
2022-06-07 16:02:09 +00:00
Tejesh R
67f1bd7ff1 8286620: Create regression test for verifying setMargin() of JRadioButton
Reviewed-by: jdv, honkar, aivanov
2022-06-07 15:50:16 +00:00
Jan Lahoda
062db59eeb 8286206: Missing cases for RECORD
Reviewed-by: vromero, jjg
2022-06-07 14:44:44 +00:00
Erik Gahlin
ee4a6c23ee 8287799: JFR: Less noisy platform threads with jfr print
Reviewed-by: mgronlun
2022-06-07 14:32:00 +00:00
Alexander Zvegintsev
1499e5eac0 8273573: [macos12] ActionListenerCalledTwiceTest.java fails on macOS 12
Reviewed-by: psadhukhan, serb
2022-06-07 13:57:01 +00:00
Jan Lahoda
2f62f15b09 8287808: javac generates illegal class file for pattern matching switch with records
Reviewed-by: sundar
2022-06-07 13:41:24 +00:00
Adam Sotona
905bcbe34e 8286571: java source launcher from a minimal jdk image containing jdk.compiler fails with --enable-preview option
Reviewed-by: jlahoda
2022-06-07 13:38:56 +00:00
Severin Gehwolf
8d28734ede 8287741: Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete
Reviewed-by: iklam
2022-06-07 12:28:31 +00:00
Magnus Ihse Bursie
f1dd559e20 8287896: PropertiesTest.sh fail on msys2
Reviewed-by: naoto
2022-06-07 11:53:10 +00:00
Sergey Tsypanov
4fe0ca9ec3 8287860: Revise usage of volatile in j.u.Locale
Reviewed-by: naoto
2022-06-07 11:46:06 +00:00
Jan Lahoda
bde7a7ae03 8287236: Reorganize AST related to pattern matching for switch
Reviewed-by: mcimadamore
2022-06-07 10:31:09 +00:00
Severin Gehwolf
2d8c649054 8287663: Add a regression test for JDK-8287073
Reviewed-by: iklam
2022-06-07 08:40:17 +00:00
Christian Hagedorn
b647a1259b 8286940: [IR Framework] Allow IR tests to build and use Whitebox without -DSkipWhiteBoxInstall=true
Reviewed-by: kvn, thartmann
2022-06-07 08:37:12 +00:00
Christian Hagedorn
dbf0905ff4 8286967: Unproblemlist compiler/c2/irTests/TestSkeletonPredicates.java and add additional test for JDK-8286638
Reviewed-by: kvn, thartmann
2022-06-07 08:34:37 +00:00
Xiaohong Gong
39fa52b5f7 8283667: [vectorapi] Vectorization for masked load with IOOBE with predicate feature
Reviewed-by: sviswanathan, psandoz
2022-06-07 07:41:58 +00:00
Claes Redestad
42261d752a 8287785: Reduce runtime of java.lang.invoke microbenchmarks
Reviewed-by: mchung
2022-06-07 07:25:06 +00:00
Aleksey Shipilev
b6c6cc5d99 8286360: ARM32: Fix crashes after JDK-8284161 (Virtual Threads)
Co-authored-by: Sergey Nazarkin <snazarki@openjdk.org>
Reviewed-by: dsamersoff
2022-06-07 07:24:20 +00:00
Claes Redestad
778ed1a760 8287810: Reduce runtime of java.lang microbenchmarks
Reviewed-by: mchung
2022-06-07 07:23:30 +00:00
Claes Redestad
aa6c568a06 8287798: Reduce runtime of java.lang.reflect/runtime microbenchmarks
Reviewed-by: jvernee, mchung
2022-06-07 07:22:12 +00:00
Aleksey Shipilev
956d44d2da 8287071: Loom: Cleanup x86_64 gen_continuation_enter
Reviewed-by: rpressler, pchilanomate, kvn
2022-06-07 06:55:35 +00:00
Hannes Wallnöfer
f6a79e340f 8287674: CSS improvements for summary lists
Reviewed-by: jjg
2022-06-07 06:32:39 +00:00
Xiaohong Gong
ef7cc2105c 8286279: [vectorapi] Only check index of masked lanes if offset is out of array boundary for masked store
Reviewed-by: psandoz
2022-06-07 01:16:52 +00:00
Sergey Bylokhov
645be42f76 8287824: The MTPerLineTransformValidation tests has a typo in the @run tag
Reviewed-by: iris, prr
2022-06-06 23:17:25 +00:00
Mandy Chung
a50b06e851 8287867: Bad merge of jdk/test/lib/util/ForceGC.java causing test compilation error
Reviewed-by: dcubed
2022-06-06 22:33:18 +00:00
Alexey Semenyuk
c37c8e5d34 8250950: Allow per-user and system wide configuration of a jpackaged app
Reviewed-by: almatvee
2022-06-06 22:17:59 +00:00
Calvin Cheung
124ba45fb8 8287101: CDS should check for file truncation for all regions
Reviewed-by: iklam, coleenp
2022-06-06 21:56:01 +00:00
Joe Darcy
0e06bf3b04 8287838: Update Float and Double to use snippets
Reviewed-by: alanb
2022-06-06 21:26:25 +00:00
Sergey Bylokhov
a277590c89 8287761: Make the logging of J2DBench stable
Reviewed-by: aghaisas, prr
2022-06-06 21:25:14 +00:00
Alisen Chung
5264881a15 8286481: Exception printed to stdout on Windows when storing transparent image in clipboard
Reviewed-by: prr, dnguyen
2022-06-06 21:22:38 +00:00
Andrey Turbanov
e94b05c720 8285285: Avoid redundant allocations in WindowsPreferences
Reviewed-by: jpai
2022-06-06 21:15:37 +00:00
Andrey Turbanov
3eb49fecea 8287766: Unnecessary Vector usage in LdapClient
Reviewed-by: dfuchs, vtewari, aefimov
2022-06-06 21:13:29 +00:00
Mandy Chung
2e332c2760 8287671: Adjust ForceGC to invoke System::gc fewer times for negative case
Reviewed-by: rriggs, bchristi, xuelei
2022-06-06 21:11:37 +00:00
KIRIYAMA Takuya
c328f8fa2a 8287764: runtime/cds/serviceability/ReplaceCriticalClasses failed on localized Windows
Reviewed-by: iklam
2022-06-06 21:08:53 +00:00
Hannes Wallnöfer
4d6fb51551 8287524: Improve checkboxes to select releases on deprecated API page
Reviewed-by: jjg
2022-06-06 11:11:43 +00:00
Aleksey Shipilev
0d1a3053cd 8287732: jdk/jshell/ToolEnablePreviewTest.java fails on x86_32 after JDK-8287496
Reviewed-by: alanb, kvn
2022-06-06 05:29:30 +00:00
Fei Gao
24fe8ad74c 8283307: Vectorize unsigned shift right on signed subword types
Reviewed-by: jiefu, pli, sviswanathan, kvn
2022-06-06 02:02:10 +00:00
Jatin Bhateja
f347ff9986 8283894: Intrinsify compress and expand bits on x86
Reviewed-by: psandoz, sviswanathan, jrose, kvn
2022-06-06 00:37:54 +00:00
Richard Reingruber
ebc012ece2 8287205: generate_cont_thaw generates dead code after jump to exception handler
Reviewed-by: shade, kvn
2022-06-05 19:30:08 +00:00
Nikita Gubarkov
8c460b043e 8287609: macOS: SIGSEGV at [CoreFoundation] CFArrayGetCount / sun.font.CFont.getTableBytesNative
Reviewed-by: prr
2022-06-05 15:34:47 +00:00
Daniel D. Daugherty
3df4b034fb 8287837: ProblemList java/lang/ref/OOMEInReferenceHandler.java in -Xcomp
Reviewed-by: rriggs
2022-06-05 14:08:55 +00:00
Pavel Rappo
a6fc485a22 8287753: [spelling] close well-established compounds
Reviewed-by: jjg
2022-06-04 15:55:43 +00:00
Jie Fu
a113e166e9 8287830: gtest fails to compile after JDK-8287661
Reviewed-by: shade
2022-06-04 06:47:29 +00:00
Alan Bateman
e4e1e8f66c 8284199: Implementation of Structured Concurrency (Incubator)
Co-authored-by: Ron Pressler <rpressler@openjdk.org>
Co-authored-by: Alan Bateman <alanb@openjdk.org>
Co-authored-by: Brian Goetz <briangoetz@openjdk.org>
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Reviewed-by: psandoz, mcimadamore, darcy
2022-06-04 06:15:49 +00:00
tqxia
308c068b36 8287558: Remove remset coarsening stats during g1 remset summary printing
Reviewed-by: tschatzl, iwalulya
2022-06-04 04:36:03 +00:00
Manukumar V S
d76c1089ef 8286772: java/awt/dnd/DropTargetInInternalFrameTest/DropTargetInInternalFrameTest.html times out and fails in Windows
Reviewed-by: prr
2022-06-04 03:00:44 +00:00
Jie Fu
005a330387 8287826: javax/accessibility/4702233/AccessiblePropertiesTest.java fails to compile
Reviewed-by: dcubed
2022-06-04 02:49:52 +00:00
Daniel D. Daugherty
e2cfe2e14a 8231491: JDI tc02x004 failed again due to wrong # of breakpoints
Reviewed-by: cjplummer
2022-06-03 22:17:16 +00:00
Artem Semenov
b6cdfd685d 8287740: NSAccessibilityShowMenuAction not working for text editors
Reviewed-by: kizune, serb
2022-06-03 21:29:24 +00:00
Srinivas Mandalika
25e9901aea 8285305: Create an automated test for JDK-4495286
Reviewed-by: serb
2022-06-03 21:28:19 +00:00
Srinivas Mandalika
6f526e1bc3 8285373: Create an automated test for JDK-4702233
Reviewed-by: serb
2022-06-03 21:27:07 +00:00
Martin Desruisseaux
a7e07fdbc1 8287102: ImageReaderSpi.canDecodeInput() for standard plugins should return false if a stream is too short
Reviewed-by: prr
2022-06-03 21:16:21 +00:00
Alexander Matveev
7a0c8b14aa 8286850: [macos] Add support for signing user provided app image
Reviewed-by: asemenyuk
2022-06-03 20:27:58 +00:00
Quan Anh Mai
0b35460fa0 8283694: Improve bit manipulation and boolean to integer conversion operations on x86_64
Reviewed-by: kvn, dlong
2022-06-03 20:19:37 +00:00
Sandhya Viswanathan
a0219da966 8287517: C2: assert(vlen_in_bytes == 64) failed: 2
Reviewed-by: kvn, jiefu, chagedorn, fgao
2022-06-03 17:59:40 +00:00
Aleksey Shipilev
ce5ae51773 8287637: Loom: Mismatched VirtualThread::state accessor
Reviewed-by: alanb
2022-06-03 16:43:45 +00:00
Jonathan Gibbons
59e9700c4e 8252717: Integrate/merge legacy standard doclet diagnostics and doclint
Reviewed-by: erikj, prappo
2022-06-03 16:17:23 +00:00
Xue-Lei Andrew Fan
28c112fcf0 8287685: [BACKOUT] JDK-8287384 Speed up jdk.test.lib.util.ForceGC
Reviewed-by: dcubed
2022-06-03 15:47:19 +00:00
Zhengyu Gu
34bb0a5e6e 8287734: Shenandoah: Consolidate marking closures
Reviewed-by: shade
2022-06-03 12:32:04 +00:00
Aleksey Shipilev
33b9d77065 8287729: Loom: Check alternative implementation on x86_32
Reviewed-by: alanb, zgu
2022-06-03 12:19:25 +00:00
Zhengyu Gu
a75299c3ab 8287686: Add assertion to ensure that disarm value offset < 128
Reviewed-by: tschatzl, shade
2022-06-03 12:18:36 +00:00
Tejesh R
407abf5d65 8233477: [Win LAF]The tooltip doesn't display correctly in Win LAF
Reviewed-by: psadhukhan, prr, honkar
2022-06-03 07:46:17 +00:00
Aleksey Shipilev
625821dae7 8287661: Fix and improve BitMap::print_on(outputStream*)
Reviewed-by: stefank
2022-06-03 07:24:42 +00:00
Ioi Lam
b544b8b7d4 8276789: Support C++ lambda in ResourceHashtable::iterate
Reviewed-by: stefank, coleenp
2022-06-03 05:59:32 +00:00
Maurizio Cimadamore
ba9ee8cb28 8287748: Fix issues in java.lang.foreign package javadoc
Reviewed-by: jvernee
2022-06-03 00:17:45 +00:00
Jonathan Gibbons
deb06539b0 8287337: SnippetUtils should throw exceptions if snippets not found
Reviewed-by: hannesw
2022-06-02 23:53:23 +00:00
Alexey Ushakov
cbaeb00fce 8287600: AA Ovals not rendered under metal
Reviewed-by: aghaisas, prr
2022-06-02 23:51:01 +00:00
Phil Race
2776ff3b03 8276266: Clean up incorrect client-libs ProblemList.txt entries
Reviewed-by: serb, kizune
2022-06-02 22:44:39 +00:00
Alexander Matveev
409157d2af 8287125: [macos] Multiple jpackage tests fail/timeout on same host
Reviewed-by: asemenyuk
2022-06-02 21:44:51 +00:00
Xiaolin Zheng
b5a646ee6c 8287425: Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path
Co-authored-by: Wei Kuai <kuaiwei.kw@alibaba-inc.com>
Reviewed-by: kvn
2022-06-02 20:31:26 +00:00
Andrey Turbanov
26048ea21e 8287695: Use String.contains() instead of String.indexOf() in jdk.hotspot.agent
Reviewed-by: cjplummer
2022-06-02 19:28:20 +00:00
Mandy Chung
37e1835be7 8287746: ProblemList jni/nullCaller/NullCallerTest.java
Reviewed-by: alanb, dcubed
2022-06-02 19:13:16 +00:00
Naoto Sato
26d24263c7 8287340: Refactor old code using StringTokenizer in locale related code
Reviewed-by: iris, joehw
2022-06-02 18:35:20 +00:00
Man Cao
ccec5d1e85 8287704: Small logging clarification about shrunk bytes after heap shrinkage
Co-authored-by: Jonathan Joo <jonathanjoo@google.com>
Reviewed-by: tschatzl
2022-06-02 18:12:10 +00:00
vamsi-parasa
7f44f572ea 8285868: x86 intrinsics for floating point method isInfinite
Reviewed-by: kvn, jbhateja
2022-06-02 17:42:42 +00:00
Brian Burkhalter
13596cdf69 8287097: (fs) Files::copy requires an undocumented permission when copying from the default file system to a non-default file system
Reviewed-by: chegar, alanb
2022-06-02 17:36:25 +00:00
Andrew Haley
49e24f0cd8 8287567: AArch64: Implement post-call NOPs
Reviewed-by: adinn, rbackman, dlong
2022-06-02 17:31:32 +00:00
Thomas Schatzl
1fcbaa4116 8278598: AlignmentReserve is repeatedly reinitialized
Reviewed-by: ayang, iwalulya
2022-06-02 17:16:24 +00:00
Tim Prinzing
e51ca1dee3 8287171: Refactor null caller tests to a single directory
Reviewed-by: ihse, mchung
2022-06-02 16:45:05 +00:00
Aleksey Shipilev
3cfd38caf1 8287726: Fix JVMTI tests with "requires vm.continuations" after JDK-8287496
Reviewed-by: alanb, rehn, lmesnik
2022-06-02 15:58:08 +00:00
Jonathan Gibbons
c78392db4d 8287606: standardize spelling of subtype and supertype etc in comments
Reviewed-by: prappo
2022-06-02 15:12:09 +00:00
Patricio Chilano Mateo
5acac2238f 8286830: ~HandshakeState should not touch oops
Reviewed-by: dholmes, rehn
2022-06-02 13:32:25 +00:00
Magnus Ihse Bursie
bddef71518 8287724: Fix various issues with msys2
Reviewed-by: erikj
2022-06-02 12:49:35 +00:00
Alan Bateman
6ff2d89ea1 8287496: Alternative virtual thread implementation that maps to OS thread
Reviewed-by: rehn, mchung
2022-06-02 09:02:37 +00:00
Emanuel Peter
199832a710 8283466: C2: missing skeleton predicates in peeled loop
Reviewed-by: roland, chagedorn
2022-06-02 06:49:23 +00:00
Adam Sotona
a82417fa19 8233269: Improve handling of JAVA_ARGS
Reviewed-by: erikj
2022-06-02 06:20:36 +00:00
Prasanta Sadhukhan
d7341ae42e 8286846: test/jdk/javax/swing/plaf/aqua/CustomComboBoxFocusTest.java fails on mac aarch64
Reviewed-by: tr, prr, honkar
2022-06-02 03:40:52 +00:00
Prasanta Sadhukhan
07d24509a6 8213531: Test javax/swing/border/TestTitledBorderLeak.java fails
Reviewed-by: prr
2022-06-02 03:39:39 +00:00
liach
6030c0e403 8287118: Use monospace font for annotation default values
Reviewed-by: hannesw, jjg
2022-06-01 23:05:51 +00:00
Raffaello Giulietti
72bcf2aa03 4511638: Double.toString(double) sometimes produces incorrect results
Reviewed-by: aturbanov, darcy, bpb
2022-06-01 21:53:54 +00:00
Ana Marsh
2f19144249 8282024: add EscapeAnalysis statistics under PrintOptoStatistics
Reviewed-by: xliu, kvn
2022-06-01 20:19:42 +00:00
Dean Long
cdb476888a 8287396: LIR_Opr::vreg_number() and data() can return negative number
Reviewed-by: kvn, chagedorn
2022-06-01 18:28:21 +00:00
Andrey Turbanov
4caf1ef389 8287390: Cleanup Map usage in AuthenticationInfo.requestAuthentication
Reviewed-by: dfuchs, jpai
2022-06-01 18:15:59 +00:00
Andrey Turbanov
27ad1d5549 8287602: (fs) Avoid redundant HashMap.containsKey call in MimeTypesFileTypeDetector.putIfAbsent
Reviewed-by: bpb, jpai, alanb
2022-06-01 18:14:25 +00:00
Zhengyu Gu
239ac2a5d4 8286829: Shenandoah: fix Shenandoah Loom support
Reviewed-by: shade
2022-06-01 17:01:22 +00:00
Ioi Lam
67ecd30327 8287398: Allow concurrent execution of hotspot docker tests
Reviewed-by: shade, mseledtsov, sgehwolf
2022-06-01 15:51:47 +00:00
Brian Burkhalter
8071b2311c 8287237: (fs) Files.probeContentType returns null if filename contains hash mark on Linux
Reviewed-by: rriggs, jpai, vtewari
2022-06-01 15:15:53 +00:00
Aleksey Shipilev
774928f944 8287625: ProblemList jdk/jshell/HighlightUITest.java on all platforms
Reviewed-by: jlahoda
2022-06-01 14:57:36 +00:00
Yasumasa Suenaga
e3791ecfe4 8287491: compiler/jvmci/errors/TestInvalidDebugInfo.java fails new assert: assert((uint)t < T_CONFLICT + 1) failed: invalid type #
Reviewed-by: kvn, dnsimon
2022-06-01 14:41:23 +00:00
Ron Pressler
f8eb7a892f 8287512: continuationEntry.hpp has incomplete definitions
Reviewed-by: coleenp, pchilanomate
2022-06-01 14:11:55 +00:00
Ron Pressler
b2b4ee212f 8287233: Crash in Continuation.enterSpecial: stop: tried to execute native method as non-native
Reviewed-by: dholmes, pchilanomate
2022-06-01 14:10:10 +00:00
Sergey Tsypanov
168b226b0f 8282662: Use List.of() factory method to reduce memory consumption
Reviewed-by: redestad, rriggs
2022-06-01 13:31:36 +00:00
Alexey Ushakov
48f19e43c5 8287453: RenderPerfTest incorrectly measures performance
Reviewed-by: prr
2022-06-01 09:48:15 +00:00
Feilong Jiang
0ef3d8551d 8287552: riscv: Fix comment typo in li64
Co-authored-by: Dingli Zhang <dingli@iscas.ac.cn>
Reviewed-by: fyang
2022-06-01 09:29:51 +00:00
Magnus Ihse Bursie
e0e15def24 8287366: Improve test failure reporting in GHA
Reviewed-by: clanger
2022-06-01 09:03:24 +00:00
Adam Sotona
7846971381 8236569: -Xss not multiple of 4K does not work for the main thread on macOS
Reviewed-by: dholmes, stuefe
2022-06-01 06:13:29 +00:00
Aleksey Shipilev
7159976335 8287520: Shrink x86_32 problemlists after JDK-8287437
Reviewed-by: alanb
2022-06-01 06:02:54 +00:00
Jaikiran Pai
3deb58a89a 8287318: ConcurrentModificationException in sun.net.httpserver.ServerImpl$Dispatcher
Reviewed-by: dfuchs
2022-06-01 03:55:55 +00:00
Jonathan Gibbons
8fc201e5bb 8285939: javadoc java.lang.Record should not have "Direct Known Subclasses:" section
Reviewed-by: prappo, hannesw
2022-05-31 22:59:59 +00:00
Andrey Turbanov
f5bbade9e4 8287544: Replace uses of StringBuffer with StringBuilder in java.naming
Reviewed-by: rriggs, aefimov, vtewari
2022-05-31 21:07:33 +00:00
Phil Race
97bd4c255a 8286159: Memory leak in getAllConfigs of awt_GraphicsEnv.c:585
Reviewed-by: psadhukhan, aivanov
2022-05-31 20:14:52 +00:00
lawrence.andrews
8db5247ebc 8282771: Create test case for JDK-8262981
Reviewed-by: kizune
2022-05-31 19:39:23 +00:00
Srinivas Mandalika
cfdbde11f0 8282778: Create a regression test for JDK-4699544
Reviewed-by: kizune, serb
2022-05-31 19:38:23 +00:00
Srinivas Mandalika
8df5f1058f 8282857: Create a regression test for JDK-4702690
Reviewed-by: kizune, serb
2022-05-31 19:37:09 +00:00
liach
e0382c5523 8285401: Proxy class initializer should use 3-arg Class.forName to avoid unnecessary class initialization
Reviewed-by: rriggs, mchung
2022-05-31 18:30:39 +00:00
liach
37a513003c 8287064: Modernize ProxyGenerator.PrimitiveTypeInfo
Reviewed-by: rriggs, mchung
2022-05-31 18:29:07 +00:00
Xue-Lei Andrew Fan
d5b6c7bde1 8287384: Speed up jdk.test.lib.util.ForceGC
Reviewed-by: rriggs, bchristi, dfuchs, mchung
2022-05-31 17:44:54 +00:00
Jatin Bhateja
6f6486e977 8284960: Integration of JEP 426: Vector API (Fourth Incubator)
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Smita Kamath <svkamath@openjdk.org>
Co-authored-by: Joshua Zhu <jzhu@openjdk.org>
Co-authored-by: Xiaohong Gong <xgong@openjdk.org>
Co-authored-by: John R Rose <jrose@openjdk.org>
Co-authored-by: Eric Liu <eliu@openjdk.org>
Co-authored-by: Ningsheng Jian <njian@openjdk.org>
Reviewed-by: ngasson, vlivanov, mcimadamore, jlahoda, kvn
2022-05-31 16:02:09 +00:00
Jan Lahoda
171a7cdd5d 8286895: InternalError: Exception during analyze
Reviewed-by: vromero
2022-05-31 15:01:38 +00:00
Aleksey Shipilev
1b44f6c483 8287526: java/nio/channels/FileChannel/LargeMapTest.java fails on 32-bit systems
Reviewed-by: alanb, stuefe
2022-05-31 13:48:18 +00:00
Jan Lahoda
7ef6993576 8276836: Error in javac caused by switch expression without result expressions: Internal error: stack sim error
Reviewed-by: vromero
2022-05-31 11:04:50 +00:00
Dmitry Kulikov
c6e0416495 8282863: java/awt/FullScreen/FullscreenWindowProps/FullscreenWindowProps.java fails on Windows 10 with HiDPI screen
Reviewed-by: serb, aivanov
2022-05-31 10:14:52 +00:00
Roberto Castañeda Lozano
6e55a72f25 8287438: IGV: scheduling crashes on non-block-start Region with multiple predecessors
Reviewed-by: kvn, chagedorn
2022-05-31 08:38:11 +00:00
Roberto Castañeda Lozano
8f59422d35 8285558: IGV: scheduling crashes on control-unreachable CFG nodes
Reviewed-by: kvn, chagedorn
2022-05-31 06:59:49 +00:00
Andrey Turbanov
8a9aeff18c 8287497: Use String.contains() instead of String.indexOf() in java.naming
Reviewed-by: aefimov, rriggs, jpai
2022-05-31 06:59:03 +00:00
Johan Sjölén
b2ba9fc9f6 8286180: Enable construction of LogStreamImpl from LogMessageImpl
Reviewed-by: dholmes, stefank
2022-05-30 16:53:35 +00:00
Maurizio Cimadamore
0c420e03ae 8287430: MemorySessionImpl::addOrCleanupIfFail does not rethrow exceptions
Reviewed-by: jvernee
2022-05-30 15:40:06 +00:00
Christoph Langer
1606d5545b 8286855: javac error on invalid jar should only print filename
Reviewed-by: jpai, mdoerr
2022-05-30 15:01:17 +00:00
Christoph Langer
f086d945c3 8287378: GHA: Update cygwin to fix issues in langtools tests on Windows
Reviewed-by: aturbanov, shade
2022-05-30 14:59:51 +00:00
Thomas Schatzl
73ba7fdce8 8287157: Clean up G1Policy::next_gc_should_be_mixed()
Reviewed-by: lkorinth
2022-05-30 09:17:12 +00:00
Martin Doerr
b1b9674663 8287437: Temporarily disable Continuations::enabled() for platforms which don't have an implementation, yet
Reviewed-by: shade, alanb, rrich
2022-05-30 09:00:50 +00:00
Martin Doerr
eb8d067b56 8287433: [PPC64] g1_write_barrier_pre needs extension for Loom
Reviewed-by: rrich, stuefe
2022-05-30 08:57:58 +00:00
Nick Gasson
d8331737ad 8286711: AArch64: serviceability agent tests fail with PAC enabled
Reviewed-by: dholmes, cjplummer
2022-05-30 08:12:05 +00:00
Nick Gasson
19fb8ab8b9 8287195: AArch64: Client VM build failure after JDK-8283689
Reviewed-by: jvernee, adinn
2022-05-30 08:09:28 +00:00
Zhuojun Miao
1b9987cb08 8287288: Fix some typos in C1
Reviewed-by: aph, dholmes, dlong, chagedorn
2022-05-30 07:52:49 +00:00
Xiaolin Zheng
447ae00616 8287418: riscv: Fix correctness issue of MacroAssembler::movptr
Reviewed-by: fjiang, yadongwang, fyang
2022-05-30 07:45:50 +00:00
Yasumasa Suenaga
a27ba1a3db 8287363: null pointer should use NULL instead of 0
Reviewed-by: kbarrett, stuefe, alanb
2022-05-30 07:02:07 +00:00
Maxim Kartashev
744b822ab1 8287073: NPE from CgroupV2Subsystem.getInstance()
Reviewed-by: vkempik, iklam
2022-05-30 06:18:47 +00:00
jeremy
5848a60c01 8286093: java/awt/geom/Path2D/UnitTest.java failed with "RuntimeException: 2D bounds too small"
Reviewed-by: prr
2022-05-30 06:06:42 +00:00
Anthony Vanelverdinghe
3d2d039538 8287440: Typo in package-info.java of java.util.random
Reviewed-by: darcy, iris, jpai
2022-05-29 14:26:19 +00:00
Erik Gahlin
36350bf1be 8287484: JFR: Seal RecordedObject
Reviewed-by: mgronlun
2022-05-29 13:56:33 +00:00
Erik Gahlin
a6e2e223ea 8285008: JFR: jdk/jfr/jmx/streaming/TestClose.java failed with "Exception: Expected repository to be empty"
Reviewed-by: mgronlun
2022-05-28 17:22:10 +00:00
David Holmes
2c461acfeb 8287492: ProblemList compiler/jvmci/errors/TestInvalidDebugInfo.java
Reviewed-by: mikael, kvn
2022-05-28 06:12:52 +00:00
Ichiroh Takiguchi
66340372d5 8287362: FieldAccessWatch testcase failed on AIX platform
Reviewed-by: cjplummer, mdoerr
2022-05-28 05:33:08 +00:00
Yasumasa Suenaga
410a25d59a 8286562: GCC 12 reports some compiler warnings
Reviewed-by: ihse, kbarrett, prr
2022-05-28 02:09:05 +00:00
Joe Wang
ed8e8ac289 8284400: Improve XPath exception handling
Reviewed-by: lancea, naoto
2022-05-27 21:47:05 +00:00
Vladimir Ivanov
d3e781de08 8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver
Reviewed-by: kvn
2022-05-27 21:23:52 +00:00
Erik Gahlin
0df4748216 8287463: JFR: Disable TestDevNull.java on Windows
Reviewed-by: mgronlun
2022-05-27 21:02:53 +00:00
Brian Burkhalter
6520843f86 8287003: InputStreamReader::read() can return zero despite writing a char in the buffer
Reviewed-by: jpai, rriggs
2022-05-27 15:23:01 +00:00
Erik Gahlin
63eb0b7e86 8282947: JFR: Dump on shutdown live-locks in some conditions
Reviewed-by: mgronlun
2022-05-27 13:00:02 +00:00
Zhengyu Gu
f2bc447659 8271406: Kitchensink failed with "assert(early->flag() == current->flag()) failed: Should be the same"
Reviewed-by: coleenp, dholmes, stuefe
2022-05-27 12:16:04 +00:00
Claes Redestad
be93318576 8287292: Improve TransformKey to pack more kinds of transforms efficiently
Reviewed-by: jlaskey, jvernee, mchung
2022-05-27 12:10:40 +00:00
Hannes Wallnöfer
777f813e9b 8268422: Find a better way to select releases in "New API" page
Reviewed-by: jjg
2022-05-27 11:09:26 +00:00
Andrew Dinn
22e2067349 8282182: Document algorithm used to encode aarch64 logical immediate operands.
Reviewed-by: ngasson, aph
2022-05-27 10:09:53 +00:00
Hannes Wallnöfer
37ecbb461c 8277420: Provide a way to copy the hyperlink to a doc element to the clipboard
Reviewed-by: prappo
2022-05-27 09:08:02 +00:00
Leonid Mesnik
176bb23de1 8287200: Test java/lang/management/ThreadMXBean/VirtualThreadDeadlocks.java timed out after JDK-8287103
Reviewed-by: kevinw, cjplummer, alanb
2022-05-27 05:29:25 +00:00
Ioi Lam
ec97da93c1 8287352: DockerTestUtils::execute shows incorrect elapsed time
Reviewed-by: stuefe, mseledtsov
2022-05-27 04:32:05 +00:00
Evgeny Astigeevich
140419fe0e 8286058: AArch64: clarify types of calls
Reviewed-by: kvn, aph
2022-05-27 00:34:34 +00:00
Leonid Mesnik
6a33974a6b 8286737: Test vmTestbase/gc/gctests/WeakReference/weak006/weak006.java fails: Last soft reference has not been cleared
Reviewed-by: ayang
2022-05-26 22:36:43 +00:00
Andrey Turbanov
295be6f10f 8287285: Avoid redundant HashMap.containsKey call in java.util.zip.ZipFile.Source.get
Reviewed-by: jpai, alanb
2022-05-26 20:32:56 +00:00
Brian Burkhalter
7cb368b34d 8286709: (fc) FileChannel/FileChannelImpl cleanup
Reviewed-by: alanb
2022-05-26 18:02:02 +00:00
Xue-Lei Andrew Fan
7eb15593e1 8286045: Use ForceGC for cleaner test cases
Reviewed-by: rriggs
2022-05-26 17:59:28 +00:00
Christoph Langer
e44465d4d6 8287336: GHA: Workflows break on patch versions
Reviewed-by: shade
2022-05-26 15:54:08 +00:00
Naoto Sato
c10749a6a7 8287187: Utilize HashMap.newHashMap() in CLDRConverter
Reviewed-by: joehw
2022-05-26 15:51:37 +00:00
Sean Mullan
f235955eef 8287246: DSAKeyValue should check for missing params instead of relying on KeyFactory provider
Reviewed-by: weijun
2022-05-26 12:36:21 +00:00
Maurizio Cimadamore
f58c9a659b 8287244: Add bound check in indexed memory access var handle
Reviewed-by: psandoz, jvernee
2022-05-26 08:34:49 +00:00
Prasanta Sadhukhan
f710393e35 8257810: Only First page are printed in JTable.scrollRectToVisible
Reviewed-by: aivanov
2022-05-26 06:32:28 +00:00
Ioi Lam
704b9a66bb 8287107: CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller
Reviewed-by: mseledtsov, sgehwolf
2022-05-26 04:16:45 +00:00
Serguei Spitsyn
94811c0dc7 8286960: Test serviceability/jvmti/vthread/SuspendResume2 crashed: missing ThreadsListHandle in calling context
Reviewed-by: dholmes, pchilanomate, amenkov
2022-05-26 00:29:31 +00:00
Pavel Rappo
3d6d7b7e73 8287338: tools/javac/api/snippets/TestJavaxToolsSnippets.java failing tier1 on all platforms
Reviewed-by: jjg
2022-05-25 19:44:12 +00:00
Jonathan Gibbons
7156f98e32 8279513: jdk/javadoc/doclet/testDocletExample/TestDocletExample.java fails after 8278795
Reviewed-by: prappo
2022-05-25 17:45:02 +00:00
Jonathan Gibbons
f786e2a22f 8284037: Snippet-files subdirectory not automatically detected when in unnamed package
Reviewed-by: prappo
2022-05-25 17:41:58 +00:00
Brian J. Stafford
c6743489d2 8263075: C2: simplify anti-dependence check in PhaseCFG::implicit_null_check()
Reviewed-by: kvn, thartmann, rcastanedalo
2022-05-25 17:28:27 +00:00
Gerard Ziemski
0b3d409540 8261768: SelfDestructTimer should accept seconds
Reviewed-by: dholmes, stuefe
2022-05-25 17:25:28 +00:00
Phil Race
bc0379ea1a 8275303: sun/java2d/pipe/InterpolationQualityTest.java fails with D3D basic render driver
Reviewed-by: serb, psadhukhan
2022-05-25 16:31:50 +00:00
Joe Darcy
0b8dd4ac82 8284966: Update SourceVersion.RELEASE_19 description for language changes
Reviewed-by: iris, jjg
2022-05-25 16:25:44 +00:00
Thomas Schatzl
e990fec195 8287089: G1CollectedHeap::is_in_cset() can be const methods
Reviewed-by: ayang, kbarrett
2022-05-25 14:40:14 +00:00
Jaikiran Pai
81d7eafd91 8287104: AddressChangeListener thread inherits CCL and can cause memory leak for webapp-servers
Reviewed-by: aefimov, dfuchs
2022-05-25 14:32:35 +00:00
Tobias Holenstein
796494d0fe 8284944: assert(cnt++ < 40) failed: infinite cycle in loop optimization
Reviewed-by: kvn, chagedorn
2022-05-25 13:48:19 +00:00
Adam Sotona
e534c133af 8286398: Address possibly lossy conversions in jdk.internal.le
Reviewed-by: jlahoda
2022-05-25 12:36:50 +00:00
Erik Gahlin
e21b527b18 8228990: JFR: TestNetworkUtilizationEvent.java expects 2+ Network interfaces on Linux but finding 1
Reviewed-by: mgronlun
2022-05-25 12:14:20 +00:00
Jan Lahoda
e9bddc18ab 8262889: Compiler implementation for Record Patterns
Co-authored-by: Brian Goetz <briangoetz@openjdk.org>
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Co-authored-by: Aggelos Biboudis <abimpoudis@openjdk.org>
Reviewed-by: mcimadamore, vromero
2022-05-25 11:56:24 +00:00
Alexander Zuev
ebfa27b9f0 8284690: [macos] VoiceOver : Getting java.lang.IllegalArgumentException: Invalid location on Editable JComboBox
Reviewed-by: serb
2022-05-25 10:39:17 +00:00
Thomas Schatzl
e32377e456 8286304: Removal of diagnostic flag GCParallelVerificationEnabled
Reviewed-by: kbarrett, ayang
2022-05-25 10:29:31 +00:00
Maurizio Cimadamore
e1f140d270 8287206: Use WrongThreadException for confinement errors
Reviewed-by: alanb, darcy, mchung
2022-05-25 09:50:55 +00:00
Andrew Haley
e17118aa8a 8272791: java -XX:BlockZeroingLowLimit=1 crashes after 8270947
Reviewed-by: shade, kvn
2022-05-25 09:03:13 +00:00
Christoph Langer
f7a37f5886 8287202: GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event
Reviewed-by: ihse, shade
2022-05-25 08:15:39 +00:00
Magnus Ihse Bursie
d889319a86 8287254: Clean up Xcode sysroot logic
Reviewed-by: erikj
2022-05-25 08:06:23 +00:00
Andrew Haley
593d2b7dab 8287091: aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn
Reviewed-by: ngasson, shade
2022-05-25 07:26:21 +00:00
Andrey Turbanov
65850431ed 8287181: Avoid redundant HashMap.containsKey calls in InternalLocaleBuilder.setExtension
Reviewed-by: naoto, rriggs
2022-05-25 07:23:56 +00:00
Serguei Spitsyn
a0cccb5479 8286490: JvmtiEventControllerPrivate::set_event_callbacks CLEARING_MASK computation is incorrect
Reviewed-by: jbachorik, lmesnik, amenkov
2022-05-25 06:24:39 +00:00
Brian Burkhalter
742644e291 8287263: java/nio/channels/FileChannel/LargeMapTest.java times out on Windows
Reviewed-by: lancea
2022-05-25 02:10:52 +00:00
Valerie Peng
d792cbcc06 8286211: Update PCSC-Lite for Suse Linux to 1.9.5
Reviewed-by: weijun
2022-05-24 21:32:11 +00:00
Alexey Ivanov
9b7e42c0f0 8284209: Replace remaining usages of 'a the' in source code
Reviewed-by: lancea, wetmore, dfuchs, iris, jjg, ihse
2022-05-24 20:08:11 +00:00
Mark Powers
6cc4bb1169 6725221: Standardize obtaining boolean properties with defaults
Reviewed-by: prr, rriggs
2022-05-24 18:16:07 +00:00
Zhengyu Gu
194bc08a89 8287249: Zero: Missing BarrierSetNMethod::arm() method
Reviewed-by: shade
2022-05-24 18:12:03 +00:00
Phil Race
25669bb667 8275170: Some jtreg sound tests should be marked with sound keyword
Reviewed-by: kizune, serb, aivanov
2022-05-24 17:53:43 +00:00
Alexey Semenyuk
45180633d3 8281682: Redundant .ico files in Windows app-image cause unnecessary bloat
Reviewed-by: almatvee
2022-05-24 16:33:45 +00:00
Aleksey Shipilev
fdece9ac71 8287169: compiler/arguments/TestCompileThresholdScaling.java fails on x86_32 after JDK-8287052
Reviewed-by: kvn, dlong
2022-05-24 16:31:10 +00:00
Tyler Steele
25080e0c3a 8286891: thread_local causes undefined symbol error with XL C
Reviewed-by: mdoerr, mbaesken, jvernee
2022-05-24 16:24:35 +00:00
Lance Andersen
a10c5597d9 8287162: (zipfs) Performance regression related to support for POSIX file permissions
Reviewed-by: jpai, alanb, clanger
2022-05-24 15:54:28 +00:00
Erik Gahlin
d888c80bba 8287165: JFR: Add logging to jdk/jfr/api/consumer/recordingstream/TestOnEvent.java
Reviewed-by: mgronlun
2022-05-24 15:52:07 +00:00
Raffaello Giulietti
fdc147e354 8287139: aarch64 intrinsic for unsignedMultiplyHigh
Reviewed-by: aph, ngasson
2022-05-24 15:49:00 +00:00
Jorn Vernee
8f0eb5d401 8287158: Explicitly reject unsupported call shapes on macos-aarch64 in mainline
Reviewed-by: mcimadamore, ngasson
2022-05-24 15:03:53 +00:00
Aleksey Shipilev
0a82c4ebc3 8287137: Problemlist failing x86_32 tests after Loom integration
Reviewed-by: prr, mcimadamore
2022-05-24 14:10:41 +00:00
Alexey Ivanov
5974f5fed3 8284213: Replace usages of 'a the' in xml
Reviewed-by: lancea, dmarkov, iris, prr, joehw
2022-05-24 11:34:53 +00:00
Alexey Ivanov
e0d361cea9 8284191: Replace usages of 'a the' in hotspot and java.base
Reviewed-by: lancea, wetmore, naoto, iris, kevinw, xuelei
2022-05-24 11:25:13 +00:00
Aggelos Biboudis
9473c383c6 8286057: Make javac error on a generic enum friendlier
Reviewed-by: jlahoda
2022-05-24 10:31:11 +00:00
Christian Stein
a0f6dd3291 8287121: Fix typo in jlink's description resource key lookup
Reviewed-by: alanb, lancea
2022-05-24 10:14:31 +00:00
Erik Österlund
bd361bc077 8286376: Wrong condition for using non-immediate oops on AArch64
Reviewed-by: aph, thartmann
2022-05-24 09:16:10 +00:00
Thomas Schatzl
4042dba3d0 8287138: Make VerifyOption an enum class
Reviewed-by: stefank, kbarrett
2022-05-24 08:25:24 +00:00
Thomas Schatzl
a276cd2d59 8287151: Remove unused parameter in G1CollectedHeap::mark_evac_failure_object
Reviewed-by: ayang, lkorinth
2022-05-24 08:24:03 +00:00
Magnus Ihse Bursie
cf57d72fe8 8287174: Remove deprecated configure arguments
Reviewed-by: shade, dholmes
2022-05-24 07:53:46 +00:00
Roberto Castañeda Lozano
6458a56e60 8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure
Reviewed-by: chagedorn, kvn
2022-05-24 07:19:00 +00:00
Feilong Jiang
1cd7850f87 8287194: build failure on riscv after JDK-8286825
Reviewed-by: fyang, shade
2022-05-24 07:12:31 +00:00
Alan Bateman
15f15830f0 8287008: Improve tests for thread dumps in JSON format
Reviewed-by: cjplummer
2022-05-24 06:20:53 +00:00
Prasanta Sadhukhan
a5caffd4a5 8286786: [macos] javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java still fails
Reviewed-by: serb, dnguyen
2022-05-24 04:32:55 +00:00
Quan Anh Mai
c1db70d827 8285973: x86_64: Improve fp comparison and cmove for eq/ne
Reviewed-by: kvn, sviswanathan
2022-05-24 00:15:54 +00:00
Kim Barrett
782ae3801c 8286262: Windows: Cleanup deprecation warning suppression
Reviewed-by: ihse, dholmes
2022-05-23 22:47:24 +00:00
Alexandre Iline
9f73fb5a72 8225013: sanity/client/SwingSet/src/ScrollPaneDemoTest.java fails on Linux
Reviewed-by: prr, serb
2022-05-23 22:31:27 +00:00
Magnus Ihse Bursie
02fec1e6e5 8287155: Additional make typos
Reviewed-by: lancea, iris
2022-05-23 20:56:49 +00:00
Rajan Halade
5b7d066ca5 8287109: Distrust.java failed with CertificateExpiredException
Reviewed-by: mullan
2022-05-23 20:32:52 +00:00
Hannes Wallnöfer
6a192206b8 8286832: JavaDoc pages call browser history API too often
Reviewed-by: prappo
2022-05-23 20:10:46 +00:00
Hannes Wallnöfer
9df93a180c 8286887: Remove logging from search.js
Reviewed-by: prappo
2022-05-23 20:01:02 +00:00
Ioi Lam
646c8aaeec 8286277: CDS VerifyError when calling clone() on object array
Reviewed-by: dholmes, ccheung
2022-05-23 16:23:12 +00:00
Naoto Sato
ef7a9f8170 8279185: Support for IsoFields in JapaneseDate/MinguoDate/ThaiBuddhistDate
Reviewed-by: joehw, rriggs
2022-05-23 16:20:52 +00:00
Aleksey Shipilev
ac274c4ca6 8286956: Loom: Define test groups for development/porting use
Reviewed-by: alanb, zgu
2022-05-23 16:17:41 +00:00
Sandhya Viswanathan
5d8d6da36a 8286972: Support the new loop induction variable related PopulateIndex IR node on x86
Reviewed-by: kvn, jbhateja
2022-05-23 15:28:32 +00:00
Erik Gahlin
8122466fbb 8287113: JFR: Periodic task thread uses period for method sampling events
Reviewed-by: jbachorik
2022-05-23 15:12:21 +00:00
Leonid Mesnik
940e94f194 8285739: disable EscapeBarrier deopt for virtual threads
Reviewed-by: kvn, rrich, sspitsyn
2022-05-23 14:50:46 +00:00
Leonid Mesnik
110d906432 8287103: java/lang/management/ThreadMXBean/VirtualThreadDeadlocks.java fails with Xcomp
Reviewed-by: alanb, kevinw
2022-05-23 14:49:15 +00:00
Weijun Wang
8040aa0073 8286908: ECDSA signature should not return parameters
Reviewed-by: ascarpino, hchao, valeriep
2022-05-23 13:34:23 +00:00
Thomas Schatzl
689f80cbad 8287153: Whitespace typos in HeapRegion class
Reviewed-by: ayang
2022-05-23 11:14:37 +00:00
Adam Sotona
c9065915b6 8286391: Address possibly lossy conversions in jdk.compiler
Reviewed-by: mcimadamore
2022-05-23 10:30:04 +00:00
Thomas Schatzl
88018c4d3e 8287150: Remove HeapRegion::block_start_const declaration without definition
Reviewed-by: ayang
2022-05-23 10:28:52 +00:00
Maurizio Cimadamore
81f128b903 8287154: java/nio/channels/FileChannel/LargeMapTest.java does not compile
Reviewed-by: alanb, jvernee
2022-05-23 10:19:12 +00:00
Jorn Vernee
7becf13e61 8286825: Linker naming cleanup
Reviewed-by: mcimadamore, rehn
2022-05-23 10:03:28 +00:00
Thomas Schatzl
a0042de411 8276549: Improve documentation about ContainerPtr encoding
Reviewed-by: kbarrett, iwalulya
2022-05-23 08:50:41 +00:00
Maurizio Cimadamore
89a1d055d9 8286715: Generalize MemorySegment::ofBuffer
Reviewed-by: jvernee
2022-05-23 08:43:51 +00:00
Thomas Schatzl
cb08b4e86a 8287024: G1: Improve the API boundary between HeapRegionRemSet and G1CardSet
Reviewed-by: ayang, iwalulya
2022-05-23 08:31:03 +00:00
Andrey Turbanov
01916e1920 8287053: Avoid redundant HashMap.containsKey calls in ZoneInfoFile.getZoneInfo0
Reviewed-by: redestad, naoto, rriggs
2022-05-23 08:29:29 +00:00
Thomas Schatzl
414265bd83 8189669: Deduplicate VerifyOption documentation
Reviewed-by: kbarrett
2022-05-23 08:28:39 +00:00
Aleksey Shipilev
9008cfad45 8287044: Loom: Incorrect StackChunk::pc accessors
Reviewed-by: rpressler, coleenp
2022-05-23 05:40:34 +00:00
Phil Race
c156bcc599 8285399: JNI exception pending in awt_GraphicsEnv.c:1432
Reviewed-by: azvegint, serb
2022-05-21 16:05:24 +00:00
Pavel Rappo
7c0864752a 8287099: Clean up terminology regarding doc comment descriptions.
Reviewed-by: jjg
2022-05-21 08:48:11 +00:00
Rajan Halade
da8fd4547f 8287119: Add Distrust.java to ProblemList
Reviewed-by: wetmore
2022-05-21 00:41:24 +00:00
Alexander Zuev
b33c6e52c1 8286266: [macos] Voice over moving JTable column to be the first column JVM crashes
Reviewed-by: prr
2022-05-20 21:19:42 +00:00
Dean Long
ba23f14025 8287052: comparing double to max_intx gives unexpected results
Reviewed-by: kvn
2022-05-20 20:24:04 +00:00
Erik Gahlin
7b274feba5 8285513: JFR: Add more static support for event classes
Reviewed-by: mgronlun
2022-05-20 20:05:49 +00:00
Calvin Cheung
087bccfe28 8286978: SIGBUS in libz during CDS initialization
Reviewed-by: iklam
2022-05-20 17:51:47 +00:00
Andrey Turbanov
4587337e95 8286858: Remove dead code in sun.reflect.misc.MethodUtil
Reviewed-by: mchung, iris
2022-05-20 09:09:05 +00:00
Prasanta Sadhukhan
6d56caff3d 8285962: NimbusDefaults has a typo in a L&F property
Reviewed-by: prr
2022-05-20 08:59:21 +00:00
Claes Redestad
d5d19f52ce 8287013: StringConcatFactory: remove short and byte mixers/prependers
Reviewed-by: jlaskey
2022-05-20 08:17:23 +00:00
tqxia
828dc89ab8 8286893: G1: Recent card set coarsening statistics wrong
Reviewed-by: tschatzl, ayang
2022-05-20 08:04:33 +00:00
Thomas Schatzl
6569666b05 8286943: G1: With virtualized remembered sets, maximum number of cards configured is wrong
Reviewed-by: ayang, iwalulya
2022-05-20 07:39:26 +00:00
Phil Race
40e99a19f2 8285308: Win: Japanese logical fonts are drawn with wrong size
Reviewed-by: kizune, naoto
2022-05-19 23:41:45 +00:00
Ichiroh Takiguchi
890771e708 8285517: System.getenv() returns unexpected value if environment variable has non ASCII character
Reviewed-by: naoto, rriggs
2022-05-19 23:38:15 +00:00
Andrey Turbanov
de74e0e25a 8280035: Use Class.isInstance instead of Class.isAssignableFrom where applicable
Reviewed-by: prr, rriggs
2022-05-19 21:43:32 +00:00
Alexey Ivanov
9f562ef754 8286872: Refactor add/modify notification icon (TrayIcon)
Reviewed-by: azvegint, kizune, honkar
2022-05-19 20:04:19 +00:00
Dean Long
b0892295ee 8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest
Reviewed-by: kvn, vlivanov
2022-05-19 19:59:39 +00:00
Quan Anh Mai
079312c835 8286182: [BACKOUT] x86: Handle integral division overflow during parsing
8287035: [BACKOUT] PPC64: Handle integral division overflow during parsing

Reviewed-by: mdoerr, thartmann
2022-05-19 19:12:28 +00:00
Naoto Sato
7b19226be2 8267038: Update IANA Language Subtag Registry to Version 2022-03-02
Reviewed-by: rriggs
2022-05-19 18:50:09 +00:00
Valerie Peng
e60d8b516e 8253176: Signature.getParameters should specify that it can throw UnsupportedOperationException
Reviewed-by: weijun
2022-05-19 18:44:15 +00:00
Phil Race
aa5062584c 8286447: [Linux] AWT should start in Headless mode if headful AWT library not installed
Reviewed-by: asemenyuk, kcr
2022-05-19 18:40:27 +00:00
Christian Stein
655500a4f5 8286654: Add an optional description accessor on ToolProvider interface
Reviewed-by: jjg, darcy, lancea
2022-05-19 18:25:12 +00:00
Phil Race
ac6a7d7b36 8278367: JNI critical region violation in CTextPipe.m:363
Reviewed-by: kizune, azvegint
2022-05-19 17:57:29 +00:00
Gerard Ziemski
83cec4b6cc 8284273: Early crashes in os::print_context on AArch64
Reviewed-by: stefank, stuefe
2022-05-19 16:19:36 +00:00
Aggelos Biboudis
fd36f3730e 8286797: Guards of constant value false are not permitted
Reviewed-by: vromero
2022-05-19 16:11:24 +00:00
Tobias Hartmann
fa1b56ede6 8280696: C2 compilation hits assert(is_dominator(c, n_ctrl)) failed
Reviewed-by: kvn, chagedorn, roland
2022-05-19 14:52:54 +00:00
Lutz Schmidt
af7cda5d8f 8285733: [s390] Vector Instruction Emitters for element-wise access are broken
Reviewed-by: mdoerr, mbaesken
2022-05-19 13:58:25 +00:00
Daniel Jeliński
d24c84e768 8286873: Improve websocket test execution time
Reviewed-by: dfuchs, prappo
2022-05-19 13:22:14 +00:00
Mark Powers
db19dc6bb9 8284688: Minor cleanup could be done in java.security.jgss
Reviewed-by: weijun
2022-05-19 13:13:48 +00:00
Aleksey Shipilev
6e386669e3 8286944: Loom: Common ContinuationEntry cookie handling
Reviewed-by: rbackman, coleenp
2022-05-19 09:35:31 +00:00
Aleksey Shipilev
47500b2429 8286897: Loom: Cleanup x86_64 StubGenerator
Reviewed-by: rpressler, kvn
2022-05-19 08:45:03 +00:00
lawrence.andrews
fc3edf2412 8285687: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PageRangesDlgTest.java
Reviewed-by: prr, aivanov
2022-05-19 08:04:05 +00:00
yyrrzhang
022e71704c 8286462: Incorrect copyright year for src/java.base/share/classes/jdk/internal/vm/FillerObject.java
Reviewed-by: jiefu
2022-05-19 07:45:14 +00:00
Sibabrata Sahoo
dbda0e2bda 8286969: Add a new test library API to execute kinit in SecurityTools.java
Reviewed-by: rhalade, weijun
2022-05-19 06:05:57 +00:00
Yasumasa Suenaga
26c7c92bc9 8286694: Incorrect argument processing in java launcher
Reviewed-by: dholmes
2022-05-19 05:53:10 +00:00
8039 changed files with 313729 additions and 290357 deletions

46
.github/actions/config/action.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
#
# 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.
#
name: 'Config'
description: 'Read JDK Configuration Variables'
inputs:
var:
description: 'The name of the variable to read'
required: true
outputs:
value:
description: 'The value of the configuration variable'
value: ${{ steps.read-config.outputs.value }}
runs:
using: composite
steps:
- name: 'Read configuration variable from repo'
id: read-config
run: |
# Extract value from configuration file
value="$(grep -h ${{ inputs.var }}= make/conf/github-actions.conf | cut -d '=' -f 2-)"
echo "::set-output name=value::$value"
shell: bash

80
.github/actions/do-build/action.yml vendored Normal file
View File

@@ -0,0 +1,80 @@
#
# 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.
#
name: 'Do build'
description: 'Build the JDK using make'
inputs:
make-target:
description: 'Make target(s)'
required: true
platform:
description: 'Platform name'
required: true
debug-suffix:
description: 'File name suffix denoting debug level, possibly empty'
required: false
runs:
using: composite
steps:
- name: 'Build'
id: build
run: >
make LOG=info ${{ inputs.make-target }}
|| bash ./.github/scripts/gen-build-failure-report.sh "$GITHUB_STEP_SUMMARY"
shell: bash
- name: 'Check for failure'
id: check
run: |
# Check for failure marker file
build_dir="$(ls -d build/*)"
if [[ -e $build_dir/build-failure ]]; then
# Collect relevant log files
mkdir failure-logs
cp \
$build_dir/spec.gmk \
$build_dir/build.log \
$build_dir/configure.log \
$build_dir/make-support/failure-summary.log \
$build_dir/make-support/failure-logs/* \
failure-logs/ 2> /dev/null || true
echo '::set-output name=failure::true'
fi
shell: bash
- name: 'Upload build logs'
uses: actions/upload-artifact@v3
with:
name: failure-logs-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: failure-logs
if: steps.check.outputs.failure == 'true'
# This is the best way I found to abort the job with an error message
- name: 'Notify about build failures'
uses: actions/github-script@v6
with:
script: core.setFailed('Build failed. See summary for details.')
if: steps.check.outputs.failure == 'true'

109
.github/actions/get-bootjdk/action.yml vendored Normal file
View File

@@ -0,0 +1,109 @@
#
# 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.
#
name: 'Get BootJDK'
description: 'Download the BootJDK from cache or source location'
inputs:
platform:
description: 'Platform'
required: true
outputs:
path:
description: 'Path to the installed BootJDK'
value: ${{ steps.path-name.outputs.path }}
runs:
using: composite
steps:
- name: 'Determine platform prefix'
id: platform-prefix
run: |
# Convert platform name to upper case
platform_prefix="$(echo ${{ inputs.platform }} | tr [a-z-] [A-Z_])"
echo "::set-output name=value::$platform_prefix"
shell: bash
- name: 'Get URL configuration'
id: url
uses: ./.github/actions/config
with:
var: ${{ steps.platform-prefix.outputs.value}}_BOOT_JDK_URL
- name: 'Get SHA256 configuration'
id: sha256
uses: ./.github/actions/config
with:
var: ${{ steps.platform-prefix.outputs.value}}_BOOT_JDK_SHA256
- name: 'Get file extension configuration'
id: ext
uses: ./.github/actions/config
with:
var: ${{ steps.platform-prefix.outputs.value}}_BOOT_JDK_EXT
- name: 'Check cache for BootJDK'
id: get-cached-bootjdk
uses: actions/cache@v3
with:
path: bootjdk/jdk
key: boot-jdk-${{ inputs.platform }}-${{ steps.sha256.outputs.value }}
# macOS is missing sha256sum
- name: 'Install sha256sum'
run: |
# Run Homebrew installation
brew install coreutils
shell: bash
if: steps.get-cached-bootjdk.outputs.cache-hit != 'true' && runner.os == 'macOS'
- name: 'Download BootJDK'
run: |
# Download BootJDK and verify checksum
mkdir -p bootjdk/jdk
mkdir -p bootjdk/unpacked
wget --progress=dot:mega -O bootjdk/jdk.${{ steps.ext.outputs.value }} '${{ steps.url.outputs.value }}'
echo '${{ steps.sha256.outputs.value }} bootjdk/jdk.${{ steps.ext.outputs.value }}' | sha256sum -c >/dev/null -
shell: bash
if: steps.get-cached-bootjdk.outputs.cache-hit != 'true'
- name: 'Unpack BootJDK'
run: |
# Unpack the BootJDK and move files to a common location
if [[ '${{ steps.ext.outputs.value }}' == 'tar.gz' ]]; then
tar -xf bootjdk/jdk.${{ steps.ext.outputs.value }} -C bootjdk/unpacked
else
unzip -q bootjdk/jdk.${{ steps.ext.outputs.value }} -d bootjdk/unpacked
fi
jdk_root="$(dirname $(find bootjdk/unpacked -name bin -type d))"
mv "$jdk_root"/* bootjdk/jdk/
shell: bash
if: steps.get-cached-bootjdk.outputs.cache-hit != 'true'
- name: 'Export path to where BootJDK is installed'
id: path-name
run: |
# Export the path
echo '::set-output name=path::bootjdk/jdk'
shell: bash

109
.github/actions/get-bundles/action.yml vendored Normal file
View File

@@ -0,0 +1,109 @@
#
# 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.
#
name: 'Get bundles'
description: 'Download resulting JDK bundles'
inputs:
platform:
description: 'Platform name'
required: true
debug-suffix:
description: 'File name suffix denoting debug level, possibly empty'
required: false
outputs:
jdk-path:
description: 'Path to the installed JDK bundle'
value: ${{ steps.path-name.outputs.jdk }}
symbols-path:
description: 'Path to the installed symbols bundle'
value: ${{ steps.path-name.outputs.symbols }}
tests-path:
description: 'Path to the installed tests bundle'
value: ${{ steps.path-name.outputs.tests }}
runs:
using: composite
steps:
- name: 'Download bundles artifact'
id: download-bundles
uses: actions/download-artifact@v3
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
continue-on-error: true
- name: 'Download bundles artifact (retry)'
uses: actions/download-artifact@v3
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
if: steps.download-bundles.outcome == 'failure'
- name: 'Unpack bundles'
run: |
if [[ -e bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.zip ]]; then
echo 'Unpacking jdk bundle...'
mkdir -p bundles/jdk
unzip -q bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.zip -d bundles/jdk
fi
if [[ -e bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz ]]; then
echo 'Unpacking jdk bundle...'
mkdir -p bundles/jdk
tar -xf bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz -C bundles/jdk
fi
if [[ -e bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz ]]; then
echo 'Unpacking symbols bundle...'
mkdir -p bundles/symbols
tar -xf bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz -C bundles/symbols
fi
if [[ -e bundles/tests-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz ]]; then
echo 'Unpacking tests bundle...'
mkdir -p bundles/tests
tar -xf bundles/tests-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz -C bundles/tests
fi
shell: bash
- name: 'Export paths to where bundles are installed'
id: path-name
run: |
# Export the paths
jdk_dir="$GITHUB_WORKSPACE/$(dirname $(find bundles/jdk -name bin -type d))"
symbols_dir="$GITHUB_WORKSPACE/$(dirname $(find bundles/symbols -name bin -type d))"
tests_dir="$GITHUB_WORKSPACE/bundles/tests"
if [[ '${{ runner.os }}' == 'Windows' ]]; then
jdk_dir="$(cygpath $jdk_dir)"
symbols_dir="$(cygpath $symbols_dir)"
tests_dir="$(cygpath $tests_dir)"
fi
echo "::set-output name=jdk::$jdk_dir"
echo "::set-output name=symbols::$symbols_dir"
echo "::set-output name=tests::$tests_dir"
shell: bash

54
.github/actions/get-gtest/action.yml vendored Normal file
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.
#
name: 'Get GTest'
description: 'Download GTest source'
outputs:
path:
description: 'Path to the installed GTest'
value: ${{ steps.path-name.outputs.path }}
runs:
using: composite
steps:
- name: 'Get GTest version configuration'
id: version
uses: ./.github/actions/config
with:
var: GTEST_VERSION
- name: 'Checkout GTest source'
uses: actions/checkout@v3
with:
repository: google/googletest
ref: 'release-${{ steps.version.outputs.value }}'
path: gtest
- name: 'Export path to where GTest is installed'
id: path-name
run: |
# Export the path
echo '::set-output name=path::gtest'
shell: bash

72
.github/actions/get-jtreg/action.yml vendored Normal file
View File

@@ -0,0 +1,72 @@
#
# 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.
#
name: 'Get JTReg'
description: 'Download JTReg from cache or source location'
outputs:
path:
description: 'Path to the installed JTReg'
value: ${{ steps.path-name.outputs.path }}
runs:
using: composite
steps:
- name: 'Get JTReg version configuration'
id: version
uses: ./.github/actions/config
with:
var: JTREG_VERSION
- name: 'Check cache for JTReg'
id: get-cached-jtreg
uses: actions/cache@v3
with:
path: jtreg/installed
key: jtreg-${{ steps.version.outputs.value }}
- name: 'Checkout the JTReg source'
uses: actions/checkout@v3
with:
repository: openjdk/jtreg
ref: jtreg-${{ steps.version.outputs.value }}
path: jtreg/src
if: steps.get-cached-jtreg.outputs.cache-hit != 'true'
- name: 'Build JTReg'
run: |
# Build JTReg and move files to the proper locations
bash make/build.sh --jdk "$JAVA_HOME_11_X64"
mkdir ../installed
mv build/images/jtreg/* ../installed
working-directory: jtreg/src
shell: bash
if: steps.get-cached-jtreg.outputs.cache-hit != 'true'
- name: 'Export path to where JTReg is installed'
id: path-name
run: |
# Export the path
echo '::set-output name=path::jtreg/installed'
shell: bash

44
.github/actions/get-msys2/action.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
#
# 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.
#
name: 'Get MSYS2'
description: 'Download MSYS2 and prepare a Windows host'
runs:
using: composite
steps:
- name: 'Install MSYS2'
uses: msys2/setup-msys2@v2
with:
install: 'autoconf tar unzip zip make'
path-type: minimal
location: 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
shell: pwsh

View File

@@ -0,0 +1,77 @@
#
# 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.
#
name: 'Upload bundles'
description: 'Upload resulting JDK bundles'
inputs:
platform:
description: 'Platform name'
required: true
debug-suffix:
description: 'File name suffix denoting debug level, possibly empty'
required: false
runs:
using: composite
steps:
- name: 'Determine bundle names'
id: bundles
run: |
# Rename bundles to consistent names
jdk_bundle_zip="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}.zip 2> /dev/null || true)"
jdk_bundle_tar_gz="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
symbols_bundle="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}-symbols.tar.gz 2> /dev/null || true)"
tests_bundle="$(ls build/*/bundles/jdk-*_bin-tests${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
mkdir bundles
if [[ "$jdk_bundle_zip" != "" ]]; then
mv "$jdk_bundle_zip" "bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.zip"
fi
if [[ "$jdk_bundle_tar_gz" != "" ]]; then
mv "$jdk_bundle_tar_gz" "bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$symbols_bundle" != "" ]]; then
mv "$symbols_bundle" "bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$tests_bundle" != "" ]]; then
mv "$tests_bundle" "bundles/tests-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$jdk_bundle_zip$jdk_bundle_tar_gz$symbols_bundle$tests_bundle" != "" ]]; then
echo '::set-output name=bundles-found::true'
else
echo '::set-output name=bundles-found::false'
fi
shell: bash
- name: 'Upload bundles artifact'
uses: actions/upload-artifact@v3
with:
name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}
path: bundles
retention-days: 1
if: steps.bundles.outputs.bundles-found == 'true'

View File

@@ -1,5 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
# 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
@@ -22,15 +23,29 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name javax/security/auth/kerberos/KeyTab
-method name getUnboundInstance descriptor (Ljava/io/File;)Ljavax/security/auth/kerberos/KeyTab;
-method name getInstance descriptor (Ljavax/security/auth/kerberos/KerberosPrincipal;Ljava/io/File;)Ljavax/security/auth/kerberos/KeyTab;
-method name getUnboundInstance descriptor ()Ljavax/security/auth/kerberos/KeyTab;
-method name getInstance descriptor (Ljavax/security/auth/kerberos/KerberosPrincipal;)Ljavax/security/auth/kerberos/KeyTab;
-method name getPrincipal descriptor ()Ljavax/security/auth/kerberos/KerberosPrincipal;
-method name isBound descriptor ()Z
GITHUB_STEP_SUMMARY="$1"
BUILD_DIR="$(ls -d build/*)"
# Send signal to the do-build action that we failed
touch "$BUILD_DIR/build-failure"
(
echo '### :boom: Build failure summary'
echo ''
echo 'The build failed. Here follows the failure summary from the build.'
echo '<details><summary><b>View build failure summary</b></summary>'
echo ''
echo '```'
if [[ -f "$BUILD_DIR/make-support/failure-summary.log" ]]; then
cat "$BUILD_DIR/make-support/failure-summary.log"
else
echo "Failure summary ($BUILD_DIR/make-support/failure-summary.log) not found"
fi
echo '```'
echo '</details>'
echo ''
echo ''
echo ':arrow_right: To see the entire test log, click the job in the list to the left. To download logs, see the `failure-logs` [artifact above](#artifacts).'
) >> $GITHUB_STEP_SUMMARY

92
.github/scripts/gen-test-results.sh vendored Normal file
View File

@@ -0,0 +1,92 @@
#!/bin/bash
#
# 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.
#
GITHUB_STEP_SUMMARY="$1"
test_suite_name=$(cat build/run-test-prebuilt/test-support/test-last-ids.txt)
results_dir=build/run-test-prebuilt/test-results/$test_suite_name/text
report_dir=build/run-test-prebuilt/test-support/$test_suite_name
failures=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/newfailures.txt 2> /dev/null || true)
errors=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/other_errors.txt 2> /dev/null || true)
if [[ "$failures" = "" && "$errors" = "" ]]; then
# If we have nothing to report, exit this step now
exit 0
fi
echo "### Test output for failed tests" >> $GITHUB_STEP_SUMMARY
for test in $failures $errors; do
anchor="$(echo "$test" | tr [A-Z/] [a-z_])"
base_path="$(echo "$test" | tr '#' '_')"
report_file="$report_dir/$base_path.jtr"
hs_err_files=$(ls $report_dir/$base_path/hs_err*.log 2> /dev/null || true)
echo "#### <a id="$anchor">$test"
echo '<details><summary>View test results</summary>'
echo ''
echo '```'
if [[ -f "$report_file" ]]; then
cat "$report_file"
else
echo "Error: Result file $report_file not found"
fi
echo '```'
echo '</details>'
echo ''
if [[ "$hs_err_files" != "" ]]; then
echo '<details><summary>View HotSpot error log</summary>'
echo ''
for hs_err in $hs_err_files; do
echo '```'
echo "$hs_err:"
echo ''
cat "$hs_err"
echo '```'
done
echo '</details>'
echo ''
fi
done >> $GITHUB_STEP_SUMMARY
# With many failures, the summary can easily exceed 1024 kB, the limit set by Github
# Trim it down if so.
summary_size=$(wc -c < $GITHUB_STEP_SUMMARY)
if [[ $summary_size -gt 1000000 ]]; then
# Trim to below 1024 kB, and cut off after the last detail group
head -c 1000000 $GITHUB_STEP_SUMMARY | tac | sed -n -e '/<\/details>/,$ p' | tac > $GITHUB_STEP_SUMMARY.tmp
mv $GITHUB_STEP_SUMMARY.tmp $GITHUB_STEP_SUMMARY
(
echo ''
echo ':x: **WARNING: Summary is too large and has been truncated.**'
echo ''
) >> $GITHUB_STEP_SUMMARY
fi
echo ':arrow_right: To see the entire test log, click the job in the list to the left.' >> $GITHUB_STEP_SUMMARY

69
.github/scripts/gen-test-summary.sh vendored Normal file
View File

@@ -0,0 +1,69 @@
#!/bin/bash
#
# 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.
#
GITHUB_STEP_SUMMARY="$1"
test_suite_name=$(cat build/run-test-prebuilt/test-support/test-last-ids.txt)
results_dir=build/run-test-prebuilt/test-results/$test_suite_name/text
if [[ ! -f build/run-test-prebuilt/make-support/exit-with-error ]]; then
# There were no failures, exit now
exit
fi
failures=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/newfailures.txt 2> /dev/null || true)
errors=$(sed -E -e 's/(.*)\.(java|sh)/\1/' -e '/^#/d' $results_dir/other_errors.txt 2> /dev/null || true)
failure_count=$(echo $failures | wc -w || true)
error_count=$(echo $errors | wc -w || true)
if [[ "$failures" = "" && "$errors" = "" ]]; then
# We know something went wrong, but not what
echo '::set-output name=error-message::Unspecified test suite failure. Please see log for job for details.'
exit 0
fi
echo '::set-output name=failure::true'
echo "::set-output name=error-message::Test run reported $failure_count test failure(s) and $error_count error(s). See summary for details."
echo '### :boom: Test failures summary' >> $GITHUB_STEP_SUMMARY
if [[ "$failures" != "" ]]; then
echo '' >> $GITHUB_STEP_SUMMARY
echo 'These tests reported failure:' >> $GITHUB_STEP_SUMMARY
for test in $failures; do
anchor="$(echo "$test" | tr [A-Z/] [a-z_])"
echo "* [$test](#user-content-$anchor)"
done >> $GITHUB_STEP_SUMMARY
fi
if [[ "$errors" != "" ]]; then
echo '' >> $GITHUB_STEP_SUMMARY
echo 'These tests reported errors:' >> $GITHUB_STEP_SUMMARY
for test in $errors; do
anchor="$(echo "$test" | tr [A-Z/] [a-z_])"
echo "* [$test](#user-content-$anchor)"
done >> $GITHUB_STEP_SUMMARY
fi

View File

@@ -0,0 +1,178 @@
#
# 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.
#
name: 'Build (cross-compile)'
on:
workflow_call:
inputs:
gcc-major-version:
required: true
type: string
apt-gcc-version:
required: true
type: string
apt-gcc-cross-version:
required: true
type: string
extra-conf-options:
required: false
type: string
jobs:
build-cross-compile:
name: build
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
target-cpu:
- aarch64
- arm
- s390x
- ppc64le
- riscv64
include:
- target-cpu: aarch64
gnu-arch: aarch64
debian-arch: arm64
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
- target-cpu: arm
gnu-arch: arm
debian-arch: armhf
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
gnu-abi: eabihf
- target-cpu: s390x
gnu-arch: s390x
debian-arch: s390x
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
- target-cpu: ppc64le
gnu-arch: powerpc64le
debian-arch: ppc64el
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
- target-cpu: riscv64
gnu-arch: riscv64
debian-arch: riscv64
debian-repository: https://deb.debian.org/debian-ports
debian-keyring: /usr/share/keyrings/debian-ports-archive-keyring.gpg
debian-version: sid
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: linux-x64
# Use linux-x64 JDK bundle as build JDK
- name: 'Get build JDK'
id: buildjdk
uses: ./.github/actions/get-bundles
with:
platform: linux-x64
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
- name: 'Install toolchain and dependencies'
run: |
# Install dependencies using apt-get
sudo apt-get update
sudo apt-get install --only-upgrade apt
sudo apt-get install \
gcc-${{ inputs.gcc-major-version }}=${{ inputs.apt-gcc-version }} \
g++-${{ inputs.gcc-major-version }}=${{ inputs.apt-gcc-version }} \
gcc-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}=${{ inputs.apt-gcc-cross-version }} \
g++-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}=${{ inputs.apt-gcc-cross-version }} \
libxrandr-dev libxtst-dev libcups2-dev libasound2-dev \
debian-ports-archive-keyring
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
- name: 'Check cache for sysroot'
id: get-cached-sysroot
uses: actions/cache@v3
with:
path: sysroot
key: sysroot-${{ matrix.debian-arch }}-${{ hashFiles('./.github/workflows/build-cross-compile.yml') }}
- name: 'Install sysroot dependencies'
run: sudo apt-get install debootstrap qemu-user-static
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Create sysroot'
run: >
sudo debootstrap
--arch=${{ matrix.debian-arch }}
--verbose
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev
--resolve-deps
$(test -n "${{ matrix.debian-keyring }}" && echo "--keyring=${{ matrix.debian-keyring }}")
${{ matrix.debian-version }}
sysroot
${{ matrix.debian-repository }}
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Prepare sysroot'
run: |
# Prepare sysroot and remove unused files to minimize cache
sudo chroot sysroot symlinks -cr .
sudo chown ${USER} -R sysroot
rm -rf sysroot/{dev,proc,run,sys,var}
rm -rf sysroot/usr/{sbin,bin,share}
rm -rf sysroot/usr/lib/{apt,udev,systemd}
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Configure'
run: >
bash configure
--with-conf-name=linux-${{ matrix.target-cpu }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-zlib=system
--enable-debug
--disable-precompiled-headers
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
--with-sysroot=sysroot
--with-build-jdk=${{ steps.buildjdk.outputs.jdk-path }}
--with-jmod-compress=zip-1
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
${{ inputs.extra-conf-options }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: 'hotspot'
platform: linux-${{ matrix.target-cpu }}

143
.github/workflows/build-linux.yml vendored Normal file
View File

@@ -0,0 +1,143 @@
#
# 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.
#
name: 'Build (linux)'
on:
workflow_call:
inputs:
platform:
required: true
type: string
extra-conf-options:
required: false
type: string
make-target:
required: false
type: string
default: 'product-bundles test-bundles'
debug-levels:
required: false
type: string
default: '[ "debug", "release" ]'
gcc-major-version:
required: true
type: string
gcc-package-suffix:
required: false
type: string
default: ''
apt-gcc-version:
required: true
type: string
apt-architecture:
required: false
type: string
apt-extra-packages:
required: false
type: string
jobs:
build-linux:
name: build
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
debug-level: ${{ fromJSON(inputs.debug-levels) }}
include:
- debug-level: debug
flags: --with-debug-level=fastdebug
suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: linux-x64
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
- name: 'Set architecture'
id: arch
run: |
# Set a proper suffix for packages if using a different architecture
if [[ '${{ inputs.apt-architecture }}' != '' ]]; then
echo '::set-output name=suffix:::${{ inputs.apt-architecture }}'
fi
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
- name: 'Install toolchain and dependencies'
run: |
# Install dependencies using apt-get
if [[ '${{ inputs.apt-architecture }}' != '' ]]; then
sudo dpkg --add-architecture ${{ inputs.apt-architecture }}
fi
sudo apt-get update
sudo apt-get install --only-upgrade apt
sudo apt-get install gcc-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }}=${{ inputs.apt-gcc-version }} g++-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }}=${{ inputs.apt-gcc-version }} libxrandr-dev${{ steps.arch.outputs.suffix }} libxtst-dev${{ steps.arch.outputs.suffix }} libcups2-dev${{ steps.arch.outputs.suffix }} libasound2-dev${{ steps.arch.outputs.suffix }} ${{ inputs.apt-extra-packages }}
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
- name: 'Configure'
run: >
bash configure
--with-conf-name=${{ inputs.platform }}
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--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 }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: '${{ inputs.make-target }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

118
.github/workflows/build-macos.yml vendored Normal file
View File

@@ -0,0 +1,118 @@
#
# 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.
#
name: 'Build (macos)'
on:
workflow_call:
inputs:
platform:
required: true
type: string
extra-conf-options:
required: false
type: string
make-target:
required: false
type: string
default: 'product-bundles test-bundles'
debug-levels:
required: false
type: string
default: '[ "debug", "release" ]'
xcode-toolset-version:
required: true
type: string
jobs:
build-macos:
name: build
runs-on: macos-11
strategy:
fail-fast: false
matrix:
debug-level: ${{ fromJSON(inputs.debug-levels) }}
include:
- debug-level: debug
flags: --with-debug-level=fastdebug
suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: macos-x64
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
- name: 'Install toolchain and dependencies'
run: |
# Run Homebrew installation and xcode-select
brew install make
sudo xcode-select --switch /Applications/Xcode_${{ inputs.xcode-toolset-version }}.app/Contents/Developer
# This will make GNU make available as 'make' and not only as 'gmake'
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
- name: 'Configure'
run: >
bash configure
--with-conf-name=${{ inputs.platform }}
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--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 }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: '${{ inputs.make-target }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

135
.github/workflows/build-windows.yml vendored Normal file
View File

@@ -0,0 +1,135 @@
#
# 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.
#
name: 'Build (windows)'
on:
workflow_call:
inputs:
platform:
required: true
type: string
extra-conf-options:
required: false
type: string
make-target:
required: false
type: string
default: 'product-bundles test-bundles'
debug-levels:
required: false
type: string
default: '[ "debug", "release" ]'
msvc-toolset-version:
required: true
type: string
msvc-toolset-architecture:
required: true
type: string
env:
# These are needed to make the MSYS2 bash work properly
MSYS2_PATH_TYPE: minimal
CHERE_INVOKING: 1
jobs:
build-windows:
name: build
runs-on: windows-2019
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
debug-level: ${{ fromJSON(inputs.debug-levels) }}
include:
- debug-level: debug
flags: --with-debug-level=fastdebug
suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get MSYS2'
uses: ./.github/actions/get-msys2
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: windows-x64
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
- name: 'Install toolchain and dependencies'
run: |
# Run Visual Studio Installer
'/c/Program Files (x86)/Microsoft Visual Studio/Installer/vs_installer.exe' \
modify --quiet --installPath 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise' \
--add Microsoft.VisualStudio.Component.VC.${{ inputs.msvc-toolset-version }}.${{ inputs.msvc-toolset-architecture }}
- name: 'Configure'
run: >
bash configure
--with-conf-name=${{ inputs.platform }}
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--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 }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
env:
# We need a minimal PATH on Windows
# Set PATH to "", so just GITHUB_PATH is included
PATH: ''
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: '${{ inputs.make-target }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

342
.github/workflows/main.yml vendored Normal file
View File

@@ -0,0 +1,342 @@
#
# 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.
#
name: 'OpenJDK GHA Sanity Checks'
on:
push:
branches-ignore:
- master
- pr/*
workflow_dispatch:
inputs:
platforms:
description: 'Platform(s) to execute on (comma separated, e.g. "linux-x64, macos, aarch64")'
required: true
default: 'linux-x64, linux-x86, linux-x64-variants, linux-cross-compile, macos-x64, macos-aarch64, windows-x64, windows-aarch64'
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-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 }}
windows-x64: ${{ steps.include.outputs.windows-x64 }}
windows-aarch64: ${{ steps.include.outputs.windows-aarch64 }}
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 [[ '${{ !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
echo 'false'
return
fi
if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
input='${{ github.event.inputs.platforms }}'
elif [[ $GITHUB_EVENT_NAME == push ]]; then
input='${{ secrets.JDK_SUBMIT_PLATFORMS }}'
else
echo 'Internal error in GHA'
exit 1
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 "::set-output name=linux-x64::$(check_platform linux-x64 linux x64)"
echo "::set-output name=linux-x86::$(check_platform linux-x86 linux x86)"
echo "::set-output name=linux-x64-variants::$(check_platform linux-x64-variants variants)"
echo "::set-output name=linux-cross-compile::$(check_platform linux-cross-compile cross-compile)"
echo "::set-output name=macos-x64::$(check_platform macos-x64 macos x64)"
echo "::set-output name=macos-aarch64::$(check_platform macos-aarch64 macos aarch64)"
echo "::set-output name=windows-x64::$(check_platform windows-x64 windows x64)"
echo "::set-output name=windows-aarch64::$(check_platform windows-aarch64 windows aarch64)"
###
### 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.3.0-15ubuntu1'
# 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.3.0-15ubuntu1'
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'
if: needs.select.outputs.linux-x86 == 'true'
build-linux-x64-hs-nopch:
name: linux-x64-hs-nopch
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
apt-gcc-version: '10.3.0-15ubuntu1'
extra-conf-options: '--disable-precompiled-headers'
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-zero:
name: linux-x64-hs-zero
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
apt-gcc-version: '10.3.0-15ubuntu1'
extra-conf-options: '--with-jvm-variants=zero --disable-precompiled-headers'
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-minimal:
name: linux-x64-hs-minimal
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
apt-gcc-version: '10.3.0-15ubuntu1'
extra-conf-options: '--with-jvm-variants=minimal --disable-precompiled-headers'
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-optimized:
name: linux-x64-hs-optimized
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
# Technically this is not the "debug" level, but we can't inject a new matrix state for just this job
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
apt-gcc-version: '10.3.0-15ubuntu1'
extra-conf-options: '--with-debug-level=optimized --disable-precompiled-headers'
if: needs.select.outputs.linux-x64-variants == '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.3.0-15ubuntu1'
apt-gcc-cross-version: '10.3.0-8ubuntu1cross1'
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: '11.7'
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.4'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
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'
if: needs.select.outputs.windows-x64 == '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'
if: needs.select.outputs.windows-aarch64 == 'true'
###
### Test jobs
###
test-linux-x64:
name: linux-x64
needs:
- build-linux-x64
uses: ./.github/workflows/test.yml
with:
platform: linux-x64
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
test-linux-x86:
name: linux-x86
needs:
- build-linux-x86
uses: ./.github/workflows/test.yml
with:
platform: linux-x86
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
test-macos-x64:
name: macos-x64
needs:
- build-macos-x64
uses: ./.github/workflows/test.yml
with:
platform: macos-x64
bootjdk-platform: macos-x64
runs-on: macos-11
test-windows-x64:
name: windows-x64
needs:
- build-windows-x64
uses: ./.github/workflows/test.yml
with:
platform: windows-x64
bootjdk-platform: windows-x64
runs-on: windows-2019
# 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-x64-hs-nopch
- build-linux-x64-hs-zero
- build-linux-x64-hs-minimal
- build-linux-x64-hs-optimized
- build-linux-cross-compile
- build-macos-x64
- build-macos-aarch64
- build-windows-x64
- build-windows-aarch64
- test-linux-x64
- test-linux-x86
- test-macos-x64
- test-windows-x64
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

File diff suppressed because it is too large Load Diff

205
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,205 @@
#
# 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.
#
name: 'Run tests'
on:
workflow_call:
inputs:
platform:
required: true
type: string
bootjdk-platform:
required: true
type: string
runs-on:
required: true
type: string
env:
# These are needed to make the MSYS2 bash work properly
MSYS2_PATH_TYPE: minimal
CHERE_INVOKING: 1
jobs:
test:
name: test
runs-on: ${{ inputs.runs-on }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
test-name:
- 'jdk/tier1 part 1'
- 'jdk/tier1 part 2'
- 'jdk/tier1 part 3'
- 'langtools/tier1'
- 'hs/tier1 common'
- 'hs/tier1 compiler'
- 'hs/tier1 gc'
- 'hs/tier1 runtime'
- 'hs/tier1 serviceability'
include:
- test-name: 'jdk/tier1 part 1'
test-suite: 'test/jdk/:tier1_part1'
- test-name: 'jdk/tier1 part 2'
test-suite: 'test/jdk/:tier1_part2'
- test-name: 'jdk/tier1 part 3'
test-suite: 'test/jdk/:tier1_part3'
- test-name: 'langtools/tier1'
test-suite: 'test/langtools/:tier1'
- test-name: 'hs/tier1 common'
test-suite: 'test/hotspot/jtreg/:tier1_common'
debug-suffix: -debug
- test-name: 'hs/tier1 compiler'
test-suite: 'test/hotspot/jtreg/:tier1_compiler'
debug-suffix: -debug
- test-name: 'hs/tier1 gc'
test-suite: 'test/hotspot/jtreg/:tier1_gc'
debug-suffix: -debug
- test-name: 'hs/tier1 runtime'
test-suite: 'test/hotspot/jtreg/:tier1_runtime'
debug-suffix: -debug
- test-name: 'hs/tier1 serviceability'
test-suite: 'test/hotspot/jtreg/:tier1_serviceability'
debug-suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get MSYS2'
uses: ./.github/actions/get-msys2
if: runner.os == 'Windows'
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: ${{ inputs.bootjdk-platform }}
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Get bundles'
id: bundles
uses: ./.github/actions/get-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: ${{ matrix.debug-suffix }}
- name: 'Install dependencies'
run: |
# On macOS we need to install some dependencies for testing
brew install make
sudo xcode-select --switch /Applications/Xcode_11.7.app/Contents/Developer
# This will make GNU make available as 'make' and not only as 'gmake'
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
if: runner.os == 'macOS'
- name: 'Set PATH'
id: path
run: |
# We need a minimal PATH on Windows
# Set PATH to "", so just GITHUB_PATH is included
if [[ '${{ runner.os }}' == 'Windows' ]]; then
echo "::set-output name=value::"
else
echo "::set-output name=value::$PATH"
fi
- name: 'Run tests'
id: run-tests
run: >
make test-prebuilt
TEST='${{ matrix.test-suite }}'
BOOT_JDK=${{ steps.bootjdk.outputs.path }}
JT_HOME=${{ steps.jtreg.outputs.path }}
JDK_IMAGE_DIR=${{ steps.bundles.outputs.jdk-path }}
SYMBOLS_IMAGE_DIR=${{ steps.bundles.outputs.symbols-path }}
TEST_IMAGE_DIR=${{ steps.bundles.outputs.tests-path }}
JTREG='JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash;VERBOSE=fail,error,time;KEYWORDS=!headful'
&& bash ./.github/scripts/gen-test-summary.sh "$GITHUB_STEP_SUMMARY"
env:
PATH: ${{ steps.path.outputs.value }}
# This is a separate step, since if the markdown from a step gets bigger than
# 1024 kB it is skipped, but then the short summary above is still generated
- name: 'Generate test report'
run: bash ./.github/scripts/gen-test-results.sh "$GITHUB_STEP_SUMMARY"
if: always()
- name: 'Package test results'
id: package
run: |
# Package test-results and relevant parts of test-support
mkdir results
if [[ -d build/run-test-prebuilt/test-results ]]; then
cd build/run-test-prebuilt/test-results/
zip -r -9 "$GITHUB_WORKSPACE/results/test-results.zip" .
cd $GITHUB_WORKSPACE
else
echo '::warning ::Missing test-results directory'
fi
if [[ -d build/run-test-prebuilt/test-support ]]; then
cd build/run-test-prebuilt/test-support/
zip -r -9 "$GITHUB_WORKSPACE/results/test-support.zip" . -i *.jtr -i */hs_err*.log -i */replay*.log
cd $GITHUB_WORKSPACE
else
echo '::warning ::Missing test-support directory'
fi
artifact_name="results-${{ inputs.platform }}-$(echo ${{ matrix.test-name }} | tr '/ ' '__')"
echo "::set-output name=artifact-name::$artifact_name"
if: always()
- name: 'Upload test results'
uses: actions/upload-artifact@v3
with:
path: results
name: ${{ steps.package.outputs.artifact-name }}
if: always()
# This is the best way I found to abort the job with an error message
- name: 'Notify about test failures'
uses: actions/github-script@v6
with:
script: core.setFailed('${{ steps.run-tests.outputs.error-message }}')
if: steps.run-tests.outputs.failure == 'true'

2
.gitignore vendored
View File

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

View File

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

View File

@@ -1,7 +1,64 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# Welcome to the JDK!
# Welcome to JetBrains Runtime!
<a name="jetbrains-runtime"></a>
## Wakefield
This is a temporary section created to host information on the
[Wakefield](https://wiki.openjdk.java.net/display/wakefield) project.
Do not use this branch. It is [outdated](https://youtrack.jetbrains.com/issue/JBR-4375/New-branch-naming-policy-in-JBR-repo).
Please use [main](https://github.com/JetBrains/JetBrainsRuntime/tree/main) instead.
### Building
There are two addition `configure` arguments:
```
--with-wayland specify prefix directory for the wayland package
(expecting the headers under PATH/include)
--with-wayland-include specify directory for the wayland include files
```
As usual, there should be no need to specify those explicitly unless you're doing
something tricky.
However, a variant of `libwayland-dev` needs to be installed on the build system.
### Running
Make sure your system is configured such that `libwayland` can find the socket to connect to;
usually this means that the environment variable `WAYLAND_DISPLAY` is set to something
sensible. Then add this argument to `java`
```
-Dawt.toolkit.name=WLToolkit
```
### Testing
Testing that involves `Robot` is done inside a [Weston](https://gitlab.freedesktop.org/wayland/weston/)
instance with a special module loaded called `libwakefield`
that provides the necessary functionality. The Wayland-specific tests are therefore executed with a dedicated test driver
`test/jdk/java/awt/wakefield/WakefieldTestDriver.java`. The driver also provides an easy
way to run the test in several configurations with a different size and even number
of "outputs" (monitors).
To run the Wayland-specific tests, perform these steps:
* Install Weston version 9 (earlier versions are known NOT to work).
* Obtain `libwakefield.so` either by building from source (available under
`src/java.desktop/share/native/libwakefield` and not integrated into the rest of the
build infrastructure; see `README.md` there)
or by fetching the latest pre-built `x64` binary
```
wget https://github.com/mkartashev/wakefield/raw/main/libwakefield.so
```
* Set `LIBWAKEFIELD` environment variable to the full path to `libwakefield.so`
```
export LIBWAKEFIELD=/tmp/wakefield-testing/libwakefield.so
```
* Run `jtreg` like so
```
jtreg -e:XDG_RUNTIME_DIR -e:LIBWAKEFIELD -testjdk:... test/jdk/java/awt/wakefield/
```
This was verified to work in `Ubuntu 21.10`.
This does NOT work in `Ubuntu 21.04` or `Fedora 34`.
## Generic Info (not Wakefield-specific)
For build instructions please see the
[online documentation](https://openjdk.org/groups/build/doc/building.html),
or either of these files:
- [doc/building.html](doc/building.html) (html version)
- [doc/building.md](doc/building.md) (markdown version)
See <https://openjdk.org/> for more information about
the OpenJDK Community and the JDK.

View File

@@ -25,26 +25,7 @@
# Shell script for generating an IDEA project from a given list of modules
usage() {
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.*)"
echo "usage: $0 [-h|--help] [-v|--verbose] [-o|--output <path>] [-c|--conf <conf_name>] [modules]+"
exit 1
}
@@ -52,13 +33,10 @@ 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;
VERBOSE=true
ABSOLUTE_PATHS=false
IDEA_OUTPUT=$TOP/.idea
VERBOSE="false"
CONF_ARG=
while [ $# -gt 0 ]
do
@@ -67,24 +45,14 @@ do
usage
;;
-q | --quiet )
VERBOSE=false
;;
-a | --absolute-paths )
ABSOLUTE_PATHS=true
;;
-r | --root )
TOPLEVEL_DIR="$2"
shift
-v | --vebose )
VERBOSE="true"
;;
-o | --output )
IDEA_OUTPUT="$2/.idea"
IDEA_OUTPUT=$2/.idea
shift
;;
-c | --conf )
CONF_ARG="CONF_NAME=$2"
shift
@@ -101,21 +69,23 @@ do
shift
done
if [ "x$IDEA_OUTPUT" = "x" ] ; then
IDEA_OUTPUT="$TOPLEVEL_DIR/.idea"
if [ -e $IDEA_OUTPUT ] ; then
rm -r $IDEA_OUTPUT
fi
mkdir -p $IDEA_OUTPUT || exit 1
cd $IDEA_OUTPUT; IDEA_OUTPUT=`pwd`
if [ "x$TOPLEVEL_DIR" = "x" ] ; then
cd $SCRIPT_DIR/..
TOPLEVEL_DIR=`pwd`
cd $IDEA_OUTPUT
fi
mkdir -p $IDEA_OUTPUT || exit 1
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`
IDEA_MAKE="$OPENJDK_DIR/make/ide/idea/jdk"
MAKE_DIR="$SCRIPT_DIR/../make"
IDEA_MAKE="$MAKE_DIR/ide/idea/jdk"
IDEA_TEMPLATE="$IDEA_MAKE/template"
cp -rn "$TOPLEVEL_DIR/jb/project/idea-project-files"/* "$IDEA_OUTPUT"
cp -rn "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
cp -r "$IDEA_TEMPLATE"/* "$IDEA_OUTPUT"
#override template
if [ -d "$TEMPLATES_OVERRIDE" ] ; then
@@ -124,31 +94,31 @@ if [ -d "$TEMPLATES_OVERRIDE" ] ; then
done
fi
if [ "$VERBOSE" = true ] ; then
echo "Will generate IDEA project files in \"$IDEA_OUTPUT\" for project \"$TOPLEVEL_DIR\""
if [ "$VERBOSE" = "true" ] ; then
echo "output dir: $IDEA_OUTPUT"
echo "idea template dir: $IDEA_TEMPLATE"
fi
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 $TOP ; make -f "$IDEA_MAKE/idea.gmk" -I $MAKE_DIR/.. idea MAKEOVERRIDES= OUT=$IDEA_OUTPUT/env.cfg MODULES="$*" $CONF_ARG || exit 1
cd $SCRIPT_DIR
. $IDEA_OUTPUT/env.cfg
# 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
# 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
fi
if [ "x$MODULE_NAMES" = "x" ] ; then
echo "FATAL: MODULE_NAMES is empty" >&2; exit 1
fi
if [ "x$RELATIVE_PROJECT_DIR" = "x" ] ; then
echo "FATAL: RELATIVE_PROJECT_DIR is empty" >&2; exit 1
if [ "x$BOOT_JDK" = "x" ] ; then
echo "FATAL: BOOT_JDK is empty" >&2; exit 1
fi
if [ "x$RELATIVE_BUILD_DIR" = "x" ] ; then
echo "FATAL: RELATIVE_BUILD_DIR is empty" >&2; exit 1
if [ "x$SPEC" = "x" ] ; then
echo "FATAL: SPEC is empty" >&2; exit 1
fi
if [ -d "$TOPLEVEL_DIR/.hg" ] ; then
@@ -159,43 +129,6 @@ 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
@@ -219,106 +152,126 @@ 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"
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
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`"
if [ "x$JT_HOME" = "x" ]; then
add_replacement "###JTREG_HOME###" ""
else
add_replacement "###JTREG_HOME###" "`$PATHTOOL -am $JT_HOME`"
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`"
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
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\" /> "
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
done
add_replacement "###MODULE_IMLS###" "$MODULE_IMLS"
add_replacement "###TEST_MODULE_DEPENDENCIES###" "$TEST_MODULE_DEPENDENCIES"
add_replacement "###SOURCE_ROOTS###" "$SOURCES"
replace_template_dir "$IDEA_OUTPUT"
### Generate module project files
### Compile the custom Logger
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"
CLASSES=$IDEA_OUTPUT/classes
### 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"
if [ "x$ANT_HOME" = "x" ] ; then
# try some common locations
if [ -f "/usr/share/ant/lib/ant.jar" ] ; then
ANT_HOME="/usr/share/ant"
else
echo "$WINENV_ROOT\bin\bash.exe -l -c \"cd %CD:\=/%/ && %*\"" >> "$IDEA_OUTPUT/bash.bat"
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
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 [ "$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"
# 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
fi

0
configure vendored Executable file → Normal file
View File

View File

@@ -70,6 +70,9 @@
<li><a href="#make-control-variables">Make Control Variables</a></li>
</ul></li>
<li><a href="#running-tests">Running Tests</a></li>
<li><a href="#signing">Signing</a><ul>
<li><a href="#macos-1">macOS</a></li>
</ul></li>
<li><a href="#cross-compiling">Cross-compiling</a><ul>
<li><a href="#cross-compiling-the-easy-way-with-openjdk-devkits">Cross compiling the easy way with OpenJDK devkits</a></li>
<li><a href="#boot-jdk-and-build-jdk">Boot JDK and Build JDK</a></li>
@@ -112,13 +115,14 @@
<li><a href="#developing-the-build-system-itself">Developing the Build System Itself</a></li>
</ul></li>
<li><a href="#contributing-to-the-jdk">Contributing to the JDK</a></li>
<li><a href="#editing-this-document">Editing this document</a></li>
</ul>
</nav>
<h2 id="tldr-instructions-for-the-impatient">TL;DR (Instructions for the Impatient)</h2>
<p>If you are eager to try out building the JDK, these simple steps works most of the time. They assume that you have installed Git (and Cygwin if running on Windows) and cloned the top-level JDK repository that you want to build.</p>
<ol type="1">
<li><p><a href="#getting-the-source-code">Get the complete source code</a>:<br />
<code>git clone https://git.openjdk.java.net/jdk/</code></p></li>
<code>git clone https://git.openjdk.org/jdk/</code></p></li>
<li><p><a href="#running-configure">Run configure</a>:<br />
<code>bash configure</code></p>
<p>If <code>configure</code> fails due to missing dependencies (to either the <a href="#native-compiler-toolchain-requirements">toolchain</a>, <a href="#build-tools-requirements">build tools</a>, <a href="#external-library-requirements">external libraries</a> or the <a href="#boot-jdk-requirements">boot JDK</a>), most of the time it prints a suggestion on how to resolve the situation on your platform. Follow the instructions, and try running <code>bash configure</code> again.</p></li>
@@ -132,9 +136,9 @@
<p>If any of these steps failed, or if you want to know more about build requirements or build functionality, please continue reading this document.</p>
<h2 id="introduction">Introduction</h2>
<p>The JDK is a complex software project. Building it requires a certain amount of technical expertise, a fair number of dependencies on external software, and reasonably powerful hardware.</p>
<p>If you just want to use the JDK and not build it yourself, this document is not for you. See for instance <a href="http://openjdk.java.net/install">OpenJDK installation</a> for some methods of installing a prebuilt JDK.</p>
<p>If you just want to use the JDK and not build it yourself, this document is not for you. See for instance <a href="http://openjdk.org/install">OpenJDK installation</a> for some methods of installing a prebuilt JDK.</p>
<h2 id="getting-the-source-code">Getting the Source Code</h2>
<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="https://git.openjdk.java.net/">OpenJDK Git site</a> you can see a list of all available repositories. If you want to build an older version, e.g. JDK 11, it is recommended that you get the <code>jdk11u</code> repo, which contains incremental updates, instead of the <code>jdk11</code> repo, which was frozen at JDK 11 GA.</p>
<p>Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the <a href="https://git.openjdk.org/">OpenJDK Git site</a> you can see a list of all available repositories. If you want to build an older version, e.g. JDK 11, it is recommended that you get the <code>jdk11u</code> repo, which contains incremental updates, instead of the <code>jdk11</code> repo, which was frozen at JDK 11 GA.</p>
<p>If you are new to Git, a good place to start is the book <a href="https://git-scm.com/book/en/v2">Pro Git</a>. The rest of this document assumes a working knowledge of Git.</p>
<h3 id="special-considerations">Special Considerations</h3>
<p>For a smooth building experience, it is recommended that you follow these rules on where and how to check out the source code.</p>
@@ -148,7 +152,7 @@
<li><p>Do not put the JDK clone in a path under your Cygwin home directory. This is especially important if your user name contains spaces and/or mixed upper and lower case letters.</p></li>
<li><p>You need to install a git client. You have two choices, Cygwin git or Git for Windows. Unfortunately there are pros and cons with each choice.</p>
<ul>
<li><p>The Cygwin <code>git</code> client has no line ending issues and understands Cygwin paths (which are used throughout the JDK build system). However, it does not currently work well with the Skara CLI tooling. Please see the <a href="https://wiki.openjdk.java.net/display/SKARA/Skara#Skara-Git">Skara wiki on Git clients</a> for up-to-date information about the Skara git client support.</p></li>
<li><p>The Cygwin <code>git</code> client has no line ending issues and understands Cygwin paths (which are used throughout the JDK build system). However, it does not currently work well with the Skara CLI tooling. Please see the <a href="https://wiki.openjdk.org/display/SKARA/Skara#Skara-Git">Skara wiki on Git clients</a> for up-to-date information about the Skara git client support.</p></li>
<li><p>The <a href="https://gitforwindows.org">Git for Windows</a> client has issues with line endings, and do not understand Cygwin paths. It does work well with the Skara CLI tooling, however. To alleviate the line ending problems, make sure you set <code>core.autocrlf</code> to <code>false</code> (this is asked during installation).</p></li>
</ul></li>
</ul>
@@ -194,7 +198,7 @@
</tbody>
</table>
<p>The double version numbers for Linux are due to the hybrid model used at Oracle, where header files and external libraries from an older version are used when building on a more modern version of the OS.</p>
<p>The Build Group has a wiki page with <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a>. From time to time, this is updated by contributors to list successes or failures of building on different platforms.</p>
<p>The Build Group has a wiki page with <a href="https://wiki.openjdk.org/display/Build/Supported+Build+Platforms">Supported Build Platforms</a>. From time to time, this is updated by contributors to list successes or failures of building on different platforms.</p>
<h3 id="windows">Windows</h3>
<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
<p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p>
@@ -233,7 +237,7 @@
<p>For Alpine Linux, aside from basic tooling, install the GNU versions of some programs:</p>
<pre><code>sudo apk add build-base bash grep zip</code></pre>
<h3 id="aix">AIX</h3>
<p>Please consult the AIX section of the <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of AIX are supported.</p>
<p>Please consult the AIX section of the <a href="https://wiki.openjdk.org/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of AIX are supported.</p>
<h2 id="native-compiler-toolchain-requirements">Native Compiler (Toolchain) Requirements</h2>
<p>Large portions of the JDK consists of native code, that needs to be compiled to be able to run on the target platform. In theory, toolchain and operating system should be independent factors, but in practice there's more or less a one-to-one correlation between target operating system and toolchain.</p>
<table>
@@ -300,11 +304,11 @@
<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin</code></p>
<p>If you have recently (inadvertently) updated your OS and/or Xcode version, and the JDK can no longer be built, please see the section on <a href="#problems-with-the-build-environment">Problems with the Build Environment</a>, and <a href="#getting-help">Getting Help</a> to find out if there are any recent, non-merged patches available for this update.</p>
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
<p>For aarch64 machines running Windows the minimum accepted version is Visual Studio 2019 (16.8 or higher). For all other platforms the minimum accepted version of Visual Studio is 2017. Older versions will not be accepted by <code>configure</code> and will not work. For all platforms the maximum accepted version of Visual Studio is 2022.</p>
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2017</code>.</p>
<p>The minimum accepted version is Visual Studio 2019 version 16.8. (Note that this version is often presented as &quot;MSVC 14.28&quot;, and reported by cl.exe as 19.28.) Older versions will not be accepted by <code>configure</code> and will not work. The maximum accepted version of Visual Studio is 2022.</p>
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2022</code>.</p>
<p>If you have Visual Studio installed but <code>configure</code> fails to detect it, it may be because of <a href="#spaces-in-path">spaces in path</a>.</p>
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
<p>Please consult the AIX section of the <a href="https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of XLC are supported.</p>
<p>Please consult the AIX section of the <a href="https://wiki.openjdk.org/display/Build/Supported+Build+Platforms">Supported Build Platforms</a> OpenJDK Build Wiki page for details about which versions of XLC are supported.</p>
<h2 id="boot-jdk-requirements">Boot JDK Requirements</h2>
<p>Paradoxically, building the JDK requires a pre-existing JDK. This is called the &quot;boot JDK&quot;. The boot JDK does not, however, have to be a JDK built directly from the source code available in the OpenJDK Community. If you are porting the JDK to a new platform, chances are that there already exists another JDK for that platform that is usable as boot JDK.</p>
<p>The rule of thumb is that the boot JDK for building JDK major version <em>N</em> should be a JDK of major version <em>N-1</em>, so for building JDK 9 a JDK 8 would be suitable as boot JDK. However, the JDK should be able to &quot;build itself&quot;, so an up-to-date build of the current JDK source is an acceptable alternative. If you are following the <em>N-1</em> rule, make sure you've got the latest update version, since JDK 8 GA might not be able to build JDK 9 on all platforms.</p>
@@ -508,8 +512,8 @@
<li><code>SPEC_FILTER</code></li>
</ul>
<h2 id="running-tests">Running Tests</h2>
<p>Most of the JDK tests are using the <a href="http://openjdk.java.net/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.</p>
<p>The <a href="https://wiki.openjdk.java.net/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>. 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>Most of the JDK tests are using the <a href="http://openjdk.org/jtreg">JTReg</a> test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg 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>. 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>
<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>
@@ -518,6 +522,12 @@
<p>To execute the most basic tests (tier 1), use:</p>
<pre><code>make run-test-tier1</code></pre>
<p>For more details on how to run tests, please see <strong>Testing the JDK</strong> (<a href="testing.html">html</a>, <a href="testing.md">markdown</a>).</p>
<h2 id="signing">Signing</h2>
<h3 id="macos-1">macOS</h3>
<p>Modern versions of macOS require applications to be signed and notarizied before distribution. See Apple's documentation for more background on what this means and how it works. To help support this, the JDK build can be configured to automatically sign all native binaries, and the JDK bundle, with all the options needed for successful notarization, as well as all the entitlements required by the JDK. To enable <code>hardened</code> signing, use configure parameter <code>--with-macosx-codesign=hardened</code> and configure the signing identity you wish to use with <code>--with-macosx-codesign-identity=&lt;identity&gt;</code>. The identity refers to a signing identity from Apple that needs to be preinstalled on the build host.</p>
<p>When not signing for distribution with the hardened option, the JDK build will still attempt to perform <code>adhoc</code> signing to add the special entitlement <code>com.apple.security.get-task-allow</code> to each binary. This entitlement is required to be able to dump core files from a process. Note that adding this entitlement makes the build invalid for notarization, so it is only added when signing in <code>debug</code> mode. To explicitly enable this kind of adhoc signing, use configure parameter <code>--with-macosx-codesign=debug</code>. It will be enabled by default in most cases.</p>
<p>It's also possible to completely disable any explicit codesign operations done by the JDK build using the configure parameter <code>--without-macosx-codesign</code>. The exact behavior then depends on the architecture. For macOS on x64, it (at least at the time of this writing) results in completely unsigned binaries that should still work fine for development and debugging purposes. On aarch64, the Xcode linker will apply a default &quot;adhoc&quot; signing, without any entitlements. Such a build does not allow dumping core files.</p>
<p>The default mode &quot;auto&quot; will try for <code>hardened</code> signing if the debug level is <code>release</code> and either the default identity or the specified identity is valid. If hardened isn't possible, then <code>debug</code> signing is chosen if it works. If nothing works, the codesign build step is disabled.</p>
<h2 id="cross-compiling">Cross-compiling</h2>
<p>Cross-compiling means using one platform (the <em>build</em> platform) to generate output that can ran on another platform (the <em>target</em> platform).</p>
<p>The typical reason for cross-compiling is that the build is performed on a more powerful desktop computer, but the resulting binaries will be able to run on a different, typically low-performing system. Most of the complications that arise when building for embedded is due to this separation of <em>build</em> and <em>target</em> systems.</p>
@@ -810,7 +820,7 @@ ls build/linux-aarch64-server-release/</code></pre></li>
<p><a href="http://github.com/icecc/icecream">icecc/icecream</a> is a simple way to setup a distributed compiler network. If you have multiple machines available for building the JDK, you can drastically cut individual build times by utilizing it.</p>
<p>To use, setup an icecc network, and install icecc on the build machine. Then run <code>configure</code> using <code>--enable-icecc</code>.</p>
<h3 id="using-sjavac">Using sjavac</h3>
<p>To speed up Java compilation, especially incremental compilations, you can try the experimental sjavac compiler by using <code>--enable-sjavac</code>.</p>
<p>To speed up compilation of Java code, especially during incremental compilations, the sjavac server is automatically enabled in the configuration step by default. To explicitly enable or disable sjavac, use either <code>--enable-javac-server</code> or <code>--disable-javac-server</code>.</p>
<h3 id="building-the-right-target">Building the Right Target</h3>
<p>Selecting the proper target to build can have dramatic impact on build time. For normal usage, <code>jdk</code> or the default target is just fine. You only need to build <code>images</code> for shipping, or if your tests require it.</p>
<p>See also <a href="#using-fine-grained-make-targets">Using Fine-Grained Make Targets</a> on how to build an even smaller subset of the product.</p>
@@ -886,7 +896,7 @@ spawn failed</code></pre>
<h4 id="spaces-in-path">Spaces in Path</h4>
<p>On Windows, when configuring, <code>fixpath.sh</code> may report that some directory names have spaces. Usually, it assumes those directories have <a href="https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-8dot3name">short paths</a>. You can run <code>fsutil file setshortname</code> in <code>cmd</code> on certain directories, such as <code>Microsoft Visual Studio</code> or <code>Windows Kits</code>, to assign arbitrary short paths so <code>configure</code> can access them.</p>
<h3 id="getting-help">Getting Help</h3>
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.org">build-dev@openjdk.org</a>. Please include the relevant parts of the configure and/or build log.</p>
<p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
<h2 id="reproducible-builds">Reproducible Builds</h2>
<p>Build reproducibility is the property of getting exactly the same bits out when building, every time, independent on who builds the product, or where. This is for many reasons a harder goal than it initially appears, but it is an important goal, for security reasons and others. Please see <a href="https://reproducible-builds.org">Reproducible Builds</a> for more information about the background and reasons for reproducible builds.</p>
@@ -898,13 +908,13 @@ spawn failed</code></pre>
<pre><code>export SOURCE_DATE_EPOCH=946684800
bash configure --with-version-opt=adhoc
make</code></pre>
<p>Note that regardless if you specify a source date for <code>configure</code> or not, the JDK build system will set <code>SOURCE_DATE_EPOCH</code> for all build tools when building. If <code>--with-source-date</code> has the value <code>updated</code> (which is the default unless <code>SOURCE_DATE_EPOCH</code> is found by in the environment by <code>configure</code>), the source date value will be determined at build time.</p>
<p>Note that regardless if you specify a source date for <code>configure</code> or not, the JDK build system will set <code>SOURCE_DATE_EPOCH</code> for all build tools when building. If <code>--with-source-date</code> has the value <code>current</code> (which is the default unless <code>SOURCE_DATE_EPOCH</code> is found by in the environment by <code>configure</code>), the source date value will be determined at configure time.</p>
<p>There are several aspects of reproducible builds that can be individually adjusted by <code>configure</code> arguments. If any of these are given, they will override the value derived from <code>SOURCE_DATE_EPOCH</code>. These arguments are:</p>
<ul>
<li><p><code>--with-source-date</code></p>
<p>This option controls how the JDK build sets <code>SOURCE_DATE_EPOCH</code> when building. It can be set to a value describing a date, either an epoch based timestamp as an integer, or a valid ISO-8601 date.</p>
<p>It can also be set to one of the special values <code>current</code>, <code>updated</code> or <code>version</code>. <code>current</code> means that the time of running <code>configure</code> will be used. <code>version</code> will use the nominal release date for the current JDK version. <code>updated</code>, which means that <code>SOURCE_DATE_EPOCH</code> will be set to the current time each time you are running <code>make</code>. All choices, except for <code>updated</code>, will set a fixed value for the source date timestamp.</p>
<p>When <code>SOURCE_DATE_EPOCH</code> is set, the default value for <code>--with-source-date</code> will be the value given by <code>SOURCE_DATE_EPOCH</code>. Otherwise, the default value is <code>updated</code>.</p></li>
<p>When <code>SOURCE_DATE_EPOCH</code> is set, the default value for <code>--with-source-date</code> will be the value given by <code>SOURCE_DATE_EPOCH</code>. Otherwise, the default value is <code>current</code>.</p></li>
<li><p><code>--with-hotspot-build-time</code></p>
<p>This option controls the build time string that will be included in the hotspot library (<code>libjvm.so</code> or <code>jvm.dll</code>). When the source date is fixed (e.g. by setting <code>SOURCE_DATE_EPOCH</code>), the default value for <code>--with-hotspot-build-time</code> will be an ISO 8601 representation of that time stamp. Otherwise the default value will be the current time when building hotspot.</p></li>
<li><p><code>--with-copyright-year</code></p>
@@ -1027,11 +1037,13 @@ test-support/</code></pre>
<pre><code>make COMPARE_BUILD=CONF=--enable-new-hotspot-feature:MAKE=hotspot</code></pre>
<p>See <code>make/InitSupport.gmk</code> for details on how to use <code>COMPARE_BUILD</code>.</p>
<p>To analyze build performance, run with <code>LOG=trace</code> and check <code>$BUILD/build-trace-time.log</code>. Use <code>JOBS=1</code> to avoid parallelism.</p>
<p>Please check that you adhere to the <a href="http://openjdk.java.net/groups/build/doc/code-conventions.html">Code Conventions for the Build System</a> before submitting patches.</p>
<p>Please check that you adhere to the <a href="http://openjdk.org/groups/build/doc/code-conventions.html">Code Conventions for the Build System</a> before submitting patches.</p>
<h2 id="contributing-to-the-jdk">Contributing to the JDK</h2>
<p>So, now you've built your JDK, and made your first patch, and want to contribute it back to the OpenJDK Community.</p>
<p>First of all: Thank you! We gladly welcome your contribution. However, please bear in mind that the JDK is a massive project, and we must ask you to follow our rules and guidelines to be able to accept your contribution.</p>
<p>The official place to start is the <a href="http://openjdk.java.net/contribute/">'How to contribute' page</a>. There is also an official (but somewhat outdated and skimpy on details) <a href="http://openjdk.java.net/guide/">Developer's Guide</a>.</p>
<p>If this seems overwhelming to you, the Adoption Group is there to help you! A good place to start is their <a href="https://wiki.openjdk.java.net/display/Adoption/New+Contributor">'New Contributor' page</a>, or start reading the comprehensive <a href="https://adoptopenjdk.gitbooks.io/adoptopenjdk-getting-started-kit/en/">Getting Started Kit</a>. The Adoption Group will also happily answer any questions you have about contributing. Contact them by <a href="http://mail.openjdk.java.net/mailman/listinfo/adoption-discuss">mail</a> or <a href="http://openjdk.java.net/irc/">IRC</a>.</p>
<p>The official place to start is the <a href="http://openjdk.org/contribute/">'How to contribute' page</a>. There is also an official (but somewhat outdated and skimpy on details) <a href="http://openjdk.org/guide/">Developer's Guide</a>.</p>
<p>If this seems overwhelming to you, the Adoption Group is there to help you! A good place to start is their <a href="https://wiki.openjdk.org/display/Adoption/New+Contributor">'New Contributor' page</a>, or start reading the comprehensive <a href="https://adoptopenjdk.gitbooks.io/adoptopenjdk-getting-started-kit/en/">Getting Started Kit</a>. The Adoption Group will also happily answer any questions you have about contributing. Contact them by <a href="http://mail.openjdk.org/mailman/listinfo/adoption-discuss">mail</a> or <a href="http://openjdk.org/irc/">IRC</a>.</p>
<h2 id="editing-this-document">Editing this document</h2>
<p>If you want to contribute changes to this document, edit <code>doc/building.md</code> and then run <code>make update-build-docs</code> to generate the same changes in <code>doc/building.html</code>.</p>
</body>
</html>

View File

@@ -7,7 +7,7 @@ the time. They assume that you have installed Git (and Cygwin if running
on Windows) and cloned the top-level JDK repository that you want to build.
1. [Get the complete source code](#getting-the-source-code): \
`git clone https://git.openjdk.java.net/jdk/`
`git clone https://git.openjdk.org/jdk/`
2. [Run configure](#running-configure): \
`bash configure`
@@ -40,14 +40,14 @@ reasonably powerful hardware.
If you just want to use the JDK and not build it yourself, this document is not
for you. See for instance [OpenJDK installation](
http://openjdk.java.net/install) for some methods of installing a prebuilt
http://openjdk.org/install) for some methods of installing a prebuilt
JDK.
## Getting the Source Code
Make sure you are getting the correct version. As of JDK 10, the source is no
longer split into separate repositories so you only need to clone one single
repository. At the [OpenJDK Git site](https://git.openjdk.java.net/) you
repository. At the [OpenJDK Git site](https://git.openjdk.org/) you
can see a list of all available repositories. If you want to build an older version,
e.g. JDK 11, it is recommended that you get the `jdk11u` repo, which contains
incremental updates, instead of the `jdk11` repo, which was frozen at JDK 11 GA.
@@ -96,7 +96,7 @@ on where and how to check out the source code.
Cygwin paths (which are used throughout the JDK build system).
However, it does not currently work well with the Skara CLI tooling.
Please see the [Skara wiki on Git clients](
https://wiki.openjdk.java.net/display/SKARA/Skara#Skara-Git) for
https://wiki.openjdk.org/display/SKARA/Skara#Skara-Git) for
up-to-date information about the Skara git client support.
* The [Git for Windows](https://gitforwindows.org) client has issues
@@ -173,7 +173,7 @@ used at Oracle, where header files and external libraries from an older version
are used when building on a more modern version of the OS.
The Build Group has a wiki page with [Supported Build Platforms](
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms). From
https://wiki.openjdk.org/display/Build/Supported+Build+Platforms). From
time to time, this is updated by contributors to list successes or failures of
building on different platforms.
@@ -303,7 +303,7 @@ sudo apk add build-base bash grep zip
### AIX
Please consult the AIX section of the [Supported Build Platforms](
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms) OpenJDK
https://wiki.openjdk.org/display/Build/Supported+Build+Platforms) OpenJDK
Build Wiki page for details about which versions of AIX are supported.
## Native Compiler (Toolchain) Requirements
@@ -382,14 +382,14 @@ available for this update.
### Microsoft Visual Studio
For aarch64 machines running Windows the minimum accepted version is Visual Studio 2019
(16.8 or higher). For all other platforms the minimum accepted version of
Visual Studio is 2017. Older versions will not be accepted by `configure` and will
not work. For all platforms the maximum accepted version of Visual Studio is 2022.
The minimum accepted version is Visual Studio 2019 version 16.8. (Note that this
version is often presented as "MSVC 14.28", and reported by cl.exe as 19.28.)
Older versions will not be accepted by `configure` and will not work. The
maximum accepted version of Visual Studio is 2022.
If you have multiple versions of Visual Studio installed, `configure` will by
default pick the latest. You can request a specific version to be used by
setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2017`.
setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2022`.
If you have Visual Studio installed but `configure` fails to detect it, it may
be because of [spaces in path](#spaces-in-path).
@@ -397,7 +397,7 @@ be because of [spaces in path](#spaces-in-path).
### IBM XL C/C++
Please consult the AIX section of the [Supported Build Platforms](
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms) OpenJDK
https://wiki.openjdk.org/display/Build/Supported+Build+Platforms) OpenJDK
Build Wiki page for details about which versions of XLC are supported.
@@ -848,14 +848,14 @@ Suggestions for Advanced Users](#hints-and-suggestions-for-advanced-users) and
## Running Tests
Most of the JDK tests are using the [JTReg](http://openjdk.java.net/jtreg)
Most of the JDK tests are using the [JTReg](http://openjdk.org/jtreg)
test framework. Make sure that your configuration knows where to find your
installation of JTReg. If this is not picked up automatically, use the
`--with-jtreg=<path to jtreg home>` option to point to the JTReg framework.
Note that this option should point to the JTReg home, i.e. the top directory,
containing `lib/jtreg.jar` etc.
The [Adoption Group](https://wiki.openjdk.java.net/display/Adoption) provides
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/).
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
@@ -877,6 +877,42 @@ make run-test-tier1
For more details on how to run tests, please see **Testing the JDK**
([html](testing.html), [markdown](testing.md)).
## Signing
### macOS
Modern versions of macOS require applications to be signed and notarizied before
distribution. See Apple's documentation for more background on what this means
and how it works. To help support this, the JDK build can be configured to
automatically sign all native binaries, and the JDK bundle, with all the options
needed for successful notarization, as well as all the entitlements required by
the JDK. To enable `hardened` signing, use configure parameter
`--with-macosx-codesign=hardened` and configure the signing identity you wish to
use with `--with-macosx-codesign-identity=<identity>`. The identity refers to a
signing identity from Apple that needs to be preinstalled on the build host.
When not signing for distribution with the hardened option, the JDK build will
still attempt to perform `adhoc` signing to add the special entitlement
`com.apple.security.get-task-allow` to each binary. This entitlement is required
to be able to dump core files from a process. Note that adding this entitlement
makes the build invalid for notarization, so it is only added when signing in
`debug` mode. To explicitly enable this kind of adhoc signing, use configure
parameter `--with-macosx-codesign=debug`. It will be enabled by default in most
cases.
It's also possible to completely disable any explicit codesign operations done
by the JDK build using the configure parameter `--without-macosx-codesign`.
The exact behavior then depends on the architecture. For macOS on x64, it (at
least at the time of this writing) results in completely unsigned binaries that
should still work fine for development and debugging purposes. On aarch64, the
Xcode linker will apply a default "adhoc" signing, without any entitlements.
Such a build does not allow dumping core files.
The default mode "auto" will try for `hardened` signing if the debug level is
`release` and either the default identity or the specified identity is valid.
If hardened isn't possible, then `debug` signing is chosen if it works. If
nothing works, the codesign build step is disabled.
## Cross-compiling
Cross-compiling means using one platform (the *build* platform) to generate
@@ -1296,8 +1332,10 @@ run `configure` using `--enable-icecc`.
### Using sjavac
To speed up Java compilation, especially incremental compilations, you can try
the experimental sjavac compiler by using `--enable-sjavac`.
To speed up compilation of Java code, especially during incremental compilations,
the sjavac server is automatically enabled in the configuration step by default.
To explicitly enable or disable sjavac, use either `--enable-javac-server`
or `--disable-javac-server`.
### Building the Right Target
@@ -1510,7 +1548,7 @@ You can run `fsutil file setshortname` in `cmd` on certain directories, such as
If none of the suggestions in this document helps you, or if you find what you
believe is a bug in the build system, please contact the Build Group by sending
a mail to [build-dev@openjdk.java.net](mailto:build-dev@openjdk.java.net).
a mail to [build-dev@openjdk.org](mailto:build-dev@openjdk.org).
Please include the relevant parts of the configure and/or build log.
If you need general help or advice about developing for the JDK, you can also
@@ -1557,9 +1595,9 @@ make
Note that regardless if you specify a source date for `configure` or not, the
JDK build system will set `SOURCE_DATE_EPOCH` for all build tools when building.
If `--with-source-date` has the value `updated` (which is the default unless
If `--with-source-date` has the value `current` (which is the default unless
`SOURCE_DATE_EPOCH` is found by in the environment by `configure`), the source
date value will be determined at build time.
date value will be determined at configure time.
There are several aspects of reproducible builds that can be individually
adjusted by `configure` arguments. If any of these are given, they will override
@@ -1580,7 +1618,7 @@ the value derived from `SOURCE_DATE_EPOCH`. These arguments are:
When `SOURCE_DATE_EPOCH` is set, the default value for `--with-source-date`
will be the value given by `SOURCE_DATE_EPOCH`. Otherwise, the default value
is `updated`.
is `current`.
* `--with-hotspot-build-time`
@@ -1920,7 +1958,7 @@ To analyze build performance, run with `LOG=trace` and check `$BUILD/build-trace
Use `JOBS=1` to avoid parallelism.
Please check that you adhere to the [Code Conventions for the Build System](
http://openjdk.java.net/groups/build/doc/code-conventions.html) before
http://openjdk.org/groups/build/doc/code-conventions.html) before
submitting patches.
## Contributing to the JDK
@@ -1933,19 +1971,25 @@ However, please bear in mind that the JDK is a massive project, and we must ask
you to follow our rules and guidelines to be able to accept your contribution.
The official place to start is the ['How to contribute' page](
http://openjdk.java.net/contribute/). There is also an official (but somewhat
http://openjdk.org/contribute/). There is also an official (but somewhat
outdated and skimpy on details) [Developer's Guide](
http://openjdk.java.net/guide/).
http://openjdk.org/guide/).
If this seems overwhelming to you, the Adoption Group is there to help you! A
good place to start is their ['New Contributor' page](
https://wiki.openjdk.java.net/display/Adoption/New+Contributor), or start
https://wiki.openjdk.org/display/Adoption/New+Contributor), or start
reading the comprehensive [Getting Started Kit](
https://adoptopenjdk.gitbooks.io/adoptopenjdk-getting-started-kit/en/). The
Adoption Group will also happily answer any questions you have about
contributing. Contact them by [mail](
http://mail.openjdk.java.net/mailman/listinfo/adoption-discuss) or [IRC](
http://openjdk.java.net/irc/).
http://mail.openjdk.org/mailman/listinfo/adoption-discuss) or [IRC](
http://openjdk.org/irc/).
## Editing this document
If you want to contribute changes to this document, edit `doc/building.md` and
then run `make update-build-docs` to generate the same changes in
`doc/building.html`.
---
# Override styles from the base CSS file that are not ideal for this document.

View File

@@ -68,8 +68,8 @@
<h3 id="counterexamples-and-updates">Counterexamples and Updates</h3>
<p>Many of the guidelines mentioned here have (sometimes widespread) counterexamples in the HotSpot code base. Finding a counterexample is not sufficient justification for new code to follow the counterexample as a precedent, since readers of your code will rightfully expect your code to follow the greater bulk of precedents documented here.</p>
<p>Occasionally a guideline mentioned here may be just out of synch with the actual HotSpot code base. If you find that a guideline is consistently contradicted by a large number of counterexamples, please bring it up for discussion and possible change. The architectural rule, of course, is &quot;When in Rome do as the Romans&quot;. Sometimes in the suburbs of Rome the rules are a little different; these differences can be pointed out here.</p>
<p>Proposed changes should be discussed on the <a href="mailto:hotspot-dev@openjdk.java.net">HotSpot Developers</a> mailing list. Changes are likely to be cautious and incremental, since HotSpot coders have been using these guidelines for years.</p>
<p>Substantive changes are approved by <a href="https://www.rfc-editor.org/rfc/rfc7282.html">rough consensus</a> of the <a href="https://openjdk.java.net/census#hotspot">HotSpot Group</a> Members. The Group Lead determines whether consensus has been reached.</p>
<p>Proposed changes should be discussed on the <a href="mailto:hotspot-dev@openjdk.org">HotSpot Developers</a> mailing list. Changes are likely to be cautious and incremental, since HotSpot coders have been using these guidelines for years.</p>
<p>Substantive changes are approved by <a href="https://www.rfc-editor.org/rfc/rfc7282.html">rough consensus</a> of the <a href="https://openjdk.org/census#hotspot">HotSpot Group</a> Members. The Group Lead determines whether consensus has been reached.</p>
<p>Editorial changes (changes that only affect the description of HotSpot style, not its substance) do not require the full consensus gathering process. The normal HotSpot pull request process may be used for editorial changes, with the additional requirement that the requisite reviewers are also HotSpot Group Members.</p>
<h2 id="structure-and-formatting">Structure and Formatting</h2>
<h3 id="factoring-and-class-design">Factoring and Class Design</h3>
@@ -238,7 +238,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
<p>Some reasons for this include</p>
<ul>
<li><p>Exceptions. Perhaps the largest core issue with adopting the use of Standard Library facilities is exceptions. HotSpot does not use exceptions and, for platforms which allow doing so, builds with them turned off. Many Standard Library facilities implicitly or explicitly use exceptions.</p></li>
<li><p><code>assert</code>. An issue that is quickly encountered is the <code>assert</code> macro name collision (<a href="https://bugs.openjdk.java.net/browse/JDK-8007770">JDK-8007770</a>). Some mechanism for addressing this would be needed before much of the Standard Library could be used. (Not all Standard Library implementations use assert in header files, but some do.)</p></li>
<li><p><code>assert</code>. An issue that is quickly encountered is the <code>assert</code> macro name collision (<a href="https://bugs.openjdk.org/browse/JDK-8007770">JDK-8007770</a>). Some mechanism for addressing this would be needed before much of the Standard Library could be used. (Not all Standard Library implementations use assert in header files, but some do.)</p></li>
<li><p>Memory allocation. HotSpot requires explicit control over where allocations occur. The C++98/03 <code>std::allocator</code> class is too limited to support our usage. (Changes in more recent Standards may remove this limitation.)</p></li>
<li><p>Implementation vagaries. Bugs, or simply different implementation choices, can lead to different behaviors among the various Standard Libraries we need to deal with.</p></li>
<li><p>Inconsistent naming conventions. HotSpot and the C++ Standard use different naming conventions. The coexistence of those different conventions might appear jarring and reduce readability.</p></li>
@@ -272,7 +272,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
<p>Due to bugs in certain (very old) compilers, there is widespread use of enums and avoidance of in-class initialization of static integral constant members. Compilers having such bugs are no longer supported. Except where an enum is semantically appropriate, new code should use integral constants.</p>
<h3 id="thread_local">thread_local</h3>
<p>Avoid use of <code>thread_local</code> (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm">n2659</a>); and instead, use the HotSpot macro <code>THREAD_LOCAL</code>, for which the initializer must be a constant expression. When <code>thread_local</code> must be used, use the Hotspot macro <code>APPROVED_CPP_THREAD_LOCAL</code> to indicate that the use has been given appropriate consideration.</p>
<p>As was discussed in the review for <a href="https://mail.openjdk.java.net/pipermail/hotspot-dev/2019-September/039487.html">JDK-8230877</a>, <code>thread_local</code> allows dynamic initialization and destruction semantics. However, that support requires a run-time penalty for references to non-function-local <code>thread_local</code> variables defined in a different translation unit, even if they don't need dynamic initialization. Dynamic initialization and destruction of non-local <code>thread_local</code> variables also has the same ordering problems as for ordinary non-local variables. So we avoid use of <code>thread_local</code> in general, limiting its use to only those cases where dynamic initialization or destruction are essential. See <a href="https://bugs.openjdk.java.net/browse/JDK-8282469">JDK-8282469</a> for further discussion.</p>
<p>As was discussed in the review for <a href="https://mail.openjdk.org/pipermail/hotspot-dev/2019-September/039487.html">JDK-8230877</a>, <code>thread_local</code> allows dynamic initialization and destruction semantics. However, that support requires a run-time penalty for references to non-function-local <code>thread_local</code> variables defined in a different translation unit, even if they don't need dynamic initialization. Dynamic initialization and destruction of non-local <code>thread_local</code> variables also has the same ordering problems as for ordinary non-local variables. So we avoid use of <code>thread_local</code> in general, limiting its use to only those cases where dynamic initialization or destruction are essential. See <a href="https://bugs.openjdk.org/browse/JDK-8282469">JDK-8282469</a> for further discussion.</p>
<h3 id="nullptr">nullptr</h3>
<p>Prefer <code>nullptr</code> (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf">n2431</a>) to <code>NULL</code>. Don't use (constexpr or literal) 0 for pointers.</p>
<p>For historical reasons there are widespread uses of both <code>NULL</code> and of integer 0 as a pointer value.</p>
@@ -448,7 +448,6 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
<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>
<li><p>Avoid most implicit conversion constructors and (implicit or explicit) conversion operators. (Note that conversion to <code>bool</code> isn't needed in HotSpot code because of the &quot;no implicit boolean&quot; guideline.)</p></li>
<li><p>Avoid covariant return types.</p></li>
<li><p>Avoid <code>goto</code> statements.</p></li>
</ul>
<h3 id="undecided-features">Undecided Features</h3>

View File

@@ -55,13 +55,13 @@ suburbs of Rome the rules are a little different; these differences
can be pointed out here.
Proposed changes should be discussed on the
[HotSpot Developers](mailto:hotspot-dev@openjdk.java.net) mailing
[HotSpot Developers](mailto:hotspot-dev@openjdk.org) mailing
list. Changes are likely to be cautious and incremental, since HotSpot
coders have been using these guidelines for years.
Substantive changes are approved by
[rough consensus](https://www.rfc-editor.org/rfc/rfc7282.html) of
the [HotSpot Group](https://openjdk.java.net/census#hotspot) Members.
the [HotSpot Group](https://openjdk.org/census#hotspot) Members.
The Group Lead determines whether consensus has been reached.
Editorial changes (changes that only affect the description of HotSpot
@@ -550,7 +550,7 @@ turned off. Many Standard Library facilities implicitly or explicitly
use exceptions.
* `assert`. An issue that is quickly encountered is the `assert` macro name
collision ([JDK-8007770](https://bugs.openjdk.java.net/browse/JDK-8007770)).
collision ([JDK-8007770](https://bugs.openjdk.org/browse/JDK-8007770)).
Some mechanism for addressing this would be needed before much of the
Standard Library could be used. (Not all Standard Library implementations
use assert in header files, but some do.)
@@ -661,7 +661,7 @@ be a constant expression. When `thread_local` must be used, use the Hotspot macr
consideration.
As was discussed in the review for
[JDK-8230877](https://mail.openjdk.java.net/pipermail/hotspot-dev/2019-September/039487.html),
[JDK-8230877](https://mail.openjdk.org/pipermail/hotspot-dev/2019-September/039487.html),
`thread_local` allows dynamic initialization and destruction
semantics. However, that support requires a run-time penalty for
references to non-function-local `thread_local` variables defined in a
@@ -671,7 +671,7 @@ non-local `thread_local` variables also has the same ordering
problems as for ordinary non-local variables. So we avoid use of
`thread_local` in general, limiting its use to only those cases where dynamic
initialization or destruction are essential. See
[JDK-8282469](https://bugs.openjdk.java.net/browse/JDK-8282469)
[JDK-8282469](https://bugs.openjdk.org/browse/JDK-8282469)
for further discussion.
### nullptr
@@ -1120,8 +1120,6 @@ normal expected behavior of the operation.
conversion operators. (Note that conversion to `bool` isn't needed
in HotSpot code because of the "no implicit boolean" guideline.)
* Avoid covariant return types.
* Avoid `goto` statements.
### Undecided Features

View File

@@ -46,6 +46,7 @@
<li><a href="#pkcs11-tests">PKCS11 Tests</a></li>
<li><a href="#client-ui-tests">Client UI Tests</a></li>
</ul></li>
<li><a href="#editing-this-document">Editing this document</a></li>
</ul>
</nav>
<h2 id="using-make-test-the-run-test-framework">Using &quot;make test&quot; (the run-test framework)</h2>
@@ -64,6 +65,9 @@ $ make exploded-test TEST=tier2</code></pre>
<h3 id="configuration">Configuration</h3>
<p>To be able to run JTReg tests, <code>configure</code> needs to know where to find the JTReg test framework. If it is not picked up automatically by configure, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc. (An alternative is to set the <code>JT_HOME</code> environment variable to point to the JTReg home before running <code>configure</code>.)</p>
<p>To be able to run microbenchmarks, <code>configure</code> needs to know where to find the JMH dependency. Use <code>--with-jmh=&lt;path to JMH jars&gt;</code> to point to a directory containing the core JMH and transitive dependencies. The recommended dependencies can be retrieved by running <code>sh make/devkit/createJMHBundle.sh</code>, after which <code>--with-jmh=build/jmh/jars</code> should work.</p>
<p>When tests fail or timeout, jtreg runs its failure handler to capture necessary data from the system where the test was run. This data can then be used to analyze the test failures. Collecting this data involves running various commands (which are listed in files residing in <code>test/failure_handler/src/share/conf</code>) and some of these commands use <code>sudo</code>. If the system's <code>sudoers</code> file isn't configured to allow running these commands, then it can result in password being prompted during the failure handler execution. Typically, when running locally, collecting this additional data isn't always necessary. To disable running the failure handler, use <code>--enable-jtreg-failure-handler=no</code> when running <code>configure</code>. If, however, you want to let the failure handler to run and don't want to be prompted for sudo password, then you can configure your <code>sudoers</code> file appropriately. Please read the necessary documentation of your operating system to see how to do that; here we only show one possible way of doing that - edit the <code>/etc/sudoers.d/sudoers</code> file to include the following line:</p>
<pre><code>johndoe ALL=(ALL) NOPASSWD: /sbin/dmesg</code></pre>
<p>This line configures <code>sudo</code> to <em>not</em> prompt for password for the <code>/sbin/dmesg</code> command (this is one of the commands that is listed in the files at <code>test/failure_handler/src/share/conf</code>), for the user <code>johndoe</code>. Here <code>johndoe</code> is the user account under which the jtreg tests are run. Replace the username with a relevant user account of your system.</p>
<h2 id="test-selection">Test selection</h2>
<p>All functionality is available using the <code>test</code> make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, <code>test-only</code> can be used instead, which do not depend on the source and test image build.</p>
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make test-tier1</code> is equivalent to <code>make test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>test TEST=&quot;x&quot;</code> solution needs to be used.</p>
@@ -82,7 +86,7 @@ $ make exploded-test TEST=tier2</code></pre>
<li><p><code>tier4</code>: This test group includes every other test not covered by previous tiers. It includes, for example, <code>vmTestbase</code> suites for Hotspot, which run for many hours even on large machines. It also runs GUI tests, so the same <code>TEST_JOBS</code> and <code>JTREG_KEYWORDS</code> caveats apply.</p></li>
</ul>
<h3 id="jtreg">JTReg</h3>
<p>JTReg tests can be selected either by picking a JTReg test group, or a selection of files or directories containing JTReg tests.</p>
<p>JTReg tests can be selected either by picking a JTReg test group, or a selection of files or directories containing JTReg tests. Documentation can be found at <a href="https://openjdk.org/jtreg/">https://openjdk.org/jtreg/</a>, note especially the extensive <a href="https://openjdk.org/jtreg/faq.html">FAQ</a>.</p>
<p>JTReg test groups can be specified either without a test root, e.g. <code>:tier1</code> (or <code>tier1</code>, the initial colon is optional), or with, e.g. <code>hotspot:tier1</code>, <code>test/jdk:jdk_util</code> or <code>$(TOPDIR)/test/hotspot/jtreg:hotspot_all</code>. The test root can be specified either as an absolute path, or a path relative to the JDK top directory, or the <code>test</code> directory. For simplicity, the hotspot JTReg test root, which really is <code>hotspot/jtreg</code> can be abbreviated as just <code>hotspot</code>.</p>
<p>When specified without a test root, all matching groups from all test roots will be added. Otherwise, only the group from the specified test root will be added.</p>
<p>Individual JTReg tests or directories containing JTReg tests can also be specified, like <code>test/hotspot/jtreg/native_sanity/JniVersion.java</code> or <code>hotspot/jtreg/native_sanity</code>. Just like for test root selection, you can either specify an absolute path (which can even point to JTReg tests outside the source tree), or a path relative to either the JDK top directory or the <code>test</code> directory. <code>hotspot</code> can be used as an alias for <code>hotspot/jtreg</code> here as well.</p>
@@ -251,5 +255,7 @@ $ make test JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot; TE
<h4 id="windows">Windows</h4>
<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 &quot;Turn off Windows key hotkeys&quot; and double click on it; enable or disable hotkeys.</p>
<p>Note: restart is required to make the settings take effect.</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 <code>make update-build-docs</code> to generate the same changes in <code>doc/testing.html</code>.</p>
</body>
</html>

View File

@@ -43,6 +43,31 @@ containing the core JMH and transitive dependencies. The recommended
dependencies can be retrieved by running `sh make/devkit/createJMHBundle.sh`,
after which `--with-jmh=build/jmh/jars` should work.
When tests fail or timeout, jtreg runs its failure handler to capture necessary
data from the system where the test was run. This data can then be used to
analyze the test failures. Collecting this data involves running various commands
(which are listed in files residing in `test/failure_handler/src/share/conf`)
and some of these commands use `sudo`. If the system's `sudoers` file isn't
configured to allow running these commands, then it can result in password being
prompted during the failure handler execution. Typically, when running locally,
collecting this additional data isn't always necessary. To disable running the
failure handler, use `--enable-jtreg-failure-handler=no` when running `configure`.
If, however, you want to let the failure handler to run and don't want to be
prompted for sudo password, then you can configure your `sudoers` file
appropriately. Please read the necessary documentation of your operating system
to see how to do that; here we only show one possible way of doing that - edit
the `/etc/sudoers.d/sudoers` file to include the following line:
```
johndoe ALL=(ALL) NOPASSWD: /sbin/dmesg
```
This line configures `sudo` to _not_ prompt for password for the `/sbin/dmesg`
command (this is one of the commands that is listed in the files
at `test/failure_handler/src/share/conf`), for the user `johndoe`. Here `johndoe`
is the user account under which the jtreg tests are run. Replace the username
with a relevant user account of your system.
## Test selection
All functionality is available using the `test` make target. In this use case,
@@ -113,7 +138,9 @@ apply.
### JTReg
JTReg tests can be selected either by picking a JTReg test group, or a selection
of files or directories containing JTReg tests.
of files or directories containing JTReg tests. Documentation can be found at
[https://openjdk.org/jtreg/](https://openjdk.org/jtreg/), note especially the
extensive [FAQ](https://openjdk.org/jtreg/faq.html).
JTReg test groups can be specified either without a test root, e.g. `:tier1`
(or `tier1`, the initial colon is optional), or with, e.g. `hotspot:tier1`,
@@ -578,6 +605,12 @@ double click on it; enable or disable hotkeys.
Note: restart is required to make the settings take effect.
## Editing this document
If you want to contribute changes to this document, edit `doc/testing.md` and
then run `make update-build-docs` to generate the same changes in
`doc/testing.html`.
---
# Override some definitions in the global css file that are not optimal for
# this document.

View File

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

@@ -1,13 +0,0 @@
# 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

@@ -1,47 +0,0 @@
# 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 \
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

@@ -1,22 +0,0 @@
# 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 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

@@ -1,22 +0,0 @@
# 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.5
# Install the necessary build tools
RUN apk --no-cache add --update bash grep tar zip bzip2 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

@@ -1,7 +0,0 @@
FROM i386/ubuntu:xenial
RUN linux32 apt-get update && apt-get install -y --no-install-recommends apt-utils
COPY jbrsdk-11.0.5-b1 /jbrsdk-11.0.5-b1
RUN linux32 apt-get -y install file build-essential zip unzip curl libx11-dev libxext-dev \
libxrender-dev libxrandr-dev libxtst-dev libxt-dev libcups2-dev libasound2-data \
libpng12-0 libasound2 libfreetype6 libfontconfig1-dev libasound2-dev autoconf

View File

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

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

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

@@ -1,9 +0,0 @@
<component name="CopyrightManager">
<copyright>
<option name="notice" value="Copyright &amp;#36;originalComment.match(&quot;Copyright (\d+)&quot;, 1, &quot;-&quot;)&amp;#36;today.year JetBrains s.r.o.&#10;DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.&#10;&#10;This code is free software; you can redistribute it and/or modify it&#10;under the terms of the GNU General Public License version 2 only, as&#10;published by the Free Software Foundation.&#10;&#10;This code is distributed in the hope that it will be useful, but WITHOUT&#10;ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or&#10;FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License&#10;version 2 for more details (a copy is included in the LICENSE file that&#10;accompanied this code).&#10;&#10;You should have received a copy of the GNU General Public License version&#10;2 along with this work; if not, write to the Free Software Foundation,&#10;Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.&#10;&#10;Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA&#10;or visit www.oracle.com if you need additional information or have any&#10;questions." />
<option name="keyword" value="Copyright" />
<option name="allowReplaceKeyword" value="JetBrains" />
<option name="myName" value="JetBrains" />
<option name="myLocal" value="true" />
</copyright>
</component>

View File

@@ -1,3 +0,0 @@
<component name="CopyrightManager">
<settings default="JetBrains" />
</component>

View File

@@ -1 +0,0 @@
JetBrainsRuntime

View File

@@ -1,9 +0,0 @@
<component name="CopyrightManager">
<copyright>
<option name="notice" value="Copyright 2000-&amp;#36;today.year JetBrains s.r.o.&#10;&#10;Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);&#10;you may not use this file except in compliance with the License.&#10;You may obtain a copy of the License at&#10;&#10;http://www.apache.org/licenses/LICENSE-2.0&#10;&#10;Unless required by applicable law or agreed to in writing, software&#10;distributed under the License is distributed on an &quot;AS IS&quot; BASIS,&#10;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&#10;See the License for the specific language governing permissions and&#10;limitations under the License." />
<option name="keyword" value="Copyright" />
<option name="allowReplaceKeyword" value="JetBrains" />
<option name="myName" value="JetBrains" />
<option name="myLocal" value="true" />
</copyright>
</component>

View File

@@ -1,3 +0,0 @@
<component name="CopyrightManager">
<settings default="JetBrains" />
</component>

View File

@@ -1,20 +0,0 @@
<?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

@@ -1,13 +0,0 @@
<?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

@@ -1,12 +0,0 @@
<?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

@@ -1,20 +0,0 @@
<?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

@@ -1,135 +0,0 @@
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

@@ -1,54 +0,0 @@
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

@@ -1,16 +0,0 @@
#!/bin/sh
# $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

@@ -1,138 +0,0 @@
#!/bin/bash -x
function do_maketest() {
if [ "${bundle_type: -1}" == "t" ]; then
echo ${bundle_type%?}
return 1
else
echo ${bundle_type}
return 0
fi
}
function getVersionProp() {
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
}
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
build_number=$1
bundle_type=$2
architecture=$3 # aarch64 or x64
bundle_type=$(do_maketest)
do_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}' | 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_UPDATE = 0 ]] && JBSDK_VERSION="$VERSION_FEATURE" || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}"
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
OS_NAME=$(uname -s)
# Enable reproducible builds
TZ=UTC
export TZ
SOURCE_DATE_EPOCH="$(git log -1 --pretty=%ct)"
export SOURCE_DATE_EPOCH
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"
;;
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"
;;
*)
# TODO: Windows
;;
esac
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 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

@@ -1,159 +0,0 @@
#!/bin/bash -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 \
$REPRODUCIBLE_BUILD_OPTS \
|| 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=''
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}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__arch_name" ] && rm -rf "${IMAGES_DIR:?}"/"$__arch_name"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__arch_name"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__arch_name"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__arch_name"/release > release
mv release "$IMAGES_DIR"/"$__arch_name"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__arch_name"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__arch_name"/jmods
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__arch_name"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__arch_name"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__arch_name" -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:?}"/"$__arch_name"
}
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
;;
"dcevm")
HEAD_REVISION=$(git rev-parse HEAD)
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
do_reset_dcevm=0
do_reset_changes=0
;;
"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" == "dcevm" ] || [ "$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}"
[ "$bundle_type" != "fd" ] && jbrsdk_name_postfix="_${bundle_type}"
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" == "dcevm" ] || [ "$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 CONF=$RELEASE_NAME || do_exit $?
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

@@ -1,159 +0,0 @@
#!/bin/bash -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 \
$REPRODUCIBLE_BUILD_OPTS \
|| 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=''
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}
echo Running jlink....
[ -d "$IMAGES_DIR"/"$__arch_name" ] && rm -rf "${IMAGES_DIR:?}"/"$__arch_name"
$JSDK/bin/jlink \
--module-path "$__modules_path" --no-man-pages --compress=2 \
--add-modules "$__modules" --output "$IMAGES_DIR"/"$__arch_name"
grep -v "^JAVA_VERSION" "$JSDK"/release | grep -v "^MODULES" >> "$IMAGES_DIR"/"$__arch_name"/release
if [ "$__arch_name" == "$JBRSDK_BUNDLE" ]; then
sed 's/JBR/JBRSDK/g' "$IMAGES_DIR"/"$__arch_name"/release > release
mv release "$IMAGES_DIR"/"$__arch_name"/release
cp $IMAGES_DIR/jdk/lib/src.zip "$IMAGES_DIR"/"$__arch_name"/lib
copy_jmods "$__modules" "$__modules_path" "$IMAGES_DIR"/"$__arch_name"/jmods
fi
# jmod does not preserve file permissions (JDK-8173610)
[ -f "$IMAGES_DIR"/"$__arch_name"/lib/jcef_helper ] && chmod a+x "$IMAGES_DIR"/"$__arch_name"/lib/jcef_helper
echo Creating "$JBR".tar.gz ...
(cd "$IMAGES_DIR" &&
find "$__arch_name" -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:?}"/"$__arch_name"
}
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
;;
"dcevm")
HEAD_REVISION=$(git rev-parse HEAD)
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
do_reset_dcevm=0
do_reset_changes=0
;;
"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" == "dcevm" ] || [ "$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}"
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" == "dcevm" ] || [ "$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 CONF=$RELEASE_NAME || do_exit $?
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

@@ -1,80 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./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)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common/scripts/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
[ -z "$bundle_type" ] && (git apply -p0 < jb/project/tools/patches/exclude_jcef_module.patch || exit $?)
linux32 bash configure \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-boot-jdk=${BOOT_JDK} \
--enable-cds=yes || exit $?
make clean CONF=linux-x86-server-release || exit $?
make images CONF=linux-x86-server-release test-image || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-x86-b${build_number}
BASE_DIR=build/linux-x86-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man -C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-x86-b$build_number
grep -v javafx jb/project/tools/common/modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g | sed s/,$//g) --output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR $JBR_BUNDLE || exit $?
gzip $JBR.tar || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' --exclude='test/hotspot/gtest' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?

View File

@@ -1,16 +0,0 @@
<?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

@@ -1,178 +0,0 @@
#!/bin/bash -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}
architecture=${architecture:=x64}
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 17)}
function do_configure {
if [[ "${architecture}" == *aarch64* ]]; then
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-macosx-bundle-name-base=${VENDOR_VERSION_STRING} \
--with-macosx-bundle-id-base="com.jetbrains.jbr" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="${JDK_BUILD_NUMBER}" \
--with-version-opt=b"${build_number}" \
--with-boot-jdk="$BOOT_JDK" \
--disable-hotspot-gtest --disable-javac-server --disable-full-docs --disable-manpages \
--enable-cds=no \
--with-extra-cflags="-F$(pwd)/Frameworks" \
--with-extra-cxxflags="-F$(pwd)/Frameworks" \
--with-extra-ldflags="-F$(pwd)/Frameworks" \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
else
sh configure \
$WITH_DEBUG_LEVEL \
--with-vendor-name="$VENDOR_NAME" \
--with-vendor-version-string="$VENDOR_VERSION_STRING" \
--with-macosx-bundle-name-base=${VENDOR_VERSION_STRING} \
--with-macosx-bundle-id-base="com.jetbrains.jbr" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build="$JDK_BUILD_NUMBER" \
--with-version-opt=b"$build_number" \
--with-boot-jdk="$BOOT_JDK" \
--enable-cds=yes \
$REPRODUCIBLE_BUILD_OPTS \
|| do_exit $?
fi
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
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}
JRE_CONTENTS=$tmp/$__arch_name/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
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"/"$__arch_name" -print0 | xargs -0 touch -c -h -t "$TOUCH_TIME"
(cd "$tmp" &&
find "$__arch_name" -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
;;
"dcevm")
HEAD_REVISION=$(git rev-parse HEAD)
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
do_reset_dcevm=0
do_reset_changes=0
;;
"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" == "dcevm" ] || [ "$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}"
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" == "dcevm" ] || [ "$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 CONF=$RELEASE_NAME || do_exit $?
[ -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

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

@@ -1,111 +0,0 @@
#!/bin/bash -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"
pkgbuild --identifier $BUNDLE_ID --sign "$JB_INSTALLER_CERT" --root $APPLICATION_PATH \
--install-location /Library/Java/JavaVirtualMachines/${BUILD_NAME} ${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

@@ -1,138 +0,0 @@
#!/bin/bash -x
#immediately exit script with an error if a command fails
set -euo pipefail
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=$(sed "s/osx-//" <<< "$EXPLODED/$APP_NAME")
mv $EXPLODED/$BUILD_NAME $APPLICATION_PATH
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

@@ -1,30 +0,0 @@
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

@@ -1,30 +0,0 @@
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;

File diff suppressed because it is too large Load Diff

View File

@@ -1,29 +0,0 @@
From 960dafbeeba190911955c208b611fecc15d66738 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Wed, 11 Mar 2020 14:19:34 +0100
Subject: [PATCH 03/34] Fix class cast exception on redefinition of class A,
that is superclass of B that has anonymous class C
---
src/hotspot/share/oops/instanceKlass.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 994fc8a3bc8..3be3a09ef8f 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -953,7 +953,10 @@ bool InstanceKlass::link_class_impl(TRAPS) {
if (!is_linked()) {
if (!is_rewritten()) {
- {
+ // (DCEVM): If class A is being redefined and class B->A (B is extended from A) and B is host class of anonymous class C
+ // then second redefinition fails with cannot cast klass exception. So we currently turn off bytecode verification
+ // on redefinition.
+ if (!AllowEnhancedClassRedefinition || !newest_version()->is_redefining()) {
bool verify_ok = verify_code(THREAD);
if (!verify_ok) {
return false;
--
2.23.0

View File

@@ -1,240 +0,0 @@
From 39df5f163d4a0f1fd6b92313a5570808f19d5e20 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 4 Oct 2020 21:12:12 +0200
Subject: [PATCH 05/34] Support for Lambda class redefinition
---
.../share/classfile/classLoaderData.cpp | 9 +++
.../share/classfile/classLoaderData.hpp | 2 +-
.../share/classfile/systemDictionary.cpp | 12 +++-
.../share/classfile/systemDictionary.hpp | 1 +
.../prims/jvmtiEnhancedRedefineClasses.cpp | 65 +++++++++++++++++--
.../prims/jvmtiEnhancedRedefineClasses.hpp | 1 +
.../share/prims/resolvedMethodTable.cpp | 2 +
src/hotspot/share/prims/unsafe.cpp | 1 +
8 files changed, 83 insertions(+), 10 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 0cd90bb8c27..4d64c6b454a 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -593,6 +593,15 @@ Dictionary* ClassLoaderData::create_dictionary() {
return new Dictionary(this, size, resizable);
}
+void ClassLoaderData::exchange_holders(ClassLoaderData* cld) {
+ oop holder_oop = _holder.peek();
+ _holder.replace(cld->_holder.peek());
+ cld->_holder.replace(holder_oop);
+ WeakHandle<vm_class_loader_data> exchange = _holder;
+ _holder = cld->_holder;
+ cld->_holder = exchange;
+}
+
// Tell the GC to keep this klass alive while iterating ClassLoaderDataGraph
oop ClassLoaderData::holder_phantom() const {
// A klass that was previously considered dead can be looked up in the
diff --git a/src/hotspot/share/classfile/classLoaderData.hpp b/src/hotspot/share/classfile/classLoaderData.hpp
index ba2393f8dd0..e2ae0a77351 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -181,7 +181,7 @@ class ClassLoaderData : public CHeapObj<mtClass> {
bool has_accumulated_modified_oops() { return _accumulated_modified_oops; }
oop holder_no_keepalive() const;
oop holder_phantom() const;
-
+ void exchange_holders(ClassLoaderData* cld);
private:
void unload();
bool keep_alive() const { return _keep_alive > 0; }
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index bd0cae7cb9b..8f2b46add4d 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -1062,10 +1062,14 @@ InstanceKlass* SystemDictionary::parse_stream(Symbol* class_name,
Handle class_loader,
ClassFileStream* st,
const ClassLoadInfo& cl_info,
+ InstanceKlass* old_klass,
TRAPS) {
EventClassLoad class_load_start_event;
ClassLoaderData* loader_data;
+
+ bool is_redefining = (old_klass != NULL);
+
bool is_unsafe_anon_class = cl_info.unsafe_anonymous_host() != NULL;
// - for unsafe anonymous class: create a new CLD whith a class holder that uses
@@ -1094,8 +1098,12 @@ InstanceKlass* SystemDictionary::parse_stream(Symbol* class_name,
class_name,
loader_data,
cl_info,
- false, // pick_newest
+ is_redefining, // pick_newest
CHECK_NULL);
+ if (is_redefining && k != NULL) {
+ k->set_redefining(true);
+ k->set_old_version(old_klass);
+ }
if ((cl_info.is_hidden() || is_unsafe_anon_class) && k != NULL) {
// Hidden classes that are not strong and unsafe anonymous classes must update
@@ -1998,7 +2006,7 @@ void SystemDictionary::remove_from_hierarchy(InstanceKlass* k) {
k->remove_from_sibling_list();
}
-// (DCEVM)
+// (DCEVM)
void SystemDictionary::update_constraints_after_redefinition() {
constraints()->update_after_redefinition();
}
diff --git a/src/hotspot/share/classfile/systemDictionary.hpp b/src/hotspot/share/classfile/systemDictionary.hpp
index 4547449dbec..931e655d631 100644
--- a/src/hotspot/share/classfile/systemDictionary.hpp
+++ b/src/hotspot/share/classfile/systemDictionary.hpp
@@ -329,6 +329,7 @@ public:
Handle class_loader,
ClassFileStream* st,
const ClassLoadInfo& cl_info,
+ InstanceKlass* old_klass,
TRAPS);
// Resolve from stream (called by jni_DefineClass and JVM_DefineClass)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 92ce6c27b8a..8b765623dcd 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -494,6 +494,8 @@ void VM_EnhancedRedefineClasses::doit() {
ClassLoaderDataGraph::classes_do(&clear_cpool_cache);
+ // SystemDictionary::methods_do(fix_invoke_method);
+
// JSR-292 support
if (_any_class_has_resolved_methods) {
bool trace_name_printed = false;
@@ -756,12 +758,34 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
// load hook event.
state->set_class_being_redefined(the_class, _class_load_kind);
- InstanceKlass* k = SystemDictionary::resolve_from_stream(the_class_sym,
- the_class_loader,
- protection_domain,
- &st,
- the_class,
- THREAD);
+ InstanceKlass* k;
+
+ if (InstanceKlass::cast(the_class)->is_anonymous()) {
+ const InstanceKlass* host_class = the_class->host_klass();
+
+ // Make sure it's the real host class, not another anonymous class.
+ while (host_class != NULL && host_class->is_anonymous()) {
+ host_class = host_class->host_klass();
+ }
+
+ k = SystemDictionary::parse_stream(the_class_sym,
+ the_class_loader,
+ protection_domain,
+ &st,
+ host_class,
+ the_class,
+ NULL,
+ THREAD);
+ k->class_loader_data()->exchange_holders(the_class->class_loader_data());
+ the_class->class_loader_data()->inc_keep_alive();
+ } else {
+ k = SystemDictionary::resolve_from_stream(the_class_sym,
+ the_class_loader,
+ protection_domain,
+ &st,
+ the_class,
+ THREAD);
+ }
// Clear class_being_redefined just to be sure.
state->clear_class_being_redefined();
@@ -1442,6 +1466,30 @@ void VM_EnhancedRedefineClasses::MethodDataCleaner::do_klass(Klass* k) {
}
}
+void VM_EnhancedRedefineClasses::fix_invoke_method(Method* method) {
+
+ constantPoolHandle other_cp = constantPoolHandle(method->constants());
+
+ for (int i = 0; i < other_cp->length(); i++) {
+ if (other_cp->tag_at(i).is_klass()) {
+ Klass* klass = other_cp->resolved_klass_at(i);
+ if (klass->new_version() != NULL) {
+ // Constant pool entry points to redefined class -- update to the new version
+ other_cp->klass_at_put(i, klass->newest_version());
+ }
+ assert(other_cp->resolved_klass_at(i)->new_version() == NULL, "Must be new klass!");
+ }
+ }
+
+ ConstantPoolCache* cp_cache = other_cp->cache();
+ if (cp_cache != NULL) {
+ cp_cache->clear_entries();
+ }
+
+}
+
+
+
void VM_EnhancedRedefineClasses::update_jmethod_ids() {
for (int j = 0; j < _matching_methods_length; ++j) {
Method* old_method = _matching_old_methods[j];
@@ -1979,7 +2027,10 @@ jvmtiError VM_EnhancedRedefineClasses::find_sorted_affected_classes(TRAPS) {
// Find classes not directly redefined, but affected by a redefinition (because one of its supertypes is redefined)
AffectedKlassClosure closure(_affected_klasses);
// Updated in j10, from original SystemDictionary::classes_do
- ClassLoaderDataGraph::dictionary_classes_do(&closure);
+
+ ClassLoaderDataGraph::classes_do(&closure);
+ //ClassLoaderDataGraph::dictionary_classes_do(&closure);
+
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
// Sort the affected klasses such that a supertype is always on a smaller array index than its subtype.
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 60b62c3170a..d8a11b51fe9 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -116,6 +116,7 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
void rollback();
static void mark_as_scavengable(nmethod* nm);
static void unpatch_bytecode(Method* method);
+ static void fix_invoke_method(Method* method);
// Figure out which new methods match old methods in name and signature,
// which methods have been added, and which are no longer present
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index 122bb8c186b..81b3aa96564 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -414,6 +414,8 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
InstanceKlass* newer_klass = InstanceKlass::cast(old_method->method_holder()->new_version());
Method* newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
+ log_info(redefine, class, load, exceptions)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
+
assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
assert(newer_method != NULL, "method_with_idnum() should not be NULL");
assert(old_method != newer_method, "sanity check");
diff --git a/src/hotspot/share/prims/unsafe.cpp b/src/hotspot/share/prims/unsafe.cpp
index 72d81ec9d6c..027afa3fabd 100644
--- a/src/hotspot/share/prims/unsafe.cpp
+++ b/src/hotspot/share/prims/unsafe.cpp
@@ -865,6 +865,7 @@ Unsafe_DefineAnonymousClass_impl(JNIEnv *env,
host_loader,
&st,
cl_info,
+ NULL,
CHECK_NULL);
if (anonk == NULL) {
return NULL;
--
2.23.0

View File

@@ -1,135 +0,0 @@
From 5af1daedc86b5fec0f222cbdda3afbdf518985ea Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sat, 23 May 2020 10:02:15 +0200
Subject: [PATCH 06/34] 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.
---
src/hotspot/share/interpreter/bytecodes.cpp | 2 +-
.../share/interpreter/interpreterRuntime.cpp | 2 +-
src/hotspot/share/oops/method.cpp | 8 ++++----
src/hotspot/share/oops/method.hpp | 4 ++--
.../prims/jvmtiEnhancedRedefineClasses.cpp | 18 ++++++++++--------
5 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/src/hotspot/share/interpreter/bytecodes.cpp b/src/hotspot/share/interpreter/bytecodes.cpp
index e377e36b88c..262ecc021b2 100644
--- a/src/hotspot/share/interpreter/bytecodes.cpp
+++ b/src/hotspot/share/interpreter/bytecodes.cpp
@@ -84,7 +84,7 @@ Bytecodes::Code Bytecodes::code_at(Method* method, int bci) {
Bytecodes::Code Bytecodes::non_breakpoint_code_at(const Method* method, address bcp) {
assert(method != NULL, "must have the method for breakpoint conversion");
assert(method->contains(bcp), "must be valid bcp in method");
- return method->orig_bytecode_at(method->bci_from(bcp));
+ return method->orig_bytecode_at(method->bci_from(bcp), false);
}
int Bytecodes::special_length_at(Bytecodes::Code code, address bcp, address end) {
diff --git a/src/hotspot/share/interpreter/interpreterRuntime.cpp b/src/hotspot/share/interpreter/interpreterRuntime.cpp
index ed3cc3eb6a2..504e59caf51 100644
--- a/src/hotspot/share/interpreter/interpreterRuntime.cpp
+++ b/src/hotspot/share/interpreter/interpreterRuntime.cpp
@@ -814,7 +814,7 @@ JRT_END
// Invokes
JRT_ENTRY(Bytecodes::Code, InterpreterRuntime::get_original_bytecode_at(JavaThread* thread, Method* method, address bcp))
- return method->orig_bytecode_at(method->bci_from(bcp));
+ return method->orig_bytecode_at(method->bci_from(bcp), false);
JRT_END
JRT_ENTRY(void, InterpreterRuntime::set_original_bytecode_at(JavaThread* thread, Method* method, address bcp, Bytecodes::Code new_code))
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index 516f2bb8f2f..1c88511a5fc 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -1853,14 +1853,14 @@ bool CompressedLineNumberReadStream::read_pair() {
#if INCLUDE_JVMTI
-Bytecodes::Code Method::orig_bytecode_at(int bci) const {
+Bytecodes::Code Method::orig_bytecode_at(int bci, bool no_fatal) const {
BreakpointInfo* bp = method_holder()->breakpoints();
for (; bp != NULL; bp = bp->next()) {
if (bp->match(this, bci)) {
return bp->orig_bytecode();
}
}
- {
+ if (!no_fatal) {
ResourceMark rm;
fatal("no original bytecode found in %s at bci %d", name_and_sig_as_C_string(), bci);
}
@@ -2006,7 +2006,7 @@ BreakpointInfo::BreakpointInfo(Method* m, int bci) {
_signature_index = m->signature_index();
_orig_bytecode = (Bytecodes::Code) *m->bcp_from(_bci);
if (_orig_bytecode == Bytecodes::_breakpoint)
- _orig_bytecode = m->orig_bytecode_at(_bci);
+ _orig_bytecode = m->orig_bytecode_at(_bci, false);
_next = NULL;
}
@@ -2015,7 +2015,7 @@ void BreakpointInfo::set(Method* method) {
{
Bytecodes::Code code = (Bytecodes::Code) *method->bcp_from(_bci);
if (code == Bytecodes::_breakpoint)
- code = method->orig_bytecode_at(_bci);
+ code = method->orig_bytecode_at(_bci, false);
assert(orig_bytecode() == code, "original bytecode must be the same");
}
#endif
diff --git a/src/hotspot/share/oops/method.hpp b/src/hotspot/share/oops/method.hpp
index 83ed2d9c3c1..4d4cc6dc012 100644
--- a/src/hotspot/share/oops/method.hpp
+++ b/src/hotspot/share/oops/method.hpp
@@ -230,7 +230,7 @@ class Method : public Metadata {
// JVMTI breakpoints
#if !INCLUDE_JVMTI
- Bytecodes::Code orig_bytecode_at(int bci) const {
+ Bytecodes::Code orig_bytecode_at(int bci, bool no_fatal) const {
ShouldNotReachHere();
return Bytecodes::_shouldnotreachhere;
}
@@ -239,7 +239,7 @@ class Method : public Metadata {
};
u2 number_of_breakpoints() const {return 0;}
#else // !INCLUDE_JVMTI
- Bytecodes::Code orig_bytecode_at(int bci) const;
+ Bytecodes::Code orig_bytecode_at(int bci, bool no_fatal) const;
void set_orig_bytecode_at(int bci, Bytecodes::Code code);
void set_breakpoint(int bci);
void clear_breakpoint(int bci);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 8b765623dcd..a859b8e1162 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -1362,14 +1362,16 @@ void VM_EnhancedRedefineClasses::unpatch_bytecode(Method* method) {
if (code == Bytecodes::_breakpoint) {
int bci = method->bci_from(bcp);
- code = method->orig_bytecode_at(bci);
- java_code = Bytecodes::java_code(code);
- if (code != java_code &&
- (java_code == Bytecodes::_getfield ||
- java_code == Bytecodes::_putfield ||
- java_code == Bytecodes::_aload_0)) {
- // Let breakpoint table handling unpatch bytecode
- method->set_orig_bytecode_at(bci, java_code);
+ code = method->orig_bytecode_at(bci, true);
+ if (code != Bytecodes::_shouldnotreachhere) {
+ java_code = Bytecodes::java_code(code);
+ if (code != java_code &&
+ (java_code == Bytecodes::_getfield ||
+ java_code == Bytecodes::_putfield ||
+ java_code == Bytecodes::_aload_0)) {
+ // Let breakpoint table handling unpatch bytecode
+ method->set_orig_bytecode_at(bci, java_code);
+ }
}
} else {
java_code = Bytecodes::java_code(code);
--
2.23.0

View File

@@ -1,57 +0,0 @@
From 19d2274a5dff6e6b31474252b45e5e7484f0180b Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 24 May 2020 12:07:42 +0200
Subject: [PATCH 07/34] Replace deleted method with
Universe::throw_no_such_method_error
---
.../share/prims/resolvedMethodTable.cpp | 28 +++++++++----------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index 81b3aa96564..caf03ffe56d 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -404,25 +404,25 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
if (old_method->is_old()) {
+ InstanceKlass* newer_klass = InstanceKlass::cast(old_method->method_holder()->new_version());
+ Method* newer_method;
+
// Method* new_method;
if (old_method->is_deleted()) {
- // FIXME:(DCEVM) - check if exception can be thrown
- // new_method = Universe::throw_no_such_method_error();
- continue;
- }
-
- InstanceKlass* newer_klass = InstanceKlass::cast(old_method->method_holder()->new_version());
- Method* newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
+ newer_method = Universe::throw_no_such_method_error();
+ } else {
+ newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
- log_info(redefine, class, load, exceptions)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
+ log_info(redefine, class, load, exceptions)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
- assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
- assert(newer_method != NULL, "method_with_idnum() should not be NULL");
- assert(old_method != newer_method, "sanity check");
+ assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
+ assert(newer_method != NULL, "method_with_idnum() should not be NULL");
+ assert(old_method != newer_method, "sanity check");
- if (_the_table->lookup(newer_method) != NULL) {
- // old method was already adjusted if new method exists in _the_table
- continue;
+ if (_the_table->lookup(newer_method) != NULL) {
+ // old method was already adjusted if new method exists in _the_table
+ continue;
+ }
}
java_lang_invoke_ResolvedMethodName::set_vmtarget(mem_name, newer_method);
--
2.23.0

File diff suppressed because it is too large Load Diff

View File

@@ -1,50 +0,0 @@
From ca47ab5a0a6ce8e2644736f323a335a957311af9 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sat, 13 Jun 2020 18:50:59 +0200
Subject: [PATCH 09/34] 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
---
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 2 +-
src/hotspot/share/prims/resolvedMethodTable.cpp | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 6c9eb40ecf5..b09ba554e07 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -916,7 +916,7 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
// Calculated the difference between new and old class (field change, method change, supertype change, ...).
int VM_EnhancedRedefineClasses::calculate_redefinition_flags(InstanceKlass* new_class) {
int result = Klass::NoRedefinition;
- log_info(redefine, class, load)("Comparing different class versions of class %s",new_class->name()->as_C_string());
+ log_debug(redefine, class, load)("Comparing different class versions of class %s",new_class->name()->as_C_string());
assert(new_class->old_version() != NULL, "must have old version");
InstanceKlass* the_class = InstanceKlass::cast(new_class->old_version());
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index caf03ffe56d..eb9fcda44f3 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -413,7 +413,7 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
} else {
newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
- log_info(redefine, class, load, exceptions)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
+ log_debug(redefine, class, update)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
assert(newer_method != NULL, "method_with_idnum() should not be NULL");
@@ -433,7 +433,7 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
ResourceMark rm;
if (!(*trace_name_printed)) {
- log_info(redefine, class, update)("adjust: name=%s", old_method->method_holder()->external_name());
+ log_debug(redefine, class, update)("adjust: name=%s", old_method->method_holder()->external_name());
*trace_name_printed = true;
}
log_debug(redefine, class, update, constantpool)
--
2.23.0

View File

@@ -1,26 +0,0 @@
From 7e236beee0375656d1955fc1168143c1639fb7f1 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Tue, 6 Oct 2020 22:15:31 +0200
Subject: [PATCH 10/34] AllowEnhancedClassRedefinition is false (disabled) by
default
---
src/hotspot/share/runtime/globals.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index 5b367704800..2710c6ea0e5 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -2466,7 +2466,7 @@ const size_t minimumSymbolTableSize = 1024;
diagnostic(bool, DeoptimizeNMethodBarriersALot, false, \
"Make nmethod barriers deoptimise a lot.") \
\
- product(bool, AllowEnhancedClassRedefinition, true, \
+ product(bool, AllowEnhancedClassRedefinition, false, \
"Allow enhanced class redefinition beyond swapping method " \
"bodies") \
\
--
2.23.0

View File

@@ -1,25 +0,0 @@
From d56e73885111b386771f564ec6beb305338993df Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Mon, 19 Oct 2020 20:00:04 +0200
Subject: [PATCH 12/34] Set HOTSPOT_VM_DISTRO=Dynamic Code Evolution
---
make/autoconf/version-numbers | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/make/autoconf/version-numbers b/make/autoconf/version-numbers
index aabdc5bed20..df8025a2e84 100644
--- a/make/autoconf/version-numbers
+++ b/make/autoconf/version-numbers
@@ -45,7 +45,7 @@ PRODUCT_NAME=OpenJDK
PRODUCT_SUFFIX="Runtime Environment"
JDK_RC_PLATFORM_NAME=Platform
COMPANY_NAME=N/A
-HOTSPOT_VM_DISTRO="OpenJDK"
+HOTSPOT_VM_DISTRO="Dynamic Code Evolution"
VENDOR_URL=https://openjdk.java.net/
VENDOR_URL_BUG=https://bugreport.java.com/bugreport/
VENDOR_URL_VM_BUG=https://bugreport.java.com/bugreport/crash.jsp
--
2.23.0

View File

@@ -1,71 +0,0 @@
From 7ebad43ed45805b0a3736c510f708ff17697ba7e Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 11 Oct 2020 10:43:28 +0200
Subject: [PATCH 13/34] Fix G1 nmethod registration
---
.../prims/jvmtiEnhancedRedefineClasses.cpp | 19 ++++++++++++++++---
.../prims/jvmtiEnhancedRedefineClasses.hpp | 3 ++-
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index b09ba554e07..718426f2819 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -216,7 +216,14 @@ void VM_EnhancedRedefineClasses::mark_as_scavengable(nmethod* nm) {
}
}
-void VM_EnhancedRedefineClasses::mark_as_scavengable_g1(nmethod* nm) {
+void VM_EnhancedRedefineClasses::unregister_nmethod_g1(nmethod* nm) {
+ // It should work not only for G1 but also for another GCs, but this way is safer now
+ if (!nm->is_zombie() && !nm->is_unloaded()) {
+ Universe::heap()->unregister_nmethod(nm);
+ }
+}
+
+void VM_EnhancedRedefineClasses::register_nmethod_g1(nmethod* nm) {
// It should work not only for G1 but also for another GCs, but this way is safer now
if (!nm->is_zombie() && !nm->is_unloaded()) {
Universe::heap()->register_nmethod(nm);
@@ -521,8 +528,9 @@ void VM_EnhancedRedefineClasses::doit() {
// For now, mark all nmethod's as scavengable that are not scavengable already
if (ScavengeRootsInCode) {
if (UseG1GC) {
- // this should work also for other GCs
- CodeCache::nmethods_do(mark_as_scavengable_g1);
+ // G1 holds references to nmethods in regions based on oops values. Since oops in nmethod can be changed in ChangePointers* closures
+ // we unregister nmethods from G1 heap, then closures are processed (oops are changed) and finally we register nmethod to G1 again
+ CodeCache::nmethods_do(unregister_nmethod_g1);
} else {
CodeCache::nmethods_do(mark_as_scavengable);
}
@@ -545,6 +553,11 @@ void VM_EnhancedRedefineClasses::doit() {
Universe::root_oops_do(&oopClosureNoBarrier);
+ if (UseG1GC) {
+ // this should work also for other GCs
+ CodeCache::nmethods_do(register_nmethod_g1);
+ }
+
}
log_trace(redefine, class, obsolete, metadata)("After updating instances");
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 9755944d70b..4c0412d343d 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -116,7 +116,8 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
void rollback();
static void mark_as_scavengable(nmethod* nm);
- static void mark_as_scavengable_g1(nmethod* nm);
+ static void unregister_nmethod_g1(nmethod* nm);
+ static void register_nmethod_g1(nmethod* nm);
static void unpatch_bytecode(Method* method);
static void fix_invoke_method(Method* method);
--
2.23.0

View File

@@ -1,26 +0,0 @@
From 5c7e5f245f79d7e8575461dab0c356ed74c8e9a3 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Thu, 22 Oct 2020 20:15:20 +0200
Subject: [PATCH 14/34] Initialize method's _new_version/_old_version to NULL
---
src/hotspot/share/oops/method.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index 1c88511a5fc..ce940cf10a9 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -91,7 +91,8 @@ Method* Method::allocate(ClassLoaderData* loader_data,
return new (loader_data, size, MetaspaceObj::MethodType, THREAD) Method(cm, access_flags);
}
-Method::Method(ConstMethod* xconst, AccessFlags access_flags) {
+Method::Method(ConstMethod* xconst, AccessFlags access_flags) : _new_version(NULL),
+ _old_version(NULL) {
NoSafepointVerifier no_safepoint;
set_constMethod(xconst);
set_access_flags(access_flags);
--
2.23.0

View File

@@ -1,193 +0,0 @@
From 6ffac6e5064ec6633fdbeb8520333dca00bc6a62 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 23 Oct 2020 10:20:26 +0200
Subject: [PATCH 15/34] Clear dcevm code separation
---
src/hotspot/share/classfile/systemDictionary.cpp | 4 ++--
src/hotspot/share/gc/serial/genMarkSweep.cpp | 8 +++++---
src/hotspot/share/interpreter/linkResolver.cpp | 16 +++++++++++-----
.../instrumentation/jfrEventClassTransformer.cpp | 2 +-
src/hotspot/share/oops/instanceKlass.cpp | 10 ++++++----
src/hotspot/share/oops/method.cpp | 2 +-
.../share/prims/jvmtiGetLoadedClasses.cpp | 2 +-
src/hotspot/share/runtime/reflection.cpp | 2 +-
8 files changed, 28 insertions(+), 18 deletions(-)
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 8f2b46add4d..9ac6ec96cb5 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -1241,7 +1241,7 @@ InstanceKlass* SystemDictionary::resolve_from_stream(Symbol* class_name,
MutexLocker mu(THREAD, SystemDictionary_lock);
Klass* check = find_class(h_name, k->class_loader_data());
- assert((check == k && !k->is_redefining()) || (k->is_redefining() && check == k->old_version()), "should be present in the dictionary");
+ assert(check == k && !k->is_redefining() || k->is_redefining() && check == k->old_version(), "should be present in the dictionary");
} );
return k;
@@ -2290,7 +2290,7 @@ void SystemDictionary::check_constraints(unsigned int d_hash,
// also hold array classes.
assert(check->is_instance_klass(), "noninstance in systemdictionary");
- if ((defining == true) || ((k != check) && k->old_version() != check)) {
+ if ((defining == true) || (k != check && (!AllowEnhancedClassRedefinition || k->old_version() != check))) {
throwException = true;
ss.print("loader %s", loader_data->loader_name_and_id());
ss.print(" attempted duplicate %s definition for %s. (%s)",
diff --git a/src/hotspot/share/gc/serial/genMarkSweep.cpp b/src/hotspot/share/gc/serial/genMarkSweep.cpp
index 1d13c647452..548df01e557 100644
--- a/src/hotspot/share/gc/serial/genMarkSweep.cpp
+++ b/src/hotspot/share/gc/serial/genMarkSweep.cpp
@@ -334,7 +334,9 @@ void GenMarkSweep::mark_sweep_phase4() {
GenCompactClosure blk;
gch->generation_iterate(&blk, true);
- DcevmSharedGC::copy_rescued_objects_back(MarkSweep::_rescued_oops, true);
- DcevmSharedGC::clear_rescued_objects_resource(MarkSweep::_rescued_oops);
- MarkSweep::_rescued_oops = NULL;
+ if (AllowEnhancedClassRedefinition) {
+ DcevmSharedGC::copy_rescued_objects_back(MarkSweep::_rescued_oops, true);
+ DcevmSharedGC::clear_rescued_objects_resource(MarkSweep::_rescued_oops);
+ MarkSweep::_rescued_oops = NULL;
+ }
}
diff --git a/src/hotspot/share/interpreter/linkResolver.cpp b/src/hotspot/share/interpreter/linkResolver.cpp
index b6e9e0a308d..b2f24ddbeda 100644
--- a/src/hotspot/share/interpreter/linkResolver.cpp
+++ b/src/hotspot/share/interpreter/linkResolver.cpp
@@ -282,9 +282,14 @@ void LinkResolver::check_klass_accessibility(Klass* ref_klass, Klass* sel_klass,
if (!base_klass->is_instance_klass()) {
return; // no relevant check to do
}
-
- Reflection::VerifyClassAccessResults vca_result =
- Reflection::verify_class_access(ref_klass->newest_version(), InstanceKlass::cast(base_klass->newest_version()), true);
+ Klass* refKlassNewest = ref_klass;
+ Klass* baseKlassNewest = base_klass;
+ if (AllowEnhancedClassRedefinition) {
+ refKlassNewest = ref_klass->newest_version();
+ baseKlassNewest = base_klass->newest_version();
+ }
+ Reflection::VerifyClassAccessResults vca_result =
+ Reflection::verify_class_access(refKlassNewest, InstanceKlass::cast(baseKlassNewest), true);
if (vca_result != Reflection::ACCESS_OK) {
ResourceMark rm(THREAD);
char* msg = Reflection::verify_class_access_msg(ref_klass,
@@ -566,7 +571,8 @@ void LinkResolver::check_method_accessability(Klass* ref_klass,
// We'll check for the method name first, as that's most likely
// to be false (so we'll short-circuit out of these tests).
if (sel_method->name() == vmSymbols::clone_name() &&
- sel_klass->newest_version() == SystemDictionary::Object_klass()->newest_version() &&
+ ( !AllowEnhancedClassRedefinition && sel_klass == SystemDictionary::Object_klass() ||
+ AllowEnhancedClassRedefinition && sel_klass->newest_version() == SystemDictionary::Object_klass()->newest_version()) &&
resolved_klass->is_array_klass()) {
// We need to change "protected" to "public".
assert(flags.is_protected(), "clone not protected?");
@@ -1011,7 +1017,7 @@ void LinkResolver::resolve_field(fieldDescriptor& fd,
// or by the <init> method (in case of an instance field).
if (is_put && fd.access_flags().is_final()) {
- if (sel_klass != current_klass && sel_klass != current_klass->active_version()) {
+ if (sel_klass != current_klass && (!AllowEnhancedClassRedefinition || sel_klass != current_klass->active_version())) {
ResourceMark rm(THREAD);
stringStream ss;
ss.print("Update to %s final field %s.%s attempted from a different class (%s) than the field's declaring class",
diff --git a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
index 96fc139bea3..f7284197c5a 100644
--- a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
+++ b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
@@ -1471,7 +1471,7 @@ static InstanceKlass* create_new_instance_klass(InstanceKlass* ik, ClassFileStre
cld,
&cl_info,
ClassFileParser::INTERNAL, // internal visibility
- false,
+ false,
THREAD);
if (HAS_PENDING_EXCEPTION) {
log_pending_exception(PENDING_EXCEPTION);
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 3be3a09ef8f..f8e60941046 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -199,7 +199,9 @@ bool InstanceKlass::has_nest_member(InstanceKlass* k, TRAPS) const {
// able to perform that loading but we can't exclude the compiler threads from
// executing this logic. But it should actually be impossible to trigger loading here.
Klass* k2 = _constants->klass_at(cp_index, THREAD);
- k2 = k2->newest_version();
+ if (AllowEnhancedClassRedefinition) {
+ k2 = k2->newest_version();
+ }
assert(!HAS_PENDING_EXCEPTION || PENDING_EXCEPTION->is_a(SystemDictionary::VirtualMachineError_klass()),
"Exceptions should not be possible here");
if (k2 == k) {
@@ -1003,7 +1005,7 @@ bool InstanceKlass::link_class_impl(TRAPS) {
#endif
set_init_state(linked);
// (DCEVM) Must check for old version in order to prevent infinite loops.
- if (JvmtiExport::should_post_class_prepare() && old_version() == NULL /* JVMTI deadlock otherwise */) {
+ if (JvmtiExport::should_post_class_prepare() && (!AllowEnhancedClassRedefinition || old_version() == NULL) /* JVMTI deadlock otherwise */) {
Thread *thread = THREAD;
assert(thread->is_Java_thread(), "thread->is_Java_thread()");
JvmtiExport::post_class_prepare((JavaThread *) thread, this);
@@ -1084,7 +1086,7 @@ void InstanceKlass::initialize_impl(TRAPS) {
// we might end up throwing IE from link/symbol resolution sites
// that aren't expected to throw. This would wreak havoc. See 6320309.
while ((is_being_initialized() && !is_reentrant_initialization(jt))
- || (old_version() != NULL && InstanceKlass::cast(old_version())->is_being_initialized())) {
+ || (AllowEnhancedClassRedefinition && old_version() != NULL && InstanceKlass::cast(old_version())->is_being_initialized())) {
wait = true;
jt->set_class_to_be_initialized(this);
ol.wait_uninterruptibly(jt);
@@ -3782,7 +3784,7 @@ void InstanceKlass::verify_on(outputStream* st) {
guarantee(sib->is_klass(), "should be klass");
// TODO: (DCEVM) explain
- guarantee(sib->super() == super || super->newest_version() == SystemDictionary::Object_klass(), "siblings should have same superklass");
+ guarantee(sib->super() == super || AllowEnhancedClassRedefinition && super->newest_version() == SystemDictionary::Object_klass(), "siblings should have same superklass");
}
// Verify local interfaces
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index ce940cf10a9..2d8e5b0256b 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -2208,7 +2208,7 @@ void Method::ensure_jmethod_ids(ClassLoaderData* loader_data, int capacity) {
// Add a method id to the jmethod_ids
jmethodID Method::make_jmethod_id(ClassLoaderData* loader_data, Method* m) {
// FIXME: (DCEVM) ???
- if (m != m->newest_version()) {
+ if (AllowEnhancedClassRedefinition && m != m->newest_version()) {
m = m->newest_version();
}
ClassLoaderData* cld = loader_data;
diff --git a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
index 1c7677f270f..6c12ee64a6e 100644
--- a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
@@ -75,7 +75,7 @@ public:
// the new version (SystemDictionary stores only new versions). But the LoadedClassesClosure's functionality was
// changed in java8 where jvmtiLoadedClasses collects all classes from all classloaders, therefore we
// must use new versions only.
- if (k->new_version()==NULL) {
+ if (AllowEnhancedClassRedefinition && k->new_version()==NULL) {
_classStack.push((jclass) _env->jni_reference(Handle(_cur_thread, k->java_mirror())));
if (_dictionary_walk) {
// Collect array classes this way when walking the dictionary (because array classes are
diff --git a/src/hotspot/share/runtime/reflection.cpp b/src/hotspot/share/runtime/reflection.cpp
index 0e7722dba7d..d67457f02ac 100644
--- a/src/hotspot/share/runtime/reflection.cpp
+++ b/src/hotspot/share/runtime/reflection.cpp
@@ -628,7 +628,7 @@ bool Reflection::verify_member_access(const Klass* current_class,
TRAPS) {
// (DCEVM) Decide accessibility based on active version
- if (current_class != NULL) {
+ if (AllowEnhancedClassRedefinition && current_class != NULL) {
current_class = current_class->active_version();
}
--
2.23.0

View File

@@ -1,26 +0,0 @@
From dc675de6ac42819b8536827ea450fcad13a97448 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Wed, 11 Nov 2020 18:45:15 +0100
Subject: [PATCH 16/34] Fix LoadedClassesClosure - fixes problems with remote
debugging
---
src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
index 6c12ee64a6e..2a469555dbd 100644
--- a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
@@ -75,7 +75,7 @@ public:
// the new version (SystemDictionary stores only new versions). But the LoadedClassesClosure's functionality was
// changed in java8 where jvmtiLoadedClasses collects all classes from all classloaders, therefore we
// must use new versions only.
- if (AllowEnhancedClassRedefinition && k->new_version()==NULL) {
+ if (!AllowEnhancedClassRedefinition || k->new_version()==NULL) {
_classStack.push((jclass) _env->jni_reference(Handle(_cur_thread, k->java_mirror())));
if (_dictionary_walk) {
// Collect array classes this way when walking the dictionary (because array classes are
--
2.23.0

View File

@@ -1,183 +0,0 @@
From 1d682efa88c716e1849163d5abff3a3367581d16 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Mon, 16 Nov 2020 21:11:19 +0100
Subject: [PATCH 18/34] pre dcevm15 - fix GC spaces originally in removed CMS
patch
---
src/hotspot/share/gc/shared/space.cpp | 16 ++++++++--------
src/hotspot/share/gc/shared/space.hpp | 6 +++---
src/hotspot/share/gc/shared/space.inline.hpp | 14 ++++++++------
.../share/prims/jvmtiEnhancedRedefineClasses.cpp | 6 ++----
4 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/src/hotspot/share/gc/shared/space.cpp b/src/hotspot/share/gc/shared/space.cpp
index 875a6dc854f..9772c32c42e 100644
--- a/src/hotspot/share/gc/shared/space.cpp
+++ b/src/hotspot/share/gc/shared/space.cpp
@@ -375,11 +375,11 @@ HeapWord* CompactibleSpace::forward_compact_top(size_t size, CompactPoint* cp, H
}
HeapWord* CompactibleSpace::forward(oop q, size_t size,
- CompactPoint* cp, HeapWord* compact_top) {
+ CompactPoint* cp, HeapWord* compact_top, bool force_forward) {
compact_top = forward_compact_top(size, cp, compact_top);
// store the forwarding pointer into the mark word
- if (cast_from_oop<HeapWord*>(q) != compact_top || (size_t)q->size() != size) {
+ if (force_forward || cast_from_oop<HeapWord*>(q) != compact_top || (size_t)q->size() != size) {
q->forward_to(oop(compact_top));
assert(q->is_gc_marked(), "encoding the pointer should preserve the mark");
} else {
@@ -501,7 +501,7 @@ bool CompactibleSpace::must_rescue(oop old_obj, oop new_obj) {
} else {
assert(space_index(old_obj) != space_index(new_obj), "old_obj and new_obj must be in different spaces");
- if (tenured_gen->is_in_reserved(new_obj)) {
+ if (new_in_tenured) {
// Must never rescue when moving from the new into the old generation.
assert(GenCollectedHeap::heap()->young_gen()->is_in_reserved(old_obj), "old_obj must be in DefNewGeneration");
assert(space_index(old_obj) > space_index(new_obj), "must be");
@@ -824,14 +824,14 @@ void OffsetTableContigSpace::verify() const {
// Compute the forward sizes and leave out objects whose position could
// possibly overlap other objects.
HeapWord* CompactibleSpace::forward_with_rescue(HeapWord* q, size_t size,
- CompactPoint* cp, HeapWord* compact_top) {
+ CompactPoint* cp, HeapWord* compact_top, bool force_forward) {
size_t forward_size = size;
// (DCEVM) There is a new version of the class of q => different size
if (oop(q)->klass()->new_version() != NULL) {
size_t new_size = oop(q)->size_given_klass(oop(q)->klass()->new_version());
- assert(size != new_size, "instances without changed size have to be updated prior to GC run");
+ // assert(size != new_size, "instances without changed size have to be updated prior to GC run");
forward_size = new_size;
}
@@ -845,7 +845,7 @@ HeapWord* CompactibleSpace::forward_with_rescue(HeapWord* q, size_t size,
return compact_top;
}
- return forward(oop(q), forward_size, cp, compact_top);
+ return forward(oop(q), forward_size, cp, compact_top, force_forward);
}
// Compute the forwarding addresses for the objects that need to be rescued.
@@ -861,11 +861,11 @@ HeapWord* CompactibleSpace::forward_rescued(CompactPoint* cp, HeapWord* compact_
// (DCEVM) There is a new version of the class of q => different size
if (oop(q)->klass()->new_version() != NULL) {
size_t new_size = oop(q)->size_given_klass(oop(q)->klass()->new_version());
- assert(size != new_size, "instances without changed size have to be updated prior to GC run");
+ // assert(size != new_size, "instances without changed size have to be updated prior to GC run");
size = new_size;
}
- compact_top = cp->space->forward(oop(q), size, cp, compact_top);
+ compact_top = cp->space->forward(oop(q), size, cp, compact_top, true);
assert(compact_top <= end(), "must not write over end of space!");
}
MarkSweep::_rescued_oops->clear();
diff --git a/src/hotspot/share/gc/shared/space.hpp b/src/hotspot/share/gc/shared/space.hpp
index c9bfc365f0f..f7648995454 100644
--- a/src/hotspot/share/gc/shared/space.hpp
+++ b/src/hotspot/share/gc/shared/space.hpp
@@ -405,7 +405,7 @@ public:
virtual void prepare_for_compaction(CompactPoint* cp) = 0;
// MarkSweep support phase3
DEBUG_ONLY(int space_index(oop obj));
- bool must_rescue(oop old_obj, oop new_obj);
+ virtual bool must_rescue(oop old_obj, oop new_obj);
HeapWord* rescue(HeapWord* old_obj);
virtual void adjust_pointers();
// MarkSweep support phase4
@@ -436,11 +436,11 @@ public:
// function of the then-current compaction space, and updates "cp->threshold
// accordingly".
virtual HeapWord* forward(oop q, size_t size, CompactPoint* cp,
- HeapWord* compact_top);
+ HeapWord* compact_top, bool force_forward);
// (DCEVM) same as forwad, but can rescue objects. Invoked only during
// redefinition runs
HeapWord* forward_with_rescue(HeapWord* q, size_t size, CompactPoint* cp,
- HeapWord* compact_top);
+ HeapWord* compact_top, bool force_forward);
HeapWord* forward_rescued(CompactPoint* cp, HeapWord* compact_top);
diff --git a/src/hotspot/share/gc/shared/space.inline.hpp b/src/hotspot/share/gc/shared/space.inline.hpp
index 5a93e93471b..fa645423685 100644
--- a/src/hotspot/share/gc/shared/space.inline.hpp
+++ b/src/hotspot/share/gc/shared/space.inline.hpp
@@ -163,6 +163,8 @@ inline void CompactibleSpace::scan_and_forward(SpaceType* space, CompactPoint* c
HeapWord* cur_obj = space->bottom();
HeapWord* scan_limit = space->scan_limit();
+ bool force_forward = false;
+
while (cur_obj < scan_limit) {
assert(!space->scanned_block_is_obj(cur_obj) ||
oop(cur_obj)->mark_raw().is_marked() || oop(cur_obj)->mark_raw().is_unlocked() ||
@@ -174,14 +176,15 @@ inline void CompactibleSpace::scan_and_forward(SpaceType* space, CompactPoint* c
size_t size = space->scanned_block_size(cur_obj);
if (redefinition_run) {
- compact_top = cp->space->forward_with_rescue(cur_obj, size, cp, compact_top);
+ compact_top = cp->space->forward_with_rescue(cur_obj, size, cp, compact_top, force_forward);
if (first_dead == NULL && oop(cur_obj)->is_gc_marked()) {
/* Was moved (otherwise, forward would reset mark),
set first_dead to here */
first_dead = cur_obj;
+ force_forward = true;
}
} else {
- compact_top = cp->space->forward(oop(cur_obj), size, cp, compact_top);
+ compact_top = cp->space->forward(oop(cur_obj), size, cp, compact_top, false);
}
cur_obj += size;
@@ -197,9 +200,9 @@ inline void CompactibleSpace::scan_and_forward(SpaceType* space, CompactPoint* c
// see if we might want to pretend this object is alive so that
// we don't have to compact quite as often.
- if (cur_obj == compact_top && dead_spacer.insert_deadspace(cur_obj, end)) {
+ if (!redefinition_run && cur_obj == compact_top && dead_spacer.insert_deadspace(cur_obj, end)) {
oop obj = oop(cur_obj);
- compact_top = cp->space->forward(obj, obj->size(), cp, compact_top);
+ compact_top = cp->space->forward(obj, obj->size(), cp, compact_top, force_forward);
end_of_live = end;
} else {
// otherwise, it really is a free region.
@@ -362,8 +365,7 @@ inline void CompactibleSpace::scan_and_compact(SpaceType* space, bool redefiniti
Prefetch::write(compaction_top, copy_interval);
// copy object and reinit its mark
- assert(cur_obj != compaction_top || oop(cur_obj)->klass()->new_version() != NULL,
- "everything in this pass should be moving");
+ assert(redefinition_run || cur_obj != compaction_top, "everything in this pass should be moving");
if (redefinition_run && oop(cur_obj)->klass()->new_version() != NULL) {
Klass* new_version = oop(cur_obj)->klass()->new_version();
if (new_version->update_information() == NULL) {
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 718426f2819..1da6661dd3e 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -431,13 +431,11 @@ public:
Klass* new_klass = obj->klass()->new_version();
if (new_klass->update_information() != NULL) {
- int size_diff = obj->size() - obj->size_given_klass(new_klass);
-
- // Either new size is bigger or gap is to small to be filled
- if (size_diff < 0 || (size_diff > 0 && (size_t) size_diff < CollectedHeap::min_fill_size())) {
+ if (obj->size() - obj->size_given_klass(new_klass) != 0) {
// We need an instance update => set back to old klass
_needs_instance_update = true;
} else {
+ // Either new size is bigger or gap is to small to be filled
oop src = obj;
if (new_klass->is_copying_backwards()) {
copy_to_tmp(obj);
--
2.23.0

View File

@@ -1,942 +0,0 @@
From 297f564f6af79fb824f5b4e9119f1d3d0c827fb0 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Mon, 16 Nov 2020 20:20:12 +0100
Subject: [PATCH 19/34] dcevm15 - fix java15 patch compilation issues
---
.../share/classfile/classFileParser.hpp | 8 +-
.../share/classfile/classLoaderData.cpp | 2 +-
src/hotspot/share/classfile/dictionary.hpp | 10 +-
src/hotspot/share/classfile/javaClasses.hpp | 2 +
.../share/gc/g1/g1FullGCCompactTask.cpp | 4 +-
.../share/gc/g1/g1FullGCCompactionPoint.cpp | 8 +-
.../share/gc/g1/g1FullGCPrepareTask.cpp | 4 +-
src/hotspot/share/gc/shared/dcevmSharedGC.cpp | 14 +-
src/hotspot/share/gc/shared/dcevmSharedGC.hpp | 2 +-
src/hotspot/share/gc/shared/gcConfig.cpp | 2 +-
src/hotspot/share/gc/shared/space.cpp | 4 +-
.../share/interpreter/linkResolver.cpp | 2 +-
src/hotspot/share/oops/instanceKlass.cpp | 17 ++-
src/hotspot/share/oops/instanceKlass.hpp | 1 +
src/hotspot/share/oops/klass.cpp | 8 +-
src/hotspot/share/prims/jvm.cpp | 2 +
.../prims/jvmtiEnhancedRedefineClasses.cpp | 129 +++++++++---------
.../prims/jvmtiEnhancedRedefineClasses.hpp | 14 +-
src/hotspot/share/prims/jvmtiEnv.cpp | 11 +-
.../share/prims/jvmtiRedefineClasses.cpp | 1 +
src/hotspot/share/prims/methodHandles.hpp | 3 +
src/hotspot/share/runtime/arguments.cpp | 22 +--
src/hotspot/share/runtime/mutexLocker.cpp | 2 +-
23 files changed, 159 insertions(+), 113 deletions(-)
diff --git a/src/hotspot/share/classfile/classFileParser.hpp b/src/hotspot/share/classfile/classFileParser.hpp
index e5761e61767..0d266b9047e 100644
--- a/src/hotspot/share/classfile/classFileParser.hpp
+++ b/src/hotspot/share/classfile/classFileParser.hpp
@@ -150,9 +150,6 @@ class ClassFileParser {
const intArray* _method_ordering;
GrowableArray<Method*>* _all_mirandas;
- // Enhanced class redefinition
- const bool _pick_newest;
-
enum { fixed_buffer_size = 128 };
u_char _linenumbertable_buffer[fixed_buffer_size];
@@ -206,6 +203,9 @@ class ClassFileParser {
bool _has_vanilla_constructor;
int _max_bootstrap_specifier_index; // detects BSS values
+ // (DCEVM) Enhanced class redefinition
+ const bool _pick_newest;
+
void parse_stream(const ClassFileStream* const stream, TRAPS);
void mangle_hidden_class_name(InstanceKlass* const ik);
@@ -582,7 +582,7 @@ class ClassFileParser {
ClassLoaderData* loader_data() const { return _loader_data; }
const Symbol* class_name() const { return _class_name; }
const InstanceKlass* super_klass() const { return _super_klass; }
- Array<Klass*>* local_interfaces() const { return _local_interfaces; }
+ Array<InstanceKlass*>* local_interfaces() const { return _local_interfaces; }
ReferenceType reference_type() const { return _rt; }
AccessFlags access_flags() const { return _access_flags; }
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 4d64c6b454a..aadcd50ef4a 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -597,7 +597,7 @@ void ClassLoaderData::exchange_holders(ClassLoaderData* cld) {
oop holder_oop = _holder.peek();
_holder.replace(cld->_holder.peek());
cld->_holder.replace(holder_oop);
- WeakHandle<vm_class_loader_data> exchange = _holder;
+ WeakHandle<vm_weak_data> exchange = _holder;
_holder = cld->_holder;
cld->_holder = exchange;
}
diff --git a/src/hotspot/share/classfile/dictionary.hpp b/src/hotspot/share/classfile/dictionary.hpp
index 114a983e783..a50f4ff84d2 100644
--- a/src/hotspot/share/classfile/dictionary.hpp
+++ b/src/hotspot/share/classfile/dictionary.hpp
@@ -84,6 +84,11 @@ public:
void print_on(outputStream* st) const;
void verify();
+ // (DCEVM) Enhanced class redefinition
+ bool update_klass(unsigned int hash, Symbol* name, ClassLoaderData* loader_data, InstanceKlass* k, InstanceKlass* old_klass);
+
+ void rollback_redefinition();
+
private:
DictionaryEntry* new_entry(unsigned int hash, InstanceKlass* klass);
@@ -106,11 +111,6 @@ public:
void free_entry(DictionaryEntry* entry);
- // Enhanced class redefinition
- bool update_klass(unsigned int hash, Symbol* name, ClassLoaderData* loader_data, InstanceKlass* k, InstanceKlass* old_klass);
-
- void rollback_redefinition();
-
// (DCEVM) return old class if redefining in AllowEnhancedClassRedefinition, otherwise return "k"
static InstanceKlass* old_if_redefined(InstanceKlass* k) {
return (k != NULL && k->is_redefining()) ? ((InstanceKlass* )k->old_version()) : k;
diff --git a/src/hotspot/share/classfile/javaClasses.hpp b/src/hotspot/share/classfile/javaClasses.hpp
index a68c5139151..9abf2e1d105 100644
--- a/src/hotspot/share/classfile/javaClasses.hpp
+++ b/src/hotspot/share/classfile/javaClasses.hpp
@@ -255,7 +255,9 @@ class java_lang_Class : AllStatic {
static void set_init_lock(oop java_class, oop init_lock);
static void set_protection_domain(oop java_class, oop protection_domain);
static void set_class_loader(oop java_class, oop class_loader);
+ public: // DCEVM
static void set_component_mirror(oop java_class, oop comp_mirror);
+ private:
static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain,
Handle classData, TRAPS);
static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain, TRAPS);
diff --git a/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp b/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
index f70f4606dc8..a22ed48560d 100644
--- a/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
+++ b/src/hotspot/share/gc/g1/g1FullGCCompactTask.cpp
@@ -157,14 +157,14 @@ void G1FullGCCompactTask::serial_compaction_dcevm() {
size_t G1FullGCCompactTask::G1CompactRegionClosureDcevm::apply(oop obj) {
size_t size = obj->size();
- HeapWord* destination = (HeapWord*)obj->forwardee();
+ HeapWord* destination = cast_from_oop<HeapWord*>(obj->forwardee());
if (destination == NULL) {
// Object not moving
return size;
}
// copy object and reinit its mark
- HeapWord* obj_addr = (HeapWord*) obj;
+ HeapWord* obj_addr = cast_from_oop<HeapWord*>(obj);
if (!_rescue_oops_it->at_end() && **_rescue_oops_it == obj_addr) {
++(*_rescue_oops_it);
diff --git a/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp b/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp
index 1e49571c999..755935a2c91 100644
--- a/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp
+++ b/src/hotspot/share/gc/g1/g1FullGCCompactionPoint.cpp
@@ -174,7 +174,7 @@ void G1FullGCCompactionPoint::forward_dcevm(oop object, size_t size, bool force_
assert(_current_region != NULL, "Must have been initialized");
// Store a forwarding pointer if the object should be moved.
- if ((HeapWord*)object != _compaction_top || force_forward) {
+ if (cast_from_oop<HeapWord*>(object) != _compaction_top || force_forward) {
object->forward_to(oop(_compaction_top));
} else {
if (object->forwardee() != NULL) {
@@ -188,11 +188,11 @@ void G1FullGCCompactionPoint::forward_dcevm(oop object, size_t size, bool force_
} else {
// Make sure object has the correct mark-word set or that it will be
// fixed when restoring the preserved marks.
- assert(object->mark_raw() == markOopDesc::prototype_for_object(object) || // Correct mark
- object->mark_raw()->must_be_preserved(object) || // Will be restored by PreservedMarksSet
+ assert(object->mark_raw() == markWord::prototype_for_klass(object->klass()) || // Correct mark
+ object->mark_must_be_preserved() || // Will be restored by PreservedMarksSet
(UseBiasedLocking && object->has_bias_pattern_raw()), // Will be restored by BiasedLocking
"should have correct prototype obj: " PTR_FORMAT " mark: " PTR_FORMAT " prototype: " PTR_FORMAT,
- p2i(object), p2i(object->mark_raw()), p2i(markOopDesc::prototype_for_object(object)));
+ p2i(object), object->mark_raw().value(), markWord::prototype_for_klass(object->klass()).value());
}
assert(object->forwardee() == NULL, "should be forwarded to NULL");
}
diff --git a/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp b/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp
index a45681b60cf..2f06b9617e4 100644
--- a/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp
+++ b/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp
@@ -269,7 +269,7 @@ size_t G1FullGCPrepareTask::G1PrepareCompactLiveClosureDcevm::apply(oop object)
HeapWord* compact_top = _cp->forward_compact_top(forward_size);
if (compact_top == NULL || must_rescue(object, oop(compact_top))) {
- _cp->rescued_oops()->append((HeapWord*)object);
+ _cp->rescued_oops()->append(cast_from_oop<HeapWord*>(object));
} else {
_cp->forward_dcevm(object, forward_size, (size != forward_size));
}
@@ -295,7 +295,7 @@ bool G1FullGCPrepareTask::G1PrepareCompactLiveClosureDcevm::must_rescue(oop old_
int new_size = old_obj->size_given_klass(oop(old_obj)->klass()->new_version());
int original_size = old_obj->size();
- bool overlap = ((HeapWord*)old_obj + original_size < (HeapWord*)new_obj + new_size);
+ bool overlap = (cast_from_oop<HeapWord*>(old_obj) + original_size < cast_from_oop<HeapWord*>(new_obj) + new_size);
return overlap;
}
diff --git a/src/hotspot/share/gc/shared/dcevmSharedGC.cpp b/src/hotspot/share/gc/shared/dcevmSharedGC.cpp
index 803e645f843..3dee097f1d3 100644
--- a/src/hotspot/share/gc/shared/dcevmSharedGC.cpp
+++ b/src/hotspot/share/gc/shared/dcevmSharedGC.cpp
@@ -58,10 +58,10 @@ void DcevmSharedGC::copy_rescued_objects_back(GrowableArray<HeapWord*>* rescued_
DcevmSharedGC::update_fields(rescued_obj, new_obj);
} else {
rescued_obj->set_klass(new_klass);
- Copy::aligned_disjoint_words((HeapWord*)rescued_obj, (HeapWord*)new_obj, size);
+ Copy::aligned_disjoint_words(cast_from_oop<HeapWord*>(rescued_obj), cast_from_oop<HeapWord*>(new_obj), size);
}
} else {
- Copy::aligned_disjoint_words((HeapWord*)rescued_obj, (HeapWord*)new_obj, size);
+ Copy::aligned_disjoint_words(cast_from_oop<HeapWord*>(rescued_obj), cast_from_oop<HeapWord*>(new_obj), size);
}
new_obj->init_mark_raw();
@@ -111,11 +111,11 @@ void DcevmSharedGC::update_fields(oop q, oop new_location) {
// Save object somewhere, there is an overlap in fields
if (new_klass_oop->is_copying_backwards()) {
- if (((HeapWord *)q >= (HeapWord *)new_location && (HeapWord *)q < (HeapWord *)new_location + new_size) ||
- ((HeapWord *)new_location >= (HeapWord *)q && (HeapWord *)new_location < (HeapWord *)q + size)) {
+ if ((cast_from_oop<HeapWord*>(q) >= cast_from_oop<HeapWord*>(new_location) && cast_from_oop<HeapWord*>(q) < cast_from_oop<HeapWord*>(new_location) + new_size) ||
+ (cast_from_oop<HeapWord*>(new_location) >= cast_from_oop<HeapWord*>(q) && cast_from_oop<HeapWord*>(new_location) < cast_from_oop<HeapWord*>(q) + size)) {
tmp = NEW_RESOURCE_ARRAY(HeapWord, size);
q = (oop) tmp;
- Copy::aligned_disjoint_words((HeapWord*)tmp_obj, (HeapWord*)q, size);
+ Copy::aligned_disjoint_words(cast_from_oop<HeapWord*>(tmp_obj), cast_from_oop<HeapWord*>(q), size);
}
}
@@ -131,13 +131,13 @@ void DcevmSharedGC::update_fields(oop q, oop new_location) {
void DcevmSharedGC::update_fields(oop new_location, oop tmp_obj, int *cur) {
assert(cur != NULL, "just checking");
- char* to = (char*)(HeapWord*)new_location;
+ char* to = (char*)cast_from_oop<HeapWord*>(new_location);
while (*cur != 0) {
int size = *cur;
if (size > 0) {
cur++;
int offset = *cur;
- HeapWord* from = (HeapWord*)(((char *)(HeapWord*)tmp_obj) + offset);
+ HeapWord* from = (HeapWord*)(((char *)cast_from_oop<HeapWord*>(tmp_obj)) + offset);
if (size == HeapWordSize) {
*((HeapWord*)to) = *from;
} else if (size == HeapWordSize * 2) {
diff --git a/src/hotspot/share/gc/shared/dcevmSharedGC.hpp b/src/hotspot/share/gc/shared/dcevmSharedGC.hpp
index e2ef0171fb2..a4e27e00280 100644
--- a/src/hotspot/share/gc/shared/dcevmSharedGC.hpp
+++ b/src/hotspot/share/gc/shared/dcevmSharedGC.hpp
@@ -29,7 +29,7 @@
#include "gc/shared/genOopClosures.hpp"
#include "gc/shared/taskqueue.hpp"
#include "memory/iterator.hpp"
-#include "oops/markOop.hpp"
+#include "oops/markWord.hpp"
#include "oops/oop.hpp"
#include "runtime/timer.hpp"
#include "utilities/growableArray.hpp"
diff --git a/src/hotspot/share/gc/shared/gcConfig.cpp b/src/hotspot/share/gc/shared/gcConfig.cpp
index f01d64d1434..5c1a09390f1 100644
--- a/src/hotspot/share/gc/shared/gcConfig.cpp
+++ b/src/hotspot/share/gc/shared/gcConfig.cpp
@@ -100,7 +100,7 @@ void GCConfig::fail_if_non_included_gc_is_selected() {
void GCConfig::select_gc_ergonomically() {
if (AllowEnhancedClassRedefinition && !UseG1GC) {
// Enhanced class redefinition only supports serial GC at the moment
- FLAG_SET_ERGO(bool, UseSerialGC, true);
+ FLAG_SET_ERGO(UseSerialGC, true);
} else if (os::is_server_class_machine()) {
#if INCLUDE_G1GC
FLAG_SET_ERGO_IF_DEFAULT(UseG1GC, true);
diff --git a/src/hotspot/share/gc/shared/space.cpp b/src/hotspot/share/gc/shared/space.cpp
index 9772c32c42e..e8e3d7884c2 100644
--- a/src/hotspot/share/gc/shared/space.cpp
+++ b/src/hotspot/share/gc/shared/space.cpp
@@ -440,7 +440,7 @@ int CompactibleSpace::space_index(oop obj) {
index++;
}
- tty->print_cr("could not compute space_index for %08xh", (HeapWord*)obj);
+ tty->print_cr("could not compute space_index for %08xh", cast_from_oop<HeapWord*>(obj));
index = 0;
Generation* gen = heap->old_gen();
@@ -485,7 +485,7 @@ bool CompactibleSpace::must_rescue(oop old_obj, oop new_obj) {
bool new_in_tenured = tenured_gen->is_in_reserved(new_obj);
if (old_in_tenured == new_in_tenured) {
// Rescue if object may overlap with a higher memory address.
- bool overlap = ((HeapWord*)old_obj + original_size < (HeapWord*)new_obj + new_size);
+ bool overlap = (cast_from_oop<HeapWord*>(old_obj) + original_size < cast_from_oop<HeapWord*>(new_obj) + new_size);
if (old_in_tenured) {
// Old and new address are in same space, so just compare the address.
// Must rescue if object moves towards the top of the space.
diff --git a/src/hotspot/share/interpreter/linkResolver.cpp b/src/hotspot/share/interpreter/linkResolver.cpp
index b2f24ddbeda..9daeeb70b34 100644
--- a/src/hotspot/share/interpreter/linkResolver.cpp
+++ b/src/hotspot/share/interpreter/linkResolver.cpp
@@ -1031,7 +1031,7 @@ void LinkResolver::resolve_field(fieldDescriptor& fd,
assert(m != NULL, "information about the current method must be available for 'put' bytecodes");
bool is_initialized_static_final_update = (byte == Bytecodes::_putstatic &&
fd.is_static() &&
- !(m()->is_static_initializer() || m()->name() == vmSymbols::ha_class_initializer_name()));
+ !(m->is_static_initializer() || m->name() == vmSymbols::ha_class_initializer_name()));
bool is_initialized_instance_final_update = ((byte == Bytecodes::_putfield || byte == Bytecodes::_nofast_putfield) &&
!fd.is_static() &&
!m->is_object_initializer());
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index f8e60941046..5e40d78a87e 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -1316,7 +1316,7 @@ void InstanceKlass::init_implementor() {
// (DCEVM) - init_implementor() for dcevm
void InstanceKlass::init_implementor_from_redefine() {
assert(is_interface(), "not interface");
- Klass** addr = adr_implementor();
+ Klass* volatile* addr = adr_implementor();
assert(addr != NULL, "null addr");
if (addr != NULL) {
*addr = NULL;
@@ -1659,6 +1659,21 @@ void InstanceKlass::methods_do(void f(Method* method)) {
}
}
+void InstanceKlass::methods_do(void f(Method* method, TRAPS), TRAPS) {
+ // Methods aren't stable until they are loaded. This can be read outside
+ // a lock through the ClassLoaderData for profiling
+ if (!is_loaded()) {
+ return;
+ }
+
+ int len = methods()->length();
+ for (int index = 0; index < len; index++) {
+ Method* m = methods()->at(index);
+ assert(m->is_method(), "must be method");
+ f(m, CHECK);
+ }
+}
+
// (DCEVM) Update information contains mapping of fields from old class to the new class.
// Info is stored on HEAP, you need to call clear_update_information to free the space.
void InstanceKlass::store_update_information(GrowableArray<int> &values) {
diff --git a/src/hotspot/share/oops/instanceKlass.hpp b/src/hotspot/share/oops/instanceKlass.hpp
index 6ead9426728..b56d42cb177 100644
--- a/src/hotspot/share/oops/instanceKlass.hpp
+++ b/src/hotspot/share/oops/instanceKlass.hpp
@@ -1069,6 +1069,7 @@ public:
void clear_update_information();
void methods_do(void f(Method* method));
+ void methods_do(void f(Method* method, TRAPS), TRAPS);
void array_klasses_do(void f(Klass* k));
void array_klasses_do(void f(Klass* k, TRAPS), TRAPS);
diff --git a/src/hotspot/share/oops/klass.cpp b/src/hotspot/share/oops/klass.cpp
index 352d8f84631..88f5ec9ba4a 100644
--- a/src/hotspot/share/oops/klass.cpp
+++ b/src/hotspot/share/oops/klass.cpp
@@ -200,13 +200,13 @@ void* Klass::operator new(size_t size, ClassLoaderData* loader_data, size_t word
Klass::Klass(KlassID id) : _id(id),
_java_mirror(NULL),
_prototype_header(markWord::prototype()),
- _shared_class_path_index(-1),
- _new_version(NULL),
_old_version(NULL),
+ _new_version(NULL),
+ _redefinition_flags(Klass::NoRedefinition),
_is_redefining(false),
+ _update_information(NULL),
_is_copying_backwards(false),
- _redefinition_flags(Klass::NoRedefinition),
- _update_information(NULL) {
+ _shared_class_path_index(-1) {
CDS_ONLY(_shared_class_flags = 0;)
CDS_JAVA_HEAP_ONLY(_archived_mirror = 0;)
_primary_supers[0] = this;
diff --git a/src/hotspot/share/prims/jvm.cpp b/src/hotspot/share/prims/jvm.cpp
index 333b65ccfc1..13bcac352fb 100644
--- a/src/hotspot/share/prims/jvm.cpp
+++ b/src/hotspot/share/prims/jvm.cpp
@@ -1054,6 +1054,7 @@ static jclass jvm_lookup_define_class(JNIEnv *env, jclass lookup, const char *na
class_loader,
protection_domain,
&st,
+ NULL,
CHECK_NULL);
if (log_is_enabled(Debug, class, resolve) && defined_k != NULL) {
@@ -1074,6 +1075,7 @@ static jclass jvm_lookup_define_class(JNIEnv *env, jclass lookup, const char *na
class_loader,
&st,
cl_info,
+ NULL,
CHECK_NULL);
if (defined_k == NULL) {
THROW_MSG_0(vmSymbols::java_lang_Error(), "Failure to define a hidden class");
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 1da6661dd3e..619e3988e3a 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -24,11 +24,14 @@
#include "precompiled.hpp"
#include "aot/aotLoader.hpp"
+#include "classfile/classFileParser.hpp"
#include "classfile/classFileStream.hpp"
#include "classfile/metadataOnStackMark.hpp"
#include "classfile/systemDictionary.hpp"
#include "classfile/verifier.hpp"
#include "classfile/dictionary.hpp"
+#include "classfile/classLoaderDataGraph.hpp"
+#include "interpreter/linkResolver.hpp"
#include "interpreter/oopMapCache.hpp"
#include "interpreter/rewriter.hpp"
#include "logging/logStream.hpp"
@@ -37,17 +40,22 @@
#include "memory/resourceArea.hpp"
#include "memory/iterator.inline.hpp"
#include "oops/fieldStreams.hpp"
+#include "oops/fieldStreams.inline.hpp"
#include "oops/klassVtable.hpp"
#include "oops/oop.inline.hpp"
#include "oops/constantPool.inline.hpp"
+#include "oops/metadata.hpp"
+#include "oops/methodData.hpp"
#include "prims/jvmtiImpl.hpp"
#include "prims/jvmtiClassFileReconstituter.hpp"
#include "prims/jvmtiEnhancedRedefineClasses.hpp"
#include "prims/methodComparator.hpp"
#include "prims/resolvedMethodTable.hpp"
+#include "prims/methodHandles.hpp"
#include "runtime/deoptimization.hpp"
#include "runtime/jniHandles.inline.hpp"
#include "runtime/relocator.hpp"
+#include "runtime/fieldDescriptor.hpp"
#include "runtime/fieldDescriptor.inline.hpp"
#include "utilities/bitMap.inline.hpp"
#include "prims/jvmtiThreadState.inline.hpp"
@@ -55,6 +63,8 @@
#include "oops/constantPool.inline.hpp"
#include "gc/g1/g1CollectedHeap.hpp"
#include "gc/shared/dcevmSharedGC.hpp"
+#include "gc/shared/scavengableNMethods.hpp"
+#include "ci/ciObjectFactory.hpp"
Array<Method*>* VM_EnhancedRedefineClasses::_old_methods = NULL;
Array<Method*>* VM_EnhancedRedefineClasses::_new_methods = NULL;
@@ -66,6 +76,7 @@ int VM_EnhancedRedefineClasses::_matching_methods_length = 0;
int VM_EnhancedRedefineClasses::_deleted_methods_length = 0;
int VM_EnhancedRedefineClasses::_added_methods_length = 0;
Klass* VM_EnhancedRedefineClasses::_the_class_oop = NULL;
+u8 VM_EnhancedRedefineClasses::_id_counter = 0;
//
// Create new instance of enhanced class redefiner.
@@ -88,6 +99,7 @@ VM_EnhancedRedefineClasses::VM_EnhancedRedefineClasses(jint class_count, const j
_class_load_kind = class_load_kind;
_res = JVMTI_ERROR_NONE;
_any_class_has_resolved_methods = false;
+ _id = next_id();
}
static inline InstanceKlass* get_ik(jclass def) {
@@ -211,9 +223,7 @@ class FieldCopier : public FieldClosure {
// TODO: review...
void VM_EnhancedRedefineClasses::mark_as_scavengable(nmethod* nm) {
- if (!nm->on_scavenge_root_list()) {
- CodeCache::add_scavenge_root_nmethod(nm);
- }
+ ScavengableNMethods::register_nmethod(nm);
}
void VM_EnhancedRedefineClasses::unregister_nmethod_g1(nmethod* nm) {
@@ -414,7 +424,7 @@ public:
_tmp_obj_size = size;
_tmp_obj = (oop)resource_allocate_bytes(size * HeapWordSize);
}
- Copy::aligned_disjoint_words((HeapWord*)o, (HeapWord*)_tmp_obj, size);
+ Copy::aligned_disjoint_words(cast_from_oop<HeapWord*>(o), cast_from_oop<HeapWord*>(_tmp_obj), size);
}
virtual void do_object(oop obj) {
@@ -505,9 +515,6 @@ void VM_EnhancedRedefineClasses::doit() {
ClearCpoolCacheAndUnpatch clear_cpool_cache(thread);
ClassLoaderDataGraph::classes_do(&clear_cpool_cache);
-
- // SystemDictionary::methods_do(fix_invoke_method);
-
// JSR-292 support
if (_any_class_has_resolved_methods) {
bool trace_name_printed = false;
@@ -564,8 +571,8 @@ void VM_EnhancedRedefineClasses::doit() {
InstanceKlass* old = InstanceKlass::cast(cur->old_version());
// Swap marks to have same hashcodes
- markOop cur_mark = cur->prototype_header();
- markOop old_mark = old->prototype_header();
+ markWord cur_mark = cur->prototype_header();
+ markWord old_mark = old->prototype_header();
cur->set_prototype_header(old_mark);
old->set_prototype_header(cur_mark);
@@ -579,14 +586,14 @@ void VM_EnhancedRedefineClasses::doit() {
// Revert pool holder for old version of klass (it was updated by one of ours closure!)
old->constants()->set_pool_holder(old);
- Klass* array_klasses = old->array_klasses();
+ ObjArrayKlass* array_klasses = old->array_klasses();
if (array_klasses != NULL) {
assert(cur->array_klasses() == NULL, "just checking");
// Transfer the array classes, otherwise we might get cast exceptions when casting array types.
// Also, set array klasses element klass.
cur->set_array_klasses(array_klasses);
- ObjArrayKlass::cast(array_klasses)->set_element_klass(cur);
+ array_klasses->set_element_klass(cur);
java_lang_Class::release_set_array_klass(cur->java_mirror(), array_klasses);
java_lang_Class::set_component_mirror(array_klasses->java_mirror(), cur->java_mirror());
}
@@ -641,11 +648,15 @@ void VM_EnhancedRedefineClasses::doit() {
//ClassLoaderDataGraph::classes_do(&clean_weak_method_links);
// Disable any dependent concurrent compilations
- SystemDictionary::notice_modification();
+ // SystemDictionary::notice_modification();
+
+ JvmtiExport::increment_redefinition_count();
// Set flag indicating that some invariants are no longer true.
// See jvmtiExport.hpp for detailed explanation.
- JvmtiExport::set_has_redefined_a_class();
+
+ // dcevm15: handled by _redefinition_count
+ // JvmtiExport::set_has_redefined_a_class();
#ifdef PRODUCT
if (log_is_enabled(Trace, redefine, class, obsolete, metadata)) {
@@ -718,7 +729,7 @@ bool VM_EnhancedRedefineClasses::is_modifiable_class(oop klass_mirror) {
}
// Cannot redefine or retransform an anonymous class.
- if (InstanceKlass::cast(k)->is_anonymous()) {
+ if (InstanceKlass::cast(k)->is_unsafe_anonymous()) {
return false;
}
return true;
@@ -804,22 +815,30 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
InstanceKlass* k;
- if (InstanceKlass::cast(the_class)->is_anonymous()) {
- const InstanceKlass* host_class = the_class->host_klass();
+ if (InstanceKlass::cast(the_class)->is_unsafe_anonymous()) {
+ const InstanceKlass* host_class = the_class->unsafe_anonymous_host();
// Make sure it's the real host class, not another anonymous class.
- while (host_class != NULL && host_class->is_anonymous()) {
- host_class = host_class->host_klass();
+ while (host_class != NULL && host_class->is_unsafe_anonymous()) {
+ host_class = host_class->unsafe_anonymous_host();
}
+ ClassLoadInfo cl_info(protection_domain,
+ host_class,
+ NULL, // dynamic_nest_host
+ NULL, // cp_patches
+ Handle(), // classData
+ false, // is_hidden
+ false, // is_strong_hidden
+ true); // FIXME: check if correct. can_access_vm_annotations
+
k = SystemDictionary::parse_stream(the_class_sym,
the_class_loader,
- protection_domain,
&st,
- host_class,
+ cl_info,
the_class,
- NULL,
THREAD);
+
k->class_loader_data()->exchange_holders(the_class->class_loader_data());
the_class->class_loader_data()->inc_keep_alive();
} else {
@@ -966,7 +985,7 @@ int VM_EnhancedRedefineClasses::calculate_redefinition_flags(InstanceKlass* new_
// Check interfaces
// Interfaces removed?
- Array<Klass*>* old_interfaces = the_class->transitive_interfaces();
+ Array<InstanceKlass*>* old_interfaces = the_class->transitive_interfaces();
for (i = 0; i < old_interfaces->length(); i++) {
InstanceKlass* old_interface = InstanceKlass::cast(old_interfaces->at(i));
if (!new_class->implements_interface_any_version(old_interface)) {
@@ -976,7 +995,7 @@ int VM_EnhancedRedefineClasses::calculate_redefinition_flags(InstanceKlass* new_
}
// Interfaces added?
- Array<Klass*>* new_interfaces = new_class->transitive_interfaces();
+ Array<InstanceKlass*>* new_interfaces = new_class->transitive_interfaces();
for (i = 0; i<new_interfaces->length(); i++) {
if (!the_class->implements_interface_any_version(new_interfaces->at(i))) {
result = result | Klass::ModifyClass;
@@ -1389,8 +1408,8 @@ void VM_EnhancedRedefineClasses::rollback() {
// Rewrite faster byte-codes back to their slower equivalent. Undoes rewriting happening in templateTable_xxx.cpp
// The reason is that once we zero cpool caches, we need to re-resolve all entries again. Faster bytecodes do not
// do that, they assume that cache entry is resolved already.
-void VM_EnhancedRedefineClasses::unpatch_bytecode(Method* method) {
- RawBytecodeStream bcs(method);
+void VM_EnhancedRedefineClasses::unpatch_bytecode(Method* method, TRAPS) {
+ RawBytecodeStream bcs(methodHandle(THREAD, method));
Bytecodes::Code code;
Bytecodes::Code java_code;
while (!bcs.is_last_bytecode()) {
@@ -1454,11 +1473,11 @@ void VM_EnhancedRedefineClasses::ClearCpoolCacheAndUnpatch::do_klass(Klass* k) {
HandleMark hm(_thread);
InstanceKlass *ik = InstanceKlass::cast(k);
- constantPoolHandle other_cp = constantPoolHandle(ik->constants());
+ constantPoolHandle other_cp = constantPoolHandle(_thread, ik->constants());
// Update host klass of anonymous classes (for example, produced by lambdas) to newest version.
- if (ik->is_anonymous() && ik->host_klass()->new_version() != NULL) {
- ik->set_host_klass(InstanceKlass::cast(ik->host_klass()->newest_version()));
+ if (ik->is_unsafe_anonymous() && ik->unsafe_anonymous_host()->new_version() != NULL) {
+ ik->set_unsafe_anonymous_host(InstanceKlass::cast(ik->unsafe_anonymous_host()->newest_version()));
}
// Update implementor if there is only one, in this case implementor() can reference old class
@@ -1492,7 +1511,18 @@ void VM_EnhancedRedefineClasses::ClearCpoolCacheAndUnpatch::do_klass(Klass* k) {
// If bytecode rewriting is enabled, we also need to unpatch bytecode to force resolution of zeroed entries
if (RewriteBytecodes) {
- ik->methods_do(unpatch_bytecode);
+ ik->methods_do(unpatch_bytecode, _thread);
+ }
+}
+
+u8 VM_EnhancedRedefineClasses::next_id() {
+ while (true) {
+ u8 id = _id_counter;
+ u8 next_id = id + 1;
+ u8 result = Atomic::cmpxchg(&_id_counter, id, next_id);
+ if (result == id) {
+ return next_id;
+ }
}
}
@@ -1512,31 +1542,8 @@ void VM_EnhancedRedefineClasses::MethodDataCleaner::do_klass(Klass* k) {
}
}
-void VM_EnhancedRedefineClasses::fix_invoke_method(Method* method) {
-
- constantPoolHandle other_cp = constantPoolHandle(method->constants());
-
- for (int i = 0; i < other_cp->length(); i++) {
- if (other_cp->tag_at(i).is_klass()) {
- Klass* klass = other_cp->resolved_klass_at(i);
- if (klass->new_version() != NULL) {
- // Constant pool entry points to redefined class -- update to the new version
- other_cp->klass_at_put(i, klass->newest_version());
- }
- assert(other_cp->resolved_klass_at(i)->new_version() == NULL, "Must be new klass!");
- }
- }
-
- ConstantPoolCache* cp_cache = other_cp->cache();
- if (cp_cache != NULL) {
- cp_cache->clear_entries();
- }
-
-}
-
-
-void VM_EnhancedRedefineClasses::update_jmethod_ids() {
+void VM_EnhancedRedefineClasses::update_jmethod_ids(TRAPS) {
for (int j = 0; j < _matching_methods_length; ++j) {
Method* old_method = _matching_old_methods[j];
jmethodID jmid = old_method->find_jmethod_id_or_null();
@@ -1547,10 +1554,10 @@ void VM_EnhancedRedefineClasses::update_jmethod_ids() {
if (jmid != NULL) {
// There is a jmethodID, change it to point to the new method
- methodHandle new_method_h(_matching_new_methods[j]);
+ methodHandle new_method_h(THREAD, _matching_new_methods[j]);
if (old_method->new_version() == NULL) {
- methodHandle old_method_h(_matching_old_methods[j]);
+ methodHandle old_method_h(THREAD, _matching_old_methods[j]);
jmethodID new_jmethod_id = Method::make_jmethod_id(old_method_h->method_holder()->class_loader_data(), old_method_h());
bool result = InstanceKlass::cast(old_method_h->method_holder())->update_jmethod_id(old_method_h(), new_jmethod_id);
} else {
@@ -1887,7 +1894,7 @@ void VM_EnhancedRedefineClasses::redefine_single_class(InstanceKlass* new_class_
// track number of methods that are EMCP for add_previous_version() call below
check_methods_and_mark_as_obsolete();
- update_jmethod_ids();
+ update_jmethod_ids(THREAD);
_any_class_has_resolved_methods = the_class->has_resolved_methods() || _any_class_has_resolved_methods;
@@ -2119,12 +2126,12 @@ jvmtiError VM_EnhancedRedefineClasses::do_topological_class_sorting(TRAPS) {
Handle protection_domain(THREAD, klass->protection_domain());
+ ClassLoadInfo cl_info(protection_domain);
+
ClassFileParser parser(&st,
klass->name(),
klass->class_loader_data(),
- protection_domain,
- NULL, // host_klass
- NULL, // cp_patches
+ &cl_info,
ClassFileParser::INTERNAL, // publicity level
true,
THREAD);
@@ -2134,7 +2141,7 @@ jvmtiError VM_EnhancedRedefineClasses::do_topological_class_sorting(TRAPS) {
links.append(KlassPair(super_klass, klass));
}
- Array<Klass*>* local_interfaces = parser.local_interfaces();
+ Array<InstanceKlass*>* local_interfaces = parser.local_interfaces();
for (int j = 0; j < local_interfaces->length(); j++) {
Klass* iface = local_interfaces->at(j);
if (iface != NULL && _affected_klasses->contains(iface)) {
@@ -2157,7 +2164,7 @@ jvmtiError VM_EnhancedRedefineClasses::do_topological_class_sorting(TRAPS) {
links.append(KlassPair(super_klass, klass));
}
- Array<Klass*>* local_interfaces = klass->local_interfaces();
+ Array<InstanceKlass*>* local_interfaces = klass->local_interfaces();
for (int j = 0; j < local_interfaces->length(); j++) {
Klass* interfaceKlass = local_interfaces->at(j);
if (_affected_klasses->contains(interfaceKlass)) {
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 4c0412d343d..0066088b3b0 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -32,7 +32,7 @@
#include "memory/resourceArea.hpp"
#include "oops/objArrayKlass.hpp"
#include "oops/objArrayOop.hpp"
-#include "gc/shared/vmGCOperations.hpp"
+#include "gc/shared/gcVMOperations.hpp"
#include "../../../java.base/unix/native/include/jni_md.h"
//
@@ -59,6 +59,7 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
static int _deleted_methods_length;
static int _added_methods_length;
static Klass* _the_class_oop;
+ static u8 _id_counter;
// The instance fields are used to pass information from
// doit_prologue() to doit() and doit_epilogue().
@@ -91,6 +92,9 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
elapsedTimer _timer_heap_iterate;
elapsedTimer _timer_heap_full_gc;
+ // Redefinition id used by JFR
+ u8 _id;
+
// These routines are roughly in call order unless otherwise noted.
// Load and link new classes (either redefined or affected by redefinition - subclass, ...)
@@ -118,15 +122,14 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
static void mark_as_scavengable(nmethod* nm);
static void unregister_nmethod_g1(nmethod* nm);
static void register_nmethod_g1(nmethod* nm);
- static void unpatch_bytecode(Method* method);
- static void fix_invoke_method(Method* method);
+ static void unpatch_bytecode(Method* method, TRAPS);
// Figure out which new methods match old methods in name and signature,
// which methods have been added, and which are no longer present
void compute_added_deleted_matching_methods();
// Change jmethodIDs to point to the new methods
- void update_jmethod_ids();
+ void update_jmethod_ids(TRAPS);
// marking methods as old and/or obsolete
void check_methods_and_mark_as_obsolete();
@@ -141,6 +144,8 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
void flush_dependent_code(InstanceKlass* k_h, TRAPS);
+ u8 next_id();
+
static void check_class(InstanceKlass* k_oop, TRAPS);
static void dump_methods();
@@ -181,6 +186,7 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
bool allow_nested_vm_operations() const { return true; }
jvmtiError check_error() { return _res; }
+ u8 id() { return _id; }
// Modifiable test must be shared between IsModifiableClass query
// and redefine implementation
diff --git a/src/hotspot/share/prims/jvmtiEnv.cpp b/src/hotspot/share/prims/jvmtiEnv.cpp
index b6838ac034d..fba0f48abd7 100644
--- a/src/hotspot/share/prims/jvmtiEnv.cpp
+++ b/src/hotspot/share/prims/jvmtiEnv.cpp
@@ -456,20 +456,23 @@ JvmtiEnv::RetransformClasses(jint class_count, const jclass* classes) {
EventRetransformClasses event;
jvmtiError error;
+ u8 op_id;
if (AllowEnhancedClassRedefinition) {
MutexLocker sd_mutex(EnhancedRedefineClasses_lock);
VM_EnhancedRedefineClasses op(class_count, class_definitions, jvmti_class_load_kind_retransform);
VMThread::execute(&op);
+ op_id = op.id();
error = (op.check_error());
} else {
VM_RedefineClasses op(class_count, class_definitions, jvmti_class_load_kind_retransform);
VMThread::execute(&op);
+ op_id = op.id();
error = op.check_error();
}
if (error == JVMTI_ERROR_NONE) {
event.set_classCount(class_count);
- event.set_redefinitionId(op.id());
+ event.set_redefinitionId(op_id);
event.commit();
}
return error;
@@ -484,19 +487,23 @@ JvmtiEnv::RedefineClasses(jint class_count, const jvmtiClassDefinition* class_de
EventRedefineClasses event;
jvmtiError error;
+ u8 op_id;
+
if (AllowEnhancedClassRedefinition) {
MutexLocker sd_mutex(EnhancedRedefineClasses_lock);
VM_EnhancedRedefineClasses op(class_count, class_definitions, jvmti_class_load_kind_redefine);
VMThread::execute(&op);
+ op_id = op.id();
error = (op.check_error());
} else {
VM_RedefineClasses op(class_count, class_definitions, jvmti_class_load_kind_redefine);
VMThread::execute(&op);
+ op_id = op.id();
error = op.check_error();
}
if (error == JVMTI_ERROR_NONE) {
event.set_classCount(class_count);
- event.set_redefinitionId(op.id());
+ event.set_redefinitionId(op_id);
event.commit();
}
return error;
diff --git a/src/hotspot/share/prims/jvmtiRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
index a7840848e10..346eac7c431 100644
--- a/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
@@ -1271,6 +1271,7 @@ jvmtiError VM_RedefineClasses::load_new_class_versions(TRAPS) {
the_class_loader,
&st,
cl_info,
+ NULL,
THREAD);
// Clear class_being_redefined just to be sure.
state->clear_class_being_redefined();
diff --git a/src/hotspot/share/prims/methodHandles.hpp b/src/hotspot/share/prims/methodHandles.hpp
index 54f36202a5f..917d31efd77 100644
--- a/src/hotspot/share/prims/methodHandles.hpp
+++ b/src/hotspot/share/prims/methodHandles.hpp
@@ -180,6 +180,9 @@ public:
assert(ref_kind_is_valid(ref_kind), "");
return (ref_kind & 1) != 0;
}
+ static bool ref_kind_is_static(int ref_kind) {
+ return !ref_kind_has_receiver(ref_kind) && (ref_kind != JVM_REF_newInvokeSpecial);
+ }
static int ref_kind_to_flags(int ref_kind);
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index d05a2893498..3a92b8869dc 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -2128,13 +2128,15 @@ bool Arguments::check_gc_consistency() {
// of collectors.
uint i = 0;
if (UseSerialGC) i++;
- if (UseConcMarkSweepGC) i++;
- if (UseParallelGC || UseParallelOldGC) i++;
+ if (UseParallelGC) i++;
if (UseG1GC) i++;
+ if (UseEpsilonGC) i++;
+ if (UseZGC) i++;
+ if (UseShenandoahGC) i++;
if (AllowEnhancedClassRedefinition) {
// Must use serial GC. This limitation applies because the instance size changing GC modifications
// are only built into the mark and compact algorithm.
- if ((!UseSerialGC && !UseG1GC) && i >= 1) {
+ if (!UseSerialGC && !UseG1GC && i >= 1) {
jio_fprintf(defaultStream::error_stream(),
"Must use the Serial or G1 GC with enhanced class redefinition.\n");
return false;
@@ -4494,18 +4496,18 @@ void Arguments::setup_hotswap_agent() {
// TODO: open it only for org.hotswap.agent module
// Use to access java.lang.reflect.Proxy/proxyCache
- create_numbered_property("jdk.module.addopens", "java.base/java.lang=ALL-UNNAMED", addopens_count++);
+ create_numbered_module_property("jdk.module.addopens", "java.base/java.lang=ALL-UNNAMED", addopens_count++);
// Class of field java.lang.reflect.Proxy/proxyCache
- create_numbered_property("jdk.module.addopens", "java.base/jdk.internal.loader=ALL-UNNAMED", addopens_count++);
+ create_numbered_module_property("jdk.module.addopens", "java.base/jdk.internal.loader=ALL-UNNAMED", addopens_count++);
// Use to access java.io.Reader, java.io.InputStream, java.io.FileInputStream
- create_numbered_property("jdk.module.addopens", "java.base/java.io=ALL-UNNAMED", addopens_count++);
+ create_numbered_module_property("jdk.module.addopens", "java.base/java.io=ALL-UNNAMED", addopens_count++);
// java.beans.Introspector access
- create_numbered_property("jdk.module.addopens", "java.desktop/java.beans=ALL-UNNAMED", addopens_count++);
+ create_numbered_module_property("jdk.module.addopens", "java.desktop/java.beans=ALL-UNNAMED", addopens_count++);
// java.beans.Introspector access
- create_numbered_property("jdk.module.addopens", "java.desktop/com.sun.beans=ALL-UNNAMED", addopens_count++);
+ create_numbered_module_property("jdk.module.addopens", "java.desktop/com.sun.beans=ALL-UNNAMED", addopens_count++);
// com.sun.beans.introspect.ClassInfo access
- create_numbered_property("jdk.module.addopens", "java.desktop/com.sun.beans.introspect=ALL-UNNAMED", addopens_count++);
+ create_numbered_module_property("jdk.module.addopens", "java.desktop/com.sun.beans.introspect=ALL-UNNAMED", addopens_count++);
// com.sun.beans.introspect.util.Cache access
- create_numbered_property("jdk.module.addopens", "java.desktop/com.sun.beans.util=ALL-UNNAMED", addopens_count++);
+ create_numbered_module_property("jdk.module.addopens", "java.desktop/com.sun.beans.util=ALL-UNNAMED", addopens_count++);
}
diff --git a/src/hotspot/share/runtime/mutexLocker.cpp b/src/hotspot/share/runtime/mutexLocker.cpp
index 6f982072909..14a3ed730fe 100644
--- a/src/hotspot/share/runtime/mutexLocker.cpp
+++ b/src/hotspot/share/runtime/mutexLocker.cpp
@@ -287,7 +287,7 @@ void mutex_init() {
def(InitCompleted_lock , PaddedMonitor, leaf, true, _safepoint_check_never);
def(VtableStubs_lock , PaddedMutex , nonleaf, true, _safepoint_check_never);
def(Notify_lock , PaddedMonitor, nonleaf, true, _safepoint_check_always);
- def(EnhancedRedefineClasses_lock , PaddedMutex , nonleaf+7, false, Monitor::_safepoint_check_always); // for ensuring that class redefinition is not done in parallel
+ def(EnhancedRedefineClasses_lock , PaddedMutex , nonleaf+7, false, _safepoint_check_always); // for ensuring that class redefinition is not done in parallel
def(JNICritical_lock , PaddedMonitor, nonleaf, true, _safepoint_check_always); // used for JNI critical regions
def(AdapterHandlerLibrary_lock , PaddedMutex , nonleaf, true, _safepoint_check_always);
--
2.23.0

View File

@@ -1,25 +0,0 @@
From 336cab4f72c6e642e3077ea8d1a4860de33f5a4d Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Tue, 17 Nov 2020 17:40:24 +0100
Subject: [PATCH 20/34] dcevm15 - G1 fixes
---
src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp b/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp
index 2f06b9617e4..476728a5d26 100644
--- a/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp
+++ b/src/hotspot/share/gc/g1/g1FullGCPrepareTask.cpp
@@ -240,7 +240,7 @@ void G1FullGCPrepareTask::prepare_serial_compaction_dcevm() {
// collect remaining, not forwarded rescued oops using serial compact point
while (cp->last_rescued_oop() < cp->rescued_oops()->length()) {
- HeapRegion* hr = G1CollectedHeap::heap()->new_region(HeapRegion::GrainBytes / HeapWordSize, false, true);
+ HeapRegion* hr = G1CollectedHeap::heap()->new_region(HeapRegion::GrainBytes / HeapWordSize, HeapRegionType::Eden, true, G1NUMA::AnyNodeIndex);
if (hr == NULL) {
vm_exit_out_of_memory(0, OOM_MMAP_ERROR, "G1 - not enough of free regions after redefinition.");
}
--
2.23.0

View File

@@ -1,133 +0,0 @@
From cea4e2cca3c37233c728be7235f8f9d8be136cb5 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Tue, 17 Nov 2020 18:52:57 +0100
Subject: [PATCH 21/34] dcevm15 - Fix flush dependent code
---
.../prims/jvmtiEnhancedRedefineClasses.cpp | 57 +++++++------------
.../prims/jvmtiEnhancedRedefineClasses.hpp | 4 +-
2 files changed, 25 insertions(+), 36 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 619e3988e3a..efaf11e1666 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -508,7 +508,7 @@ void VM_EnhancedRedefineClasses::doit() {
// Deoptimize all compiled code that depends on this class (do only once, because it clears whole cache)
// if (_max_redefinition_flags > Klass::ModifyClass) {
- flush_dependent_code(NULL, thread);
+ flush_dependent_code(thread);
// }
// Adjust constantpool caches for all classes that reference methods of the evolved class.
@@ -647,17 +647,8 @@ void VM_EnhancedRedefineClasses::doit() {
//MethodDataCleaner clean_weak_method_links;
//ClassLoaderDataGraph::classes_do(&clean_weak_method_links);
- // Disable any dependent concurrent compilations
- // SystemDictionary::notice_modification();
-
JvmtiExport::increment_redefinition_count();
- // Set flag indicating that some invariants are no longer true.
- // See jvmtiExport.hpp for detailed explanation.
-
- // dcevm15: handled by _redefinition_count
- // JvmtiExport::set_has_redefined_a_class();
-
#ifdef PRODUCT
if (log_is_enabled(Trace, redefine, class, obsolete, metadata)) {
#endif
@@ -1746,6 +1737,18 @@ void VM_EnhancedRedefineClasses::transfer_old_native_function_registrations(Inst
transfer.transfer_registrations(_matching_old_methods, _matching_methods_length);
}
+// First step is to walk the code cache for each class redefined and mark
+// dependent methods. Wait until all classes are processed to deoptimize everything.
+void VM_EnhancedRedefineClasses::mark_dependent_code(InstanceKlass* ik) {
+ assert_locked_or_safepoint(Compile_lock);
+
+ // All dependencies have been recorded from startup or this is a second or
+ // subsequent use of RedefineClasses
+ if (0 && JvmtiExport::all_dependencies_are_recorded()) {
+ CodeCache::mark_for_evol_deoptimization(ik);
+ }
+}
+
// DCEVM - it always deoptimizes everything! (because it is very difficult to find only correct dependencies)
// Deoptimize all compiled code that depends on this class.
//
@@ -1762,33 +1765,21 @@ void VM_EnhancedRedefineClasses::transfer_old_native_function_registrations(Inst
// subsequent calls to RedefineClasses need only throw away code
// that depends on the class.
//
-void VM_EnhancedRedefineClasses::flush_dependent_code(InstanceKlass* k_h, TRAPS) {
+void VM_EnhancedRedefineClasses::flush_dependent_code(TRAPS) {
assert_locked_or_safepoint(Compile_lock);
// All dependencies have been recorded from startup or this is a second or
// subsequent use of RedefineClasses
// FIXME: for now, deoptimize all!
- if (0 && k_h != NULL && JvmtiExport::all_dependencies_are_recorded()) {
- CodeCache::flush_evol_dependents_on(k_h);
- Klass* superCl = k_h->super();
- // Deoptimize super classes since redefined class can has a new method override
- while (superCl != NULL && !superCl->is_redefining()) {
- CodeCache::flush_evol_dependents_on(InstanceKlass::cast(superCl));
- superCl = superCl->super();
+ if (0 && JvmtiExport::all_dependencies_are_recorded()) {
+ int deopt = CodeCache::mark_dependents_for_evol_deoptimization();
+ log_debug(redefine, class, nmethod)("Marked %d dependent nmethods for deopt", deopt);
+ if (deopt != 0) {
+ CodeCache::flush_evol_dependents();
}
} else {
- CodeCache::mark_all_nmethods_for_deoptimization();
-
- ResourceMark rm(THREAD);
- DeoptimizationMarker dm;
-
- // Deoptimize all activations depending on marked nmethods
- Deoptimization::deoptimize_dependents();
-
- // Make the dependent methods not entrant
- CodeCache::make_marked_nmethods_not_entrant();
-
- // From now on we know that the dependency information is complete
+ CodeCache::mark_all_nmethods_for_evol_deoptimization();
+ CodeCache::flush_evol_dependents();
JvmtiExport::set_all_dependencies_are_recorded(true);
}
}
@@ -1881,11 +1872,7 @@ void VM_EnhancedRedefineClasses::redefine_single_class(InstanceKlass* new_class_
JvmtiBreakpoints& jvmti_breakpoints = JvmtiCurrentBreakpoints::get_jvmti_breakpoints();
jvmti_breakpoints.clearall_in_class_at_safepoint(the_class);
- // DCEVM Deoptimization is always for whole java world, call only once after all classes are redefined
- // Deoptimize all compiled code that depends on this class
-// if (_max_redefinition_flags <= Klass::ModifyClass) {
-// flush_dependent_code(the_class, THREAD);
-// }
+ mark_dependent_code(the_class);
_old_methods = the_class->methods();
_new_methods = new_class->methods();
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 0066088b3b0..bd5e7d153be 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -142,7 +142,9 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
// and in all direct and indirect subclasses.
void increment_class_counter(InstanceKlass *ik, TRAPS);
- void flush_dependent_code(InstanceKlass* k_h, TRAPS);
+ void mark_dependent_code(InstanceKlass* ik);
+
+ void flush_dependent_code(TRAPS);
u8 next_id();
--
2.23.0

View File

@@ -1,211 +0,0 @@
From 4f88dcec830d39452f69d1117729469fdb768a8f Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 22 Nov 2020 12:05:26 +0100
Subject: [PATCH 22/34] dcevm15 - fix ResolvedMethodTable
---
src/hotspot/share/classfile/javaClasses.cpp | 5 -
src/hotspot/share/classfile/javaClasses.hpp | 1 -
.../share/prims/resolvedMethodTable.cpp | 139 +++++++++++-------
3 files changed, 84 insertions(+), 61 deletions(-)
diff --git a/src/hotspot/share/classfile/javaClasses.cpp b/src/hotspot/share/classfile/javaClasses.cpp
index 9b086a241f7..9a627786d0f 100644
--- a/src/hotspot/share/classfile/javaClasses.cpp
+++ b/src/hotspot/share/classfile/javaClasses.cpp
@@ -3996,11 +3996,6 @@ void java_lang_invoke_ResolvedMethodName::set_vmholder(oop resolved_method, oop
resolved_method->obj_field_put(_vmholder_offset, holder);
}
-void java_lang_invoke_ResolvedMethodName::set_vmholder_offset(oop resolved_method, Method* m) {
- assert(is_instance(resolved_method), "wrong type");
- resolved_method->obj_field_put(_vmholder_offset, m->method_holder()->java_mirror());
-}
-
oop java_lang_invoke_ResolvedMethodName::find_resolved_method(const methodHandle& m, TRAPS) {
const Method* method = m();
diff --git a/src/hotspot/share/classfile/javaClasses.hpp b/src/hotspot/share/classfile/javaClasses.hpp
index 9abf2e1d105..8f5993b7225 100644
--- a/src/hotspot/share/classfile/javaClasses.hpp
+++ b/src/hotspot/share/classfile/javaClasses.hpp
@@ -1107,7 +1107,6 @@ class java_lang_invoke_ResolvedMethodName : AllStatic {
static Method* vmtarget(oop resolved_method);
static void set_vmtarget(oop resolved_method, Method* method);
- static void set_vmholder_offset(oop resolved_method, Method* method);
static void set_vmholder(oop resolved_method, oop holder);
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index eb9fcda44f3..d0f1667b967 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -375,6 +375,67 @@ public:
}
};
+class AdjustMethodEntriesDcevm : public StackObj {
+ bool* _trace_name_printed;
+ GrowableArray<oop>* _oops_to_add;
+public:
+ AdjustMethodEntriesDcevm(GrowableArray<oop>* oops_to_add, bool* trace_name_printed) : _trace_name_printed(trace_name_printed), _oops_to_add(oops_to_add) {};
+ bool operator()(WeakHandle<vm_resolved_method_table_data>* entry) {
+ oop mem_name = entry->peek();
+ if (mem_name == NULL) {
+ // Removed
+ return true;
+ }
+
+ Method* old_method = (Method*)java_lang_invoke_ResolvedMethodName::vmtarget(mem_name);
+
+ if (old_method->is_old()) {
+
+ InstanceKlass* newer_klass = InstanceKlass::cast(old_method->method_holder()->new_version());
+ Method* newer_method;
+
+ // Method* new_method;
+ if (old_method->is_deleted()) {
+ newer_method = Universe::throw_no_such_method_error();
+ } else {
+ newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
+
+ log_debug(redefine, class, update)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
+
+ assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
+ assert(newer_method != NULL, "method_with_idnum() should not be NULL");
+ assert(old_method != newer_method, "sanity check");
+
+ Thread* thread = Thread::current();
+ ResolvedMethodTableLookup lookup(thread, method_hash(newer_method), newer_method);
+ ResolvedMethodGet rmg(thread, newer_method);
+
+ if (_local_table->get(thread, lookup, rmg)) {
+ // old method was already adjusted if new method exists in _the_table
+ return true;
+ }
+ }
+
+ java_lang_invoke_ResolvedMethodName::set_vmtarget(mem_name, newer_method);
+ java_lang_invoke_ResolvedMethodName::set_vmholder(mem_name, newer_method->method_holder()->java_mirror());
+
+ newer_klass->set_has_resolved_methods();
+ _oops_to_add->append(mem_name);
+
+ ResourceMark rm;
+ if (!(*_trace_name_printed)) {
+ log_debug(redefine, class, update)("adjust: name=%s", old_method->method_holder()->external_name());
+ *_trace_name_printed = true;
+ }
+ log_debug(redefine, class, update, constantpool)
+ ("ResolvedMethod method update: %s(%s)",
+ newer_method->name()->as_C_string(), newer_method->signature()->as_C_string());
+ }
+
+ return true;
+ }
+};
+
// It is called at safepoint only for RedefineClasses
void ResolvedMethodTable::adjust_method_entries(bool * trace_name_printed) {
assert(SafepointSynchronize::is_at_safepoint(), "only called at safepoint");
@@ -382,73 +443,41 @@ void ResolvedMethodTable::adjust_method_entries(bool * trace_name_printed) {
AdjustMethodEntries adjust(trace_name_printed);
_local_table->do_safepoint_scan(adjust);
}
-#endif // INCLUDE_JVMTI
-// (DCEVM) It is called at safepoint only for RedefineClasses
+// It is called at safepoint only for RedefineClasses
void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed) {
assert(SafepointSynchronize::is_at_safepoint(), "only called at safepoint");
// For each entry in RMT, change to new method
- GrowableArray<oop>* oops_to_add = new GrowableArray<oop>();
-
- for (int i = 0; i < _the_table->table_size(); ++i) {
- for (ResolvedMethodEntry* entry = _the_table->bucket(i);
- entry != NULL;
- entry = entry->next()) {
-
- oop mem_name = entry->object_no_keepalive();
- // except ones removed
- if (mem_name == NULL) {
- continue;
- }
- Method* old_method = (Method*)java_lang_invoke_ResolvedMethodName::vmtarget(mem_name);
-
- if (old_method->is_old()) {
-
- InstanceKlass* newer_klass = InstanceKlass::cast(old_method->method_holder()->new_version());
- Method* newer_method;
-
- // Method* new_method;
- if (old_method->is_deleted()) {
- newer_method = Universe::throw_no_such_method_error();
- } else {
- newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
-
- log_debug(redefine, class, update)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
-
- assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
- assert(newer_method != NULL, "method_with_idnum() should not be NULL");
- assert(old_method != newer_method, "sanity check");
-
- if (_the_table->lookup(newer_method) != NULL) {
- // old method was already adjusted if new method exists in _the_table
- continue;
- }
- }
+ GrowableArray<oop> oops_to_add(0);
+ AdjustMethodEntriesDcevm adjust(&oops_to_add, trace_name_printed);
+ _local_table->do_safepoint_scan(adjust);
+ Thread* thread = Thread::current();
+ for (int i = 0; i < oops_to_add.length(); i++) {
+ oop mem_name = oops_to_add.at(i);
+ Method* method = (Method*)java_lang_invoke_ResolvedMethodName::vmtarget(mem_name);
- java_lang_invoke_ResolvedMethodName::set_vmtarget(mem_name, newer_method);
- java_lang_invoke_ResolvedMethodName::set_vmholder_offset(mem_name, newer_method);
+ // The hash table takes ownership of the WeakHandle, even if it's not inserted.
- newer_klass->set_has_resolved_methods();
- oops_to_add->append(mem_name);
+ ResolvedMethodTableLookup lookup(thread, method_hash(method), method);
+ ResolvedMethodGet rmg(thread, method);
- ResourceMark rm;
- if (!(*trace_name_printed)) {
- log_debug(redefine, class, update)("adjust: name=%s", old_method->method_holder()->external_name());
- *trace_name_printed = true;
- }
- log_debug(redefine, class, update, constantpool)
- ("ResolvedMethod method update: %s(%s)",
- newer_method->name()->as_C_string(), newer_method->signature()->as_C_string());
+ while (true) {
+ if (_local_table->get(thread, lookup, rmg)) {
+ break;
+ }
+ WeakHandle<vm_resolved_method_table_data> wh = WeakHandle<vm_resolved_method_table_data>::create(Handle(thread, mem_name));
+ // The hash table takes ownership of the WeakHandle, even if it's not inserted.
+ if (_local_table->insert(thread, lookup, wh)) {
+ log_insert(method);
+ wh.resolve();
+ break;
}
- }
- for (int i = 0; i < oops_to_add->length(); i++) {
- oop mem_name = oops_to_add->at(i);
- Method* method = (Method*)java_lang_invoke_ResolvedMethodName::vmtarget(mem_name);
- _the_table->basic_add(method, Handle(Thread::current(), mem_name));
}
}
}
+#endif // INCLUDE_JVMTI
+
// Verification
class VerifyResolvedMethod : StackObj {
public:
--
2.23.0

View File

@@ -1,88 +0,0 @@
From 5379e56465d3d3930ec7ea91b1c64db2cdf70170 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 22 Nov 2020 12:05:50 +0100
Subject: [PATCH 23/34] dcevm15 - fix Universe::root_oops_do
---
src/hotspot/share/memory/universe.cpp | 38 +++++++++------------------
1 file changed, 12 insertions(+), 26 deletions(-)
diff --git a/src/hotspot/share/memory/universe.cpp b/src/hotspot/share/memory/universe.cpp
index f6e4253b5a5..8dad437bd51 100644
--- a/src/hotspot/share/memory/universe.cpp
+++ b/src/hotspot/share/memory/universe.cpp
@@ -39,6 +39,7 @@
#include "gc/shared/gcConfig.hpp"
#include "gc/shared/gcLogPrecious.hpp"
#include "gc/shared/gcTraceTime.inline.hpp"
+#include "gc/shared/weakProcessor.hpp"
#include "interpreter/interpreter.hpp"
#include "logging/log.hpp"
#include "logging/logStream.hpp"
@@ -75,6 +76,7 @@
#include "runtime/thread.inline.hpp"
#include "runtime/timerTrace.hpp"
#include "runtime/vmOperations.hpp"
+#include "services/management.hpp"
#include "services/memoryService.hpp"
#include "utilities/align.hpp"
#include "utilities/copy.hpp"
@@ -180,45 +182,29 @@ void Universe::basic_type_classes_do(KlassClosure *closure) {
// FIXME: (DCEVM) This method should iterate all pointers that are not within heap objects.
void Universe::root_oops_do(OopClosure *oopClosure) {
-
- class AlwaysTrueClosure: public BoolObjectClosure {
- public:
- void do_object(oop p) { ShouldNotReachHere(); }
- bool do_object_b(oop p) { return true; }
- };
- AlwaysTrueClosure always_true;
-
Universe::oops_do(oopClosure);
// ReferenceProcessor::oops_do(oopClosure); (tw) check why no longer there
JNIHandles::oops_do(oopClosure); // Global (strong) JNI handles
Threads::oops_do(oopClosure, NULL);
ObjectSynchronizer::oops_do(oopClosure);
- // TODO: review, flat profiler was removed in j10
- // FlatProfiler::oops_do(oopClosure);
- JvmtiExport::oops_do(oopClosure);
+ // (DCEVM) TODO: Check if this is correct?
+ Management::oops_do(oopClosure);
+ OopStorageSet::vm_global()->oops_do(oopClosure);
+ CLDToOopClosure cld_closure(oopClosure, ClassLoaderData::_claim_none);
+ ClassLoaderDataGraph::cld_do(&cld_closure);
// Now adjust pointers in remaining weak roots. (All of which should
// have been cleared if they pointed to non-surviving objects.)
// Global (weak) JNI handles
- JNIHandles::weak_oops_do(&always_true, oopClosure);
+ WeakProcessor::oops_do(oopClosure);
CodeBlobToOopClosure blobClosure(oopClosure, CodeBlobToOopClosure::FixRelocations);
CodeCache::blobs_do(&blobClosure);
- StringTable::oops_do(oopClosure);
+ AOT_ONLY(AOTLoader::oops_do(oopClosure);)
+ // StringTable::oops_do was removed in j15
+ // StringTable::oops_do(oopClosure);
- // (DCEVM) TODO: Check if this is correct?
- //CodeCache::scavenge_root_nmethods_oops_do(oopClosure);
- //Management::oops_do(oopClosure);
- //ref_processor()->weak_oops_do(&oopClosure);
- //PSScavenge::reference_processor()->weak_oops_do(&oopClosure);
-
-#if INCLUDE_AOT
- if (UseAOT) {
- AOTLoader::oops_do(oopClosure);
- }
-#endif
- // SO_AllClasses
- SystemDictionary::oops_do(oopClosure);
+ // PSScavenge::reference_processor()->weak_oops_do(oopClosure);
}
void Universe::oops_do(OopClosure* f) {
--
2.23.0

View File

@@ -1,67 +0,0 @@
From c6ea68e66d37d70739f7b0ee74131322b4526a68 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 22 Nov 2020 12:03:32 +0100
Subject: [PATCH 24/34] Cleanup dcevm comments
---
src/hotspot/share/classfile/classLoaderDataGraph.hpp | 2 +-
src/hotspot/share/classfile/systemDictionary.hpp | 2 +-
src/hotspot/share/gc/shared/gcConfig.cpp | 2 +-
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderDataGraph.hpp b/src/hotspot/share/classfile/classLoaderDataGraph.hpp
index f380aa3fa34..8ce94cccb47 100644
--- a/src/hotspot/share/classfile/classLoaderDataGraph.hpp
+++ b/src/hotspot/share/classfile/classLoaderDataGraph.hpp
@@ -104,7 +104,7 @@ class ClassLoaderDataGraph : public AllStatic {
static void dictionary_classes_do(KlassClosure* klass_closure);
- // Enhanced class redefinition
+ // (DCEVM) Enhanced class redefinition
static void rollback_redefinition();
// VM_CounterDecay iteration support
diff --git a/src/hotspot/share/classfile/systemDictionary.hpp b/src/hotspot/share/classfile/systemDictionary.hpp
index 931e655d631..1019dbd0d04 100644
--- a/src/hotspot/share/classfile/systemDictionary.hpp
+++ b/src/hotspot/share/classfile/systemDictionary.hpp
@@ -455,7 +455,7 @@ public:
static bool is_well_known_klass(Symbol* class_name);
#endif
- // Enhanced class redefinition
+ // (DCEVM) Enhanced class redefinition
static void remove_from_hierarchy(InstanceKlass* k);
static void update_constraints_after_redefinition();
diff --git a/src/hotspot/share/gc/shared/gcConfig.cpp b/src/hotspot/share/gc/shared/gcConfig.cpp
index 5c1a09390f1..23fbf715378 100644
--- a/src/hotspot/share/gc/shared/gcConfig.cpp
+++ b/src/hotspot/share/gc/shared/gcConfig.cpp
@@ -99,7 +99,7 @@ void GCConfig::fail_if_non_included_gc_is_selected() {
void GCConfig::select_gc_ergonomically() {
if (AllowEnhancedClassRedefinition && !UseG1GC) {
- // Enhanced class redefinition only supports serial GC at the moment
+ // (DCEVM) Enhanced class redefinition only supports serial GC at the moment
FLAG_SET_ERGO(UseSerialGC, true);
} else if (os::is_server_class_machine()) {
#if INCLUDE_G1GC
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index bd5e7d153be..5de375fb888 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -78,7 +78,7 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
// have any entries.
bool _any_class_has_resolved_methods;
- // Enhanced class redefinition, affected klasses contain all classes which should be redefined
+ // (DCEVM) Enhanced class redefinition, affected klasses contain all classes which should be redefined
// either because of redefine, class hierarchy or interface change
GrowableArray<Klass*>* _affected_klasses;
--
2.23.0

View File

@@ -1,43 +0,0 @@
From 507d97966c7145d0ae2533459cc504c7b0d6d5b6 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 22 Nov 2020 18:49:05 +0100
Subject: [PATCH 25/34] Fix cpCache in not AllowEnhancedClassRedefinition mode
---
src/hotspot/share/oops/cpCache.hpp | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/oops/cpCache.hpp b/src/hotspot/share/oops/cpCache.hpp
index 121a13b1dda..64dcf6223f5 100644
--- a/src/hotspot/share/oops/cpCache.hpp
+++ b/src/hotspot/share/oops/cpCache.hpp
@@ -148,13 +148,13 @@ class ConstantPoolCacheEntry {
void set_bytecode_2(Bytecodes::Code code);
void set_f1(Metadata* f1) {
Metadata* existing_f1 = _f1; // read once
- //assert(existing_f1 == NULL || existing_f1 == f1, "illegal field change");
+ assert(AllowEnhancedClassRedefinition || existing_f1 == NULL || existing_f1 == f1, "illegal field change");
_f1 = f1;
}
void release_set_f1(Metadata* f1);
void set_f2(intx f2) {
intx existing_f2 = _f2; // read once
- //assert(existing_f2 == 0 || existing_f2 == f2, "illegal field change");
+ assert(AllowEnhancedClassRedefinition || existing_f2 == 0 || existing_f2 == f2, "illegal field change");
_f2 = f2;
}
void set_f2_as_vfinal_method(Method* f2) {
@@ -215,7 +215,9 @@ class ConstantPoolCacheEntry {
void initialize_resolved_reference_index(int ref_index) {
assert(_f2 == 0, "set once"); // note: ref_index might be zero also
_f2 = ref_index;
- _flags = 1 << is_resolved_ref_shift;
+ if (AllowEnhancedClassRedefinition) {
+ _flags = 1 << is_resolved_ref_shift;
+ }
}
void set_field( // sets entry to resolved field state
--
2.23.0

View File

@@ -1,32 +0,0 @@
From b516b615c20fafa2094dfb9f4cb08245b26418d0 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 22 Nov 2020 19:51:46 +0100
Subject: [PATCH 26/34] dcevm15 - add ClassLoaderDataGraph_lock on
ClassLoaderDataGraph::classes_do
ClassLoaderDataGraph::classes_do need safepoint or lock,
find_sorted_affected_classes is not in safepoint therefore it must be
locked
---
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index efaf11e1666..197e1c0029f 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -2063,7 +2063,10 @@ jvmtiError VM_EnhancedRedefineClasses::find_sorted_affected_classes(TRAPS) {
AffectedKlassClosure closure(_affected_klasses);
// Updated in j10, from original SystemDictionary::classes_do
- ClassLoaderDataGraph::classes_do(&closure);
+ {
+ MutexLocker mcld(ClassLoaderDataGraph_lock);
+ ClassLoaderDataGraph::classes_do(&closure);
+ }
//ClassLoaderDataGraph::dictionary_classes_do(&closure);
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
--
2.23.0

View File

@@ -1,29 +0,0 @@
From c6498946006879314bdc6218ee72da5d9c88f237 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sat, 28 Nov 2020 19:29:42 +0100
Subject: [PATCH 27/34] dcevm15 - check if has_nestmate_access_to has newest
host class
---
src/hotspot/share/oops/instanceKlass.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 5e40d78a87e..1d9623f2446 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -445,6 +445,11 @@ bool InstanceKlass::has_nestmate_access_to(InstanceKlass* k, TRAPS) {
return false;
}
+ if (AllowEnhancedClassRedefinition) {
+ // TODO: (DCEVM) check if it correct. It fix problems with lambdas (hidden)
+ cur_host = InstanceKlass::cast(cur_host->newest_version());
+ }
+
Klass* k_nest_host = k->nest_host(CHECK_false);
if (k_nest_host == NULL) {
return false;
--
2.23.0

View File

@@ -1,24 +0,0 @@
From 86c27155386c1c40642c99c63a242d1f5d8601a5 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sat, 28 Nov 2020 19:31:08 +0100
Subject: [PATCH 28/34] Remove unused fieldType
---
src/hotspot/share/classfile/vmSymbols.hpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/hotspot/share/classfile/vmSymbols.hpp b/src/hotspot/share/classfile/vmSymbols.hpp
index 6a3b234b222..eb06684a288 100644
--- a/src/hotspot/share/classfile/vmSymbols.hpp
+++ b/src/hotspot/share/classfile/vmSymbols.hpp
@@ -465,7 +465,6 @@
template(static_offset_name, "staticOffset") \
template(static_base_name, "staticBase") \
template(field_offset_name, "fieldOffset") \
- template(field_type_name, "fieldType") \
\
/* name symbols needed by intrinsics */ \
\
--
2.23.0

View File

@@ -1,54 +0,0 @@
From 025d0d2903963fb79f83cf0d90418783d3ef6813 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 29 Nov 2020 17:18:16 +0100
Subject: [PATCH 29/34] mark_as_scavengable only alive methods
---
.../share/prims/jvmtiEnhancedRedefineClasses.cpp | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 197e1c0029f..e00fac1f693 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -223,19 +223,21 @@ class FieldCopier : public FieldClosure {
// TODO: review...
void VM_EnhancedRedefineClasses::mark_as_scavengable(nmethod* nm) {
- ScavengableNMethods::register_nmethod(nm);
+ if (nm->is_alive()) {
+ ScavengableNMethods::register_nmethod(nm);
+ }
}
void VM_EnhancedRedefineClasses::unregister_nmethod_g1(nmethod* nm) {
// It should work not only for G1 but also for another GCs, but this way is safer now
- if (!nm->is_zombie() && !nm->is_unloaded()) {
+ if (nm->is_alive()) {
Universe::heap()->unregister_nmethod(nm);
}
}
void VM_EnhancedRedefineClasses::register_nmethod_g1(nmethod* nm) {
// It should work not only for G1 but also for another GCs, but this way is safer now
- if (!nm->is_zombie() && !nm->is_unloaded()) {
+ if (nm->is_alive()) {
Universe::heap()->register_nmethod(nm);
}
}
@@ -511,9 +513,9 @@ void VM_EnhancedRedefineClasses::doit() {
flush_dependent_code(thread);
// }
- // Adjust constantpool caches for all classes that reference methods of the evolved class.
- ClearCpoolCacheAndUnpatch clear_cpool_cache(thread);
- ClassLoaderDataGraph::classes_do(&clear_cpool_cache);
+ // Adjust constantpool caches for all classes that reference methods of the evolved class.
+ ClearCpoolCacheAndUnpatch clear_cpool_cache(thread);
+ ClassLoaderDataGraph::classes_do(&clear_cpool_cache);
// JSR-292 support
if (_any_class_has_resolved_methods) {
--
2.23.0

View File

@@ -1,28 +0,0 @@
From 27aabfefe7d799545049bb81ba19d4ed2ff6379c Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 29 Nov 2020 17:20:11 +0100
Subject: [PATCH 30/34] dcevm15 - lock on
ClassLoaderDataGraph::rollback_redefinition
rollback is not in safepoint, therefore must be locked
---
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index e00fac1f693..db5fb1c472b 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -1382,7 +1382,9 @@ void VM_EnhancedRedefineClasses::calculate_instance_update_information(Klass* ne
// Rollback all changes - clear new classes from the system dictionary, return old classes to directory, free memory.
void VM_EnhancedRedefineClasses::rollback() {
log_info(redefine, class, load)("Rolling back redefinition, result=%d", _res);
+ ClassLoaderDataGraph_lock->lock();
ClassLoaderDataGraph::rollback_redefinition();
+ ClassLoaderDataGraph_lock->unlock();
for (int i = 0; i < _new_classes->length(); i++) {
SystemDictionary::remove_from_hierarchy(_new_classes->at(i));
--
2.23.0

View File

@@ -1,28 +0,0 @@
From 9b405cb642d5935c39c8dbd522ea2fdecfc29ef3 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 29 Nov 2020 19:59:50 +0100
Subject: [PATCH 31/34] ResourceMark in G1IterateObjectClosureTask fixing
memory leaks
G1IterateObjectClosureTask is used only in redefinition full GC run
---
src/hotspot/share/gc/g1/g1CollectedHeap.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
index a29d2dddc2d..2af6df6c1e4 100644
--- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp
@@ -2362,6 +2362,9 @@ class G1IterateObjectClosureTask : public AbstractGangTask {
_cl(cl), _g1h(g1h), _hrclaimer(g1h->workers()->active_workers()) { }
virtual void work(uint worker_id) {
+ Thread *thread = Thread::current();
+ HandleMark hm(thread); // make sure any handles created are deleted
+ ResourceMark rm(thread);
IterateObjectClosureRegionClosure blk(_cl);
_g1h->heap_region_par_iterate_from_worker_offset(&blk, &_hrclaimer, worker_id);
}
--
2.23.0

View File

@@ -1,91 +0,0 @@
From 40fe40884d4efc50864bb3f2dd88f0a2e7122d5a Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 29 Nov 2020 20:05:03 +0100
Subject: [PATCH 32/34] dcevm15 - fix hidded classes
---
.../prims/jvmtiEnhancedRedefineClasses.cpp | 41 ++++++++++++++-----
1 file changed, 30 insertions(+), 11 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index db5fb1c472b..590f7fdfafe 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -722,7 +722,8 @@ bool VM_EnhancedRedefineClasses::is_modifiable_class(oop klass_mirror) {
}
// Cannot redefine or retransform an anonymous class.
- if (InstanceKlass::cast(k)->is_unsafe_anonymous()) {
+ // TODO: check if is correct in j15
+ if (InstanceKlass::cast(k)->is_unsafe_anonymous() || InstanceKlass::cast(k)->is_hidden()) {
return false;
}
return true;
@@ -808,21 +809,27 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
InstanceKlass* k;
- if (InstanceKlass::cast(the_class)->is_unsafe_anonymous()) {
- const InstanceKlass* host_class = the_class->unsafe_anonymous_host();
+ if (the_class->is_unsafe_anonymous() || the_class->is_hidden()) {
+ InstanceKlass* dynamic_host_class = NULL;
+ InstanceKlass* unsafe_anonymous_host = NULL;
- // Make sure it's the real host class, not another anonymous class.
- while (host_class != NULL && host_class->is_unsafe_anonymous()) {
- host_class = host_class->unsafe_anonymous_host();
+ if (the_class->is_hidden()) {
+ log_debug(redefine, class, load)("loading hidden class %s", the_class->name()->as_C_string());
+ dynamic_host_class = the_class->nest_host(THREAD);
+ }
+
+ if (the_class->is_unsafe_anonymous()) {
+ log_debug(redefine, class, load)("loading usafe anonymous %s", the_class->name()->as_C_string());
+ unsafe_anonymous_host = the_class->unsafe_anonymous_host();
}
ClassLoadInfo cl_info(protection_domain,
- host_class,
- NULL, // dynamic_nest_host
+ unsafe_anonymous_host,
NULL, // cp_patches
+ dynamic_host_class, // dynamic_nest_host
Handle(), // classData
- false, // is_hidden
- false, // is_strong_hidden
+ the_class->is_hidden(), // is_hidden
+ !the_class->is_non_strong_hidden(), // is_strong_hidden
true); // FIXME: check if correct. can_access_vm_annotations
k = SystemDictionary::parse_stream(the_class_sym,
@@ -833,7 +840,17 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
THREAD);
k->class_loader_data()->exchange_holders(the_class->class_loader_data());
- the_class->class_loader_data()->inc_keep_alive();
+
+ if (the_class->is_hidden()) {
+ // from jvm_lookup_define_class() (jvm.cpp):
+ // The hidden class loader data has been artificially been kept alive to
+ // this point. The mirror and any instances of this class have to keep
+ // it alive afterwards.
+ the_class->class_loader_data()->dec_keep_alive();
+ } else {
+ the_class->class_loader_data()->inc_keep_alive();
+ }
+
} else {
k = SystemDictionary::resolve_from_stream(the_class_sym,
the_class_loader,
@@ -1475,6 +1492,8 @@ void VM_EnhancedRedefineClasses::ClearCpoolCacheAndUnpatch::do_klass(Klass* k) {
ik->set_unsafe_anonymous_host(InstanceKlass::cast(ik->unsafe_anonymous_host()->newest_version()));
}
+ // FIXME: check new nest_host for hidden
+
// Update implementor if there is only one, in this case implementor() can reference old class
if (ik->is_interface()) {
Klass* implKlass = ik->implementor();
--
2.23.0

View File

@@ -1,27 +0,0 @@
From 29920b076b4ad96d85adbce0a1d947e5022ba3ad Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 29 Nov 2020 20:08:57 +0100
Subject: [PATCH 33/34] dcevm15 - DON'T clear F2 in CP cache after indy
unevolving
It's not clear why it was cleared in dcevm7-11
---
src/hotspot/share/oops/cpCache.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/oops/cpCache.cpp b/src/hotspot/share/oops/cpCache.cpp
index 79a38dbeff0..650e6fab42d 100644
--- a/src/hotspot/share/oops/cpCache.cpp
+++ b/src/hotspot/share/oops/cpCache.cpp
@@ -650,7 +650,7 @@ void ConstantPoolCacheEntry::clear_entry() {
if (clearData) {
if (!is_resolved_reference()) {
- _f2 = 0;
+ // _f2 = 0;
}
// FIXME: (DCEVM) we want to clear flags, but parameter size is actually used
// after we return from the method, before entry is re-initialized. So let's
--
2.23.0

View File

@@ -1,49 +0,0 @@
From 1f13b20ab5553182680045b7d7324ff92da7e7f0 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Sun, 29 Nov 2020 21:28:06 +0100
Subject: [PATCH 34/34] 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
---
src/hotspot/share/memory/universe.cpp | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/memory/universe.cpp b/src/hotspot/share/memory/universe.cpp
index 8dad437bd51..0199962a684 100644
--- a/src/hotspot/share/memory/universe.cpp
+++ b/src/hotspot/share/memory/universe.cpp
@@ -190,21 +190,26 @@ void Universe::root_oops_do(OopClosure *oopClosure) {
// (DCEVM) TODO: Check if this is correct?
Management::oops_do(oopClosure);
OopStorageSet::vm_global()->oops_do(oopClosure);
- CLDToOopClosure cld_closure(oopClosure, ClassLoaderData::_claim_none);
- ClassLoaderDataGraph::cld_do(&cld_closure);
+ // CLDToOopClosure cld_closure(oopClosure, ClassLoaderData::_claim_none);
+ // ClassLoaderDataGraph::cld_do(&cld_closure);
// Now adjust pointers in remaining weak roots. (All of which should
// have been cleared if they pointed to non-surviving objects.)
// Global (weak) JNI handles
WeakProcessor::oops_do(oopClosure);
+ JvmtiExport::oops_do(oopClosure);
+
CodeBlobToOopClosure blobClosure(oopClosure, CodeBlobToOopClosure::FixRelocations);
CodeCache::blobs_do(&blobClosure);
+
AOT_ONLY(AOTLoader::oops_do(oopClosure);)
+
// StringTable::oops_do was removed in j15
// StringTable::oops_do(oopClosure);
- // PSScavenge::reference_processor()->weak_oops_do(oopClosure);
+ // OopStorageSet::vm_global()->oops_do(oopClosure);
+
}
void Universe::oops_do(OopClosure* f) {
--
2.23.0

View File

@@ -1,83 +0,0 @@
#!/bin/bash -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" | 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
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`
failed=`echo "$s" | cut -c1 | grep -c "*"`
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

@@ -1,131 +0,0 @@
#!/bin/bash -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}
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 \
--disable-ccache \
--enable-cds=yes || do_exit $?
}
function create_image_bundle {
__bundle_name=$1
__arch_name=$2
__modules_path=$3
__modules=$4
[ "$bundle_type" == "fd" ] && [ "$__arch_name" == "$JBRSDK_BUNDLE" ] && __bundle_name=$__arch_name && fastdebug_infix="fastdebug-"
echo Running jlink ...
${JSDK}/bin/jlink \
--module-path $__modules_path --no-man-pages --compress=2 \
--add-modules $__modules --output $__arch_name || 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' $__arch_name/release > release
mv release $__arch_name/release
cp $IMAGES_DIR/jdk/lib/src.zip $__arch_name/lib
copy_jmods "$__modules" "$__modules_path" "$__arch_name"/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
;;
"dcevm")
HEAD_REVISION=$(git rev-parse HEAD)
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
do_reset_dcevm=0
do_reset_changes=0
;;
"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 || 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 || 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" == "dcevm" ] || [ "$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}"
fi
# create runtime image bundlef
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" == "dcevm" ] || [ "$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

@@ -1,63 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./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)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common/scripts/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WORK_DIR=$(pwd)
[ -z "$bundle_type" ] && (git apply -p0 < jb/project/tools/patches/exclude_jcef_module.patch || exit $?)
PATH="/usr/local/bin:/usr/bin:${PATH}"
./configure \
--with-target-bits=32 \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--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} \
--disable-ccache \
--enable-cds=yes || exit 1
make clean CONF=windows-x86-server-release || exit 1
make LOG=info images CONF=windows-x86-server-release test-image || exit 1
JBSDK=${JBRSDK_BASE_NAME}-windows-x86-b${build_number}
BASE_DIR=build/windows-x86-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
sed 's/JBR/JBRSDK/g' ${JSDK}/release > release
mv release ${JBRSDK_BUNDLE}/release
JBR_BUNDLE=jbr
rm -rf ${JBR_BUNDLE}
grep -v javafx jb/project/tools/common/modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
echo ",jdk.crypto.mscapi" >> modules.list.x86
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
echo Modifying release info ...
#grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${JBR_BUNDLE}/release

View File

@@ -1,48 +0,0 @@
#!/bin/bash -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
[ "$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}
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR $__arch_name || 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}"
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
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

@@ -1,42 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./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)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
IMAGES_DIR=build/windows-x86-server-release/images
JSDK=$IMAGES_DIR/jdk
JBSDK=$JBRSDK_BASE_NAME-windows-x86-b$build_number
BASE_DIR=.
JBRSDK_BUNDLE=jbrsdk
echo Creating $JBSDK.tar.gz ...
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || exit 1
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
JBR=$JBR_BASE_NAME-windows-x86-b$build_number
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR ${JBR_BUNDLE} || exit 1
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || exit 1

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