Compare commits

..

1731 Commits

Author SHA1 Message Date
Guoxiong Li
6a8497437a 8305690: [X86] Do not emit two REX prefixes in Assembler::prefix
Backport-of: 49726ee3a9
2023-05-09 07:33:34 +00:00
Goetz Lindenmaier
3a0aff20d9 8299570: [JVMCI] Insufficient error handling when CodeBuffer is exhausted
Reviewed-by: shade
Backport-of: ad326fc62b
2023-05-08 10:40:15 +00:00
Goetz Lindenmaier
86aca8b260 8302508: Add timestamp to the output TraceCompilerThreads
Reviewed-by: shade
Backport-of: f813dc7183
2023-05-08 10:35:38 +00:00
Goetz Lindenmaier
b5e6753a09 8297450: ScaledTextFieldBorderTest.java fails when run with -show parameter
Backport-of: ea83cb960d
2023-05-08 10:23:25 +00:00
Goetz Lindenmaier
fafd082046 8289509: Improve test coverage for XPath Axes: descendant, descendant-or-self, following, following-sibling
Backport-of: 1961e81e02
2023-05-08 09:36:25 +00:00
Goetz Lindenmaier
2aaf3c5b01 8296084: javax/swing/JSpinner/4788637/bug4788637.java fails intermittently on a VM
Backport-of: 319faa5afc
2023-05-08 09:35:32 +00:00
Goetz Lindenmaier
aee7ab6869 8292990: Improve test coverage for XPath Axes: parent
Backport-of: e393973761
2023-05-08 08:57:56 +00:00
Goetz Lindenmaier
20fea6c325 8244976: vmTestbase/nsk/jdi/Event/request/request001.java doesn' initialize eName
Backport-of: 1451642317
2023-05-08 08:52:53 +00:00
Goetz Lindenmaier
05f15628b0 8286398: Address possibly lossy conversions in jdk.internal.le
Backport-of: e534c133af
2023-05-08 08:27:56 +00:00
Goetz Lindenmaier
8c541047b0 8286191: misc tests fail due to JDK-8285987
Reviewed-by: mbaesken
Backport-of: de8f4d01b2
2023-05-08 08:23:15 +00:00
Goetz Lindenmaier
7dab7e5507 8285987: executing shell scripts without #! fails on Alpine linux
Backport-of: 9d2f591e6a
2023-05-08 08:13:22 +00:00
Goetz Lindenmaier
725154813f 8283057: Update GCC to version 11.2.0 for Oracle builds on Linux
Reviewed-by: mbaesken
Backport-of: 8384ac4ed3
2023-05-08 07:56:52 +00:00
Goetz Lindenmaier
6dbd5a68c7 8275735: [linux] Remove deprecated Metrics api (kernel memory limit)
Backport-of: 9971a2cab3
2023-05-08 07:54:27 +00:00
Tyler Steele
fc1d3d3fad 8304291: [AIX] Broken build after JDK-8301998
Backport-of: 310aa93478
2023-05-06 20:02:31 +00:00
Aleksey Shipilev
31bbf9f4a6 8306825: Monitor deflation might be accidentally disabled by zero intervals
Backport-of: a6b4f25bd5
2023-05-05 20:53:25 +00:00
Aleksey Shipilev
58c9f6a92b 8306774: Make runtime/Monitor/GuaranteedAsyncDeflationIntervalTest.java more reliable
Reviewed-by: serb, simonis
Backport-of: 9ad6dc881d
2023-05-05 15:40:23 +00:00
Aleksey Shipilev
547667dff6 8305994: Guarantee eventual async monitor deflation
Reviewed-by: eastigeevich, simonis
Backport-of: 6b81342c22
2023-05-05 12:42:43 +00:00
Christoph Langer
79aa7b15db 8257856: Make ClassFileVersionsTest.java robust to JDK version updates
Reviewed-by: mbaesken
Backport-of: 8b042d14b7
2023-05-04 15:10:52 +00:00
Goetz Lindenmaier
d8d69f3674 8303508: Vector.lane() gets wrong value on x86
Backport-of: d61de141eb
2023-05-04 11:02:18 +00:00
Goetz Lindenmaier
1d7b9add26 8303069: Memory leak in CompilerOracle::parse_from_line
Backport-of: 384a8b85a7
2023-05-04 10:59:24 +00:00
Goetz Lindenmaier
820030a5a9 8303564: C2: "Bad graph detected in build_loop_late" after a CMove is wrongly split thru phi
Backport-of: 5e232cf0a9
2023-05-04 10:56:45 +00:00
Goetz Lindenmaier
04eb720d03 8303511: C2: assert(get_ctrl(n) == cle_out) during unrolling
Reviewed-by: shade
Backport-of: 3f2d929dc3
2023-05-04 10:53:25 +00:00
Alexey Pavlyutkin
345e370fed 8303861: Error handling step timeouts should never be blocked by OnError and others
Reviewed-by: phh, stuefe
Backport-of: a00f5d24d3
2023-05-04 09:45:30 +00:00
Sergey Nazarkin
5ed9696810 8305481: gtest is_first_C_frame failing on ARM
Backport-of: 0243da2e4a
2023-05-04 09:44:40 +00:00
Goetz Lindenmaier
96adf07356 8297955: LDAP CertStore should use LdapName and not String for DNs
8224768: Test ActalisCA.java fails

Backport-of: df9aad018a
2023-05-03 08:37:05 +00:00
Goetz Lindenmaier
65a02dab92 8303476: Add the runtime version in the release file of a JDK image
Backport-of: 32247c336a
2023-05-03 08:32:52 +00:00
Goetz Lindenmaier
07993bfa88 8287897: Augment src/jdk.internal.le/share/legal/jline.md with information on 4th party dependencies
Backport-of: bc28baeba9
2023-05-03 08:29:17 +00:00
Matthias Baesken
5296357fe2 8303822: gtestMain should give more helpful output
Backport-of: 0f26d09da8
2023-05-03 08:04:00 +00:00
Aleksey Shipilev
aa8c46ca52 8301190: [vectorapi] The typeChar of LaneType is incorrect when default locale is tr
Backport-of: c3ff151457
2023-05-02 07:04:09 +00:00
Christoph Langer
b2f16a5926 8289735: UTIL_LOOKUP_PROGS fails on pathes with space
8306976: UTIL_REQUIRE_SPECIAL warning on grep

Reviewed-by: mbaesken
Backport-of: bad6aa68e4
2023-04-28 15:50:17 +00:00
Thomas Stuefe
a485033206 8306883: Thread stacksize is reported with wrong units in os::create_thread logging
Backport-of: 27c5c1070a
2023-04-28 14:10:44 +00:00
William Kemper
1ba2d5310a 8305403: Shenandoah evacuation workers may deadlock
Reviewed-by: shade
Backport-of: 793da60ee8
2023-04-27 15:53:58 +00:00
Goetz Lindenmaier
b90d917032 8303130: Document required Accessibility permissions on macOS
Reviewed-by: dmarkov
Backport-of: a10d5ac61b
2023-04-27 10:44:19 +00:00
Goetz Lindenmaier
241c066a28 8290822: C2: assert in PhaseIdealLoop::do_unroll() is subject to undefined behavior
Backport-of: cd77fcfb5f
2023-04-27 10:36:28 +00:00
Goetz Lindenmaier
48632e51c7 8301491: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument
Backport-of: 47ca5773a5
2023-04-27 10:32:13 +00:00
Goetz Lindenmaier
52324b55fb 8300079: SIGSEGV in LibraryCallKit::inline_string_copy due to constant NULL src argument
Reviewed-by: mdoerr
Backport-of: 45e4e00981
2023-04-27 10:27:40 +00:00
Christoph Langer
ac823d3453 8306664: GHA: Update MSVC version to latest stepping
Reviewed-by: shade
2023-04-27 08:40:42 +00:00
Goetz Lindenmaier
da740fa6fa 8302595: use-after-free related to GraphKit::clone_map
Reviewed-by: rrich
Backport-of: 3cc459b6c2
2023-04-27 06:58:18 +00:00
Goetz Lindenmaier
790802bdd5 8293858: Change PKCS7 code to use default SecureRandom impl instead of SHA1PRNG
Backport-of: 2157145766
2023-04-27 06:51:07 +00:00
Goetz Lindenmaier
394a7562cf 8254711: Add java.security.Provider.getService JFR Event
8294673: JFR: Add SecurityProviderService#threshold to TestActiveSettingEvent.java

Reviewed-by: mbaesken
Backport-of: bc2af47e1e
2023-04-27 06:49:42 +00:00
Anton Kozlov
243e643076 8306768: CodeCache Analytics reports wrong threshold
Reviewed-by: phh
2023-04-26 11:44:03 +00:00
Aleksey Shipilev
e132605161 8296545: C2 Blackholes should allow load optimizations
Reviewed-by: mdoerr
Backport-of: eab0ada3a1
2023-04-25 20:15:51 +00:00
Christoph Langer
d5cbf22f23 8306658: GHA: MSVC installation could be optional since it might already be pre-installed
Backport-of: d980cb4879
2023-04-25 16:45:03 +00:00
Aleksey Shipilev
bf0606a9b7 8283566: G1: Improve G1BarrierSet::enqueue performance
Reviewed-by: tschatzl
Backport-of: 6ebf845ff7
2023-04-25 15:14:36 +00:00
Aleksey Shipilev
e6e6bedf7b 8252990: Intrinsify Unsafe.storeStoreFence
Backport-of: b7a06be98d
2023-04-25 15:12:44 +00:00
Goetz Lindenmaier
24e91c1e5a 8302594: use-after-free in Node::destruct
Backport-of: 2e3cea01da
2023-04-25 10:02:48 +00:00
Goetz Lindenmaier
d964229552 8302172: [JVMCI] HotSpotResolvedJavaMethodImpl.canBeInlined must respect ForceInline
Backport-of: 1ef9f6507b
2023-04-25 09:58:34 +00:00
Goetz Lindenmaier
3e0e4f0ead 8301338: Identical branch conditions in CompileBroker::print_heapinfo
Reviewed-by: mbaesken
Backport-of: d583767bf1
2023-04-25 09:56:58 +00:00
Goetz Lindenmaier
ee63f83ed7 8296412: Special case infinite loops with unmerged backedges in IdealLoopTree::check_safepts
Backport-of: da38d43fcc
2023-04-25 09:55:28 +00:00
Aleksey Shipilev
1dee04a76f 8278146: G1: Rework VM_G1Concurrent VMOp to clearly identify it as pause
Reviewed-by: tschatzl
Backport-of: 3a1fca3adf
2023-04-25 06:00:09 +00:00
Masanori Yano
a000b2d6b8 8238274: (sctp) JDK-7118373 is not fixed for SctpChannel
Backport-of: d91e227abb
2023-04-24 19:17:08 +00:00
Goetz Lindenmaier
f969f811a7 8301998: Update HarfBuzz to 7.0.1
8304295: harfbuzz build fails with GCC 7 after JDK-8301998

Reviewed-by: phh
Backport-of: f5c8b68c1c
2023-04-24 09:36:55 +00:00
Christoph Langer
ebde2fb7d1 8306543: GHA: MSVC installation is failing
Backport-of: 5a00617b1b
2023-04-24 08:25:27 +00:00
Andrei Pangin
9d6f1d716e 8201516: DebugNonSafepoints generates incorrect information
Reviewed-by: thartmann, shade
Backport-of: 94eda53d98
2023-04-20 11:12:26 +00:00
Goetz Lindenmaier
c43c0a4f65 Merge 2023-04-20 09:58:59 +00:00
Goetz Lindenmaier
a370ca62b3 8305400: ISO 4217 Amendment 175 Update
Backport-of: 7cf24d1c06
2023-04-20 08:47:55 +00:00
Goetz Lindenmaier
8f10b354c7 8304683: Memory leak in WB_IsMethodCompatible
Backport-of: 760c0128a4
2023-04-20 08:42:04 +00:00
Goetz Lindenmaier
06b764ce27 8304134: jib bootstrapper fails to quote filename when checking download filetype
Backport-of: 75168eaca3
2023-04-20 08:35:54 +00:00
Goetz Lindenmaier
4554f82c84 8303482: Update LCMS to 2.15
Backport-of: c073ef2ed5
2023-04-20 08:34:20 +00:00
Goetz Lindenmaier
ba457ab361 8303588: [JVMCI] make JVMCI source directories conform with standard layout
Reviewed-by: mdoerr
Backport-of: 9fdbf3cfc4
2023-04-20 08:32:18 +00:00
Goetz Lindenmaier
17f5448c19 8302151: BMPImageReader throws an exception reading BMP images
Backport-of: aa10f0d3ee
2023-04-20 08:29:56 +00:00
Goetz Lindenmaier
14e3103d80 8178806: Better exception logging in crypto code
Backport-of: b814cfc39d
2023-04-20 08:27:57 +00:00
Goetz Lindenmaier
36c1c0a76a 8301123: Enable Symbol refcounting underflow checks in PRODUCT
Backport-of: fccf818972
2023-04-20 08:26:00 +00:00
Goetz Lindenmaier
0ca8d00f6d 8297730: C2: Arraycopy intrinsic throws incorrect exception
Backport-of: 5a478ef775
2023-04-20 08:23:39 +00:00
Goetz Lindenmaier
4cfe4d7b6f 8300823: UB: Compile::_phase_optimize_finished is initialized too late
Backport-of: e4252bb914
2023-04-20 08:22:47 +00:00
Goetz Lindenmaier
d21597aec9 8299179: ArrayFill with store on backedge needs to reduce length by 1
Backport-of: d716ec5d30
2023-04-20 08:20:41 +00:00
Goetz Lindenmaier
1fe89116cb 8299259: C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE
Backport-of: 8b0133f276
2023-04-20 08:18:20 +00:00
Goetz Lindenmaier
05e91bb7d4 8296318: use-def assert: special case undetected loops nested in infinite loops
Backport-of: 736fcd49f7
2023-04-20 08:14:52 +00:00
Goetz Lindenmaier
49aab4b7b8 8298488: [macos13] tools/jpackage tests failing with "Exit code: 137" on macOS
Reviewed-by: mdoerr
Backport-of: 8962c723a8
2023-04-20 08:13:06 +00:00
Goetz Lindenmaier
ea994ccbd2 8271519: java/awt/event/SequencedEvent/MultipleContextsFunctionalTest.java failed with "Total [200] - Expected [400]"
Backport-of: 9f94cbec51
2023-04-20 08:08:16 +00:00
Goetz Lindenmaier
ccc0690ea4 8285635: javax/swing/JRootPane/DefaultButtonTest.java failed with Default Button not pressed for L&F: com.sun.java.swing.plaf.motif.MotifLookAndFeel
Backport-of: 79c0092125
2023-04-20 08:04:02 +00:00
Goetz Lindenmaier
fc9c2decaa 8289949: Improve test coverage for XPath: operators
Backport-of: f6b6360155
2023-04-20 08:01:03 +00:00
Goetz Lindenmaier
c2b379fc12 8277775: Fixup bugids in RemoveDropTargetCrashTest.java - add 4357905
Backport-of: 22347e46f7
2023-04-20 08:00:07 +00:00
Goetz Lindenmaier
37c5061663 8282704: runtime/Thread/StopAtExit.java may leak memory
Backport-of: 3f923b82c3
2023-04-20 07:58:19 +00:00
Goetz Lindenmaier
40b1dafaa3 8273909: vmTestbase/nsk/jdi/Event/request/request001 can still fail with "ERROR: new event is not ThreadStartEvent"
Backport-of: 5fde4b64e2
2023-04-20 07:56:31 +00:00
Goetz Lindenmaier
db3b06fd8c 8270434: JDI+UT: Unexpected event in JDI tests
Backport-of: 8c022e2c17
2023-04-20 07:53:09 +00:00
Goetz Lindenmaier
ef1a9ec02f 8270869: G1ServiceThread may not terminate
Backport-of: 7f35e5bac9
2023-04-20 07:51:13 +00:00
Goetz Lindenmaier
52a66f9125 8268298: jdk/jfr/api/consumer/log/TestVerbosity.java fails: unexpected log message
Backport-of: 06d26208c5
2023-04-20 07:46:19 +00:00
Sergey Bylokhov
6254bdf886 8298887: On the latest macOS+XCode the Robot API may report wrong colors
Reviewed-by: phh
Backport-of: 50120396b6
2023-04-19 22:04:23 +00:00
Aleksey Shipilev
02efaf7386 8269821: Remove is-queue-active check in inner loop of write_ref_array_pre_work
Reviewed-by: tschatzl
Backport-of: 675a9520b2
2023-04-19 20:12:38 +00:00
Goetz Lindenmaier
e6c27925d2 8299959: C2: CmpU::Value must filter overflow computation against local sub computation
Backport-of: 5f66024e95
2023-04-18 13:07:20 +00:00
Goetz Lindenmaier
ff675ccb58 8297000: [jib] Add more friendly warning for proxy issues
Backport-of: 0d93ab9dff
2023-04-18 13:00:14 +00:00
Goetz Lindenmaier
9eeb7415d6 8295564: Norwegian Nynorsk Locale is missing formatting
Reviewed-by: andrew
Backport-of: b37421e757
2023-04-18 12:58:09 +00:00
Goetz Lindenmaier
e91b87e27e 8294906: Memory leak in PKCS11 NSS TLS server
Backport-of: 94caecbe57
2023-04-18 12:55:25 +00:00
Goetz Lindenmaier
b0e142e763 8292755: Non-default method in interface leads to a stack overflow in JShell
Backport-of: 2a3879180e
2023-04-18 12:53:07 +00:00
Goetz Lindenmaier
3aa85f9e25 8287007: [cgroups] Consistently use stringStream throughout parsing code
Backport-of: e0baf012b1
2023-04-18 12:51:32 +00:00
Goetz Lindenmaier
fc037105b4 8287246: DSAKeyValue should check for missing params instead of relying on KeyFactory provider
Backport-of: f235955eef
2023-04-18 09:19:33 +00:00
Jaroslav Bachorik
2bf98280c6 8245877: assert(_value != __null) failed: resolving NULL _value in JvmtiExport::post_compiled_method_load
Backport-of: b969136b9f
2023-04-17 13:41:54 +00:00
Andrew John Hughes
f8408c7896 8305113: (tz) Update Timezone Data to 2023c
Reviewed-by: phh
Backport-of: ed9592c6e8
2023-04-17 12:27:28 +00:00
Goetz Lindenmaier
acbac0d169 8288589: Files.readString ignores encoding errors for UTF-16
Backport-of: 2728770e3d
2023-04-16 14:16:26 +00:00
Thomas Stuefe
01cf112cbb 8305711: Arm: C2 always enters slowpath for monitorexit
Backport-of: c67bbcea92
2023-04-14 09:16:29 +00:00
Joshua Cao
8bf2cf2d7c 8305721: add make compile-commands artifacts to .gitignore
Reviewed-by: phh
Backport-of: 9e20382311
2023-04-13 16:57:48 +00:00
Andrew John Hughes
aeb7cf5039 8274864: Remove Amman/Cairo hacks in ZoneInfoFile
Backport-of: ec199072c5
2023-04-13 15:11:04 +00:00
Ilarion Nakonechnyy
ce1288038d 8302491: NoClassDefFoundError omits the original cause of an error
Reviewed-by: phh
Backport-of: 5685107579
2023-04-13 11:48:43 +00:00
Christoph Langer
22cdf79dce 8299597: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.7
Reviewed-by: goetz
2023-04-12 22:11:58 +02:00
Alexei Voitylov
12d2d0e904 8299129: Enhance NameService lookups
Reviewed-by: mbalao
Backport-of: 1aef50354aaa0831b58de81db3d6bf30b9a277d1
2023-04-12 22:00:12 +02:00
Aleksei Voitylov
e78fe926ef 8298667: Improved path handling
Reviewed-by: mbalao
Backport-of: 900abc284669d1aadeac8026ad618c9f1dc553a6
2023-04-12 21:54:39 +02:00
Alexey Bakhtin
0e67976088 8298310: Enhance TLS session negotiation
Reviewed-by: mbalao
Backport-of: 9a14b363feaaa1a1831fcc8620d41b4db2e0110a
2023-04-12 18:34:51 +02:00
Anton Kozlov
dfded6daaa 8298191: Enhance object reclamation process
Reviewed-by: johnc, rkennke
2023-04-12 18:08:10 +02:00
Martin Balao
13b5fe665c 8297371: Improve UTF8 representation redux
Reviewed-by: yan
Backport-of: a44eb133d3cdb190abb0210c201e315d94d09dc7
2023-04-12 17:12:00 +02:00
Yuri Nesterenko
0c49bb77f0 8296832: Improve Swing platform support
Reviewed-by: mbalao
Backport-of: a81c810a76d91b79917417ed22e5e5aa530690ca
2023-04-12 16:55:22 +02:00
Ekaterina Vergizova
ae88233d94 8296692: Improve String platform support
Reviewed-by: mbalao
Backport-of: ed8643947e21263588cb6e9202efb3a30f450c4e
2023-04-12 16:46:56 +02:00
Olga Mikhaltsova
43dd5ffb10 8296684: Improve String platform support
Reviewed-by: mbalao
Backport-of: 9ae682726873de27cef4d3bd5523713f4ff98266
2023-04-12 16:40:26 +02:00
Martin Balao
04abba8852 8296676: Improve String platform support
Reviewed-by: mbaesken
Backport-of: d083a3c21e8849ed2a8b79aba37b46d921886a05
2023-04-12 16:29:12 +02:00
Aleksei Voitylov
28958abd0e 8295304: Runtime support improvements
Reviewed-by: mbalao
Backport-of: 9c31d51bd5fc17e3914142c2461f3abfe71651d0
2023-04-12 16:21:21 +02:00
Martin Balao
13a90694f8 8294474: Better AES support
Reviewed-by: mbaesken
Backport-of: 0c534f3309a308e89363ec69dee74d95fd9647a4
2023-04-12 16:17:10 +02:00
Martin Balao
adc5fe707d 8288436: Improve Xalan supports
Reviewed-by: mbaesken
Backport-of: 6899dff264c9030a3016e292c3f3f6738bde97cc
2023-04-12 16:00:39 +02:00
Martin Balao
cb3e4411cd 8287404: Improve ping times
Reviewed-by: mbaesken
Backport-of: 5a054b372dbd751fe1b312375153f13e70d7131f
2023-04-12 15:53:01 +02:00
Goetz Lindenmaier
a29693789b Merge 2023-04-08 15:04:50 +00:00
Dan Lutker
768bed2ccf 8293887: AArch64 build failure with GCC 12 due to maybe-uninitialized warning in libfdlibm k_rem_pio2.c
Backport-of: 02ea338177
2023-04-04 19:03:36 +00:00
Dan Lutker
4c3aecba20 8294281: Allow warnings to be disabled on a per-file basis
Backport-of: e45f3d5176
2023-04-04 18:36:35 +00:00
Severin Gehwolf
908cab4123 8304871: Use default visibility for static library builds
Backport-of: f0dba218ac
2023-04-03 12:18:21 +00:00
Glavo
47e4dba6a2 8278834: Error "Cannot read field "sym" because "this.lvar[od]" is null" when compiling
Reviewed-by: phh
Backport-of: be0538d7c8
2023-04-03 00:04:29 +00:00
Martin Doerr
ac655ba08e 8304880: [PPC64] VerifyOops code in C1 doesn't work with ZGC
Reviewed-by: rrich
Backport-of: 695683b5b1
2023-03-31 12:31:01 +00:00
Goetz Lindenmaier
0f72c301ea 8278434: timeouts in test java/time/test/java/time/format/TestZoneTextPrinterParser.java
Backport-of: 8dc4437d00
2023-03-31 12:12:13 +00:00
Goetz Lindenmaier
1253eb4032 8291638: Keep-Alive timeout of 0 should close connection immediately
Backport-of: 26ac836636
2023-03-31 11:08:06 +00:00
Goetz Lindenmaier
f53661b1a9 8282227: Locale information for nb is not working properly
Backport-of: 3d07b3c7f0
2023-03-31 11:06:22 +00:00
Goetz Lindenmaier
590256ddcb 8275721: Name of UTC timezone in a locale changes depending on previous code
Backport-of: 543d1a8cf4
2023-03-31 11:00:47 +00:00
Matthias Baesken
8bc5ad105a 8304671: javac regression: Compilation with --release 8 fails on underscore in enum identifiers
Reviewed-by: phh
Backport-of: 63d4afbeb1
2023-03-30 12:06:17 +00:00
Goetz Lindenmaier
a71545b516 8291226: Create Test Cases to cover scenarios for JDK-8278067
Backport-of: 86ec158dfb
2023-03-29 07:31:39 +00:00
Goetz Lindenmaier
ec7f16985a 8291637: HttpClient default keep alive timeout not followed if server sends invalid value
Backport-of: b17a745d7f
2023-03-29 07:28:32 +00:00
Goetz Lindenmaier
59d821177d 8287541: Files.writeString fails to throw IOException for charset "windows-1252"
Backport-of: 6fb84e2c91
2023-03-29 07:25:20 +00:00
Goetz Lindenmaier
6ba50fcf82 8286287: Reading file as UTF-16 causes Error which "shouldn't happen"
Backport-of: cc7560e995
2023-03-29 07:23:18 +00:00
Goetz Lindenmaier
7cf28d56a9 8283062: Uninitialized warnings in libgtest with GCC 11.2
Backport-of: a244051a8c
2023-03-29 07:21:24 +00:00
Goetz Lindenmaier
268a6a5a31 8282077: PKCS11 provider C_sign() impl should handle CKR_BUFFER_TOO_SMALL error
Backport-of: d7f31d0d53
2023-03-29 07:17:50 +00:00
Goetz Lindenmaier
ac0b7c9371 8268288: jdk/jfr/api/consumer/streaming/TestOutOfProcessMigration.java fails with "Error: ShouldNotReachHere()"
Reviewed-by: mbaesken
Backport-of: 0a09092631
2023-03-28 12:07:08 +00:00
Sergey Bylokhov
c6a35f50b3 8302849: SurfaceManager might expose partially constructed object
Backport-of: 63ef214328
2023-03-27 18:04:42 +00:00
Sergey Bylokhov
637155e3a6 8303102: jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN
Backport-of: a43931b79c
2023-03-24 19:03:28 +00:00
Sergey Bylokhov
6d61fc116f 8227257: javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError
Reviewed-by: phh
Backport-of: 78b1686c15
2023-03-24 17:00:09 +00:00
Matthias Baesken
04e337cdb9 8303575: adjust Xen handling on Linux aarch64
Reviewed-by: clanger
Backport-of: 8eaf84f094
2023-03-23 08:58:15 +00:00
Matthias Baesken
8a2425d35d 8300042: Improve CPU related JFR events descriptions
Backport-of: e326b86d37
2023-03-23 08:48:46 +00:00
Matthias Baesken
3b64bdeaba 8303576: addIdentitiesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return
Backport-of: a7e308ab6e
2023-03-22 13:09:07 +00:00
Goetz Lindenmaier
cc170c7b17 8292301: [REDO v2] C2 crash when allocating array of size too large
Reviewed-by: roland, mdoerr
Backport-of: 1ea0d6b424
2023-03-21 16:00:19 +00:00
Matthias Baesken
15674a933e 8304063: tools/jpackage/share/AppLauncherEnvTest.java fails when checking LD_LIBRARY_PATH
Backport-of: ebac7eec8e
2023-03-21 08:16:30 +00:00
Matthias Baesken
752494f31e 8303949: gcc10 warning Linux ppc64le - note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5
Reviewed-by: phh
Backport-of: a32ee5dd8b
2023-03-20 13:39:11 +00:00
Matthias Baesken
c00568255b 8303354: addCertificatesToKeystore in KeystoreImpl.m needs CFRelease call in early potential CHECK_NULL return
Backport-of: b51ea4204e
2023-03-17 08:06:35 +00:00
Matthias Baesken
fba6dd8b45 8301050: Detect Xen Virtualization on Linux aarch64
Reviewed-by: clanger
Backport-of: 11804b246e
2023-03-17 08:05:49 +00:00
Ravali Yatham
c6805e643f 8302791: Add specific ClassLoader object to Proxy IllegalArgumentException message
Reviewed-by: mchung, phh
Backport-of: 9f9d678591
2023-03-16 21:31:39 +00:00
Johannes Bechberger
4baaa110d6 8302320: AsyncGetCallTrace obtains too few frames in sanity test
Backport-of: db483a38a8
2023-03-15 10:30:56 +00:00
Man Cao
bc79161e25 8303937: Corrupted heap dumps due to missing retries for os::write()
Reviewed-by: clanger
Backport-of: bf16b5b988
2023-03-15 07:16:31 +00:00
Sergey Bylokhov
b087032f9b 8303440: The "ZonedDateTime.parse" may not accept the "UTC+XX" zone id
Backport-of: cfb0a25a4e
2023-03-13 18:55:26 +00:00
Sergey Bylokhov
c118b0e9c8 8270859: Post JEP 411 refactoring: client libs with maximum covering > 10K
Backport-of: 90cd2fa164
2023-03-13 10:25:40 +00:00
Vladimir Kempik
1ad9e6843a 8292407: Improve Weak CAS VarHandle/Unsafe tests resilience under spurious failures
Backport-of: 6e6202c14d
2023-03-13 07:23:30 +00:00
Goetz Lindenmaier
1cad49bcd9 8303433: Bump update version for OpenJDK: jdk-17.0.8
Reviewed-by: rrich
2023-03-07 20:46:00 +00:00
Goetz Lindenmaier
9b054a1faf 8289511: Improve test coverage for XPath Axes: child
Backport-of: cfe9026fe0
2023-03-03 09:03:14 +00:00
Goetz Lindenmaier
ca049ec2c6 8284524: Create an automated test for JDK-4422362
Backport-of: b9de0a7556
2023-03-03 08:58:10 +00:00
Goetz Lindenmaier
fd93a6afd8 8284767: Create an automated test for JDK-4422535
Backport-of: 5ae4320921
2023-03-03 08:52:08 +00:00
Goetz Lindenmaier
181a7bb31d 8210927: JDB tests do not update source path after doing a redefine class
Backport-of: 61ac53f6e5
2023-03-03 08:50:37 +00:00
Goetz Lindenmaier
bf51354029 8048190: NoClassDefFoundError omits original ExceptionInInitializerError
Reviewed-by: phh
Backport-of: 464e874a5c
2023-03-03 08:45:30 +00:00
Goetz Lindenmaier
7b967bf66f 8290197: test/jdk/java/nio/file/Files/probeContentType/Basic.java fails on some systems for the ".rar" extension
Backport-of: 44fb92e2aa
2023-03-01 14:47:23 +00:00
Masanori Yano
58b479b0c5 8213531: Test javax/swing/border/TestTitledBorderLeak.java fails
Reviewed-by: phh
Backport-of: 07d24509a6
2023-02-28 15:26:51 +00:00
Goetz Lindenmaier
ae1a3b4b1e 8294548: Problem list SA core file tests on macosx-x64 due to JDK-8294316
Reviewed-by: clanger
Backport-of: 545ded1a82
2023-02-28 11:40:25 +00:00
George Adams
e618681e9b 8302879: doc/building.md update link to jtreg builds
Reviewed-by: clanger
Backport-of: bb3dfd6adb
2023-02-27 10:57:02 +00:00
Adam Sotona
70ea0e6687 8293000: Review running times of jshell regression tests
Backport-of: b4e1e416da
2023-02-27 10:33:11 +00:00
Scott Gibbons
9c35d59911 8280703: CipherCore.doFinal(...) causes potentially massive byte[] allocations during decryption
Backport-of: 409382ba4b
2023-02-24 22:15:39 +00:00
Anton Kozlov
53caaf5896 8289647: AssertionError during annotation processing of record related tests
Reviewed-by: phh
Backport-of: 64a1a08ff9
2023-02-24 22:06:15 +00:00
Shruthi
9bacd0c593 8266974: duplicate property key in java.sql.rowset resource bundle
Backport-of: e3d5c9e7c4
2023-02-24 21:32:51 +00:00
Shruthi
a5c97d4ad7 8300751: [17u] Remove duplicate entry in javac.properties
Reviewed-by: clanger
2023-02-24 21:07:31 +00:00
Goetz Lindenmaier
c8ee076241 8245654: Add Certigna Root CA
Reviewed-by: phh
Backport-of: 8c87a67419
2023-02-24 19:58:15 +00:00
Goetz Lindenmaier
a0cda28d03 8294902: Undefined Behavior in C2 regalloc with null references
Reviewed-by: rrich, phh
Backport-of: 0bbc4181cd
2023-02-24 19:53:43 +00:00
Goetz Lindenmaier
3c1e03b44d 8251177: [macosx] The text "big" is truncated in JTabbedPane
Backport-of: 16ebe40a1b
2023-02-24 19:52:17 +00:00
Radim Vansa
bf4e6590c6 8272702: Resolving URI relative path with no / may lead to incorrect toString
Reviewed-by: phh
Backport-of: 79597f1ea6
2023-02-24 15:03:57 +00:00
Victor Rudometov
da62b2b37e 8299970: Speed up compiler/arraycopy/TestArrayCopyConjoint.java
Backport-of: 5d39d14522
2023-02-21 16:39:01 +00:00
Patrick Zhang
fcd9110e73 8298472: AArch64: Detect Ampere-1 and Ampere-1A CPUs and set default options
Reviewed-by: aph, goetz
Backport-of: 7068457436
2023-02-21 15:29:13 +00:00
Victor Rudometov
a6f4cf1aaa 8302152: Speed up tests with infinite loops, sleep less
Backport-of: a9a53f417d
2023-02-20 18:45:40 +00:00
Victor Rudometov
49ff97cdf7 8301342: Prefer ArrayList to LinkedList in LayoutComparator
Backport-of: d67bfe21a2
2023-02-20 18:44:08 +00:00
Goetz Lindenmaier
5027f56234 8288332: Tier1 validate-source fails after 8279614
Backport-of: e90b579b29
2023-02-17 09:58:59 +00:00
Christoph Langer
d0e0633523 8302692: [17u] Update GHA Boot JDK to 17.0.6
Reviewed-by: mbaesken, sgehwolf
2023-02-17 09:57:24 +00:00
Ekaterina Vergizova
fb6d6fef56 8301842: JFR: increase checkpoint event size for stacktrace and string pool
Backport-of: 7dfe75cf55
2023-02-16 10:51:26 +00:00
Roman Marchenko
cf5490b5c9 8297437: javadoc cannot link to old docs (with old style anchors)
Reviewed-by: phh
Backport-of: 15a1488401
2023-02-15 15:51:12 +00:00
Goetz Lindenmaier
334ec9a0c0 8282958: Rendering Issues with Borders on Windows High-DPI systems
Backport-of: 9911405e54
2023-02-15 14:55:31 +00:00
Goetz Lindenmaier
d2409a7d0d 8295777: java/net/httpclient/ConnectExceptionTest.java should not rely on system resolver
Backport-of: 65c84e0cf8
2023-02-15 14:53:42 +00:00
Goetz Lindenmaier
0ce70e3263 8294958: java/net/httpclient/ConnectTimeout tests are slow
Backport-of: fe70487d0b
2023-02-15 14:51:42 +00:00
Goetz Lindenmaier
efe86767af 8279614: The left line of the TitledBorder is not painted on 150 scale factor
Backport-of: b42c1ad108
2023-02-15 14:49:55 +00:00
Goetz Lindenmaier
036029e610 8281170: Test jdk/tools/jpackage/windows/WinInstallerIconTest always fails on Windows 11
Backport-of: bb4dece246
2023-02-15 13:58:02 +00:00
Matthias Baesken
9e26f383d5 8300266: Detect Virtualization on Linux aarch64
Reviewed-by: clanger
Backport-of: 544c16e0bd
2023-02-15 10:18:41 +00:00
Goetz Lindenmaier
68d7ac57e5 8288415: java/awt/PopupMenu/PopupMenuLocation.java is unstable in MacOS machines
Backport-of: a2f67660f0
2023-02-14 20:06:35 +00:00
Matthias Baesken
8b309685da 8300205: Swing test bug8078268 make latch timeout configurable
Backport-of: e82dc6935b
2023-02-14 15:12:38 +00:00
Matthias Baesken
17084d59f7 8299957: Enhance error logging in instrument coding with additional jplis_assert_msg
Backport-of: be8e6d05db
2023-02-14 15:10:53 +00:00
Goetz Lindenmaier
95a805bbd5 8299671: Speed up compiler/intrinsics/string/TestStringLatin1IndexOfChar.java
Backport-of: d2827ec8f7
2023-02-14 09:30:06 +00:00
Goetz Lindenmaier
a800231f17 8299018: java/net/httpclient/HttpsTunnelAuthTest.java fails with java.io.IOException: HTTP/1.1 header parser received no bytes
Backport-of: e5edb10dc5
2023-02-13 14:42:44 +00:00
Goetz Lindenmaier
da75daf547 8297489: Modify TextAreaTextEventTest.java as to verify the content change of TextComponent sends TextEvent
Backport-of: 7d20a60a98
2023-02-13 14:41:05 +00:00
Goetz Lindenmaier
05f1bdb236 8223783: sun/net/www/http/HttpClient/MultiThreadTest.java sometimes detect threads+1 connections
Backport-of: 8effaa8f1f
2023-02-13 14:39:12 +00:00
Goetz Lindenmaier
202117158b 8186765: Speed up test sun/net/www/protocol/https/HttpsClient/ProxyAuthTest.java
Backport-of: 43dbf5899b
2023-02-13 14:35:38 +00:00
Goetz Lindenmaier
fab9770b89 8295774: Write a test to verify List sends ItemEvent/ActionEvent
Backport-of: 2a79dfc1f9
2023-02-12 19:08:08 +00:00
Goetz Lindenmaier
a248b78a53 8295000: java/util/Formatter/Basic test cleanup
Backport-of: 78763fc8e0
2023-02-12 19:07:05 +00:00
Goetz Lindenmaier
5bef90fad3 8296675: Exclude linux-aarch64 in NSS tests
Backport-of: fa8a8668a6
2023-02-10 08:41:59 +00:00
Goetz Lindenmaier
1b5825cc60 8292328: AccessibleActionsTest.java test instruction for show popup on JLabel did not specify shift key
Backport-of: df53fa752a
2023-02-10 08:40:41 +00:00
Goetz Lindenmaier
49023f45f3 8293819: sun/util/logging/PlatformLoggerTest.java failed with "RuntimeException: Retrieved backing PlatformLogger level null is not the expected CONFIG"
Backport-of: 11e7d53b23
2023-02-10 08:39:14 +00:00
Goetz Lindenmaier
d52e18c92d 8286030: Avoid JVM crash when containers share the same /tmp dir
Reviewed-by: stuefe
Backport-of: 84f23149e2
2023-02-10 08:37:36 +00:00
Goetz Lindenmaier
b023d5c1fb 8290083: ResponseBodyBeforeError: AssertionError or SSLException: Unsupported or unrecognized SSL message
Backport-of: 3b9059a147
2023-02-10 08:35:42 +00:00
Goetz Lindenmaier
cb1a54abd4 8195809: [TESTBUG] jps and jcmd -l support for containers is not tested
Backport-of: 7c26ddb575
2023-02-10 08:34:17 +00:00
Matthias Baesken
3330f9c2ad 8301170: perfMemory_windows.cpp add free_security_attr to early returns
Backport-of: 810c8a271b
2023-02-10 07:52:38 +00:00
Yuri Nesterenko
651ec7d1f4 8301760: Fix possible leak in SpNegoContext dispose
Backport-of: 3f3356bcbd
2023-02-10 07:49:07 +00:00
Goetz Lindenmaier
a15041a232 8298073: gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java causes test task timeout on macosx
8241293: CompressedClassSpaceSizeInJmapHeap.java time out after 8 minutes

Reviewed-by: phh
Backport-of: 99a6c47855
2023-02-08 16:07:41 +00:00
Goetz Lindenmaier
beaf5b10c2 8286962: java/net/httpclient/ServerCloseTest.java failed once with ConnectException
Backport-of: 13d4ddc35b
2023-02-08 16:05:51 +00:00
Radim Vansa
4ab869e930 8296329: jar validator doesn't account for minor class file version
Reviewed-by: yan
Backport-of: faf48e61be
2023-02-06 12:39:32 +00:00
Radim Vansa
ceabaee8a6 8300590: [JVMCI] BytecodeFrame.equals is broken
Reviewed-by: phh
Backport-of: 06394ee8b1
2023-02-06 12:29:10 +00:00
Thomas Stuefe
ddd9631f32 8294677: chunklevel::MAX_CHUNK_WORD_SIZE too small for some applications
Reviewed-by: phh, xliu
Backport-of: 2292ce137c
2023-02-05 07:48:37 +00:00
Ichiroh Takiguchi
0ed36894a9 8299194: CustomTzIDCheckDST.java may fail at future date
Backport-of: 5e2de89628
2023-02-04 04:50:37 +00:00
Victor Rudometov
2fa09bbc69 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

Backport-of: d889264c61
2023-02-03 19:22:30 +00:00
Victor Rudometov
fe770e32a1 8299296: Write a test to verify the components selection sends ItemEvent
Backport-of: 5ae6de859d
2023-02-03 18:41:57 +00:00
Goetz Lindenmaier
38eb0d6c27 8293326: jdk/sun/security/tools/jarsigner/compatibility/SignTwice.java slow on Windows
Backport-of: 205f992e9e
2023-02-02 20:15:20 +00:00
Goetz Lindenmaier
012a216cbb 8289400: Improve com/sun/jdi/TestScaffold error reporting
Backport-of: da99e3e829
2023-02-02 20:13:20 +00:00
Goetz Lindenmaier
c74eb2bffd 8292066: Convert TestInputArgument.sh and TestSystemLoadAvg.sh to java version
Backport-of: 032be168b5
2023-02-02 20:10:16 +00:00
Goetz Lindenmaier
78c6be2dc0 8292443: Weak CAS VarHandle/Unsafe tests should test always-failing cases
Backport-of: e8bc87956a
2023-02-02 20:07:14 +00:00
Goetz Lindenmaier
50c34336e4 8291825: java/time/nontestng/java/time/zone/CustomZoneNameTest.java fails if defaultLocale and defaultFormatLocale are different
Backport-of: 4772354f4c
2023-02-02 20:05:31 +00:00
Goetz Lindenmaier
a3f228858e 8286844: com/sun/jdi/RedefineCrossEvent.java failed with 1 threads completed while VM suspended
Backport-of: 7ec0132ad3
2023-02-02 20:04:10 +00:00
Goetz Lindenmaier
7224cbe087 8287593: ShortResponseBody could be made more resilient to rogue connections
Reviewed-by: chegar
Backport-of: 9ccae7078e
2023-02-02 20:01:18 +00:00
Victor Rudometov
83c0805b45 8289948: Improve test coverage for XPath functions: Node Set Functions
Backport-of: 57bf603b73
2023-02-01 16:44:06 +00:00
Goetz Lindenmaier
b9e4d10ce9 8289440: Remove vmTestbase/nsk/monitoring/MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded003 from ProblemList.txt
Backport-of: 00d06d4a82
2023-02-01 09:27:01 +00:00
Goetz Lindenmaier
c9fac0e3ea 8282036: Change java/util/zip/ZipFile/DeleteTempJar.java to stop HttpServer cleanly in case of exceptions
Backport-of: 784fa0add7
2023-02-01 09:25:20 +00:00
Goetz Lindenmaier
535c64b658 8209935: Test to cover CodeSource.getCodeSigners()
Backport-of: 0cb0ecf443
2023-02-01 09:22:28 +00:00
Goetz Lindenmaier
62461a298a 8271838: AmazonCA.java interop test fails
Backport-of: 512db0ff31
2023-02-01 09:15:37 +00:00
Goetz Lindenmaier
71f53adab8 8286154: Fix 3rd party notices in test files
Backport-of: 1277f5d84e
2023-02-01 09:14:01 +00:00
Goetz Lindenmaier
49a0287c43 6779701: Wrong defect ID in the code of test LocalRMIServerSocketFactoryTest.java
Backport-of: 8a662105c2
2023-02-01 09:08:56 +00:00
Ekaterina Vergizova
501a4bf95b 8298649: JFR: RemoteRecordingStream support for checkpoint event sizes beyond u4
Reviewed-by: phh
Backport-of: 0eeaf6b219
2023-01-31 13:53:26 +00:00
Thomas Stuefe
9a992abfdb 8277990: NMT: Remove NMT shutdown capability
Reviewed-by: mbaesken
Backport-of: 5a036ace01
2023-01-31 10:58:10 +00:00
Ekaterina Vergizova
7b39d48fd3 8298129: Let checkpoint event sizes grow beyond u4 limit
Reviewed-by: phh
Backport-of: ea108f504c
2023-01-31 10:08:02 +00:00
Christoph Langer
0e98d6a81a 8301397: [11u, 17u] Bump jtreg to fix issue with build JDK 11.0.18
Reviewed-by: goetz
2023-01-31 09:28:20 +00:00
Elif Aslan
201ceb7054 8280007: Enable Neoverse N1 optimizations for Arm Neoverse V1 & N2
Backport-of: f823bed043
2023-01-30 16:32:13 +00:00
Goetz Lindenmaier
7fa6bc2f82 8294160: misc crash dump improvements
Reviewed-by: rrich
Backport-of: 6f8f28e756
2023-01-30 09:13:09 +00:00
Goetz Lindenmaier
a7c0ed1a2e 8230374: maxOutputSize, instead of javatest.maxOutputSize, should be used in TEST.properties
Backport-of: 04d8069bac
2023-01-30 09:12:32 +00:00
Goetz Lindenmaier
9fc178bfc2 8285965: TestScenarios.java does not check for "<!-- safepoint while printing -->" correctly
Backport-of: 6e3e470dac
2023-01-30 09:10:00 +00:00
Goetz Lindenmaier
d37977e403 8286873: Improve websocket test execution time
Backport-of: d24c84e768
2023-01-30 08:58:24 +00:00
Goetz Lindenmaier
4be1ed4940 8284115: [IR Framework] Compilation is not found due to rare safepoint while dumping PrintIdeal/PrintOptoAssembly
Backport-of: 3984253800
2023-01-30 08:53:07 +00:00
Thomas Stuefe
4a9bd23ae6 8275704: Metaspace::contains() should be threadsafe
Backport-of: d9b0138d7d
2023-01-30 06:53:07 +00:00
Thomas Stuefe
b22bce8f2d 8276086: Increase size of metaspace mappings
Backport-of: e89b2c040c
2023-01-30 06:52:15 +00:00
Ben Taylor
1a38e26e67 8297963: Partially fix string expansion issues in UTIL_DEFUN_NAMED and related macros
Backport-of: f8f46305ef
2023-01-27 20:14:11 +00:00
Sergey Bylokhov
4e5f5de2e3 8192931: Regression test java/awt/font/TextLayout/CombiningPerf.java fails
Backport-of: 54a29a4470
2023-01-27 17:15:40 +00:00
Dan Lutker
5fd778be5a 8300692: GCC 12 reports some compiler warnings in bundled freetype
Reviewed-by: serb
Backport-of: a6c2a2ae79
2023-01-27 16:55:26 +00:00
Dan Lutker
651ba865c1 8286694: Incorrect argument processing in java launcher
Backport-of: 26c7c92bc9
2023-01-27 16:04:34 +00:00
Thomas Stuefe
f6ad61c06e 8275582: Don't purge metaspace mapping lists
Backport-of: 3ff085e296
2023-01-27 13:11:28 +00:00
Thomas Stuefe
b7d83f4e64 8293466: libjsig should ignore non-modifying sigaction calls
Backport-of: b1ed40a87a
2023-01-27 13:10:49 +00:00
Thomas Stuefe
fae1628cef 8293493: Signal Handlers printout should show signal block state
Backport-of: d14e96d970
2023-01-27 12:55:29 +00:00
Johan Sjölen
d1ad596250 8293691: converting a defined BasicType value to a string should not crash the VM
Reviewed-by: phh
Backport-of: f2a32d996a
2023-01-26 20:45:24 +00:00
Thomas Stuefe
229288bf09 8277946: NMT: Remove VM.native_memory shutdown jcmd command option
Reviewed-by: mbaesken
Backport-of: abaa073bcb
2023-01-26 15:48:35 +00:00
Sergey Bylokhov
d3c93e7b0c 8280048: Missing comma in copyright header
Backport-of: 9a18190a4f
2023-01-26 14:02:43 +00:00
Goetz Lindenmaier
1cee8aa903 8231491: JDI tc02x004 failed again due to wrong # of breakpoints
Backport-of: e2cfe2e14a
2023-01-26 12:58:29 +00:00
Goetz Lindenmaier
fde708b8ac 8282771: Create test case for JDK-8262981
Backport-of: 8db5247ebc
2023-01-26 12:56:36 +00:00
Goetz Lindenmaier
2f9983c95f 8285690: CloneableReference subtest should not throw CloneNotSupportedException
Backport-of: 2d8d140214
2023-01-26 12:52:52 +00:00
Masanori Yano
8c2a6bdca2 8144030: [macosx] test java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java fails (again)
Backport-of: e5041ae3d4
2023-01-25 18:10:57 +00:00
Yasumasa Suenaga
3993301681 8287491: compiler/jvmci/errors/TestInvalidDebugInfo.java fails new assert: assert((uint)t < T_CONFLICT + 1) failed: invalid type #
Reviewed-by: phh
Backport-of: e3791ecfe4
2023-01-25 17:32:13 +00:00
Sergey Bylokhov
b3a8ad57e7 6528710: sRGB-ColorSpace to sRGB-ColorSpace Conversion
Backport-of: abeddab991
2023-01-25 17:30:03 +00:00
Sergey Bylokhov
b3e305e8cb 8294705: Disable an assertion in test/jdk/java/util/DoubleStreamSums/CompensatedSums.java
Backport-of: c08ff2c7b8
2023-01-25 17:24:31 +00:00
Yasumasa Suenaga
46c1434d50 8286562: GCC 12 reports some compiler warnings
Backport-of: 410a25d59a
2023-01-25 17:19:30 +00:00
Victor Rudometov
0720b24055 8299497: Usage of constructors of primitive wrapper classes should be avoided in java.desktop API docs
Backport-of: b5ee3d1f2a
2023-01-25 17:06:14 +00:00
Goetz Lindenmaier
a34f2d3728 8300773: Address the inconsistency between the constant array and pool size
Reviewed-by: mbaesken
2023-01-25 09:04:56 +00:00
Goetz Lindenmaier
ba956c5647 8208077: File.listRoots performance degradation
Backport-of: 5b0af1a80b
2023-01-25 08:51:21 +00:00
Goetz Lindenmaier
62ccb3967b 8295685: Update Libpng to 1.6.38
Backport-of: b685fc2de4
2023-01-25 08:47:10 +00:00
Goetz Lindenmaier
ba023c6bf3 8297264: C2: Cast node is not processed again in CCP and keeps a wrong too narrow type which is later replaced by top
Reviewed-by: rrich
Backport-of: a57392390b
2023-01-24 09:07:23 +00:00
Goetz Lindenmaier
40b5f15c33 8287180: Update IANA Language Subtag Registry to Version 2022-08-08
Reviewed-by: stuefe
Backport-of: 992f209def
2023-01-24 09:04:37 +00:00
Goetz Lindenmaier
eac9a05321 8292033: Move jdk.X509Certificate event logic to JCA layer
Reviewed-by: mbaesken
Backport-of: 102b2b32fe
2023-01-24 08:54:41 +00:00
Yasumasa Suenaga
0056a6330b 8286705: GCC 12 reports use-after-free potential bugs
Backport-of: 0e4bece5b5
2023-01-23 22:05:43 +00:00
Goetz Lindenmaier
68c025ba83 8287754: Update jib GNU make dependency on Windows to latest cygwin build
Backport-of: af2de975cb
2023-01-23 11:22:33 +00:00
Severin Gehwolf
571f5f5ae0 8300119: CgroupMetrics.getTotalMemorySize0() can report invalid results on 32 bit systems
Backport-of: dea58efb62
2023-01-23 10:52:36 +00:00
Goetz Lindenmaier
b7be2bd001 8272985: Reference discovery is confused about atomicity and degree of parallelism
Backport-of: fb5b144eca
2023-01-23 10:44:00 +00:00
Christoph Langer
48d525946d 8300490: Spaces in name of MacOS Code Signing Identity are not correctly handled after JDK-8293550
Backport-of: 62a2f2327a
2023-01-20 10:28:15 +00:00
Goetz Lindenmaier
b3e16fc287 8300642: [17u,11u] Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev
Reviewed-by: clanger
2023-01-19 19:40:36 +00:00
Christoph Langer
48952282c6 8285919: Remove debug printout from JDK-8285093
Backport-of: 64225e1999
2023-01-19 06:46:20 +00:00
Aleksey Shipilev
c20415b042 8282143: Objects.requireNonNull should be ForceInline
Backport-of: fc52a2182a
2023-01-18 13:04:33 +00:00
Aleksey Shipilev
bca0856b3a 8285755: JDK-8285093 changed the default for --with-output-sync
Backport-of: ccf0e8bf90
2023-01-18 13:01:12 +00:00
Goetz Lindenmaier
38b60a2a7c Merge 2023-01-18 11:52:42 +00:00
Matthias Baesken
0631d3cf5a 8299657: sun/tools/jhsdb/SAGetoptTest.java fails after 8299470
Backport-of: 1ca31d34fc
2023-01-18 08:22:10 +00:00
Matthias Baesken
b45eb506e4 8299470: sun/jvm/hotspot/SALauncher.java handling of negative rmiport args
Backport-of: 2ccdefc81c
2023-01-18 08:18:32 +00:00
Goetz Lindenmaier
7d6adf22b2 8280896: java/nio/file/Files/probeContentType/Basic.java fails on Windows 11
Backport-of: f9137cb7b7
2023-01-18 08:14:00 +00:00
Goetz Lindenmaier
1572e779ea 8283719: java/util/logging/CheckZombieLockTest.java failing intermittently
Backport-of: 74835f7389
2023-01-17 15:52:06 +00:00
Goetz Lindenmaier
48b8fec112 8283717: vmTestbase/nsk/jdi/ThreadStartEvent/thread/thread001 failed due to SocketTimeoutException
Backport-of: f9f439a19d
2023-01-17 07:31:59 +00:00
Goetz Lindenmaier
cc568204ec 8296389: C2: PhaseCFG::convert_NeverBranch_to_Goto must handle both orders of successors
8298568: Fastdebug build fails after JDK-8296389

Reviewed-by: rrich
Backport-of: fabda24696
2023-01-16 18:03:34 +00:00
Goetz Lindenmaier
1d6db4435f 8297642: PhaseIdealLoop::only_has_infinite_loops must detect all loops that never lead to termination
Backport-of: d562d3fcbe
2023-01-16 17:55:12 +00:00
Goetz Lindenmaier
b5c7a6f7c4 8290850: C2: create_new_if_for_predicate() does not clone pinned phi input nodes resulting in a broken graph
Reviewed-by: phh
Backport-of: 49b86224aa
2023-01-16 17:51:59 +00:00
Goetz Lindenmaier
127f3eb840 8278961: Enable debug logging in java/net/DatagramSocket/SendDatagramToBadAddress.java
Reviewed-by: rrich
Backport-of: c17a0122c4
2023-01-16 17:47:12 +00:00
Goetz Lindenmaier
044eb4e4cd 8273154: Provide a JavadocTester method for non-overlapping, unordered output matching
Backport-of: ce3ed65ac3
2023-01-16 17:45:25 +00:00
Goetz Lindenmaier
5872c774fb 8254267: javax/xml/crypto/dsig/LogParameters.java failed with "RuntimeException: Unexpected log output:"
Backport-of: 40d69f0c41
2023-01-16 17:42:24 +00:00
Severin Gehwolf
7043b63bb1 8295211: Fix autoconf 2.71 warning "AC_CHECK_HEADERS: you should use literals"
Backport-of: c357b5908a
2023-01-16 09:17:47 +00:00
Matthias Baesken
e490cadfb7 8279351: [TESTBUG] SADebugDTest.java does not handle "Address already in use" error
Backport-of: d1e6f26160
2023-01-16 08:40:37 +00:00
Sergey Bylokhov
1032a0f04c 8299789: Compilation of gtest causes build to fail if runtime libraries are in different dirs
Backport-of: c8a8388aba
2023-01-15 07:00:58 +00:00
Matthias Baesken
4780e492f0 8299424: containers/docker/TestMemoryWithCgroupV1.java fails on SLES12 ppc64le when testing Memory and Swap Limit
Backport-of: 95d4db3a92
2023-01-13 07:43:25 +00:00
Richard Reingruber
63da2b0071 8295413: com/sun/jdi/EATests.java fails with compiler flag -XX:+StressReflectiveCode
Backport-of: 08d3ef4fe6
2023-01-13 07:35:32 +00:00
Matthias Baesken
6e544c20c9 8299520: TestPrintXML.java output error messages in case compare fails
Backport-of: ea25a561c5
2023-01-12 14:15:25 +00:00
Goetz Lindenmaier
772f90a266 8295116: C2: assert(dead->outcnt() == 0 && !dead->is_top()) failed: node must be dead
Backport-of: 94575d14f4
2023-01-12 14:08:52 +00:00
Goetz Lindenmaier
08e30d0b37 8297951: C2: Create skeleton predicates for all If nodes in loop predication
Backport-of: 0bd04a6589
2023-01-12 14:06:01 +00:00
Matthias Baesken
f8a84174b6 8299388: java/util/regex/NegativeArraySize.java fails on Alpine and sometimes Windows
Backport-of: c2e3d72848
2023-01-12 14:04:49 +00:00
Goetz Lindenmaier
ead308168e 8296619: Upgrade jQuery to 3.6.1
Reviewed-by: mbaesken
Backport-of: 6a7a0db587
2023-01-12 14:00:03 +00:00
Goetz Lindenmaier
0db4add5ec 8286707: JFR: Don't commit JFR internal jdk.JavaMonitorWait events
Backport-of: fc889577ea
2023-01-12 13:57:53 +00:00
Goetz Lindenmaier
eceb4808e4 8267038: Update IANA Language Subtag Registry to Version 2022-03-02
Backport-of: 7b19226be2
2023-01-12 13:50:24 +00:00
Goetz Lindenmaier
ffecc39b3b 8295788: C2 compilation hits "assert((mode == ControlAroundStripMined && use == sfpt) || !use->is_reachable_from_root()) failed: missed a node"
Backport-of: 761a4f4852
2023-01-12 09:28:54 +00:00
Thomas Stuefe
520ae87929 8284165: Add pid to process reaper thread name
Reviewed-by: phh
Backport-of: 9561b5e041
2023-01-12 08:10:55 +00:00
Thomas Stuefe
3722edcff1 8284726: Print active locale settings in hs_err reports and in VM.info
Backport-of: 6ce4e755a4
2023-01-12 07:50:16 +00:00
Thomas Stuefe
2defeb0e04 8290067: Show stack dimensions in UL logging when attaching threads
Backport-of: 7ff19694df
2023-01-11 10:58:08 +00:00
Matthias Baesken
072bdfbb2e 8297523: Various GetPrimitiveArrayCritical miss result - NULL check
Backport-of: 27b339d189
2023-01-11 07:45:52 +00:00
Aleksey Shipilev
fea38188a1 8280784: VM_Cleanup unnecessarily processes all thread oops
Reviewed-by: stefank
Backport-of: 8a3cca09ba
2023-01-10 17:47:15 +00:00
Goetz Lindenmaier
f2c3f352bb 8297088: Update LCMS to 2.14
Reviewed-by: phh
Backport-of: 2c692aa356
2023-01-10 15:37:38 +00:00
Christoph Langer
2fe42855c4 8299392: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.6
Reviewed-by: goetz
2023-01-10 14:21:55 +01:00
Thomas Stuefe
1dc6a38c84 8277822: Remove debug-only heap overrun checks in os::malloc and friends
Reviewed-by: phh
Backport-of: 39b1d75f25
2023-01-10 12:20:33 +00:00
Severin Gehwolf
c370dec037 8298271: java/security/SignedJar/spi-calendar-provider/TestSPISigned.java failing on Windows
Reviewed-by: phh, clanger
Backport-of: cf93933e21
2023-01-10 09:19:03 +00:00
Goetz Lindenmaier
339b93b86e 8297431: [JVMCI] HotSpotJVMCIRuntime.encodeThrowable should not throw an exception
Backport-of: 952e100551
2023-01-09 16:30:06 +00:00
Goetz Lindenmaier
b42793864e 8297569: URLPermission constructor throws IllegalArgumentException: Invalid characters in hostname after JDK-8294378
Backport-of: 2f47f83add
2023-01-09 16:28:04 +00:00
Goetz Lindenmaier
ad04159cf4 8296912: C2: CreateExNode::Identity fails with assert(i < _max) failed: oob: i=1, _max=1
Backport-of: 502fa3eeea
2023-01-09 16:24:29 +00:00
Goetz Lindenmaier
d784aaef44 8276064: CheckCastPP with raw oop input floats below a safepoint
Backport-of: cd9c688bfc
2023-01-09 16:20:41 +00:00
Goetz Lindenmaier
02f581522d 8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR
8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java

Reviewed-by: clanger
Backport-of: 3b374c0153
2023-01-09 16:53:59 +01:00
Goetz Lindenmaier
f541d65092 8296239: ISO 4217 Amendment 174 Update
Backport-of: fd83764981
2023-01-09 16:52:39 +01:00
Goetz Lindenmaier
cf6c041bd8 8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR
8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java

Reviewed-by: clanger
Backport-of: 3b374c0153
2023-01-09 14:39:27 +00:00
Alexei Voitylov
8278c12cef 8289350: Better media supports
Reviewed-by: mbalao
2023-01-09 15:24:38 +01:00
Thomas Stuefe
6f11502987 8275320: NMT should perform buffer overrun checks
8275320: NMT should perform buffer overrun checks
8275301: Unify C-heap buffer overrun checks into NMT

Reviewed-by: goetz
Backport-of: cf7adae633
2023-01-09 11:09:15 +00:00
Severin Gehwolf
8a8cdeb72d 8298108: Add a regression test for JDK-8297684
Backport-of: 4da8411674
2023-01-09 10:46:02 +00:00
Goetz Lindenmaier
1e892468f1 8296924: C2: assert(is_valid_AArch64_address(dest.target())) failed: bad address
Backport-of: abe532a89c
2023-01-07 15:31:44 +00:00
Goetz Lindenmaier
3e7f840859 8285835: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work
Reviewed-by: mdoerr
Backport-of: 8aa1526b44
2023-01-04 20:41:09 +00:00
Goetz Lindenmaier
95f23f7d82 8292177: InitialSecurityProperty JFR event
Reviewed-by: mbaesken
Backport-of: 8c40b7dc8c
2023-01-04 20:39:31 +00:00
Martin Balao
7d9a59088f 8295723: security/infra/wycheproof/RunWycheproof.java fails with Assertion Error
Reviewed-by: mbaesken
Backport-of: e94ca7d3fc9b5946d5b808f98e334529054c4f39
2023-01-04 14:46:27 +01:00
Martin Balao
88b952a035 8293554: Enhanced DH Key Exchanges
Reviewed-by: mbaesken
Backport-of: ca126c9025ad975d9086d5f967d35a76425c13ca
2023-01-04 14:29:15 +01:00
Goetz Lindenmaier
c95dda4afb 8286800: Assert in PhaseIdealLoop::dump_real_LCA is too strong
Backport-of: decb1b79bc
2023-01-04 09:43:05 +00:00
Goetz Lindenmaier
0ce1205e16 8294947: Use 64bit atomics in patch_verified_entry on x86_64
Backport-of: d0fae43e89
2023-01-04 09:41:47 +00:00
Goetz Lindenmaier
3a019fdf5f 8294217: Assertion failure: parsing found no loops but there are some
Backport-of: 8c472e4816
2023-01-04 09:39:46 +00:00
Goetz Lindenmaier
c9bbd558d4 8292159: TYPE_USE annotations on generic type arguments of record components discarded
Backport-of: 4d9a1cd26f
2023-01-04 09:38:56 +00:00
Goetz Lindenmaier
013709f626 8294538: missing is_unloading() check in SharedRuntime::fixup_callers_callsite()
Backport-of: b5efa2afe2
2023-01-04 09:36:56 +00:00
Goetz Lindenmaier
6469c3036b 8295414: [Aarch64] C2: assert(false) failed: bad AD file
Backport-of: d3eba859f9
2023-01-04 09:35:23 +00:00
Goetz Lindenmaier
26f034879f 8280868: LineBodyHandlerTest.java creates and discards too many clients
Backport-of: 47800bf3da
2023-01-04 09:33:50 +00:00
Goetz Lindenmaier
d3c4a14cf3 8280553: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java can fail if GC occurs
Backport-of: be9f984cae
2023-01-04 09:20:36 +00:00
Goetz Lindenmaier
3762bd0a7d 8270476: Make floating-point test infrastructure more lambda and method reference friendly
Backport-of: 40a2ce2033
2023-01-04 09:18:39 +00:00
Goetz Lindenmaier
bd58dd8287 8212961: [TESTBUG] vmTestbase/nsk/stress/jni/ native code cleanup
Backport-of: fde183130b
2023-01-04 09:15:51 +00:00
Sergey Bylokhov
1f4fc33d5e 8275843: Random crashes while the UI code is executed
Backport-of: a9c1acbb8a
2023-01-03 20:55:09 +00:00
Aleksey Shipilev
298fef708d 8277485: Zero: Fix _fast_{i,f}access_0 bytecodes handling
Backport-of: 0a9e76c4f9
2023-01-03 17:27:26 +00:00
Aleksey Shipilev
a395cf72bd 8008243: Zero: Implement fast bytecodes
Backport-of: e4362007da
2023-01-03 17:17:19 +00:00
Matthias Baesken
09160322d4 8298035: Provide better descriptions for JIT compiler JFR events
Reviewed-by: mdoerr
Backport-of: 58170f657c
2023-01-03 09:08:33 +00:00
Sergey Bylokhov
ef94eb7355 8280132: Incorrect comparator com.sun.beans.introspect.MethodInfo.MethodOrder
Backport-of: 2f46af05ce
2023-01-03 01:04:06 +00:00
Goetz Lindenmaier
0ac93eb773 8295066: Folding of loads is broken in C2 after JDK-8242115
Backport-of: 58a7141a0d
2023-01-02 21:08:40 +00:00
Goetz Lindenmaier
abfa08fb58 8242115: C2 SATB barriers are not safepoint-safe
Reviewed-by: mdoerr
Backport-of: c6e3daa5fa
2023-01-02 20:24:07 +00:00
Goetz Lindenmaier
0aa62ae777 8294378: URLPermission constructor exception when using tr locale
Backport-of: ff2c987669
2023-01-02 13:51:15 +00:00
Goetz Lindenmaier
6f5fdb33c6 8296239: ISO 4217 Amendment 174 Update
Backport-of: fd83764981
2023-01-02 13:49:42 +00:00
Goetz Lindenmaier
9a2743f6a7 8296136: Use correct register in aarch64_enc_fast_unlock()
Reviewed-by: rkennke
Backport-of: 7619602c36
2023-01-02 13:46:48 +00:00
Goetz Lindenmaier
7be0b5a122 8293531: C2: some vectorapi tests fail assert "Not monotonic" with flag -XX:TypeProfileLevel=222
Backport-of: 0043d58c5d
2023-01-02 13:45:20 +00:00
Goetz Lindenmaier
aa8a841287 8290964: C2 compilation fails with assert "non-reduction loop contains reduction nodes"
Backport-of: 4bdd1c9148
2023-01-02 13:08:40 +00:00
Goetz Lindenmaier
61e27b4955 8292780: misc tests failed "assert(false) failed: graph should be schedulable"
Backport-of: 16047e8308
2023-01-02 13:07:12 +00:00
Goetz Lindenmaier
43668f9cae 8293996: C2: fix and simplify IdealLoopTree::do_remove_empty_loop
Backport-of: dd51f7e0b7
2023-01-02 12:59:20 +00:00
Goetz Lindenmaier
330105c9d2 8292602: ZGC: C2 late barrier analysis uses invalid dominator information
Backport-of: eec992c6b0
2023-01-02 12:49:30 +00:00
Goetz Lindenmaier
4be52ee572 8292297: Fix up loading of override java.security properties file
Reviewed-by: mdoerr, mbaesken
Backport-of: 1f9ff41312
2023-01-02 12:32:13 +00:00
Goetz Lindenmaier
475ca049f3 8281122: [IR Framework] Cleanup IR matching code in preparation for JDK-8280378
Reviewed-by: mdoerr
Backport-of: 2da677793f
2023-01-02 12:29:33 +00:00
Goetz Lindenmaier
d667e32988 8280889: java/lang/instrument/GetObjectSizeIntrinsicsTest.java fails with -XX:-UseCompressedOops
Backport-of: 251351f494
2023-01-02 12:27:54 +00:00
Goetz Lindenmaier
587d5c5885 8280166: Extend java/lang/instrument/GetObjectSizeIntrinsicsTest.java test cases
Backport-of: 76fe03fe01
2023-01-02 11:34:59 +00:00
Goetz Lindenmaier
410fa44c19 8258512: serviceability/sa/TestJmapCore.java timed out on macOS 10.13.6
Backport-of: 19ce33d5e7
2023-01-02 11:32:37 +00:00
Goetz Lindenmaier
eb76fa33fc 8270156: Add "randomness" and "stress" keys to JTreg tests which use StressGCM, StressLCM and/or StressIGVN
Backport-of: 653a612a5a
2023-01-02 11:29:19 +00:00
Matthias Baesken
cfb3a3c5a0 8235297: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java fails intermittent
Backport-of: d490f15e3b
2023-01-02 07:52:21 +00:00
Matthias Baesken
5976752ea7 8298093: improve cleanup and error handling of awt_parseColorModel in awt_parseImage.c
Backport-of: 98fa48c330
2023-01-02 07:49:47 +00:00
Martin Doerr
82790b03da 8295724: VirtualMachineError: Out of space in CodeCache for method handle intrinsic
8298947: compiler/codecache/MHIntrinsicAllocFailureTest.java fails intermittently

Reviewed-by: kvn, mbaesken
Backport-of: cd2182a996
2022-12-31 11:49:31 +00:00
Matthias Baesken
633a763b37 8297959: Provide better descriptions for some Operating System JFR events
Backport-of: dea2161f06
2022-12-30 09:00:19 +00:00
Matthias Baesken
c0a3bf14cc 8297480: GetPrimitiveArrayCritical in imageioJPEG misses result - NULL check
Backport-of: 2f8a5c2eca
2022-12-30 08:54:07 +00:00
Sergey Bylokhov
cec5a0ce48 8288854: getLocalGraphicsEnvironment() on for multi-screen setups throws exception NPE
Backport-of: cfc9a881af
2022-12-29 21:29:10 +00:00
Yi-Fan Tsai
838ca6ad50 8296548: Improve MD5 intrinsic for x86_64
Backport-of: 6ead2b0195
2022-12-29 15:38:09 +00:00
Goetz Lindenmaier
6042c6b9bb 8295530: Update Zlib Data Compression Library to Version 1.2.13
Backport-of: 0c13d66622
2022-12-29 09:44:22 +00:00
Goetz Lindenmaier
219041d77c 8275173: testlibrary_tests/ir_framework/tests/TestCheckedTests.java fails after JDK-8274911
Backport-of: 451a296510
2022-12-29 09:41:58 +00:00
Goetz Lindenmaier
c603f82804 8287217: C2: PhaseCCP: remove not visited nodes, prevent type inconsistency
Backport-of: 379f3094db
2022-12-29 09:36:42 +00:00
Goetz Lindenmaier
e33c871717 8065097: [macosx] javax/swing/Popup/TaskbarPositionTest.java fails because Popup is one pixel off
Backport-of: 649f2d8835
2022-12-29 09:35:04 +00:00
Goetz Lindenmaier
032f007f48 8273410: IR verification framework fails with "Should find method name in validIrRulesMap"
Backport-of: df125f680b
2022-12-29 09:31:08 +00:00
Sergey Bylokhov
bcdaebfa89 8298027: Remove SCCS id's from awt jtreg tests
Backport-of: ba2d28e911
2022-12-29 02:40:28 +00:00
Sergey Bylokhov
70f235d34e 8293767: AWT test TestSinhalaChar.java has old SCCS markings
Backport-of: 141d5f5dee
2022-12-29 02:33:25 +00:00
Aleksei Voitylov
adeba02e08 8295687: Better BMP bounds
Reviewed-by: mbaesken, mbalao
Backport-of: 4df2fd2d1ca8ed73de6ac8b2f6a51ff93e3dac6d
2022-12-28 22:07:53 +01:00
Aleksei Voitylov
4565055213 8293742: Better Banking of Sounds
Reviewed-by: mbaesken, mbalao
Backport-of: f1de79f38fcff10ccaf232f79df0a94e84751ff7
2022-12-28 19:05:26 +01:00
Rui Li
2b6f063c5d 8293734: Improve BMP image handling
Reviewed-by: mbaesken, mbalao
Backport-of: 40959ac32b81c333f04628be227107762b78a7da
2022-12-28 19:00:58 +01:00
Yuri Nesterenko
6692c99102 8293717: Objective view of ObjectView
Reviewed-by: mbaesken, mbalao
Backport-of: fb692840530fa07174f9ad5c9f77d593e503a155
2022-12-28 18:48:46 +01:00
Yuri Nesterenko
0427ff40a3 8293598: Enhance InetAddress address handling
Reviewed-by: mbalao
Backport-of: a2668f58ccc3b7c7d74e2903128b08d97aac5798
2022-12-28 18:43:33 +01:00
Yuri Nesterenko
1452ca94ad 8288516: Enhance font creation
Reviewed-by: mbaesken, mbalao
Backport-of: 4c7b057380d7656c8c275b526d1918de6a625cc4
2022-12-28 16:30:59 +01:00
Alexey Bakhtin
04f32aacb5 8287411: Enhance DTLS performance
Reviewed-by: mbalao
Backport-of: 911c24564444096c0c98f6dc308220d48b42d6d3
2022-12-28 14:32:45 +01:00
Martin Balao
5cc32a1427 8286496: Improve Thread labels
Reviewed-by: mbaesken, avoitylov
Backport-of: e733e55de88e63e129f15edefc602c050339b38a
2022-12-28 14:15:51 +01:00
Martin Balao
9e566a0a57 8286070: Improve UTF8 representation
Reviewed-by: mbaesken
Backport-of: 3c40771d02b34027b53c8f3097e124ac9eddd030
2022-12-28 14:11:34 +01:00
Goetz Lindenmaier
11a53b76cf Merge 2022-12-28 09:36:55 +00:00
Goetz Lindenmaier
244d1942d2 8293562: KeepAliveCache Blocks Threads while Closing Connections
Backport-of: 03f25a9c69
2022-12-27 10:15:02 +00:00
Goetz Lindenmaier
eb95804cfc 8289508: Improve test coverage for XPath Axes: ancestor, ancestor-or-self, preceding, and preceding-sibling
Backport-of: caae53f4da
2022-12-27 10:13:21 +00:00
Goetz Lindenmaier
8b0c5b924c 8292660: C2: blocks made unreachable by NeverBranch-to-Goto conversion are removed incorrectly
Backport-of: 730ced9a10
2022-12-27 10:09:45 +00:00
Goetz Lindenmaier
9729dad09c 8292877: java/util/concurrent/atomic/Serial.java uses {Double,Long}Accumulator incorrectly
Backport-of: 251bff6bee
2022-12-27 10:05:06 +00:00
Goetz Lindenmaier
ade0edf8a5 8292285: C2: remove unreachable block after NeverBranch-to-Goto conversion
Backport-of: a25e1dc53c
2022-12-27 10:02:28 +00:00
Goetz Lindenmaier
6262937f5e 8155246: Throw error if default java.security file is missing
Backport-of: 9d7c13eb14
2022-12-27 09:58:22 +00:00
Goetz Lindenmaier
e770114a85 8288130: compiler error with AP and explicit record accessor
Backport-of: 53b37fe153
2022-12-27 09:30:40 +00:00
Goetz Lindenmaier
d72709ffc8 8285399: JNI exception pending in awt_GraphicsEnv.c:1432
Backport-of: c156bcc599
2022-12-27 09:28:16 +00:00
Goetz Lindenmaier
d8cc8a8e44 8282577: ICC_Profile.setData(int, byte[]) invalidates the profile
Backport-of: f66070b00d
2022-12-27 09:25:40 +00:00
Goetz Lindenmaier
ddaa77b018 8279119: src/jdk.hotspot.agent/doc/index.html file contains references to scripts that no longer exist
Backport-of: 2a59ebbba3
2022-12-27 09:22:43 +00:00
Goetz Lindenmaier
98045382c3 8274911: testlibrary_tests/ir_framework/tests/TestIRMatching.java fails with "java.lang.RuntimeException: Should have thrown exception"
Backport-of: f623460668
2022-12-27 09:18:33 +00:00
Goetz Lindenmaier
554f17b0b6 8244669: convert clhsdb "mem" command from javascript to java
Reviewed-by: clanger
Backport-of: eaefb1a1ed
2022-12-27 09:07:01 +00:00
Goetz Lindenmaier
c8caf68e3f 8279024: Remove javascript references from clhsdb.html
Backport-of: d0ea7c9db9
2022-12-27 09:04:12 +00:00
Goetz Lindenmaier
5194b981ac 8262386: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java timed out
Backport-of: 46684a4efa
2022-12-27 09:01:20 +00:00
Goetz Lindenmaier
e6d369c6d7 8271471: [IR Framework] Rare occurrence of "<!-- safepoint while printing -->" in PrintIdeal/PrintOptoAssembly can let tests fail
Backport-of: 3677734584
2022-12-27 08:58:42 +00:00
Goetz Lindenmaier
41c9d7dc57 8293010: JDI ObjectReference/referringObjects/referringObjects001 fails: assert(env->is_enabled(JVMTI_EVENT_OBJECT_FREE)) failed: checking
Reviewed-by: adinn
Backport-of: 99c3ab0177
2022-12-27 08:52:22 +00:00
Chris Hegarty
3ff9669b3f 8299015: Ensure that HttpResponse.BodySubscribers.ofFile writes all bytes
Backport-of: a7d6de71bb
2022-12-26 19:30:24 +00:00
Nagata, Haruhito
e0368a2a48 8283606: Tests may fail with zh locale on MacOS
Reviewed-by: clanger
Backport-of: 7d545084f4
2022-12-25 07:14:45 +00:00
Severin Gehwolf
0ab310eafb 8280890: Cannot use '-Djava.system.class.loader' with class loader in signed JAR
Reviewed-by: clanger
Backport-of: a0f6f2409e
2022-12-23 10:32:24 +00:00
Aleksei Voitylov
e262f64470 8288005: HotSpot build with disabled PCH fails for Windows AArch64
Backport-of: b2a58bec4a
2022-12-22 10:17:45 +00:00
Christoph Langer
1da982b4f4 8298527: Cygwin's uname -m returns different string than before
Reviewed-by: mbaesken
Backport-of: 51f0a1ce4b
2022-12-22 10:10:14 +00:00
Christoph Langer
d973531cb7 8298588: WebSockets: HandshakeUrlEncodingTest unnecessarily depends on a response body
Backport-of: 909d0cb4d9
2022-12-22 09:58:39 +00:00
Alan Bateman
d5e0d44e2a 8298726: (fs) Change PollingWatchService to record last modified time as FileTime rather than milliseconds
Reviewed-by: andrew
Backport-of: 5f63f7a742
2022-12-21 16:14:15 +00:00
Matthias Baesken
a11f38a14e 8296611: Problemlist several sun/security tests until JDK-8295343 is resolved
Backport-of: d6e2d0d03d
2022-12-21 12:56:14 +00:00
Goetz Lindenmaier
c9d12d419f Merge 2022-12-21 08:17:08 +00:00
Denghui Dong
4634a65347 8283870: jdeprscan --help causes an exception when the locale is ja, zh_CN or de
Reviewed-by: clanger
Backport-of: ef25e189c7
2022-12-21 06:29:36 +00:00
Jatin Bhateja
27b75a87df 8290322: Optimize Vector.rearrange over byte vectors for AVX512BW targets.
Reviewed-by: phh, sviswanathan
Backport-of: 38a81913d3
2022-12-19 14:01:55 +00:00
Sergey Bylokhov
31a18b5ee2 8290899: java/lang/String/StringRepeat.java test requests too much heap on windows x86
Backport-of: 2bb727c4ea
2022-12-19 08:19:45 +00:00
Richard Reingruber
9fdaa338b7 8294580: frame::interpreter_frame_print_on() crashes if free BasicObjectLock exists in frame
Backport-of: bdb4ed0fb1
2022-12-15 08:21:56 +00:00
Christoph Langer
399a52dccb 8298459: Fix msys2 linking and handling out of tree build directory for source zip creation
Backport-of: d624debe23
2022-12-14 16:20:26 +00:00
Goetz Lindenmaier
60a7cdd875 Merge 2022-12-14 07:44:09 +00:00
Andrew John Hughes
12f32dfd45 8297804: (tz) Update Timezone Data to 2022g
Reviewed-by: clanger
Backport-of: ce896731d3
2022-12-13 18:32:13 +00:00
Sergey Bylokhov
5515983179 8296878: Document Filter attached to JPasswordField and setText("") is not cleared instead inserted characters replaced with unicode null characters
Backport-of: 87f00f4a1b
2022-12-12 08:27:53 +00:00
Christoph Langer
57e6d92a6d 8296904: Improve handling of macos xcode toolchain
Reviewed-by: mbaesken
Backport-of: 470f3424fc
2022-12-09 17:02:00 +00:00
Paul Hohensee
d2fdea71f7 8293965: Code signing warnings after JDK-8293550
Backport-of: f91762f56e
2022-12-08 15:47:55 +00:00
Paul Hohensee
d84c61c428 8294310: compare.sh fails on macos after JDK-8293550
Backport-of: b9eeec2b6b
2022-12-08 15:42:13 +00:00
Paul Hohensee
0f43f8e409 8293965: Code signing warnings after JDK-8293550
Backport-of: f91762f56e
2022-12-08 15:39:44 +00:00
Paul Hohensee
cdaf5e3abf 8294310: compare.sh fails on macos after JDK-8293550
Backport-of: b9eeec2b6b
2022-12-08 15:35:52 +00:00
Ben Taylor
a2fb9ae93f 8297211: Expensive fillInStackTrace operation in HttpURLConnection.getOutputStream0 when no content-length in response
Backport-of: 392ac7055d
2022-12-07 18:45:45 +00:00
Goetz Lindenmaier
26b03b5dbe 8297259: Bump update version for OpenJDK: jdk-17.0.7
Reviewed-by: shade
2022-12-07 08:48:01 +00:00
Ben Taylor
da6fca4d78 8293550: Optionally add get-task-allow entitlement to macos binaries
Backport-of: f42caefe2e
2022-12-02 13:32:25 +00:00
Andrew Haley
85a655b908 8297656: AArch64: Enable AES/GCM Intrinsics
Reviewed-by: adinn
2022-12-02 12:13:45 +00:00
Aleksey Shipilev
87063038cb 8297309: Memory leak in ShenandoahFullGC
Backport-of: b80f5af698
2022-12-02 08:06:31 +00:00
Victor Rudometov
d523936872 8297530: java.lang.IllegalArgumentException: Negative length on strings concatenation
Backport-of: 87d1097d9b
2022-12-01 21:30:55 +00:00
Victor Rudometov
1f72ba2214 8297481: Create a regression test for JDK-4424517
Backport-of: e2d71c0a0d
2022-12-01 16:01:48 +00:00
Matthias Baesken
3df0e29570 8296715: CLDR v42 update for tzdata 2022f
Reviewed-by: mdoerr
Backport-of: 55dd90222e2cef11ebca39a2998d8f799aadbb9a
2022-12-01 08:17:17 +00:00
Sergey Bylokhov
8c0c9b4188 8296957: One more cast in SAFE_SIZE_NEW_ARRAY2
Backport-of: fb6c992f32
2022-12-01 04:28:56 +00:00
Sergey Bylokhov
d98215846e 8296496: Overzealous check in sizecalc.h prevents large memory allocation
Backport-of: 84e12244a4
2022-11-30 22:57:36 +00:00
Ben Taylor
5b77b57468 8285093: Introduce UTIL_ARG_WITH
Backport-of: 94afb366b2
2022-11-30 19:05:22 +00:00
Ben Taylor
a10bb08a4c 8273497: building.md should link to both md and html
Backport-of: 5bfd043e16
2022-11-29 18:48:55 +00:00
Severin Gehwolf
9336fb2f73 8297590: [TESTBUG] HotSpotResolvedJavaFieldTest does not run
Backport-of: 08e6a820bc
2022-11-28 12:54:37 +00:00
Leslie Zhai
ae1b055c31 8293535: jdk/javadoc/doclet/testJavaFX/TestJavaFxMode.java fail with jfx
Backport-of: dfb9c06633
2022-11-28 10:36:18 +00:00
Severin Gehwolf
b464cc2d92 8296967: [JVMCI] rationalize relationship between getCodeSize and getCode in ResolvedJavaMethod
Reviewed-by: adinn
Backport-of: 37848a9ca2
2022-11-25 17:28:12 +00:00
Severin Gehwolf
b4a4f6ad55 8296958: [JVMCI] add API for retrieving ConstantValue attributes
Reviewed-by: adinn
Backport-of: 4ce4f384d7
2022-11-25 16:26:14 +00:00
Severin Gehwolf
94859b9104 8296956: [JVMCI] HotSpotResolvedJavaFieldImpl.getIndex returns wrong value
Reviewed-by: adinn
Backport-of: 95c390ec75
2022-11-25 16:24:25 +00:00
Matthias Baesken
44c8733bf6 8295405: Add cause in a couple of IllegalArgumentException and InvalidParameterException shown by sun/security/pkcs11 tests
Backport-of: d5d34241e2
2022-11-25 11:27:35 +00:00
Zdenek Zambersky
22ad4098aa 8295952: Problemlist existing compiler/rtm tests also on x86
Backport-of: 3f2f128af6
2022-11-25 11:24:38 +00:00
Aleksey Shipilev
8ed9f83e82 8270086: ARM32-softfp: Do not load CONSTANT_double using the condy helper methods in the interpreter
Backport-of: a066c7bed0
2022-11-25 10:24:40 +00:00
Severin Gehwolf
aec0884320 8296960: [JVMCI] list HotSpotConstantPool.loadReferencedType to ConstantPool
Backport-of: b3ef337566
2022-11-25 10:23:54 +00:00
Severin Gehwolf
20f22188e2 8296961: [JVMCI] Access to j.l.r.Method/Constructor/Field for ResolvedJavaMethod/ResolvedJavaField
Backport-of: 5db1b58c86
2022-11-25 10:21:50 +00:00
Matthias Baesken
4c87089a23 8297147: UnexpectedSourceImageSize test times out on slow machines when fastdebug is used
Backport-of: 88957a7ce8
2022-11-25 08:32:29 +00:00
Victor Rudometov
22df666f11 8297241: Update sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java
8297153: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails again

Backport-of: 3c0949824e
2022-11-24 17:36:56 +00:00
Christoph Langer
10e16274c4 8296733: JFR: File Read event for RandomAccessFile::write(byte[]) is incorrect
Reviewed-by: phh
Backport-of: ced88a2fd9
2022-11-24 16:44:32 +00:00
Aleksey Shipilev
615bf959ff 8270155: ARM32: Improve register dump in hs_err
Backport-of: 589a1d53df
2022-11-24 12:40:54 +00:00
Zdenek Zambersky
1743825077 8293815: P11PSSSignature.engineUpdate should not print debug messages during normal operation
Backport-of: 2057070eb0
2022-11-24 12:39:54 +00:00
Roman Marchenko
4f5d8470e2 8282511: Use fixed certificate validation date in SSLExampleCert template
Backport-of: 268fa69318
2022-11-24 10:17:46 +00:00
Roman Marchenko
c086725698 8282398: EndingDotHostname.java test fails because SSL cert expired
Backport-of: afd4bcbc1d
2022-11-24 06:32:58 +00:00
Roman Marchenko
a596d64207 8065422: Trailing dot in hostname causes TLS handshake to fail with SNI disabled
Backport-of: a95ee5ada2
2022-11-23 15:09:58 +00:00
Matthias Baesken
4f5326c5e3 8296945: PublicMethodsTest is slow due to dependency verification with debug builds
Backport-of: bcc6b12b71
2022-11-23 08:29:30 +00:00
Zdenek Zambersky
2f7e673f52 8289301: P11Cipher should not throw out of bounds exception during padding
Backport-of: 3e60e82814
2022-11-23 02:20:25 +00:00
Victor Rudometov
4a9774afd9 8022403: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails
Backport-of: 65f7de2523
2022-11-22 20:30:41 +00:00
Aleksey Shipilev
842edfe146 8274903: Zero: Support AsyncGetCallTrace
Backport-of: 92aa75b721
2022-11-22 10:17:04 +00:00
Aleksey Shipilev
174c147ae1 8273380: ARM32: Default to {ldrexd,strexd} in StubRoutines::atomic_{load|store}_long
Backport-of: 718eff2bb6
2022-11-22 10:11:13 +00:00
Aleksey Shipilev
c260e8a932 8271834: TestStringDeduplicationAgeThreshold intermittent failures on Shenandoah
Backport-of: f9b2507f3e
2022-11-22 10:04:54 +00:00
Aleksey Shipilev
14eb228cc5 8280016: gc/g1/TestShrinkAuxiliaryData30 test fails on large machines
Backport-of: 590eb86033
2022-11-22 10:03:45 +00:00
Aleksey Shipilev
24ac347348 8266519: Cleanup resolve() leftovers from BarrierSet et al
Backport-of: 7eccbd4fde
2022-11-22 10:02:50 +00:00
Aleksey Shipilev
512532067e 8283999: Update JMH devkit to 1.35
Backport-of: a3223cb683
2022-11-22 10:01:01 +00:00
Victor Rudometov
5c802851d4 8286624: Regression Test CoordinateTruncationBug.java fails on OL8.3
Backport-of: c71d87e54c
2022-11-21 08:17:34 +00:00
Victor Rudometov
1bbe4c2984 8285604: closed sun/java2d/GdiRendering/ClipShapeRendering.java failed with "Incorrect color ffeeeeee instead of ff0000ff in pixel (100, 100)"
Backport-of: c56c69ed3e
2022-11-21 08:16:26 +00:00
Victor Rudometov
d0ad871362 8178698: javax/sound/midi/Sequencer/MetaCallback.java failed with timeout
Backport-of: 43ce047f9f
2022-11-21 08:15:29 +00:00
Victor Rudometov
94b9081b03 8296632: Write a test to verify the content change of TextArea sends TextEvent
Backport-of: 59a308b9d0
2022-11-21 08:14:32 +00:00
Aleksey Shipilev
023f651d77 8279536: jdk/nio/zipfs/ZipFSOutputStreamTest.java timed out
Backport-of: ff0cb98965
2022-11-21 07:53:25 +00:00
Aleksey Shipilev
8f4a3a5fca 8273880: Zero: Print warnings when unsupported intrinsics are enabled
Backport-of: 54b456764b
2022-11-21 07:52:34 +00:00
Aleksey Shipilev
3f799528d8 8278826: Print error if Shenandoah flags are empty (instead of crashing)
Backport-of: 247ea71d24
2022-11-21 07:51:33 +00:00
Aleksey Shipilev
112ea1d7be 8277866: gc/epsilon/TestMemoryMXBeans.java failed with wrong initial heap size
Backport-of: 37ff7f3b66
2022-11-21 07:50:28 +00:00
Aleksey Shipilev
a1679751d0 8280391: NMT: Correct NMT tag on CollectedHeap
Backport-of: 44db4794d2
2022-11-21 07:49:41 +00:00
Aleksey Shipilev
7a111ea14a 8290374: Shenandoah: Remove inaccurate comment on SBS::load_reference_barrier()
Backport-of: 011958d30b
2022-11-21 07:47:52 +00:00
Victor Rudometov
728dc4de17 8296083: javax/swing/JTree/6263446/bug6263446.java fails intermittently on a VM
Reviewed-by: goetz
Backport-of: dd9aa7272d
2022-11-18 19:25:41 +00:00
Matthias Baesken
1c13d7ef85 8290839: jdk/jfr/event/compiler/TestJitRestart.java failed with "RuntimeException: No JIT restart event found: expected true, was false"
Backport-of: 5d1ad39684
2022-11-18 10:10:04 +00:00
Andrew John Hughes
52103da08c 8293834: Update CLDR data following tzdata 2022c update
Reviewed-by: phh
Backport-of: e10231248fc100f9dfa08468ac897f60b843857f
2022-11-17 19:33:30 +00:00
Dmitry Chuyko
32aec436de 8284533: Improve InterpreterCodelet data footprint
Reviewed-by: phh
Backport-of: 61698bd137
2022-11-17 16:08:27 +00:00
Matthias Baesken
d4d4dbcd36 8295419: JFR: Change name of jdk.JitRestart
Reviewed-by: lucy, mdoerr
Backport-of: ecfb6bce5a
2022-11-17 08:52:00 +00:00
Matthias Baesken
10b7a6d4fe 8289524: Add JFR JIT restart event
Backport-of: dfbc6919e1
2022-11-16 13:39:09 +00:00
Goetz Lindenmaier
8ce7bb4ed8 8029633: Raw inner class constructor ref should not perform diamond inference
Backport-of: 6707bfbc15
2022-11-15 15:15:13 +00:00
Goetz Lindenmaier
cfedd3f165 8294307: ISO 4217 Amendment 173 Update
Backport-of: 4b60ed4d08d6e4cfb26bde2533b6f06b8bf3fa25
2022-11-15 08:52:21 +00:00
Johannes Bechberger
175bd05959 8285794: AsyncGetCallTrace might acquire a lock via JavaThread::thread_from_jni_environment
Reviewed-by: mdoerr
Backport-of: d4474b5816
2022-11-14 13:48:11 +00:00
Martin Doerr
3486bb2f8f 8295872: [PPC64] JfrGetCallTrace: Need pc == nullptr check before frame constructor
Backport-of: 59a13b1856
2022-11-11 14:50:51 +00:00
Goetz Lindenmaier
7d17479dc3 8296480: java/security/cert/pkix/policyChanges/TestPolicy.java is failing
Backport-of: b6ea69c06a
2022-11-11 10:22:39 +00:00
Goetz Lindenmaier
b5710c4b14 8296108: (tz) Update Timezone Data to 2022f
Backport-of: 7379b6b205528464ec79459ddc6fb5f6cab556df
2022-11-11 10:19:27 +00:00
Goetz Lindenmaier
f29ade7e4a 8286872: Refactor add/modify notification icon (TrayIcon)
Backport-of: 9f562ef754
2022-11-11 10:14:47 +00:00
Goetz Lindenmaier
cd4cc5d69e 8255439: System Tray icons get corrupted when Windows scaling changes
Backport-of: 8323787c07
2022-11-11 09:43:13 +00:00
Goetz Lindenmaier
3d18b23132 8202836: [macosx] test java/awt/Graphics/TextAAHintsTest.java fails
Backport-of: f399ae558e
2022-11-11 09:39:06 +00:00
Goetz Lindenmaier
386f7146ff 8274029: Remove jtreg tag manual=yesno for java/awt/print/Dialog/DialogOrient.java
Backport-of: 296f8537f7
2022-11-11 09:37:23 +00:00
Goetz Lindenmaier
574d72fee5 8274456: Remove jtreg tag manual=yesno java/awt/print/PrinterJob/PageDialogTest.java
Backport-of: d57fb6f684
2022-11-11 09:27:42 +00:00
Scott Gibbons
b7a0a0abde 8273108: RunThese24H crashes with SEGV in markWord::displaced_mark_helper() after JDK-8268276
8272809: JFR thread sampler SI_KERNEL SEGV in metaspace::VirtualSpaceList::contains

Backport-of: 9a1bbaf8db
2022-11-10 02:12:53 +00:00
Sandhya Viswanathan
193ccc4e0e 8274527: Minimal VM build fails after JDK-8273459
Backport-of: a8edd1b360
2022-11-10 01:54:29 +00:00
Sandhya Viswanathan
ccbf2a9bb3 8273459: Update code segment alignment to 64 bytes
Backport-of: 53b25bce87
2022-11-10 01:43:08 +00:00
Sandhya Viswanathan
7884eabfc9 8269404: Base64 Encoding optimization enhancements for x86 using AVX-512
Backport-of: 9cac94d581
2022-11-10 01:32:53 +00:00
Scott Gibbons
07050b000c 8268276: Base64 Decoding optimization for x86 using AVX-512
Co-authored-by: Derek White <drwhite@openjdk.org>
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Backport-of: c37988d079
2022-11-09 21:31:10 +00:00
Magnus Ihse Bursie
3df72a359e 8295714: GHA ::set-output is deprecated and will be removed
Backport-of: b35922be6d
2022-11-09 19:50:18 +00:00
Victor Rudometov
7d183e0c84 8296485: BuildEEBasicConstraints.java test fails with SunCertPathBuilderException
Backport-of: 520db1eeb1
2022-11-09 17:40:20 +00:00
Christoph Langer
703a82a343 8288132: Update test artifacts in QuoVadis CA interop tests
Backport-of: 3ee1e60595
2022-11-09 13:11:46 +00:00
Goetz Lindenmaier
7723bb34e3 8286172: Create an automated test for JDK-4516019
Backport-of: e72742eeb5
2022-11-08 13:16:51 +00:00
Goetz Lindenmaier
c29dc160f7 8273685: Remove jtreg tag manual=yesno for java/awt/Graphics/LCDTextAndGraphicsState.java & show test instruction
Backport-of: 2a2e9190d4
2022-11-08 13:12:54 +00:00
Aleksey Shipilev
6196d93e54 8283199: Linux os::cpu_microcode_revision() stalls cold startup
Reviewed-by: stuefe
Backport-of: 1443f6b919
2022-11-08 13:09:28 +00:00
Aleksey Shipilev
3a5bcf0407 8281744: x86: Use short jumps in TIG::set_vtos_entry_points
Backport-of: 18704653dc
2022-11-08 09:56:22 +00:00
Aleksey Shipilev
a00bd13884 8279941: sun/security/pkcs11/Signature/TestDSAKeyLength.java fails when NSS version detection fails
Backport-of: cddd6def9f
2022-11-08 09:51:25 +00:00
Aleksey Shipilev
a61b74e2ad 8272608: java_lang_System::allow_security_manager() doesn't set its initialization flag
Backport-of: 08f0be8388
2022-11-08 09:49:15 +00:00
Christoph Langer
18c4c253b3 8277970: Test jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java fails with "tag mismatch"
Backport-of: d1252653b0
2022-11-07 14:00:24 +00:00
Goetz Lindenmaier
21c52e3d0b 8290920: sspi_bridge.dll not built if BUILD_CRYPTO is false
Backport-of: 5e1e449c11
2022-11-07 12:35:53 +00:00
Sergey Bylokhov
d38a3432c2 8295554: Move the "sizecalc.h" to the correct location
Backport-of: 6673cd8577
2022-11-04 08:23:15 +00:00
Goetz Lindenmaier
ff14ed4af3 8292695: SIGQUIT and jcmd attaching mechanism does not work with signal chaining library
8283337: Posix signal handler modification warning triggering incorrectly

Reviewed-by: manc, mdoerr
Backport-of: 45ff10cc68
2022-11-03 14:20:01 +00:00
Goetz Lindenmaier
f2a10fd27b 8265489: Stress test times out because of long ObjectSynchronizer::monitors_iterate(...) operation
Backport-of: a5e4def526
2022-11-03 14:17:25 +00:00
Rui Li
092be5071e 8287740: NSAccessibilityShowMenuAction not working for text editors
Backport-of: b6cdfd685d
2022-11-02 21:33:34 +00:00
Rui Li
b37d7df487 8275569: Add linux-aarch64 to test-make profiles
Backport-of: af14650127
2022-11-02 21:32:03 +00:00
Zdenek Zambersky
eef3c9605e 8282600: SSLSocketImpl should not use user_canceled workaround when not necessary
Backport-of: 7e88ff8a82
2022-11-02 14:50:24 +00:00
Matthias Baesken
e60939850e 8287011: Improve container information
Reviewed-by: lucy, mdoerr
Backport-of: d51f4f471f
2022-11-02 08:57:07 +00:00
Victor Rudometov
d5fedc5b5f 8244670: convert clhsdb "whatis" command from javascript to java
Backport-of: 00c0d10870
2022-10-31 20:45:21 +00:00
Joshua Cao
5fa5392a4a 8273578: javax/swing/JMenu/4515762/bug4515762.java fails on macOS 12
Reviewed-by: phh
Backport-of: 45adc9227a
2022-10-30 16:30:46 +00:00
Joshua Cao
0698930f1f 8295288: Some vm_flags tests associate with a wrong BugID
Backport-of: 3dbc38a2c9
2022-10-30 16:29:02 +00:00
Victor Rudometov
9fd15d5780 8233648: [TESTBUG] DefaultMenuBarTest.java failing on macos
Backport-of: 46b5bfbc38
2022-10-29 22:23:04 +00:00
Victor Rudometov
6a45f75e21 8280948: Write a regression test for JDK-4659800
Backport-of: 66b2c3b66e
2022-10-29 22:20:29 +00:00
Andrew Dinn
aa98d0927a 8291456: com/sun/jdi/ClassUnloadEventTest.java failed with: Wrong number of class unload events: expected 10 got 4
Backport-of: c5e0464098
2022-10-28 13:38:06 +00:00
Andrew Dinn
97320040d3 8292879: com/sun/jdi/ClassUnloadEventTest.java failed due to classes not unloading
Backport-of: 6a266c4de1
2022-10-28 12:57:13 +00:00
Andrew Dinn
8194120e81 8292880: Improve debuggee logging for com/sun/jdi/ClassUnloadEventTest.java
Backport-of: 3e18773016
2022-10-28 12:21:29 +00:00
Roland Westrelin
5977ce5adf 8288302: Shenandoah: SIGSEGV in vm maybe related to jit compiling xerces
Backport-of: bf39b184ca
2022-10-28 11:39:15 +00:00
Andrew Dinn
ba2f0b4142 8291650: Add delay to ClassUnloadEventTest before exiting to give time for JVM to send all events before VMDeath
Backport-of: a6564d495b
2022-10-28 11:24:28 +00:00
Andrew Dinn
26351bf8ac 8290908: misc tests fail: assert(!thread->owns_locks()) failed: must release all locks when leaving VM
Backport-of: 0ae8341057
2022-10-28 11:08:06 +00:00
Andrew Dinn
b2061e095b 8256811: Delayed/missed jdwp class unloading events
Reviewed-by: andrew
Backport-of: 54854d9300
2022-10-28 10:54:14 +00:00
Ichiroh Takiguchi
5b6a428468 8292899: CustomTzIDCheckDST.java testcase failed on AIX platform
Reviewed-by: andrew
Backport-of: 3464019d7e
2022-10-28 00:06:10 +00:00
Victor Rudometov
2e9ef14ee4 8272123: Problem list 4 jtreg tests which regularly fail on macos-aarch64
Reviewed-by: phh
Backport-of: 0ac2be9b35
2022-10-27 20:55:24 +00:00
Thomas Stuefe
f65bf06896 8267138: Stray suffix when starting gtests via GTestWrapper.java
Backport-of: b565459f83
2022-10-27 08:44:48 +00:00
Matthias Baesken
996c0e9317 8292778: EncodingSupport_md.c convertUtf8ToPlatformString wrong placing of free
Backport-of: ad2e0c4df0
2022-10-26 10:44:54 +00:00
Matthias Baesken
5de8b9c5a0 8295412: support latest VS2022 MSC_VER in abstract_vm_version.cpp
Reviewed-by: mdoerr
Backport-of: bca7ab3c11
2022-10-26 10:39:34 +00:00
Matthias Baesken
271d85f1b0 8294837: unify Windows 2019 version check in os_windows and java_props_md
Backport-of: 7012d4ba55
2022-10-26 10:34:39 +00:00
Matthias Baesken
4df92e1acc 8294840: langtools OptionalDependencyTest.java use File.pathSeparator
Backport-of: f531dae4a0
2022-10-26 07:15:58 +00:00
Christoph Langer
5ff0ebd589 8277881: Missing SessionID in TLS1.3 resumption in compatibility mode
Backport-of: 9d99a377bf
2022-10-26 05:56:04 +00:00
Thomas Stuefe
bf866a449d 8269571: NMT should print total malloc bytes and invocation count
Backport-of: 3ad20fcdfa
2022-10-25 14:44:40 +00:00
Matthias Baesken
b6f8f4926b 8293701: jdeps InverseDepsAnalyzer runs into NoSuchElementException: No value present
Backport-of: 953ce8da2c
2022-10-25 11:41:19 +00:00
Goetz Lindenmaier
cb9289ed75 8295429: Update harfbuzz md file
Backport-of: 21aeb9e794
2022-10-25 10:48:16 +00:00
Goetz Lindenmaier
120bf27fd1 8293657: sun/management/jmxremote/bootstrap/RmiBootstrapTest.java#id1 failed with "SSLHandshakeException: Remote host terminated the handshake"
Reviewed-by: phh
Backport-of: f6d78cda85
2022-10-25 10:45:09 +00:00
Goetz Lindenmaier
bd2fac8ca4 8293891: gc/g1/mixedgc/TestOldGenCollectionUsage.java (still) assumes that GCs take 1ms minimum
Backport-of: d77c464c38
2022-10-25 10:31:37 +00:00
Goetz Lindenmaier
2f99fbba88 8293489: Accept CAs with BasicConstraints without pathLenConstraint
Backport-of: 986b834148
2022-10-25 10:29:25 +00:00
Goetz Lindenmaier
e2b09254db 8284771: java/util/zip/CloseInflaterDeflaterTest.java failed with "AssertionError: Expected IOException to be thrown, but nothing was thrown"
Backport-of: 7891085a87
2022-10-25 10:27:27 +00:00
Matthias Baesken
491d80029e 8293659: Improve UnsatisfiedLinkError error message to include dlopen error details
Reviewed-by: mchung
Backport-of: da4fdfbbf4
2022-10-25 07:13:48 +00:00
Sergey Bylokhov
525b9fc903 8284690: [macos] VoiceOver : Getting java.lang.IllegalArgumentException: Invalid location on Editable JComboBox
Backport-of: ebfa27b9f0
2022-10-24 20:15:27 +00:00
Rui Li
0071802456 8286313: [macos] Voice over reads the boolean value as null in the JTable
Backport-of: 8353a33350
2022-10-21 18:39:29 +00:00
Aleksey Shipilev
7893f14898 8295469: S390X: Optimized builds are broken
Backport-of: 7b2e83b395
2022-10-21 07:36:06 +00:00
Martin Doerr
feb6b3cfd8 8294578: [PPC64] C2: Missing is_oop information when using disjoint compressed oops mode
Backport-of: f03934e270
2022-10-20 13:18:31 +00:00
Dmitry Chuyko
fe4819b5eb 8283298: Make CodeCacheSegmentSize a product flag
Reviewed-by: phh
Backport-of: 026b85303c
2022-10-19 20:35:10 +00:00
Goetz Lindenmaier
2f2b914794 8295641: Fix DEFAULT_PROMOTED_VERSION_PRE=ea for -dev
Reviewed-by: clanger
2022-10-19 07:49:05 +00:00
Goetz Lindenmaier
486097f159 Merge 2022-10-19 06:53:06 +00:00
Andrew John Hughes
745371d866 8295173: (tz) Update Timezone Data to 2022e
Backport-of: 21407dec01
2022-10-18 18:56:16 +00:00
Goetz Lindenmaier
75ce3744f5 8272791: java -XX:BlockZeroingLowLimit=1 crashes after 8270947
Backport-of: e17118aa8a
2022-10-18 13:49:41 +00:00
Goetz Lindenmaier
39e6ebd252 8272094: compiler/codecache/TestStressCodeBuffers.java crashes with "failed to allocate space for trampoline"
Backport-of: 0948c097a8
2022-10-18 13:39:39 +00:00
Goetz Lindenmaier
2012a98a72 8280234: AArch64 "core" variant does not build after JDK-8270947
Backport-of: 28e02fa2cb
2022-10-18 13:33:31 +00:00
Goetz Lindenmaier
ee0010350c 8271956: AArch64: C1 build failed after JDK-8270947
Backport-of: b84a9c7b37
2022-10-18 13:31:43 +00:00
Goetz Lindenmaier
974ff6b9f5 8270947: AArch64: C1: use zero_words to initialize all objects
Backport-of: 6c68ce2d39
2022-10-18 13:27:18 +00:00
Goetz Lindenmaier
dbf694e484 8289562: Change bugs.java.com and bugreport.java.com URL's to https
Reviewed-by: mbaesken
Backport-of: 1f484dae4e
2022-10-18 13:22:52 +00:00
Goetz Lindenmaier
a2654dedc6 8292682: Code change of JDK-8282730 not updated to reflect CSR update
Backport-of: 74d3330e10
2022-10-18 13:19:40 +00:00
Goetz Lindenmaier
f35b541be1 8282730: LdapLoginModule throw NPE from logout method after login failure
Backport-of: 554f44ecb1
2022-10-18 12:16:02 +00:00
Goetz Lindenmaier
c9c8564d7c 8273236: keytool does not accurately warn about algorithms that are disabled but have additional constraints
Reviewed-by: phh, mbaesken
Backport-of: c2ee1b33c3
2022-10-18 12:04:52 +00:00
Goetz Lindenmaier
45a68a3f90 8269743: test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/stress/jni/nativeAndMH/Test.java crash with small heap (-Xmx50m)
Backport-of: 2baf498eb5
2022-10-18 12:00:57 +00:00
Goetz Lindenmaier
5eb0943cac 8030121: java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java fails
Backport-of: 9a3cb93038
2022-10-18 10:16:37 +00:00
Xin Liu
86112cb089 8277346: ProblemList 7 serviceability/sa tests on macosx-x64
8277351: ProblemList runtime/jni/checked/TestPrimitiveArrayCriticalWithBadParam.java on macosx-x64

Reviewed-by: phh
Backport-of: ce4471f806
2022-10-17 16:48:05 +00:00
Severin Gehwolf
949844080e 8294740: Add cgroups keyword to TestDockerBasic.java
Backport-of: ae79af2ad6
2022-10-17 08:14:42 +00:00
Goetz Lindenmaier
a721e37d4d 8283353: compiler/c2/cr6865031/Test.java and compiler/runtime/Test6826736.java fails on x86_32
Backport-of: b96cb048f1
2022-10-16 18:00:13 +00:00
Goetz Lindenmaier
d613b78721 8293672: Update freetype md file
Backport-of: fef345b19f
2022-10-16 17:41:06 +00:00
Severin Gehwolf
94bd53a0fc 8293540: [Metrics] Incorrectly detected resource limits with additional cgroup fs mounts
Backport-of: 6d83482a6b
2022-10-14 14:39:27 +00:00
Nikita Gubarkov
2214630290 8287609: macOS: SIGSEGV at [CoreFoundation] CFArrayGetCount / sun.font.CFont.getTableBytesNative
Backport-of: 8c460b043e
2022-10-14 13:38:39 +00:00
Severin Gehwolf
14e4502451 8293472: Incorrect container resource limit detection if manual cgroup fs mounts present
Backport-of: 8f3bbe950f
2022-10-14 13:34:11 +00:00
Smita Kamath
ac7d936c4f 8292158: AES-CTR cipher state corruption with AVX-512
Reviewed-by: kvn
Backport-of: 9d76ac8a44
2022-10-13 19:40:11 +00:00
William Kemper
c8d5f9a7f0 8282402: Create a regression test for JDK-4666101
Backport-of: 1581e3faa0
2022-10-13 17:32:37 +00:00
Matthias Baesken
58b43636f9 8251466: test/java/io/File/GetXSpace.java fails on Windows with mapped network drives.
Backport-of: 178ac74653
2022-10-13 14:12:42 +00:00
Victor Rudometov
96a5e40986 8281296: Create a regression test for JDK-4515999
Backport-of: f5d8cebbb6
2022-10-12 16:30:14 +00:00
Evgeny Astigeevich
4a492945bc 8284681: compiler/c2/aarch64/TestFarJump.java fails with "RuntimeException: for CodeHeap < 250MB the far jump is expected to be encoded with a single branch instruction"
Backport-of: 21de4e55b8
2022-10-12 15:42:23 +00:00
Evgeny Astigeevich
d4d2e34a1a 8280872: Reorder code cache segments to improve code density
Backport-of: e524107a74
2022-10-11 12:31:15 +00:00
Johannes Bechberger
d7a3a9e812 8284752: Zero does not build on Mac OS X due to missing os::current_thread_enable_wx implementation
Backport-of: bc12e8616d
2022-10-11 07:36:02 +00:00
Victor Rudometov
b38b6d53b8 8222323: ChildAlwaysOnTopTest.java fails with "RuntimeException: Failed to unset alwaysOnTop"
Backport-of: 837928ba79
2022-10-10 17:55:43 +00:00
Martin Balao
62eb5ae268 8293826: Closed test fails after JDK-8276108 on aarch64
17u backport of JDK-8278417

Reviewed-by: goetz
2022-10-10 17:46:31 +00:00
Victor Rudometov
eea78cfc12 6829250: Reg test: java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java fails in Windows
Backport-of: f56396f168
2022-10-10 16:56:49 +00:00
Christoph Langer
0a6252780a 8295056: [17u] Remove designator DEFAULT_PROMOTED_VERSION_PRE=ea for release 17.0.5
Reviewed-by: goetz
2022-10-10 15:07:22 +02:00
Martin Balao
ff5418eff8 8286918: Better HttpServer service
Reviewed-by: andrew
Backport-of: 5a9dc12e012f69b9c32788dec5b6ecdb065f791f
2022-10-10 11:27:24 +02:00
Oli Gillespie
8110660a55 8286519: Better memory handling
Reviewed-by: mbalao
Backport-of: adfc2b195a84867fc2a66e00fad7f3c95693bc3b
2022-10-10 11:21:16 +02:00
Sergey Bylokhov
e6bb02c842 8286511: Improve macro allocation
Reviewed-by: mbalao
Backport-of: 4ab7ce961a95d7ba350b1cbca584a8e698186047
2022-10-10 11:03:15 +02:00
Goetz Lindenmaier
2fbc5cbd35 8290711: assert(false) failed: infinite loop in PhaseIterGVN::optimize
Reviewed-by: mdoerr
Backport-of: 6354a57b5c
2022-10-10 07:57:46 +00:00
Goetz Lindenmaier
51107abd6b 8257722: Improve "keytool -printcert -jarfile" output
Backport-of: de93b1d0e8
2022-10-10 07:13:43 +00:00
Matthias Baesken
6624f714d9 8292586: simplify cleanups in NTLMAuthSequence getCredentialsHandle
Backport-of: 84936e9278
2022-10-07 14:34:15 +00:00
Dan Lutker
ce949baaef 8276904: Optional.toString() is unnecessarily expensive
Backport-of: fe2ae8e38b
2022-10-06 22:04:43 +00:00
Johannes Bechberger
ca8e16d1ab 8284732: FFI_GO_CLOSURES macro not defined but required for zero build on Mac OS X
Backport-of: cafde7fe00
2022-10-06 14:52:16 +00:00
Dmitry Chuyko
0657a3abe7 8280511: AArch64: Combine shift and negate to a single instruction
Backport-of: e572a525f5
2022-10-05 21:08:16 +00:00
Matthias Baesken
2d4fec4d5d 8292866: Java_sun_awt_shell_Win32ShellFolder2_getLinkLocation check MultiByteToWideChar return value for failures
Backport-of: 699c42962e
2022-10-05 07:35:58 +00:00
Goetz Lindenmaier
13ecd42bcd 8282642: vmTestbase/gc/gctests/LoadUnloadGC2/LoadUnloadGC2.java fails intermittently with exit code 1
Backport-of: 7db5abddd1
2022-10-05 07:15:26 +00:00
Goetz Lindenmaier
3d93fdc583 8294357: (tz) Update Timezone Data to 2022d
Backport-of: f01573368f
2022-10-05 07:13:43 +00:00
Goetz Lindenmaier
29fea3fd34 8291599: Assertion in PhaseIdealLoop::skeleton_predicate_has_opaque after JDK-8289127
Backport-of: 37df5f5625
2022-10-05 07:11:11 +00:00
Goetz Lindenmaier
673b5056f8 8293816: CI: ciBytecodeStream::get_klass() is not consistent
Backport-of: 746f5f589d
2022-10-05 07:10:13 +00:00
Goetz Lindenmaier
6882bd36ff 8293044: C1: Missing access check on non-accessible class
Backport-of: 005b49bb78
2022-10-05 06:58:25 +00:00
Goetz Lindenmaier
7f4fa239db 8292385: assert(ctrl == kit.control()) failed: Control flow was added although the intrinsic bailed out
Backport-of: 5757e2129e
2022-10-05 06:56:59 +00:00
Goetz Lindenmaier
cfc8771e90 8290529: C2: assert(BoolTest(btest).is_canonical()) failure
Reviewed-by: mdoerr
Backport-of: 77e21c57ce
2022-10-05 06:55:23 +00:00
Goetz Lindenmaier
8f28d66726 8290451: Incorrect result when switching to C2 OSR compilation from C1
Backport-of: afa5d4ced3
2022-10-05 06:53:42 +00:00
Goetz Lindenmaier
19ccadf58b 8291775: C2: assert(r != __null && r->is_Region()) failed: this phi must have a region
Backport-of: 32d675ca60
2022-10-05 06:51:13 +00:00
Aleksei Voitylov
38f6cbd559 8288508: Enhance ECDSA usage
Reviewed-by: abakhtin, mbalao
Backport-of: efd603063e60ca6861b41309445d7b8e20768d9b
2022-10-04 20:53:42 +02:00
David Alvarez
a3097d41a1 8286910: Improve JNDI lookups
Reviewed-by: mbalao, mbaesken
Backport-of: daf133f773ea567d66663ce6916541bc0df1421a
2022-10-04 20:53:42 +02:00
Yuri Nesterenko
65df81df6f 8289366: Improve HTTP/2 client usage
Reviewed-by: mbalao
Backport-of: 48e33fcf7723688f3ec76e7506853c731cf8dad6
2022-10-04 20:53:42 +02:00
Ekaterina Vergizova
14113556ab 8287446: Enhance icon presentations
Reviewed-by: mbalao
Backport-of: bb2210681b230de291ef1c968b5b47013d593e27
2022-10-04 20:53:42 +02:00
Martin Balao
183d43d38c 8286526: Improve NTLM support
Reviewed-by: mbaesken
Backport-of: 2d1bc2e55c7ed5f123f3ab5d505b7866a28ba4c7
2022-10-04 20:53:18 +02:00
Goetz Lindenmaier
ed3b13aadc 8291459: JVM crash with GenerateOopMap::error_work(char const*, __va_list_tag*)
Backport-of: 8d88be233b
2022-10-04 18:52:04 +00:00
Goetz Lindenmaier
d4a0c18211 8169187: [macosx] Aqua: java/awt/image/multiresolution/MultiresolutionIconTest.java
Backport-of: 90257f9505
2022-10-04 18:45:14 +00:00
Goetz Lindenmaier
b513ba290b 8290705: StringConcat::validate_mem_flow asserts with "unexpected user: StoreI"
Backport-of: 61e072d11c
2022-10-04 18:36:56 +00:00
Goetz Lindenmaier
8b83fa089e 8290687: serviceability/sa/TestClassDump.java could leave files owned by root on macOS
Backport-of: 59d85bad34
2022-10-04 18:32:38 +00:00
Goetz Lindenmaier
00cab3f062 8289257: Some custom loader tests failed due to symbol refcount not decremented
Backport-of: c43bdf7165
2022-10-04 18:30:52 +00:00
Goetz Lindenmaier
0464eaf90b 8288651: CDS test HelloUnload.java should not use literal string as ClassLoader name
Backport-of: e322e77e95
2022-10-04 18:28:54 +00:00
Aleksei Voitylov
48a853e20c 8286077: Wider MultiByte conversions
Reviewed-by: mbalao
Backport-of: db81dae16f975d7d27c9acf3f4775c9d389895e2
2022-10-04 19:48:04 +02:00
Aleksei Voitylov
60c9b3822f 8285662: Better permission resolution
Reviewed-by: mbalao
Backport-of: 431802c54df9caaa00ba79f3713861005d06ee62
2022-10-04 19:48:04 +02:00
Ekaterina Vergizova
009488ee8e 8282252: Improve BigInteger/Decimal validation
Reviewed-by: mbalao
Backport-of: e863e256f9e7465a97d3fb2a109299987e990b7c
2022-10-04 19:48:04 +02:00
Victor Rudometov
34d4bae263 8290781: Segfault at PhaseIdealLoop::clone_loop_handle_data_uses
Backport-of: 4c90e87a6f
2022-10-04 16:38:53 +00:00
Martin Doerr
90cc8ac939 8293998: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
Reviewed-by: phh
Backport-of: 14c6ac457d
2022-10-04 10:33:10 +00:00
Yi-Fan Tsai
9483069f53 8282528: AArch64: Incorrect replicate2L_zero rule
Reviewed-by: phh
Backport-of: c35590282d
2022-10-03 21:34:40 +00:00
Zdenek Zambersky
67f31bb90b 8293232: Fix race condition in pkcs11 SessionManager
Backport-of: 1e031e6a58
2022-10-03 19:43:14 +00:00
Victor Rudometov
3bcdb66628 8293578: Duplicate ldc generated by javac
Backport-of: 39cd1635bf
2022-10-03 18:24:36 +00:00
Roman Marchenko
beb2ca22c9 8283059: Uninitialized warning in check_code.c with GCC 11.2
Backport-of: d8893fad23
2022-09-30 13:11:29 +00:00
Victor Rudometov
796628ebdd 8287076: Document.normalizeDocument() produces different results
Reviewed-by: phh
Backport-of: 1f9521e6cb
2022-09-29 22:03:11 +00:00
Goetz Lindenmaier
461c6e8522 8285836: sun/net/www/http/KeepAliveCache/KeepAliveProperty.java failed with "RuntimeException: Failed in server"
Backport-of: af529be069
2022-09-29 09:16:30 +00:00
Goetz Lindenmaier
1b988002dc 8289559: java/awt/a11y/AccessibleJPopupMenuTest.java test fails with java.lang.NullPointerException
Backport-of: 3216d198f3
2022-09-29 09:14:44 +00:00
Dmitry Chuyko
14d7e3ce29 8287425: Remove unnecessary register push for MacroAssembler::check_klass_subtype_slow_path
Reviewed-by: phh
Backport-of: b5a646ee6c
2022-09-28 15:07:53 +00:00
Matthias Baesken
742556429d 8293808: mscapi destroyKeyContainer enhance KeyStoreException: Access is denied exception
Backport-of: 36c9034ff1
2022-09-28 14:12:21 +00:00
Matthias Baesken
fa8feb4253 8290532: Adjust PKCS11Exception and handle more PKCS11 error codes
Backport-of: 07f0612c9a
2022-09-28 13:14:07 +00:00
Goetz Lindenmaier
4ea55269f4 8282777: Create a Regression test for JDK-4515031
Backport-of: 523d553e13
2022-09-28 07:57:42 +00:00
Goetz Lindenmaier
f49ffca28f 8286772: java/awt/dnd/DropTargetInInternalFrameTest/DropTargetInInternalFrameTest.html times out and fails in Windows
Backport-of: d76c1089ef
2022-09-28 07:55:16 +00:00
Goetz Lindenmaier
ad9e9f2c8b 8286663: Resolve IDE warnings in WTrayIconPeer and SystemTray
Backport-of: a9b9831f2a
2022-09-28 07:30:16 +00:00
Goetz Lindenmaier
79288de50f 8285305: Create an automated test for JDK-4495286
Backport-of: 25e9901aea
2022-09-28 07:28:29 +00:00
Goetz Lindenmaier
3461ff3b3a 8287826: javax/accessibility/4702233/AccessiblePropertiesTest.java fails to compile
Backport-of: 005a330387
2022-09-28 07:26:16 +00:00
Goetz Lindenmaier
e5dd0b4c28 8285373: Create an automated test for JDK-4702233
Backport-of: 6f526e1bc3
2022-09-28 07:12:30 +00:00
Goetz Lindenmaier
f4ef78773f 8282857: Create a regression test for JDK-4702690
Backport-of: 8df5f1058f
2022-09-28 07:10:40 +00:00
Goetz Lindenmaier
36f01165ef 8275170: Some jtreg sound tests should be marked with sound keyword
Backport-of: 25669bb667
2022-09-28 07:08:42 +00:00
Goetz Lindenmaier
7c2b227c8d 8285687: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PageRangesDlgTest.java
Backport-of: fc3edf2412
2022-09-28 07:07:09 +00:00
Goetz Lindenmaier
152ad7885a 8286452: The array length of testSmallConstArray should be small and const
Backport-of: d65fba412e
2022-09-28 07:05:46 +00:00
Goetz Lindenmaier
a67e07a1fb 8233557: [TESTBUG] DoubleClickTitleBarTest.java fails on macOs
Backport-of: 7b1916efda
2022-09-28 07:04:20 +00:00
Goetz Lindenmaier
a91d9b54f4 Merge 2022-09-28 06:31:43 +00:00
Goetz Lindenmaier
0c551b6c01 8285612: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ClippedImages.java
Reviewed-by: mbaesken
Backport-of: 57a7670886
2022-09-26 08:07:08 +00:00
Goetz Lindenmaier
6230aa8f96 8286551: JDK-8286460 causes tests to fail to compile in Tier2
Backport-of: 070a0cda31
2022-09-26 07:59:32 +00:00
Goetz Lindenmaier
3b48de5629 8286460: Remove dependence on JAR filename in CDS tests
Backport-of: 52dbfa99fe
2022-09-26 07:09:20 +00:00
Goetz Lindenmaier
a0ccdbffff 8275234: java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java is entered twice in ProblemList
Backport-of: 1e0184d142
2022-09-26 07:07:38 +00:00
Tyler Steele
ae5f2de4fb 8292816: GPL Classpath exception missing from assemblyprefix.h
Backport-of: 71ab5c95af
2022-09-26 06:29:49 +00:00
Gaurav Chaudhari
f5c0fc3784 8288377: [REDO] DST not applying properly with zone id offset set with TZ env variable
Backport-of: 3c3256414f
2022-09-24 06:20:57 +00:00
David Alvarez
114f0c4005 8292579: (tz) Update Timezone Data to 2022c
Reviewed-by: mbaesken, andrew
Backport-of: 98d85e6f59
2022-09-23 01:19:00 +00:00
Victor Rudometov
ab6f746c72 8293828: JFR: jfr/event/oldobject/TestClassLoaderLeak.java still fails when GC cycles are not happening
Backport-of: 5002eaa5cc
2022-09-22 22:39:41 +00:00
Goetz Lindenmaier
5db0eea962 8285698: Create a test to check the focus stealing of JPopupMenu from JComboBox
Backport-of: 7612bba0f1
2022-09-22 12:39:26 +00:00
Goetz Lindenmaier
eeb4562e3d 8284980: Test vmTestbase/nsk/stress/except/except010.java times out with -Xcomp -XX:+DeoptimizeALot
Backport-of: 7704eb1866
2022-09-22 12:35:27 +00:00
Goetz Lindenmaier
4efb85f154 8286263: compiler/c1/TestPinnedIntrinsics.java failed with "RuntimeException: testCurrentTimeMillis failed with -3"
Backport-of: bb52ea6820
2022-09-22 12:31:20 +00:00
Goetz Lindenmaier
9cfcae0ab9 8129827: [TEST_BUG] Test java/awt/Robot/RobotWheelTest/RobotWheelTest.java fails
Backport-of: a1efb95536
2022-09-22 12:29:55 +00:00
Goetz Lindenmaier
7d0854b464 8159599: [TEST_BUG] java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java
Backport-of: f5beafa53f
2022-09-22 12:03:48 +00:00
Goetz Lindenmaier
8a9420ae34 8284892: java/net/httpclient/http2/TLSConnection.java fails intermittently
Backport-of: 1e22c70ff2
2022-09-22 12:00:35 +00:00
Goetz Lindenmaier
b75b932097 8273553: sun.security.ssl.SSLEngineImpl.closeInbound also has similar error of JDK-8253368
Backport-of: 0b09f70a73
2022-09-22 11:58:52 +00:00
Goetz Lindenmaier
3be9252e2b 8282276: Problem list failing two Robot Screen Capture tests
Backport-of: 2557ef8a02
2022-09-22 11:57:21 +00:00
Goetz Lindenmaier
b37756ea25 8262721: Add Tests to verify single iteration loops are properly optimized
Backport-of: 69e390a0e8
2022-09-22 11:56:12 +00:00
Goetz Lindenmaier
b8f2a8d423 8279662: serviceability/sa/ClhsdbScanOops.java can fail due to unexpected GC
Backport-of: fe0118f804
2022-09-22 11:52:55 +00:00
Goetz Lindenmaier
6e07afa205 8280554: resourcehogs/serviceability/sa/ClhsdbRegionDetailsScanOopsForG1.java can fail if GC is triggered
Backport-of: 4532c3a163
2022-09-22 11:50:32 +00:00
Goetz Lindenmaier
0b39137fc6 8280555: serviceability/sa/TestObjectMonitorIterate.java is failing due to ObjectMonitor referencing a null Object
Backport-of: 0740ac474c
2022-09-22 11:41:12 +00:00
Goetz Lindenmaier
33bf1aa0a1 8268033: compiler/intrinsics/bmi/verifycode/BzhiTestI2L.java fails with "fatal error: Not compilable at tier 3: CodeBuffer overflow"
Backport-of: ed0df2fa1f
2022-09-22 11:32:12 +00:00
Matthias Baesken
bdabf8e458 8292903: enhance round_up_power_of_2 assertion output
Backport-of: 8d3d4397cc
2022-09-22 10:21:03 +00:00
Goetz Lindenmaier
690ac7003c 7001973: java/awt/Graphics2D/CopyAreaOOB.java fails
Backport-of: 22b7295e75
2022-09-22 09:54:31 +00:00
Goetz Lindenmaier
2bdea0f0a1 8210558: serviceability/sa/TestJhsdbJstackLock.java fails to find '^\s+- waiting to lock <0x[0-9a-f]+> \(a java\.lang\.Class ...'
Backport-of: 587e5409c2
2022-09-22 09:52:35 +00:00
Goetz Lindenmaier
c59f741276 8274296: Update or Problem List tests which may fail with uiScale=2 on macOS
Backport-of: 753b25633b
2022-09-22 09:49:18 +00:00
Smita Kamath
6e40c5c910 8277358: Accelerate CRC32-C
Backport-of: e0f1fc783c
2022-09-21 18:28:03 +00:00
Goetz Lindenmaier
4b0ec09abc Merge 2022-09-21 09:49:04 +00:00
Goetz Lindenmaier
8c5cb310e3 8279398: jdk/jfr/api/recording/time/TestTimeMultiple.java failed with "RuntimeException: getStopTime() > afterStop"
Backport-of: 40df5df95e
2022-09-19 14:34:33 +00:00
Goetz Lindenmaier
3880076eba 8268297: jdk/jfr/api/consumer/streaming/TestLatestEvent.java times out
Backport-of: 730f67081d
2022-09-19 14:31:29 +00:00
Goetz Lindenmaier
027be4971d 8279066: entries.remove(entry) is useless in PKCS12KeyStore
Backport-of: fb623f1d2e
2022-09-19 14:28:10 +00:00
Goetz Lindenmaier
2e5287ba93 8277092: TestMetaspaceAllocationMT2.java#ndebug-default fails with "RuntimeException: Committed seems high: NNNN expected at most MMMM"
Backport-of: a3406a1d8a
2022-09-19 14:22:40 +00:00
Goetz Lindenmaier
a5dceb7439 8268779: ZGC: runtime/InternalApi/ThreadCpuTimesDeadlock.java#id1 failed with "OutOfMemoryError: Java heap space"
Backport-of: a6fa6ed1ed
2022-09-19 14:17:03 +00:00
Goetz Lindenmaier
e78a58f725 8233558: [TESTBUG] WindowOwnedByEmbeddedFrameTest.java fails on macos
Backport-of: d1e3ca4ee3
2022-09-19 14:15:02 +00:00
Goetz Lindenmaier
6089db0768 8273881: Metaspace: test repeated deallocations
Backport-of: 83c3771929
2022-09-19 14:11:51 +00:00
Alexey Pavlyutkin
ba6898b989 8266082: AssertionError in Annotate.fromAnnotations with -Xdoclint
Backport-of: 0b8a0e2b58
2022-09-19 12:43:40 +00:00
Goetz Lindenmaier
02414956fe 8274160: java/awt/Window/ShapedAndTranslucentWindows/Common.java delay is too high
Backport-of: 895e2bd7c0
2022-09-16 07:18:51 +00:00
Goetz Lindenmaier
c5a9e68a0f 8274032: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/ImagePrinting/ImageTypes.java & show test UI
Backport-of: 7dc2db4aac
2022-09-16 07:17:04 +00:00
Goetz Lindenmaier
6bc6980a7d 8275887: jarsigner prints invalid digest/signature algorithm warnings if keysize is weak/disabled
Reviewed-by: mdoerr
Backport-of: 03f8c0fb93
2022-09-16 07:15:20 +00:00
Goetz Lindenmaier
baf3b5c33e 8270609: [TESTBUG] java/awt/print/Dialog/DialogCopies.java does not show instruction
Backport-of: 4da45c4301
2022-09-16 07:13:34 +00:00
Goetz Lindenmaier
28df1d94e6 8273043: [TEST_BUG] Automate NimbusJTreeSelTextColor.java
Backport-of: 270a9d9293
2022-09-16 07:11:02 +00:00
Goetz Lindenmaier
fec638f382 7188098: TEST_BUG: closed/javax/sound/midi/Synthesizer/Receiver/bug6186488.java fails
Backport-of: c640fe42c2
2022-09-16 07:09:37 +00:00
Goetz Lindenmaier
ed29cbb0a4 8271015: Split cds/SharedBaseAddress.java test into smaller parts
Backport-of: 0790f04d8a
2022-09-16 06:54:23 +00:00
Goetz Lindenmaier
eb1c5cb97a 8269029: compiler/codegen/TestCharVect2.java fails for client VMs
Backport-of: cbec37d45d
2022-09-16 06:51:17 +00:00
Goetz Lindenmaier
2434530e5e 8277576: ProblemList runtime/ErrorHandling/CreateCoredumpOnCrash.java on macosx-X64
8277577: ProblemList compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java on linux-aarch64
8277578: ProblemList applications/jcstress/acqrel.java on linux-aarch64

Backport-of: 1049aba1fb
2022-09-16 06:48:51 +00:00
Goetz Lindenmaier
160dac0587 8290209: jcup.md missing additional text
Backport-of: 2bf6285c80
2022-09-16 06:45:56 +00:00
Goetz Lindenmaier
fe980c2e01 8290207: Missing notice in dom.md
Backport-of: 73b83e0188
2022-09-16 06:41:33 +00:00
Martin Balao
a800fe4286 8277928: Fix compilation on macosx-aarch64 after 8276108
Backport-of: 2622ab3fe9
2022-09-15 21:27:27 +00:00
David Alvarez
6f2bbc4670 8028265: Add legacy tz tests to OpenJDK
Backport-of: 92deab5465
2022-09-15 21:11:21 +00:00
Martin Balao
1e209d7dc0 8276108: Wrong instruction generation in aarch64 backend
Backport-of: 72bacf8d25
2022-09-15 20:27:41 +00:00
Dmitry Chuyko
46f94adbef 8282049: AArch64: Use ZR for integer zero immediate volatile stores
Backport-of: 413bef6890
2022-09-15 15:07:32 +00:00
Alexey Pavlyutkin
6f6b0722d7 8272776: NullPointerException not reported
Backport-of: 93eec9a103
2022-09-15 10:03:46 +00:00
Paul Hohensee
a18e936bee 8274563: jfr/event/oldobject/TestClassLoaderLeak.java fails when GC cycles are not happening
Backport-of: 47bfc8aa93
2022-09-14 21:12:13 +00:00
Dmitry Chuyko
b196bc4c7f 8277411: C2 fast_unlock intrinsic on AArch64 has unnecessary ownership check
Backport-of: 3d810ad691
2022-09-13 16:55:27 +00:00
Boris Ulasevich
061ddcabbc 8280124: Reduce branches decoding latin-1 chars from UTF-8 encoded bytes
Reviewed-by: phh, dsamersoff
Backport-of: e314a4cfda
2022-09-13 14:35:43 +00:00
Boris Ulasevich
486cffeab4 8282347: AARCH64: Untaken branch in has_negatives stub
Reviewed-by: phh, dsamersoff
Backport-of: 3efd6aa4c9
2022-09-13 14:34:31 +00:00
Boris Ulasevich
36dd0a71b7 8270848: Redundant unsafe opmask register allocation in some instruction patterns.
Reviewed-by: phh, dsamersoff
Backport-of: 71ca0c08f0
2022-09-13 14:33:11 +00:00
Dmitry Chuyko
02fa363932 8287349: AArch64: Merge LDR instructions to improve C1 OSR performance
Reviewed-by: aph
Backport-of: 08400f18ba
2022-09-12 22:20:29 +00:00
Ryan Flegel
f0acd72f2d 8275535: Retrying a failed authentication on multiple LDAP servers can lead to users blocked
Backport-of: 3be394e160
2022-09-12 18:13:56 +00:00
Jonathan Dowland
cd7da2dfe7 8283383: [macos] a11y : Screen magnifier shows extra characters (0) at the end JButton accessibility name
Backport-of: b021d37cec
2022-09-07 18:50:40 +00:00
bobpengxie
13ed26b8c6 8293319: [C2 cleanup] Remove unused other_path arg in Parse::adjust_map_after_if
Backport-of: e1e67324c0
2022-09-07 02:13:19 +00:00
Jonathan Dowland
12576b99fc 8292541: [Metrics] Reported memory limit may exceed physical machine memory
Backport-of: 9a0d1e7ce8
2022-09-06 18:20:11 +00:00
Yi-Fan Tsai
328ea9d0ff 8288445: AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding
Reviewed-by: phh
Backport-of: b4490386fe
2022-09-06 16:43:39 +00:00
Matthias Baesken
c4721bc24c 8289146: containers/docker/TestMemoryWithCgroupV1.java fails on linux ppc64le machine with missing Memory and Swap Limit output
Backport-of: d8f4e97bd3
2022-09-06 07:54:50 +00:00
Sergey Nazarkin
94618a2fa3 8289044: ARM32: missing LIR_Assembler::cmove metadata type support
Backport-of: 20f55abd27
2022-09-02 11:13:28 +00:00
Jonathan Dowland
e66fd866b8 8292083: Detected container memory limit may exceed physical machine memory
Reviewed-by: sgehwolf
Backport-of: f694f8a767
2022-09-01 08:13:26 +00:00
Christoph Langer
282efe5e1d 8292888: Bump update version for OpenJDK: jdk-17.0.6
Reviewed-by: sgehwolf
2022-09-01 05:07:34 +00:00
Matthias Baesken
bf7e3bf070 8290456: remove os::print_statistics()
Backport-of: 612d8c6cb1
2022-08-31 06:41:36 +00:00
Andrew John Hughes
00445e86fd 8288985: P11TlsKeyMaterialGenerator should work with ChaCha20-Poly1305
Backport-of: b6bd190d8d
2022-08-31 01:08:54 +00:00
Ekaterina Vergizova
d3197e7628 8287463: JFR: Disable TestDevNull.java on Windows
Backport-of: 0df4748216
2022-08-30 20:56:37 +00:00
Severin Gehwolf
d13038aa90 8289695: [TESTBUG] TestMemoryAwareness.java fails on cgroups v2 and crun
Backport-of: ac6be16519
2022-08-26 08:40:03 +00:00
Joshua Cao
6d2cddf54b 8227651: Tests fail with SSLProtocolException: Input record too big
8212096: javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java failed intermittently due to SSLException: Tag mismatch

Backport-of: 7b029ea6ba
2022-08-23 12:58:15 +00:00
bobpengxie
b30d962f27 8284950: CgroupV1 detection code should consider memory.swappiness
Backport-of: 46d208fb1c
2022-08-23 09:41:37 +00:00
Alexey Pavlyutkin
2796eca91c 8272417: ZGC: fastdebug build crashes when printing ClassLoaderData
Backport-of: 741f58c18c
2022-08-23 06:18:32 +00:00
Martijn Verburg
e3c178d6d8 6782021: It is not possible to read local computer certificates with the SunMSCAPI provider
Backport-of: 5e5500cbd7
2022-08-22 20:32:04 +00:00
Jiří Vaněk
70a51d482a 8282947: JFR: Dump on shutdown live-locks in some conditions
Backport-of: 63eb0b7e86
2022-08-19 07:50:56 +00:00
Joshua Cao
3d2d300bcd 8288000: compiler/loopopts/TestOverUnrolling2.java fails with release VMs
Backport-of: d959c22a95
2022-08-19 00:45:45 +00:00
Joshua Cao
129484da3b 8279032: compiler/loopopts/TestSkeletonPredicateNegation.java times out with -XX:TieredStopAtLevel < 4
Reviewed-by: phh
Backport-of: 928e347736
2022-08-17 22:48:25 +00:00
Roland Westrelin
38fdbd4356 8289127: Apache Lucene triggers: DEBUG MESSAGE: duplicated predicate failed which is impossible
Backport-of: 4f3f74c141
2022-08-17 09:30:19 +00:00
Matthias Baesken
e650bdcde0 8285730: unify _WIN32_WINNT settings
Backport-of: 4fd79a6ad2
2022-08-17 07:00:15 +00:00
Matthias Baesken
cb294d9ecf 8289910: unify os::message_box across posix platforms
Backport-of: e5491a2605
2022-08-17 06:57:31 +00:00
Matthias Baesken
92571e3465 8291633: Build failures with GCC 11, Alpine 3 due to incompatible casts from nullptr
Backport-of: c89556f6cd
2022-08-17 06:56:32 +00:00
bobpengxie
2c988d1842 8283903: GetContainerCpuLoad does not return the correct result in share mode
Backport-of: a625bfdba4
2022-08-17 02:15:04 +00:00
Christoph Langer
cf0abb8958 Merge 'jdk17.0.4.1' into master 2022-08-16 16:00:36 +02:00
Severin Gehwolf
02fa4be6c4 8292260: [BACKOUT] JDK-8279219: [REDO] C2 crash when allocating array of size too large
Reviewed-by: clanger
Backport-of: 967a28c3d8
2022-08-16 08:28:46 +00:00
Severin Gehwolf
27057f84af 8292258: Bump update version for OpenJDK: jdk-17.0.4.1
Reviewed-by: stuefe
2022-08-12 08:28:20 +00:00
Andrew Leonard
f74269cdaa 8288399: MacOS debug symbol files not always deterministic in reproducible builds
Backport-of: 6633855ca7
2022-08-08 10:07:21 +00:00
Goetz Lindenmaier
9168aa252d 8289549: ISO 4217 Amendment 172 Update
Reviewed-by: stuefe
Backport-of: 604ea90d55
2022-08-07 17:53:24 +00:00
Goetz Lindenmaier
bb31cd9af1 8283277: ISO 4217 Amendment 171 Update
Backport-of: c4dc58e12e
2022-08-06 20:56:14 +00:00
Christoph Langer
b284851543 8280944: Enable Unix domain sockets in Windows Selector notification mechanism
Backport-of: 87ab0994de
2022-08-04 12:00:08 +00:00
Goetz Lindenmaier
1fe8777f3b 8285693: Create an automated test for JDK-4702199
Backport-of: 158d871d05
2022-08-03 13:51:33 +00:00
Goetz Lindenmaier
6bfe87dc43 8284077: Create an automated test for JDK-4170173
Backport-of: 6db2e16b94
2022-08-03 13:41:07 +00:00
Goetz Lindenmaier
91b5c0a39d 8285617: Fix java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java manual test
Backport-of: e7c3b9de64
2022-08-03 13:37:15 +00:00
Shruthi
951fff5462 8289471: Issue in Initialization of keys in ErrorMsg.java and XPATHErrorResources.java
Reviewed-by: phh
Backport-of: 987656d690
2022-08-03 10:48:49 +00:00
Goetz Lindenmaier
c430a94576 8291595: [17u] Delete files missed in backport of 8269039
Reviewed-by: stuefe
2022-08-03 08:23:10 +00:00
Goetz Lindenmaier
5885a8e672 8283624: Create an automated regression test for RFE-4390885
Backport-of: 99388eff8d
2022-08-03 08:19:38 +00:00
Goetz Lindenmaier
53cb0028b5 8223543: [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java has issues
Backport-of: d41331e6f2
2022-08-03 08:17:08 +00:00
Goetz Lindenmaier
7ac74ca213 8284535: Fix PrintLatinCJKTest.java test that is failing with Parse Exception
8283712: Create a manual test framework class

Backport-of: 3f26d84f6a
2022-08-03 08:13:52 +00:00
Goetz Lindenmaier
fb82b73b8f 8283245: Create a test for JDK-4670319
Backport-of: 4ce3cf12bf
2022-08-03 08:04:54 +00:00
Goetz Lindenmaier
64db633e91 8283507: Create a regression test for RFE 4287690
Backport-of: 7edd186121
2022-08-02 09:13:41 +00:00
Goetz Lindenmaier
17982d846d 8282933: Create a test for JDK-4529616
Backport-of: a0b984a778
2022-08-02 09:08:43 +00:00
Goetz Lindenmaier
016e500457 8283621: Write a regression test for CCC4400728
Backport-of: 632825c6d2
2022-08-02 09:00:40 +00:00
Goetz Lindenmaier
cbfb654958 8283623: Create an automated regression test for JDK-4525475
Backport-of: 7381868afe
2022-08-02 08:44:37 +00:00
Goetz Lindenmaier
b9749f4178 8288992: AArch64: CMN should be handled the same way as CMP
Backport-of: cc2b792704
2022-08-01 08:57:28 +00:00
Goetz Lindenmaier
3822bbdb00 8283015: Create a test for JDK-4715496
Backport-of: bfd9c2b30f
2022-08-01 08:54:30 +00:00
Goetz Lindenmaier
488e6a355f 8283493: Create an automated regression test for RFE 4231298
Backport-of: 6917c39e45
2022-08-01 08:52:54 +00:00
Goetz Lindenmaier
11e8a91619 8282789: Create a regression test for the JTree usecase of JDK-4618767
Backport-of: 83a1c90433
2022-08-01 08:50:08 +00:00
Goetz Lindenmaier
d52a899212 8280913: Create a regression test for JRootPane.setDefaultButton() method
Backport-of: 51b53a821b
2022-08-01 08:48:46 +00:00
Goetz Lindenmaier
a6462223df 8269556: sun/tools/jhsdb/JShellHeapDumpTest.java fails with RuntimeException 'JShellToolProvider' missing from stdout/stderr
Backport-of: db502d30a4
2022-08-01 08:43:02 +00:00
Goetz Lindenmaier
7488823fba 8275689: [TESTBUG] Use color tolerance only for XRender in BlitRotateClippedArea test
Backport-of: b3f45f868d
2022-08-01 08:39:03 +00:00
Goetz Lindenmaier
11dddf15fb 8257534: misc tests failed with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom"
Backport-of: cd07b3cab0
2022-08-01 08:36:52 +00:00
Goetz Lindenmaier
0b31a9f567 8270312: Error: Not a test or directory containing tests: java/awt/print/PrinterJob/XparColor.java
Backport-of: c5c84b8fdc
2022-08-01 08:31:14 +00:00
Jan Kratochvil
27ffd83f6a 8290417: CDS cannot archive lamda proxy with useImplMethodHandle
Backport-of: 4dc421caa0
2022-07-29 09:37:23 +00:00
Goetz Lindenmaier
2e12c18f0d 8290334: Update FreeType to 2.12.1
Backport-of: ea8b75cfe4
2022-07-28 11:55:42 +00:00
Goetz Lindenmaier
a747955b7d 8290246: test fails "assert(init != __null) failed: initialization not found"
Backport-of: 70fce07a38
2022-07-28 11:54:16 +00:00
Goetz Lindenmaier
186745e83f 8286314: Trampoline not created for far runtime targets outside small CodeCache
Backport-of: bf0623b11f
2022-07-28 11:51:08 +00:00
Goetz Lindenmaier
2a5a30b761 8284358: Unreachable loop is not removed from C2 IR, leading to a broken graph
Backport-of: 95497772e7
2022-07-28 11:48:21 +00:00
Goetz Lindenmaier
cd6f6596ae 8282351: jpackage does not work if class file has $$ in the name on windows
Reviewed-by: asemenyuk
Backport-of: 29395534d9
2022-07-28 11:45:37 +00:00
Goetz Lindenmaier
37c9cd1555 8283803: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintGlyphVectorTest.java and fix test
8284898: Enhance PassFailJFrame

Reviewed-by: stuefe
Backport-of: ed23033dc6
2022-07-28 11:42:27 +00:00
Goetz Lindenmaier
6fa5281c6b 8283723: Update Visual Studio 2022 to version 17.1.0 for Oracle builds on Windows
Reviewed-by: mbaesken
Backport-of: a9a9b901b4
2022-07-28 11:40:13 +00:00
Goetz Lindenmaier
25ad9d6ba3 8264792: The NumberFormat for locale sq_XK formats price incorrectly.
Backport-of: 41dc795d6c
2022-07-28 11:33:55 +00:00
Andrew John Hughes
98f6737e83 8283911: DEFAULT_PROMOTED_VERSION_PRE not reset to 'ea' for jdk-17.0.4
Reviewed-by: clanger
2022-07-27 17:04:34 +00:00
Dan Lutker
3b4649d941 7131823: bug in GIFImageReader
Backport-of: a31130fd40
2022-07-27 14:41:09 +00:00
Goetz Lindenmaier
d48914256f 8282860: Write a regression test for JDK-4164779
Backport-of: 8a044649bd
2022-07-26 13:41:14 +00:00
Richard Reingruber
612cca3897 8288781: C1: LIR_OpVisitState::maxNumberOfOperands too small
Backport-of: 3f5e48a44e
2022-07-26 09:56:59 +00:00
Goetz Lindenmaier
689a837f64 8289853: Update HarfBuzz to 4.4.1
Backport-of: f42dab8592
2022-07-25 08:59:15 +00:00
Goetz Lindenmaier
b6454bccd8 8273506: java Robot API did the 'm' keypress and caused /awt/event/KeyEvent/KeyCharTest/KeyCharTest.html is timing out on macOS 12
Backport-of: 39e50c2d69
2022-07-25 08:57:21 +00:00
Goetz Lindenmaier
c402838c3a 8284067: jpackage'd launcher reports non-zero exit codes with error prompt
Reviewed-by: asemenyuk
Backport-of: b9cc3bc1bf
2022-07-25 08:53:16 +00:00
Goetz Lindenmaier
de4792a374 8283087: Create a test or JDK-4715503
Backport-of: a6fd0b21dd
2022-07-25 08:48:10 +00:00
Goetz Lindenmaier
3258b672d4 8282548: Create a regression test for JDK-4330998
Backport-of: b451273d20
2022-07-25 08:43:37 +00:00
Goetz Lindenmaier
77c1e0a2e7 8282234: Create a regression test for JDK-4532513
Backport-of: 6b34884b34
2022-07-25 08:35:27 +00:00
Goetz Lindenmaier
5d9546e1c2 8282343: Create a regression test for JDK-4518432
Backport-of: b3837808bf
2022-07-25 08:29:09 +00:00
Goetz Lindenmaier
f185a190bc 8169468: NoResizeEventOnDMChangeTest.java fails because FS Window didn't receive all resizes!
Backport-of: b0a463fa59
2022-07-25 08:26:26 +00:00
Goetz Lindenmaier
9d27716f61 6854300: [TEST_BUG] java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java fails in jdk6u14 & jdk7
Backport-of: a1ec4f9618
2022-07-25 08:24:40 +00:00
Goetz Lindenmaier
c406983e47 8017175: [TESTBUG] javax/swing/JPopupMenu/4634626/bug4634626.java sometimes failed on mac
Backport-of: 4c3491bfa5
2022-07-25 08:21:37 +00:00
Goetz Lindenmaier
dae14b3540 8255724: [XRender] the BlitRotateClippedArea test fails on Linux in the XR pipeline
Backport-of: dcd6e0da24
2022-07-25 08:18:27 +00:00
Goetz Lindenmaier
309f794a53 8272736: [JVMCI] Add API for reading and writing JVMCI thread locals
Backport-of: ad92033fcc
2022-07-25 08:12:22 +00:00
Goetz Lindenmaier
cfe1e95501 8277493: [REDO] Quarantined jpackage apps are labeled as "damaged"
Reviewed-by: asemenyuk
Backport-of: 273c7329e7
2022-07-23 07:10:15 +00:00
Goetz Lindenmaier
6c53fadb6d 8282007: Assorted enhancements to jpackage testing framework
Reviewed-by: asemenyuk, mbaesken
Backport-of: cd234f5dbe
2022-07-22 17:53:19 +00:00
Goetz Lindenmaier
930be902d0 8278233: [macos] tools/jpackage tests timeout due to /usr/bin/osascript
Backport-of: 918e339785
2022-07-22 17:50:48 +00:00
Goetz Lindenmaier
fbaf069d27 8290020: Deadlock in leakprofiler::emit_events during shutdown
Reviewed-by: mbaesken
Backport-of: e8568b890a
2022-07-21 10:49:47 +00:00
Goetz Lindenmaier
8457dd23a6 8289486: Improve XSLT XPath operators count efficiency
Backport-of: 3212dc9c6f
2022-07-21 10:47:43 +00:00
Goetz Lindenmaier
9f8e0d7238 8287125: [macos] Multiple jpackage tests fail/timeout on same host
Backport-of: 409157d2af
2022-07-21 10:45:52 +00:00
Goetz Lindenmaier
6a4b6220f8 8286122: [macos]: App bundle cannot upload to Mac App Store due to info.plist embedded in java exe
Reviewed-by: mbaesken
Backport-of: b523c88480
2022-07-21 10:44:01 +00:00
Goetz Lindenmaier
c3aa29f009 8281738: Create a regression test for checking the 'Space' key activation of focused Button
Backport-of: 941e97c4eb
2022-07-21 10:41:43 +00:00
Goetz Lindenmaier
00f2b3fa8c 8281988: Create a regression test for JDK-4618767
Backport-of: 43dc9ef619
2022-07-21 10:37:11 +00:00
Goetz Lindenmaier
3a57cc6724 8281745: Create a regression test for JDK-4514331
Backport-of: f9539521ae
2022-07-21 10:33:30 +00:00
Goetz Lindenmaier
c2f6e5283e 8281535: Create a regression test for JDK-4670051
Backport-of: 0786ddb471
2022-07-21 10:26:57 +00:00
Goetz Lindenmaier
dec16ad44f 8279370: jdk.jpackage/share/native/applauncher/JvmLauncher.cpp fails to build with GCC 6.3.0
Backport-of: 14a90e536b
2022-07-21 10:23:12 +00:00
Goetz Lindenmaier
89d2c89c83 8278311: Debian packaging doesn't work
Backport-of: 8ef1a232b1
2022-07-21 10:17:32 +00:00
Goetz Lindenmaier
75b7aedf0c 8276837: [macos]: Error when signing the additional launcher
Backport-of: 7696897932
2022-07-21 09:32:47 +00:00
Goetz Lindenmaier
1ee3e051ad 8271344: Windows product version issue
Reviewed-by: asemenyuk
Backport-of: 0199b03eb3
2022-07-21 09:30:15 +00:00
George Adams
c929865666 8290000: Bump macOS GitHub actions to macOS 11
Backport-of: 4e6cd67fec
2022-07-21 08:53:21 +00:00
Goetz Lindenmaier
31853fe147 Merge 2022-07-20 06:02:44 +00:00
Alexey Pavlyutkin
bd7766321b 8280233: Temporarily disable Unix domain sockets in Windows PipeImpl
Backport-of: 03680bea1c
2022-07-19 11:27:08 +00:00
Goetz Lindenmaier
02215ff8f6 8282280: Update Xerces to Version 2.12.2
Backport-of: 72bd41b844
2022-07-19 07:57:57 +00:00
Goetz Lindenmaier
aafb815658 8277429: Conflicting jpackage static library name
Reviewed-by: asemenyuk
Backport-of: e3911a8532
2022-07-19 07:55:59 +00:00
Goetz Lindenmaier
9120f28d97 8274856: Failing jpackage tests with fastdebug/release build
Reviewed-by: asemenyuk
Backport-of: fe45835f7c
2022-07-19 07:52:30 +00:00
Shruthi
4f79e18537 8285097: Duplicate XML keys in XPATHErrorResources.java and XSLTErrorResources.java
Reviewed-by: tsteele, joehw
Backport-of: b5a3d2843b
2022-07-18 19:42:50 +00:00
George Adams
bebb61224b 8288499: Restore cancel-in-progress in GHA
Backport-of: cb5ef3da19
2022-07-18 13:18:55 +00:00
Goetz Lindenmaier
fc6fa1c3fd 8284014: Menu items with submenus in JPopupMenu are not spoken on macOS
Backport-of: e18414a322
2022-07-18 09:49:36 +00:00
Goetz Lindenmaier
d3b1956c1e 8282407: Missing ')' in MacResources.properties
Reviewed-by: asemenyuk
Backport-of: d83cee98b5
2022-07-18 09:40:28 +00:00
Goetz Lindenmaier
100c802c6e 8272815: jpackage --type rpm produces an error: Invalid or unsupported type: [null]
Reviewed-by: asemenyuk
Backport-of: a3ca770227
2022-07-18 09:35:22 +00:00
Goetz Lindenmaier
4bab0ebf8c 8273040: Turning off JpAllowDowngrades (or Upgrades)
Reviewed-by: asemenyuk
Backport-of: 22a7191f70
2022-07-18 09:31:27 +00:00
Matthias Baesken
d755049a96 8288003: log events for os::dll_unload
Backport-of: c2ccf4ca85
2022-07-18 06:53:39 +00:00
George Adams
881ff368ce 8287906: Rewrite of GitHub Actions (GHA) sanity tests
Reviewed-by: clanger
Backport-of: 1a6533225d
2022-07-17 06:24:42 +00:00
Matthias Baesken
b7ea51fd02 8274434: move os::get_default_process_handle and os::dll_lookup to os_posix for POSIX platforms
Backport-of: 8f7a37c92f
2022-07-15 12:27:08 +00:00
Matthias Baesken
a087c51dfa 8289147: unify os::infinite_sleep on posix platforms
Backport-of: 62e1e7950b
2022-07-15 07:45:36 +00:00
Martin Doerr
528693c991 8290082: [PPC64] ZGC C2 load barrier stub needs to preserve vector registers
Backport-of: 393dc7ade7
2022-07-14 10:08:22 +00:00
Martin Doerr
48d1d419b4 8289856: [PPC64] SIGSEGV in C2Compiler::init_c2_runtime() after JDK-8289060
Backport-of: e05b2f2c3b
2022-07-14 10:01:10 +00:00
Martin Doerr
ccc4732eeb 8290004: [PPC64] JfrGetCallTrace: assert(_pc != nullptr) failed: must have PC
Reviewed-by: lucy, clanger
Backport-of: cb6e9cb728
2022-07-14 09:58:36 +00:00
Sergey Bylokhov serb
c53d022729 8284370: Improve zlib usage
Reviewed-by: andrew
Backport-of: 46f42c72a92ffb035e84eb8e73bd6329ef006251
2022-07-14 10:05:38 +02:00
Andrew John Hughes
567bc2ec07 8272243: Improve DER parsing
Backport-of: ec91d4bce10cd965e8a0099f35aed8c9150f6a44
2022-07-14 09:54:01 +02:00
Goetz Lindenmaier
a8e7d8f9a6 8288599: com/sun/management/OperatingSystemMXBean/TestTotalSwap.java: Expected total swap size ... but getTotalSwapSpaceSize returned ...
Backport-of: f080430440
2022-07-13 10:31:43 +00:00
George Adams
292e6bb71f 8287902: UnreadableRB case in MissingResourceCauseTest is not working reliably on Windows
Backport-of: 975316e3e5
2022-07-12 07:26:00 +00:00
Stephanie Crater
011b96c37e 8272352: Java launcher can not parse Chinese character when system locale is set to UTF-8
Backport-of: 2293448531
2022-07-11 18:21:00 +00:00
George Adams
882b5f573a 8287896: PropertiesTest.sh fail on msys2
Backport-of: f1dd559e20
2022-07-11 16:25:03 +00:00
George Adams
2e21c87fac 8287724: Fix various issues with msys2
Backport-of: bddef71518
2022-07-11 16:24:07 +00:00
Guoxiong Li
a391032cc2 8286573: Remove the unnecessary method Attr#attribTopLevel and its usage
Backport-of: 36bdd25159
2022-07-11 16:22:14 +00:00
George Adams
00074c0f1f 8287895: Some langtools tests fail on msys2
Backport-of: f7791ad0ea
2022-07-11 16:21:02 +00:00
George Adams
204e67a7ad 8280863: Update build README to reflect that MSYS2 is supported
Reviewed-by: clanger
Backport-of: 6de90ad980
2022-07-11 15:58:20 +00:00
Vladimir Kempik
e64282173d 8289697: buffer overflow in MTLVertexCache.m: MTLVertexCache_AddGlyphQuad
Backport-of: d852e99ae9
2022-07-11 09:27:27 +00:00
George Adams
0263abac50 8254318: Remove .hgtags
Backport-of: 62a7f5d323
2022-07-11 09:13:34 +00:00
Thomas Stuefe
ad7fab5b19 8289799: Build warning in methodData.cpp memset zero-length parameter
Backport-of: cce77a7001
2022-07-08 06:37:38 +00:00
Jonathan Dowland
a4642ae202 8278609: [macos] accessibility frame is misplaced on a secondary monitor on macOS
Reviewed-by: goetz
2022-07-07 14:59:50 +00:00
Goetz Lindenmaier
05b94006af 8286266: [macos] Voice over moving JTable column to be the first column JVM crashes
Backport-of: b33c6e52c1
2022-07-07 14:17:52 +00:00
Goetz Lindenmaier
25b75964eb 8278612: [macos] test/jdk/java/awt/dnd/RemoveDropTargetCrashTest crashes with VoiceOver on macOS
Backport-of: 590fa9d8d7
2022-07-07 14:01:58 +00:00
Thomas Stuefe
db2010b18d 8289477: Memory corruption with CPU_ALLOC, CPU_FREE on muslc
Backport-of: da6d1fc0e0
2022-07-07 12:50:40 +00:00
Matthias Baesken
3ad144510d 8284977: MetricsTesterCgroupV2.getLongValueEntryFromFile fails when named value doesn't exist
Backport-of: 444a0d98ac
2022-07-07 12:00:38 +00:00
Matthias Baesken
ab90ac3822 8287735: Provide separate event category for dll operations
Backport-of: 230726ea58
2022-07-07 11:59:03 +00:00
Jan Kratochvil
363a8ffdaf 8286277: CDS VerifyError when calling clone() on object array
Backport-of: 646c8aaeec
2022-07-07 11:46:06 +00:00
Matthias Baesken
01217e1c6c 8289569: [test] java/lang/ProcessBuilder/Basic.java fails on Alpine/musl
Backport-of: a8edd7a12f
2022-07-07 06:44:00 +00:00
Goetz Lindenmaier
a5e273d8c1 8276546: [IR Framework] Whitelist and ignore CompileThreshold
Backport-of: 7a140af253
2022-07-05 12:47:26 +00:00
Goetz Lindenmaier
1305516689 8269039: Disable SHA-1 Signed JARs
Reviewed-by: phh
Backport-of: 6d91a3eb7b
2022-07-05 12:39:56 +00:00
Jonathan Dowland
7aeba377f1 8287917: System.loadLibrary does not work on Big Sur if JDK is built with macOS SDK 10.15 and earlier
Backport-of: fe807217a7
2022-07-04 10:34:46 +00:00
Goetz Lindenmaier
a6c02bd401 8288360: CI: ciInstanceKlass::implementor() is not consistent for well-known classes
Backport-of: 50f99c3208
2022-07-03 19:01:31 +00:00
Goetz Lindenmaier
d3354af99f 8287432: C2: assert(tn->in(0) != __null) failed: must have live top node
Backport-of: 78d371266a
2022-07-03 18:58:35 +00:00
Goetz Lindenmaier
f73037d9ae 8286625: C2 fails with assert(!n->is_Store() && !n->is_LoadStore()) failed: no node with a side effect
Backport-of: 590337e2f2
2022-07-03 18:56:09 +00:00
Goetz Lindenmaier
7f40f16597 8278067: Make HttpURLConnection default keep alive timeout configurable
Backport-of: d8f44aa39e
2022-07-03 18:52:32 +00:00
Martin Balao
860464e461 8281866: Enhance MethodHandle invocations
Reviewed-by: mbaesken
Backport-of: d974d9da365f787f67971d88c79371c8b0769f75
2022-07-01 14:23:02 +02:00
Aleksei Voitylov
9dcec4db4a 8285407: Improve Xalan supports
Reviewed-by: mbalao
Backport-of: fd6385d8c20379c1139f64f5c90d331ad9631097
2022-07-01 14:09:53 +02:00
Aleksei Voitylov
d95c921fc3 8283190: Improve MIDI processing
Reviewed-by: mbalao, mbaesken
Backport-of: e0329eb343661edd5066deb6ae5d99a742135831
2022-07-01 13:56:06 +02:00
Martin Balao
8be0fc09f0 8281859: Improve class compilation
Reviewed-by: mbaesken
Backport-of: 3ac62a66efd05d0842076dd4cfbea0e53b12630f
2022-07-01 13:51:40 +02:00
Yuri Nesterenko
a19a716ba9 8272249: Better properties of loaded Properties
Reviewed-by: mbalao, mbaesken
Backport-of: f9f7e5eaf51cd4793805e50f8ba3549689d939e9
2022-07-01 13:45:19 +02:00
Aleksei Voitylov
b0059e1eef 8277608: Address IP Addressing
Reviewed-by: mbalao
Backport-of: f2136e833d5bbeb9eb4e61e73774c36ff7d27cfb
2022-07-01 13:34:36 +02:00
Vladimir Kempik
774213fd32 8256844: Make NMT late-initializable
Reviewed-by: stuefe
Backport-of: eec64f5587
2022-07-01 10:56:28 +00:00
Matthias Baesken
437c634b61 8281181: Do not use CPU Shares to compute active processor count
Reviewed-by: sgehwolf
Backport-of: a5411119c3
2022-07-01 07:20:45 +00:00
Goetz Lindenmaier
180f3d9970 8284944: assert(cnt++ < 40) failed: infinite cycle in loop optimization
Backport-of: 796494d0fe
2022-06-29 12:41:09 +00:00
Goetz Lindenmaier
23fc8605d3 8284294: Create an automated regression test for RFE 4138746
Backport-of: 0a67d68670
2022-06-29 12:39:24 +00:00
Goetz Lindenmaier
b0af5e5236 8282936: Write a regression test for JDK-4615365
Backport-of: c3d903a55a
2022-06-29 12:36:51 +00:00
Goetz Lindenmaier
4c96224b5f 8288467: remove memory_operand assert for spilled instructions
Backport-of: af05139133
2022-06-29 12:33:54 +00:00
Goetz Lindenmaier
201dad41d7 8287396: LIR_Opr::vreg_number() and data() can return negative number
Reviewed-by: stuefe
Backport-of: cdb476888a
2022-06-29 12:27:52 +00:00
Zhengyu Gu
f044785fa9 8284680: sun.font.FontConfigManager.getFontConfig() leaks charset
Backport-of: dea6e886af
2022-06-28 17:01:37 +00:00
Zhengyu Gu
1675370076 8284956: Potential leak awtImageData/color_data when initializes X11GraphicsEnvironment
Backport-of: cbe7e7bd7f
2022-06-28 17:00:05 +00:00
Goetz Lindenmaier
0ea78e56d8 8289197: [17u] Push of backport of 8286177 did not remove assertion
Reviewed-by: clanger
2022-06-27 07:55:30 +00:00
Christoph Langer
bbe8c3421c 8287366: Improve test failure reporting in GHA
Backport-of: e0e15def24
2022-06-27 07:20:55 +00:00
Goetz Lindenmaier
42e3184f88 8287672: jtreg test com/sun/jndi/ldap/LdapPoolTimeoutTest.java fails intermittently in nightly run
Backport-of: 7e211d7daa
2022-06-24 09:58:23 +00:00
Goetz Lindenmaier
831b3b8adf 8287223: C1: Inlining attempt through MH::invokeBasic() with null receiver
Backport-of: d3e781de08
2022-06-24 09:52:28 +00:00
Goetz Lindenmaier
25059b286d 8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest
Reviewed-by: mdoerr
Backport-of: b0892295ee
2022-06-24 09:45:34 +00:00
Goetz Lindenmaier
1ae5ba5539 8285923: [REDO] JDK-8285802 AArch64: Consistently handle offsets in MacroAssembler as 64-bit quantities
Backport-of: b849efdf15
2022-06-24 09:42:46 +00:00
Goetz Lindenmaier
2e2e891db8 8287091: aarch64 : guarantee(val < (1ULL << nbits)) failed: Field too big for insn
Backport-of: 593d2b7dab
2022-06-24 09:39:19 +00:00
Goetz Lindenmaier
caceaba559 8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure
Backport-of: 6458a56e60
2022-06-24 09:35:24 +00:00
Goetz Lindenmaier
dd7ab3d7fc 8280696: C2 compilation hits assert(is_dominator(c, n_ctrl)) failed
Backport-of: fa1b56ede6
2022-06-24 08:06:16 +00:00
Goetz Lindenmaier
3269cec1d4 8286870: Memory leak with RepeatCompilation
Backport-of: 69ff86a320
2022-06-24 08:03:51 +00:00
Goetz Lindenmaier
47e478d6de 8279622: C2: miscompilation of map pattern as a vector reduction
Backport-of: 6fcd322258
2022-06-24 08:00:12 +00:00
Goetz Lindenmaier
d90fd6f811 8282937: Write a regression test for JDK-4820080
Backport-of: 849b19523a
2022-06-24 07:57:31 +00:00
Goetz Lindenmaier
270a4740c8 8211002: test/jdk/java/lang/Math/PowTests.java skips testing for non-corner-case values
Backport-of: 1362e09479
2022-06-24 07:55:14 +00:00
Sergey Bylokhov
6f0f8429e0 8286582: Build fails on macos aarch64 when using --with-zlib=bundled
Backport-of: 50d47de835
2022-06-23 23:11:50 +00:00
Aleksey Shipilev
68456bb248 8288754: GCC 12 fails to build zReferenceProcessor.cpp
Backport-of: 834d92dd72
2022-06-23 15:49:41 +00:00
Aleksey Shipilev
72603ffc69 8288303: C1: Miscompilation due to broken Class.getModifiers intrinsic
Backport-of: 8cd87e731b
2022-06-23 15:48:21 +00:00
Sergey Bylokhov
a2be28daca 8283457: [macos] libpng build failures with Xcode13.3
Backport-of: 33eb89dfeb
2022-06-23 02:04:36 +00:00
Goetz Lindenmaier
a411085799 8285081: Improve XPath operators count accuracy
Backport-of: 8e07839179
2022-06-22 11:42:43 +00:00
Goetz Lindenmaier
4403118001 8286211: Update PCSC-Lite for Suse Linux to 1.9.5
Backport-of: d792cbcc06
2022-06-22 11:39:01 +00:00
Goetz Lindenmaier
b7d808e96b 8284367: JQuery UI upgrade from 1.12.1 to 1.13.1
Reviewed-by: mdoerr
Backport-of: ac41b78cfb
2022-06-22 10:50:17 +00:00
Goetz Lindenmaier
c1e544fe0f 8286638: C2: CmpU needs to do more precise over/underflow analysis
Backport-of: 2d34acfec9
2022-06-22 10:42:20 +00:00
Goetz Lindenmaier
b91c4922e6 8282555: Missing memory edge when spilling MoveF2I, MoveD2L etc
Backport-of: 4a5e7a1ada
2022-06-22 10:39:04 +00:00
Goetz Lindenmaier
e0750eb79c 8265360: several compiler/whitebox tests fail with "private compiler.whitebox.SimpleTestCaseHelper(int) must be compiled"
Backport-of: 4434c7df03
2022-06-22 10:37:46 +00:00
Goetz Lindenmaier
9f5701896f 8274597: Some of the dnd tests time out and fail intermittently
8028998: [TEST_BUG] [macosx] java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java failed

Backport-of: 669ac611b2
2022-06-22 10:36:21 +00:00
Goetz Lindenmaier
d798aa2a4f 8284521: Write an automated regression test for RFE 4371575
Backport-of: 447c2d13d0
2022-06-22 10:33:34 +00:00
Goetz Lindenmaier
3b8f43e532 8282046: Create a regression test for JDK-8000326
Backport-of: 97c7298a39
2022-06-22 10:28:03 +00:00
Goetz Lindenmaier
f5e1c3f870 8079267: [TEST_BUG] Test java/awt/Frame/MiscUndecorated/RepaintTest.java fails
Backport-of: 6f35eede45
2022-06-22 10:26:41 +00:00
Goetz Lindenmaier
1584ddc897 8282778: Create a regression test for JDK-4699544
Backport-of: cfdbde11f0
2022-06-21 14:44:18 +00:00
Goetz Lindenmaier
4d92532956 8285380: Fix typos in security
Backport-of: f631c9884f
2022-06-21 14:37:39 +00:00
Jaroslav Bachorik
f1d3fa9570 8287113: JFR: Periodic task thread uses period for method sampling events
Backport-of: 8122466fbb
2022-06-21 14:26:01 +00:00
Goetz Lindenmaier
50c0080689 8284883: JVM crash: guarantee(sect->end() <= sect->limit()) failed: sanity on AVX512
Reviewed-by: mdoerr
Backport-of: cd8709e8e0
2022-06-21 13:31:33 +00:00
Goetz Lindenmaier
7975c0ac8a 8285301: C2: assert(!requires_atomic_access) failed: can't ensure atomicity
Reviewed-by: mdoerr
Backport-of: 0a4a6403bb
2022-06-21 13:18:09 +00:00
Goetz Lindenmaier
6f4c27006d 8285696: AlgorithmConstraints:permits not throwing IllegalArgumentException when 'alg' is null
Backport-of: 47951655ac
2022-06-21 13:04:54 +00:00
Goetz Lindenmaier
4b25717255 8285398: Cache the results of constraint checks
Reviewed-by: mdoerr
Backport-of: 00e9c96d51
2022-06-21 12:35:38 +00:00
Goetz Lindenmaier
e4d1d62091 8284675: "jpackage.exe" creates application launcher without Windows Application Manfiest
Reviewed-by: asemenyuk
Backport-of: e7adc283c6
2022-06-21 12:33:46 +00:00
Goetz Lindenmaier
4dd34b713f 8286429: jpackageapplauncher build fails intermittently in Tier[45]
Backport-of: 65f50678f2
2022-06-21 12:30:18 +00:00
Goetz Lindenmaier
29579f4763 8273115: CountedLoopEndNode::stride_con crash in debug build with -XX:+TraceLoopOpts
Backport-of: dc6358444b
2022-06-21 12:27:49 +00:00
Goetz Lindenmaier
ed715363c4 8282640: Create a test for JDK-4740761
Backport-of: fad3b94786
2022-06-21 12:23:50 +00:00
Goetz Lindenmaier
1f8477537e 8281569: Create tests for Frame.setMinimumSize() method
Backport-of: d0eb6fa220
2022-06-21 12:19:00 +00:00
Olga Mikhaltsova
66ccd22e8d 8282538: PKCS11 tests fail on CentOS Stream 9
Backport-of: d8fd22239b
2022-06-21 08:31:11 +00:00
Goetz Lindenmaier
f0dd322310 Merge 2022-06-15 07:08:14 +00:00
Johannes Bechberger
67ca42c5dd 8283562: JDK-8282306 breaks gtests on zero
Backport-of: 78ef2fdef6
2022-06-14 12:12:52 +00:00
Matthias Baesken
83d442665e 8286869: unify os::dir_is_empty across posix platforms
Backport-of: 9ab29b6c07
2022-06-14 12:11:11 +00:00
Johannes Bechberger
ad1852518f 8282306: os::is_first_C_frame(frame*) crashes on invalid link access
Backport-of: 999da9bfc5
2022-06-14 11:16:40 +00:00
Johannes Bechberger
cb415a13f8 8284686: Interval of < 1 ms disables ExecutionSample events
Backport-of: 902b1dd455
2022-06-14 08:59:58 +00:00
Goetz Lindenmaier
f8d3d4287c 8281297: TestStressG1Humongous fails with guarantee(is_range_uncommitted)
Backport-of: 1ce72eabe5
2022-06-14 05:44:40 +00:00
Goetz Lindenmaier
dd7280fdf9 8274517: java/util/DoubleStreamSums/CompensatedSums.java fails with expected [true] but found [false]
Backport-of: 97a983526b
2022-06-14 05:42:26 +00:00
Jaroslav Bachorik
1963985531 8283849: AsyncGetCallTrace may crash JVM on guarantee
Reviewed-by: mdoerr
Backport-of: 93c88690a1
2022-06-13 20:23:10 +00:00
Severin Gehwolf
8563eeccf7 8287663: Add a regression test for JDK-8287073
Backport-of: 2d8c649054
2022-06-13 16:40:25 +00:00
Severin Gehwolf
cb88133467 8287073: NPE from CgroupV2Subsystem.getInstance()
Backport-of: 744b822ab1
2022-06-13 12:41:00 +00:00
Goetz Lindenmaier
292d90dc39 8178969: [TESTBUG] Wrong reporting of gc/g1/humongousObjects/TestHeapCounters test.
Backport-of: 4f2e4c7c24
2022-06-13 06:01:58 +00:00
Goetz Lindenmaier
a081e4ade9 8283441: C2: segmentation fault in ciMethodBlocks::make_block_at(int)
Backport-of: 947869609c
2022-06-13 05:58:06 +00:00
Sergey Bylokhov
aa3d2f76a5 8172065: javax/swing/JTree/4908142/bug4908142.java The selected index should be "aad"
Backport-of: 082fdf4793
2022-06-10 21:58:24 +00:00
Goetz Lindenmaier
84ac0f0de4 8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4
Backport-of: 269eae6189
2022-06-10 21:02:27 +00:00
Goetz Lindenmaier
66cdd6eb36 8284694: Avoid evaluating SSLAlgorithmConstraints twice
Backport-of: d8446b4f60
2022-06-10 10:49:57 +00:00
Goetz Lindenmaier
92d617fc7a 8159694: HiDPI, Unity, java/awt/dnd/DropTargetEnterExitTest/MissedDragExitTest.java
Backport-of: c3938ec18b
2022-06-10 10:47:32 +00:00
Goetz Lindenmaier
667582d02f 8285820: C2: LCM prioritizes locally dependent CreateEx nodes over projections after 8270090
Backport-of: 89392fb15e
2022-06-10 10:40:28 +00:00
Goetz Lindenmaier
2da3752e98 8270090: C2: LCM may prioritize CheckCastPP nodes over projections
Backport-of: 8ebea443f3
2022-06-10 09:51:52 +00:00
Severin Gehwolf
7023eef9e3 8287741: Fix of JDK-8287107 (unused cgv1 freezer controller) was incomplete
Backport-of: 8d28734ede
2022-06-09 09:51:42 +00:00
Severin Gehwolf
0d0e4fbc70 8287107: CgroupSubsystemFactory.setCgroupV2Path asserts with freezer controller
Backport-of: 704b9a66bb
2022-06-09 09:20:08 +00:00
Sergey Bylokhov
3ef9ce6c02 8264666: Change implementation of safeAdd/safeMult in the LCMSImageLayout class
Backport-of: 40f19c014f
2022-06-09 08:27:46 +00:00
Sergey Bylokhov
e7a37b6192 8287824: The MTPerLineTransformValidation tests has a typo in the @run tag
Backport-of: 645be42f76
2022-06-08 20:31:00 +00:00
Sergey Bylokhov
4e45ac97ea 8225122: Test AncestorResized.java fails when Windows desktop is scaled.
Backport-of: 77757ba974
2022-06-08 20:18:35 +00:00
Goetz Lindenmaier
551b0270ad 8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950
Backport-of: 77b0240d44
2022-06-08 20:12:16 +00:00
Goetz Lindenmaier
9a4f12d5ce 8280950: RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix
Backport-of: 0e70d4504c
2022-06-08 19:59:02 +00:00
Goetz Lindenmaier
d16d4f1f05 8280550: SplittableRandom#nextDouble(double,double) can return result >= bound
Backport-of: 0c42e43f77
2022-06-08 18:09:55 +00:00
Goetz Lindenmaier
3013100d5a 8283597: [REDO] Invalid generic signature for redefined classes
Backport-of: 0cd46f655a
2022-06-08 14:25:07 +00:00
Goetz Lindenmaier
9c9c061a50 8282214: Upgrade JQuery to version 3.6.0
Backport-of: 5ba5e21fd2
2022-06-08 14:18:21 +00:00
Goetz Lindenmaier
c2d2dc726a 8281628: KeyAgreement : generateSecret intermittently not resetting
Backport-of: 1485883c9e
2022-06-08 14:15:56 +00:00
Goetz Lindenmaier
2903d59a90 8282467: add extra diagnostics for JDK-8268184
Backport-of: d3022f87b5
2022-06-08 14:12:23 +00:00
Goetz Lindenmaier
d9c81d9562 8287109: Distrust.java failed with CertificateExpiredException
Backport-of: 5b7d066ca5
2022-06-08 14:03:17 +00:00
Goetz Lindenmaier
4b1bba808e Merge 2022-06-08 07:02:40 +00:00
Christoph Langer
3472ab2be8 8286855: javac error on invalid jar should only print filename
Backport-of: 1606d5545b
2022-06-07 08:32:04 +00:00
Johannes Bechberger
041924ab32 8282477: [x86, aarch64] vmassert(_last_Java_pc == NULL, "already walkable"); fails with async profiler
Reviewed-by: mdoerr
Backport-of: 4b2c82200f
2022-06-07 08:08:06 +00:00
Matthias Baesken
fb86d40220 8286114: [test] show real exception in bomb call in sun/rmi/runtime/Log/checkLogging/CheckLogging.java
Backport-of: 7424f47557
2022-06-07 06:44:09 +00:00
Christoph Langer
6ed972510c 8287162: (zipfs) Performance regression related to support for POSIX file permissions
Backport-of: a10c5597d9
2022-06-03 13:09:52 +00:00
Christoph Langer
18e0dfcbc0 8286594: (zipfs) Mention paths with dot elements in ZipException and cleanups
Backport-of: 80cf9f3464
2022-06-03 11:31:34 +00:00
Christoph Langer
4a19cdca9c 8286444: javac errors after JDK-8251329 are not helpful enough to find root cause
Backport-of: 29c4b8e80d
2022-06-03 11:16:21 +00:00
Christoph Langer
629754e743 8240903: Add test to check that jmod hashes are reproducible
Backport-of: 9695283458
2022-06-02 08:33:09 +00:00
Christoph Langer
9a4a6ab14d 8287202: GHA: Add macOS aarch64 to the list of default platforms for workflow_dispatch event
Backport-of: f7a37f5886
2022-06-02 07:54:59 +00:00
Christoph Langer
e266ffdc5a 8287378: GHA: Update cygwin to fix issues in langtools tests on Windows
Backport-of: f086d945c3
2022-06-02 07:44:11 +00:00
Goetz Lindenmaier
6850786f90 8287016: Bump update version for OpenJDK: jdk-17.0.5
Reviewed-by: mdoerr
2022-06-01 11:59:46 +00:00
Andrew Leonard
6b5186eec8 8284661: Reproducible assembly builds without relative linking
Backport-of: ab83bceda1
2022-05-31 11:06:11 +00:00
Andrew John Hughes
9439a87f72 8284094: Memory leak in invoker_completeInvokeRequest()
Backport-of: 1dfa1eaea0
2022-05-31 00:02:05 +00:00
Andrew Leonard
3e42e25823 8284437: Building from different users/workspace is not always deterministic
Backport-of: 4451257b14
2022-05-30 09:29:24 +00:00
Ichiroh Takiguchi
4330e5fe32 8287362: FieldAccessWatch testcase failed on AIX platform
Backport-of: 66340372d5
2022-05-30 00:36:54 +00:00
Ichiroh Takiguchi
b9841d40be 8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale
Backport-of: 6ea996c205
2022-05-30 00:31:00 +00:00
Christoph Langer
18d3e4da13 8287336: GHA: Workflows break on patch versions
Reviewed-by: andrew
Backport-of: e44465d4d6
2022-05-29 18:59:12 +00:00
Andrew Leonard
6ed20f81b1 8283315: jrt-fs.jar not always deterministically built
Backport-of: 85cc6f1440
2022-05-27 15:26:40 +00:00
Alexander Scherbatiy
75e1b08347 8285397: JNI exception pending in CUPSfuncs.c:250
Backport-of: a03438cb1b
2022-05-25 12:20:19 +00:00
Goetz Lindenmaier
72f368dcaf Merge 2022-05-25 11:40:40 +00:00
Goetz Lindenmaier
e158967986 Merge 2022-05-25 13:15:57 +02:00
Alexander Scherbatiy
fb234acb2b 8181571: printing to CUPS fails on mac sandbox app
Backport-of: 3d4be14eba
2022-05-24 08:39:17 +00:00
Matthias Baesken
f78c4bcfc6 8287119: Add Distrust.java to ProblemList
Backport-of: da8fd4547f
2022-05-24 07:08:16 +00:00
Adam Farley
461fb320bc 8286601: Mac Aarch: Excessive warnings to be ignored for build jdk
Reviewed-by: andrew
Backport-of: 40f43c6b1f
2022-05-23 21:07:48 +00:00
Ichiroh Takiguchi
1fece41790 8139173: [macosx] JInternalFrame shadow is not properly drawn
Backport-of: f7814c120b
2022-05-23 01:08:40 +00:00
Sergey Bylokhov
817457e79e 8285523: Improve test java/io/FileOutputStream/OpenNUL.java
Backport-of: f42631e354
2022-05-20 23:20:54 +00:00
Goetz Lindenmaier
c94a235861 8209776: Refactor jdk/security/JavaDotSecurity/ifdefs.sh to plain java test
Backport-of: 9711033780
2022-05-20 12:54:13 +00:00
Ichiroh Takiguchi
d70f90bd41 8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled
Backport-of: 27fe3d7f8d
2022-05-19 13:04:50 +00:00
Zhengyu Gu
0355888e01 8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak
Reviewed-by: mdoerr
Backport-of: d6fa8b004b
2022-05-18 12:35:19 +00:00
Goetz Lindenmaier
ab81cd02b1 8286293: Tests ShortResponseBody and ShortResponseBodyWithRetry should use less resources
Backport-of: f143386109
2022-05-18 10:13:53 +00:00
Goetz Lindenmaier
676b0973cb 8236136: tests which use CompilationMode shouldn't be run w/ TieredStopAtLevel
Backport-of: a86cab8d42
2022-05-18 10:11:45 +00:00
Goetz Lindenmaier
fc81c86ce9 8285686: Update FreeType to 2.12.0
Backport-of: 67dd8a8d6a
2022-05-18 06:26:08 +00:00
Matthias Baesken
2680e83f5f 8285728: Alpine Linux build fails with busybox tar
Backport-of: 36bf6fbe08
2022-05-16 07:16:04 +00:00
Matthias Baesken
cc91c6e85d 8284758: [linux] improve print_container_info
Backport-of: 6c6d5223df
2022-05-16 07:13:42 +00:00
Matthias Baesken
7c8749311c 8284754: print more interesting env variables in hs_err and VM.info
Backport-of: 8ee2944cc4
2022-05-16 07:12:18 +00:00
Martin Doerr
5c1835de0b 8283323: libharfbuzz optimization level results in extreme build times
Backport-of: 2c43ecb43f
2022-05-13 13:09:01 +00:00
Thomas Stuefe
7cef5a5f0a 8286198: [linux] Fix process-memory information
Backport-of: 9e320d9ab1
2022-05-12 14:29:09 +00:00
Tyler Steele
f9a6e0c627 8285956: (fs) Excessive default poll interval in PollingWatchService
Backport-of: 1bb4de2e28
2022-05-12 14:02:34 +00:00
Richard Reingruber
bbd500f316 8280593: [PPC64, S390] redundant allocation of MacroAssembler in StubGenerator ctor
Backport-of: c936e7059b
2022-05-12 09:34:26 +00:00
Richard Reingruber
230cd5ecc8 8274687: JDWP deadlocks if some Java thread reaches wait in blockOnDebuggerSuspend
Backport-of: ca2efb73f5
2022-05-12 09:33:36 +00:00
Basil Crow
296dc7858c 8268773: Improvements related to: Failed to start thread - pthread_create failed (EAGAIN)
Backport-of: e35005d5ce
2022-05-12 09:16:16 +00:00
Olga Mikhaltsova
b6404c83f4 8282008: Incorrect handling of quoted arguments in ProcessBuilder
Backport-of: 897d6c0dc7
2022-05-12 08:29:54 +00:00
Aleksey Shipilev
31eefe5e96 8284848: C2: Compiler blackhole arguments should be treated as globally escaping
Reviewed-by: kvn
Backport-of: 5629c7555f
2022-05-11 14:54:56 +00:00
Matthias Baesken
c735f555c2 8285921: serviceability/dcmd/jvmti/AttachFailed/AttachReturnError.java fails on Alpine
Backport-of: 0f62cb6fcc
2022-05-10 13:43:26 +00:00
Goetz Lindenmaier
1b1500a051 8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use
Backport-of: cd36be42c2
2022-05-09 13:34:05 +00:00
Jie Fu
0e6959de80 8286013: Incorrect test configurations for compiler/stable/TestStableShort.java
Backport-of: 3420a1aa70
2022-05-09 12:22:44 +00:00
Jie Fu
14f38e198b 8284992: Fix misleading Vector API doc for LSHR operator
Backport-of: e54f26aa3d
2022-05-09 12:21:50 +00:00
Jie Fu
523a4c41a4 8285828: runtime/execstack/TestCheckJDK.java fails with zipped debug symbols
Backport-of: c4f7a850c6
2022-05-09 12:20:51 +00:00
Christoph Langer
a95482acf8 8285727: [11u, 17u] Unify fix for JDK-8284920 with version from head
Reviewed-by: mdoerr, akozlov
2022-05-06 21:43:29 +00:00
Christoph Langer
c464f20f41 8285726: [11u, 17u] Unify fix for JDK-8284548 with version from head
Reviewed-by: mdoerr
2022-05-06 21:42:39 +00:00
Martin Doerr
e5a71d77b7 8282929: Localized monetary symbols are not reflected in toLocalizedPattern return value
Backport-of: c96085eaab
2022-05-06 15:47:31 +00:00
Tyler Steele
a839a364c8 8286029: Add classpath exemption to globals_vectorApiSupport_***.S.inc
Backport-of: 6a1b145a0a
2022-05-06 15:46:14 +00:00
Zhengyu Gu
75cfc998eb 8284023: java.sun.awt.X11GraphicsDevice.getDoubleBufferVisuals() leaks XdbeScreenVisualInfo
Backport-of: ec205f68a8
2022-05-04 20:23:24 +00:00
Zhengyu Gu
cf2b20fda1 8284532: Memory leak in BitSet::BitMapFragmentTable in JFR leak profiler
Backport-of: b55c32f5fe
2022-05-04 17:40:57 +00:00
Aleksey Shipilev
70d3583340 8282170: JVMTI SetBreakpoint metaspace allocation test
Backport-of: 7b91bbba82
2022-05-04 15:27:20 +00:00
Aleksey Shipilev
0955acab54 8285394: Compiler blackholes can be eliminated due to stale ciMethod::intrinsic_id()
Reviewed-by: kvn
Backport-of: ce8db2c403
2022-05-04 15:25:42 +00:00
Zhengyu Gu
db26df68d8 8284549: JFR: FieldTable leaks FieldInfoTable member
Backport-of: 92f5e42696
2022-05-04 14:47:37 +00:00
Zhengyu Gu
a1da138b45 8284620: CodeBuffer may leak _overflow_arena
Reviewed-by: mdoerr, kvn
Backport-of: 4d45c3ebc4
2022-05-04 14:44:05 +00:00
Sergey Bylokhov
c1e1719722 8274735: javax.imageio.IIOException: Unsupported Image Type while processing a valid JPEG image
Backport-of: f8a164915f
2022-04-29 20:38:18 +00:00
Goetz Lindenmaier
bb7b764410 8279529: ProblemList java/nio/channels/DatagramChannel/ManySourcesAndTargets.java on macosx-aarch64
8279532: ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java

Backport-of: 564c8c6390
2022-04-29 10:01:50 +00:00
Martin Doerr
40c7bf253d 8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive
Backport-of: 86015e15a5
2022-04-29 08:59:08 +00:00
Martin Doerr
d67ca11f47 8279842: HTTPS Channel Binding support for Java GSS/Kerberos
Reviewed-by: goetz
Backport-of: de3113b998
2022-04-29 08:37:14 +00:00
Jaroslav Bachorik
ae9b334490 8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
Backport-of: 9471f24ca1
2022-04-28 20:24:05 +00:00
Matthias Baesken
b751b3c108 8285445: cannot open file "NUL:"
Backport-of: 03cbb48e6a
2022-04-28 06:42:42 +00:00
Zhengyu Gu
1cbe38a3f8 8284458: CodeHeapState::aggregate() leaks blob_name
Reviewed-by: mdoerr
Backport-of: d4a4884385
2022-04-27 19:50:20 +00:00
Martin Doerr
6793a6a43d 8284866: Add test to JDK-8273056
Backport-of: 3ffec3a50b
2022-04-27 09:27:44 +00:00
Martin Doerr
740e6b1186 8278519: serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null"
Backport-of: 63e43030ed
2022-04-27 09:27:02 +00:00
Martin Doerr
6f109a4df1 8277396: [TESTBUG] In DefaultButtonModelCrashTest.java, frame is accessed from main thread
Backport-of: b310f301ef
2022-04-27 09:26:18 +00:00
Martin Doerr
11d3c006b4 8273095: vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java fails with "wrong OOME"
Backport-of: f62b81c3b5
2022-04-27 09:25:19 +00:00
Martin Doerr
73c292ad0e 8282142: [TestCase] compiler/inlining/ResolvedClassTest.java will fail when --with-jvm-features=-compiler1
Backport-of: c459f8f406
2022-04-27 09:24:24 +00:00
Jie Fu
b18783d44f 8285342: Zero build failure with clang due to values not handled in switch
Backport-of: d84b9c5489
2022-04-27 08:23:38 +00:00
Christoph Langer
90d4233f02 8284622: Update versions of some Github Actions used in JDK workflow
Backport-of: 5851631de2
2022-04-26 15:51:13 +00:00
Sergey Bylokhov
2a799c8e18 8283422: Create a new test for JDK-8254790
Backport-of: ad83ec7e28
2022-04-25 22:11:36 +00:00
Martin Doerr
457b7e819a 8279597: [TESTBUG] ReturnBlobToWrongHeapTest.java fails with -XX:TieredStopAtLevel=1 on machines with many cores
Backport-of: 45f20633f6
2022-04-25 13:44:49 +00:00
Martin Doerr
8aa099020c 8284884: Replace polling with waiting in javax/swing/text/html/parser/Parser/8078268/bug8078268.java
Backport-of: 53580b336a
2022-04-25 13:43:59 +00:00
Zhengyu Gu
e8db428302 8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c
Backport-of: 36b3bbc53d
2022-04-25 13:40:13 +00:00
Goetz Lindenmaier
a2c1578386 Merge 2022-04-25 11:25:58 +00:00
Anton Kozlov
c1a87498ea 8284920: Incorrect Token type causes XPath expression to return empty result
Reviewed-by: andrew
2022-04-19 21:55:43 +02:00
Thomas Stuefe
03eb709ea9 8283725: Launching java with "-Xlog:gc*=trace,safepoint*=trace,class*=trace" crashes the JVM
Backport-of: 1ca0ede60d
2022-04-13 11:12:19 +00:00
Martin Doerr
99eb134cf7 8279520: SPNEGO has not passed channel binding info into the underlying mechanism
Backport-of: 8d0f385fd0
2022-04-12 08:25:15 +00:00
Christoph Langer
1c9ffea06c 8284507: GHA: Only check test results if testing was not skipped
Backport-of: 8eac3427b1
2022-04-11 15:38:29 +00:00
Christoph Langer
33999a457a 8284603: [17u] Update Boot JDK used in GHA to 17.0.2
Reviewed-by: sgehwolf
2022-04-11 15:36:51 +00:00
Christoph Langer
a0822b0f81 8284389: Improve stability of GHA Pre-submit testing by caching cygwin installer
Backport-of: 61fcf2f67f
2022-04-11 15:35:26 +00:00
Goetz Lindenmaier
c11b74bcf9 8276863: Remove test/jdk/sun/security/ec/ECDSAJavaVerify.java
Backport-of: c27afb313b
2022-04-11 07:38:25 +00:00
Zhengyu Gu
c390fbcee8 8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c
Backport-of: 909986c7e1
2022-04-10 01:41:50 +00:00
Christoph Langer
e58378a58e 8284548: Invalid XPath expression causes StringIndexOutOfBoundsException
Reviewed-by: andrew
2022-04-09 14:16:14 +02:00
Martin Doerr
da9aa234ab 8279822: CI: Constant pool entries in error state are not supported
Reviewed-by: goetz
Backport-of: c5c8c0644d
2022-04-08 15:54:32 +00:00
Alexey Bakhtin
f11bb8984e 8278449: Improve keychain support
Reviewed-by: andrew
Backport-of: 2376bb88eff3ae6922c4cae276e1d703a520853d
2022-04-08 08:18:39 +02:00
Yuri Nesterenko
38b7732c20 8270504: Better Xpath expression handling
Reviewed-by: andrew
Backport-of: b61a2ca626b1da5e555c50e548b643a2daa396c6
2022-04-08 08:05:03 +02:00
Yuri Nesterenko
d19834fe34 8282300: Throws NamingException instead of InvalidNameException after JDK-8278972
Backport-of: e6afb6ff81c9004aadaa6f694e643de9703dd32d
2022-04-08 08:05:03 +02:00
Yuri Nesterenko
a61b441176 8278972: Improve URL supports
Backport-of: 94f1fbfd6d23f18ade3cc1b36f6dd368963c9d02
2022-04-08 08:05:03 +02:00
Martin Balao
463ce03e29 8281388: Change wrapping of EncryptedPrivateKeyInfo
Reviewed-by: mbaesken
Backport-of: 405381ce9b44c8b122a06e590e4d8240fd9ba996
2022-04-08 08:05:02 +02:00
Andrew Brygin
5829a66ce7 8278805: Enhance BMP image loading
Backport-of: 6319119be51e595be82f253b9f5e9495e72d4ad9
2022-04-08 08:05:02 +02:00
Martin Balao
09e30314eb 8278798: Improve supported intrinsic
Reviewed-by: roland, mbaesken
Backport-of: 7ed3d37203da74f3f2cc92d06250f74aa5ceccd1
2022-04-08 08:05:02 +02:00
David Alvarez
a1533c7209 8274221: More definite BER encodings
Backport-of: ee39b0fc22a55a051b8a4d5754c34105fe4b734e
2022-04-08 08:05:02 +02:00
Sergey Bylokhov
713f9fb132 8272255: Completely handle MIDI files
Reviewed-by: mbaesken
Backport-of: 6efdd1870e7ddb77a04d8c8183ced385039d0913
2022-04-08 08:05:02 +02:00
Martin Balao
1420a1eb43 8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character
Reviewed-by: mbaesken
Backport-of: d48181536fa9b99f01fc80f8adb73777ec6ffa58
2022-04-08 08:04:23 +02:00
Martin Doerr
fcc1cc626b 8276880: Remove java/lang/RuntimeTests/exec/ExecWithDir as unnecessary
Reviewed-by: goetz
Backport-of: d7012fbd60
2022-04-07 10:09:56 +00:00
Martin Doerr
d218ce4998 8284369: TestFailedAllocationBadGraph fails with -XX:TieredStopAtLevel < 4
Backport-of: 955d61df30
2022-04-07 10:09:01 +00:00
Severin Gehwolf
7d3a528b47 8283279: [Testbug] Improve TestGetSwapSpaceSize
Backport-of: a77160065b
2022-04-07 08:29:24 +00:00
Matthias Baesken
e78f47e595 8283347: [macos] Bad JNI lookup accessibilityHitTest is shown when Screen magnifier is enabled
Reviewed-by: mdoerr
2022-04-07 07:17:57 +00:00
Martin Doerr
b5e8388258 8283187: C2: loop candidate for superword not always unrolled fully if superword fails
Backport-of: 14c20bc0e0
2022-04-05 09:44:23 +00:00
Martin Doerr
c923449d10 8281822: Test failures on non-DTrace builds due to incomplete DTrace* flags handling
Backport-of: a81c911176
2022-04-05 09:43:20 +00:00
Thomas Stuefe
efabf452e6 8280940: gtest os.release_multi_mappings_vm is racy
Reviewed-by: mdoerr
Backport-of: f07b816523
2022-04-05 03:32:28 +00:00
Thomas Stuefe
83dba0314d 8281522: Rename ADLC classes which have the same name as hotspot variants
Reviewed-by: mdoerr
Backport-of: eee6a5622d
2022-04-05 03:29:12 +00:00
Thomas Stuefe
ba4e609bc3 8282382: Report glibc malloc tunables in error reports
Backport-of: bc42e7cbbf
2022-04-05 03:28:23 +00:00
Sergey Bylokhov
bf6b1d9360 8274939: Incorrect size of the pixel storage is used by the robot on macOS
Backport-of: eff5dafba9
2022-04-03 07:28:36 +00:00
Zhengyu Gu
e8db346515 8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows
Backport-of: 2cddf3f539
2022-04-03 01:07:06 +00:00
Zhengyu Gu
ac4171142f 8282628: Potential memory leak in sun.font.FontConfigManager.getFontConfig()
Backport-of: 5df2a05770
2022-04-03 01:04:37 +00:00
Thomas Stuefe
ab2f61e9ca 8283497: [windows] print TMP and TEMP in hs_err and VM.info
Backport-of: b035fda459
2022-04-01 12:10:26 +00:00
Thomas Stuefe
06c955a32b 8283249: CompressedClassPointers.java fails on ppc with 'Narrow klass shift: 0' missing
Backport-of: 58487ddc17
2022-04-01 12:07:01 +00:00
Thomas Stuefe
25f2a52e79 8281450: Remove unnecessary operator new and delete from ObjectMonitor
Backport-of: 83d67452da
2022-04-01 12:03:57 +00:00
Thomas Stuefe
1007dedf50 8280941: os::print_memory_mappings() prints segment preceeding the inclusion range
Backport-of: d1cc5fda8f
2022-04-01 12:02:41 +00:00
Thomas Stuefe
0bb751bf29 8280004: DCmdArgument<jlong>::parse_value() should handle NULL input
Backport-of: 55f180fb7d
2022-04-01 12:01:26 +00:00
Martin Doerr
2875e18190 8273142: Remove dependancy of TestHttpServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/http/ tests
Backport-of: 2f955d6f5b
2022-04-01 08:55:25 +00:00
Martin Doerr
6976bb431e 8256368: Avoid repeated upcalls into Java to re-resolve MH/VH linkers/invokers
Backport-of: 534e557874
2022-04-01 08:54:15 +00:00
Martin Doerr
2c79c3302e 8282590: C2: assert(addp->is_AddP() && addp->outcnt() > 0) failed: Don't process dead nodes
Backport-of: d29c7e740d
2022-04-01 08:51:35 +00:00
Martin Doerr
2aa1fe09a0 8283641: Large value for CompileThresholdScaling causes assert
Backport-of: c1048021fe
2022-04-01 08:50:38 +00:00
Martin Doerr
b9089e7cc7 8283451: C2: assert(_base == Long) failed: Not a Long
Backport-of: fabde3b7b8
2022-04-01 08:49:17 +00:00
Martin Doerr
8fb8fe6d03 8283834: Unmappable character for US-ASCII encoding in TestPredicateInputBelowLoopPredicate
Backport-of: 2367228835
2022-04-01 08:41:19 +00:00
Martin Doerr
52bbd698c7 8282592: C2: assert(false) failed: graph should be schedulable
Backport-of: 85628a871d
2022-04-01 08:40:04 +00:00
Martin Doerr
cdf144edba 8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
Backport-of: fcce24c5b3
2022-04-01 08:38:50 +00:00
Martin Doerr
7252649d71 8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination
Backport-of: 1ef45c5bbd
2022-04-01 08:29:40 +00:00
Martin Doerr
f883f5166d 8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86
Backport-of: 8b45dbdae6
2022-04-01 08:28:12 +00:00
Martin Balao
c9f70519ff 8278356: Improve file creation
Backport-of: 3c75bf069973c1d05b94cb42edf6eb62820b1ef5
2022-03-31 23:28:22 +02:00
Aleksei Voitylov
32a5e5d3e8 8277672: Better invocation handler handling
Reviewed-by: mbaesken
Backport-of: 0691804665559f1935b7361d5f1207ac46f823f0
2022-03-31 23:18:26 +02:00
Aleksei Voitylov
2d4103a3d9 8277233: Improve ECDSA signature support
Reviewed-by: mbaesken
Backport-of: 34714d63f1be267c2bc2ae7a55f936deab8ea6d2
2022-03-31 23:13:23 +02:00
Aleksei Voitylov
0aff75f678 8277227: Better identification of OIDs
Reviewed-by: mbaesken
Backport-of: 3ac5f0175356fad40b59f879322fa7d89dfbcaab
2022-03-31 23:00:44 +02:00
Aleksei Voitylov
47a269a11a 8275151: Improved Object Identification
Reviewed-by: mbaesken
Backport-of: 4cffe1cc913f895f54281de8e91ca39f4bde4b5f
2022-03-31 22:56:10 +02:00
Martin Balao
37a86ea52d 8272594: Better record of recordings
Reviewed-by: evergizova
Backport-of: 44d9bf6d4afac7b17273b0de1189f3487c1a22f7
2022-03-31 22:47:15 +02:00
Martin Balao
91e98b65e5 8272588: Enhanced recording parsing
Reviewed-by: mbaesken
Backport-of: 036e1b836ee6854f9996be2e8f04773227e60901
2022-03-31 22:41:45 +02:00
Oli Gillespie
59761fe5fd 8272261: Improve JFR recording file processing
Reviewed-by: mbaesken
Backport-of: 71dc970b928a6b3ccc4973f56765a4ff7c43860d
2022-03-31 22:34:44 +02:00
Martin Balao
57f64cce1c 8269938: Enhance XML processing passes redux
Reviewed-by: mbaesken
Backport-of: ff4e11b1a83d6910e39f1d46bea154f0876f39da
2022-03-31 22:15:19 +02:00
Sergey Bylokhov
329711d9a4 8279586: [macos] custom JCheckBox and JRadioBox with custom icon set: focus is still displayed after unchecking
Backport-of: 18a7dc8c08
2022-03-31 17:48:24 +00:00
Martin Doerr
a1a29925ac 8271008: appcds/*/MethodHandlesAsCollectorTest.java tests time out because of excessive GC (CodeCache GC Threshold) in loom
Backport-of: 022d80707c
2022-03-31 13:14:56 +00:00
Martin Doerr
d66b6e175f 8282874: Bad performance on gather/scatter API caused by different IntSpecies of indexMap
Backport-of: 5c408c1410
2022-03-31 13:14:02 +00:00
Martin Doerr
3c34eb1412 8280901: MethodHandle::linkToNative stub is missing w/ -Xint
Backport-of: f86f38a8af
2022-03-31 13:13:11 +00:00
Martin Doerr
468ab69747 8282045: When loop strip mining fails, safepoints are removed from loop anyway
Backport-of: 2c5d266f9f
2022-03-31 13:12:14 +00:00
Martin Doerr
893d586f56 8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers
Backport-of: ecd85e6f0f
2022-03-31 13:09:57 +00:00
Martin Doerr
789b4a9b30 8272908: Missing coverage for certain classes in com.sun.org.apache.xml.internal.security
Backport-of: a16f2d0a3c
2022-03-31 09:48:37 +00:00
Martin Doerr
2d6247b52e 8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
Backport-of: dfeb4132e4
2022-03-31 09:47:43 +00:00
Martin Doerr
079119abaf 8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2
Backport-of: 88f0938c94
2022-03-31 09:46:44 +00:00
Martin Doerr
9c3124a607 8283408: Fix a C2 crash when filling arrays with unsafe
Backport-of: a6740c010b
2022-03-31 09:45:43 +00:00
Martin Doerr
3127e4caa0 8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads
Backport-of: 4e7fb41daf
2022-03-31 09:44:14 +00:00
Martin Doerr
e2f6bb8c2e 8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs
Backport-of: a18beb4797
2022-03-31 09:41:51 +00:00
Martin Doerr
bf88ff18ad 8280600: C2: assert(!had_error) failed: bad dominance
Backport-of: de826ba18a
2022-03-30 09:33:35 +00:00
Martin Doerr
02292c5b61 8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack
Backport-of: e44dc638b8
2022-03-30 09:32:23 +00:00
Martin Doerr
76402bc251 8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly
Backport-of: 6f882deddc
2022-03-30 09:31:23 +00:00
Martin Doerr
2f39462ce7 8272358: Some tests may fail when executed with other locales than the US
Backport-of: 29e552c03a
2022-03-30 09:30:28 +00:00
Martin Doerr
a9c2a50a0a 8277055: Assert "missing inlining msg" with -XX:+PrintIntrinsics
Backport-of: b1f935c1d0
2022-03-30 09:29:35 +00:00
Martin Doerr
0200d64ee3 8264605: vmTestbase/nsk/jvmti/SuspendThread/suspendthrd003/TestDescription.java failed with "agent_tools.cpp, 471: (foundThread = (jthread) jni_env->NewGlobalRef(foundThread)) != NULL"
Backport-of: 96fe1d0d4d
2022-03-30 09:28:44 +00:00
Martin Doerr
373526a465 8279219: [REDO] C2 crash when allocating array of size too large
Backport-of: d32f99ee65
2022-03-30 09:27:49 +00:00
Martin Doerr
6eaf579a06 8281544: assert(VM_Version::supports_avx512bw()) failed for Tests jdk/incubator/vector/
Backport-of: 4e0b81c596
2022-03-30 09:26:51 +00:00
Martin Doerr
9068185db6 8283350: (tz) Update Timezone Data to 2022a
Backport-of: 1ab6f9395f
2022-03-30 09:25:54 +00:00
Martin Doerr
b46fabf26e 8275337: C1: assert(false) failed: live_in set of first block must be empty
Backport-of: 4191b2b9b9
2022-03-30 09:25:06 +00:00
Martin Doerr
d89ad1f104 8273169: java/util/regex/NegativeArraySize.java failed after JDK-8271302
Backport-of: 683e30db79
2022-03-30 09:22:03 +00:00
Martin Doerr
ef42dbb7d2 8271302: Regex Test Refresh
Backport-of: fecefb8541
2022-03-30 09:12:55 +00:00
Severin Gehwolf
7e41d84393 8282551: Properly initialize L32X64MixRandom state
Backport-of: ce18ff8527
2022-03-29 09:46:58 +00:00
Martin Doerr
66c3529861 8278794: Infinite loop in DeflaterOutputStream.finish()
Backport-of: ff0b0927a2
2022-03-29 09:24:55 +00:00
Martin Doerr
92bbddeb55 8281771: Crash in java_lang_invoke_MethodType::print_signature
Backport-of: a24498b777
2022-03-29 09:19:59 +00:00
Martin Doerr
b16d03782b 8270797: ShortECDSA.java test is not complete
Backport-of: 221e4b9c61
2022-03-29 09:18:43 +00:00
Matthias Baesken
86ac4ab1d6 8278549: UNIX sun/font coding misses SUSE distro detection on recent distro SUSE 15
Reviewed-by: mdoerr
Backport-of: 84976b4531
2022-03-28 07:00:52 +00:00
Roman Kennke
8d7f26b7ad 8278065: Refactor subclassAudits to use ClassValue
Backport-of: 8fed8ab29c
2022-03-25 12:50:51 +00:00
Roman Kennke
99237145b1 8280041: Retry loop issues in java.io.ClassCache
Backport-of: cebaad1c94
2022-03-25 11:42:41 +00:00
Roman Kennke
7d132f5e5e 8277072: ObjectStreamClass caches keep ClassLoaders alive
Backport-of: 8eb453baeb
2022-03-25 10:07:39 +00:00
Goetz Lindenmaier
ba6f73330b 8255266: Update Public Suffix List to 3c213aa
Backport-of: 7ce75afbbc
2022-03-24 13:54:41 +00:00
Chris Hegarty
3c123f307b 8282444: Module finder incorrectly assumes default file system path-separator character
Backport-of: 369291b265
2022-03-24 08:44:26 +00:00
Foivos Zakkak
13140f91b0 8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes correctly
Backport-of: 0cbc4b85bf
2022-03-23 09:34:24 +00:00
Martin Doerr
1705541ba9 8281338: NSAccessibilityPressAction action for tree node and NSAccessibilityShowMenuAcgtion action not working
Backport-of: cb2f8caed2
2022-03-23 09:29:42 +00:00
Goetz Lindenmaier
d62a116e28 Merge 2022-03-23 09:26:25 +00:00
Matthias Baesken
18ece9b5c4 8282345: handle latest VS2022 in abstract_vm_version
Backport-of: 735e86b0f7
2022-03-23 08:30:20 +00:00
Matthias Baesken
d4424463c8 8281274: deal with ActiveProcessorCount in os::Linux::print_container_info
Backport-of: bb2e10ccea
2022-03-23 08:28:13 +00:00
Thomas Stuefe
d6eb2818b8 8280543: Update the "java" and "jcmd" tool specification for CDS
Reviewed-by: mdoerr
Backport-of: 39165613aa
2022-03-23 07:02:30 +00:00
Jonathan Dowland
d19ec6f8c6 8193682: Infinite loop in ZipOutputStream.close()
Backport-of: 1e9ed54d36
2022-03-22 15:42:06 +00:00
Goetz Lindenmaier
937b55c0db 8282583: Update BCEL md to include the copyright notice
Backport-of: 8478173d83
2022-03-22 15:22:21 +00:00
Goetz Lindenmaier
a7efccab6d 8277922: Unable to click JCheckBox in JTable through Java Access Bridge
Backport-of: 1668c02ee8
2022-03-22 09:48:33 +00:00
Goetz Lindenmaier
9bfb322975 8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode
Backport-of: 8aba4de984
2022-03-22 09:44:56 +00:00
Goetz Lindenmaier
a637773e23 8282295: SymbolPropertyEntry::set_method_type fails with assert
Backport-of: 3e4dfc63e7
2022-03-22 09:42:35 +00:00
Goetz Lindenmaier
aafda8cd47 8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths
Backport-of: 84868e39be
2022-03-22 09:39:18 +00:00
Goetz Lindenmaier
bd360ab557 8281262: Windows builds in different directories are not fully reproducible
Backport-of: d442328bc2
2022-03-22 09:31:35 +00:00
Goetz Lindenmaier
ea167d7ce9 8278472: Invalid value set to CANDIDATEFORM structure
Backport-of: 2426d58e59
2022-03-22 09:24:37 +00:00
Goetz Lindenmaier
5c8ce904d1 8280956: Re-examine copyright headers on files in src/java.desktop/macosx/native/libawt_lwawt/awt/a11y
Backport-of: fe547eacd7
2022-03-22 06:59:08 +00:00
Zhengyu Gu
f2329d515f 8265261: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
Backport-of: aaedac635a
2022-03-21 20:13:23 +00:00
Goetz Lindenmaier
049b1baaf5 8280401: [sspi] gss_accept_sec_context leaves output_token uninitialized
Backport-of: 6352c020c2
2022-03-20 19:31:53 +00:00
Goetz Lindenmaier
7650afa460 8279227: Access Bridge: Wrong frame position and hit test result on HiDPI display
Backport-of: 20ef954158
2022-03-20 19:29:46 +00:00
Goetz Lindenmaier
a605a3065f 8277087: ZipException: zip END header not found at ZipFile#Source.findEND
Backport-of: e3243ee963
2022-03-20 19:27:36 +00:00
Goetz Lindenmaier
cbe4973947 8278851: Correct signer logic for jars signed with multiple digestalgs
Reviewed-by: mbaesken
Backport-of: 61b8944327
2022-03-18 12:23:15 +00:00
Goetz Lindenmaier
32148d2643 8276796: gc/TestSystemGC.java large pages subtest fails with ZGC
Backport-of: 91bb0d658b
2022-03-18 06:55:18 +00:00
Vladimir Kempik
fbe05ec561 8280476: [macOS] : hotspot arm64 bug exposed by latest clang
Backport-of: f5d6fddc6d
2022-03-17 18:46:59 +00:00
Goetz Lindenmaier
c3ea7ca00a 8282761: XPathFactoryImpl remove setProperty and getProperty methods
Reviewed-by: clanger, yan
2022-03-17 16:33:06 +00:00
Goetz Lindenmaier
90126f80c3 8214733: runtime/8176717/TestInheritFD.java timed out
Backport-of: 4501ddda7f
2022-03-17 08:43:22 +00:00
Goetz Lindenmaier
00f201d514 8279437: [JVMCI] exception in HotSpotJVMCIRuntime.translate can exit the VM
Backport-of: e14fb4f4aa
2022-03-17 08:42:00 +00:00
Goetz Lindenmaier
2acca94970 8278186: org.jcp.xml.dsig.internal.dom.Utils.parseIdFromSameDocumentURI throws StringIndexOutOfBoundsException when calling substring method
Backport-of: 1f1db838ab
2022-03-17 08:39:25 +00:00
Goetz Lindenmaier
40dce20d2b 8277422: tools/jar/JarEntryTime.java fails with modified time mismatch
Backport-of: ad1ff27b73
2022-03-17 08:36:10 +00:00
Goetz Lindenmaier
defd25c98f 8277165: jdeps --multi-release --print-module-deps fails if module-info.class in different versioned directories
8277166: Data race in jdeps VersionHelper
8277123: jdeps does not report some exceptions correctly

Backport-of: 7e54d065a1
2022-03-17 08:33:40 +00:00
Goetz Lindenmaier
e9557600c5 8275037: Test vmTestbase/nsk/sysdict/vm/stress/btree/btree011/btree011.java crashes with memory exhaustion on Windows
Backport-of: 9f2f46ee45
2022-03-17 08:30:54 +00:00
Sergey Bylokhov
ee7a603dfd 8274751: Drag And Drop hangs on Windows
Backport-of: 7a0a6c95a5
2022-03-17 06:30:26 +00:00
Andrew Leonard
f67a3a5bda 8279834: Alpine Linux fails to build when --with-source-date enabled
Backport-of: 9e0244762c
2022-03-16 13:13:37 +00:00
Aleksey Shipilev
60d085e6f7 8281638: jfr/event/allocation tests fail with release VMs after JDK-8281318 due to lack of -XX:+UnlockDiagnosticVMOptions
Backport-of: d254cf28c5
2022-03-16 09:39:35 +00:00
Aleksey Shipilev
cf2a7abcc5 8281318: Improve jfr/event/allocation tests reliability
Backport-of: 65831eb294
2022-03-16 09:25:29 +00:00
Aleksey Shipilev
5d1969bde4 8277893: Arraycopy stress tests
Backport-of: 29bd73638a
2022-03-16 09:20:03 +00:00
Zhengyu Gu
4f0d711487 8281615: Deadlock caused by jdwp agent
Backport-of: e1060bee2a
2022-03-15 17:41:04 +00:00
Andrew Leonard
943c2b31ad 8278766: Enable OpenJDK build support for reproducible jars and jmods using --date
Backport-of: 214f98f6b0
2022-03-15 14:44:24 +00:00
Martin Doerr
7b65a39f22 8273139: C2: assert(f <= 1 && f >= 0) failed: Incorrect frequency
Backport-of: 68b40ec286
2022-03-15 11:04:39 +00:00
Aleksey Shipilev
35215049b4 8283017: GHA: Workflows break with update release versions
Reviewed-by: clanger
Backport-of: 01570ca92d
2022-03-15 10:41:34 +00:00
Goetz Lindenmaier
cd5684ac93 8270435: UT: MonitorUsedDeflationThresholdTest failed: did not find too_many string in output
Backport-of: 21e302a0f4
2022-03-15 09:19:24 +00:00
Goetz Lindenmaier
24ce3f49c8 8274172: Convert JavadocTester to use NIO
Backport-of: 5b0c9ccc49
2022-03-15 09:15:56 +00:00
Goetz Lindenmaier
88216d84a7 8272168: some hotspot runtime/logging tests don't check exit code
Backport-of: 3b899ef7ff
2022-03-15 09:13:38 +00:00
Goetz Lindenmaier
16f75080e6 8269077: TestSystemGC uses "require vm.gc.G1" for large pages subtest
Backport-of: 1a818154cf
2022-03-14 14:16:41 +00:00
Goetz Lindenmaier
d4d334886c 8267163: Rename anonymous loader tests to hidden loader tests
Reviewed-by: mdoerr
Backport-of: 5c21c00441
2022-03-14 14:11:36 +00:00
Aleksey Shipilev
c82e18fe8f 8281168: Micro-optimize VarForm.getMemberName for interpreter
Backport-of: fc77217814
2022-03-14 10:13:26 +00:00
Aleksey Shipilev
5edb982271 8279668: x86: AVX2 versions of vpxor should be asserted
Backport-of: 2bbeae3f05
2022-03-11 14:20:23 +00:00
Aleksey Shipilev
bb8b3c2226 8279958: Provide configure hints for Alpine/apk package managers
Backport-of: a30aa52b77
2022-03-11 14:19:05 +00:00
Goetz Lindenmaier
3c6aecd395 8276657: XSLT compiler tries to define a class with empty name
Backport-of: a093cdddaf
2022-03-11 13:56:06 +00:00
Goetz Lindenmaier
79cce169d4 8276825: hotspot/runtime/SelectionResolution test errors
Backport-of: 55b36c6f3b
2022-03-11 13:52:48 +00:00
Goetz Lindenmaier
972dcde474 8276260: (se) Remove java/nio/channels/Selector/Wakeup.java from ProblemList (win)
Backport-of: fa4ce824a3
2022-03-11 13:51:12 +00:00
Goetz Lindenmaier
535511a85a 8251904: vmTestbase/nsk/sysdict/vm/stress/btree/btree010/btree010.java fails with ClassNotFoundException: nsk.sysdict.share.BTree0LLRLRLRRLR
Backport-of: 7ca053de21
2022-03-11 13:49:35 +00:00
Goetz Lindenmaier
3b5363540a 8268595: java/io/Serializable/serialFilter/GlobalFilterTest.java#id1 failed in timeout
Backport-of: f143d2a88e
2022-03-11 13:47:19 +00:00
Goetz Lindenmaier
fb3ccbcda8 8274244: ReportOnImportedModuleAnnotation.java fails on rerun
Backport-of: c391e59ea6
2022-03-11 13:43:57 +00:00
Goetz Lindenmaier
e2fa3d36f0 8274561: sun/net/ftp/TestFtpTimeValue.java timed out on slow machines
Backport-of: b7b78ff1f3
2022-03-11 13:41:47 +00:00
Goetz Lindenmaier
08084ea140 8274233: Minor cleanup for ToolBox
Backport-of: e741a18062
2022-03-11 13:35:12 +00:00
Goetz Lindenmaier
8197fd4781 8269373: some tests in jdk/tools/launcher/ fails on localized Windows platform
Backport-of: cb112affd6
2022-03-11 13:32:41 +00:00
Martin Doerr
6dcf10b242 8282509: [exploded image] ResolvedClassTest fails with similar output
Backport-of: 7c8ea9f05b
2022-03-11 13:23:58 +00:00
Aleksey Shipilev
863631fa6b 8282225: GHA: Allow one concurrent run per PR only
Backport-of: aaab2cb416
2022-03-10 15:09:29 +00:00
Goetz Lindenmaier
d5e4f03179 8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped
Backport-of: 041ae20b10
2022-03-10 13:57:10 +00:00
Goetz Lindenmaier
feeb4180c8 8272146: Disable Fibonacci test on memory constrained systems
Backport-of: adba09b91d
2022-03-10 13:53:33 +00:00
Martin Doerr
d3dc0cdaf8 8279515: C1: No inlining through invokedynamic and invokestatic call sites when resolved class is not linked
Backport-of: ad34f03b54
2022-03-10 13:52:13 +00:00
Goetz Lindenmaier
d41346927d 8272169: runtime/logging/LoaderConstraintsTest.java doesn't build test.Empty
Backport-of: eb6f3fe59d
2022-03-10 13:50:21 +00:00
Goetz Lindenmaier
f79a4edd69 8271224: runtime/EnclosingMethodAttr/EnclMethodAttr.java doesn't check exit code
Backport-of: 68dd828088
2022-03-10 13:47:43 +00:00
Goetz Lindenmaier
6fb49c330d 8269753: Misplaced caret in PatternSyntaxException's detail message
Backport-of: bb508e1303
2022-03-10 13:41:56 +00:00
Goetz Lindenmaier
eb076ae137 8270336: [TESTBUG] Fix initialization in NonbranchyTree
Backport-of: 3cadc36060
2022-03-10 13:40:32 +00:00
Goetz Lindenmaier
722964b2ab 8269933: test/jdk/javax/net/ssl/compatibility/JdkInfo incorrect verification of protocol and cipher support
Backport-of: 6346793c64
2022-03-10 13:38:13 +00:00
Goetz Lindenmaier
1e25ca92ce 8270837: fix typos in test TestSigParse.java
Backport-of: 67dc1c5bf3
2022-03-10 13:34:12 +00:00
Goetz Lindenmaier
f25a8fc5e1 8270021: Incorrect log decorators in gc/g1/plab/TestPLABEvacuationFailure.java
Backport-of: 4a45d95719
2022-03-10 13:31:44 +00:00
Goetz Lindenmaier
3e7cbd2256 8263538: SharedArchiveConsistency.java should test -Xshare:auto as well
Backport-of: e8206dbb17
2022-03-10 13:28:09 +00:00
Goetz Lindenmaier
97096d8701 8269135: TestDifferentProtectionDomains runs into timeout in client VM
Reviewed-by: clanger
Backport-of: 53ad903a82
2022-03-10 12:38:37 +00:00
Goetz Lindenmaier
ba26525e29 8268906: gc/g1/mixedgc/TestOldGenCollectionUsage.java assumes that GCs take 1ms minimum
Backport-of: a0f32cb140
2022-03-10 12:37:00 +00:00
Goetz Lindenmaier
365e4ced9c 8263461: jdk/jfr/event/gc/detailed/TestEvacuationFailedEvent.java uses wrong mechanism to cause evacuation failure
Reviewed-by: mdoerr
Backport-of: ee0247f056
2022-03-10 12:35:53 +00:00
Andrew Leonard
0d933c9b4f 8275745: Reproducible copyright headers
Backport-of: a0227965bb
2022-03-09 16:39:10 +00:00
Andrew Leonard
673c5850b5 8279182: MakeZipReproducible ZipEntry timestamps not localized to UTC
Backport-of: bc0466c7ca
2022-03-09 16:33:30 +00:00
Martin Doerr
11a5bbd65e 8270468: TestRangeCheckEliminated fails because methods are not compiled
Backport-of: bb82005a81
2022-03-09 10:06:04 +00:00
Martin Doerr
a946f04d2e 8269129: Multiple tier1 tests in hotspot/jtreg/compiler are failing for client VMs
Backport-of: 561a3a5077
2022-03-09 10:05:11 +00:00
Martin Doerr
a15455fae6 8278948: compiler/vectorapi/reshape/TestVectorCastAVX1.java crashes in assembler
Backport-of: f8f9148016
2022-03-08 17:41:58 +00:00
Martin Doerr
eee17fb7b5 8265317: [vector] assert(payload->is_object()) failed: expected 'object' value for scalar-replaced boxed vector but got: NULL
Backport-of: 58b5fb3233
2022-03-08 17:41:00 +00:00
Martin Doerr
f820a3c3da 8278966: two microbenchmarks tests fail "assert(!jvms->method()->has_exception_handlers()) failed: no exception handler expected" after JDK-8275638
Backport-of: e7244c19f4
2022-03-08 17:39:21 +00:00
Martin Doerr
a8775f16d7 8275638: GraphKit::combine_exception_states fails with "matching stack sizes" assert
Backport-of: b9a477bf19
2022-03-08 17:31:55 +00:00
Jim Laskey
ff1ef50a42 8273056: java.util.random does not correctly sample exponential or Gaussian distributions
Backport-of: 3d98ec1b7b
2022-03-08 17:30:47 +00:00
Roman Kennke
e2103de489 8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations
Backport-of: 5ab22e88da
2022-03-08 15:07:33 +00:00
Martin Doerr
91e9344624 8274855: vectorapi tests failing with assert(!vbox->is_Phi()) failed
Backport-of: 5021a12cea
2022-03-07 11:13:18 +00:00
Martin Doerr
ec2c521ca7 8278796: Incorrect behavior of FloatVector.withLane on X86
Backport-of: 8494fec665
2022-03-07 10:55:39 +00:00
Martin Doerr
b3aa42d1ca 8278014: [vectorapi] Remove test run script
Backport-of: 9b3e672059
2022-03-07 10:51:26 +00:00
Martin Doerr
47723c2027 8275830: C2: Receiver downcast is missing when inlining through method handle linkers
Backport-of: 95a3010acf
2022-03-07 10:50:21 +00:00
Martin Doerr
1fc280c2b1 8280123: C2: Infinite loop in CMoveINode::Ideal during IGVN
Backport-of: 3f747368b9
2022-03-07 10:49:34 +00:00
Martin Doerr
3aa5b5100a 8273804: Platform.isTieredSupported should handle the no-compiler case
Backport-of: 46af82e5b0
2022-03-07 10:47:13 +00:00
Dmitry Chuyko
a51a5f03a3 8279560: AArch64: generate_compare_long_string_same_encoding and LARGE_LOOP_PREFETCH alignment
Backport-of: 126328cb62
2022-03-04 13:47:00 +00:00
Martin Doerr
2c480b2c2b 8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist!
Backport-of: 6d7db4b0b3
2022-03-04 09:37:36 +00:00
Martin Doerr
ac19e3e144 8279837: C2: assert(is_Loop()) failed: invalid node class: Region
Backport-of: 65eb066b63
2022-03-04 09:36:43 +00:00
Martin Doerr
9ff24faf1f 8258814: Compilation logging crashes for thread suspension / debugging tests
Backport-of: 35ee0f38c6
2022-03-04 09:35:58 +00:00
Dmitry Chuyko
dd83c4e72d 8268231: Aarch64: Use Ldp in intrinsics for String.compareTo
Backport-of: 6d1d4d5292
2022-03-03 20:36:11 +00:00
Martin Doerr
4631f4ac5f 8275854: C2: assert(stride_con != 0) failed: missed some peephole opt
Backport-of: aea096770e
2022-03-03 09:57:14 +00:00
Martin Doerr
40173515c1 8277906: Incorrect type for IV phi of long counted loops after CCP
Backport-of: 3889af3f7d
2022-03-03 09:56:16 +00:00
Martin Doerr
977e773663 8274983: C1 optimizes the invocation of private interface methods
Reviewed-by: xliu
Backport-of: 21d9ca6cd9
2022-03-03 09:55:29 +00:00
Martin Doerr
23b7f7e7b4 8281043: Intrinsify recursive ObjectMonitor locking for PPC64
Backport-of: 46c6c6f308
2022-03-03 09:54:44 +00:00
Goetz Lindenmaier
02a876f0e7 8282499: Bump update version for OpenJDK: jdk-17.0.4
Reviewed-by: mdoerr
2022-03-02 08:02:23 +00:00
Goetz Lindenmaier
47f29a346c 8277795: ldap connection timeout not honoured under contention
Backport-of: 3d926dd66e
2022-03-01 16:16:25 +00:00
Goetz Lindenmaier
51e7af2e22 8276141: XPathFactory set/getProperty method
Reviewed-by: mbaesken, phh
Backport-of: b226ab99c8
2022-03-01 16:12:48 +00:00
Alexey Pavlyutkin
8e13d2f3e7 8274471: Add support for RSASSA-PSS in OCSP Response
Reviewed-by: mdoerr, goetz
Backport-of: f63c4a832a
2022-03-01 16:08:54 +00:00
Ichiroh Takiguchi
6ce19ed585 8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX
Backport-of: c5c6058fd5
2022-03-01 08:55:37 +00:00
Zdenek Zambersky
c2a62d74a1 8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition
Backport-of: 4c52eb3943
2022-02-28 17:07:35 +00:00
Matthias Baesken
9e9c15037a 8276841: Add support for Visual Studio 2022
Backport-of: f65db88b74
2022-02-28 12:43:30 +00:00
Goetz Lindenmaier
90d83a2250 8272866: java.util.random package summary contains incorrect mixing function in table
Backport-of: e66c8afb59
2022-02-28 11:03:43 +00:00
Mat Carter
fc57ee6d14 8272996: JNDI DNS provider fails to resolve SRV entries when IPV6 stack is enabled
Backport-of: 4c169495a2
2022-02-28 02:07:05 +00:00
Toshio Nakamura
df5a29caf1 8278185: Custom JRE cannot find non-ASCII named module inside
Backport-of: fcd67a5242
2022-02-25 18:30:46 +00:00
Thomas Stuefe
66506527eb 8281460: Let ObjectMonitor have its own NMT category
Backport-of: a037b3c358
2022-02-25 09:46:44 +00:00
Andrew Leonard
56f0c53c59 8278163: --with-cacerts-src variable resolved after GenerateCacerts recipe setup
Reviewed-by: sgehwolf
Backport-of: 45da3aea22
2022-02-23 19:24:17 +00:00
Thomas Stuefe
0c6e662f0a 8277383: VM.metaspace optionally show chunk freelist details
Backport-of: 35361270cb
2022-02-23 18:22:57 +00:00
Thomas Stuefe
9bb8b7fba2 8271721: Split gc/g1/TestMixedGCLiveThreshold into separate tests
Backport-of: 66c653c561
2022-02-23 18:21:42 +00:00
Matthias Baesken
5de8b78504 8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
Backport-of: d3749de478
2022-02-22 15:36:35 +00:00
Jonathan Dowland
f7f0b31648 8270117: Broken jtreg link in "Building the JDK" page
Backport-of: 41a5eb4372
2022-02-21 10:05:46 +00:00
Jonathan Dowland
cf55b1b81d 8279695: [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also
Reviewed-by: mdoerr
Backport-of: 86d0abb66b
2022-02-21 09:20:20 +00:00
Andrew Leonard
f6afde2143 8278080: Add --with-cacerts-src='user cacerts folder' to enable deterministic cacerts generation
Backport-of: dc2abc9f05
2022-02-18 16:38:04 +00:00
Andrew Leonard
63fe16098a 8277762: Allow configuration of HOTSPOT_BUILD_USER
Backport-of: f41e768bba
2022-02-17 18:17:55 +00:00
Alexey Bakhtin
d54675becb 8274524: SSLSocket.close() hangs if it is called during the ssl handshake
Backport-of: 58dae60da0
2022-02-17 13:21:12 +00:00
Matthias Baesken
a59e8cbc0f 8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine
Backport-of: fd8cb2dae8
2022-02-17 12:48:42 +00:00
Matthias Baesken
0e5810d121 8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches
Backport-of: bb74ae87ab
2022-02-16 08:26:37 +00:00
Goetz Lindenmaier
2011c35344 8274562: (fs) UserDefinedFileAttributeView doesn't correctly determine if supported when using OverlayFS
Backport-of: 3d7671b65e
2022-02-15 09:12:18 +00:00
Matthias Baesken
ab3dd202d7 8273655: content-types.properties files are missing some common types
Backport-of: 65ed0a742e
2022-02-15 08:08:43 +00:00
Matthias Baesken
a7010a2fac 8279385: [test] Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344
Backport-of: 01f93ddf18
2022-02-15 07:56:45 +00:00
Matthias Baesken
7833c7d5bf 8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492
Backport-of: c180070cb5
2022-02-15 07:53:20 +00:00
Andrew John Hughes
8207e69aa0 8272541: Incorrect overflow test in Toom-Cook branch of BigInteger multiplication
Backport-of: d1aeca117c
2022-02-14 13:39:08 +00:00
Goetz Lindenmaier
ec1733dac6 8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10
Backport-of: 35172cdaf3
2022-02-14 09:59:43 +00:00
Goetz Lindenmaier
6cee0184f3 8272600: (test) Use native "sleep" in Basic.java
Backport-of: 0a361638c5
2022-02-14 09:56:23 +00:00
Alexey Bakhtin
87010e737c 8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key
Backport-of: f6232982b9
2022-02-14 08:36:04 +00:00
Ana Marsh
2965051f0d 8277299: STACK_OVERFLOW in Java_sun_awt_shell_Win32ShellFolder2_getIconBits
Backport-of: 94127f43a4
2022-02-14 07:34:59 +00:00
Martin Doerr
a5d00fb089 8281061: [s390] JFR runs into assertions while validating interpreter frames
Backport-of: 7f19c70070
2022-02-10 09:27:36 +00:00
Goetz Lindenmaier
f3916545a4 8275330: C2: assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions
Backport-of: 3e798dd40c
2022-02-09 14:13:51 +00:00
Goetz Lindenmaier
5159ffd487 8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently
Backport-of: f1c20e91d8
2022-02-08 10:21:25 +00:00
Goetz Lindenmaier
0965996c5c 8274750: java/io/File/GetXSpace.java failed: '/dev': 191488 != 190976
Backport-of: 13265f9901
2022-02-08 10:14:54 +00:00
Matthias Baesken
bda9cb4469 8273387: remove some unreferenced gtk-related functions
Backport-of: 6eba443428
2022-02-04 16:27:03 +00:00
Bernhard Urban-Forster
c36c1c2213 8279702: [macosx] ignore xcodebuild warnings on M1
Backport-of: 4b520f0001
2022-02-04 14:46:01 +00:00
Dmitry Chuyko
dba064ae10 8277180: Intrinsify recursive ObjectMonitor locking for C2 x64 and A64
Backport-of: d93b238f97
2022-02-03 16:08:11 +00:00
Goetz Lindenmaier
cd730957d0 8277449: compiler/vectorapi/TestLongVectorNeg.java fails with release VMs
Backport-of: b15e6f076a
2022-02-03 08:51:50 +00:00
Goetz Lindenmaier
f7235889bb 8275643: C2's unaryOp vector intrinsic does not properly handle LongVector.neg
Backport-of: 47564caeb0
2022-02-03 08:44:21 +00:00
Goetz Lindenmaier
27cbe247e6 8271056: C2: "assert(no_dead_loop) failed: dead loop detected" due to cmoving identity
Backport-of: 54481394a3
2022-02-03 08:36:53 +00:00
Goetz Lindenmaier
ff3eec181b 8275847: Scheduling fails with "too many D-U pinch points" on small method
Backport-of: 3934fe54b4
2022-02-03 08:34:35 +00:00
Goetz Lindenmaier
5d54bf504e 8274944: AppCDS dump causes SEGV in VM thread while adjusting lambda proxy class info
Reviewed-by: stuefe
Backport-of: e5cd2692da
2022-02-03 08:31:15 +00:00
Goetz Lindenmaier
e459c8cbaa 8275874: [JVMCI] only support aligned reads in c2v_readFieldValue
Backport-of: 2448b3f5f9
2022-02-03 08:28:48 +00:00
Goetz Lindenmaier
0b51fe2bce 8271506: Add ResourceHashtable support for deleting selected entries
Reviewed-by: stuefe
Backport-of: f15d6cbcaf
2022-02-03 08:21:41 +00:00
Paul Hohensee
6cacf9afd9 8278381: [GCC 11] Address::make_raw() does not initialize rspec
Backport-of: 4f594e6a28
2022-02-02 13:25:04 +00:00
Xin Liu
c03b95dc59 8279124: VM does not handle SIGQUIT during initialization
Backport-of: 9bf6ffa19f
2022-02-01 18:06:05 +00:00
Artem Semenov
45002c0e67 8277497: Last column cell in the JTable row is read as empty cell
Reviewed-by: ant, kizune
Backport-of: 70bad89b01
2022-02-01 13:59:52 +00:00
Artem Semenov
592adc85d1 8278604: SwingSet2 table demo does not have accessible description set for images
8278526: [macos] Screen reader reads SwingSet2 JTable row selection as null, dimmed row for last column

Reviewed-by: ant, kizune
Backport-of: 8fbe1724e0
2022-02-01 13:58:53 +00:00
Goetz Lindenmaier
952f9c7159 8275645: [JVMCI] avoid unaligned volatile reads on AArch64
Backport-of: 4dec8fc4cc
2022-02-01 07:47:45 +00:00
Matthias Baesken
869bb36c58 8280414: Memory leak in DefaultProxySelector
Backport-of: fe77250fa4
2022-02-01 07:46:31 +00:00
Goetz Lindenmaier
c5815984ae 8273381: Assert in PtrQueueBufferAllocatorTest.stress_free_list_allocator_vm
Backport-of: c80a612709
2022-02-01 07:45:21 +00:00
Goetz Lindenmaier
cb769c03c1 8269616: serviceability/dcmd/framework/VMVersionTest.java fails with Address already in use error
Backport-of: 8785737ba5
2022-02-01 07:43:09 +00:00
Martin Doerr
ac8a550f9b 8280155: [PPC64, s390] frame size checks are not yet correct
Backport-of: f37bfeadcf
2022-01-31 16:11:41 +00:00
Martin Doerr
22a62791ce 8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks
Backport-of: c809d34f9e
2022-01-31 16:04:31 +00:00
Aleksey Shipilev
7a5a8abe9e 8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1}
Backport-of: a24f44d17d
2022-01-31 08:50:37 +00:00
Aleksey Shipilev
d34650ad39 8279076: C2: Bad AD file when matching SqrtF with UseSSE=0
Backport-of: 9d5ae2e380
2022-01-28 15:55:17 +00:00
Aleksey Shipilev
3bd78751db 8279445: Update JMH devkit to 1.34
Backport-of: 0f98efbf2f
2022-01-28 15:54:26 +00:00
Thomas Stuefe
b23271bd6d 8274753: ZGC: SEGV in MetaspaceShared::link_shared_classes
8274935: dumptime_table has stale entry

Reviewed-by: goetz, phh
Backport-of: 110e38ded8
2022-01-27 13:33:47 +00:00
Dmitry Chuyko
49cf332a25 8251216: Implement MD5 intrinsics on AArch64
Reviewed-by: phh, luhenry
Backport-of: 088b244ec6
2022-01-26 15:23:43 +00:00
Evgeny Astigeevich
9378f2633b 8278241: Implement JVM SpinPause on linux-aarch64
Backport-of: bcb79fd012
2022-01-26 15:07:28 +00:00
Thomas Stuefe
a93e5efee2 8275608: runtime/Metaspace/elastic/TestMetaspaceAllocationMT2 too slow
Backport-of: d6d82f52d4
2022-01-26 08:30:24 +00:00
Aleksey Shipilev
096c31c796 8276057: Update JMH devkit to 1.33
Backport-of: a2f2d8fcf5
2022-01-26 08:12:10 +00:00
Matthias Baesken
0cc9d30292 8275082: Update XML Security for Java to 2.3.0
Backport-of: 2c31a1735d
2022-01-26 08:08:04 +00:00
Goetz Lindenmaier
3d6f3319b6 8177814: jdk/editpad is not in jdk TEST.groups
Backport-of: cfe7471f17
2022-01-25 09:38:36 +00:00
Goetz Lindenmaier
0a1419c592 8253197: vmTestbase/nsk/jvmti/StopThread/stopthrd007/TestDescription.java fails with "ERROR: DebuggeeSleepingThread: ThreadDeath lost"
Backport-of: 9573022978
2022-01-25 09:36:14 +00:00
Goetz Lindenmaier
59d39ef601 8236505: Mark jdk/editpad/EditPadTest.java as @headful
Backport-of: 7acec3f161
2022-01-25 09:19:04 +00:00
Goetz Lindenmaier
28dcaf3c2e 8272553: several hotspot runtime/CommandLine tests don't check exit code
Backport-of: 709b5910c3
2022-01-25 09:16:41 +00:00
Aleksey Shipilev
6315ce3c59 8275687: runtime/CommandLine/PrintTouchedMethods test shouldn't catch RuntimeException
Backport-of: f0136ec945
2022-01-25 09:08:22 +00:00
Matthias Baesken
25a418d526 8278344: sun/security/pkcs12/KeytoolOpensslInteropTest.java test fails because of different openssl output
Backport-of: 8b5ff4bdff
2022-01-25 08:31:39 +00:00
Sergey Bylokhov
55fb592e45 8273972: Multi-core choke point in CMM engine (LCMSTransform.doTransform)
Backport-of: e49e5b5a7e
2022-01-21 21:34:24 +00:00
Aleksey Shipilev
17cdd90f33 8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests
Backport-of: a143372818
2022-01-21 11:31:14 +00:00
Aleksey Shipilev
a39960a40e 8278389: SuspendibleThreadSet::_suspend_all should be volatile/atomic
Backport-of: aec1b039b3
2022-01-21 11:04:06 +00:00
Aleksey Shipilev
7273556e89 8273433: Enable parallelism in vmTestbase_nsk_sysdict tests
Backport-of: 5ca26cbddb
2022-01-21 11:01:28 +00:00
Evgeny Astigeevich
43ddf82214 8277503: compiler/onSpinWait/TestOnSpinWaitAArch64DefaultFlags.java failed with "OnSpinWaitInst with the expected value 'isb' not found."
Reviewed-by: phh
Backport-of: 7b2d823e84
2022-01-20 18:53:08 +00:00
Evgeny Astigeevich
fe1d8e99fa 8277137: Set OnSpinWaitInst/OnSpinWaitInstCount defaults to "isb"/1 for Arm Neoverse N1
Backport-of: 38345bd28d
2022-01-20 18:33:05 +00:00
Goetz Lindenmaier
5e93008d16 Merge
Reviewed-by: clanger
2022-01-20 13:43:00 +00:00
Goetz Lindenmaier
36fc98b071 8273341: Update Siphash to version 1.0
Backport-of: 6cf4cd1aa4
2022-01-19 19:53:35 +00:00
Goetz Lindenmaier
3ca676cd30 8269032: Stringdedup tests are failing if the ergonomically select GC does not support it
Backport-of: 3fc761d97d
2022-01-19 19:48:46 +00:00
Evgeny Astigeevich
c7329f3315 8186670: Implement _onSpinWait() intrinsic for AArch64
Backport-of: 6954b98f8f
2022-01-18 14:36:27 +00:00
Andrew Leonard
761e2989e4 8276766: Enable jar and jmod to produce deterministic timestamped content
8279453: Disable tools/jar/ReproducibleJar.java on 32-bit platforms

Reviewed-by: lancea, clanger
Backport-of: db68a0ce1c
2022-01-18 14:02:34 +00:00
Aleksey Shipilev
d3eb0a2daf 8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
Backport-of: 4d9b3f4cee
2022-01-18 12:12:20 +00:00
Thomas Stuefe
f749fc73c4 8280002: jmap -histo may leak stream
Backport-of: c359c358c8
2022-01-18 05:35:27 +00:00
Andrew Leonard
2137e83dd2 8277069: [REDO] JDK-8276743 Make openjdk build Zip Archive generation "reproducible"
Backport-of: c93552c8bb
2022-01-17 22:51:39 +00:00
Goetz Lindenmaier
69d296d4f8 8279833: Loop optimization issue in String.encodeUTF8_UTF16
Backport-of: c3d0a94040
2022-01-17 20:40:23 +00:00
Goetz Lindenmaier
6f644e0d50 8273277: C2: Move conditional negation into rc_predicate
Backport-of: 710f496456
2022-01-17 20:36:12 +00:00
Goetz Lindenmaier
d1d0b08b9d 8279412: [JVMCI] failed speculations list must outlive any nmethod that refers to it
Backport-of: 1ffdc52cf0
2022-01-15 14:07:24 +00:00
Goetz Lindenmaier
335424492b 8271202: C1: assert(false) failed: live_in set of first block must be empty
Backport-of: 54b800d56d
2022-01-15 14:03:59 +00:00
Goetz Lindenmaier
e9658818ec 8263567: gtests don't terminate the VM safely
Backport-of: 843943c204
2022-01-15 13:59:09 +00:00
Goetz Lindenmaier
e92b2bc0b4 8269206: A small typo in comment in test/lib/sun/hotspot/WhiteBox.java
Backport-of: 2c29d790ca
2022-01-14 14:20:00 +00:00
Thomas Stuefe
84457e5f42 8278309: [windows] use of uninitialized OSThread::_state
Backport-of: 54993b1307
2022-01-14 13:25:58 +00:00
Matthias Baesken
78e21539fe 8274506: TestPids.java and TestPidsLimit.java fail with podman run as root
Backport-of: 94e31e5ca5
2022-01-14 13:00:13 +00:00
Andrew Leonard
fc92adc975 8276764: Enable deterministic file content ordering for Jar and Jmod
Backport-of: 24e586a043
2022-01-14 12:51:30 +00:00
Johannes Bechberger
0130fdcd85 8273967: gtest os.dll_address_to_function_and_library_name_vm fails on macOS12
Reviewed-by: goetz
Backport-of: 92d2176362
2022-01-14 12:46:20 +00:00
Johannes Bechberger
4b5b58df93 8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12
Backport-of: febcc72a54
2022-01-14 12:21:53 +00:00
Martin Doerr
3c279bd42c 8277846: Implement fast-path for ASCII-compatible CharsetEncoders on ppc64
Backport-of: a5f2a58ba4
2022-01-14 10:45:15 +00:00
Matthias Baesken
061bf8fc26 8273526: Extend the OSContainer API pids controller with pids.current
Backport-of: d4546b6b36
2022-01-14 07:45:58 +00:00
Goetz Lindenmaier
f652b448b8 8269849: vmTestbase/gc/gctests/PhantomReference/phantom002/TestDescription.java failed with "OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects"
Backport-of: b7245c6164
2022-01-13 13:53:25 +00:00
Goetz Lindenmaier
2e5c4007b2 8269087: CheckSegmentedCodeCache test fails in an emulated-client VM
Backport-of: 595446bff4
2022-01-13 13:46:44 +00:00
Goetz Lindenmaier
30c263c16b 8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
Backport-of: 6f0e8da6d3
2022-01-13 13:42:17 +00:00
Goetz Lindenmaier
2886a4dc0b 8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
Reviewed-by: phh
Backport-of: b46f0b0b1f
2022-01-13 13:36:38 +00:00
Aleksey Shipilev
8d7a6e5d4b 8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT
Backport-of: bc12381105
2022-01-12 11:46:54 +00:00
Liam Miller-Cushon
75f87528cc 8225559: assertion error at TransTypes.visitApply
Backport-of: de61328d30
2022-01-11 22:11:04 +00:00
Andrew Leonard
9f97c821bd 8276654: element-list order is non deterministic
Backport-of: 14d66bd438
2022-01-11 22:09:58 +00:00
Sergey Nazarkin
68846354bb 8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest
Backport-of: 6613ce64d7
2022-01-11 20:03:25 +00:00
Zhengyu Gu
7f684c31a2 8273682: Upgrade Jline to 3.20.0
Backport-of: b8cb76ad21
2022-01-11 14:15:43 +00:00
Goetz Lindenmaier
d716c2b70c 8278758: runtime/BootstrapMethod/BSMCalledTwice.java fails with release VMs after JDK-8262134
Backport-of: f48a3e86d0
2022-01-11 13:01:04 +00:00
Goetz Lindenmaier
6c0f9742c3 8262134: compiler/uncommontrap/TestDeoptOOM.java failed with "guarantee(false) failed: wrong number of expression stack elements during deopt"
Backport-of: 32139c1a8a
2022-01-11 12:48:49 +00:00
Goetz Lindenmaier
832a570de5 8269037: jsig/Testjsig.java doesn't have to be restricted to linux only
Backport-of: 34ba70a71b
2022-01-11 12:45:54 +00:00
Goetz Lindenmaier
a9b245bb06 8269523: runtime/Safepoint/TestAbortOnVMOperationTimeout.java failed when expecting 'VM operation took too long'
Backport-of: 4f42eb6601
2022-01-11 12:42:15 +00:00
Aleksey Shipilev
e8b4d824ce 8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test
Reviewed-by: clanger
Backport-of: b2638e5efd
2022-01-11 09:16:53 +00:00
Matthias Baesken
ab0ade6f37 8272398: Update DockerTestUtils.buildJdkDockerImage()
Backport-of: ec63957f9d
2022-01-11 07:39:03 +00:00
Zhengyu Gu
db0b611a18 8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
Backport-of: 769f14db84
2022-01-10 15:00:02 +00:00
Aleksey Shipilev
7554d8c1ef 8278020: ~13% variation in Renaissance-Scrabble
Backport-of: 4ba980ba43
2022-01-10 11:48:10 +00:00
Aleksey Shipilev
744d785d59 8279225: [arm32] C1 longs comparison operation destroys argument registers
Backport-of: 299022dfac
2022-01-10 11:47:04 +00:00
Matthias Baesken
3de6b2cb81 8266490: Extend the OSContainer API to support the pids controller of cgroups
Backport-of: 089e83bf1b
2022-01-10 11:21:20 +00:00
Aleksey Shipilev
3d3533a6ea 8279379: GHA: Print tests that are in error
Backport-of: 06f3713271
2022-01-07 11:18:29 +00:00
Jaroslav Bachorik
5ea822c6f7 8278987: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in __write_sample_info__
Backport-of: 713fbeb050
2022-01-06 17:51:30 +00:00
Zhengyu Gu
e54e3c4209 8278627: Shenandoah: TestHeapDump test failed
Reviewed-by: shade
Backport-of: 1128674d7f
2022-01-06 16:12:57 +00:00
William Kemper
3b5fc8ca6a 8278824: Uneven work distribution when scanning heap roots in G1
Reviewed-by: phh
Backport-of: b4b0328d62
2022-01-06 15:55:08 +00:00
Goetz Lindenmaier
de2e289dce 8278239: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine failed with EXCEPTION_ACCESS_VIOLATION at 0x000000000000000d
Backport-of: 2be3e7ef1c
2022-01-06 15:49:43 +00:00
Jaroslav Bachorik
4a188e9112 8277919: OldObjectSample event causing bloat in the class constant pool in JFR recording
Backport-of: 475ec8e6c5
2022-01-06 15:13:24 +00:00
Zhengyu Gu
ca59b640e3 8277342: vmTestbase/nsk/stress/strace/strace004.java fails with SIGSEGV in InstanceKlass::jni_id_for
Backport-of: 09e8c8c64a
2022-01-05 13:36:20 +00:00
Guoxiong Li
9acabebea7 8278104: C1 should support the compiler directive 'BreakAtExecute'
Backport-of: 3c10b5db38
2022-01-05 08:23:52 +00:00
Goetz Lindenmaier
0ccdda46df 8274465: Fix javax/swing/text/ParagraphView/6364882/bug6364882.java failures
Backport-of: bb4500d0d2
2022-01-05 07:32:00 +00:00
Goetz Lindenmaier
775e81de78 8273933: [TESTBUG] Test must run without preallocated exceptions
Backport-of: 4d95a5d6dc
2022-01-05 07:03:48 +00:00
Goetz Lindenmaier
bd280503fb 8278172: java/nio/channels/FileChannel/BlockDeviceSize.java should only run on Linux
Backport-of: 0d938cedca
2022-01-05 07:00:27 +00:00
Goetz Lindenmaier
a471f7a2fa 8275800: Redefinition leaks MethodData::_extra_data_lock
Backport-of: 40606021ee
2022-01-05 06:51:27 +00:00
Goetz Lindenmaier
ccb5f86643 8273634: [TEST_BUG] Improve javax/swing/text/ParagraphView/6364882/bug6364882.java
Backport-of: 67e52a3078
2022-01-05 06:50:15 +00:00
Goetz Lindenmaier
8e6ed88e53 8239502: [TEST_BUG] Test javax/swing/text/FlowView/6318524/bug6318524.java never fails
Backport-of: b7425b63f6
2022-01-05 06:49:09 +00:00
Goetz Lindenmaier
7daca99e01 8275326: C2: assert(no_dead_loop) failed: dead loop detected
Backport-of: 70d5dffb4e
2022-01-05 06:48:28 +00:00
Aleksey Shipilev
256356d4e3 8274130: C2: MulNode::Ideal chained transformations may act on wrong nodes
Reviewed-by: kvn
Backport-of: 756d22c356
2022-01-03 08:31:56 +00:00
Aleksey Shipilev
8ce6877fcf 8279011: JFR: JfrChunkWriter incorrectly handles int64_t chunk size as size_t
Backport-of: 467f654916
2022-01-03 08:31:10 +00:00
Aleksey Shipilev
0a538a08e4 8276662: Scalability bottleneck in SymbolTable::lookup_common()
Backport-of: 1d7cef33c5
2022-01-03 08:29:57 +00:00
Goetz Lindenmaier
38f01a7097 8275536: Add test to check that File::lastModified returns same time stamp as Files.getLastModifiedTime
Backport-of: 97d3280eb4
2021-12-31 13:26:54 +00:00
Goetz Lindenmaier
611a0ea8ed 8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3
Backport-of: a561eac912
2021-12-31 13:23:28 +00:00
Sergey Bylokhov
dcd98215f2 8272167: AbsPathsInImage.java should skip *.dSYM directories
Backport-of: dd93c6e27b
2021-12-29 23:31:06 +00:00
Sergey Bylokhov
493a78af8c 8270874: JFrame paint artifacts when dragged from standard monitor to HiDPI monitor
Backport-of: 03473b4c27
2021-12-29 23:28:12 +00:00
Goetz Lindenmaier
f016e603af 8275610: C2: Object field load floats above its null check resulting in a segfault
Backport-of: 7c6f57fcb1
2021-12-29 09:33:02 +00:00
Goetz Lindenmaier
3adb3dd26e 8278099: two sun/security/pkcs11/Signature tests failed with AssertionError
Backport-of: 669c90e23b
2021-12-29 09:31:15 +00:00
Goetz Lindenmaier
38fdf4f1d2 8276623: JDK-8275650 accidentally pushed "out" file
Backport-of: c62b3476ce
2021-12-29 09:25:01 +00:00
Matthias Baesken
d30b6e44c3 8277328: jdk/jshell/CommandCompletionTest.java failures on Windows
Backport-of: 3955b037da
2021-12-29 07:52:01 +00:00
Goetz Lindenmaier
6aa60ac1df 8277441: CompileQueue::add fails with assert(_last->next() == __null) failed: not last
Backport-of: 90f96fb4db
2021-12-28 16:27:14 +00:00
Goetz Lindenmaier
15f24065e1 8274714: Incorrect verifier protected access error message
Backport-of: e39bdc9ddb
2021-12-28 16:21:53 +00:00
Goetz Lindenmaier
4a38659524 8274658: ISO 4217 Amendment 170 Update
Backport-of: f2404d60de
2021-12-28 16:18:21 +00:00
Bernhard Urban-Forster
5287dae745 8274795: AArch64: avoid spilling and restoring r18 in macro assembler
Reviewed-by: aph
Backport-of: ede3f4e94c
2021-12-28 12:27:24 +00:00
Jie Fu
d8a22d6287 8277777: [Vector API] assert(r->is_XMMRegister()) failed: must be in x86_32.ad
Backport-of: 349328c929
2021-12-27 14:39:10 +00:00
Vladimir Kozlov
81cd594074 8276314: [JVMCI] check alignment of call displacement during code installation
Backport-of: 2f4b5405f0
2021-12-23 16:40:00 +00:00
Zhengyu Gu
9d0bfe1108 8265150: AsyncGetCallTrace crashes on ResourceMark
Backport-of: 267c024eb5
2021-12-22 14:12:01 +00:00
Zhengyu Gu
93234a48ab 8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here"
Reviewed-by: goetz
Backport-of: a907b2b144
2021-12-22 14:10:52 +00:00
Goetz Lindenmaier
c9ebb93cab 8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11
Backport-of: 32895ac609
2021-12-22 11:49:15 +00:00
Goetz Lindenmaier
2cac565b24 8273704: DrawStringWithInfiniteXform.java failed : drawString with InfiniteXform transform takes long time
Backport-of: acceffcbf7
2021-12-22 11:44:18 +00:00
Aleksey Shipilev
83f1749b57 8273162: AbstractSplittableWithBrineGenerator does not create a random salt
Backport-of: 5e1df2c7d7
2021-12-22 11:41:36 +00:00
Aleksey Shipilev
515d412e3a 8273351: bad tag in jdk.random module-info.java
Backport-of: d4177a98c1
2021-12-22 11:38:11 +00:00
Aleksey Shipilev
311bb85014 8247980: Exclusive execution of java/util/stream tests slows down tier1
Backport-of: 544193a3bb
2021-12-22 11:19:51 +00:00
Aleksey Shipilev
79d97c4086 8272327: Shenandoah: Avoid enqueuing duplicate string candidates
Backport-of: ee8bf10d32
2021-12-22 11:18:55 +00:00
Aleksey Shipilev
13d30463f0 8278115: gc/stress/gclocker/TestGCLockerWithSerial.java has duplicate -Xmx
Backport-of: 0fbd2713f1
2021-12-22 07:18:31 +00:00
Aleksey Shipilev
66348799ad 8278116: runtime/modules/LoadUnloadModuleStress.java has duplicate -Xmx
Backport-of: bef5c7a286
2021-12-22 07:17:34 +00:00
Aleksey Shipilev
4b3a9e3a32 8277992: Add fast jdk_svc subtests to jdk:tier3
Backport-of: 30f0c64753
2021-12-22 07:16:35 +00:00
Aleksey Shipilev
cc4a0b1ebf 8278016: Add compiler tests to tier{2,3}
Backport-of: f180a4591f
2021-12-21 17:30:19 +00:00
Aleksey Shipilev
5ea8f4835d 8277385: Zero: Enable CompactStrings support
Backport-of: 3f847fe89a
2021-12-20 11:09:34 +00:00
Aleksey Shipilev
cb06a20947 8275586: Zero: Simplify interpreter initialization
Backport-of: 3613ce7c7d
2021-12-20 11:08:34 +00:00
Vladimir Kempik
c0ab12db5d 8269175: [macosx-aarch64] wrong CPU speed in hs_err file
Backport-of: bcbe3845d9
2021-12-20 08:16:44 +00:00
Goetz Lindenmaier
2e9b2718d0 8278822: Bump update version for OpenJDK: jdk-17.0.3
Reviewed-by: clanger
2021-12-17 07:29:39 +00:00
robm
6f0f42630e Merge 2021-12-07 18:03:22 +00:00
Fairoz Matte
aa11a93537 8277529: SIGSEGV in C2 CompilerThread Node::rematerialize() compiling Packet::readUnsignedTrint
Reviewed-by: thartmann, chagedorn
Backport-of: 01cb2b9883
2021-12-07 12:18:50 +00:00
Evan Whelan
fbb7f2d1cf 8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream
Reviewed-by: dfuchs
Backport-of: 5caa77b043
2021-12-06 13:31:58 +00:00
Aleksey Shipilev
a6c3b5deee 8277981: String Deduplication table is never cleaned up due to bad dead_factor_for_cleanup
Backport-of: 8d7958e469
2021-12-01 21:40:42 +00:00
robm
e80c9fb5ba Merge 2021-11-30 15:40:51 +00:00
Alex Kasko
5406f14a71 8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points
Backport-of: b6876649a8
2021-11-29 13:54:44 +00:00
Matthias Baesken
1e4ec1d1aa 8274265: Suspicious string concatenation in logTestUtils.inline.hpp
Backport-of: c57a6c62ba
2021-11-29 13:08:51 +00:00
Richard Reingruber
cd6234dca1 8274716: JDWP Spec: the description for the Dispose command confuses suspend with resume.
Reviewed-by: sspitsyn
Backport-of: 29dcbb72a2
2021-11-26 09:05:56 +00:00
Anton Tarasov
a1049e87d6 8275720: CommonComponentAccessibility.createWithParent isWrapped causes mem leak
Reviewed-by: kizune
Backport-of: 574f8903ee
2021-11-26 08:44:46 +00:00
Claes Redestad
565ec1aa22 8275863: Use encodeASCII for ASCII-compatible DoubleByte encodings
Backport-of: 6c05cc9d15
2021-11-24 21:05:58 +00:00
Claes Redestad
14a1f2af39 8274242: Implement fast-path for ASCII-compatible CharsetEncoders on x86
Backport-of: aaa36cc006
2021-11-24 20:55:36 +00:00
Evan Whelan
670d73ef2f 8276774: Cookie stored in CookieHandler not sent if user headers contain cookie
Reviewed-by: dfuchs
Backport-of: 03debf2775
2021-11-24 12:18:41 +00:00
robm
d1df469f24 Merge 2021-11-24 09:11:14 +00:00
Alexander Zuev
2f51d80791 8275071: [macos] A11y cursor gets stuck when combobox is closed
Backport-of: 5d249c46ab
2021-11-24 08:31:33 +00:00
Alexander Zuev
e533d7bb54 8264297: Create implementation for NSAccessibilityProgressIndicator protocol peer
Backport-of: 851a362479
2021-11-24 08:30:28 +00:00
Sean Coffey
6da0c63f60 8272859: Javadoc external links should only have feature version number in URL
Backport-of: b94fd32f08
2021-11-24 08:07:23 +00:00
Ramkumar Sunderbabu
79ede93c8b 8271323: [TESTBUG] serviceability/sa/ClhsdbCDSCore.java fails with -XX:TieredStopAtLevel=1
Backport-of: 9bc52afa48
2021-11-24 06:16:24 +00:00
Artem Semenov
865d24c802 8273678: TableAccessibility and TableRowAccessibility miss autorelease
Reviewed-by: kizune, pbansal, ant
Backport-of: 3221a14f9e
2021-11-24 04:29:28 +00:00
Alex Kasko
846bf123f8 8272047: java/nio/channels/FileChannel/Transfer2GPlus.java failed with Unexpected transfer size: 2147418112
Backport-of: b53828b7c2
2021-11-23 22:39:12 +00:00
Anton Tarasov
f1d9e37a69 8275809: crash in [CommonComponentAccessibility getCAccessible:withEnv:]
Reviewed-by: kizune, pbansal
Backport-of: 7c88a59b7b
2021-11-23 22:17:28 +00:00
Anton Tarasov
63981ab764 8275819: [TableRowAccessibility accessibilityChildren] method is ineffective
Reviewed-by: kizune, pbansal
Backport-of: b98ed55060
2021-11-23 21:28:58 +00:00
Alexander Zuev
57e6e61206 8264293: Create implementation for NSAccessibilityMenu protocol peer
8264296: Create implementation for NSAccessibilityPopUpButton protocol peer
8264295: Create implementation for NSAccessibilityMenuItem protocol peer
8264294: Create implementation for NSAccessibilityMenuBar protocol peer

Backport-of: 8f5a8f740b
2021-11-23 17:35:13 +00:00
robm
07eac08b22 Merge 2021-11-23 17:19:42 +00:00
Roger Riggs
857163336f 8277093: Vector should throw ClassNotFoundException for a missing class of an element
Reviewed-by: smarks
2021-11-23 15:24:41 +00:00
Stefan Karlsson
ed45df2ea7 8277212: GC accidentally cleans valid megamorphic vtable inline caches
Backport-of: 976c2bb056
2021-11-23 12:36:57 +00:00
Alex Kasko
c47e23303b 8140241: (fc) Data transfer from FileChannel to itself causes hang in case of overlap
Backport-of: 428d51694f
2021-11-23 12:10:48 +00:00
Alex Kasko
9be7550b47 8272095: ProblemList java/nio/channels/FileChannel/Transfer2GPlus.java on linux-aarch64
Backport-of: f4cf2f7cef
2021-11-23 12:05:51 +00:00
Martin Doerr
d2d734c9eb 8276927: [ppc64] Port shenandoahgc to linux on ppc64le
Reviewed-by: shade
Backport-of: 57eb864765
2021-11-23 10:40:54 +00:00
Sean Coffey
dc7216acab 8275811: Incorrect instance to dispose
Backport-of: cddc6ce446
2021-11-23 10:10:41 +00:00
Prajwal Kumaraswamy
6f2bdc013f 8274736: Concurrent read/close of SSLSockets causes SSLSessions to be invalidated unnecessarily
Backport-of: 8822d41fdc
2021-11-23 10:09:14 +00:00
Jie Fu
d998761ad3 8276139: TestJpsHostName.java not reliable, better to expand HostIdentifierCreate.java test
Backport-of: 2af9e5976f
2021-11-23 09:20:08 +00:00
Artem Semenov
7ffac79187 8277195: missing CAccessibility definition in [CommonComponentAccessibility accessibilityHitTest]
Reviewed-by: ant, kizune, pbansal
2021-11-23 08:20:15 +00:00
Adam Farley
03ef5a9c8c 8273235: tools/launcher/HelpFlagsTest.java Fails on Windows 32bit
Backport-of: fc0fe25679
2021-11-23 07:00:49 +00:00
Guoxiong Li
562cb4a9d5 8274942: AssertionError at jdk.compiler/com.sun.tools.javac.util.Assert.error(Assert.java:155)
Backport-of: 2b02b6f513
2021-11-23 02:17:34 +00:00
Aleksey Shipilev
716eeb06a8 8275226: Shenandoah: Relax memory constraint for worker claiming tasks/ranges
Backport-of: 3b0b6adc3d
2021-11-22 07:43:29 +00:00
Aleksey Shipilev
01a9e635cc 8276864: Update boot JDKs to 17.0.1 in GHA
Reviewed-by: clanger
Backport-of: f561d3c194
2021-11-22 07:04:15 +00:00
Aleksey Shipilev
66c051a9c3 8275426: PretouchTask num_chunks calculation can overflow
Reviewed-by: kbarrett
Backport-of: 60cb27dcda
2021-11-22 07:03:07 +00:00
Sean Coffey
2d69b2d587 8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE
Backport-of: 6bb04626af
2021-11-19 18:14:03 +00:00
Mandy Chung
6aa02d75d9 8275703: System.loadLibrary fails on Big Sur for libraries hidden from filesystem
Reviewed-by: phh
Backport-of: 309acbf0e8
2021-11-19 17:57:35 +00:00
Thomas Schatzl
38db4521c6 8272170: Missing memory barrier when checking active state for regions
Backport-of: 35a831d5a7
2021-11-19 17:42:07 +00:00
Zhengyu Gu
acecce5ab8 8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah
Backport-of: 73e6d7d74d
2021-11-19 15:03:44 +00:00
Jayathirth D V
19201da54c 8276905: Use appropriate macosx_version_minimum value while compiling metal shaders
Backport-of: 9a9a157a7d
2021-11-19 14:46:56 +00:00
Alex Kasko
55f8d8c6bf 8271308: (fc) FileChannel.transferTo() transfers no more than Integer.MAX_VALUE bytes in one call
Backport-of: e2c5bfe083
2021-11-19 14:25:07 +00:00
Alex Kasko
fdcc3f17a4 8233020: (fs) UnixFileSystemProvider should use StaticProperty.userDir().
Backport-of: fd4de1ed40
2021-11-19 14:16:48 +00:00
Thomas Stuefe
0e896e7fde 8277029: JMM GetDiagnosticXXXInfo APIs should verify output array sizes
Backport-of: b8d33a2a4e
2021-11-19 14:14:36 +00:00
Aleksey Shipilev
85f315b656 8272854: split runtime/CommandLine/PrintTouchedMethods.java test
Backport-of: c94dc2ab60
2021-11-19 13:39:43 +00:00
Aleksey Shipilev
397bf9584b 8275604: Zero: Reformat opclabels_data
Backport-of: 724bf3be14
2021-11-19 13:38:52 +00:00
Aleksey Shipilev
687dd87727 8276845: (fs) java/nio/file/spi/SetDefaultProvider.java fails on x86_32
Backport-of: 0f463a7bf7
2021-11-19 13:38:06 +00:00
Aleksey Shipilev
e4cc0c1d0a 8276805: java/awt/print/PrinterJob/CheckPrivilege.java fails due to disabled SecurityManager
Backport-of: fd0a25e62b
2021-11-19 13:37:12 +00:00
Aleksey Shipilev
7326f392ef 8276306: jdk/jshell/CustomInputToolBuilder.java fails intermittently on storage acquisition
Backport-of: 75adf54bdc
2021-11-19 13:36:18 +00:00
Artem Semenov
ddc81f2788 8274383: JNI call of getAccessibleSelection on a wrong thread
Reviewed-by: kizune
Backport-of: b36881fa3b
2021-11-19 12:48:04 +00:00
Artem Semenov
b7c7b84ef2 8271071: accessibility of a table on macOS lacks cell navigation
Reviewed-by: kizune
Backport-of: c0f3e1d6be
2021-11-19 07:46:59 +00:00
Andrew Haley
076941f252 8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions
Reviewed-by: adinn
Backport-of: 4f3b626a36
2021-11-18 11:15:50 +00:00
Zhengyu Gu
f1a8a22f54 8276205: Shenandoah: CodeCache_lock should always be held for initializing code cache iteration
Reviewed-by: shade
Backport-of: 99b7b95e01
2021-11-17 14:30:16 +00:00
Martin Doerr
95573d443b 8268882: C2: assert(n->outcnt() != 0 || C->top() == n || n->is_Proj()) failed: No dead instructions after post-alloc
Backport-of: 0699220830
2021-11-17 11:46:42 +00:00
robm
63517678c8 Merge 2021-11-16 18:05:06 +00:00
Yoshiki Sato
f9eed140be 8275766: (tz) Update Timezone Data to 2021e
8275849: TestZoneInfo310.java fails with tzdata2021e
8276536: Update TimeZoneNames files to follow the changes made by JDK-8275766

Reviewed-by: coffeys
2021-11-16 15:50:55 +00:00
Aleksey Shipilev
816b5cdb3a 8263059: security/infra/java/security/cert/CertPathValidator/certification/ComodoCA.java fails due to revoked cert
Backport-of: 4bc9b04984
2021-11-16 15:32:40 +00:00
Aleksey Shipilev
e5c70af047 8276854: Windows GHA builds fail due to broken Cygwin
Backport-of: 403f3185f0
2021-11-16 14:24:13 +00:00
Ao Qi
e8eec1f909 8273595: tools/jpackage tests do not work on apt-based Linux distros like Debian
Backport-of: f189dff5cb
2021-11-16 12:53:33 +00:00
Alex Kasko
9ff9e62e8e 8271315: Redo: Nimbus JTree renderer properties persist across L&F changes
Backport-of: e43a907f20
2021-11-16 12:05:43 +00:00
Alex Kasko
e7e83d5f1e 8272369: java/io/File/GetXSpace.java failed with "RuntimeException: java.nio.file.NoSuchFileException: /run/user/0"
Backport-of: a68b5b9c1d
2021-11-16 12:00:13 +00:00
Aleksey Shipilev
1d11bcd979 8273486: Zero: Handle DiagnoseSyncOnValueBasedClasses VM option
Reviewed-by: phh
2021-11-16 10:52:28 +00:00
Aleksey Shipilev
95726bf738 8276105: C2: Conv(D|F)2(I|L)Nodes::Ideal should handle rounding correctly
Reviewed-by: aph
Backport-of: 0488ebdf14
2021-11-16 10:51:02 +00:00
Aleksey Shipilev
93d8337c05 8276846: JDK-8273416 is incomplete for UseSSE=1
Reviewed-by: aph
Backport-of: a0b84453b0
2021-11-16 10:49:34 +00:00
Artem Semenov
6f3cd6b30c 8267385: Create NSAccessibilityElement implementation for JavaComponentAccessibility
8262031: Create implementation for NSAccessibilityNavigableStaticText protocol
8264287: Create implementation for NSAccessibilityComboBox protocol peer
8264303: Create implementation for NSAccessibilityTabGroup protocol peer
8264292: Create implementation for NSAccessibilityList protocol peer
8267387: Create implementation for NSAccessibilityOutline protocol
8267388: Create implementation for NSAccessibilityTable protocol
8264286: Create implementation for NSAccessibilityColumn protocol peer
8264298: Create implementation for NSAccessibilityRow protocol peer
8264291: Create implementation for NSAccessibilityCell protocol peer

Reviewed-by: kizune
Backport-of: 9c6457f222
2021-11-16 09:18:12 +00:00
Aleksey Shipilev
7758191d5a 8274521: jdk/jfr/event/gc/detailed/TestGCLockerEvent.java fails when other GC is selected
Backport-of: 0828273b89
2021-11-16 08:10:53 +00:00
Aleksey Shipilev
cc09778008 8268860: Windows-Aarch64 build is failing in GitHub actions
Backport-of: acc3d99535
2021-11-16 08:05:21 +00:00
Aleksey Shipilev
e4425d83ff 8276157: C2: Compiler stack overflow during escape analysis on Linux x86_32
Backport-of: 465d350d0b
2021-11-16 08:04:03 +00:00
Tobias Hartmann
6221d6165f 8276112: Inconsistent scalar replacement debug info at safepoints
Backport-of: c29cab8ab4
2021-11-16 07:19:50 +00:00
Alex Kasko
24c7fe35d2 8268294: Reusing HttpClient in a WebSocket.Listener hangs.
Backport-of: 2d088fa91d
2021-11-15 20:06:56 +00:00
Alex Kasko
b2f4dff716 8269481: SctpMultiChannel never releases own file descriptor
Backport-of: d1cecaaa22
2021-11-15 20:00:59 +00:00
Aleksey Shipilev
c3de885179 8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1}
Backport-of: 89ade1d7e8
2021-11-15 08:50:17 +00:00
Aleksey Shipilev
ff4f5337d8 8274560: JFR: Add test for OldObjectSample event when using Shenandoah
Backport-of: ef0922e885
2021-11-15 08:49:06 +00:00
Alex Kasko
23b4496e6b 8268927: Windows: link error: unresolved external symbol "int __cdecl convert_to_unicode(char const *,wchar_t * *)"
Backport-of: e84461072a
2021-11-12 15:27:50 +00:00
Alex Kasko
a1036efea5 8274606: Fix jaxp/javax/xml/jaxp/unittest/transform/SurrogateTest.java test
Backport-of: 7eb0372e55
2021-11-12 15:25:43 +00:00
Sergey Nazarkin
193c7f12a8 8274501: c2i entry barriers read int as long on AArch64
Backport-of: f08180f35f
2021-11-12 07:19:07 +00:00
Sandhya Viswanathan
3e349b4366 8276025: Hotspot's libsvml.so may conflict with user dependency
Reviewed-by: kvn
Backport-of: 9ad4d3d06b
2021-11-11 01:13:47 +00:00
Andrew John Hughes
58a6dae99b 8275872: Sync J2DBench run and analyze Makefile targets with build.xml
Backport-of: f1f5e2690c
2021-11-10 18:30:06 +00:00
Alex Kasko
7aaad161e6 8238649: Call new Win32 API SetThreadDescription in os::set_native_thread_name
Backport-of: 9f3c7e74ff
2021-11-10 10:56:18 +00:00
Aleksey Shipilev
16a191c56e 8261579: AArch64: Support for weaker memory ordering in Atomic
Reviewed-by: aph
Backport-of: a97715755d
2021-11-10 09:56:40 +00:00
Sandhya Viswanathan
89a03fef74 8273450: Fix the copyright header of SVML files
Backport-of: d7efd0e8cf
2021-11-10 01:59:17 +00:00
Andrew John Hughes
6bb5494726 8276572: Fake libsyslookup.so library causes tooling issues
Backport-of: a472433209
2021-11-10 01:55:32 +00:00
Aleksey Shipilev
4eeefb49b1 8275666: serviceability/jvmti/GetObjectSizeClass.java shouldn't have vm.flagless
Backport-of: cea3f01046
2021-11-09 15:55:47 +00:00
Aleksey Shipilev
ed48774b07 8274523: java/lang/management/MemoryMXBean/MemoryTest.java test should handle Shenandoah
Backport-of: f8415a9b2f
2021-11-09 15:54:45 +00:00
Aleksey Shipilev
acd939e8ee 8274522: java/lang/management/ManagementFactory/MXBeanException.java test fails with Shenandoah
Backport-of: c0533ef2d8
2021-11-09 15:53:57 +00:00
Aleksey Shipilev
0b52b9d6b2 8276550: Use SHA256 hash in build.tools.depend.Depend
Backport-of: afb502e28a
2021-11-09 15:52:43 +00:00
robm
7349d64f8e Merge 2021-11-09 15:49:07 +00:00
Alex Kasko
05ad02f8e2 8268284: javax/swing/JComponent/7154030/bug7154030.java fails with "Exception: Failed to hide opaque button"
Backport-of: 534f00510e
2021-11-09 14:17:09 +00:00
Ilarion Nakonechnyy
143cc644ca 8273026: Slow LoginContext.login() on multi threading application
Backport-of: c0cda1db4f
2021-11-09 14:05:21 +00:00
Alex Kasko
aadd484d62 8271895: UnProblemList javax/swing/JComponent/7154030/bug7154030.java in JDK18
Backport-of: 7728423f8a
2021-11-09 14:00:16 +00:00
Alexey Pavlyutkin
43ae1796b4 8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS
Backport-of: 6750c34c92
2021-11-09 13:21:06 +00:00
Zhengyu Gu
7176520d44 8276201: Shenandoah: Race results degenerated GC to enter wrong entry point
Backport-of: dbf5100dd7
2021-11-09 13:00:14 +00:00
Yi Yang
e829c856b7 8273021: C2: Improve Add and Xor ideal optimizations
Backport-of: a73c06de2a
2021-11-05 16:28:32 +00:00
Yi Yang
dc93934a4e 8270901: Typo PHASE_CPP in CompilerPhaseType
Backport-of: 072fe486c9
2021-11-05 16:14:16 +00:00
Zhengyu Gu
6c86a4176b 8274338: com/sun/jdi/RedefineCrossEvent.java failed "assert(m != __null) failed: NULL mirror"
Backport-of: 172aed1a2d
2021-11-05 14:06:55 +00:00
Alex Kasko
e160532418 8272345: macos doesn't check os::set_boot_path() result
Backport-of: bd27bb9cbe
2021-11-05 12:31:12 +00:00
Alex Kasko
6d63a86cd9 8272114: Unused _last_state in osThread_windows
Backport-of: 11cddd3261
2021-11-05 12:04:18 +00:00
Alex Kasko
a3843775fe 8268626: Remove native pre-jdk9 support for jtreg failure handler
Backport-of: 2e70bc35df
2021-11-05 11:50:35 +00:00
Alex Kasko
9a2c123ddf 4819544: SwingSet2 JTable Demo throws NullPointerException
Backport-of: 64d18d45ef
2021-11-05 11:40:46 +00:00
Alex Kasko
0ab99ed0dd 8268457: XML Transformer outputs Unicode supplementary character incorrectly to HTML
Backport-of: 83bce94cc8
2021-11-05 11:37:27 +00:00
Alex Kasko
a834b58377 8269269: [macos11] SystemIconTest fails with ClassCastException
Backport-of: eab959cbfa
2021-11-05 11:32:12 +00:00
Alex Kasko
23326d5f22 8266510: Nimbus JTree default tree cell renderer does not use selected text color
Backport-of: ecd445562f
2021-11-05 11:28:41 +00:00
Alex Kasko
00fed20ff4 8269637: javax/swing/JFileChooser/FileSystemView/SystemIconTest.java fails on windows
Backport-of: a033866d78
2021-11-05 11:21:53 +00:00
Alex Kasko
9f3c840ea0 8268361: Fix the infinite loop in next_line
Backport-of: 72672277e4
2021-11-05 11:19:23 +00:00
Alex Kasko
4003db8f86 8268464: Remove dependancy of TestHttpsServer, HttpTransaction, HttpCallback from open/test/jdk/sun/net/www/protocol/https/ tests
Backport-of: 7621fa37ef
2021-11-05 11:12:35 +00:00
Alex Kasko
229cb350b0 8269216: Useless initialization in com/sun/crypto/provider/PBES2Parameters.java
Backport-of: e515873f88
2021-11-05 11:09:16 +00:00
Alex Kasko
de474887ea 8270290: NTLM authentication fails if HEAD request is used
Backport-of: 3e0d7c33d4
2021-11-05 11:01:41 +00:00
Jie Fu
802844ae73 8276066: Reset LoopPercentProfileLimit for x86 due to suboptimal performance
Backport-of: 0ab910d626
2021-11-05 03:10:34 +00:00
robm
f63d56502e Merge 2021-11-02 18:08:34 +00:00
robm
dc66c34326 Merge 2021-11-02 15:55:17 +00:00
Mandy Chung
a0899bfbe1 8274848: LambdaMetaFactory::metafactory on REF_invokeSpecial impl method has incorrect behavior
Backport-of: 21da218387
2021-11-01 23:07:13 +00:00
Ekaterina Vergizova
583844a4b2 8275302: unexpected compiler error: cast, intersection types and sealed
Backport-of: fd10f1996e
2021-11-01 14:20:39 +00:00
Erik Joelsson
0364737d31 8276122: Change openjdk project in jcheck to jdk-updates
Reviewed-by: iris, kcr
2021-10-29 16:13:44 +00:00
Christoph Langer
25bfea613b 8276130: Fix Github Actions of JDK17u to account for update version scheme
Reviewed-by: stuefe
2021-10-29 07:28:22 +00:00
Olga Mikhaltsova
22f15137e8 8273575: memory leak in appendBootClassPath(), paths must be deallocated
Backport-of: 74ffe12267
2021-10-28 20:40:37 +00:00
Ao Qi
38bfd62bd4 8273965: some testlibrary_tests/ir_framework tests fail when c1 disabled
Backport-of: 517405e462
2021-10-28 20:39:50 +00:00
Thejasvi Voniadka
f0fb814cd3 8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently
Backport-of: 633eab23f0
2021-10-28 20:38:48 +00:00
Ao Qi
08cee6f5cd 8275104: IR framework does not handle client VM builds correctly
Backport-of: 1da5e6b0e2
2021-10-28 20:37:30 +00:00
Saravana Kumar Vijayasekaran
8cf3c0c484 8276076: Updating RE Configs for BUILD REQUEST 17.0.2+3
Reviewed-by: kcr, erikj
2021-10-27 20:59:07 +00:00
robm
127d5cb107 Merge 2021-10-26 18:28:12 +01:00
Alexey Pavlyutkin
ccfe697f23 8190753: (zipfs): Accessing a large entry (> 2^31 bytes) leads to a negative initial size for ByteArrayOutputStream
Backport-of: c3d8e9228d
2021-10-26 15:12:54 +00:00
Evan Whelan
a1dc595517 8274779: HttpURLConnection: HttpClient and HttpsClient incorrectly check request method when set to POST
Backport-of: 45ce06c9f3
2021-10-26 13:26:22 +00:00
Ilarion Nakonechnyy
80077e5719 8272305: several hotspot runtime/modules don't check exit codes
Backport-of: b2c272d4e2
2021-10-25 15:27:55 +00:00
Ilarion Nakonechnyy
c7b9f9eed7 8272391: Undeleted debug information
Backport-of: e4766ee0aa
2021-10-25 15:26:58 +00:00
Ilarion Nakonechnyy
15964f0f46 8272335: runtime/cds/appcds/MoveJDKTest.java doesn't check exit codes
Backport-of: 75a06421e5
2021-10-25 15:26:13 +00:00
Ilarion Nakonechnyy
e85351d15b 8271215: Fix data races in G1PeriodicGCTask
Backport-of: f2c359a882
2021-10-25 15:24:52 +00:00
Naoto Sato
031c033f31 8275145: file.encoding system property has an incorrect value on Windows
Reviewed-by: iris
2021-10-23 00:47:56 +00:00
Ravi Reddy
90273f3dca 8251329: (zipfs) Files.walkFileTree walks infinitely if zip has dir named "." inside
Reviewed-by: lancea
Backport-of: 3e3051e2ee
2021-10-21 08:21:37 +00:00
Alexey Bakhtin
844d8bf88c 8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC
Backport-of: 5ba0d09fe4
2021-10-21 07:40:33 +00:00
Alexey Bakhtin
facbabb203 8270946: X509CertImpl.getFingerprint should not return the empty String
Backport-of: fc80a6b493
2021-10-21 07:37:14 +00:00
Matthias Baesken
c89e8ba4a9 8273808: Cleanup AddFontsToX11FontPath
Backport-of: 35f6f1d69f
2021-10-20 15:26:28 +00:00
robm
20f3576cd1 Merge 2021-10-19 17:41:57 +01:00
Martin Doerr
0edff7e0f2 8274851: [ppc64] Port zgc to linux on ppc64le
Backport-of: 337b73a459
2021-10-19 15:01:13 +00:00
robm
6bbdfe028e Merge 2021-10-19 12:06:57 +01:00
Ekaterina Vergizova
ee02c64267 8274347: Passing a *nested* switch expression as a parameter causes an NPE during compile
Backport-of: b870468bdc
2021-10-18 10:06:18 +00:00
Ekaterina Vergizova
6081dcaaa0 8273234: extended 'for' with expression of type tvar causes the compiler to crash
Backport-of: 8c37909274
2021-10-18 09:57:53 +00:00
Martin Doerr
8cb963440d 8275049: [ZGC] missing null check in ZNMethod::log_register
Backport-of: cf828673a9
2021-10-18 09:35:56 +00:00
Martin Doerr
451611ff16 8274401: C2: GraphKit::load_array_element bypasses Access API
Backport-of: a8210c53e7
2021-10-18 09:35:08 +00:00
Martin Doerr
61a56e325c 8274770: [PPC64] resolve_jobject needs a generic implementation to support load barriers
Backport-of: e16b93ad52
2021-10-18 09:34:20 +00:00
Martin Doerr
b0e49bb956 8271855: [TESTBUG] Wrong weakCompareAndSet assumption in UnsafeIntrinsicsTest
Backport-of: c4d115701d
2021-10-18 09:33:29 +00:00
Martin Doerr
8b62d546f8 8274550: c2i entry barriers read int as long on PPC
Backport-of: 5e4b514e6e
2021-10-18 09:32:48 +00:00
Martin Doerr
6dbb3d0cba 8274773: [TESTBUG] UnsafeIntrinsicsTest intermittently fails on weak memory model platform
Backport-of: 49f8ce6e9c
2021-10-18 09:31:59 +00:00
Ilarion Nakonechnyy
efdf41167e 8272720: Fix the implementation of loop unrolling heuristic with LoopPercentProfileLimit
Backport-of: 1ea437a4b8
2021-10-18 09:18:50 +00:00
Phil Race
ddb89c3573 8275131: Exceptions after a touchpad gesture on macOS
Backport-of: 89999f70e0
2021-10-17 15:47:35 +00:00
Zhengyu Gu
01f4883cd5 8275051: Shenandoah: Correct ordering of requested gc cause and gc request flag
Backport-of: 1ab64143c0
2021-10-17 13:16:23 +00:00
Zhengyu Gu
9751b8f05b 8273614: Shenandoah: intermittent timeout with ConcurrentGCBreakpoint tests
Backport-of: 3f07337722
2021-10-17 13:15:13 +00:00
Harold Seigel
aabc4ba0ee 8273505: runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl crashed with SIGSEGV in MetaspaceShared::link_shared_classes
Reviewed-by: ccheung
Backport-of: a67f0f9dc0
2021-10-14 12:39:30 +00:00
Harold Seigel
e79cb9ce4b 8274840: Update OS detection code to recognize Windows 11
Backport-of: 97ea9dd2f2
2021-10-14 12:35:31 +00:00
Yoshiki Sato
bbcb0729fa 8274407: (tz) Update Timezone Data to 2021c
8274467: TestZoneInfo310.java fails with tzdata2021b
8274468: TimeZoneTest.java fails with tzdata2021b

Reviewed-by: coffeys
2021-10-13 10:28:16 +00:00
Goetz Lindenmaier
47c129db49 8269656: The test test/langtools/tools/javac/versions/Versions.java has duplicate test cycles
Backport-of: 04b73bc4e0
2021-10-13 05:03:24 +00:00
Goetz Lindenmaier
cbd82dbb6b 8137101: [TEST_BUG] javax/swing/plaf/basic/BasicHTML/4251579/bug4251579.java failure due to timing
Reviewed-by: mdoerr
Backport-of: dcdb1b6aaa
2021-10-13 05:01:18 +00:00
Pavel Kharskii
ed7bdf7114 8275141: recover corrupted line endings for the version-numbers.conf
Reviewed-by: jwilhelm
2021-10-12 15:38:37 +00:00
pavel_kharskii
e46f05b06f 8275110: Correct RE Configs for CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
Reviewed-by: vaibhav, jwilhelm
2021-10-12 13:11:59 +00:00
bobpengxie
54a86bb7cf 8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated
Backport-of: 252aaa9249
2021-10-12 11:32:50 +00:00
Ao Qi
59ecf3c456 8270517: Add Zero support for LoongArch
Backport-of: e92e2fd4e0
2021-10-12 09:26:41 +00:00
Matthias Baesken
e6f9d19c87 8273176: handle latest VS2019 in abstract_vm_version
Backport-of: 0e14bf70cf
2021-10-12 07:56:29 +00:00
Tobias Hartmann
1a159cade8 8274145: C2: condition incorrectly made redundant with dominating main loop exit condition
Backport-of: 2aacd4220a
2021-10-12 06:02:57 +00:00
Tobias Hartmann
1cc972f34e 8271459: C2: Missing NegativeArraySizeException when creating StringBuilder with negative capacity
Reviewed-by: chagedorn
Backport-of: 3953e0774c
2021-10-12 06:02:15 +00:00
Tobias Hartmann
e09f6c9337 8272562: C2: assert(false) failed: Bad graph detected in build_loop_late
Backport-of: 980c50dc60
2021-10-12 05:59:05 +00:00
Mat Carter
df332ff6e8 8267256: Extend minimal retry for loopback connections on Windows to PlainSocketImpl
Reviewed-by: clanger
2021-10-12 05:17:46 +00:00
Jayathirth D V
b76b89eca5 8274096: Improve decoding of image files
Backport-of: 62ce0cd73a2dc0c7e3e65783a2707a0984ba4acf
2021-10-12 03:50:02 +00:00
Jie Fu
c5a871cde4 8275008: gtest build failure due to stringop-overflow warning with gcc11
Backport-of: c55dd365e3
2021-10-12 02:29:51 +00:00
Tobias Hartmann
500ed35c8d 8274406: RunThese30M.java failed "assert(!LCA_orig->dominates(pred_block) || early->dominates(pred_block)) failed: early is high enough"
Backport-of: dfc557cbea
2021-10-11 11:51:28 +00:00
Yi Yang
f3cc4aacd8 8273790: Potential cyclic dependencies between Gregorian and CalendarSystem
Backport-of: ddc262746a
2021-10-11 09:10:37 +00:00
Tobias Hartmann
548d49586b 8274074: SIGFPE with C2 compiled code with -XX:+StressGCM
Backport-of: b0983df5a4
2021-10-11 08:16:13 +00:00
Matthias Baesken
9792699a12 8271142: package help is not displayed for missing X11/extensions/Xrandr.h
Backport-of: b7f75c0a73
2021-10-11 06:49:27 +00:00
Jie Fu
8571ae43a1 8274329: Fix non-portable HotSpot code in MethodMatcher::parse_method_pattern
Backport-of: c833b4d130
2021-10-09 11:49:21 +00:00
Jie Fu
4ce49e6e4e 8274325: C4819 warning at vm_version_x86.cpp on Windows after JDK-8234160
Backport-of: 7426fd4c9c
2021-10-09 11:45:06 +00:00
Martin Doerr
bf3117fd23 8274642: jdk/jshell/CommandCompletionTest.java fails with NoSuchElementException after JDK-8271287
Backport-of: 47262670f3
2021-10-08 09:51:11 +00:00
Sean Coffey
f89c59f9d1 8273826: Correct Manifest file name and NPE checks
Backport-of: 03a8d342b8
2021-10-08 09:50:09 +00:00
Joakim Nordström
b70e4998a3 8273229: Update OS detection code to recognize Windows Server 2022
Reviewed-by: kevinw
Backport-of: c2e015c3c1
2021-10-08 08:22:06 +00:00
Sean Coffey
aae2ae3cfb 8270392: Improve String constructions
Backport-of: bfa21d073b1e301919bbe1f46fa4182958f458f0
2021-10-07 14:24:48 +00:00
Ekaterina Vergizova
14e6913ab2 8269113: Javac throws when compiling switch (null)
Backport-of: 1887028408
2021-10-07 12:53:30 +00:00
Ekaterina Vergizova
d13334d5ee 8268885: duplicate checkcast when destination type is not first type of intersection type
Backport-of: dd1209e4ae
2021-10-07 12:48:20 +00:00
Ekaterina Vergizova
ccb20347de 8262095: NPE in Flow$FlowAnalyzer.visitApply: Cannot invoke getThrownTypes because tree.meth.type is null
Backport-of: 75d987a0dd
2021-10-07 12:46:09 +00:00
Christoph Langer
9ef6d5b26c 8273229: Update OS detection code to recognize Windows Server 2022
Backport-of: c2e015c3c1
2021-10-07 11:22:53 +00:00
Robbin Ehn
2243fd63a0 8273695: Safepoint deadlock on VMOperation_lock
Reviewed-by: dholmes
Backport-of: 7957994273
2021-10-07 10:51:15 +00:00
Aleksey Shipilev
9b3b88e208 8272856: DoubleFlagWithIntegerValue uses G1GC-only flag
Backport-of: 6ace805f8c
2021-10-07 06:58:05 +00:00
Aleksey Shipilev
e1847fca11 8273489: Zero: Handle UseHeavyMonitors on all monitorenter paths
Backport-of: e3bda63ce2
2021-10-07 06:56:49 +00:00
Thomas Stuefe
9352fa23a3 8273958: gtest/MetaspaceGtests executes unnecessary tests in debug builds
Backport-of: bb9d142759
2021-10-07 04:19:39 +00:00
Harold Seigel
a73ddce8e6 8273342: Null pointer dereference in classFileParser.cpp:2817
Backport-of: 8609ea55ac
2021-10-06 13:46:06 +00:00
Evan Whelan
b1f8775f6b 8264934: Enhance cross VM serialization
Reviewed-by: rriggs
Backport-of: 4369957f6699993d94481c766348fb554d53cd6d
2021-10-05 13:42:21 +00:00
robm
c169cd69d2 Merge 2021-10-05 12:52:44 +01:00
Aleksey Shipilev
393547b2a2 8272846: Move some runtime/Metaspace/elastic/ tests out of tier1
Backport-of: ebd62bc043
2021-10-05 10:32:59 +00:00
Aleksey Shipilev
f886e8589e 8272703: StressSeed should be set via FLAG_SET_ERGO
Backport-of: 66ce09f51e
2021-10-05 08:27:07 +00:00
Aleksey Shipilev
894767d0fe 8273376: Zero: Disable vtable/itableStub gtests
Backport-of: a522d6b53c
2021-10-05 07:30:32 +00:00
Aleksey Shipilev
09370c3f50 8273487: Zero: Handle "zero" variant in runtime tests
Backport-of: 8c16f485b3
2021-10-05 07:28:30 +00:00
David Holmes
328358a4e5 8274349: ForkJoinPool.commonPool() does not work with 1 CPU
Backport-of: 2e542e33b8
2021-10-05 07:06:58 +00:00
Aleksey Shipilev
5e90da94f4 8274083: Update testing docs to mention tiered testing
Backport-of: 971aa353aa
2021-10-04 14:54:12 +00:00
Aleksey Shipilev
973911e9a5 8273314: Add tier4 test groups
Backport-of: 1f8af524ff
2021-10-04 14:53:23 +00:00
Aleksey Shipilev
2a4b0425da 8273318: Some containers/docker/TestJFREvents.java configs are running out of memory
Backport-of: 7d24a33421
2021-10-04 12:36:41 +00:00
Aleksey Shipilev
b002cc94cc 8273315: Parallelize and increase timeouts for java/foreign/TestMatrix.java test
Backport-of: dc33bd8b6c
2021-10-04 12:36:00 +00:00
Aleksey Shipilev
1e9126a627 8272836: Limit run time for java/lang/invoke/LFCaching tests
Backport-of: a3308af060
2021-10-04 12:35:16 +00:00
Aleksey Shipilev
609c919ffc 8273894: ConcurrentModificationException raised every time ReferralsCache drops referral
Backport-of: 2166ed1369
2021-10-04 12:34:45 +00:00
Aleksey Shipilev
e6675c789c 8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly
Backport-of: 09ecb11927
2021-10-04 12:33:59 +00:00
Aleksey Shipilev
88d2053798 8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java
Backport-of: 1c5de8b86b
2021-10-04 12:33:08 +00:00
Aleksey Shipilev
94ec379c3b 8273335: compiler/blackhole tests should not run with interpreter-only VMs
Backport-of: 4d25e6f6c7
2021-10-04 12:32:20 +00:00
Aleksey Shipilev
3cc4dc2261 8273483: Zero: Clear pending JNI exception check in native method handler
Backport-of: aa9311182a
2021-10-04 12:31:32 +00:00
Aleksey Shipilev
9c6178906b 8273440: Zero: Disable runtime/Unsafe/InternalErrorTest.java
Backport-of: 286a1f6b7c
2021-10-04 12:30:46 +00:00
Aleksey Shipilev
82788f2fe9 8273333: Zero should warn about unimplemented -XX:+LogTouchedMethods
Backport-of: 81c719be39
2021-10-04 12:30:03 +00:00
Aleksey Shipilev
d59e97da00 8273606: Zero: SPARC64 build fails with si_band type mismatch
Backport-of: 241ac89f12
2021-10-04 12:24:41 +00:00
Aleksey Shipilev
b5d40609b7 8273373: Zero: Cannot invoke JVM in primordial threads on Zero
Backport-of: 0f31d0fb2c
2021-10-04 11:55:24 +00:00
Ekaterina Vergizova
c5446c191d 8274435: EXCEPTION_ACCESS_VIOLATION in BFSClosure::closure_impl
Backport-of: c05dc268ac
2021-10-04 11:38:15 +00:00
Aleksey Shipilev
32678f7d42 8272914: Create hotspot:tier2 and hotspot:tier3 test groups
Backport-of: 5ee5dd9b18
2021-10-04 10:41:49 +00:00
Aleksey Shipilev
58487fb0de 8273361: InfoOptsTest is failing in tier1
Backport-of: 267c61a16a
2021-10-04 10:13:40 +00:00
Thejasvi Voniadka
24903860dd 8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected"
Backport-of: 71788c69db
2021-10-01 12:12:18 +00:00
Christian Hagedorn
268c015925 8272014: Better array indexing
Reviewed-by: thartmann
Backport-of: 937c31d896d05aa24543b74e98a2ea9f05b5d86f
2021-10-01 07:06:17 +00:00
Aleksey Shipilev
c136c188b5 8273378: Shenandoah: Remove the remaining uses of os::is_MP
Backport-of: fc546d6de9
2021-10-01 06:25:41 +00:00
Sergey Bylokhov
845494aa6e 8273887: [macos] java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java timed out
Backport-of: 1bd11a7f2c
2021-09-30 19:37:07 +00:00
Severin Gehwolf
de6899b66e 8273935: (zipfs) Files.getFileAttributeView() throws UOE instead of returning null when view not supported
Backport-of: 161fdb4afb
2021-09-30 18:25:45 +00:00
Guoxiong Li
91dd244f34 8266239: Some duplicated javac command-line options have repeated effect
Backport-of: d05494f98b
2021-09-30 17:08:49 +00:00
Phil Race
c26cd97cb7 8274326: [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m
Backport-of: 2cffe4c8e0
2021-09-30 16:50:31 +00:00
Artem Semenov
a9981fb0ff 8274381: missing CAccessibility definitions in JNI code
Reviewed-by: ant
Backport-of: be40373745
2021-09-30 10:36:50 +00:00
jovanstevanovic
20afdfdcfe 8273278: Support XSLT on GraalVM Native Image--deterministic bytecode generation in XSLT
Backport-of: f690a01f1e
2021-09-30 04:58:46 +00:00
Sergey Bylokhov
cdd4075663 8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7
Backport-of: 1017a2c2d7
2021-09-29 22:28:48 +00:00
Andy Herrick
2586eb08b1 8274087: Windows DLL path not set correctly.
Backport-of: f36a2bbd15
2021-09-29 21:34:06 +00:00
Andy Herrick
d6d5a9a538 8271170: Add unit test for what jpackage app launcher puts in the environment
Backport-of: 44f137ff9c
2021-09-29 21:31:11 +00:00
Rajat Mahajan
a7028380c8 8270116: Expand ButtonGroupLayoutTraversalTest.java to run in all LaFs, including Aqua on macOS
Backport-of: cb36880281
2021-09-29 17:35:19 +00:00
Ravi Reddy
592542fb28 8270492: Better resolution of URIs
Backport-of: ceda336a2ddea62e2ff8df653f54e08d45fc197a
2021-09-29 14:35:52 +00:00
Tobias Hartmann
84f6cb4ae4 8273498: compiler/c2/Test7179138_1.java timed out
Reviewed-by: chagedorn
Backport-of: c81690d716
2021-09-29 13:08:57 +00:00
Yoshiki Sato
c4b3d62c7f 8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add()
Backport-of: d39aad9230
2021-09-29 13:04:44 +00:00
Tobias Hartmann
f4a0b13d86 8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java
Backport-of: 99fb12c798
2021-09-29 06:26:06 +00:00
Tobias Hartmann
fd81865b96 8273359: CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size
Backport-of: f7e9f56e23
2021-09-29 06:25:01 +00:00
Tobias Hartmann
962f3937b6 8244675: assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines()))
Backport-of: 28ba78e647
2021-09-29 06:23:40 +00:00
Tobias Hartmann
7298db5b38 8223923: C2: Missing interference with mismatched unsafe accesses
Backport-of: 86add21a85
2021-09-29 06:21:50 +00:00
Tobias Hartmann
6141fccd19 8271600: C2: CheckCastPP which should closely follow Allocate is sunk of a loop
Backport-of: 2ff4c01d42
2021-09-29 06:19:25 +00:00
Tobias Hartmann
5761056e3a 8270886: Crash in PhaseIdealLoop::verify_strip_mined_scheduling
Backport-of: 6afcf5f5a2
2021-09-29 06:18:27 +00:00
Tobias Hartmann
e4bf9f9014 8271340: Crash PhaseIdealLoop::clone_outer_loop
Backport-of: 2abf3b3b27
2021-09-29 06:16:39 +00:00
Tobias Hartmann
23fa88b18b 8272413: Incorrect num of element count calculation for vector cast
Backport-of: 7e662e7b9d
2021-09-29 06:14:46 +00:00
Tobias Hartmann
2b393f9263 8272574: C2: assert(false) failed: Bad graph detected in build_loop_late
Backport-of: 16c3ad1ff4
2021-09-29 06:12:42 +00:00
Tobias Hartmann
da77acb8f2 8271954: C2: assert(false) failed: Bad graph detected in build_loop_late
Backport-of: c86e24d4be
2021-09-29 06:10:58 +00:00
Tobias Hartmann
056eca0c2d 8273165: GraphKit::combine_exception_states fails with "matching stack sizes" assert
Backport-of: 632a7e0885
2021-09-29 06:08:59 +00:00
Tobias Hartmann
ff3e90f5cd 8272570: C2: crash in PhaseCFG::global_code_motion
Backport-of: 0f428ca533
2021-09-29 06:04:22 +00:00
Guoxiong Li
108e1bd1e8 8271254: javac generates unreachable code when using empty semicolon statement
Backport-of: fe89dd3b0d
2021-09-29 05:21:55 +00:00
Guoxiong Li
dd705127be 8273408: java.lang.AssertionError: typeSig ERROR on generated class property of record
Backport-of: e07ab82ee5
2021-09-29 05:20:14 +00:00
Thejasvi Voniadka
c2d1db9c50 8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character
Backport-of: 7f78803b09
2021-09-29 04:56:05 +00:00
Andy Herrick
f48db899d3 8272328: java.library.path is not set properly by Windows jpackage app launcher
Backport-of: cd2dbe5f00
2021-09-28 21:31:39 +00:00
Sergey Bylokhov
b55ec5b402 8271718: Crash when during color transformation the color profile is replaced
Backport-of: 148935279d
2021-09-28 21:04:43 +00:00
Alexander Zuev
ded4b31601 8272462: Enhance image handling
Backport-of: 3d1745d54b93a62a7f404e33c70211db0e31d536
2021-09-28 20:15:42 +00:00
Jayathirth D V
ed4e3dbacd 8273838: Enhanced BMP processing
Backport-of: f5cc6f23a46bee06731fdd2b257c8ea8007eebad
2021-09-28 13:30:27 +00:00
Guoxiong Li
4e707bc1fa 8268894: forged ASTs can provoke an AIOOBE at com.sun.tools.javac.jvm.ClassWriter::writePosition
Backport-of: a9188f237e
2021-09-28 11:37:25 +00:00
Thomas Stuefe
d93500168c 8268893: jcmd to trim the glibc heap
Backport-of: 6096dd9765
2021-09-28 08:52:37 +00:00
Ravi Reddy
7add1580b2 8273968: JCK javax_xml tests fail in CI
Backport-of: d1910329352e878badf8fdc6634a177dd4745d4a
2021-09-28 08:34:45 +00:00
Sergey Bylokhov
c4dfa5759c 8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F
Backport-of: 6cf70f5f08
2021-09-28 01:59:15 +00:00
Volker Simonis
926a815f67 8273902: Memory leak in OopStorage due to bug in OopHandle::release()
Backport-of: bc48a0ac29
2021-09-27 17:03:27 +00:00
Phil Race
d46a5ae71e 8274056: JavaAccessibilityUtilities leaks JNI objects
Backport-of: 42d5d2abaa
2021-09-27 16:45:14 +00:00
Evan Whelan
6f3ace5653 8272236: Improve serial forms for transport
Reviewed-by: rriggs
Backport-of: ed0621893e7c365673ed87fbd4aca2bca27b9b73
2021-09-27 15:59:23 +00:00
robm
2174f4b4ea Merge 2021-09-27 16:11:43 +01:00
Christoph Langer
7b67581a2f 8269850: Most JDK releases report macOS version 12 as 10.16 instead of 12.0
Backport-of: 3b1b8fc646
2021-09-27 14:34:26 +00:00
Olga Mikhaltsova
00f7c45a4c 8273451: Remove unreachable return in mutexLocker::wait
Backport-of: 9b5991e811
2021-09-27 14:16:19 +00:00
Olga Mikhaltsova
227e159de1 8273375: Remove redundant 'new String' calls after concatenation in java.desktop
Backport-of: 59c9f75041
2021-09-27 14:12:49 +00:00
Sergey Nazarkin
9d590fc13b 8261236: C2: ClhsdbJstackXcompStress test fails when StressGCM is enabled
Backport-of: 752b6df34c
2021-09-24 15:22:18 +00:00
Sean Coffey
f2cb3d0f6c 8272026: Verify Jar Verification
Backport-of: 0e2b2951adc965d6b71ffbc63b4293fd9fb68eaa
2021-09-24 11:13:49 +00:00
Rajan Halade
8cd93192a4 8274215: Remove globalsignr2ca root from 17.0.2
Reviewed-by: mullan
2021-09-23 19:36:24 +00:00
Rob McKenna
0c9807d8b3 8273308: PatternMatchTest.java fails on CI
Backport-of: 1a5bacfcf8e0c22e49b29c0f484f0e879227dc05
2021-09-23 17:47:38 +00:00
Rob McKenna
536d1b6de5 8268813: Better String matching
Reviewed-by: igraves
Backport-of: c1b73a786d5881315cb7119d89f719b79c6a0c67
2021-09-23 16:36:56 +00:00
Jayathirth D V
4583bb037c 8273756: Enhance BMP image support
Backport-of: 2ee2053a0dde445237924f136c859c8b18ab882e
2021-09-23 13:29:37 +00:00
Thejasvi Voniadka
cb6a08c044 8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher
Backport-of: a5108a605e
2021-09-23 05:24:05 +00:00
Alexander Zuev
73d605bdc6 8273290: Enhance sound handling
Backport-of: 5d4a8f3c9ca82ed501944c670823b5de5e1ba344
2021-09-21 17:09:48 +00:00
Jonathan Dowland
912ae51344 8272342: [TEST_BUG] java/awt/print/PrinterJob/PageDialogMarginTest.java catches all exceptions
Backport-of: a5ad7720d2
2021-09-20 18:00:16 +00:00
Joe Darcy
74de3ef2a9 8273514: java/util/DoubleStreamSums/CompensatedSums.java failure
Backport-of: f531b5c796
2021-09-20 17:41:45 +00:00
Joe Darcy
793d08a74b 8214761: Bug in parallel Kahan summation implementation
Backport-of: dd871819a0
2021-09-20 17:08:01 +00:00
Aleksey Shipilev
cd1d3e0189 8272318: Improve performance of HeapDumpAllTest
Backport-of: 73da66ffb7
2021-09-20 17:06:06 +00:00
Aleksey Shipilev
3a650aa641 8271605: Update JMH devkit to 1.32
Backport-of: e74537f924
2021-09-20 17:03:48 +00:00
Aleksey Shipilev
bf788eee88 8271862: C2 intrinsic for Reference.refersTo() is often not used
Backport-of: 3f723ca457
2021-09-20 17:02:21 +00:00
Aleksey Shipilev
92ff652416 8272970: Parallelize runtime/InvocationTests/
Backport-of: 6cfe314262
2021-09-20 17:01:07 +00:00
Aleksey Shipilev
c2dc88fe56 8272850: Drop zapping values in the Zap* option descriptions
Backport-of: c5a271259d
2021-09-20 16:58:14 +00:00
Aleksey Shipilev
fc8078a09a 8263375: Support stack watermarks in Zero VM
Backport-of: 857a930bde
2021-09-20 16:55:51 +00:00
Aleksey Shipilev
759cbcba6d 8272838: Move CriticalJNI tests out of tier1
Backport-of: f55d5ab517
2021-09-20 16:54:36 +00:00
Rob McKenna
6b74b1ba27 8270646: Improved scanning of XML entities
Backport-of: 2b6dad98a6739df983a01b96cffea971268d1523
2021-09-17 19:46:05 +00:00
Andy Herrick
da1c0fea12 8272639: jpackaged applications using microphone on mac
Reviewed-by: asemenyuk
2021-09-17 17:59:10 +00:00
Fairoz Matte
171e90cbf5 8270320: JDK-8270110 committed invalid copyright headers
Backport-of: 353e9c8607
2021-09-16 05:33:08 +00:00
Phil Race
75240a5872 8273358: macOS Monterey does not have the font Times needed by Serif
Backport-of: efe3ed1e70
2021-09-15 21:15:33 +01:00
robm
44f32cbabc Merge 2021-09-15 21:03:21 +01:00
Evan Whelan
94f41162f4 8270416: Enhance construction of Identity maps
Reviewed-by: jboes
Backport-of: d445bf3f60c654bee77dcabe86f6fa28eaf5abfa
2021-09-15 14:30:40 +00:00
Richard Reingruber
20be766ed9 8271722: [TESTBUG] gc/g1/TestMixedGCLiveThreshold.java can fail if G1 Full GC uses >1 workers
Backport-of: 4abe531140
2021-09-15 12:50:13 +00:00
Christoph Langer
f8ecff4877 8269951: [macos] Focus not painted in JButton when setBorderPainted(false) is invoked
Backport-of: 481c1f0549
2021-09-14 21:18:18 +00:00
Phil Race
808356abec 8273358: macOS Monterey does not have the font Times needed by Serif
Backport-of: efe3ed1e70
2021-09-14 19:55:30 +00:00
Andy Herrick
ec0b85ab5f 8273593: [REDO] Warn user when using mac-sign option with unsigned app-image.
Reviewed-by: kcr, asemenyuk
2021-09-14 18:11:12 +00:00
Aleksey Shipilev
4dff991d7b 8269687: pauth_aarch64.hpp include name is incorrect
Backport-of: b690f29699
2021-09-14 07:51:16 +00:00
Lutz Schmidt
0e847cfb15 8271490: [ppc] [s390]: Crash in JavaThread::pd_get_top_frame_for_profiling
Backport-of: 276b07b36a
2021-09-11 20:23:39 +00:00
robm
d9a7fc63f8 Merge 2021-09-10 15:46:32 +01:00
Rob McKenna
f7f9a73a1e 8270498: Improve SAX Parser configuration management
Reviewed-by: joehw
2021-09-09 21:57:38 +00:00
Clive Verghese
cef269f896 8270317: Large Allocation in CipherSuite
Backport-of: e627caec84
2021-09-09 19:21:18 +00:00
Saravana Kumar Vijayasekaran
9f7de59006 8263773: Reenable German localization for builds at Oracle
Reviewed-by: erikj
2021-09-09 18:24:13 +00:00
Aleksey Shipilev
6a7542fed0 8272973: Incorrect compile command used by TestIllegalArrayCopyBeforeInfiniteLoop
Backport-of: 9166ba37b6
2021-09-09 13:45:16 +00:00
Per Liden
f1c8fa62d3 8271121: ZGC: stack overflow (segv) when -Xlog:gc+start=debug
Reviewed-by: eosterlund, ayang
Backport-of: 18dd4d469d
2021-09-09 09:04:02 +00:00
Aleksey Shipilev
d561554fdf 8270110: Shenandoah: Add test for JDK-8269661
Backport-of: 548bb3119c
2021-09-09 07:57:56 +00:00
Aleksey Shipilev
c96cfed51d 8270171: Shenandoah: Cleanup TestStringDedup and TestStringDedupStress tests
Backport-of: e4c24f01ef
2021-09-09 07:56:06 +00:00
Aleksey Shipilev
f32703f81d 8272783: Epsilon: Refactor tests to improve performance
Backport-of: 7f80683cfe
2021-09-09 07:54:39 +00:00
Chris Hegarty
0ced2aa756 8272473: Parsing epoch seconds at a DST transition with a non-UTC parser is wrong
Backport-of: fe7d70886c
2021-09-09 07:06:27 +00:00
Thejasvi Voniadka
ea6e678c95 8271560: sun/security/ssl/DHKeyExchange/LegacyDHEKeyExchange.java still fails due to "An established connection was aborted by the software in your host machine"
Backport-of: f18c0fac11
2021-09-09 05:48:12 +00:00
Matthias Baesken
271403bccc 8269031: linux x86_64 check for binutils 2.25 or higher after 8265783
Backport-of: 18a1dd261c
2021-09-09 05:39:28 +00:00
Aleksey Shipilev
e1cd6c7813 8269280: (bf) Replace StringBuffer in *Buffer.toString()
Backport-of: 3a8f3d6cac
2021-09-08 15:36:30 +00:00
Aleksey Shipilev
ad0426940b 8269924: Shenandoah: Introduce weak/strong marking asserts
Backport-of: 515113d858
2021-09-08 14:57:28 +00:00
Harold Seigel
f78d4194f1 8271987: Manifest improved manifest entries
Backport-of: 885f3699edf517d11d17607aad41e32d059f547a
2021-09-08 12:50:57 +00:00
Prasadrao Koppula
ef65147a06 8268488: More valuable DerValues
Backport-of: 99f72cf1c44c58682d93a81ee76ef9c3707152a9
2021-09-07 13:26:25 +00:00
robm
2b3bdce27e Merge 2021-09-06 23:04:48 +01:00
Kevin Walls
b300e880c4 8272272: Enhance jcmd communication
Backport-of: 1a67dd1ba853d535c718840dcdada12e1b312eb8
2021-09-06 21:24:51 +00:00
robm
bc7c0bae73 Merge 2021-09-06 22:13:28 +01:00
Prajwal Kumaraswamy
3a0e2b45a7 8269151: Better construction of EncryptedPrivateKeyInfo
Backport-of: 9fd7b2d4f333834f03a0e4fbc1e2a7d867331961
2021-09-06 13:18:32 +00:00
Rajan Halade
3623ea697d 8273150: Revert "8225083: Remove Google certificate that is expiring in December 2021"
Reviewed-by: mullan
2021-09-02 15:41:58 +00:00
robm
07f34a2cf6 Merge 2021-08-31 23:08:24 +01:00
robm
b935900e1c Merge 2021-08-31 23:00:48 +01:00
Christoph Langer
5e04e45271 8269993: [Test]: java/net/httpclient/DigestEchoClientSSL.java contains redundant @run tags
Backport-of: 4e18ec26dd
2021-08-29 07:26:26 +00:00
Ramkumar Sunderbabu
f79ea82331 8266988: compiler/jvmci/compilerToVM/IsMatureTest.java fails with Unexpected isMature state for multiple times invoked method: expected false to equal true
Backport-of: 7468bbcd64
2021-08-27 08:55:53 +00:00
Abdul Kolarkunnu
ff6a9382f5 8272581: sun/security/pkcs11/Provider/MultipleLogins.sh fails after JDK-8266182
Backport-of: a199ebc017
2021-08-26 04:05:24 +00:00
Abdul Kolarkunnu
9248bd08cf 8266182: Automate manual steps listed in the test jdk/sun/security/pkcs12/ParamsTest.java
Backport-of: ed57cf1cf3
2021-08-26 03:47:56 +00:00
David Holmes
671dab6154 8269934: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in java_lang_Thread::get_thread_status
Backport-of: 7e518f42c9
2021-08-26 01:45:45 +00:00
Phil Race
71a6aae38d 8272806: [macOS] "Apple AWT Internal Exception" when input method is changed
Backport-of: f681d6544a
2021-08-25 23:21:56 +00:00
Sean Coffey
20d00ebaf7 8270344: Session resumption errors
Backport-of: 04a806ec86
2021-08-25 11:33:54 +00:00
Aleksey Shipilev
37de147bea 8269897: Shenandoah: Resolve UNKNOWN access strength, where possible
Backport-of: 7ac08161a8
2021-08-24 21:08:56 +00:00
robm
6efa50333f Merge 2021-08-24 21:26:14 +01:00
robm
3c57e012b9 Merge 2021-08-24 20:14:15 +01:00
Jie Fu
648f3f6a8f 8272700: [macos] Build failure with Xcode 13.0 after JDK-8264848
Backport-of: d007be0952
2021-08-24 09:03:51 +00:00
Christoph Langer
9a7046d649 8270137: Kerberos Credential Retrieval from Cache not Working in Cross-Realm Setup
Backport-of: 67869b491a
2021-08-24 07:26:41 +00:00
David Holmes
bb7c412e25 8272472: StackGuardPages test doesn't build with glibc 2.34
Backport-of: f77a1a156f
2021-08-24 02:33:08 +00:00
Thejasvi Voniadka
567fdbf4b5 8272708: [Test]: Cleanup: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java no longer needs ocspEnabled
Backport-of: 4bd37c3153
2021-08-23 07:46:56 +00:00
Aleksey Shipilev
7d6c3adef3 8270096: Shenandoah: Optimize gc/shenandoah/TestRefprocSanity.java for interpreter mode
Backport-of: 4f322a9b6c
2021-08-23 07:41:23 +00:00
Aleksey Shipilev
3c1023c1b9 8270094: Shenandoah: Provide human-readable labels for test configurations
Backport-of: 676f1d76ca
2021-08-23 07:40:17 +00:00
Aleksey Shipilev
9554fba495 8269478: Shenandoah: gc/shenandoah/mxbeans tests should be more resilient
Backport-of: 23d2996fee
2021-08-23 07:39:08 +00:00
Ioi Lam
f8eb9abe03 8270386: Better verification of scan methods
Reviewed-by: coleenp
Backport-of: ac329cef45979bd0159ecd1347e36f7129bb2ce4
2021-08-23 05:24:18 +00:00
robm
49ef89b02d Merge 2021-08-21 01:04:12 +01:00
Ravi Reddy
0a08534703 8265776: Improve Stream handling for SSL
Backport-of: 345c6d3045e4e37e4f8dca30f5b1104c5eb403a9
2021-08-21 00:56:36 +01:00
Phil Race
bf920d9492 8272602: [macos] not all KEY_PRESSED events sent when control modifier is used
Backport-of: ddcd851c43
2021-08-20 20:29:03 +00:00
Joe Darcy
24e5c1a040 8272326: java/util/Random/RandomTestMoments.java had two Gaussian fails
Backport-of: cf64c3e7e2
2021-08-20 16:43:07 +00:00
Vladimir Ivanov
bb350989c7 8268494: Better inlining of inlined interfaces
Backport-of: 3c7fbbd703a50a9762e7f7dbafa8d44191346f52
2021-08-20 12:49:15 +00:00
Prajwal Kumaraswamy
5211317613 8268512: More content for ContentInfo
Backport-of: 4a1ea63840ec90e52c036c408baef4a1cf0abdff
2021-08-19 11:50:39 +00:00
Thejasvi Voniadka
704e6b93aa 8248899: security/infra/java/security/cert/CertPathValidator/certification/QuoVadisCA.java fails, Certificate has been revoked
Backport-of: d6bb846159
2021-08-19 05:11:38 +00:00
Thejasvi Voniadka
e9fd4b9fc4 8270280: security/infra/java/security/cert/CertPathValidator/certification/LetsEncryptCA.java OCSP response error
Backport-of: f4b3ee5dca
2021-08-19 04:29:47 +00:00
Thejasvi Voniadka
efeb10b5ca 8243543: jtreg test security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java fails
Backport-of: 45abbeed2f
2021-08-19 04:15:11 +00:00
robm
0c182e7585 Merge 2021-08-18 21:36:48 +01:00
Rajan Halade
551354e0d3 8225083: Remove Google certificate that is expiring in December 2021
Backport-of: 1cbf41a87b
2021-08-18 20:27:12 +00:00
Harold Seigel
f0028333d8 8272124: Cgroup v1 initialization causes NullPointerException when cgroup path contains colon
Backport-of: 4d6593ce02
2021-08-18 18:52:00 +00:00
Tobias Hartmann
790d9a9fda 8272131: PhaseMacroExpand::generate_slow_arraycopy crash when clone null CallProjections.fallthrough_ioproj
Backport-of: 5350b9901c
2021-08-18 15:19:16 +00:00
Tobias Hartmann
8a20dfe546 8271203: C2: assert(iff->Opcode() == Op_If || iff->Opcode() == Op_CountedLoopEnd || iff->Opcode() == Op_RangeCheck) failed: Check this code when new subtype is added
Backport-of: 3f38a50c52
2021-08-18 14:09:18 +00:00
Tobias Hartmann
66bd0d57ee 8271276: C2: Wrong JVM state used for receiver null check
Backport-of: e8f1219d6f
2021-08-18 14:08:14 +00:00
Tobias Hartmann
32f026ab74 8268963: [IR Framework] Some default regexes matching on PrintOptoAssembly in IRNode.java do not work on all platforms
Backport-of: 9856ace828
2021-08-18 13:23:13 +00:00
Tobias Hartmann
9489ab7b8b 8271925: ZGC: Arraycopy stub passes invalid oop to load barrier
Backport-of: d53d94b14d
2021-08-18 13:22:25 +00:00
Tobias Hartmann
90341dbccd 8268019: C2: assert(no_dead_loop) failed: dead loop detected
Backport-of: 489e5fd12a
2021-08-18 13:21:45 +00:00
Tobias Hartmann
52c3e7dcf1 8270098: ZGC: ZBarrierSetC2::clone_at_expansion fails with "Guard against surprises" assert
Backport-of: 2384e12888
2021-08-18 13:20:30 +00:00
Joe Darcy
cb7e311dc6 8261088: Repeatable annotations without @Target cannot have containers that target module declarations
Backport-of: 60c11fef00
2021-08-17 22:49:33 +00:00
Phil Race
4dc0e9e2df 8271962: Better TrueType font loading
Backport-of: 27827c186c43a7a2d983788f6d5e8b7f31e5e079
2021-08-17 21:48:02 +00:00
Prajwal Kumaraswamy
48aa0ef109 8269944: Better HTTP transport redux
Backport-of: 0e123d6e0e50cdac714a001b9f67dfc7c1c2b293
2021-08-17 08:17:18 +00:00
Phil Race
757afdc5d4 8270952: Improve TIFF file handling
Backport-of: 4db9acd53f549cac1603c6c41566b16ee939c04b
2021-08-16 19:15:40 +00:00
Severin Gehwolf
e506cb23cf 8272332: --with-harfbuzz=system doesn't add -lharfbuzz after JDK-8255790
Backport-of: d38b31438d
2021-08-16 09:57:28 +00:00
Vladimir Kozlov
9c213825ae 8271589: fatal error with variable shift count integer rotate operation.
Backport-of: 392fcc9df7
2021-08-13 00:06:55 +00:00
Harold Seigel
f9c7b4f5b0 8271968: Better canonical naming
Backport-of: a716aacb662bb49aa5b1e805175196c29d8cb77a
2021-08-12 12:29:36 +00:00
Sean Coffey
7d799fe4e7 8271730: Client authentication using RSASSA-PSS fails after correct certificate requests
Backport-of: 5891fccf178797ef12e429637897d4149a7ae59a
2021-08-10 16:42:24 +00:00
Jamsheed Mohammed C M
5e8b87038b 8271723: Unproblemlist runtime/InvocationTests/invokevirtualTests.java
Backport-of: 058379cdf91fd46793744a6bd7450c669f3bf787
2021-08-10 16:42:11 +00:00
Evan Whelan
eac2c999f2 8267712: Better LDAP reference processing
Backport-of: 0d2a239cb4b7fdc88adb54eb66b36f5f5157418f
2021-08-10 16:38:11 +00:00
Prajwal Kumaraswamy
c3bbf5bd28 8263314: Enhance XML Dsig modes
Reviewed-by: coffeys, pkoppula
Backport-of: fe318432e184c2df95d802212b4eb510d3729459
2021-08-10 16:38:07 +00:00
Prasadrao Koppula
55c8adf6c6 8266103: Better specified spec values
Backport-of: 9bd20b57e1d79bd2bb386fb5df48e681fbbbd981
2021-08-10 16:38:03 +00:00
Prasadrao Koppula
2cb686567b 8266689: More Constrained Delegation
Backport-of: 723438b38868c373d1b8d7e6db576835be392932
2021-08-10 16:37:59 +00:00
Rob McKenna
adcfbd3d19 Merge 2021-08-09 23:35:48 +00:00
Rob McKenna
9d2c5ec20d Merge 2021-08-09 23:29:23 +00:00
robm
db92c1bb5f Merge 2021-08-09 22:59:58 +01:00
Sean Coffey
40db0bde4c 8271730: Client authentication using RSASSA-PSS fails after correct certificate requests
Backport-of: 5891fccf178797ef12e429637897d4149a7ae59a
2021-08-09 08:46:50 +00:00
Evgeny Astigeevich
456735f772 8268427: Improve AlgorithmConstraints:checkAlgorithm performance
Backport-of: 3b83bc1bc3
2021-08-06 23:33:30 +00:00
Severin Gehwolf
02ea80a6f0 8269851: OperatingSystemMXBean getProcessCpuLoad reports incorrect process cpu usage in containers
Backport-of: 25f00d787c
2021-08-05 14:54:00 +00:00
Evan Whelan
97fa97d64a 8267712: Better LDAP reference processing
Backport-of: 0d2a239cb4b7fdc88adb54eb66b36f5f5157418f
2021-08-05 13:46:47 +00:00
Prajwal Kumaraswamy
91ad122390 8263314: Enhance XML Dsig modes
Reviewed-by: coffeys, pkoppula
Backport-of: fe318432e184c2df95d802212b4eb510d3729459
2021-08-05 10:00:55 +00:00
Prasadrao Koppula
b7573f6d5e 8266103: Better specified spec values
Backport-of: 9bd20b57e1d79bd2bb386fb5df48e681fbbbd981
2021-08-05 09:45:24 +00:00
Prasadrao Koppula
53866eb2af 8266689: More Constrained Delegation
Backport-of: 723438b38868c373d1b8d7e6db576835be392932
2021-08-05 09:10:04 +00:00
Christoph Langer
9175a8d217 8267625: AARCH64: typo in LIR_Assembler::emit_profile_type
Reviewed-by: aph
Backport-of: 3d090e7ee5
2021-08-04 20:49:14 +00:00
Ravi Reddy
84aad735a1 8265776: Improve Stream handling for SSL
Backport-of: 345c6d3045e4e37e4f8dca30f5b1104c5eb403a9
2021-08-04 17:03:57 +00:00
Jayathirth D V
a93833d88f 8270893: IndexOutOfBoundsException while reading large TIFF file
Backport-of: efcdcc7fb7
2021-08-04 11:01:55 +00:00
Jamsheed Mohammed C M
c38902db6b 8269624: Enhance method selection support
Backport-of: acd1fa5d8fabd424ec3b125b56e5ca482b25f2d9
2021-08-03 20:09:38 +00:00
Rob McKenna
24c7e25910 Merge 2021-08-03 20:09:27 +00:00
Jamsheed Mohammed C M
13937b2a4a 8271723: Unproblemlist runtime/InvocationTests/invokevirtualTests.java
Backport-of: 058379cdf91fd46793744a6bd7450c669f3bf787
2021-08-03 11:04:13 +00:00
Jamsheed Mohammed C M
d26ecc330c 8269624: Enhance method selection support
Backport-of: acd1fa5d8fabd424ec3b125b56e5ca482b25f2d9
2021-08-03 06:57:31 +00:00
Richard Reingruber
a575f5c090 8269574: C2: Avoid redundant uncommon traps in GraphKit::builtin_throw() for JVMTI exception events
Backport-of: 72530ef666
2021-08-03 06:57:08 +00:00
Vladimir Kozlov
de808a5e92 8268261: C2: assert(n != __null) failed: Bad immediate dominator info.
Backport-of: 4ed548b3ee
2021-08-02 21:05:32 +00:00
Rob McKenna
6be8aeb216 Merge 2021-08-02 20:09:24 +00:00
robm
afede39e0c Merge 2021-08-02 21:06:58 +01:00
Saravana Kumar Vijayasekaran
48d6fef3ea 8271463: Updating RE Configs for Upcoming CPU Release 17.0.2 on master branch for jdk17u-cpu and jdk17u-cpu-open repos.
Reviewed-by: vaibhav, ssahoo, coffeys
2021-07-29 12:22:42 +00:00
Rajan Halade
9b97129e8c 8225082: Remove IdenTrust certificate that is expiring in September 2021
Backport-of: 2ec45dc2dd
2021-07-29 00:50:34 +00:00
Saravana Kumar Vijayasekaran
eb10d4f437 8271335: Updating RE Configs for BUILD REQUEST 17.0.1+4
Reviewed-by: rsunderbabu, tvoniadka, coffeys
2021-07-28 14:42:26 +00:00
Harold Seigel
fc8f959e6b 8270398: Enhance canonicalization
Backport-of: 0a6c6a2c954d7889934d3caa4256124a1c5662a0
2021-07-27 13:12:13 +00:00
Harold Seigel
b6003a87e4 8270404: Better canonicalization
Backport-of: a0a8a41bb1da9261b2d3c4a43a6738fbf3286b5d
2021-07-27 12:44:45 +00:00
Christoph Langer
9b6aa5304c 8267666: Add option to jcmd GC.heap_dump to use existing file
Backport-of: 7cbb67a3f8
2021-07-23 13:16:25 +00:00
Christoph Langer
de786bbcc1 8269882: stack-use-after-scope in NewObjectA
Backport-of: 20eba35515
2021-07-23 11:08:29 +00:00
Rob McKenna
85d98fa322 Merge 2021-07-19 22:22:54 +00:00
robm
c6812bebdd Merge 2021-07-19 23:09:28 +01:00
Christoph Langer
00ffb8f1b9 8263531: Remove unused buffer int
Backport-of: ca806ef319
2021-07-19 10:42:30 +00:00
Christoph Langer
d684356d9d 8262731: [macOS] Exception from "Printable.print" is swallowed during "PrinterJob.print"
Backport-of: c0b4407d09
2021-07-19 09:56:35 +00:00
Prasanta Sadhukhan
da18f64548 8269763: The JEditorPane is blank after JDK-8265167
Backport-of: 36aac3987938688c97c06f34fdc8688e0b24a4fa
2021-07-16 18:04:12 +00:00
Prasanta Sadhukhan
4fa8b8fd54 8265580: Enhanced style for RTF kit
Backport-of: dd4a17f711b0027ed6377ca57c43a7d68d4df566
2021-07-16 16:57:46 +00:00
Prasanta Sadhukhan
4fcc43dce7 8265574: Improve handling of sheets
Backport-of: a20f56155d675fd606ed57fddb153aeb9dc270ae
2021-07-13 09:27:43 +00:00
Prajwal Kumaraswamy
78cb6a1e6c 8266115: More Manifest Jar Loading
Reviewed-by: coffeys, weijun
Backport-of: 1834a749a1d51c82fb1a1c34770c7ab5b4ff9fce
2021-07-12 11:40:02 +00:00
Jamil Nimeh
da5e349088 8268199: Correct certificate requests
Backport-of: afeccc7639d3d09041b58cf0f5672eb7310b2cbd
2021-07-08 21:29:14 +00:00
Hai-May Chao
82d44a79de 8268500: Better specified ParameterSpecs
Backport-of: 04ba2a665d4f2af34ed7896e2f1b2b5f9cdf31a4
2021-07-08 21:05:06 +00:00
Jamil Nimeh
33cd383a96 8268193: Improve requests of certificates
Reviewed-by: ascarpino
Backport-of: ce8b2eac4f9643575a87617ae8091657e9458c22
2021-07-08 18:49:07 +00:00
Xue-Lei Andrew Fan
5adbf765a2 8268205: Enhance DTLS client handshake
Reviewed-by: jnimeh
Backport-of: 4a0c4038401e48d5111449ca35c0795d94f9ab83
2021-07-08 16:33:46 +00:00
Xue-Lei Andrew Fan
cf73d51d77 8269618: Better session identification
Reviewed-by: jnimeh
Backport-of: 116b77755f0a5d8c786a0c0ead4fc557ce359e6e
2021-07-08 16:28:54 +00:00
Kiran Sidhartha Ravikumar
b3054c8168 8268506: More Manifest Digests
Backport-of: 306a51b13f5307b0de9d2f04daa983ccd8f92284
2021-07-08 10:42:58 +00:00
pavel_kharskii
040f1053aa 8269297: Bump version numbers for JDK 17.0.1
Reviewed-by: robm, erikj
2021-06-24 17:28:39 +00:00
Jayathirth D V
b24dff5fef 8267735: Better BMP support
Backport-of: 67ddc7e7f3b178998ea59f68758a5fa510624e12
2021-06-23 03:47:05 +00:00
Weijun Wang
87b5f1bd82 8267086: ArrayIndexOutOfBoundsException in java.security.KeyFactory.generatePublic
Backport-of: 2e375ae9ed459527393f9dd13d15d1031ad6095f
2021-06-22 22:01:09 +00:00
Prajwal Kumaraswamy
0102000658 8266137: Improve Keystore integrity
Reviewed-by: coffeys, hchao
Backport-of: 06acda364f1483c15adca105d612a24f1d50112c
2021-06-22 08:20:32 +00:00
Julia Boes
8f31f0d343 8266097: Better hashing support
Reviewed-by: chegar, dfuchs, ahgross, smarks, rhalade
2021-06-21 15:18:28 +00:00
Weijun Wang
4b289d6ab5 8266109: More Resilient Classloading
Reviewed-by: rhalade
Backport-of: 00c10ed10286a1989a339bc35cb64302630427ae
2021-06-18 20:40:32 +00:00
Xue-Lei Andrew Fan
80dd63d0d7 8267729: Improve TLS client handshaking
Reviewed-by: jnimeh, ahgross, rhalade
2021-06-18 04:21:33 +00:00
Prasanta Sadhukhan
3888c76ac3 8265167: Richer Text Editors
Backport-of: c59311d94c3f010b9017825d767db8241c69a2a7
2021-06-17 07:06:05 +00:00
7907 changed files with 241654 additions and 308688 deletions

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2021, 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
@@ -23,19 +23,24 @@
# questions.
#
include GensrcCommonJdk.gmk
include GensrcProperties.gmk
include Modules.gmk
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 }}
################################################################################
# Use wildcard so as to avoid getting non-existing directories back
SIMPLESERVER_RESOURCES_DIRS := $(wildcard $(addsuffix /sun/net/httpserver/simpleserver/resources, \
$(call FindModuleSrcDirs, jdk.httpserver)))
$(eval $(call SetupCompileProperties, SIMPLESERVER_PROPERTIES, \
SRC_DIRS := $(SIMPLESERVER_RESOURCES_DIRS), \
CLASS := ListResourceBundle, \
))
TARGETS += $(SIMPLESERVER_PROPERTIES)
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 "value=$value" >> $GITHUB_OUTPUT
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 'failure=true' >> $GITHUB_OUTPUT
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 "value=$platform_prefix" >> $GITHUB_OUTPUT
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 'path=bootjdk/jdk' >> $GITHUB_OUTPUT
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 "jdk=$jdk_dir" >> $GITHUB_OUTPUT
echo "symbols=$symbols_dir" >> $GITHUB_OUTPUT
echo "tests=$tests_dir" >> $GITHUB_OUTPUT
shell: bash

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2021, 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 +22,33 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name java/awt/datatransfer/Clipboard
header extends java/lang/Object flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
class name java/awt/datatransfer/DataFlavor
header extends java/lang/Object implements java/io/Externalizable,java/lang/Cloneable flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
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 'path=gtest' >> $GITHUB_OUTPUT
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 'path=jtreg/installed' >> $GITHUB_OUTPUT
shell: bash

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2021, 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,10 +22,23 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name java/lang/instrument/UnmodifiableModuleException
header extends java/lang/RuntimeException flags 21
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 'bundles-found=true' >> $GITHUB_OUTPUT
else
echo 'bundles-found=false' >> $GITHUB_OUTPUT
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) 2021, 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,16 +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 jdk/javadoc/doclet/Reporter
header extends java/lang/Object flags 601
innerclass innerClass javax/tools/Diagnostic$Kind outerClass javax/tools/Diagnostic innerClassName Kind flags 4019
method name print descriptor (Ljavax/tools/Diagnostic$Kind;Lcom/sun/source/util/DocTreePath;IIILjava/lang/String;)V flags 1
class name jdk/javadoc/doclet/StandardDoclet
header extends java/lang/Object implements jdk/javadoc/doclet/Doclet flags 21
innerclass innerClass jdk/javadoc/doclet/Doclet$Option outerClass jdk/javadoc/doclet/Doclet innerClassName Option flags 609
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

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

@@ -0,0 +1,70 @@
#!/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"
GITHUB_OUTPUT="$2"
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 'error-message=Unspecified test suite failure. Please see log for job for details.' >> $GITHUB_OUTPUT
exit 0
fi
echo 'failure=true' >> $GITHUB_OUTPUT
echo "error-message=Test run reported $failure_count test failure(s) and $error_count error(s). See summary for details." >> $GITHUB_OUTPUT
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,154 @@
#
# 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: false
type: string
default: '10'
apt-gcc-version:
required: false
type: string
default: '10.3.0-1ubuntu1~20.04'
apt-gcc-cross-suffix:
required: false
type: string
default: 'cross1'
jobs:
build-cross-compile:
name: build
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
target-cpu:
- aarch64
- arm
- s390x
- ppc64le
include:
- target-cpu: aarch64
debian-arch: arm64
gnu-arch: aarch64
- target-cpu: arm
debian-arch: armhf
gnu-arch: arm
gnu-abi: eabihf
- target-cpu: s390x
debian-arch: s390x
gnu-arch: s390x
- target-cpu: ppc64le
debian-arch: ppc64el
gnu-arch: powerpc64le
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-version }}${{ inputs.apt-gcc-cross-suffix }} \
g++-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}=${{ inputs.apt-gcc-version }}${{ inputs.apt-gcc-cross-suffix }} \
libxrandr-dev libxtst-dev libcups2-dev libasound2-dev
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 qemu-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
buster
sysroot
https://httpredir.debian.org/debian/
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}
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 }}
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-10
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-10
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: 'hotspot'
platform: linux-${{ matrix.target-cpu }}

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

@@ -0,0 +1,132 @@
#
# 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" ]'
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-20.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 'suffix=:${{ inputs.apt-architecture }}' >> $GITHUB_OUTPUT
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.apt-gcc-version }} g++-${{ 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-10 100 --slave /usr/bin/g++ g++ /usr/bin/g++-10
- 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
${{ inputs.extra-conf-options }}
- 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 }}'

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

@@ -0,0 +1,114 @@
#
# 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
${{ inputs.extra-conf-options }}
- 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 }}'

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

@@ -0,0 +1,145 @@
#
# 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: 'Check toolchain installed'
id: toolchain-check
run: |
set +e
'/c/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/vc/auxiliary/build/vcvars64.bat' -vcvars_ver=${{ inputs.msvc-toolset-version }}
if [ $? -eq 0 ]; then
echo "Toolchain is already installed"
echo "toolchain-installed=true" >> $GITHUB_OUTPUT
else
echo "Toolchain is not yet installed"
echo "toolchain-installed=false" >> $GITHUB_OUTPUT
fi
- 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 }}
if: steps.toolchain-check.outputs.toolchain-installed != 'true'
- 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 }}
${{ inputs.extra-conf-options }}
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 }}'

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

@@ -0,0 +1,331 @@
#
# 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-20.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 "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
echo "linux-x86=$(check_platform linux-x86 linux x86)" >> $GITHUB_OUTPUT
echo "linux-x64-variants=$(check_platform linux-x64-variants variants)" >> $GITHUB_OUTPUT
echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
echo "macos-x64=$(check_platform macos-x64 macos x64)" >> $GITHUB_OUTPUT
echo "macos-aarch64=$(check_platform macos-aarch64 macos aarch64)" >> $GITHUB_OUTPUT
echo "windows-x64=$(check_platform windows-x64 windows x64)" >> $GITHUB_OUTPUT
echo "windows-aarch64=$(check_platform windows-aarch64 windows aarch64)" >> $GITHUB_OUTPUT
###
### Build jobs
###
build-linux-x64:
name: linux-x64
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
# 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
apt-gcc-version: '10-multilib'
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'
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" ]'
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
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" ]'
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
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" ]'
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
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" ]'
apt-gcc-version: '10=10.3.0-1ubuntu1~20.04'
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
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-20.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-20.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-20.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 "value=" >> $GITHUB_OUTPUT
else
echo "value=$PATH" >> $GITHUB_OUTPUT
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" "$GITHUB_OUTPUT"
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 "artifact-name=$artifact_name" >> $GITHUB_OUTPUT
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'

4
.gitignore vendored
View File

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

View File

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

179
README.md
View File

@@ -1,174 +1,11 @@
[![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!
For build instructions please see the
[online documentation](https://openjdk.java.net/groups/build/doc/building.html),
or either of these files:
JetBrains Runtime is a fork of [OpenJDK](https://github.com/openjdk/jdk) available for Windows, Mac OS X, and Linux.
It includes a number enhancements in font rendering, HiDPI support, ligatures, performance improvements, and bugfixes.
- [doc/building.html](doc/building.html) (html version)
- [doc/building.md](doc/building.md) (markdown version)
> **_NOTE_**: This is a **development** branch that is periodically synhronized with
> the [OpenJDK master](https://github.com/openjdk/jdk/tree/master) branch.
>
> Release builds are based on these branches:
> * [master](https://github.com/JetBrains/JetBrainsRuntime/tree/master) (JDK 11)
> * [master17](https://github.com/JetBrains/JetBrainsRuntime/tree/master17) (JDK 17)
## Contents
- [Welcome to JetBrains Runtime](#jetbrains-runtime)
- [Products Built on JetBrains Runtime](#products-built-on-jetbrains-runtime)
- [Getting Sources](#getting-sources)
- [macOS, Linux](#macos-linux)
- [Windows](#sources-windows)
- [Configuring the Build Environment](#configuring-the-build-environment)
- [Linux (Docker)](#linux-docker)
- [Ubuntu Linux](#ubuntu-linux)
- [Windows](#build-windows)
- [macOS](#macos)
- [Developing](#developing)
- [Contributing](#contributing)
- [Resources](#resources)
## Products Built on JetBrains Runtime
* [Android Studio](https://developer.android.com/studio). The official IDE for Google's Android operating system.
* [CLion](https://www.jetbrains.com/clion/). A cross-platform IDE for C and C++ from JetBrains.
* [DataGrip](https://www.jetbrains.com/datagrip/). The IDE for Databases and SQL from JetBrains.
* [GoLand](https://www.jetbrains.com/go/). The cross-platform Go IDE from JetBrains.
* [IntelliJ IDEA](https://www.jetbrains.com/idea/). The IDE for JVM from JetBrains.
* [JProfiler](https://www.ej-technologies.com/products/jprofiler/overview.html). The Java profiler.
* [PhpStorm](https://www.jetbrains.com/phpstorm/). The PHP IDE from JetBrains.
* [PyCharm](https://www.jetbrains.com/pycharm/). The Python IDE from JetBrains.
* [Rider](https://www.jetbrains.com/rider/). The cross-platform .NET IDE from JetBrains.
* [RubyMine](https://www.jetbrains.com/ruby/). The Ruby and Rails IDE from JetBrains.
* [WebStorm](https://www.jetbrains.com/webstorm/). The JavaScript IDE from JetBrains.
* [YourKit](https://www.yourkit.com/). Java and .NET profilers.
## Getting Sources
### macOS, Linux
```
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
### Windows
<a name="sources-windows"></a>
```
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
## Configuring the Build Environment
Here are quick per-platform instructions for those who can't wait to get started.
Please refer to [OpenJDK build docs](https://openjdk.java.net/groups/build/doc/building.html) for in-depth
coverage of all the details.
> **_TIP:_** To get a preliminary report of what's missing, run `./configure` and check its output.
> It would usually have a meaningful advice on how to solve the problem.
### Linux (Docker)
Create a container:
```
$ cd jb/project/docker
$ docker build .
...
Successfully built 942ea9900054
```
Run these commands in the new container:
```
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
# cd /JetBrainsRuntime
# sh ./configure
# make images CONF=linux-x86_64-normal-server-release
```
### Ubuntu Linux
Install the necessary tools, libraries, and headers with:
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev
```
Get Java 17 (for instance, [Azul Zulu Builds of OpenJDK 17](https://www.azul.com/downloads/?version=java-17-ea&package=jdk)).
Then run the following:
```
$ cd JetBrainsRuntime
$ git checkout jbr-dev
$ sh ./configure
$ make images
```
This will build the release configuration under `./build/linux-x86_64-server-release/`.
### Windows
<a name="build-windows"></a>
Install the following:
* [Cygwin x64](http://www.cygwin.com/).
Required packages: `autoconf`, `binutils`, `cpio`, `diffutils`, `file`, `gawk`, `gcc-core`, `make`, `m4`, `unzip`, `zip`.
Install those together with Cygwin.
* [Visual Studio compiler toolset](https://visualstudio.microsoft.com/downloads/).
Install with the desktop development kit, which includes Windows SDK and compilers.
Visual Studio 2019 is supported by default.
* Java 17 (for instance, [Azul Zulu Builds of OpenJDK 17](https://www.azul.com/downloads/?version=java-17-ea&os=windows&architecture=x86-64-bit&package=jdk).
If you have problems while configuring, read [Java tips on Cygwin](http://horstmann.com/articles/cygwin-tips.html).
From the command line:
```
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
```
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.
In the Cygwin shell:
```
$ cd JetBrainsRuntime
$ git checkout jbr-dev
$ bash configure --with-toolchain-version=2019
$ make images
```
This will build the release configuration under `./build/windows-x86_64-server-release/`.
### macOS
Install the following:
* Xcode command line developer tools and `autoconf` via [Homebrew](https://brew.sh/).
* Java 17 (for instance, [Azul Zulu Builds of OpenJDK 17](https://www.azul.com/downloads/?version=java-17-ea&package=jdk)).
From the command line:
```
$ cd JetBrainsRuntime
$ git checkout jbr-dev
$ sh ./configure
$ make images
```
This will build the release configuration under `./build/macosx-x86_64-server-release/`.
## Developing
You can use [CLion](https://www.jetbrains.com/clion/) to develop native parts of the JetBrains Runtime and
[IntelliJ IDEA](https://www.jetbrains.com/idea/) for the parts written in Java.
Both require projects to be created.
### CLion
Run
```
$ make compile-commands
```
in the git root and open the resulting `build/.../compile_commands.json` file as a project.
Then use `Tools | Compilation Database | Change Project Root` to point to git root of this repository.
See also this detailed step-by-step tutorial for all platforms:
[How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).
### IDEA
Run
```
$ sh ./bin/idea.sh
```
in the git root to generate project files (add `--help` for options). If you have multiple
configurations (for example, `release` and `fastdebug`), supply the `--conf <conf_name>` argument.
Then open the git root directory as a project in IDEA.
## Contributing
We are happy to receive your pull requests!
Before you submit one, please sign our [Contributor License Agreement (CLA)](https://www.jetbrains.com/agreements/cla/).
## Resources
* [JetBrains Runtime on github](https://github.com/JetBrains/JetBrainsRuntime).
* [OpenJDK build instructions](https://openjdk.java.net/groups/build/doc/building.html).
* [OpenJDK test instructions](https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk/master/doc/building.html#running-tests).
See <https://openjdk.java.net/> 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>] [modules]+"
exit 1
}
@@ -52,14 +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
CONF_ARG=
IDEA_OUTPUT=$TOP/.idea
VERBOSE="false"
while [ $# -gt 0 ]
do
case $1 in
@@ -67,26 +44,12 @@ 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"
shift
;;
-c | --conf )
CONF_ARG="CONF_NAME=$2"
IDEA_OUTPUT=$2/.idea
shift
;;
@@ -101,21 +64,20 @@ do
shift
done
if [ "x$IDEA_OUTPUT" = "x" ] ; then
IDEA_OUTPUT="$TOPLEVEL_DIR/.idea"
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 +86,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="$*" || 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 +121,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 +144,105 @@ 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$ANT_HOME" = "x" ] ; then
# try some common locations, before giving up
if [ -f "/usr/share/ant/lib/ant.jar" ] ; then
ANT_HOME="/usr/share/ant"
elif [ -f "/usr/local/Cellar/ant/1.9.4/libexec/lib/ant.jar" ] ; then
ANT_HOME="/usr/local/Cellar/ant/1.9.4/libexec"
else
echo "FATAL: cannot find ant. Try setting ANT_HOME." >&2; exit 1
fi
fi
CP=$ANT_HOME/lib/ant.jar
rm -rf $CLASSES; mkdir $CLASSES
if [ "x$PATHTOOL" != "x" ]; then
echo "@echo off" > "$IDEA_OUTPUT/bash.bat"
if [ "x$WSL_DISTRO_NAME" != "x" ] ; then
echo "wsl -d $WSL_DISTRO_NAME --cd \"%cd%\" -e %*" >> "$IDEA_OUTPUT/bash.bat"
else
echo "$WINENV_ROOT\bin\bash.exe -l -c \"cd %CD:\=/%/ && %*\"" >> "$IDEA_OUTPUT/bash.bat"
fi
if [ "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`
JAVAC=javac
elif [ "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
JAVAC=javac.exe
else
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java
JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src
JAVAC_CLASSES=$CLASSES
JAVAC_CP=$CP
JAVAC=javac
fi
$BOOT_JDK/bin/$JAVAC -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE
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 [ "x$WSL_DISTRO_NAME" != "x" ]; then
rm -rf $ANT_TEMP
fi

View File

@@ -128,6 +128,15 @@ install_jib() {
exit 1
fi
fi
# Want to check the filetype using file, to see if we got served a HTML error page.
# This is sensitive to the filename containing a specific string, but good enough.
file "${installed_jib_script}.gz" | grep "gzip compressed data" > /dev/null
if [ $? -ne 0 ]; then
echo "Warning: ${installed_jib_script}.gz is not a gzip file."
echo "If you are behind a proxy you may need to configure exceptions using no_proxy."
echo "The download URL was: ${jib_url}"
exit 1
fi
echo "Extracting JIB bootstrap script"
rm -f "${installed_jib_script}"
gunzip "${installed_jib_script}.gz"

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>
@@ -96,7 +99,6 @@
<li><a href="#specific-build-issues">Specific Build Issues</a></li>
<li><a href="#getting-help">Getting Help</a></li>
</ul></li>
<li><a href="#reproducible-builds">Reproducible Builds</a></li>
<li><a href="#hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</a><ul>
<li><a href="#bash-completion">Bash Completion</a></li>
<li><a href="#using-multiple-configurations">Using Multiple Configurations</a></li>
@@ -196,7 +198,7 @@
<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>
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layers are Cygwin and Windows Subsystem for Linux (WSL). (Msys is no longer supported due to a too old bash; msys2 would likely be possible to support in a future version but that would require effort to implement.)</p>
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layers are Cygwin, Windows Subsystem for Linux (WSL), and MSYS2. (MSYS is no longer supported due to an outdated bash; While OpenJDK can be built with MSYS2, support for it is still experimental, so build failures and unusual errors are not uncommon.)</p>
<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/git/jdk/Makefile</code> rather than <code>C:\git\jdk\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
<h4 id="cygwin">Cygwin</h4>
<p>A functioning <a href="http://www.cygwin.com/">Cygwin</a> environment is required for building the JDK on Windows. If you have a 64-bit OS, we strongly recommend using the 64-bit version of Cygwin.</p>
@@ -237,26 +239,26 @@
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Operating system</th>
<th style="text-align: left;">Supported toolchain</th>
<th>Operating system</th>
<th>Supported toolchain</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Linux</td>
<td style="text-align: left;">gcc, clang</td>
<td>Linux</td>
<td>gcc, clang</td>
</tr>
<tr class="even">
<td style="text-align: left;">macOS</td>
<td style="text-align: left;">Apple Xcode (using clang)</td>
<td>macOS</td>
<td>Apple Xcode (using clang)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">AIX</td>
<td style="text-align: left;">IBM XL C/C++</td>
<td>AIX</td>
<td>IBM XL C/C++</td>
</tr>
<tr class="even">
<td style="text-align: left;">Windows</td>
<td style="text-align: left;">Microsoft Visual Studio</td>
<td>Windows</td>
<td>Microsoft Visual Studio</td>
</tr>
</tbody>
</table>
@@ -264,38 +266,42 @@
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Operating system</th>
<th style="text-align: left;">Toolchain version</th>
<th>Operating system</th>
<th>Toolchain version</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Linux</td>
<td style="text-align: left;">gcc 10.2.0</td>
<td>Linux</td>
<td>gcc 11.2.0</td>
</tr>
<tr class="even">
<td style="text-align: left;">macOS</td>
<td style="text-align: left;">Apple Xcode 10.1 (using clang 10.0.0)</td>
<td>macOS</td>
<td>Apple Xcode 10.1 (using clang 10.0.0)</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Windows</td>
<td style="text-align: left;">Microsoft Visual Studio 2019 update 16.7.2</td>
<td>Windows</td>
<td>Microsoft Visual Studio 2022 update 17.1.0</td>
</tr>
</tbody>
</table>
<p>All compilers are expected to be able to compile to the C99 language standard, as some C99 features are used in the source code. Microsoft Visual Studio doesn't fully support C99 so in practice shared code is limited to using C99 features that it does support.</p>
<h3 id="gcc">gcc</h3>
<p>The minimum accepted version of gcc is 5.0. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p>
<p>The JDK is currently known to be able to compile with at least version 10.2 of gcc.</p>
<p>The JDK is currently known to be able to compile with at least version 11.2 of gcc.</p>
<p>In general, any version between these two should be usable.</p>
<h3 id="clang">clang</h3>
<p>The minimum accepted version of clang is 3.5. Older versions will not be accepted by <code>configure</code>.</p>
<p>To use clang instead of gcc on Linux, use <code>--with-toolchain-type=clang</code>.</p>
<h3 id="apple-xcode">Apple Xcode</h3>
<p>The oldest supported version of Xcode is 8.</p>
<p>You will need the Xcode command lines developers tools to be able to build the JDK. (Actually, <em>only</em> the command lines tools are needed, not the IDE.) The simplest way to install these is to run:</p>
<p>You will need the Xcode command line developer tools to be able to build the JDK. (Actually, <em>only</em> the command line tools are needed, not the IDE.) The simplest way to install these is to run:</p>
<pre><code>xcode-select --install</code></pre>
<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>When updating Xcode, it is advisable to keep an older version for building the JDK. To use a specific version of Xcode you have multiple options:</p>
<ul>
<li>Use <code>xcode-select -s</code> before running <code>configure</code>, e.g. <code>xcode-select -s /Applications/Xcode13.1.app</code>. The drawback is that the setting is system wide and you may have to revert it after an OpenJDK build.</li>
<li>Use configure option <code>--with-xcode-path</code>, e.g. <code>configure --with-xcode-path=/Applications/Xcode13.1.app</code> This allows using a specific Xcode version for an OpenJDK build, independently of the active Xcode version by <code>xcode-select</code>.</li>
</ul>
<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>The minimum accepted version of Visual Studio is 2017. Older versions will not be accepted by <code>configure</code> and will not work. The maximum accepted version of Visual Studio is 2019.</p>
@@ -507,7 +513,7 @@
</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>The <a href="https://wiki.openjdk.java.net/display/Adoption">Adoption Group</a> provides recent builds of jtreg <a href="https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/">here</a>. Download the latest <code>.tar.gz</code> file, unpack it, and point <code>--with-jtreg</code> to the <code>jtreg</code> directory that you just unpacked.</p>
<p>Building of Hotspot Gtest suite requires the source code of Google Test framework. The top directory, which contains both <code>googletest</code> and <code>googlemock</code> directories, should be specified via <code>--with-gtest</code>. The supported version of Google Test is 1.8.1, whose source code can be obtained:</p>
<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>
@@ -516,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>
@@ -885,32 +897,6 @@ spawn failed</code></pre>
<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 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>
<p>Currently, it is not possible to build OpenJDK fully reproducibly, but getting there is an ongoing effort. There are some things you can do to minimize non-determinism and make a larger part of the build reproducible:</p>
<ul>
<li>Turn on build system support for reproducible builds</li>
</ul>
<p>Add the flag <code>--enable-reproducible-build</code> to your <code>configure</code> command line. This will turn on support for reproducible builds where it could otherwise be lacking.</p>
<ul>
<li>Do not rely on <code>configure</code>'s default adhoc version strings</li>
</ul>
<p>Default adhoc version strings OPT segment include user name, source directory and timestamp. You can either override just the OPT segment using <code>--with-version-opt=&lt;any fixed string&gt;</code>, or you can specify the entire version string using <code>--with-version-string=&lt;your version&gt;</code>.</p>
<ul>
<li>Specify how the build sets <code>SOURCE_DATE_EPOCH</code></li>
</ul>
<p>The JDK build system will set the <code>SOURCE_DATE_EPOCH</code> environment variable during building, depending on the value of the <code>--with-source-date</code> option for <code>configure</code>. The default value is <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>.</p>
<p>The <a href="https://reproducible-builds.org/docs/source-date-epoch/"><code>SOURCE_DATE_EPOCH</code> environment variable</a> is an industry standard, that many tools, such as gcc, recognize, and use in place of the current time when generating output.</p>
<p>For reproducible builds, you need to set this to a fixed value. You can use the special value <code>version</code> which will use the nominal release date for the current JDK version, or a value describing a date, either an epoch based timestamp as an integer, or a valid ISO-8601 date.</p>
<p><strong>Hint:</strong> If your build environment already sets <code>SOURCE_DATE_EPOCH</code>, you can propagate this using <code>--with-source-date=$SOURCE_DATE_EPOCH</code>.</p>
<ul>
<li>Specify a hotspot build time</li>
</ul>
<p>Set a fixed hotspot build time. This will be included in the hotspot library (<code>libjvm.so</code> or <code>jvm.dll</code>) and defaults to the current time when building hotspot. Use <code>--with-hotspot-build-time=&lt;any fixed string&gt;</code> for reproducible builds. It's a string so you don't need to format it specifically, so e.g. <code>n/a</code> will do. Another solution is to use the <code>SOURCE_DATE_EPOCH</code> variable, e.g. <code>--with-hotspot-build-time=$(date --date=@$SOURCE_DATE_EPOCH)</code>.</p>
<ul>
<li>Copyright year</li>
</ul>
<p>The copyright year in some generated text files are normally set to the current year. This can be overridden by <code>--with-copyright-year=&lt;year&gt;</code>. For fully reproducible builds, this needs to be set to a fixed value.</p>
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
<h3 id="bash-completion">Bash Completion</h3>
<p>The <code>configure</code> and <code>make</code> commands tries to play nice with bash command-line completion (using <code>&lt;tab&gt;</code> or <code>&lt;tab&gt;&lt;tab&gt;</code>). To use this functionality, make sure you enable completion in your <code>~/.bashrc</code> (see instructions for bash in your operating system).</p>

View File

@@ -179,10 +179,10 @@ On Windows, it is important that you pay attention to the instructions in the
Windows is the only non-POSIX OS supported by the JDK, and as such, requires
some extra care. A POSIX support layer is required to build on Windows.
Currently, the only supported such layers are Cygwin and Windows Subsystem for
Linux (WSL). (Msys is no longer supported due to a too old bash; msys2 would
likely be possible to support in a future version but that would require effort
to implement.)
Currently, the only supported such layers are Cygwin, Windows Subsystem for
Linux (WSL), and MSYS2. (MSYS is no longer supported due to an outdated bash;
While OpenJDK can be built with MSYS2, support for it is still experimental, so
build failures and unusual errors are not uncommon.)
Internally in the build system, all paths are represented as Unix-style paths,
e.g. `/cygdrive/c/git/jdk/Makefile` rather than `C:\git\jdk\Makefile`. This
@@ -305,12 +305,12 @@ 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.
Operating system Supported toolchain
------------------ -------------------------
Linux gcc, clang
macOS Apple Xcode (using clang)
AIX IBM XL C/C++
Windows Microsoft Visual Studio
| Operating system | Supported toolchain |
| ------------------ | ------------------------- |
| Linux | gcc, clang |
| macOS | Apple Xcode (using clang) |
| AIX | IBM XL C/C++ |
| Windows | Microsoft Visual Studio |
Please see the individual sections on the toolchains for version
recommendations. As a reference, these versions of the toolchains are used, at
@@ -319,11 +319,11 @@ possible to compile the JDK with both older and newer versions, but the closer
you stay to this list, the more likely you are to compile successfully without
issues.
Operating system Toolchain version
------------------ -------------------------------------------------------
Linux gcc 10.2.0
macOS Apple Xcode 10.1 (using clang 10.0.0)
Windows Microsoft Visual Studio 2019 update 16.7.2
| Operating system | Toolchain version |
| ------------------ | ------------------------------------------ |
| Linux | gcc 11.2.0 |
| macOS | Apple Xcode 10.1 (using clang 10.0.0) |
| Windows | Microsoft Visual Studio 2022 update 17.1.0 |
All compilers are expected to be able to compile to the C99 language standard,
as some C99 features are used in the source code. Microsoft Visual Studio
@@ -335,7 +335,7 @@ features that it does support.
The minimum accepted version of gcc is 5.0. Older versions will generate a warning
by `configure` and are unlikely to work.
The JDK is currently known to be able to compile with at least version 10.2 of
The JDK is currently known to be able to compile with at least version 11.2 of
gcc.
In general, any version between these two should be usable.
@@ -351,20 +351,20 @@ To use clang instead of gcc on Linux, use `--with-toolchain-type=clang`.
The oldest supported version of Xcode is 8.
You will need the Xcode command lines developers tools to be able to build
the JDK. (Actually, *only* the command lines tools are needed, not the IDE.)
You will need the Xcode command line developer tools to be able to build
the JDK. (Actually, *only* the command line tools are needed, not the IDE.)
The simplest way to install these is to run:
```
xcode-select --install
```
It is advisable to keep an older version of Xcode for building the JDK when
updating Xcode. This [blog page](
http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html) has
good suggestions on managing multiple Xcode versions. To use a specific version
of Xcode, use `xcode-select -s` before running `configure`, or use
`--with-toolchain-path` to point to the version of Xcode to use, e.g.
`configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin`
When updating Xcode, it is advisable to keep an older version for building the JDK.
To use a specific version of Xcode you have multiple options:
* Use `xcode-select -s` before running `configure`, e.g. `xcode-select -s /Applications/Xcode13.1.app`. The drawback is that the setting
is system wide and you may have to revert it after an OpenJDK build.
* Use configure option `--with-xcode-path`, e.g. `configure --with-xcode-path=/Applications/Xcode13.1.app`
This allows using a specific Xcode version for an OpenJDK build, independently of the active Xcode version by `xcode-select`.
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 [Problems with the
@@ -848,7 +848,7 @@ containing `lib/jtreg.jar` etc.
The [Adoption Group](https://wiki.openjdk.java.net/display/Adoption) provides
recent builds of jtreg [here](
https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
https://ci.adoptium.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
`jtreg` directory that you just unpacked.
@@ -868,6 +868,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
@@ -1503,68 +1539,6 @@ If you need general help or advice about developing for the JDK, you can also
contact the Adoption Group. See the section on [Contributing to OpenJDK](
#contributing-to-openjdk) for more information.
## Reproducible Builds
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 [Reproducible Builds](
https://reproducible-builds.org) for more information about the background and
reasons for reproducible builds.
Currently, it is not possible to build OpenJDK fully reproducibly, but getting
there is an ongoing effort. There are some things you can do to minimize
non-determinism and make a larger part of the build reproducible:
* Turn on build system support for reproducible builds
Add the flag `--enable-reproducible-build` to your `configure` command line.
This will turn on support for reproducible builds where it could otherwise be
lacking.
* Do not rely on `configure`'s default adhoc version strings
Default adhoc version strings OPT segment include user name, source directory
and timestamp. You can either override just the OPT segment using
`--with-version-opt=<any fixed string>`, or you can specify the entire version
string using `--with-version-string=<your version>`.
* Specify how the build sets `SOURCE_DATE_EPOCH`
The JDK build system will set the `SOURCE_DATE_EPOCH` environment variable
during building, depending on the value of the `--with-source-date` option for
`configure`. The default value is `updated`, which means that
`SOURCE_DATE_EPOCH` will be set to the current time each time you are running
`make`.
The [`SOURCE_DATE_EPOCH` environment variable](
https://reproducible-builds.org/docs/source-date-epoch/) is an industry
standard, that many tools, such as gcc, recognize, and use in place of the
current time when generating output.
For reproducible builds, you need to set this to a fixed value. You can use the
special value `version` which will use the nominal release date for the current
JDK version, or a value describing a date, either an epoch based timestamp as an
integer, or a valid ISO-8601 date.
**Hint:** If your build environment already sets `SOURCE_DATE_EPOCH`, you can
propagate this using `--with-source-date=$SOURCE_DATE_EPOCH`.
* Specify a hotspot build time
Set a fixed hotspot build time. This will be included in the hotspot library
(`libjvm.so` or `jvm.dll`) and defaults to the current time when building
hotspot. Use `--with-hotspot-build-time=<any fixed string>` for reproducible
builds. It's a string so you don't need to format it specifically, so e.g. `n/a`
will do. Another solution is to use the `SOURCE_DATE_EPOCH` variable, e.g.
`--with-hotspot-build-time=$(date --date=@$SOURCE_DATE_EPOCH)`.
* Copyright year
The copyright year in some generated text files are normally set to the current
year. This can be overridden by `--with-copyright-year=<year>`. For fully
reproducible builds, this needs to be set to a fixed value.
## Hints and Suggestions for Advanced Users
### Bash Completion

View File

@@ -50,7 +50,6 @@
<li><a href="#nullptr">nullptr</a></li>
<li><a href="#atomic">&lt;atomic&gt;</a></li>
<li><a href="#uniform-initialization">Uniform Initialization</a></li>
<li><a href="#local-function-objects">Local Function Objects</a></li>
<li><a href="#additional-permitted-features">Additional Permitted Features</a></li>
<li><a href="#excluded-features">Excluded Features</a></li>
<li><a href="#undecided-features">Undecided Features</a></li>
@@ -195,7 +194,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
<p>Similar discussions for some other projects:</p>
<ul>
<li><p><a href="https://google.github.io/styleguide/cppguide.html">Google C++ Style Guide</a> — Currently (2020) targeting C++17.</p></li>
<li><p><a href="https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++11.md">C++11 and C++14 use in Chromium</a> — Categorizes features as allowed, banned, or to be discussed.</p></li>
<li><p><a href="https://chromium-cpp.appspot.com">C++11 and C++14 use in Chromium</a> — Categorizes features as allowed, banned, or to be discussed.</p></li>
<li><p><a href="https://llvm.org/docs/CodingStandards.html">llvm Coding Standards</a> — Currently (2020) targeting C++14.</p></li>
<li><p><a href="https://firefox-source-docs.mozilla.org/code-quality/coding-style/using_cxx_in_firefox_code.html">Using C++ in Mozilla code</a> — C++17 support is required for recent versions (2020).</p></li>
</ul>
@@ -255,7 +254,8 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
<li><p>Function argument deduction. This is always permitted, and indeed encouraged. It is nearly always better to allow the type of a function template argument to be deduced rather than explicitly specified.</p></li>
<li><p><code>auto</code> variable declarations (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf">n1984</a>)<br> For local variables, this can be used to make the code clearer by eliminating type information that is obvious or irrelevant. Excessive use can make code much harder to understand.</p></li>
<li><p>Function return type deduction (<a href="https://isocpp.org/files/papers/N3638.html">n3638</a>)<br> Only use if the function body has a very small number of <code>return</code> statements, and generally relatively little other code.</p></li>
<li><p>Also see <a href="#lambdaexpressions">lambda expressions</a>.</p></li>
<li><p>Generic lambdas. Lambdas are not (yet) permitted.</p></li>
<li><p>Lambda init captures. Lambdas are not (yet) permitted.</p></li>
</ul>
<h3 id="expression-sfinae">Expression SFINAE</h3>
<p><a href="https://en.cppreference.com/w/cpp/language/sfinae" title="Substitution Failure Is Not An Error">Substitution Failure Is Not An Error</a> (SFINAE) is a template metaprogramming technique that makes use of template parameter substitution failures to make compile-time decisions.</p>
@@ -288,121 +288,6 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
<li><a href="https://en.cppreference.com/w/cpp/language/aggregate_initialization">aggregate initialization</a></li>
</ul>
<p>Although related, the use of <code>std::initializer_list</code> remains forbidden, as part of the avoidance of the C++ Standard Library in HotSpot code.</p>
<h3 id="local-function-objects">Local Function Objects</h3>
<ul>
<li>Local function objects, including lambda expressions, may be used.</li>
<li>Lambda expressions must only be used as a downward value.</li>
<li>Prefer <code>[&amp;]</code> as the capture list of a lambda expression.</li>
<li>Return type deduction for lambda expressions is permitted, and indeed encouraged.</li>
<li>An empty parameter list for a lambda expression may be elided.</li>
<li>A lambda expression must not be <code>mutable</code>.</li>
<li>Generic lambda expressions are permitted.</li>
<li>Lambda expressions should be relatively simple.</li>
<li>Anonymous lambda expressions should not overly clutter the enclosing expression.</li>
<li>An anonymous lambda expression must not be directly invoked.</li>
<li>Bind expressions are forbidden.</li>
</ul>
<p>Single-use function objects can be defined locally within a function, directly at the point of use. This is an alternative to having a function or function object class defined at class or namespace scope.</p>
<p>This usage was somewhat limited by C++03, which does not permit such a class to be used as a template parameter. That restriction was removed by C++11 (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm">n2657</a>). Use of this feature is permitted.</p>
<p>Many HotSpot protocols involve &quot;function-like&quot; objects that involve some named member function rather than a call operator. For example, a function that performs some action on all threads might be written as</p>
<pre><code>void do_something() {
struct DoSomething : public ThreadClosure {
virtual void do_thread(Thread* t) {
... do something with t ...
}
} closure;
Threads::threads_do(&amp;closure);
}</code></pre>
<p>HotSpot code has historically usually placed the DoSomething class at namespace (or sometimes class) scope. This separates the function's code from its use, often to the detriment of readability. It requires giving the class a globally unique name (if at namespace scope). It also loses the information that the class is intended for use in exactly one place, and does not have any subclasses. (However, the latter can now be indicated by declaring it <code>final</code>.) Often, for simplicity, a local class will skip things like access control and accessor functions, giving the enclosing function direct access to the implementation and eliminating some boilerplate that might be provided if the class is in some outer (more accessible) scope. On the other hand, if there is a lot of surrounding code in the function body or the local class is of significant size, defining it locally can increase clutter and reduce readability.</p>
<p><a name="lambdaexpressions"></a> C++11 added <em>lambda expressions</em> as a new way to write a function object. Simple lambda expressions can be significantly more concise than a function object, eliminating a lot of boiler-plate. On the other hand, a complex lambda expression may not provide much, if any, readability benefit compared to an ordinary function object. Also, while a lambda can encapsulate a call to a &quot;function-like&quot; object, it cannot be used in place of such.</p>
<p>A common use for local functions is as one-use <a href="https://en.cppreference.com/w/cpp/language/raii" title="Resource Acquisition Is Initialization">RAII</a> objects. The amount of boilerplate for a function object class (local or not) makes such usage somewhat clumsy and verbose. But with the help of a small amount of supporting utility code, lambdas work particularly well for this use case.</p>
<p>Another use for local functions is <a href="https://en.wikipedia.org/wiki/Partial_application" title="Partial Application">partial application</a>. Again here, lambdas are typically much simpler and less verbose than function object classes.</p>
<p>Because of these benefits, lambda expressions are permitted in HotSpot code, with some restrictions and usage guidance. An anonymous lambda is one which is passed directly as an argument. A named lambda is the value of a variable, which is its name.</p>
<p>Lambda expressions should only be passed downward. In particular, a lambda should not be returned from a function or stored in a global variable, whether directly or as the value of a member of some other object. Lambda capture is syntactically subtle (by design), and propagating a lambda in such ways can easily pass references to captured values to places where they are no longer valid. In particular, members of the enclosing <code>this</code> object are effectively captured by reference, even if the default capture is by-value. For such uses-cases a function object class should be used to make the desired value capturing and propagation explicit.</p>
<p>Limiting the capture list to <code>[&amp;]</code> (implicitly capture by reference) is a simplifying restriction that still provides good support for HotSpot usage, while reducing the cases a reader must recognize and understand.</p>
<ul>
<li><p>Many common lambda uses require reference capture. Not permitting it would substantially reduce the utility of lambdas.</p></li>
<li><p>Referential transparency. Implicit reference capture makes variable references in the lambda body have the same meaning they would have in the enclosing code. There isn't a semantic barrier across which the meaning of a variable changes.</p></li>
<li><p>Explicit reference capture introduces significant clutter, especially when lambda expressions are relatively small and simple, as they should be in HotSpot code.</p></li>
<li><p>There are a number of reasons why by-value capture might be used, but for the most part they don't apply to HotSpot code, given other usage restrictions.</p>
<ul>
<li><p>A primary use-case for by-value capture is to support escaping uses, where values captured by-reference might become invalid. That use-case doesn't apply if only downward lambdas are used.</p></li>
<li><p>By-value capture can also make a lambda-local copy for mutation, which requires making the lambda <code>mutable</code>; see below.</p></li>
<li><p>By-value capture might be viewed as an optimization, avoiding any overhead for reference capture of cheap to copy values. But the compiler can often eliminate any such overhead.</p></li>
<li><p>By-value capture by a non-<code>mutable</code> lambda makes the captured values const, preventing any modification by the lambda and making the captured value unaffected by modifications to the outer variable. But this only applies to captured auto variables, not member variables, and is inconsistent with referential transparency.</p></li>
</ul></li>
<li><p>Non-capturing lambdas (with an empty capture list - <code>[]</code>) have limited utility. There are cases where no captures are required (pure functions, for example), but if the function is small and simple then that's obvious anyway.</p></li>
<li><p>Capture initializers (a C++14 feature - <a href="https://isocpp.org/files/papers/N3649.html">N3649</a>) are not permitted. Capture initializers inherently increase the complexity of the capture list, and provide little benefit over an additional in-scope local variable.</p></li>
</ul>
<p>The use of <code>mutable</code> lambda expressions is forbidden because there don't seem to be many, if any, good use-cases for them in HotSpot. A lambda expression needs to be mutable in order to modify a by-value captured value. But with only downward lambdas, such usage seems likely to be rare and complicated. It is better to use a function object class in any such cases that arise, rather than requiring all HotSpot developers to understand this relatively obscure feature.</p>
<p>While it is possible to directly invoke an anonymous lambda expression, that feature should not be used, as such a form can be confusing to readers. Instead, name the lambda and call it by name.</p>
<p>Some reasons to prefer a named lambda instead of an anonymous lambda are</p>
<ul>
<li><p>The body contains non-trivial control flow or declarations or other nested constructs.</p></li>
<li><p>Its role in an argument list is hard to guess without examining the function declaration. Give it a name that indicates its purpose.</p></li>
<li><p>It has an unusual capture list.</p></li>
<li><p>It has a complex explicit return type or parameter types.</p></li>
</ul>
<p>Lambda expressions, and particularly anonymous lambda expressions, should be simple and compact. One-liners are good. Anonymous lambdas should usually be limited to a couple lines of body code. More complex lambdas should be named. A named lambda should not clutter the enclosing function and make it long and complex; do continue to break up large functions via the use of separate helper functions.</p>
<p>An anonymous lambda expression should either be a one-liner in a one-line expression, or isolated in its own set of lines. Don't place part of a lambda expression on the same line as other arguments to a function. The body of a multi-line lambda argument should be indented from the start of the capture list, as if that were the start of an ordinary function definition. The body of a multi-line named lambda should be indented one step from the variable's indentation.</p>
<p>Some examples:</p>
<ol type="1">
<li><code>foo([&amp;] { ++counter; });</code></li>
<li><code>foo(x, [&amp;] { ++counter; });</code></li>
<li><code>foo([&amp;] { if (predicate) ++counter; });</code></li>
<li><code>foo([&amp;] { auto tmp = process(x); tmp.f(); return tmp.g(); })</code></li>
<li><p>Separate one-line lambda from other arguments:</p>
<pre><code>foo(c.begin(), c.end(),
[&amp;] (const X&amp; x) { do_something(x); return x.value(); });</code></pre></li>
<li><p>Indentation for multi-line lambda:</p>
<pre><code>c.do_entries([&amp;] (const X&amp; x) {
do_something(x, a);
do_something1(x, b);
do_something2(x, c);
});</code></pre></li>
<li><p>Separate multi-line lambda from other arguments:</p>
<pre><code>foo(c.begin(), c.end(),
[&amp;] (const X&amp; x) {
do_something(x, a);
do_something1(x, b);
do_something2(x, c);
});</code></pre></li>
<li><p>Multi-line named lambda:</p>
<pre><code>auto do_entry = [&amp;] (const X&amp; x) {
do_something(x, a);
do_something1(x, b);
do_something2(x, c);
};</code></pre></li>
</ol>
<p>Item 4, and especially items 6 and 7, are pushing the simplicity limits for anonymous lambdas. Item 6 might be better written using a named lambda:</p>
<pre><code>c.do_entries(do_entry);</code></pre>
<p>Note that C++11 also added <em>bind expressions</em> as a way to write a function object for partial application, using <code>std::bind</code> and related facilities from the Standard Library. <code>std::bind</code> generalizes and replaces some of the binders from C++03. Bind expressions are not permitted in HotSpot code. They don't provide enough benefit over lambdas or local function classes in the cases where bind expressions are applicable to warrant the introduction of yet another mechanism in this space into HotSpot code.</p>
<p>References:</p>
<ul>
<li>Local and unnamed types as template parameters (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm">n2657</a>)</li>
<li>New wording for C++0x lambdas (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf">n2927</a>)</li>
<li>Generalized lambda capture (init-capture) (<a href="https://isocpp.org/files/papers/N3648.html">N3648</a>)</li>
<li>Generic (polymorphic) lambda expressions (<a href="https://isocpp.org/files/papers/N3649.html">N3649</a>)</li>
</ul>
<p>References from C++17</p>
<ul>
<li>Wording for constexpr lambda (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0170r1.pdf">p0170r1</a>)</li>
<li>Lambda capture of *this by Value (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0018r3.html">p0018r3</a>)</li>
</ul>
<p>References from C++20</p>
<ul>
<li>Allow lambda capture [=, this] (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0409r2.html">p0409r2</a>)</li>
<li>Familiar template syntax for generic lambdas (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0428r2.pdf">p0428r2</a>)</li>
<li>Simplifying implicit lambda capture (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0588r1.html">p0588r1</a>)</li>
<li>Default constructible and assignable stateless lambdas (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0624r2.pdf">p0624r2</a>)</li>
<li>Lambdas in unevaluated contexts (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0315r4.pdf">p0315r4</a>)</li>
<li>Allow pack expansion in lambda init-capture (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0780r2.html">p0780r2</a>) (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2095r0.html">p2095r0</a>)</li>
<li>Deprecate implicit capture of this via [=] (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0806r2.html">p0806r2</a>)</li>
</ul>
<p>References from C++23</p>
<ul>
<li>Make () more optional for lambdas (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1102r2.html">p1102r2</a>)</li>
</ul>
<h3 id="additional-permitted-features">Additional Permitted Features</h3>
<ul>
<li><p><code>constexpr</code> (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf">n2235</a>) (<a href="https://isocpp.org/files/papers/N3652.html">n3652</a>)</p></li>
@@ -420,6 +305,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
<li><p>Dynamic initialization and destruction with concurrency (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm">n2660</a>)</p></li>
<li><p><code>final</code> virtual specifiers for classes and virtual functions (<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm">n2928</a>), (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm">n3206</a>), (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm">n3272</a>)</p></li>
<li><p><code>override</code> virtual specifiers for virtual functions (<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm">n2928</a>), (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm">n3206</a>), (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm">n3272</a>)</p></li>
<li><p>Local and unnamed types as template parameters (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm">n2657</a>)</p></li>
<li><p>Range-based <code>for</code> loops (<a href="http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html">n2930</a>) (<a href="https://en.cppreference.com/w/cpp/language/range-for">range-for</a>)</p></li>
</ul>
<h3 id="excluded-features">Excluded Features</h3>
@@ -451,6 +337,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
<li><p>Member initializers and aggregates (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html">n3653</a>)</p></li>
<li><p><code>[[noreturn]]</code> attribute (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)</p></li>
<li><p>Rvalue references and move semantics</p></li>
<li><p>Lambdas</p></li>
</ul>
</body>
</html>

View File

@@ -409,7 +409,7 @@ Similar discussions for some other projects:
* [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) &mdash;
Currently (2020) targeting C++17.
* [C++11 and C++14 use in Chromium](https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++11.md) &mdash;
* [C++11 and C++14 use in Chromium](https://chromium-cpp.appspot.com) &mdash;
Categorizes features as allowed, banned, or to be discussed.
* [llvm Coding Standards](https://llvm.org/docs/CodingStandards.html) &mdash;
@@ -596,7 +596,9 @@ use can make code much harder to understand.
Only use if the function body has a very small number of `return`
statements, and generally relatively little other code.
* Also see [lambda expressions](#lambdaexpressions).
* Generic lambdas. Lambdas are not (yet) permitted.
* Lambda init captures. Lambdas are not (yet) permitted.
### Expression SFINAE
@@ -701,273 +703,6 @@ Some relevant sections from cppreference.com:
Although related, the use of `std::initializer_list` remains forbidden, as
part of the avoidance of the C++ Standard Library in HotSpot code.
### Local Function Objects
* Local function objects, including lambda expressions, may be used.
* Lambda expressions must only be used as a downward value.
* Prefer `[&]` as the capture list of a lambda expression.
* Return type deduction for lambda expressions is permitted, and indeed encouraged.
* An empty parameter list for a lambda expression may be elided.
* A lambda expression must not be `mutable`.
* Generic lambda expressions are permitted.
* Lambda expressions should be relatively simple.
* Anonymous lambda expressions should not overly clutter the enclosing expression.
* An anonymous lambda expression must not be directly invoked.
* Bind expressions are forbidden.
Single-use function objects can be defined locally within a function,
directly at the point of use. This is an alternative to having a function
or function object class defined at class or namespace scope.
This usage was somewhat limited by C++03, which does not permit such a class
to be used as a template parameter. That restriction was removed by C++11
([n2657]). Use of this feature is permitted.
Many HotSpot protocols involve "function-like" objects that involve some
named member function rather than a call operator. For example, a function
that performs some action on all threads might be written as
```
void do_something() {
struct DoSomething : public ThreadClosure {
virtual void do_thread(Thread* t) {
... do something with t ...
}
} closure;
Threads::threads_do(&closure);
}
```
HotSpot code has historically usually placed the DoSomething class at
namespace (or sometimes class) scope. This separates the function's code
from its use, often to the detriment of readability. It requires giving the
class a globally unique name (if at namespace scope). It also loses the
information that the class is intended for use in exactly one place, and
does not have any subclasses. (However, the latter can now be indicated by
declaring it `final`.) Often, for simplicity, a local class will skip
things like access control and accessor functions, giving the enclosing
function direct access to the implementation and eliminating some
boilerplate that might be provided if the class is in some outer (more
accessible) scope. On the other hand, if there is a lot of surrounding code
in the function body or the local class is of significant size, defining it
locally can increase clutter and reduce readability.
<a name="lambdaexpressions"></a>
C++11 added _lambda expressions_ as a new way to write a function object.
Simple lambda expressions can be significantly more concise than a function
object, eliminating a lot of boiler-plate. On the other hand, a complex
lambda expression may not provide much, if any, readability benefit compared
to an ordinary function object. Also, while a lambda can encapsulate a call
to a "function-like" object, it cannot be used in place of such.
A common use for local functions is as one-use [RAII] objects. The amount
of boilerplate for a function object class (local or not) makes such usage
somewhat clumsy and verbose. But with the help of a small amount of
supporting utility code, lambdas work particularly well for this use case.
Another use for local functions is [partial application][PARTIALAPP]. Again
here, lambdas are typically much simpler and less verbose than function
object classes.
Because of these benefits, lambda expressions are permitted in HotSpot code,
with some restrictions and usage guidance. An anonymous lambda is one which
is passed directly as an argument. A named lambda is the value of a
variable, which is its name.
Lambda expressions should only be passed downward. In particular, a lambda
should not be returned from a function or stored in a global variable,
whether directly or as the value of a member of some other object. Lambda
capture is syntactically subtle (by design), and propagating a lambda in
such ways can easily pass references to captured values to places where they
are no longer valid. In particular, members of the enclosing `this` object
are effectively captured by reference, even if the default capture is
by-value. For such uses-cases a function object class should be used to
make the desired value capturing and propagation explicit.
Limiting the capture list to `[&]` (implicitly capture by reference) is a
simplifying restriction that still provides good support for HotSpot usage,
while reducing the cases a reader must recognize and understand.
* Many common lambda uses require reference capture. Not permitting it
would substantially reduce the utility of lambdas.
* Referential transparency. Implicit reference capture makes variable
references in the lambda body have the same meaning they would have in the
enclosing code. There isn't a semantic barrier across which the meaning of
a variable changes.
* Explicit reference capture introduces significant clutter, especially when
lambda expressions are relatively small and simple, as they should be in
HotSpot code.
* There are a number of reasons why by-value capture might be used, but for
the most part they don't apply to HotSpot code, given other usage restrictions.
* A primary use-case for by-value capture is to support escaping uses,
where values captured by-reference might become invalid. That use-case
doesn't apply if only downward lambdas are used.
* By-value capture can also make a lambda-local copy for mutation, which
requires making the lambda `mutable`; see below.
* By-value capture might be viewed as an optimization, avoiding any
overhead for reference capture of cheap to copy values. But the
compiler can often eliminate any such overhead.
* By-value capture by a non-`mutable` lambda makes the captured values
const, preventing any modification by the lambda and making the captured
value unaffected by modifications to the outer variable. But this only
applies to captured auto variables, not member variables, and is
inconsistent with referential transparency.
* Non-capturing lambdas (with an empty capture list - `[]`) have limited
utility. There are cases where no captures are required (pure functions,
for example), but if the function is small and simple then that's obvious
anyway.
* Capture initializers (a C++14 feature - [N3649]) are not permitted.
Capture initializers inherently increase the complexity of the capture list,
and provide little benefit over an additional in-scope local variable.
The use of `mutable` lambda expressions is forbidden because there don't
seem to be many, if any, good use-cases for them in HotSpot. A lambda
expression needs to be mutable in order to modify a by-value captured value.
But with only downward lambdas, such usage seems likely to be rare and
complicated. It is better to use a function object class in any such cases
that arise, rather than requiring all HotSpot developers to understand this
relatively obscure feature.
While it is possible to directly invoke an anonymous lambda expression, that
feature should not be used, as such a form can be confusing to readers.
Instead, name the lambda and call it by name.
Some reasons to prefer a named lambda instead of an anonymous lambda are
* The body contains non-trivial control flow or declarations or other nested
constructs.
* Its role in an argument list is hard to guess without examining the
function declaration. Give it a name that indicates its purpose.
* It has an unusual capture list.
* It has a complex explicit return type or parameter types.
Lambda expressions, and particularly anonymous lambda expressions, should be
simple and compact. One-liners are good. Anonymous lambdas should usually
be limited to a couple lines of body code. More complex lambdas should be
named. A named lambda should not clutter the enclosing function and make it
long and complex; do continue to break up large functions via the use of
separate helper functions.
An anonymous lambda expression should either be a one-liner in a one-line
expression, or isolated in its own set of lines. Don't place part of a
lambda expression on the same line as other arguments to a function. The
body of a multi-line lambda argument should be indented from the start of
the capture list, as if that were the start of an ordinary function
definition. The body of a multi-line named lambda should be indented one
step from the variable's indentation.
Some examples:
1. `foo([&] { ++counter; });`
2. `foo(x, [&] { ++counter; });`
3. `foo([&] { if (predicate) ++counter; });`
4. `foo([&] { auto tmp = process(x); tmp.f(); return tmp.g(); })`
5. Separate one-line lambda from other arguments:
```
foo(c.begin(), c.end(),
[&] (const X& x) { do_something(x); return x.value(); });
```
6. Indentation for multi-line lambda:
```
c.do_entries([&] (const X& x) {
do_something(x, a);
do_something1(x, b);
do_something2(x, c);
});
```
7. Separate multi-line lambda from other arguments:
```
foo(c.begin(), c.end(),
[&] (const X& x) {
do_something(x, a);
do_something1(x, b);
do_something2(x, c);
});
```
8. Multi-line named lambda:
```
auto do_entry = [&] (const X& x) {
do_something(x, a);
do_something1(x, b);
do_something2(x, c);
};
```
Item 4, and especially items 6 and 7, are pushing the simplicity limits for
anonymous lambdas. Item 6 might be better written using a named lambda:
```
c.do_entries(do_entry);
```
Note that C++11 also added _bind expressions_ as a way to write a function
object for partial application, using `std::bind` and related facilities
from the Standard Library. `std::bind` generalizes and replaces some of the
binders from C++03. Bind expressions are not permitted in HotSpot code.
They don't provide enough benefit over lambdas or local function classes in
the cases where bind expressions are applicable to warrant the introduction
of yet another mechanism in this space into HotSpot code.
References:
* Local and unnamed types as template parameters ([n2657])
* New wording for C++0x lambdas ([n2927])
* Generalized lambda capture (init-capture) ([N3648])
* Generic (polymorphic) lambda expressions ([N3649])
[n2657]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm
[n2927]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf
[N3648]: https://isocpp.org/files/papers/N3648.html
[N3649]: https://isocpp.org/files/papers/N3649.html
References from C++17
* Wording for constexpr lambda ([p0170r1])
* Lambda capture of *this by Value ([p0018r3])
[p0170r1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0170r1.pdf
[p0018r3]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0018r3.html
References from C++20
* Allow lambda capture [=, this] ([p0409r2])
* Familiar template syntax for generic lambdas ([p0428r2])
* Simplifying implicit lambda capture ([p0588r1])
* Default constructible and assignable stateless lambdas ([p0624r2])
* Lambdas in unevaluated contexts ([p0315r4])
* Allow pack expansion in lambda init-capture ([p0780r2]) ([p2095r0])
* Deprecate implicit capture of this via [=] ([p0806r2])
[p0409r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0409r2.html
[p0428r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0428r2.pdf
[p0588r1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0588r1.html
[p0624r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0624r2.pdf
[p0315r4]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0315r4.pdf
[p0780r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0780r2.html
[p2095r0]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2095r0.html
[p0806r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0806r2.html
References from C++23
* Make () more optional for lambdas ([p1102r2])
[p1102r2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1102r2.html
### Additional Permitted Features
* `constexpr`
@@ -1022,6 +757,9 @@ References from C++23
([n3206](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm)),
([n3272](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm))
* Local and unnamed types as template parameters
([n2657](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm))
* Range-based `for` loops
([n2930](http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html))
([range-for](https://en.cppreference.com/w/cpp/language/range-for))
@@ -1099,6 +837,9 @@ features that have not yet been discussed.
* Rvalue references and move semantics
* Lambdas
[ADL]: https://en.cppreference.com/w/cpp/language/adl
"Argument Dependent Lookup"
@@ -1113,6 +854,3 @@ features that have not yet been discussed.
[SFINAE]: https://en.cppreference.com/w/cpp/language/sfinae
"Substitution Failure Is Not An Error"
[PARTIALAPP]: https://en.wikipedia.org/wiki/Partial_application
"Partial Application"

View File

@@ -193,9 +193,9 @@ TEST FAILURE</code></pre>
<h4 id="aot_modules-1">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<h4 id="retry_count">RETRY_COUNT</h4>
<p>Retry failed tests up to a set number of times. Defaults to 0.</p>
<p>Retry failed tests up to a set number of times, until they pass. This allows to pass the tests with intermittent failures. Defaults to 0.</p>
<h4 id="repeat_count">REPEAT_COUNT</h4>
<p>Repeat the tests for a set number of times. Defaults to 0.</p>
<p>Repeat the tests up to a set number of times, stopping at first failure. This helps to reproduce intermittent test failures. Defaults to 0.</p>
<h3 id="gtest-keywords">Gtest keywords</h3>
<h4 id="repeat">REPEAT</h4>
<p>The number of times to repeat the tests (<code>--gtest_repeat</code>).</p>
@@ -231,7 +231,7 @@ TEST FAILURE</code></pre>
JTREG=&quot;JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu
-Djdk.test.docker.image.version=latest&quot;</code></pre>
<h3 id="non-us-locale">Non-US locale</h3>
<p>If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting <code>LANG=&quot;en_US&quot;</code> in the environment before running tests should work. On Windows or MacOS, setting <code>JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot;</code> helps for most, but not all test cases.</p>
<p>If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting <code>LANG=&quot;en_US&quot;</code> in the environment before running tests should work. On Windows, setting <code>JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot;</code> helps for most, but not all test cases.</p>
<p>For example:</p>
<pre><code>$ export LANG=&quot;en_US&quot; &amp;&amp; make test TEST=...
$ make test JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot; TEST=...</code></pre>
@@ -242,14 +242,39 @@ $ make test JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot; TE
JTREG=&quot;JAVA_OPTIONS=-Dtest.nss.lib.paths=/path/to/your/latest/NSS-libs&quot;</code></pre>
<p>For more notes about the PKCS11 tests, please refer to test/jdk/sun/security/pkcs11/README.</p>
<h3 id="client-ui-tests">Client UI Tests</h3>
<h4 id="system-key-shortcuts">System key shortcuts</h4>
<p>Some Client UI tests use key sequences which may be reserved by the operating system. Usually that causes the test failure. So it is highly recommended to disable system key shortcuts prior testing. The steps to access and disable system key shortcuts for various platforms are provided below.</p>
<h4 id="macos">MacOS</h4>
<h5 id="macos">MacOS</h5>
<p>Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts; select or deselect desired shortcut.</p>
<p>For example, test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java fails on MacOS because it uses <code>CTRL + F1</code> key sequence to show or hide tooltip message but the key combination is reserved by the operating system. To run the test correctly the default global key shortcut should be disabled using the steps described above, and then deselect &quot;Turn keyboard access on or off&quot; option which is responsible for <code>CTRL + F1</code> combination.</p>
<h4 id="linux">Linux</h4>
<h5 id="linux">Linux</h5>
<p>Open the Activities overview and start typing Settings; Choose Settings, click Devices, then click Keyboard; set or override desired shortcut.</p>
<h4 id="windows">Windows</h4>
<h5 id="windows">Windows</h5>
<p>Type <code>gpedit</code> in the Search and then click Edit group policy; navigate to User Configuration -&gt; Administrative Templates -&gt; Windows Components -&gt; File Explorer; in the right-side pane look for &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>
<h4 id="robot-api">Robot API</h4>
<p>Most automated Client UI tests use <code>Robot</code> API to control
the UI. Usually, the default operating system settings need to be
adjusted for Robot to work correctly. The detailed steps how to access
and update these settings for different platforms are provided
below.</p>
<h5 id="macos-1">macOS</h5>
<p><code>Robot</code> is not permitted to control your Mac by default
since macOS 10.15. To allow it, choose Apple menu -&gt; System Settings,
click Privacy &amp; Security; then click Accessibility and ensure the
following apps are allowed to control your computer: <em>Java</em> and
<em>Terminal</em>. If the tests are run from an IDE, the IDE should be
granted this permission too.</p>
<h5 id="windows-1">Windows</h5>
<p>On Windows if Cygwin terminal is used to run the tests, there is a
delay in focus transfer. Usually it causes automated UI test failure. To
disable the delay, type <code>regedit</code> in the Search and then
select Registry Editor; navigate to the following key:
<code>HKEY_CURRENT_USER\Control Panel\Desktop</code>; make sure the
<code>ForegroundLockTimeout</code> value is set to 0.</p>
<p>Additional information about Client UI tests configuration for
various operating systems can be obtained at <a
href="https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements">Automated
client GUI testing system set up requirements</a></p>
</body>
</html>

View File

@@ -419,11 +419,15 @@ modules. If multiple modules are specified, they should be separated by space
#### RETRY_COUNT
Retry failed tests up to a set number of times. Defaults to 0.
Retry failed tests up to a set number of times, until they pass.
This allows to pass the tests with intermittent failures.
Defaults to 0.
#### REPEAT_COUNT
Repeat the tests for a set number of times. Defaults to 0.
Repeat the tests up to a set number of times, stopping at first failure.
This helps to reproduce intermittent test failures.
Defaults to 0.
### Gtest keywords
@@ -510,7 +514,7 @@ $ make test TEST="jtreg:test/hotspot/jtreg/containers/docker" \
If your locale is non-US, some tests are likely to fail. To work around this
you can set the locale to US. On Unix platforms simply setting `LANG="en_US"`
in the environment before running tests should work. On Windows or MacOS, setting
in the environment before running tests should work. On Windows, setting
`JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"` helps for most, but
not all test cases.
@@ -542,12 +546,14 @@ test/jdk/sun/security/pkcs11/README.
### Client UI Tests
#### System key shortcuts
Some Client UI tests use key sequences which may be reserved by the operating
system. Usually that causes the test failure. So it is highly recommended to
disable system key shortcuts prior testing. The steps to access and disable
system key shortcuts for various platforms are provided below.
#### MacOS
##### macOS
Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts;
select or deselect desired shortcut.
@@ -560,12 +566,12 @@ test correctly the default global key shortcut should be disabled using the
steps described above, and then deselect "Turn keyboard access on or off"
option which is responsible for `CTRL + F1` combination.
#### Linux
##### Linux
Open the Activities overview and start typing Settings; Choose Settings, click
Devices, then click Keyboard; set or override desired shortcut.
#### Windows
##### Windows
Type `gpedit` in the Search and then click Edit group policy; navigate to User
Configuration -> Administrative Templates -> Windows Components -> File
@@ -574,6 +580,33 @@ double click on it; enable or disable hotkeys.
Note: restart is required to make the settings take effect.
#### Robot API
Most automated Client UI tests use `Robot` API to control the UI. Usually,
the default operating system settings need to be adjusted for Robot
to work correctly. The detailed steps how to access and update these settings
for different platforms are provided below.
##### macOS
`Robot` is not permitted to control your Mac by default since
macOS 10.15. To allow it, choose Apple menu -> System Settings, click
Privacy & Security; then click Accessibility and ensure the following apps are
allowed to control your computer: *Java* and *Terminal*. If the tests are run
from an IDE, the IDE should be granted this permission too.
##### Windows
On Windows if Cygwin terminal is used to run the tests, there is a delay in
focus transfer. Usually it causes automated UI test failure. To disable the
delay, type `regedit` in the Search and then select Registry Editor; navigate
to the following key: `HKEY_CURRENT_USER\Control Panel\Desktop`; make sure
the `ForegroundLockTimeout` value is set to 0.
Additional information about Client UI tests configuration for various operating
systems can be obtained at [Automated client GUI testing system set up
requirements](https://wiki.openjdk.org/display/ClientLibs/Automated+client+GUI+testing+system+set+up+requirements)
---
# 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,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,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,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,95 +0,0 @@
VENDOR_NAME="JetBrains s.r.o."
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION_WITH_DOTS}.${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
--with-native-debug-symbols=none
--with-build-user=builduser"
function do_exit() {
exit_code=$1
[ $do_reset_changes -eq 1 ] && git checkout HEAD 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,87 +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}
sh configure \
--with-debug-level=release \
--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 \
|| exit $?
make clean CONF=linux-aarch64-server-release || exit $?
make images CONF=linux-aarch64-server-release test-image || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-aarch64-b${build_number}
BASE_DIR=build/linux-aarch64-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
# NB: --sort=name requires tar1.28
tar $REPRODUCIBLE_TAR_OPTS --sort=name -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
touch -c -d @$SOURCE_DATE_EPOCH $JBRSDK.tar
gzip $JBSDK.tar || exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-aarch64-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.aarch64
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.aarch64 | 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 $REPRODUCIBLE_TAR_OPTS --sort=name -pcf $JBR.tar -C $BASE_DIR ${JBR_BUNDLE} || exit $?
touch -c -d @$SOURCE_DATE_EPOCH $JBR.tar
gzip $JBR.tar || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-aarch64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?

View File

@@ -1,162 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# 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
#
# 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)
#
# Environment variables:
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_x64
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
JCEF_PATH=${JCEF_PATH:=./jcef_linux_x64}
source jb/project/tools/common/scripts/common.sh
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 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-"
JBR=${__bundle_name}-${JBSDK_VERSION}-linux-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
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=0
;;
"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=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 < 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 [ -z "$bundle_type" ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-linux-test-x64-b${build_number}
echo Creating "$JBRSDK_TEST" ...
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 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,200 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# 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
#
# 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)
#
# Environment variables:
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_mac
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
architecture=$5 # aarch64 or x64
enable_aot=$6 # temporary param for building test jre with aot under aarch64
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=./modular-sdk}"
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
architecture=${architecture:=x64}
BOOT_JDK=${BOOT_JDK:=$(/usr/libexec/java_home -v 16)}
source jb/project/tools/common/scripts/common.sh
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
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=0
;;
"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=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
major_version=$(echo "$JBSDK_VERSION_WITH_DOTS" | awk -F "." '{print $1}')
minor_version=$(echo "$JBSDK_VERSION_WITH_DOTS" | awk -F "." '{print $3}')
[ -z "$minor_version" -o "$minor_version" = "0" ] && version_dir=$major_version || version_dir=$JBSDK_VERSION_WITH_DOTS
JSDK=$IMAGES_DIR/jdk-bundle/jdk-$version_dir.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 < 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 [ -z "$bundle_type" ]; then
JBRSDK_TEST=${JBRSDK_BUNDLE}-${JBSDK_VERSION}-osx-test-${architecture}-b${build_number}
echo Creating "$JBRSDK_TEST" ...
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 modules.list modules.list
index 054f21d1ee0..d9a121f0273 100644
--- modules.list
+++ modules.list
@@ -49,4 +49,7 @@ jdk.unsupported,
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;

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,147 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# 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
#
# 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)
#
# Environment variables:
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_x64
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
WORK_DIR=$(pwd)
JCEF_PATH=${JCEF_PATH:=$WORK_DIR/jcef_win_x64}
source jb/project/tools/common/scripts/common.sh
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
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
;;
"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 [ -z "$bundle_type" ]; 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 [ -z "$bundle_type" ]; 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 bundle
modules=$(xargs < 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/\\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,62 +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 modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > 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,58 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies udate release of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to be built; possible values:
# <empty> or nomod - the bundles without any additional modules (jcef)
# jcef - the bundles with jcef
# fd - the fastdebug bundles which also include the jcef module
#
# 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)
#
source jb/project/tools/common/scripts/common.sh
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
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 [ -z "$bundle_type" ]; 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

View File

@@ -278,16 +278,7 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
$(SYMBOLS_EXCLUDE_PATTERN), \
$(ALL_JRE_FILES))
# On Macosx release builds, when there is a code signing certificate available,
# the final bundle layout can be signed.
SIGN_BUNDLE := false
ifeq ($(call isTargetOs, macosx)+$(DEBUG_LEVEL), true+release)
ifneq ($(CODESIGN), )
SIGN_BUNDLE := true
endif
endif
ifeq ($(SIGN_BUNDLE), true)
ifeq ($(MACOSX_CODESIGN_MODE), hardened)
# Macosx release build and code signing available.
################################################################################

View File

@@ -71,11 +71,11 @@ define SetupInterimModule
SRC := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim \
$$(wildcard $(SUPPORT_OUTPUTDIR)/gensrc/$1) \
$(TOPDIR)/src/$1/share/classes, \
EXCLUDES := sun javax/tools/snippet-files, \
EXCLUDES := sun, \
EXCLUDE_FILES := $(TOPDIR)/src/$1/share/classes/module-info.java \
Standard.java, \
EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim/module-info.java, \
COPY := .gif .png .xml .css .svg .js .js.template .txt javax.tools.JavaCompilerTool, \
COPY := .gif .png .xml .css .js .js.template .txt javax.tools.JavaCompilerTool, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules/$1.interim, \
DISABLED_WARNINGS := module options, \
JAVAC_FLAGS := \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 2020, 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
@@ -196,11 +196,6 @@ else # not java.base
endif
endif
# Set main class of jdk.httpserver module
ifeq ($(MODULE), jdk.httpserver)
JMOD_FLAGS += --main-class sun.net.httpserver.simpleserver.Main
endif
# Changes to the jmod tool itself should also trigger a rebuild of all jmods.
# The variable JMOD_CMD could contain an environment variable assignment before
# the actual command. Filter that out using wildcard before adding to DEPS.
@@ -226,6 +221,13 @@ else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
endif
# For reproducible builds specify the jmod --date using SOURCE_DATE in ISO-8601
ifeq ($(ENABLE_REPRODUCIBLE_BUILD), true)
JMOD_SOURCE_DATE := --date $(SOURCE_DATE_ISO_8601)
else
JMOD_SOURCE_DATE :=
endif
# Create jmods in the support dir and then move them into place to keep the
# module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
$(eval $(call SetupExecute, create_$(JMOD_FILE), \
@@ -237,6 +239,7 @@ $(eval $(call SetupExecute, create_$(JMOD_FILE), \
COMMAND := $(JMOD) create --module-version $(VERSION_SHORT) \
--target-platform '$(OPENJDK_MODULE_TARGET_PLATFORM)' \
--module-path $(JMODS_DIR) $(JMOD_FLAGS) \
$(JMOD_SOURCE_DATE) \
$(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \
POST_COMMAND := $(MV) $(JMODS_SUPPORT_DIR)/$(JMOD_FILE) $(JMODS_DIR)/$(JMOD_FILE), \
))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -88,10 +88,7 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
$(CAT) $(LINK_OPT_DIR)/stderr $(JLI_TRACE_FILE) ; \
exit $$exitcode \
)
$(GREP) -v HelloClasslist $@.raw.2 > $@.raw.3
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.SortClasslist $@.raw.3 > $@
$(GREP) -v HelloClasslist $@.raw.2 > $@
# The jli trace is created by the same recipe as classlist. By declaring these
# dependencies, make will correctly rebuild both jli trace and classlist

View File

@@ -1,146 +0,0 @@
#
# Copyright (c) 2020, 2021, 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.
#
default: all
include $(SPEC)
include MakeBase.gmk
include JdkNativeCompilation.gmk
################################################################################
# This makefile compiles and installs the hsdis library
#
################################################################################
HSDIS_OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/hsdis
ifeq ($(call isTargetOs, windows), true)
INSTALLED_HSDIS_DIR := $(JDK_OUTPUTDIR)/bin
# On windows, we need to "fake" a completely different toolchain using gcc
# instead of the normal microsoft toolchain. This is quite hacky...
MINGW_BASE := x86_64-w64-mingw32
MINGW_SYSROOT = $(shell $(MINGW_BASE)-gcc -print-sysroot)
ifeq ($(wildcard $(MINGW_SYSROOT)), )
# Use fallback path
MINGW_SYSROOT := /usr/$(MINGW_BASE)
ifeq ($(wildcard $(MINGW_SYSROOT)), )
$(error mingw sysroot not found)
endif
endif
$(eval $(call DefineNativeToolchain, TOOLCHAIN_MINGW, \
CC := $(MINGW_BASE)-gcc, \
LD := $(MINGW_BASE)-ld, \
OBJCOPY := $(MINGW_BASE)-objcopy, \
RC := $(RC), \
SYSROOT_CFLAGS := --sysroot=$(MINGW_SYSROOT), \
SYSROOT_LDFLAGS := --sysroot=$(MINGW_SYSROOT), \
))
MINGW_SYSROOT_LIB_PATH := $(MINGW_SYSROOT)/mingw/lib
ifeq ($(wildcard $(MINGW_SYSROOT_LIB_PATH)), )
# Try without mingw
MINGW_SYSROOT_LIB_PATH := $(MINGW_SYSROOT)/lib
ifeq ($(wildcard $(MINGW_SYSROOT_LIB_PATH)), )
$(error mingw sysroot lib path not found)
endif
endif
MINGW_VERSION = $(shell $(MINGW_BASE)-gcc -v 2>&1 | $(GREP) "gcc version" | $(CUT) -d " " -f 3)
MINGW_GCC_LIB_PATH := /usr/lib/gcc/$(MINGW_BASE)/$(MINGW_VERSION)
ifeq ($(wildcard $(MINGW_GCC_LIB_PATH)), )
# Try using only major version number
MINGW_VERSION_MAJOR := $(firstword $(subst ., , $(MINGW_VERSION)))
MINGW_GCC_LIB_PATH := /usr/lib/gcc/$(MINGW_BASE)/$(MINGW_VERSION_MAJOR)
ifeq ($(wildcard $(MINGW_GCC_LIB_PATH)), )
$(error mingw gcc lib path not found)
endif
endif
TOOLCHAIN_TYPE := gcc
OPENJDK_TARGET_OS := linux
CC_OUT_OPTION := -o$(SPACE)
LD_OUT_OPTION := -o$(SPACE)
GENDEPS_FLAGS := -MMD -MF
CFLAGS_DEBUG_SYMBOLS := -g
DISABLED_WARNINGS :=
DISABLE_WARNING_PREFIX := -Wno-
CFLAGS_WARNINGS_ARE_ERRORS := -Werror
SHARED_LIBRARY_FLAGS := -shared
HSDIS_TOOLCHAIN := TOOLCHAIN_MINGW
HSDIS_TOOLCHAIN_CFLAGS :=
HSDIS_TOOLCHAIN_LDFLAGS := -L$(MINGW_GCC_LIB_PATH) -L$(MINGW_SYSROOT_LIB_PATH)
MINGW_DLLCRT := $(MINGW_SYSROOT_LIB_PATH)/dllcrt2.o
HSDIS_TOOLCHAIN_LIBS := $(MINGW_DLLCRT) -lmingw32 -lgcc -lgcc_eh -lmoldname \
-lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32
else
INSTALLED_HSDIS_DIR := $(JDK_OUTPUTDIR)/lib
HSDIS_TOOLCHAIN := TOOLCHAIN_DEFAULT
HSDIS_TOOLCHAIN_CFLAGS := $(CFLAGS_JDKLIB)
HSDIS_TOOLCHAIN_LDFLAGS := $(LDFLAGS_JDKLIB)
HSDIS_TOOLCHAIN_LIBS := -ldl
endif
$(eval $(call SetupJdkLibrary, BUILD_HSDIS, \
NAME := hsdis, \
SRC := $(TOPDIR)/src/utils/hsdis, \
TOOLCHAIN := $(HSDIS_TOOLCHAIN), \
OUTPUT_DIR := $(HSDIS_OUTPUT_DIR), \
OBJECT_DIR := $(HSDIS_OUTPUT_DIR), \
DISABLED_WARNINGS_gcc := undef format-nonliteral sign-compare, \
DISABLED_WARNINGS_clang := undef format-nonliteral, \
CFLAGS := $(HSDIS_TOOLCHAIN_CFLAGS) $(HSDIS_CFLAGS), \
LDFLAGS := $(HSDIS_TOOLCHAIN_LDFLAGS) $(SHARED_LIBRARY_FLAGS), \
LIBS := $(HSDIS_LIBS) $(HSDIS_TOOLCHAIN_LIBS), \
))
build: $(BUILD_HSDIS)
TARGETS += build
INSTALLED_HSDIS_NAME := hsdis-$(OPENJDK_TARGET_CPU_LEGACY_LIB)$(SHARED_LIBRARY_SUFFIX)
INSTALLED_HSDIS := $(INSTALLED_HSDIS_DIR)/$(INSTALLED_HSDIS_NAME)
$(INSTALLED_HSDIS): $(BUILD_HSDIS_TARGET)
$(call LogWarn, NOTE: The resulting build might not be redistributable. Seek legal advice before distibuting.)
$(install-file)
install: $(INSTALLED_HSDIS)
TARGETS += install
################################################################################
all: $(TARGETS)
.PHONY: all default build install

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, 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
@@ -313,6 +313,15 @@ else # $(HAS_SPEC)=true
SOURCE_DATE := $$(shell $$(DATE) +"%s")
endif
export SOURCE_DATE_EPOCH := $$(SOURCE_DATE)
ifeq ($$(IS_GNU_DATE), yes)
export SOURCE_DATE_ISO_8601 := $$(shell $$(DATE) --utc \
--date="@$$(SOURCE_DATE_EPOCH)" \
+"%Y-%m-%dT%H:%M:%SZ" 2> /dev/null)
else
export SOURCE_DATE_ISO_8601 := $$(shell $$(DATE) -u \
-j -f "%s" "$$(SOURCE_DATE_EPOCH)" \
+"%Y-%m-%dT%H:%M:%SZ" 2> /dev/null)
endif
endef
# Parse COMPARE_BUILD into COMPARE_BUILD_*

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