Compare commits

..

2807 Commits

Author SHA1 Message Date
Jesper Wilhelmsson
82749901b1 8301886: Remove EA from JDK 20 version string starting with Initial RC promotion B35 on February 09, 2023
Reviewed-by: iris, erikj
2023-02-10 19:25:39 +00:00
Alexander Zuev
e81f20b504 8301989: new javax.swing.text.DefaultCaret().setBlinkRate(N) results in NPE
Reviewed-by: dnguyen, honkar, prr
2023-02-08 23:55:58 +00:00
Roger Riggs
6f460e4885 8301863: ObjectInputFilter example incorrectly calls rejectUndecidedClass
Reviewed-by: lancea
2023-02-08 22:09:22 +00:00
Stefan Karlsson
1330d4eaa5 8298377: JfrVframeStream causes deadlocks in ZGC
Backport-of: 453dbd12ee
2023-02-01 13:19:26 +00:00
Kevin Walls
225f80532c 8299891: JMX ObjectInputFilter additional classes needed
Reviewed-by: dfuchs, sspitsyn, cjplummer
2023-02-01 09:14:25 +00:00
Damon Nguyen
ef6200c727 8300269: The selected item in an editable JComboBox with titled border is not visible in Aqua LAF
Co-authored-by: Manukumar V S <mvs@openjdk.org>
Reviewed-by: psadhukhan, kizune, achung, prr
2023-01-27 23:09:14 +00:00
Damon Nguyen
e5860ef60a 8301206: Fix issue with LocaleData after JDK-8300719
Reviewed-by: naoto
2023-01-27 17:22:05 +00:00
Adam Sotona
b22e5216c4 8300953: ClassDesc::ofInternalName missing @since tag
Reviewed-by: darcy, mchung, jjg
2023-01-27 15:09:53 +00:00
Damon Nguyen
a67b1e77d3 8300719: JDK 20 RDP2 L10n resource files update
Reviewed-by: cjplummer, naoto, prr, joehw, asemenyuk, jlu, lancea, ihse, jjg, weijun
2023-01-26 22:33:04 +00:00
Adam Sotona
60b8a98501 8300591: @SuppressWarnings option "lossy-conversions" missing from jdk.compiler module javadoc
Backport-of: 836198a400
2023-01-24 13:15:02 +00:00
Jan Lahoda
a3ed7e94a2 8300623: Lambda deserialization regression involving Enum method reference
Reviewed-by: mcimadamore, vromero
2023-01-24 06:40:06 +00:00
David Holmes
fd752178e3 8290919: Update nroff pages in JDK 20 before RC
Reviewed-by: iris, alanb
2023-01-23 07:44:32 +00:00
Ron Pressler
1c84050610 8298400: Virtual thread instability when stack overflows
Co-authored-by: Fei Yang <fyang@openjdk.org>
Co-authored-by: Richard Reingruber <rrich@openjdk.org>
Reviewed-by: dlong, pchilanomate
2023-01-19 15:34:01 +00:00
Christoph Langer
62a2f2327a 8300490: Spaces in name of MacOS Code Signing Identity are not correctly handled after JDK-8293550
Reviewed-by: erikj
2023-01-19 06:43:44 +00:00
Maurizio Cimadamore
b9275a8ed1 8300275: SegmentScope.isAccessibleBy returning incorrect values
Reviewed-by: alanb, jvernee
2023-01-18 12:36:15 +00:00
Jan Lahoda
c1b4212a53 8300195: Fall-through issue occurs when using record pattern in switch statements
Reviewed-by: vromero
2023-01-18 10:43:53 +00:00
Valerie Peng
0f925fefdf 8295723: security/infra/wycheproof/RunWycheproof.java fails with Assertion Error
Reviewed-by: mschoene, ascarpino, coffeys, rhalade, weijun
2023-01-17 20:58:59 +00:00
Jayathirth D V
bd324cee9c 8295687: Better BMP bounds
Reviewed-by: rhalade, mschoene, psadhukhan, prr
2023-01-17 20:58:59 +00:00
Alexander Zuev
93161e46e7 8293742: Better Banking of Sounds
Reviewed-by: rhalade, azvegint, prr
2023-01-17 20:58:59 +00:00
Valerie Peng
6c5aefe60c 8293554: Enhanced DH Key Exchanges
Reviewed-by: rhalade, mschoene, ascarpino, weijun
2023-01-17 20:58:59 +00:00
Jamil Nimeh
2e8073e4f9 8287411: Enhance DTLS Performance
Reviewed-by: rhalade, ahgross, weijun, ascarpino
2023-01-17 20:58:58 +00:00
Prasanta Sadhukhan
d6b1513233 8293717: Objective view of ObjectView
Reviewed-by: kizune, rhalade, prr, azvegint, skoivu
2023-01-17 20:58:58 +00:00
Jayathirth D V
3364c460a4 8293734: Improve BMP image handling
Reviewed-by: kizune, prr, azvegint, rhalade, mschoene
2023-01-17 20:58:58 +00:00
Daniel Jeliński
b7cfb6817b 8293598: Enhance InetAddress address handling
Reviewed-by: skoivu, alanb, aefimov, rhalade, dfuchs
2023-01-17 20:58:58 +00:00
Markus Grönlund
51e52c4eb8 8286496: Improve Thread labels
Reviewed-by: mschoene, rhalade, egahlin
2023-01-17 20:58:58 +00:00
Phil Race
5aae8226fc 8288516: Enhance font creation
Reviewed-by: psadhukhan, azvegint, rhalade, mschoene
2023-01-17 20:58:58 +00:00
Naoto Sato
ba86c23eaf 8286070: Improve UTF8 representation
Reviewed-by: bchristi, rhalade
2023-01-17 20:58:58 +00:00
Erik Österlund
ae0e02766a 8298059: Linked stack watermarks don't support nesting
Reviewed-by: stefank
Backport-of: b17c52422c
2023-01-17 15:05:51 +00:00
Sergey Bylokhov
e15bdc58ab 8299789: Compilation of gtest causes build to fail if runtime libraries are in different dirs
Reviewed-by: erikj
Backport-of: c8a8388aba
2023-01-14 04:19:54 +00:00
Justin Lu
87865e0eb8 8299502: Usage of constructors of primitive wrapper classes should be avoided in javax.xml API docs
Backport-of: b8852f65a0
2023-01-13 23:19:02 +00:00
Justin Lu
dc5cc61621 8299499: Usage of constructors of primitive wrapper classes should be avoided in java.net API docs
Backport-of: 63cf4aa0c8
2023-01-13 23:17:53 +00:00
Justin Lu
98eae6dade 8299500: Usage of constructors of primitive wrapper classes should be avoided in java.text API docs
Reviewed-by: iris
Backport-of: cd10c7278d
2023-01-13 23:16:48 +00:00
Justin Lu
628266af60 8299501: Usage of constructors of primitive wrapper classes should be avoided in java.util API docs
Backport-of: f36f1354c6
2023-01-13 23:15:28 +00:00
Justin Lu
ab7f43f080 8299498: Usage of constructors of primitive wrapper classes should be avoided in java.lang API docs
Backport-of: d663b5da10
2023-01-13 23:14:14 +00:00
Daniel D. Daugherty
bc498f87f7 8300141: ProblemList java/util/concurrent/locks/Lock/OOMEInAQS.java with ZGC
8300144: ProblemList vmTestbase/nsk/sysdict/vm/stress/chain/chain007/chain007.java with ZGC
8300147: ProblemList vmTestbase/nsk/jvmti/SetFieldModificationWatch/setfmodw001/TestDescription.java in Xcomp

Reviewed-by: mikael
2023-01-13 22:55:08 +00:00
Gerard Ziemski
e0081462f4 8300055: [BACKOUT] OPEN_MAX is no longer the max limit on macOS >= 10.6 for RLIMIT_NOFILE
Reviewed-by: tschatzl, rriggs
2023-01-13 15:38:49 +00:00
Mikael Vidstedt
4b92fb0c6b 8299918: Update Xcode11.3.1-MacOSX10.15 devkit at Oracle
Reviewed-by: erikj
Backport-of: a17b563f54
2023-01-12 18:47:08 +00:00
Roger Riggs
6a4a874356 8299034: Runtime::exec clarification of inherited environment
Reviewed-by: alanb
2023-01-12 14:54:39 +00:00
Christoph Langer
752a37016f 8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR
Reviewed-by: naoto
Backport-of: 3b374c0153
2023-01-12 08:02:58 +00:00
Jorn Vernee
3918f9f523 8299090: Specify coordinate order for additional CaptureCallState parameters on class as well
Reviewed-by: pminborg, mcimadamore
2023-01-12 06:49:27 +00:00
Maurizio Cimadamore
945ef07564 8299862: OfAddress setter should disallow heap segments
Reviewed-by: jvernee
2023-01-11 10:31:25 +00:00
Jan Lahoda
636976ada8 8299849: Revert JDK-8294461: wrong effectively final determination by javac
Reviewed-by: vromero
2023-01-11 07:52:18 +00:00
Abhishek Kumar
0abb87a488 8299227: host exif.org not found in link in doc comment
Reviewed-by: prr, serb
2023-01-11 07:42:42 +00:00
Xiaohong Gong
de79162fdf 8299715: IR test: VectorGatherScatterTest.java fails with SVE randomly
Reviewed-by: psandoz, thartmann
2023-01-11 01:49:56 +00:00
Patricio Chilano Mateo
151450ea9b 8294744: AArch64: applications/kitchensink/Kitchensink.java crashed: assert(oopDesc::is_oop(obj)) failed: not an oop
Co-authored-by: Fei Yang <fyang@openjdk.org>
Reviewed-by: aph, fyang, dcubed
2023-01-10 17:16:26 +00:00
Nick Gasson
21d468e575 8299733: AArch64: "unexpected literal addressing mode" assertion failure with -XX:+PrintC1Statistics
Co-authored-by: Ningsheng Jian <njian@openjdk.org>
Reviewed-by: chagedorn, fyang, aph
2023-01-10 13:29:55 +00:00
Mikael Vidstedt
5826a077f9 8299693: Change to Xcode12.4+1.1 devkit for building on macOS at Oracle
Reviewed-by: erikj
Backport-of: 4b6809b94a
2023-01-10 04:39:53 +00:00
Naoto Sato
d49851a8b8 8299689: Make use of JLine for Console as "opt-in"
Reviewed-by: jpai, alanb
2023-01-09 18:23:42 +00:00
Alexandre Iline
1f141bd7a9 8299705: JCov coverage runs depend on jdk_symbols
Reviewed-by: erikj
2023-01-06 18:51:41 +00:00
Maurizio Cimadamore
5eee2a07f5 8299740: CaptureCallState is missing @Preview annotation
Reviewed-by: alanb
2023-01-06 14:52:08 +00:00
Bhavana Kilambi
136f5db03d 8299528: IR test: TestEor3AArch64.java fails on aarch64
Reviewed-by: thartmann, chagedorn
2023-01-06 10:04:04 +00:00
Pavel Rappo
284c94e20d 8298525: javadoc crashes with "UnsupportedOperationException: Not yet implemented" in SeeTaglet.inherit
Reviewed-by: jjg
2023-01-05 22:43:20 +00:00
Maurizio Cimadamore
9c4ed16be2 8299561: VaList.empty() doesn't return a list associated with the global scope
Reviewed-by: jvernee
2023-01-05 09:44:16 +00:00
Aleksey Shipilev
a17f505d73 8299476: PPC64 Zero build fails after JDK-8286302
Reviewed-by: mdoerr
2023-01-04 10:46:34 +00:00
Kim Barrett
b743519ba9 8293824: gc/whitebox/TestConcMarkCycleWB.java failed "RuntimeException: assertTrue: expected true, was false"
Reviewed-by: iwalulya, tschatzl
2023-01-04 03:28:31 +00:00
David Holmes
8254cbb21d 8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java
Backport-of: 5b5552ff2a
2023-01-03 21:22:16 +00:00
Erik Joelsson
031829d885 8298324: Unable to run shell test with make
Reviewed-by: dholmes
2023-01-03 21:07:19 +00:00
Mark Powers
3eb85d19ec 8299235: broken link referencing missing id
Reviewed-by: mullan
2023-01-03 15:41:55 +00:00
Tobias Hartmann
a6a903d4b6 8288204: GVN Crash: assert() failed: correct memory chain
Backport-of: 0459159537
2023-01-03 08:21:22 +00:00
Jamil Nimeh
37f8b059c1 8298592: Add java man page documentation for ChaCha20 and Poly1305 intrinsics
Reviewed-by: weijun
2022-12-29 22:34:53 +00:00
Daniel D. Daugherty
188911c925 8299241: jdk/jfr/api/consumer/streaming/TestJVMCrash.java generates unnecessary core file
Reviewed-by: coleenp
2022-12-23 13:51:58 +00:00
Stuart Marks
33042a49d7 8299237: add ArraysSupport.newLength test to a test group
Reviewed-by: naoto
2022-12-22 21:56:04 +00:00
Mark Powers
a80c91d036 8299230: Use https: in links
Reviewed-by: jjg, mullan, xuelei
2022-12-22 15:29:53 +00:00
Chris Hegarty
9863f59e1d 8299015: Ensure that HttpResponse.BodySubscribers.ofFile writes all bytes
Backport-of: a7d6de71bb
2022-12-22 12:49:25 +00:00
Ajit Ghaisas
5e001d6ff3 8299207: [Testbug] Add back test/jdk/java/awt/Graphics2D/DrawPrimitivesTest.java
Co-authored-by: Alexey Ushakov <avu@openjdk.org>
Reviewed-by: jdv
2022-12-22 10:38:12 +00:00
Roland Westrelin
a0a09d56ba 8298176: remove OpaqueZeroTripGuardPostLoop once main-loop disappears
Reviewed-by: thartmann, chagedorn, kvn
2022-12-22 08:56:00 +00:00
Alexander Zuev
fef70d78ba 8299077: [REDO] JDK-4512626 Non-editable JTextArea provides no visual indication of keyboard focus
8299127: [REDO] JDK-8194048 Regression automated test '/open/test/jdk/javax/swing/text/DefaultCaret/HidingSelection/HidingSelectionTest.java' fails
8299128: [REDO] JDK-8213562 Test javax/swing/text/DefaultCaret/HidingSelection/MultiSelectionTest.java fails

Reviewed-by: aivanov, azvegint
2022-12-22 00:12:15 +00:00
Volodymyr Paprotski
22007a1e38 8298893: Rename option UsePolyIntrinsics to UsePoly1305Intrinsics
Reviewed-by: jnimeh, chagedorn, thartmann
2022-12-21 18:43:40 +00:00
Tyler Steele
9adc349cbb 8298726: (fs) Change PollingWatchService to record last modified time as FileTime rather than milliseconds
Backport-of: 5f63f7a742
2022-12-21 18:17:42 +00:00
Nick Gasson
81933b7a92 8298642: ParallelGC -XX:+UseNUMA eden spaces allocated on wrong node
Reviewed-by: tschatzl, ayang
2022-12-21 11:00:48 +00:00
Christoph Langer
92fe304f08 8298588: WebSockets: HandshakeUrlEncodingTest unnecessarily depends on a response body
Backport-of: 909d0cb4d9
2022-12-21 10:57:24 +00:00
Jonathan Gibbons
f7be5b530d 8299156: Broken link in jdk.compiler/module-info.java
Reviewed-by: iris
2022-12-20 22:53:09 +00:00
Martin Doerr
3d4d9fd6e6 8298947: compiler/codecache/MHIntrinsicAllocFailureTest.java fails intermittently
Reviewed-by: kvn, chagedorn
2022-12-20 22:02:34 +00:00
Jonathan Gibbons
e85d00f6c3 8299147: Minor accessibility errors in the specs and man index pages
Reviewed-by: mchung, erikj
2022-12-20 21:33:53 +00:00
Daniel D. Daugherty
f4d7f43394 8299123: [BACKOUT] 4512626 Non-editable JTextArea provides no visual indication of keyboard focus
Reviewed-by: tschatzl
2022-12-20 16:20:50 +00:00
Coleen Phillimore
03afec16f8 8298162: Test PrintClasses hits assert when run with code that retransform classes
Reviewed-by: dholmes, mgronlun
2022-12-20 14:09:22 +00:00
Coleen Phillimore
03d992728e 8298061: vmTestbase/nsk/sysdict/vm/stress/btree/btree012/btree012.java failed with "fatal error: refcount has gone to zero"
Reviewed-by: iklam, dholmes
2022-12-20 13:21:50 +00:00
Albert Mingkun Yang
65fc05884b 8298968: G1: Incorrect merged remset stats
Reviewed-by: tschatzl, kbarrett
2022-12-20 12:43:53 +00:00
Erik Gahlin
3dd2cfabdc 8298784: JFR: Test chunk integrity
Reviewed-by: mgronlun
2022-12-20 10:52:11 +00:00
Kim Barrett
ea40f29939 8298215: gc/g1/TestVerifyGCType.java failed with "Missing expected verification pattern Verifying After GC for: Pause Young (Prepare Mixed): expected true, was false"
Reviewed-by: iwalulya, tschatzl
2022-12-20 00:13:25 +00:00
Roger Riggs
d0a7679d2e 4958969: ObjectOutputStream example leads to non-working code
Reviewed-by: lancea, naoto
2022-12-19 23:10:30 +00:00
Daniel D. Daugherty
f07acfc166 8298699: java/lang/reflect/IllegalArgumentsTest.java times out with slowdebug bits
Reviewed-by: iris
2022-12-19 23:08:56 +00:00
Alexander Zuev
3e17e3c1c1 4512626: Non-editable JTextArea provides no visual indication of keyboard focus
8194048: Regression automated test '/open/test/jdk/javax/swing/text/DefaultCaret/HidingSelection/HidingSelectionTest.java' fails
8213562: Test javax/swing/text/DefaultCaret/HidingSelection/MultiSelectionTest.java fails

Reviewed-by: aivanov, azvegint
2022-12-19 22:16:56 +00:00
Hannes Wallnöfer
188aaef385 8277074: Qualified exported types show up in JavaDoc
Reviewed-by: psandoz
2022-12-19 19:13:29 +00:00
Alan Bateman
2c69c41d48 8298894: java/lang/Thread/virtual/stress/Skynet.java timed out and threw OutOfMemoryError
Reviewed-by: eosterlund
2022-12-19 18:06:19 +00:00
Daniel D. Daugherty
34105556d1 8298987: ProblemList jdk/internal/vm/Continuation/Fuzz.java#default with ZGC on X64
8298989: ProblemList vmTestbase/nsk/jvmti/InterruptThread/intrpthrd003/TestDescription.java on macosx-x64
8298990: ProblemList java/lang/Thread/virtual/stress/Skynet.java subtests with ZGC

Reviewed-by: azvegint
2022-12-17 16:13:03 +00:00
Alexander Zvegintsev
d1026720d3 8298905: Test "java/awt/print/PrinterJob/ImagePrinting/PrintARGBImage.java" fails because the frames of instruction does not display
Reviewed-by: honkar, serb
2022-12-17 13:30:24 +00:00
Alexander Zvegintsev
41cc04430a 8298970: Problem list java/awt/event/KeyEvent/KeyTyped/CtrlASCII.java
Reviewed-by: serb
2022-12-17 13:28:39 +00:00
Ajit Ghaisas
3b7970cab3 8298217: Regressions 30-110% in SwingMark on MacOS, more so on aarch64
Reviewed-by: avu, prr, jdv
2022-12-17 06:37:18 +00:00
Daniel D. Daugherty
0ecad28daa 8298976: ProblemList java/util/concurrent/ExecutorService/CloseTest.java on macosx-aarch64
8298977: ProblemList vmTestbase/nsk/stress/strace/strace002.java on 2 platforms
8298978: ProblemList vmTestbase/nsk/stress/strace/strace003.java on 2 platforms

Reviewed-by: kbarrett, iris
2022-12-16 21:17:04 +00:00
Damon Nguyen
c997b5bffd 8298133: JDK 20 RDP1 L10n resource files update - msgdrop 10
Reviewed-by: achung, naoto, joehw, cjplummer, almatvee
2022-12-16 21:15:29 +00:00
Tobias Hartmann
9e10f00edb 8298919: Add a regression test for JDK-8298520
Reviewed-by: chagedorn, roland
2022-12-16 14:39:48 +00:00
Coleen Phillimore
b14794db00 8298852: Use of uninitialized memory in MetadataFactory::free_metadata
Backport-of: f4caaca100
2022-12-16 14:09:55 +00:00
Maurizio Cimadamore
f771c56e16 8298797: Specification of some restricted methods is incorrect
Reviewed-by: jvernee, pminborg
2022-12-16 10:49:22 +00:00
Markus Grönlund
0ba4734891 8287699: jdk/jfr/api/consumer/TestRecordingFileWrite.java fails with exception: java.lang.Exception: Found event that should not be there.
Reviewed-by: egahlin
2022-12-16 10:46:37 +00:00
Stefan Johansson
c47e64e4f3 8297979: ZGC: Ensure consistent MemoryUsage from MemoryMXBean.getHeapMemoryUsage()
Reviewed-by: stefank, ayang
2022-12-16 08:06:09 +00:00
Sergey Bylokhov
03a694afda 8298083: The "CheckBox/RadioButton[Enabled/Disabled].textForeground" stoped working
Reviewed-by: prr
Backport-of: 5540a8c5b7
2022-12-16 06:33:08 +00:00
Daniel D. Daugherty
c7d7e7e3be 8298888: ProblemList gc/g1/TestVerifyGCType.java on linux and macosx
8298889: ProblemList runtime/StackGuardPages/TestStackGuardPages.java on linux
8298891: ProblemList vmTestbase/nsk/monitoring/MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded002/TestDescription.java with ZGC
8298892: ProblemList vmTestbase/nsk/sysdict/vm/stress/chain/chain008/chain008.java with ZGC

Reviewed-by: bpb, lmesnik
2022-12-16 00:01:08 +00:00
Brian Burkhalter
ca39eb9066 7093322: (fs spec) Files.newBufferedWriter should be clear when coding errors are detected
Reviewed-by: alanb
2022-12-15 17:27:08 +00:00
Per Minborg
2c42499266 8298050: Add links to graph output for javadoc
Reviewed-by: darcy
2022-12-15 15:46:05 +00:00
Stefan Karlsson
48f6127325 8298376: ZGC: thaws stackChunk with stale oops
Backport-of: ed8a2120ca
2022-12-15 11:44:21 +00:00
Jan Lahoda
22a6b59102 8298727: Trees.getPath may crash for unnamed package
Reviewed-by: vromero
2022-12-15 11:33:56 +00:00
Stefan Karlsson
323e574a50 8298371: monitors_on_stack extracts unprocessed oops
Backport-of: b754aa5e3f
2022-12-15 11:28:06 +00:00
Kim Barrett
80cadd4010 8298785: gc/TestFullGCCount.java fails with "invalid boolean value: null' for expression vm.opt.ExplicitGCInvokesConcurrent'"
Reviewed-by: dcubed
2022-12-14 21:57:55 +00:00
Per Minborg
ebc471040e 8298277: Replace "session" with "scope" for FFM access
Reviewed-by: mcimadamore
2022-12-14 21:40:29 +00:00
Axel Boldt-Christmas
581f9f2306 8297235: ZGC: assert(regs[i] != regs[j]) failed: Multiple uses of register: rax
Reviewed-by: thartmann, rcastanedalo
Backport-of: 042b7062f1
2022-12-14 14:10:24 +00:00
Erik Gahlin
0eeaf6b219 8298649: JFR: RemoteRecordingStream support for checkpoint event sizes beyond u4
Reviewed-by: mgronlun
2022-12-14 13:40:15 +00:00
Kim Barrett
279170147a 8298296: gc/TestFullGCCount.java fails with "System.gc collections miscounted."
Reviewed-by: tschatzl, ayang
2022-12-14 13:36:36 +00:00
Andrew Haley
0bbc4181cd 8294902: Undefined Behavior in C2 regalloc with null references
Reviewed-by: kvn, vlivanov
2022-12-14 13:32:21 +00:00
Jan Lahoda
9bcdfc4285 8298425: System.console().readLine() hangs in jshell
Reviewed-by: naoto, alanb
2022-12-14 11:36:04 +00:00
Roland Westrelin
27d4971182 8298520: C2: assert(found_opaque == res) failed: wrong pattern
Reviewed-by: thartmann, chagedorn
2022-12-14 10:03:36 +00:00
Christoph Langer
51f0a1ce4b 8298527: Cygwin's uname -m returns different string than before
Reviewed-by: erikj
2022-12-14 07:32:28 +00:00
Jonathan Gibbons
61ab16f79a 8298700: Typo in DocTree comment
Reviewed-by: darcy
2022-12-13 23:20:43 +00:00
Joe Darcy
c6f22b4160 8297305: Clarify that javax.lang.model.util.Elements.overrides is irreflexive
Reviewed-by: jjg
2022-12-13 20:48:13 +00:00
Brent Christian
bf78f716bd 8295857: Clarify that cleanup code can be skipped when the JVM terminates (e.g. when calling halt())
Reviewed-by: iris
Backport-of: c7aca73177
2022-12-13 19:07:44 +00:00
Coleen Phillimore
04b8d0cf5c 8298084: Memory leak in Method::build_profiling_method_data
Co-authored-by: Justin King <jcking@openjdk.org>
Reviewed-by: kbarrett, eosterlund, dholmes, jcking, thartmann
2022-12-13 13:02:23 +00:00
Coleen Phillimore
d453190300 8296955: Kitchensink.java failed with "double free or corruption (!prev): <addr>"
Reviewed-by: kbarrett, eosterlund, sspitsyn, dcubed
2022-12-13 00:49:16 +00:00
Alexander Matveev
8962c723a8 8298488: [macos13] tools/jpackage tests failing with "Exit code: 137" on macOS
Reviewed-by: asemenyuk
2022-12-12 22:51:02 +00:00
Naoto Sato
0267aa528b 8297288: Example code in Scanner class
Reviewed-by: lancea, bpb, alanb
2022-12-12 17:59:25 +00:00
Severin Gehwolf
cf93933e21 8298271: java/security/SignedJar/spi-calendar-provider/TestSPISigned.java failing on Windows
Reviewed-by: mullan
2022-12-12 15:49:31 +00:00
Christoph Langer
d624debe23 8298459: Fix msys2 linking and handling out of tree build directory for source zip creation
Reviewed-by: erikj
2022-12-11 13:50:39 +00:00
Tyler Steele
a8946490e2 8298225: [AIX] Disable PPC64LE continuations on AIX
Reviewed-by: rrich, mdoerr
2022-12-09 17:04:11 +00:00
Jan Lahoda
52fffdd2c8 8298463: tools/javac/modules/EdgeCases.java fails on Windows after JDK-8297988
Reviewed-by: jjg
2022-12-09 16:41:26 +00:00
Roland Westrelin
b7b996cb94 8298353: C2 fails with assert(opaq->outcnt() == 1 && opaq->in(1) == limit) failed
Reviewed-by: chagedorn, thartmann, kvn
2022-12-09 15:33:09 +00:00
Daniel Fuchs
05d67f69e3 8298340: java/net/httpclient/CancelRequestTest.java fails with AssertionError: Found some subscribers for testPostInterrupt
Reviewed-by: jpai
2022-12-09 15:23:22 +00:00
Erik Gahlin
5a92bee185 8298455: JFR: Add logging to TestClose.java
Reviewed-by: mgronlun
2022-12-09 15:21:59 +00:00
Jan Lahoda
133ad8e173 8297988: NPE in JavacTypes.getOverriddenMethods from doclint
Reviewed-by: vromero, jjg
2022-12-09 11:11:46 +00:00
Daniel D. Daugherty
553ba65dc4 8298402: ProblemList javax/swing/JFileChooser/4847375/bug4847375.java on windows-x64
8298414: ProblemList gc/TestFullGCCount.java on linux-x64
8298417: ProblemList vmTestbase/nsk/stress/strace/strace004.java on 2 platforms
8298419: ProblemList vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Multi/Multi005/TestDescription.java on windows-x64

Reviewed-by: rriggs
2022-12-08 20:19:18 +00:00
Emanuel Peter
d562d3fcbe 8297642: PhaseIdealLoop::only_has_infinite_loops must detect all loops that never lead to termination
Reviewed-by: thartmann, roland
2022-12-08 15:29:26 +00:00
Matthias Baesken
fc52f21f9a 8298255: JFR provide information about dynamization of number of compiler threads
Reviewed-by: stuefe, mgronlun, egahlin
2022-12-08 15:05:45 +00:00
Erik Gahlin
e555d54705 8298383: JFR: GenerateJfrFiles.java lacks copyright header
Reviewed-by: mgronlun, erikj
2022-12-08 14:42:04 +00:00
Markus Grönlund
c084431fae 8298379: JFR: Some UNTIMED events only sets endTime
Reviewed-by: ehelin, egahlin
2022-12-08 14:37:18 +00:00
Markus Grönlund
ea108f504c 8298129: Let checkpoint event sizes grow beyond u4 limit
Reviewed-by: egahlin
2022-12-08 12:51:46 +00:00
Johan Sjölen
165dcdd27d 8297718: Make NMT free:ing protocol more granular
Reviewed-by: stuefe, gziemski
2022-12-08 12:32:59 +00:00
Kevin Walls
fbe7b00738 8298173: GarbageCollectionNotificationContentTest test failed: no decrease in Eden usage
Reviewed-by: dcubed, cjplummer, sspitsyn
2022-12-08 12:10:26 +00:00
Tobias Hartmann
d8ef60b406 8298272: Clean up ProblemList
Reviewed-by: chagedorn, kvn
2022-12-08 12:06:24 +00:00
Erik Gahlin
9353899bc5 8298175: JFR: Common timestamp for periodic events
Reviewed-by: dholmes, mgronlun
2022-12-08 12:02:13 +00:00
Christian Hagedorn
94575d14f4 8295116: C2: assert(dead->outcnt() == 0 && !dead->is_top()) failed: node must be dead
Reviewed-by: thartmann, rcastanedalo
2022-12-08 12:00:01 +00:00
Christian Hagedorn
49b86224aa 8290850: C2: create_new_if_for_predicate() does not clone pinned phi input nodes resulting in a broken graph
Reviewed-by: thartmann, kvn
2022-12-08 11:23:42 +00:00
Jaikiran Pai
2f426cd68b 8298375: Bad copyright header in test/jdk/java/lang/Character/Supplementary.java
Reviewed-by: alanb
2022-12-08 11:02:21 +00:00
Sergey Tsypanov
b9346e149e 8298033: Character.codePoint{At|Before}(char[], int, int) doesn't do JavaDoc-specified check
Reviewed-by: rriggs
2022-12-08 10:21:56 +00:00
Anthony Vanelverdinghe
297bf6a596 8287397: Print top-level exception when snippet fails to read file
Reviewed-by: jjg
2022-12-08 10:19:39 +00:00
Smita Kamath
073897c88b 8294588: Auto vectorize half precision floating point conversion APIs
Reviewed-by: sviswanathan, kvn, jbhateja, fgao, xgong
2022-12-08 09:46:59 +00:00
Stefan Johansson
46cd457b0f 8298341: Ensure heap growth in TestNativeMemoryUsageEvents.java
Reviewed-by: egahlin, stuefe
2022-12-08 09:33:06 +00:00
Alan Bateman
1166c8e2c0 8296896: Change virtual Thread.yield to use external submit
Reviewed-by: jpai, rpressler
2022-12-08 07:37:32 +00:00
Prasanta Sadhukhan
51759650e5 8298323: trivial typo in JOptionPane.OK_OPTION
Reviewed-by: iris
2022-12-08 07:15:02 +00:00
Tejesh R
d5cf18e7fb 8296198: JFileChooser throws InternalError java.lang.InternalError with Windows shortcuts
Reviewed-by: serb, abhiscxk
2022-12-08 04:34:48 +00:00
Xiaolin Zheng
74f346b33f 8298075: RISC-V: Implement post-call NOPs
Reviewed-by: fyang, luhenry
2022-12-08 02:19:35 +00:00
Darragh Clarke
3aa4070d4c 8294047: HttpResponseInputStream swallows interrupts
Reviewed-by: dfuchs, vtewari, jpai
2022-12-08 01:39:07 +00:00
Alexander Zuev
af8fb7eef7 8282578: AIOOBE in javax.sound.sampled.Clip
Reviewed-by: prr, aivanov, azvegint
2022-12-08 00:32:13 +00:00
Doug Simon
8b69a2e434 8298099: [JVMCI] decouple libgraal from JVMCI module at runtime
Reviewed-by: never
2022-12-07 22:11:11 +00:00
Naoto Sato
8a9911ef17 8295803: Console should be usable in jshell and other environments
Reviewed-by: jlaskey, alanb
2022-12-07 20:49:29 +00:00
Xue-Lei Andrew Fan
5d4c71c8bd 8281236: (D)TLS key exchange named groups
Reviewed-by: mullan
2022-12-07 20:16:45 +00:00
Brian Burkhalter
10356e767a 8298303: (fs) temporarily remove Path.getExtension
Reviewed-by: smarks, alanb
2022-12-07 18:54:18 +00:00
Stefan Johansson
3b8c7ef8e7 8157023: Integrate NMT with JFR
Reviewed-by: stuefe, mgronlun, egahlin
2022-12-07 18:43:42 +00:00
Christian Hagedorn
e86f31b5e7 8298301: C2: assert(main_cmp->in(2)->Opcode() == Op_Opaque1) failed: main loop has no opaque node?
Reviewed-by: thartmann
2022-12-07 18:32:28 +00:00
Olga Mikhaltsova
8edb98df3d 8165943: LineBreakMeasurer does not measure correctly if TextAttribute.TRACKING is set.
Co-authored-by: Jason Fordham <jclf@azul.com>
Reviewed-by: prr
2022-12-07 18:02:20 +00:00
Tyler Steele
39344840c7 8298205: Prefer Member Initialization Lists for JFR classes in os_perf.hpp
Reviewed-by: dholmes, mgronlun
2022-12-07 16:54:10 +00:00
Markus KARG
389b8f4b78 8297298: SequenceInputStream should override transferTo
Reviewed-by: bpb
2022-12-07 16:29:43 +00:00
Tyler Steele
dd7385d1e8 8298202: [AIX] Dead code elimination removed jfr constructor used by AIX
Reviewed-by: dholmes, stuefe
2022-12-07 16:24:51 +00:00
Severin Gehwolf
29f1c3c6e3 8298274: Problem list TestSPISigned on Windows
Reviewed-by: mullan, dcubed
2022-12-07 15:45:35 +00:00
Claes Redestad
3de775094d 8298177: Various java.lang.invoke cleanups
8284363: Redundant imports in BoundMethodHandle

Reviewed-by: jvernee
2022-12-07 15:37:58 +00:00
Albert Mingkun Yang
6ed36835ec 8297209: Serial: Refactor GenCollectedHeap::full_process_roots
Reviewed-by: tschatzl, iwalulya
2022-12-07 15:14:32 +00:00
Roland Westrelin
86270e3068 8269820: C2 PhaseIdealLoop::do_unroll get wrong opaque node
Reviewed-by: kvn, thartmann, chagedorn
2022-12-07 14:16:50 +00:00
Jan Lahoda
cf63f2e3ea 8298184: Incorrect record component type in record patterns
Reviewed-by: vromero
2022-12-07 12:03:50 +00:00
Matthias Baesken
58170f657c 8298035: Provide better descriptions for JIT compiler JFR events
Reviewed-by: clanger, stuefe
2022-12-07 11:57:42 +00:00
Markus Grönlund
bfcc238ed0 8297964: Jetty.java fails "assert(_no_handle_mark_nesting == 0) failed: allocating handle inside NoHandleMark"
Reviewed-by: egahlin
2022-12-07 11:25:37 +00:00
Thomas Stuefe
3e041eb909 8298248: Limit sscanf output width in cgroup file parsers
Reviewed-by: dholmes, sgehwolf
2022-12-07 11:12:51 +00:00
Severin Gehwolf
4da8411674 8298108: Add a regression test for JDK-8297684
Reviewed-by: mullan
2022-12-07 10:46:53 +00:00
Albert Mingkun Yang
80cbfab928 8298169: Remove unused methods in space.hpp
Reviewed-by: stefank
2022-12-07 10:35:43 +00:00
Andrew Haley
221e1a4260 8286666: JEP 429: Implementation of Scoped Values (Incubator)
Reviewed-by: psandoz, dlong, alanb, mcimadamore
2022-12-07 10:14:06 +00:00
Alan Bateman
ccc69af966 8296672: Implementation of Virtual Threads (Second Preview)
Reviewed-by: mchung, jpai
2022-12-07 10:12:40 +00:00
Sergey Bylokhov
5a3439db9f 4677581: ColorModel.getComponentSize()-wrong conditions for ArrayIndexOutOfBoundsExceptio
Reviewed-by: prr
2022-12-07 09:35:26 +00:00
Daniel Jeliński
27bbe7be2c 8297976: Remove sun.net.ProgressMonitor and related classes
8240275: Occasional errors in HttpURLConnection due to race with GC

Reviewed-by: jpai, dfuchs, michaelm
2022-12-07 08:56:10 +00:00
Axel Boldt-Christmas
085f96cb1a 8295258: Add BasicType argument to AccessInternal::decorator_fixup
Reviewed-by: stefank, eosterlund
2022-12-07 08:28:20 +00:00
Thomas Stuefe
1c2a093988 8298147: Clang warns about pointless comparisons
Reviewed-by: dholmes
2022-12-07 07:31:29 +00:00
Denghui Dong
8ea369afe6 8298171: Missing newline in the example output of -Xlog:help
Reviewed-by: dholmes
2022-12-07 06:37:54 +00:00
Yi Yang
acf96c64b7 8290432: C2 compilation fails with assert(node->_last_del == _last) failed: must have deleted the edge just produced
Reviewed-by: kvn, thartmann, chagedorn
2022-12-07 03:08:07 +00:00
Andrew John Hughes
ce896731d3 8297804: (tz) Update Timezone Data to 2022g
Reviewed-by: naoto
2022-12-07 00:34:00 +00:00
Chris Plummer
62baff503e 8298221: Problem list gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java on macosx-aarch64
Reviewed-by: dcubed
2022-12-06 22:45:53 +00:00
Daniel D. Daugherty
16a5901845 8298214: ProblemList java/util/concurrent/forkjoin/AsyncShutdownNow.java
8298218: ProblemList java/awt/Focus/NonFocusableWindowTest/NonfocusableOwnerTest.java on windows-x64
8298222: ProblemList java/awt/Mixing/AWT_Mixing/ViewportOverlapping.java on windows-x64
8298220: ProblemList java/awt/Mixing/AWT_Mixing/OpaqueOverlapping.java on windows-x64

Reviewed-by: rriggs
2022-12-06 22:01:45 +00:00
Anthony Scarpino
b4da0ee706 8296507: GCM using more memory than necessary with in-place operations
Reviewed-by: jnimeh
2022-12-06 21:37:12 +00:00
Martin Doerr
cd2182a996 8295724: VirtualMachineError: Out of space in CodeCache for method handle intrinsic
Reviewed-by: kvn, dlong
2022-12-06 20:56:48 +00:00
Christian Stein
2cdc019565 8298178: Update to use jtreg 7.1.1
Reviewed-by: erikj
2022-12-06 20:51:06 +00:00
Mark Powers
79d163d499 8293412: Remove unnecessary java.security.egd overrides
Reviewed-by: xuelei, djelinski
2022-12-06 20:36:50 +00:00
Rajat Mahajan
ea83cb960d 8297450: ScaledTextFieldBorderTest.java fails when run with -show parameter
Reviewed-by: aivanov, honkar
2022-12-06 18:43:02 +00:00
Thomas Stuefe
336d230a39 8297958: NMT: Display peak values
Reviewed-by: jsjolen, sjohanss
2022-12-06 18:32:42 +00:00
Joe Darcy
0d2a9ee528 8298142: Update internal comment on language features in SourceVersion
Reviewed-by: sundar, jlahoda
2022-12-06 16:55:12 +00:00
Volodymyr Paprotski
203251ffc0 8297379: Enable the ByteBuffer path of Poly1305 optimizations
Reviewed-by: sviswanathan, ascarpino, jnimeh
2022-12-06 16:47:45 +00:00
Aggelos Biboudis
1e468320dc 8297602: Compiler crash with type annotation and generic record during pattern matching
Reviewed-by: jlahoda
2022-12-06 13:00:10 +00:00
Daniel Fuchs
b0e54328c5 8297687: new URI(S,S,S,S) throws exception with incorrect index position reported in the error message
Reviewed-by: jpai
2022-12-06 12:46:01 +00:00
Albert Mingkun Yang
2243646fe3 8298145: Remove ContiguousSpace::capacity
Reviewed-by: tschatzl
2022-12-06 12:26:06 +00:00
Per Minborg
84b927a05b 8296024: Usage of DirectBuffer::address should be guarded
Reviewed-by: mcimadamore, alanb, psandoz, bpb
2022-12-06 10:42:59 +00:00
Thomas Schatzl
a9e6c62ba7 8297186: G1 triggers unnecessary full GCs when heap utilization is low
Reviewed-by: kbarrett, sjohanss
2022-12-06 10:09:59 +00:00
Fei Gao
4458de95f8 8297172: Fix some issues of auto-vectorization of Long.bitCount/numberOfTrailingZeros/numberOfLeadingZeros()
Reviewed-by: kvn, thartmann
2022-12-06 09:35:27 +00:00
Pengfei Li
a61399854a 8297689: Fix incorrect result of Short.reverseBytes() call in loops
Reviewed-by: thartmann, jbhateja
2022-12-06 09:16:47 +00:00
Julian Waters
f8f46305ef 8297963: Partially fix string expansion issues in UTIL_DEFUN_NAMED and related macros
Reviewed-by: ihse
2022-12-06 08:42:36 +00:00
Daniel Jeliński
2a243a33cc 8267617: Certificate's IP x509 NameConstraints raises ArrayIndexOutOfBoundsException
Reviewed-by: mullan
2022-12-06 08:24:17 +00:00
Alan Bateman
923c746650 8298057: (fs) Remove PollingWatchService.POLLING_INIT_DELAY
Reviewed-by: bpb, jpai
2022-12-06 07:30:52 +00:00
Christian Hagedorn
0bd04a6589 8297951: C2: Create skeleton predicates for all If nodes in loop predication
Reviewed-by: thartmann, kvn
2022-12-06 07:18:44 +00:00
Yude Lin
f5ad515db0 8297247: Add GarbageCollectorMXBean for Remark and Cleanup pause time in G1
Reviewed-by: tschatzl, ayang
2022-12-06 07:16:27 +00:00
Albert Mingkun Yang
e9754181af 8298102: Remove DirtyCardToOopClosure::_last_explicit_min_done
Reviewed-by: tschatzl
2022-12-06 06:48:21 +00:00
Thomas Stuefe
04012c4310 8298111: Cleanups after UseMallocOnly removal
Reviewed-by: coleenp
2022-12-06 06:30:59 +00:00
Srikanth Adayapalam
ee9ba74564 8295184: Printing messages with a RecordComponentElement does not include position
Reviewed-by: vromero
2022-12-06 04:23:40 +00:00
Jayathirth D V
ba2d28e911 8298027: Remove SCCS id's from awt jtreg tests
Reviewed-by: aivanov
2022-12-06 03:43:28 +00:00
Alexey Semenyuk
8d8a28ffcb 8296489: tools/jpackage/windows/WinL10nTest.java fails with timeout
Reviewed-by: almatvee
2022-12-06 00:14:31 +00:00
Alexey Semenyuk
884b9ade41 8293453: tools/jpackage/share/AddLShortcutTest.java "Failed: Check the number of mismatched pixels [1024] of [1024] is < [0.100000] threshold"
Reviewed-by: almatvee
2022-12-06 00:13:22 +00:00
Phil Race
8af6e8a67f 8298123: Problem List MaximizedToIconified.java on macOS
Reviewed-by: dcubed
2022-12-05 21:26:44 +00:00
Jorn Vernee
da0917a2ae 8297729: Replace GrowableArray in ComputeMoveOrder with hash table
Reviewed-by: coleenp, jsjolen
2022-12-05 20:47:06 +00:00
Erik Gahlin
9827b75c45 8298043: jdk/jfr/api/consumer/recordingstream/TestStop.java failed with "Expected outer stream to have 3 events"
Reviewed-by: mgronlun
2022-12-05 20:40:35 +00:00
ravi.ra.gupta
7d20a60a98 8297489: Modify TextAreaTextEventTest.java as to verify the content change of TextComponent sends TextEvent
Reviewed-by: honkar, aivanov
2022-12-05 18:41:42 +00:00
Phil Race
601264d97d 8273357: SecurityManager deprecation warning from java/awt/regtesthelpers/Util.java
Reviewed-by: kizune, aivanov
2022-12-05 17:54:15 +00:00
Hannes Wallnöfer
6a7a0db587 8296619: Upgrade jQuery to 3.6.1
Reviewed-by: jjg
2022-12-05 16:23:01 +00:00
Jorn Vernee
a38c63da56 8297733: Refactor Cast binding to enum
Reviewed-by: mcimadamore
2022-12-05 15:28:51 +00:00
Alan Bateman
19d849884b 8297495: j.u.concurrent updates for JDK 20
Reviewed-by: jpai
2022-12-05 15:20:16 +00:00
Tyler Steele
328845926d 8297606: [AIX] Broken build after JDK-8295475
Reviewed-by: mdoerr, stuefe
2022-12-05 14:53:52 +00:00
Jorn Vernee
0452c39fec 8296477: Foreign linker implementation update following JEP 434
Co-authored-by: Jorn Vernee <jvernee@openjdk.org>
Co-authored-by: Nick Gasson <ngasson@openjdk.org>
Co-authored-by: Per Minborg <pminborg@openjdk.org>
Reviewed-by: rehn, mcimadamore, vlivanov
2022-12-05 14:47:12 +00:00
Maurizio Cimadamore
73baadceb6 8295044: Implementation of Foreign Function and Memory API (Second Preview)
Co-authored-by: Jorn Vernee <jvernee@openjdk.org>
Co-authored-by: Per Minborg <pminborg@openjdk.org>
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Reviewed-by: jvernee, pminborg, psandoz, alanb, sundar
2022-12-05 13:49:53 +00:00
Afshin Zafari
bd381886e0 8297766: Remove UseMallocOnly development option
Reviewed-by: coleenp, stuefe, dholmes
2022-12-05 13:31:15 +00:00
Afshin Zafari
b9eec96889 8281214: Unsafe use of long in VMThread::setup_periodic_safepoint_if_needed
Reviewed-by: eastigeevich, shade
2022-12-05 13:30:15 +00:00
Coleen Phillimore
e7e03548fe 8297767: Assert JNICritical_lock/safepoint-1 and AdapterHandlerLibrary_lock/safepoint-1
Reviewed-by: pchilanomate, rehn
2022-12-05 13:18:44 +00:00
Xiaolin Zheng
f9e0f1d5b3 8297763: Fix missing stub code expansion before align() in shared trampolines
Reviewed-by: fyang, luhenry
2022-12-05 12:43:57 +00:00
Jan Lahoda
2300ed458d 8291769: Translation of switch with record patterns could be improved
Reviewed-by: vromero
2022-12-05 12:04:23 +00:00
Aleksey Shipilev
eab0ada3a1 8296545: C2 Blackholes should allow load optimizations
Reviewed-by: kvn, vlivanov
2022-12-05 12:00:30 +00:00
Matthias Baesken
dea2161f06 8297959: Provide better descriptions for some Operating System JFR events
Reviewed-by: stuefe
2022-12-05 11:31:31 +00:00
Robbin Ehn
d523d9d081 8297864: Dead code elimination
Reviewed-by: coleenp, pchilanomate
2022-12-05 10:31:35 +00:00
Jan Lahoda
777fb52ef5 8297974: ClassCastException in com.sun.tools.javac.comp.AttrRecover.doRecovery
Reviewed-by: vromero
2022-12-05 09:33:42 +00:00
Kevin Walls
17666fbcae 8297794: Deprecate JMX Management Applets for Removal
Reviewed-by: dfuchs, mullan, rriggs, alanb
2022-12-05 09:27:14 +00:00
Emanuel Peter
619b68c5d1 8294540: Remove Opaque2Node: it is broken and triggers assert
Reviewed-by: chagedorn, kvn
2022-12-05 08:30:31 +00:00
sendaoYan
82561de722 8296384: [TESTBUG] sun/security/provider/SecureRandom/AbstractDrbg/SpecTest.java intermittently timeout
Reviewed-by: weijun, wetmore
2022-12-05 07:41:42 +00:00
Ivan Walulya
61b7093123 8297872: Non-local G1MonotonicArenaFreePool::_freelist_pool has non-trivial ctor/dtor
Co-authored-by: Thomas Schatzl <tschatzl@openjdk.org>
Reviewed-by: kbarrett, tschatzl
2022-12-05 07:16:56 +00:00
Thomas Stuefe
3b3bbe5487 8296907: VMError: add optional callstacks, siginfo for secondary errors
Reviewed-by: aboldtch, rschmelter
2022-12-05 07:10:31 +00:00
Christian Hagedorn
a57392390b 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: thartmann, rcastanedalo, kvn
2022-12-05 07:09:04 +00:00
Fei Yang
b49fd920b6 8298055: AArch64: fastdebug build fails after JDK-8247645
Reviewed-by: aph, haosun
2022-12-05 03:40:07 +00:00
Michal Karm Babacek
914ef07fed 8297609: Add application/wasm MIME type for wasm file extension
Reviewed-by: jpai, michaelm
2022-12-05 01:59:20 +00:00
Julian Waters
a71d91b96f 8298067: Persistent test failures after 8296012
Reviewed-by: alanb
2022-12-04 17:32:20 +00:00
Daniel D. Daugherty
87572d43be 8298068: ProblemList tests failing due to JDK-8297235
8298070: ProblemList jdk/internal/vm/Continuation/Fuzz.java#default with ZGC on X64
8298071: ProblemList tests failing due to JDK-8298059
8298072: ProblemList compiler/c1/TestPrintC1Statistics.java in Xcomp mode on linux-aarch64

Reviewed-by: azvegint
2022-12-04 16:37:09 +00:00
Andrey Turbanov
0edb5d0805 8297683: Use enhanced-for cycle instead of Enumeration in java.security.jgss
Reviewed-by: weijun
2022-12-04 12:07:42 +00:00
Thomas Stuefe
c67166f120 8298003: NMT: fatal block printout does not show the correct corruption address
Reviewed-by: shade, mbaesken
2022-12-03 06:53:56 +00:00
Daniel D. Daugherty
99e2ef49a8 8298054: ProblemList jdk/jfr/api/consumer/recordingstream/TestStop.java
Reviewed-by: lmesnik
2022-12-03 04:13:33 +00:00
Daniel D. Daugherty
6065516bb3 8291418: adjust monitor deflation logging and deflate_idle_monitors use
Reviewed-by: dholmes, stuefe, pchilanomate
2022-12-02 22:31:08 +00:00
Daniel D. Daugherty
6e5470525d 8295424: adjust timeout for another JLI GetObjectSizeIntrinsicsTest.java subtest
8297367: disable TestRedirectLinks.java in slowdebug mode
8297369: disable Fuzz.java in slowdebug mode

Reviewed-by: sspitsyn, jjg, cjplummer, lmesnik
2022-12-02 22:29:21 +00:00
Jorn Vernee
562bc171b9 8291359: Specification of method j.l.foreign.VaList::skip still deserves clarification
Reviewed-by: mcimadamore
2022-12-02 22:15:27 +00:00
Alex Menkov
2821fa9883 8280798: com.sun.jdi.ObjectReference::setValue spec should prohibit any final field modification
Reviewed-by: alanb, cjplummer, sspitsyn
2022-12-02 20:16:51 +00:00
Coleen Phillimore
fb6fd03233 8291830: jvmti/RedefineClasses/StressRedefine failed: assert(!is_null(v)) failed: narrow klass value can never be zero
Reviewed-by: sspitsyn, eosterlund, kbarrett
2022-12-02 19:09:05 +00:00
Erik Gahlin
1b924659c8 8297608: JFR: Incorrect duration after chunk rotation
Reviewed-by: mgronlun
2022-12-02 17:21:48 +00:00
Leonid Mesnik
6065696e5d 8297982: Exclude vmTestbase/nsk/monitoring/stress/lowmem/ with ZGC until 8297979 is fixed
Reviewed-by: tschatzl
2022-12-02 15:11:41 +00:00
Ashutosh Mehra
415cfd2e28 8297285: Shenandoah pacing causes assertion failure during VM initialization
Reviewed-by: rkennke, phh
2022-12-02 14:22:52 +00:00
Magnus Ihse Bursie
df072556a5 8297984: Turn on warnings as errors for javadoc
Reviewed-by: serb, erikj
2022-12-02 14:00:44 +00:00
Feilong Jiang
227364d592 8297953: Fix several C2 IR matching tests for RISC-V
Reviewed-by: fyang, chagedorn
2022-12-02 12:48:42 +00:00
Albert Mingkun Yang
1370228cd7 8297941: Add override modifier in space.hpp
Reviewed-by: kbarrett, tschatzl
2022-12-02 12:30:29 +00:00
Prasanta Sadhukhan
319faa5afc 8296084: javax/swing/JSpinner/4788637/bug4788637.java fails intermittently on a VM
Reviewed-by: tr, serb
2022-12-02 11:48:28 +00:00
Erik Gahlin
b73363fd7b 8297686: JFR: Improve documentation of EventStream::onMetadata(Consumer)
Reviewed-by: mgronlun
2022-12-02 11:35:15 +00:00
Justin King
1376f33011 8297911: Memory leak in JfrUpcalls::on_retransform
Reviewed-by: mgronlun
2022-12-02 11:31:19 +00:00
Christoph Langer
5c0ff26f32 8291444: GHA builds/tests won't run manually if disabled from automatic running
Reviewed-by: serb, erikj, ihse
2022-12-02 11:03:53 +00:00
Daniel Fuchs
6d0fbb2c49 8297645: Drop the test/jdk/java/net/httpclient/reactivestreams-tck-tests/TckDriver.java test
Reviewed-by: alanb, jpai, michaelm
2022-12-02 10:44:29 +00:00
Dingli Zhang
687fd714bb 8297549: RISC-V: Add support for Vector API vector load const operation
Reviewed-by: fyang, gcao
2022-12-02 08:30:00 +00:00
Fei Yang
d50015af99 8297715: RISC-V: C2: Use single-bit instructions from the Zbs extension
Reviewed-by: fjiang, yadongwang, shade
2022-12-02 08:26:22 +00:00
Aleksey Shipilev
9bbcb546c8 8297784: Optimize @Stable field for Method.isCallerSensitive
Reviewed-by: redestad, jvernee, alanb
2022-12-02 07:29:27 +00:00
Jie Fu
11ba7591df 8297992: Tests fail after JDK-8297215 due to lack of @enablePreview
Reviewed-by: darcy
2022-12-02 06:04:10 +00:00
Magnus Ihse Bursie
b035056d28 8297455: Use the official ToolProvider API to call javac
Reviewed-by: erikj
2022-12-02 00:08:34 +00:00
Magnus Ihse Bursie
257aa15f15 8297444: Refactor the javacserver build tool
Reviewed-by: erikj, cstein
2022-12-01 23:41:58 +00:00
Liam Miller-Cushon
e846b0438c 8297875: jar should not compress the manifest directory entry
Reviewed-by: lancea
2022-12-01 22:07:57 +00:00
Vicente Romero
82031d32a0 8297294: compiler/c2/irTests/TestMulNodeIdealization.java failed compilation
Reviewed-by: mcimadamore
2022-12-01 21:57:55 +00:00
Leonid Mesnik
337ca10085 8297978: Exclude vmTestbase/nsk/stress/except/except012.java until 8297977 is fixed
Reviewed-by: dcubed
2022-12-01 21:29:18 +00:00
Joe Darcy
770ff5a812 8297215: Update libs tests to use @enablePreview
Reviewed-by: alanb, sspitsyn
2022-12-01 20:38:16 +00:00
Andrew Haley
c69aa42d02 8297968: Crash in PrintOptoAssembly
Reviewed-by: kvn
2022-12-01 20:34:18 +00:00
Kim Barrett
5a5ced3a90 8297830: aarch64: Make Address a discriminated union internally
Reviewed-by: aph, dcubed
2022-12-01 20:15:14 +00:00
Ioi Lam
391599bc9d 8297313: Refactor APIs for calculating address of CDS archive heap regions
Reviewed-by: matsaave, ccheung
2022-12-01 19:59:14 +00:00
Harshitha Onkar
09629570f5 8297449: Update JInternalFrame Metal Border code
Reviewed-by: aivanov, kizune
2022-12-01 18:57:50 +00:00
Alexander Zvegintsev
9f94cbec51 8271519: java/awt/event/SequencedEvent/MultipleContextsFunctionalTest.java failed with "Total [200] - Expected [400]"
Reviewed-by: serb
2022-12-01 18:10:31 +00:00
Christian Stein
c70d1e1bd3 8296710: Update to use jtreg 7.1
Reviewed-by: erikj, alanb, jjg
2022-12-01 16:49:40 +00:00
Matthijs Bijman
4899d78292 8293294: Remove dead code in Parse::check_interpreter_type
Reviewed-by: vlivanov, thartmann
2022-12-01 15:57:09 +00:00
Albert Mingkun Yang
5459b1104f 8297033: G1: Improve logging for Remembered Sets
Reviewed-by: tschatzl, kbarrett
2022-12-01 15:32:27 +00:00
Sergey Tsypanov
c6156f9123 8297561: Redundant index check in String.offsetByCodePoints()
Reviewed-by: aturbanov, rriggs, redestad
2022-12-01 15:28:39 +00:00
Erik Gahlin
eec24aa203 8295350: JFR: Add stop methods for recording streams
Reviewed-by: mgronlun
2022-12-01 15:01:42 +00:00
Roland Westrelin
9430f3e65c 8297934: [BACKOUT] Compiler should only use verified interface types for optimization
Reviewed-by: thartmann, kvn
2022-12-01 14:19:28 +00:00
Aggelos Biboudis
2cb64a7557 8294943: Implement record patterns in enhanced for
8296802: Parse errors when deconstructing a record using the enhanced for loop of JEP 432

Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Co-authored-by: Aggelos Biboudis <abimpoudis@openjdk.org>
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Reviewed-by: mcimadamore, vromero
2022-12-01 12:40:09 +00:00
Jan Lahoda
fc9d419b4f 8297928: Update jdk.internal.javac.PreviewFeature.Feature to reflect JEP 432 and JEP 433
Reviewed-by: alanb
2022-12-01 11:46:13 +00:00
Jan Lahoda
b60cce6f3b 8297118: Change IncompatibleClassChangeError to MatchException for exhaustive switch statements and switch expressions
Reviewed-by: vromero
2022-12-01 10:51:57 +00:00
Alan Bateman
cd776093c7 8294278: ForkJoinPool.getAndAddPoolIds should use Unsafe.staticFieldBase
Reviewed-by: burban, chegar, martin
2022-12-01 10:40:36 +00:00
Stefan Johansson
eea1a8a95e 8297427: Avoid keeping class loaders alive when executing ClassLoaderStatsVMOperation
Reviewed-by: eosterlund, stefank
2022-12-01 10:30:14 +00:00
Albert Mingkun Yang
794114787b 8297503: Merge FilteringDCTOC into ContiguousSpaceDCTOC
Reviewed-by: tschatzl, kbarrett
2022-12-01 10:00:57 +00:00
Tobias Hartmann
9f24a6f43c 8297389: resexhausted003 fails with assert(!thread->owns_locks()) failed: must release all locks when leaving VM
Reviewed-by: dholmes, rrich, dlong
2022-12-01 08:49:54 +00:00
Andrey Turbanov
fa0c599a00 8297750: Unnecessary Vector usage in IIORegistry
Reviewed-by: prr, serb
2022-12-01 08:16:55 +00:00
Aleksey Shipilev
34fcd83c5e 8297821: jdk/jshell/Test8294583.java fails on some platforms
Reviewed-by: alanb, jlahoda
2022-12-01 08:11:54 +00:00
Abhishek Kumar
ce048e7cb5 8295006: Colored text is not shown on disabled checkbox and radio button with GTK LAF for bug4314194.
Reviewed-by: prr, tr
2022-12-01 08:07:22 +00:00
Jan Lahoda
756dd5bb0d 8294942: Compiler implementation for Record Patterns (Second Preview)
8294945: Compiler implementation for Pattern Matching for switch (Fourth Preview)

Co-authored-by: Aggelos Biboudis <abimpoudis@openjdk.org>
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Reviewed-by: mcimadamore, vromero
2022-12-01 08:02:40 +00:00
Prasanta Sadhukhan
c612512014 8296660: Swing HTML table with omitted closing tags misparsed
Reviewed-by: prr, jdv
2022-12-01 07:57:10 +00:00
Julian Waters
56048f9718 8297852: Backout 8252584 for the time being
Reviewed-by: kbarrett
2022-12-01 04:21:52 +00:00
Feilong Jiang
f49acd5259 8297697: RISC-V: Add support for SATP mode detection
Reviewed-by: fyang, luhenry
2022-12-01 04:01:25 +00:00
Jonathan Gibbons
3b513a4f5c 8297802: display of @spec tags should mimic that of @see tags
Reviewed-by: prappo
2022-12-01 00:26:27 +00:00
Claes Redestad
4485d4e517 8297728: Cache invocation type rather than invoker in NamedFunction
Reviewed-by: jvernee
2022-11-30 20:53:56 +00:00
Per Minborg
e9d501e442 8297519: Improve expressions and modernise code in PKCS
Reviewed-by: weijun
2022-11-30 20:19:52 +00:00
Jorn Vernee
1722f9cce3 8290231: java/foreign/malloc/TestMixedMallocFree.java crashed in JDK19 ATR run
Reviewed-by: mcimadamore
2022-11-30 20:00:59 +00:00
Jorn Vernee
1a2ff58761 8297736: test/jdk/java/foreign/TestMatrix.java is broken
8291642: java/foreign/TestMatrix.java -few tests are failing due to JDK-8287158.

Reviewed-by: mcimadamore
2022-11-30 19:59:43 +00:00
Magnus Ihse Bursie
6bac332371 8297853: windows-x86 test build broken
Reviewed-by: jvernee
2022-11-30 18:59:47 +00:00
Alex Menkov
53dd214318 8297742: Combine vmTestbase/nsk/monitoring/ThreadMXBean/resetPeakThreadCount tests
Reviewed-by: dholmes, lmesnik, kevinw, sspitsyn
2022-11-30 18:39:24 +00:00
Chris Plummer
1323e98df1 8297170: misc JCK tests fail with "FATAL ERROR in native method: JDWP Can't disable vthread end events, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112)"
Reviewed-by: amenkov, dcubed, lmesnik, sspitsyn
2022-11-30 18:08:19 +00:00
Joe Darcy
c68556916a 8297731: Remove redundant check in MutableBigInteger.divide
Reviewed-by: bpb
2022-11-30 16:51:26 +00:00
Afshin Zafari
dcf431db0b 8287400: Make BitMap range parameter names consistent
Reviewed-by: dholmes, lkorinth
2022-11-30 16:38:24 +00:00
Stefan Johansson
a1f4db55c5 8297584: G1 parallel phase event for scan heap roots is sent too often
Reviewed-by: tschatzl, ayang
2022-11-30 14:51:31 +00:00
Erik Österlund
be4245e814 8294924: JvmtiExport::post_exception_throw() doesn't deal well with concurrent stack processing
Reviewed-by: pchilanomate, sspitsyn, dholmes
2022-11-30 14:15:18 +00:00
Erik Österlund
be99e84c98 8296875: Generational ZGC: Refactor loom code
Co-authored-by: Stefan Karlsson <stefank@openjdk.org>
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: stefank, rrich, pchilanomate
2022-11-30 14:08:57 +00:00
Coleen Phillimore
301cf52fa2 8297284: ResolutionErrorTable's key is wrong
Reviewed-by: matsaave, iklam
2022-11-30 13:14:52 +00:00
Albert Mingkun Yang
a97e7d9887 8297740: runtime/ClassUnload/UnloadTest.java failed with "Test failed: should still be live"
Reviewed-by: dcubed
2022-11-30 13:01:34 +00:00
Magnus Ihse Bursie
4d730f561f 8297644: RISC-V: Compilation error when shenandoah is disabled
Reviewed-by: fyang, yadongwang
2022-11-30 12:56:25 +00:00
Matthias Baesken
27b339d189 8297523: Various GetPrimitiveArrayCritical miss result - NULL check
Reviewed-by: stuefe, jdv
2022-11-30 12:49:23 +00:00
Jaikiran Pai
3f8882b2eb 8297693: Fix typos in src/hotspot and test/hotspot files
Co-authored-by: Michael Ernst <mernst@openjdk.org>
Reviewed-by: kevinw, dholmes, sspitsyn
2022-11-30 11:28:11 +00:00
Jan Lahoda
b52611bc36 8295401: Error recovery in module-info.java could be improved
Reviewed-by: vromero
2022-11-30 09:49:51 +00:00
Jan Lahoda
9e80cf9c37 8296390: Incremental build failed with a NPE
Reviewed-by: vromero
2022-11-30 09:47:48 +00:00
Aleksey Shipilev
b3501fd11c 8297600: Check current thread in selected JRT_LEAF methods
Reviewed-by: dholmes, coleenp
2022-11-30 09:09:42 +00:00
Per Minborg
f05bfb1578 8297515: serialVersionUID fields are not annotated with @Serial
Reviewed-by: rriggs, lancea
2022-11-30 07:43:17 +00:00
Julian Waters
22f5d01428 8252584: HotSpot Style Guide should permit alignas
Co-authored-by: Kim Barrett <kbarrett@openjdk.org>
Reviewed-by: kbarrett
2022-11-30 07:37:22 +00:00
Sergey Bylokhov
8ffed34e1d 8297681: Unnecessary color conversion during 4BYTE_ABGR_PRE to INT_ARGB_PRE blit
Reviewed-by: prr
2022-11-30 07:29:32 +00:00
Tobias Hartmann
abe532a89c 8296924: C2: assert(is_valid_AArch64_address(dest.target())) failed: bad address
Co-authored-by: Andrew Haley <aph@openjdk.org>
Reviewed-by: aph, kvn
2022-11-30 06:39:27 +00:00
Johnny Lim
5dcaf6cc6c 8297749: Remove duplicate space in the ProtocolException message being thrown from HttpURLConnection
Reviewed-by: dfuchs, jpai
2022-11-30 06:15:07 +00:00
Ioi Lam
c7a679fbdd 8297290: Use int indices to reference CDS archived primitive mirrors
Reviewed-by: ccheung
2022-11-30 05:34:03 +00:00
Sergey Bylokhov
37f613bad3 8297676: DataBuffer.TYPE_SHORT/TYPE_FLOAT/TYPE_DOUBLE are not placeholders
Reviewed-by: azvegint, prr
2022-11-30 04:16:13 +00:00
Sergey Bylokhov
87f00f4a1b 8296878: Document Filter attached to JPasswordField and setText("") is not cleared instead inserted characters replaced with unicode null characters
Reviewed-by: prr, aivanov
2022-11-30 03:22:52 +00:00
Jaikiran Pai
9ced2ea0ab 8297311: Improve exception message thrown by java.net.HostPortrange::toLowerCase(String s)
Reviewed-by: dfuchs, michaelm, rriggs
2022-11-30 01:11:24 +00:00
Sergey Bylokhov
defe0607e3 8296905: Replace the native LCMS#getProfileID() method with the accessor
Reviewed-by: prr
2022-11-30 01:00:44 +00:00
Jaikiran Pai
e10778acce 8297695: Fix typos in test/langtools files
Co-authored-by: Michael Ernst <mernst@openjdk.org>
Reviewed-by: prappo, jjg, iris
2022-11-30 00:42:40 +00:00
Jaikiran Pai
0ce182723b 8294321: Fix typos in files under test/jdk/java, test/jdk/jdk, test/jdk/jni
Co-authored-by: Michael Ernst <mernst@openjdk.org>
Reviewed-by: alanb, lancea, dfuchs
2022-11-30 00:37:31 +00:00
Srinivas Mandalika
e2d71c0a0d 8297481: Create a regression test for JDK-4424517
Reviewed-by: serb
2022-11-29 21:54:33 +00:00
Per Minborg
f4063a3cfd 8297210: Add a @sealedGraph tag to selected java.desktop classes
Reviewed-by: prr
2022-11-29 21:51:15 +00:00
Abhishek Kumar
2084451193 8078471: Backspace does not work in JFileChooser with GTK L&F
Reviewed-by: psadhukhan, prr
2022-11-29 21:49:50 +00:00
Aggelos Biboudis
7af6b4b54c 8296012: jshell crashes on mismatched record pattern
Reviewed-by: vromero
2022-11-29 19:33:18 +00:00
Justin Lu
ae5b1f7656 8297685: Typo in NullPointerException description specified by Locale.lookup
Reviewed-by: naoto, lancea, jpai
2022-11-29 18:32:44 +00:00
Alexander Zvegintsev
3ce0042158 8297780: Problem list java/awt/Frame/RestoreToOppositeScreen/RestoreToOppositeScreen.java
Reviewed-by: aivanov
2022-11-29 17:56:02 +00:00
Xue-Lei Andrew Fan
b778cd52b3 8295010: Reduce if required in EC limbs operations
Reviewed-by: djelinski, jjiang
2022-11-29 17:39:40 +00:00
Bhavana Kilambi
54e6d6aaeb 8293488: Add EOR3 backend rule for aarch64 SHA3 extension
Reviewed-by: haosun, njian, eliu, aturbanov, ngasson
2022-11-29 17:17:15 +00:00
Hannes Wallnöfer
69ede5baed 8293177: Verify version numbers in legal files
Reviewed-by: jjg
2022-11-29 14:46:35 +00:00
Jamil Nimeh
cd6bebbf34 8247645: ChaCha20 intrinsics
Reviewed-by: sviswanathan, ngasson, vlivanov, ascarpino
2022-11-29 14:40:20 +00:00
Bo Zhang
33587ffd35 8292625: jshell crash on "var a = a"
Reviewed-by: jlaskey, jlahoda
2022-11-29 13:57:56 +00:00
Weijun Wang
2deb318c9f 8297065: DerOutputStream operations should not throw IOExceptions
Reviewed-by: mullan, valeriep
2022-11-29 12:57:46 +00:00
Daniel Fuchs
d83a07b72c 8297200: java/net/httpclient/SpecialHeadersTest.java failed once in AssertionError due to selector thread remaining alive
Reviewed-by: jpai
2022-11-29 12:42:37 +00:00
Daniel Fuchs
5d2772a43e 8297424: java/net/httpclient/AsyncExecutorShutdown.java fails in AssertionError due to misplaced assert
Reviewed-by: jpai
2022-11-29 12:36:20 +00:00
Hannes Wallnöfer
361b50e724 8292594: Use CSS custom properties for all fonts and colors
Reviewed-by: jjg
2022-11-29 11:50:39 +00:00
Conor Cleary
42b60ed22c 8297030: Reduce Default Keep-Alive Timeout Value for httpclient
Reviewed-by: dfuchs, michaelm, jpai
2022-11-29 11:42:51 +00:00
Axel Boldt-Christmas
1301fb0b5f 8296470: Refactor VMError::report STEP macro to improve readability
Reviewed-by: stuefe, coleenp
2022-11-29 11:38:59 +00:00
Michael McMahon
48017b1d9c 8296804: Document HttpClient configuration properties in java.net.http module-info
Reviewed-by: dfuchs, jpai
2022-11-29 11:11:10 +00:00
Aleksey Shipilev
bd51b7ea43 8296645: org.openjdk.bench.javax.tools.Javac leaves class files in current directory
Reviewed-by: redestad, jpai
2022-11-29 11:09:06 +00:00
Hannes Wallnöfer
b27a61e624 8297216: Search results omit some methods
Reviewed-by: jjg
2022-11-29 10:20:58 +00:00
Ivan Walulya
33dfc7d2ef 8296954: G1: Enable parallel scanning for heap region remset
Reviewed-by: tschatzl, ayang
2022-11-29 09:56:16 +00:00
Justin King
6f06f440bc 8297242: Use-after-free during library unloading on Linux
Reviewed-by: dholmes, jsjolen
2022-11-29 06:53:56 +00:00
Prasanta Sadhukhan
4e8e853bc9 6788481: CellEditorListener.editingCanceled is never called
Reviewed-by: prr, azvegint, serb
2022-11-29 05:08:38 +00:00
David Holmes
692bedbc1d 8297106: Remove the -Xcheck:jni local reference capacity checking
Reviewed-by: dcubed, kevinw
2022-11-29 02:03:49 +00:00
David Holmes
05128c2110 8286185: The Java manpage can be more platform inclusive
Reviewed-by: sspitsyn, kvn, iklam
2022-11-28 22:04:07 +00:00
Weijun Wang
d450314bd3 8297276: Remove thread text from Subject.current
Reviewed-by: xuelei, rriggs, mullan
2022-11-28 22:02:54 +00:00
Weibing Xiao
cdf9ed07de 8297528: java/io/File/TempDirDoesNotExist.java test failing on windows-x64
Reviewed-by: rriggs, iris, bpb, naoto
2022-11-28 21:34:36 +00:00
Smita Kamath
105d9d75e8 8295351: java/lang/Float/Binary16Conversion.java fails with "Unexpected result of converting"
Reviewed-by: sviswanathan, thartmann
2022-11-28 19:24:25 +00:00
Christian Stein
a80552e1e1 8236919: Refactor com.sun.tools.javac.main.CommandLine into a reusable module for other JDK tools
Reviewed-by: jjg
2022-11-28 17:33:59 +00:00
Matias Saavedra Silva
a249a52501 8296754: AutoCreateSharedArchive in JDK 20 is not compatible with JDK 19
Reviewed-by: ccheung, iklam, erikj
2022-11-28 15:26:27 +00:00
Aleksey Shipilev
405b1886b3 8297570: jdk/jfr/threading/TestDeepVirtualStackTrace.java fails with -XX:-UseTLAB
Reviewed-by: mgronlun
2022-11-28 14:49:28 +00:00
Alan Bateman
ba0a2521ba 8297717: Remove jdk/internal/misc/TerminatingThreadLocal/TestTerminatingThreadLocal.java from ProblemList
Reviewed-by: jpai
2022-11-28 13:27:18 +00:00
Thomas Stuefe
c05dc80234 8297660: x86: Redundant test+jump in C1 allocateArray
Reviewed-by: aph, yyang
2022-11-28 12:45:36 +00:00
Roland Westrelin
eff4c039da 8297343: TestStress*.java fail with "got different traces for the same seed"
Reviewed-by: thartmann, chagedorn
2022-11-28 12:27:14 +00:00
Albert Mingkun Yang
6a856bc3f6 8297499: Parallel: Missing iteration over klass when marking objArrays/objArrayOops during Full GC
Co-authored-by: Stefan Johansson <sjohanss@openjdk.org>
Reviewed-by: sjohanss, tschatzl
2022-11-28 11:57:18 +00:00
Justin King
b80f5af698 8297309: Memory leak in ShenandoahFullGC
Reviewed-by: rkennke, shade
2022-11-28 11:03:47 +00:00
Johan Sjölen
81eb5fbff5 8297534: Specify the size of MEMFLAGS
Reviewed-by: stuefe, tschatzl
2022-11-28 09:30:53 +00:00
Martin Doerr
012dafee5b 8297082: Remove sun/tools/jhsdb/BasicLauncherTest.java from problem list
Reviewed-by: rrich, cjplummer
2022-11-28 09:26:08 +00:00
Richard Reingruber
43d1173605 8286302: Port JEP 425 to PPC64
Reviewed-by: tsteele, mdoerr
2022-11-28 08:09:09 +00:00
Thomas Stuefe
d6102110e1 8297408: Consolidate code in runtime/ErrorHandling
Reviewed-by: dholmes, mbaesken
2022-11-28 07:31:18 +00:00
Emanuel Peter
2f83b5c487 8297640: Increase buffer size for buf (insert_features_names) in Abstract_VM_Version::insert_features_names
Reviewed-by: chagedorn, rehn
2022-11-27 13:41:26 +00:00
Ryan Ernst
50f9043c69 8297451: ProcessHandleImpl should assert privilege when modifying reaper thread
Reviewed-by: chegar, alanb
2022-11-26 20:04:59 +00:00
Vladimir Kempik
99d3840d36 8297359: RISC-V: improve performance of floating Max Min intrinsics
Reviewed-by: fyang
2022-11-26 16:15:55 +00:00
Aggelos Biboudis
6c05771b9b 8295447: NullPointerException with invalid pattern matching construct in constructor call
Reviewed-by: vromero
2022-11-26 15:53:00 +00:00
Per Minborg
76a24c3f90 8297145: Add a @sealedGraph tag to ConstantDesc
Reviewed-by: darcy
2022-11-26 08:29:34 +00:00
Per Minborg
099b42f360 8297148: Add a @sealedGraph tag to CallSite
Reviewed-by: darcy
2022-11-26 08:28:31 +00:00
Ioi Lam
85ddd8f2af 8295253: Remove kludge from v1_0/PerfDataBuffer.java
Reviewed-by: sspitsyn, dholmes, cjplummer
2022-11-25 19:54:03 +00:00
Doug Simon
952e100551 8297431: [JVMCI] HotSpotJVMCIRuntime.encodeThrowable should not throw an exception
Reviewed-by: never
2022-11-25 17:39:21 +00:00
Severin Gehwolf
08e6a820bc 8297590: [TESTBUG] HotSpotResolvedJavaFieldTest does not run
Reviewed-by: chagedorn, dnsimon
2022-11-25 16:29:53 +00:00
Aggelos Biboudis
4f65570204 8294583: JShell: NPE in switch with non existing record pattern
Reviewed-by: jlahoda
2022-11-25 12:31:47 +00:00
Zhiqiang Zang
fd910f77bc 8297384: Add IR tests for existing idealizations of arithmetic nodes
Reviewed-by: chagedorn
2022-11-25 08:17:44 +00:00
Roland Westrelin
cfe5a3716e 8297556: Parse::check_interpreter_type fails with assert "must constrain OSR typestate"
Reviewed-by: thartmann, vlivanov
2022-11-25 08:06:14 +00:00
Volodymyr Paprotski
74d3baccb3 8297417: Poly1305IntrinsicFuzzTest fails with tag mismatch exception
Reviewed-by: sviswanathan, vlivanov, rcastanedalo, thartmann
2022-11-25 07:07:39 +00:00
Dongxu Wang
0ed8b337ea 8297385: Remove duplicated null typos in javadoc
Reviewed-by: dfuchs, rriggs
2022-11-25 05:55:19 +00:00
Kim Barrett
1fb9dadb6a 8296419: [REDO] JDK-8295319: pending_cards_at_gc_start doesn't include cards in thread buffers
Reviewed-by: tschatzl, sjohanss
2022-11-25 02:02:54 +00:00
Jaikiran Pai
2f47f83add 8297569: URLPermission constructor throws IllegalArgumentException: Invalid characters in hostname after JDK-8294378
Reviewed-by: dfuchs
2022-11-25 01:23:53 +00:00
Claes Redestad
87d1097d9b 8297530: java.lang.IllegalArgumentException: Negative length on strings concatenation
Reviewed-by: enikitin, alanb
2022-11-24 17:40:30 +00:00
Per Minborg
390e69ad06 8297150: Add a @sealedGraph tag to Reference
Reviewed-by: darcy, alanb
2022-11-24 17:07:53 +00:00
Daniel Fuchs
8effaa8f1f 8223783: sun/net/www/http/HttpClient/MultiThreadTest.java sometimes detect threads+1 connections
Reviewed-by: djelinski, michaelm
2022-11-24 16:18:28 +00:00
KIRIYAMA Takuya
ab1f9ffa78 8051627: Invariants about java.net.URI resolve and relativize are wrong
Reviewed-by: dfuchs
2022-11-24 16:16:45 +00:00
Stefan Karlsson
df6cf1e41d 8296886: Fix various include sort order issues
Reviewed-by: kbarrett, dholmes, stuefe
2022-11-24 15:06:19 +00:00
Fei Yang
5e196b4b8e 8297476: Increase InlineSmallCode default from 1000 to 2500 for RISC-V
Reviewed-by: shade, yzhu
2022-11-24 13:32:52 +00:00
Kevin Walls
070a84cbae 8297192: Warning generating API docs for javax.management.MBeanServer: overridden methods do not document exception type
Reviewed-by: dfuchs, sspitsyn, amenkov
2022-11-24 12:28:46 +00:00
Severin Gehwolf
3c4d5204ff 8296671: [JFR] jdk.ContainerConfiguration event should include host total memory
Reviewed-by: egahlin
2022-11-24 10:05:18 +00:00
Hao Sun
8b7397064b 8296208: AArch64: Enable SHA512 intrinsic by default on supported hardware
Reviewed-by: njian, ngasson
2022-11-24 09:11:18 +00:00
Aleksey Shipilev
f4cf7589c0 8297491: Loom: Stack chunks allocation code uses TLABs even when TLABs are disabled
Reviewed-by: tschatzl, aboldtch, aph
2022-11-24 09:00:06 +00:00
Thomas Schatzl
5e5b774bfb 8296768: Use different explicit claim marks for CLDs in Parallel and Serial GC
Reviewed-by: ayang, sjohanss, kbarrett
2022-11-24 08:58:13 +00:00
Martin Doerr
9c77e41b81 8297445: PPC64: Represent Registers as values
Reviewed-by: mbaesken, rrich
2022-11-24 08:35:26 +00:00
Matthias Baesken
2f8a5c2eca 8297480: GetPrimitiveArrayCritical in imageioJPEG misses result - NULL check
Reviewed-by: jdv
2022-11-24 08:03:53 +00:00
Sergey Bylokhov
abeddab991 6528710: sRGB-ColorSpace to sRGB-ColorSpace Conversion
Reviewed-by: jdv, dnguyen
2022-11-24 03:54:40 +00:00
Roger Riggs
09ac9eb563 8297533: ProblemList java/io/File/TempDirDoesNotExist.java test failing on windows-x64
Reviewed-by: naoto
2022-11-23 21:49:01 +00:00
Daniel D. Daugherty
53251454df 8297529: ProblemList javax/swing/JFileChooser/8046391/bug8046391.java on windows-x64
Reviewed-by: naoto, azvegint
2022-11-23 20:55:10 +00:00
Jan Lahoda
91cd8a0366 8297525: jdk/jshell/ToolBasicTest.java fails after JDK-8295984
Reviewed-by: dcubed
2022-11-23 20:21:31 +00:00
Valerie Peng
6dc4d891c3 7181214: Need specify SKF translateKey(SecurityKey) method requires instance of PBEKey for PBKDF2 algorithms
Reviewed-by: xuelei, weijun
2022-11-23 18:49:35 +00:00
Erik Gahlin
2afb4c3327 8297338: JFR: RemoteRecordingStream doesn't respect setMaxAge and setMaxSize
Reviewed-by: mgronlun
2022-11-23 17:48:29 +00:00
Weibing Xiao
8df3bc4ec5 8290313: Produce warning when user specified java.io.tmpdir directory doesn't exist
Reviewed-by: rriggs, naoto, coffeys
2022-11-23 17:10:05 +00:00
Aleksey Shipilev
086763a629 8297154: Improve safepoint cleanup logging
Reviewed-by: jsjolen, rehn
2022-11-23 16:21:19 +00:00
Jayathirth D V
e6e57fe86d 8297507: Update header after JDK-8297230
Reviewed-by: aivanov, ihse, kcr, dfuchs, dcubed
2022-11-23 15:07:34 +00:00
Jan Lahoda
bc59f2a4ac 8295984: Remove unexpected JShell feature
Reviewed-by: cstein, sundar
2022-11-23 14:43:41 +00:00
Ludvig Janiuk
0d93ab9dff 8297000: [jib] Add more friendly warning for proxy issues
Reviewed-by: erikj, ihse
2022-11-23 14:26:45 +00:00
Laurent Bourgès
5b3d86f229 8297230: Update Marlin2D to 0.9.4.6
Reviewed-by: prr, serb
2022-11-23 13:29:20 +00:00
Albert Mingkun Yang
f4b5065c37 8297435: Remove unused CompactibleSpaceClosure
Reviewed-by: dholmes
2022-11-23 10:15:41 +00:00
Ralf Schmelter
bde0e35ded 8297142: jdk/jfr/event/runtime/TestShutdown.java fails on Linux ppc64le and Linux aarch64
Reviewed-by: clanger
2022-11-23 09:36:08 +00:00
Aleksey Shipilev
f26bd4e0e8 8297350: Update JMH devkit to 1.36
Reviewed-by: erikj
2022-11-23 07:12:21 +00:00
Christoph Langer
470f3424fc 8296904: Improve handling of macos xcode toolchain
Reviewed-by: erikj, ihse
2022-11-23 07:08:00 +00:00
Jayathirth D V
b4bd287f73 8191406: [hidpi] sun/java2d/SunGraphics2D/DrawImageBilinear.java test fails
Reviewed-by: serb
2022-11-23 03:38:37 +00:00
Prasanta Sadhukhan
412b43658a 6201035: Document NPE for passing null insets to constructors and methods of several javax.swing.border.* classes
Reviewed-by: tr, prr, aivanov, serb
2022-11-23 03:20:30 +00:00
Bo Zhang
faf48e61be 8296329: jar validator doesn't account for minor class file version
Reviewed-by: jvernee
2022-11-23 03:09:12 +00:00
Alex Menkov
09f70dad2f 8296265: Use modern HTML in the JVMTI spec
Reviewed-by: sspitsyn, kevinw
2022-11-22 23:55:39 +00:00
Serguei Spitsyn
e661c5a3d0 8296323: JVMTI can_support_virtual_threads not available for agents loaded into running VM
Reviewed-by: alanb, rrich
2022-11-22 23:43:15 +00:00
Kim Barrett
974cb8370d 8297310: Remove unimplemented HeapInspection::iterate_over_heap
Reviewed-by: amenkov, cjplummer, shade
2022-11-22 23:12:21 +00:00
Weijun Wang
e174558cad 8296742: Illegal X509 Extension should not be created
Reviewed-by: mullan
2022-11-22 22:21:50 +00:00
David Holmes
a6c418eaf8 8297168: Provide a bulk OopHandle release mechanism with the ServiceThread
Reviewed-by: rehn, coleenp
2022-11-22 21:57:33 +00:00
Christoph Langer
4a544bb0fc 8297091: New langtools test jdk/javadoc/doclet/testValueTag/TestValueFormats.java fails on machines with unexpected number format
Reviewed-by: prappo, jjg
2022-11-22 21:00:08 +00:00
Damon Nguyen
b6dddf4ce6 8239801: [macos] java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java fails
Reviewed-by: honkar, azvegint
2022-11-22 20:12:36 +00:00
Xue-Lei Andrew Fan
260e4dcbfd 8295011: EC point multiplication improvement for secp256r1
Reviewed-by: djelinski, jjiang
2022-11-22 18:19:59 +00:00
Sergey Bylokhov
fb6c992f32 8296957: One more cast in SAFE_SIZE_NEW_ARRAY2
Reviewed-by: aivanov
2022-11-22 18:08:12 +00:00
Gerard Ziemski
ccc6e16918 8291067: macOS should use O_CLOEXEC instead of FD_CLOEXEC
Reviewed-by: dcubed, dholmes, stuefe
2022-11-22 16:30:24 +00:00
Albert Mingkun Yang
0ac5b55311 8297349: Parallel: Use correct claim value for CLD oop iteration in PSScavengeCLDClosure
Reviewed-by: tschatzl, shade
2022-11-22 14:40:51 +00:00
Albert Mingkun Yang
932bf3539c 8297333: Parallel: Remove unused methods in PCIterateMarkAndPushClosure
Reviewed-by: tschatzl, sjohanss
2022-11-22 14:39:10 +00:00
Tobias Hartmann
42c2037429 8297382: Test fails to compile after JDK-8288047
Reviewed-by: chagedorn
2022-11-22 09:25:44 +00:00
Alexander Zvegintsev
6d6046b379 8252713: jtreg time out of CtrlASCII.java seems to hang the Xserver.
Reviewed-by: prr
2022-11-22 09:20:46 +00:00
Matthias Baesken
88957a7ce8 8297147: UnexpectedSourceImageSize test times out on slow machines when fastdebug is used
Reviewed-by: stuefe, serb
2022-11-22 08:02:04 +00:00
Markus Karg
069685489a 8297299: SequenceInputStream should not use Vector
Reviewed-by: alanb, jpai
2022-11-22 05:04:40 +00:00
pandaapo
f0e99c6346 8297301: Cleanup unused methods in JavaUtilJarAccess
Reviewed-by: weijun
2022-11-22 03:22:05 +00:00
Jaikiran Pai
392ac7055d 8297211: Expensive fillInStackTrace operation in HttpURLConnection.getOutputStream0 when no content-length in response
Reviewed-by: simonis, dfuchs
2022-11-22 01:48:39 +00:00
Jonathan Gibbons
5a45c25151 8297164: Update troff man pages and CheckManPageOptions.java
Reviewed-by: dholmes
2022-11-21 22:03:48 +00:00
Volodymyr Paprotski
f12710e938 8288047: Accelerate Poly1305 on x86_64 using AVX512 instructions
Reviewed-by: sviswanathan, vlivanov
2022-11-21 21:01:25 +00:00
Magnus Ihse Bursie
cd6a203a3e 8297348: make CONF=xxx should match if xxx is an exact match
Reviewed-by: erikj
2022-11-21 18:34:52 +00:00
Magnus Ihse Bursie
817e039bb5 8297352: configure should check pandoc version
Reviewed-by: erikj
2022-11-21 18:33:32 +00:00
Magnus Ihse Bursie
15e2e2852b 8297353: Regenerated checked-in html files with new pandoc
Reviewed-by: lancea, erikj
2022-11-21 18:32:40 +00:00
Xue-Lei Andrew Fan
b366d17a94 8294073: Performance improvement for message digest implementations
Reviewed-by: jjiang
2022-11-21 15:56:19 +00:00
Weijun Wang
57f5cfdeb5 8296399: crlNumExtVal might be null inside X509CRLSelector::match
Reviewed-by: xuelei
2022-11-21 15:25:18 +00:00
Tobias Hartmann
0b04a99245 8297347: Problem list compiler/debug/TestStress*.java
Reviewed-by: chagedorn
2022-11-21 15:20:58 +00:00
Magnus Ihse Bursie
0ac01485d3 8297342: make LOG=debug is too verbose
Reviewed-by: erikj
2022-11-21 15:13:08 +00:00
Sean Coffey
d0a7938eb7 8286575: Document how properties in java.security are parsed
Reviewed-by: mullan
2022-11-21 14:28:07 +00:00
Coleen Phillimore
5c3345404d 8296472: Remove ObjectLocker around appendToClassPathForInstrumentation call
Reviewed-by: sspitsyn, alanb, dholmes
2022-11-21 14:16:49 +00:00
Coleen Phillimore
08008139cc 8293584: CodeCache::old_nmethods_do incorrectly filters is_unloading nmethods
Reviewed-by: eosterlund, kvn
2022-11-21 13:46:09 +00:00
Alexander Zvegintsev
16ab754e49 8196018: java/awt/Scrollbar/ScrollbarMouseWheelTest/ScrollbarMouseWheelTest.java fails
Reviewed-by: psadhukhan, serb, dnguyen
2022-11-21 13:40:06 +00:00
Christian Hagedorn
8b8d8481bc 8293422: DWARF emitted by Clang cannot be parsed
Reviewed-by: tschatzl, ihse, stuefe
2022-11-21 12:58:45 +00:00
Albert Mingkun Yang
59d8f67a71 8297265: G1: Remove unnecessary null-check in RebuildCodeRootClosure::do_code_blob
Reviewed-by: tschatzl
2022-11-21 11:14:05 +00:00
Alexander Zvegintsev
2fc340a703 8148041: Test java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick fails on Ubuntu with mouseReleased event after double click on title bar
Reviewed-by: prr
2022-11-21 10:48:44 +00:00
Gui Cao
e4206618ac 8297238: RISC-V: C2: Use Matcher::vector_element_basic_type when checking for vector element type in predicate
Reviewed-by: dzhang, fyang
2022-11-21 10:01:29 +00:00
Bhavana Kilambi
891c706a10 8295276: AArch64: Add backend support for half float conversion intrinsics
Reviewed-by: ngasson, aph, njian
2022-11-21 09:56:38 +00:00
Jayathirth D V
3c0949824e 8297241: Update sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java
8297153: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails again

Reviewed-by: serb
2022-11-21 09:50:57 +00:00
Roland Westrelin
45d1807ad3 6312651: Compiler should only use verified interface types for optimization
Reviewed-by: vlivanov, kvn
2022-11-21 08:47:42 +00:00
Matthias Baesken
bcc6b12b71 8296945: PublicMethodsTest is slow due to dependency verification with debug builds
Reviewed-by: mchung, thartmann
2022-11-21 07:41:11 +00:00
Aleksey Shipilev
fc616588c1 8294591: Fix cast-function-type warning in TemplateTable
Reviewed-by: ihse, coleenp
2022-11-21 07:22:56 +00:00
Srikanth Adayapalam
544e317225 8059632: Method reference compilation uses incorrect qualifying type
Reviewed-by: mcimadamore
2022-11-21 03:02:29 +00:00
Ashutosh Mehra
651e54798a 8297217: Incorrect generation name in the heap verification log message with Serial GC
Reviewed-by: kbarrett, tschatzl
2022-11-20 23:55:47 +00:00
Daniel D. Daugherty
dd55310134 8297303: ProblemList java/awt/Mouse/EnterExitEvents/DragWindowTest.java on macosx-all
Reviewed-by: alanb, azvegint
2022-11-20 15:19:00 +00:00
Leonid Mesnik
3ea89711e3 8269817: serviceability/jvmti/DynamicCodeGenerated/DynamicCodeGeneratedTest.java timed out with -Xcomp
Reviewed-by: cjplummer, kevinw, sspitsyn
2022-11-19 20:31:37 +00:00
Thomas Stuefe
0a3b0fc8ad 8296784: Provide clean mallinfo/mallinfo2 wrapper for Linux glibc platforms
Reviewed-by: rkennke, mbaesken
2022-11-19 18:06:48 +00:00
Alan Bateman
7b3d581497 8297293: Add java/nio/channels/FileChannel/FileExtensionAndMap.java to ProblemList
Reviewed-by: lancea
2022-11-19 17:12:13 +00:00
Thomas Stuefe
251e065a17 8296764: NMT: reduce loads in os::malloc
Reviewed-by: adinn, iklam
2022-11-19 14:45:45 +00:00
Thomas Stuefe
0845b39caf 8296796: Provide clean, platform-agnostic interface to C-heap trimming
Reviewed-by: dholmes, rkennke
2022-11-19 11:52:55 +00:00
Sergey Bylokhov
c50a9047b4 8297195: AWTAccessor and SwingAccessor should avoid double racy reads from non-volatile fields
Reviewed-by: azvegint, prr
2022-11-19 04:40:02 +00:00
Jaikiran Pai
906f1ca4d7 8292317: Missing null check for Iterator.forEachRemaining implementations
Reviewed-by: sundar, smarks
2022-11-19 00:55:14 +00:00
Serguei Spitsyn
0ec575a203 8297289: problem list runtime/vthread/RedefineClass.java and TestObjectAllocationSampleEvent.java
Reviewed-by: dcubed
2022-11-18 23:46:20 +00:00
Jonathan Gibbons
dcb83754ce 8245246: Deprecate -profile option in javac
Reviewed-by: darcy
2022-11-18 23:43:26 +00:00
Jonathan Gibbons
52494df4f7 8290845: Consider an alternative item separator for multi-item option values
Reviewed-by: prappo
2022-11-18 22:30:09 +00:00
Phil Race
c56c69ed3e 8285604: closed sun/java2d/GdiRendering/ClipShapeRendering.java failed with "Incorrect color ffeeeeee instead of ff0000ff in pixel (100, 100)"
Reviewed-by: psadhukhan
2022-11-18 22:00:22 +00:00
Joe Darcy
6fd1442123 8296743: Tighten Class.getModifiers spec for array classes
Reviewed-by: rriggs, mchung, heidinga
2022-11-18 21:51:55 +00:00
Adam Sotona
3a15e8483c 8297258: Typo in java -help referencing -disable-@files instead of --disable-@files
Reviewed-by: mchung
2022-11-18 21:41:32 +00:00
Alexander Zuev
43ce047f9f 8178698: javax/sound/midi/Sequencer/MetaCallback.java failed with timeout
Reviewed-by: prr, psadhukhan
2022-11-18 21:20:34 +00:00
Serguei Spitsyn
035eaeecab 8296324: JVMTI GetStackTrace truncates vthread stack trace for agents loaded into running VM
Reviewed-by: cjplummer, lmesnik
2022-11-18 20:52:56 +00:00
ravi.ra.gupta
59a308b9d0 8296632: Write a test to verify the content change of TextArea sends TextEvent
Reviewed-by: mvs, prr, honkar, aivanov, serb
2022-11-18 20:34:53 +00:00
Alisen Chung
11fc65fa58 8023562: [TEST_BUG] java/awt/Mouse/EnterExitEvents/DragWindowTest.java failed on ubuntu 13 and mac 10.11
Reviewed-by: azvegint, honkar, jdv
2022-11-18 20:17:53 +00:00
Alisen Chung
2c692aa356 8297088: Update LCMS to 2.14
Reviewed-by: erikj, serb, prr, honkar
2022-11-18 19:39:47 +00:00
Chris Plummer
9b4e0e8446 8297080: Remove com/sun/jdi/NashornPopFrameTest.java from the problem list
Reviewed-by: dcubed, lmesnik
2022-11-18 19:16:29 +00:00
Chris Plummer
3272954a00 8297083: Remove vmTestbase/nsk/jvmti/GetAllThreads/allthr001 from problem list
Reviewed-by: dcubed, lmesnik, amenkov
2022-11-18 19:15:33 +00:00
Xue-Lei Andrew Fan
c4b6920a40 8296910: Add EdDSA/XDH/RSASSA-PSS to KeyPairGeneratorBench.java
Reviewed-by: weijun
2022-11-18 17:43:54 +00:00
Erik Gahlin
f34ca80167 8297245: JFR: TestRemoteDump should use RemoteRecordingStream
Reviewed-by: mgronlun
2022-11-18 16:03:12 +00:00
Adam Sotona
13158cb52d 8293041: --disable-@files option doesn't work and cause an error
Reviewed-by: alanb
2022-11-18 14:55:30 +00:00
Roland Westrelin
761a4f4852 8295788: C2 compilation hits "assert((mode == ControlAroundStripMined && use == sfpt) || !use->is_reachable_from_root()) failed: missed a node"
Reviewed-by: kvn, thartmann
2022-11-18 13:46:01 +00:00
Jaikiran Pai
2f2d40465b 8297129: Inflater documentation refers to 'deflate' methods
Reviewed-by: alanb, lancea
2022-11-18 12:04:10 +00:00
tianshuang
dd18d76b4c 8297173: usageTicks and totalTicks should be volatile to ensure that different threads get the latest ticks
Reviewed-by: sgehwolf, alanb
2022-11-18 10:45:36 +00:00
Hao Sun
2b6dbc71d8 8293856: AArch64: Remove clear_inst_mark from aarch64_enc_java_dynamic_call
Reviewed-by: aph, eastigeevich
2022-11-18 09:01:33 +00:00
Archie L. Cobbs
2f063b86fb 8296846: Minor cleanup of some dead code in Flow.java
Reviewed-by: vromero
2022-11-18 04:25:12 +00:00
Weijun Wang
ab6b7ef988 8296901: Do not create unsigned certificate and CRL
Reviewed-by: mullan
2022-11-18 02:21:03 +00:00
David Holmes
7b3984cb5a 8296463: Memory leak in JVM_StartThread with the integration of Virtual threads
Reviewed-by: alanb, coleenp, dcubed
2022-11-18 00:46:09 +00:00
Stefan Karlsson
373e52c0ab 8296785: Use realloc for CHeap-allocated BitMaps
Reviewed-by: stuefe, aboldtch
2022-11-17 21:23:27 +00:00
Phil Race
a53be204cb 8282404: DrawStringWithInfiniteXform.java failed with "RuntimeException: drawString with InfiniteXform transform takes long time"
Reviewed-by: psadhukhan, jdv
2022-11-17 20:33:48 +00:00
Andrey Turbanov
66228f77fe 8297074: Use enhanced-for cycle instead of Enumeration in javax.crypto
Reviewed-by: weijun, wetmore
2022-11-17 20:25:53 +00:00
Matthew Donovan
819af69f40 8249693: java/nio/channels/FileChannel/FileExtensionAndMap.java uses @ignore w/o bug id
Reviewed-by: rhalade
2022-11-17 19:42:20 +00:00
Mikael Vidstedt
9c432a09db 8297165: Update Pandoc to version 2.19.2 for Oracle builds
Reviewed-by: erikj
2022-11-17 17:03:13 +00:00
Naoto Sato
8b140e2d74 8297152: Add a @sealedGraph tag to ZoneId
Reviewed-by: iris, joehw
2022-11-17 16:59:08 +00:00
Justin Lu
992f209def 8287180: Update IANA Language Subtag Registry to Version 2022-08-08
Reviewed-by: naoto, lancea, iris
2022-11-17 16:55:43 +00:00
Thomas Stuefe
a768fed779 8297184: Test runtime/ErrorHandling/TestSigInfoInHsErrFile.java is failing
Reviewed-by: dcubed, coleenp
2022-11-17 16:40:32 +00:00
Daniel Fuchs
134acab5a4 8297149: REDO JDK-8296889: Race condition when cancelling a request
8297075: java/net/httpclient/CancelStreamedBodyTest.java fails with "java.lang.AssertionError: WARNING: tracker for HttpClientImpl(1) has outstanding operations"

Reviewed-by: jpai
2022-11-17 15:08:04 +00:00
Tobias Holenstein
4120db13d4 8297007: IGV: Link/Unlink node selection of open tabs
Reviewed-by: rcastanedalo, chagedorn
2022-11-17 14:06:01 +00:00
Xiaolin Zheng
38eb80d4d8 8296975: RISC-V: Enable UseRVA20U64 profile by default
Reviewed-by: fyang, vkempik
2022-11-17 13:45:56 +00:00
Tobias Hartmann
b6aff54245 8297201: Obsolete AliasLevel flag
Co-authored-by: Tobias Holenstein <tholenstein@openjdk.org>
Reviewed-by: chagedorn, dholmes, tholenstein, rcastanedalo
2022-11-17 13:23:02 +00:00
Tobias Holenstein
d02bfdf9d7 8297032: IGV: shortcut to center selected nodes
Reviewed-by: chagedorn, rcastanedalo
2022-11-17 13:04:07 +00:00
Raffaello Giulietti
35acb89166 8296292: Document the default behavior of '$' in regular expressions correctly
Reviewed-by: lancea
2022-11-17 12:46:19 +00:00
Coleen Phillimore
d8c809b196 8296492: Remove ObjectLocker in JVMTI get_subgroups call
Reviewed-by: dholmes, alanb, sspitsyn
2022-11-17 11:58:00 +00:00
Per Minborg
171553a611 8297194: Add a @sealedGraph tag to Buffer
Reviewed-by: alanb
2022-11-17 11:46:51 +00:00
Vladimir Kempik
bd57e2138f 8296602: RISC-V: improve performance of copy_memory stub
Reviewed-by: fyang
2022-11-17 10:29:17 +00:00
Magnus Ihse Bursie
4527dc67be 8297041: Remove the last remnants of sjavac
Reviewed-by: cstein, erikj, jjg
2022-11-17 09:20:22 +00:00
Alan Bateman
636040f875 8296405: java/util/concurrent/forkjoin/AsyncShutdownNow.java is too slow
Reviewed-by: jpai
2022-11-17 09:18:50 +00:00
Dong Bo
2f728d0cbb 8295698: AArch64: test/jdk/sun/security/ec/ed/EdDSATest.java failed with -XX:+UseSHA3Intrinsics
Reviewed-by: haosun, aph
2022-11-17 09:05:43 +00:00
Conor Cleary
b9db16ab09 8288717: Add a means to close idle connections in HTTP/2 connection pool
Reviewed-by: dfuchs, michaelm
2022-11-17 08:38:25 +00:00
Thomas Stuefe
9f8b6d2aa6 8296437: NMT incurs costs if disabled
Reviewed-by: dholmes, iklam
2022-11-17 08:31:21 +00:00
Roman Kennke
e81359f148 8296170: Refactor stack-locking path in C2_MacroAssembler::fast_unlock()
Reviewed-by: thartmann, phh
2022-11-17 08:23:57 +00:00
Tobias Hartmann
502fa3eeea 8296912: C2: CreateExNode::Identity fails with assert(i < _max) failed: oob: i=1, _max=1
Reviewed-by: chagedorn, kvn
2022-11-17 07:39:57 +00:00
Abhishek Kumar
5795c760db 8296222: SwingEventMonitor - installListeners(Component , int ) - CELLEDITOR - bug
Reviewed-by: angorya, kizune
2022-11-17 07:17:03 +00:00
Thomas Stuefe
b9d6e83e9b 8296906: VMError::controlled_crash crashes with wrong code and address
Reviewed-by: dholmes, mbaesken
2022-11-17 07:08:14 +00:00
Tobias Hartmann
cd9c688bfc 8276064: CheckCastPP with raw oop input floats below a safepoint
Reviewed-by: kvn, vlivanov, roland
2022-11-17 05:58:38 +00:00
Tom Rodriguez
d61720a4dc 8218885: Restore pop_frame and force_early_return functionality for Graal
Reviewed-by: kvn, dlong, sspitsyn, amenkov
2022-11-17 05:18:49 +00:00
Prasanta Sadhukhan
dd9aa7272d 8296083: javax/swing/JTree/6263446/bug6263446.java fails intermittently on a VM
Reviewed-by: tr, prr
2022-11-17 03:25:37 +00:00
Fei Gao
cc44419840 8295407: C2 crash: Error: ShouldNotReachHere() in multiple vector tests with -XX:-MonomorphicArrayCheck -XX:-UncommonNullCast
Reviewed-by: thartmann, kvn
2022-11-17 01:39:56 +00:00
Joe Darcy
e2269fd2ca 8296968: Update langtools tests to use @enablePreview
Reviewed-by: sundar, jjg
2022-11-17 00:49:53 +00:00
Xin Liu
2159170b41 8296453: Simplify resource_area uses in ClassPathDirEntry::open_stream
Reviewed-by: dholmes, phh
2022-11-16 22:40:04 +00:00
Doug Simon
95c390ec75 8296956: [JVMCI] HotSpotResolvedJavaFieldImpl.getIndex returns wrong value
Reviewed-by: thartmann, never
2022-11-16 21:21:04 +00:00
Weijun Wang
68d3ed5cee 8296442: EncryptedPrivateKeyInfo can be created with an uninitialized AlgorithmParameters
Reviewed-by: xuelei, kdriver, mullan
2022-11-16 20:30:34 +00:00
Doug Simon
37848a9ca2 8296967: [JVMCI] rationalize relationship between getCodeSize and getCode in ResolvedJavaMethod
Reviewed-by: never
2022-11-16 20:27:19 +00:00
Doug Simon
b3ef337566 8296960: [JVMCI] list HotSpotConstantPool.loadReferencedType to ConstantPool
Reviewed-by: never
2022-11-16 20:25:00 +00:00
Calvin Cheung
f0474b826d 8283238: make/scripts/compare.sh should show the diff when classlist does not match
Reviewed-by: erikj, ihse
2022-11-16 20:10:42 +00:00
Erik Gahlin
04a4d347bd 8297006: JFR: AbstractEventStream should not hold thread instance
Reviewed-by: mgronlun
2022-11-16 20:01:37 +00:00
Doug Simon
5db1b58c86 8296961: [JVMCI] Access to j.l.r.Method/Constructor/Field for ResolvedJavaMethod/ResolvedJavaField
Reviewed-by: never
2022-11-16 19:58:09 +00:00
Doug Simon
4ce4f384d7 8296958: [JVMCI] add API for retrieving ConstantValue attributes
Reviewed-by: never
2022-11-16 19:56:14 +00:00
Ioi Lam
8c26d029b5 8295315: [REDO] 8276687 Remove support for JDK 1.4.1 PerfData shared memory files
Reviewed-by: dholmes, kevinw, sspitsyn
2022-11-16 18:31:37 +00:00
Xue-Lei Andrew Fan
8752bb4be8 8296818: Enhance JMH tests java/security/Signatures.java
Reviewed-by: weijun
2022-11-16 17:43:40 +00:00
Brian Burkhalter
b97fc93437 7132279: (ch) SeekableByteChannel operation may throw Non{Readable,Writable}ChannelException
Reviewed-by: lancea, jpai
2022-11-16 17:33:14 +00:00
Alexander Zvegintsev
39dda24dc6 8157173: [macosx] java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java fails
Reviewed-by: jdv, prr, serb
2022-11-16 17:05:32 +00:00
Per Minborg
51f690decb 8297134: Add a @sealedGraph tag to InetAddress
Reviewed-by: jpai, aefimov
2022-11-16 16:41:30 +00:00
Calvin Cheung
3eb6d0e2f8 8291991: Adjust the "shared class paths mismatch" message if class path logging is enabled
Reviewed-by: iklam, matsaave
2022-11-16 15:47:32 +00:00
Lutz Schmidt
eac26f4eb2 8296709: WARNING: JNI call made without checking exceptions
Reviewed-by: kevinw, sspitsyn, clanger
2022-11-16 15:00:20 +00:00
Tobias Holenstein
4946737fcb 8297047: IGV: graphContent not set when opening a new tab
Reviewed-by: chagedorn, rcastanedalo
2022-11-16 13:52:41 +00:00
Daniel Fuchs
8b1ff9e37e 8297132: BACKOUT JDK-8296889: Race condition when cancelling a request
Reviewed-by: djelinski, alanb
2022-11-16 13:13:54 +00:00
Claes Redestad
e72b0ac4af 8296429: Remove os::supports_sse
Reviewed-by: stuefe
2022-11-16 13:03:14 +00:00
Stefan Karlsson
813b223a6b 8296926: Sort include lines of files in the include/ directory
Reviewed-by: kbarrett, erikj, lkorinth
2022-11-16 12:51:26 +00:00
Stefan Karlsson
8cdcec44d8 8296774: Removed default MEMFLAGS value from CHeapBitMap
Reviewed-by: lkorinth, eosterlund
2022-11-16 12:26:09 +00:00
Fei Yang
c3b285a8ac 8296916: RISC-V: Move some small macro-assembler functions to header file
Reviewed-by: fjiang, yadongwang, shade
2022-11-16 12:01:42 +00:00
Albert Mingkun Yang
720c3d08c6 8296932: G1: Remove unused G1RootClosures::weak_oops
Reviewed-by: tschatzl
2022-11-16 11:50:32 +00:00
Stefan Karlsson
196d0210df 8297020: Rename GrowableArray::on_stack
Reviewed-by: stuefe, coleenp
2022-11-16 11:01:39 +00:00
Stefan Karlsson
5f51dff697 8296776: Stop using mtNone as marker for CHeap allocations in GrowableArray
Reviewed-by: sspitsyn, xliu, stuefe
2022-11-16 10:52:57 +00:00
Pavel Rappo
499406c764 8285488: Improve DocFinder
8287796: Stop auto-inheriting documentation for subclasses of exceptions whose documentation is inherited
8291869: Match exceptions using types of javax.lang.model, not strings
8288045: Clean up ParamTaglet
8288046: Clean up ThrowsTaglet
8295277: Expand {@inheritDoc} in @throws fully

Reviewed-by: jjg
2022-11-16 09:43:21 +00:00
Pavel Rappo
97ab2c3ea6 8296953: Fix a typo in exception documentation
Reviewed-by: cjplummer, dfuchs
2022-11-16 09:18:14 +00:00
Thomas Stuefe
5e08b3f40e 8296931: NMT tests slowed down considerably by JDK-8242181
Reviewed-by: chagedorn, mbaesken
2022-11-16 08:51:47 +00:00
Jayathirth D V
65f7de2523 8022403: sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java fails
Reviewed-by: prr, psadhukhan
2022-11-16 07:58:55 +00:00
Zdenek Zambersky
3f2f128af6 8295952: Problemlist existing compiler/rtm tests also on x86
Reviewed-by: chagedorn, kvn
2022-11-16 06:29:52 +00:00
Yi-Fan Tsai
6ead2b0195 8296548: Improve MD5 intrinsic for x86_64
Reviewed-by: kvn, sviswanathan, luhenry
2022-11-16 06:13:15 +00:00
Daniel D. Daugherty
bd3acbea8c 8297089: [BACKOUT] JDK-8297088 Update LCMS to 2.14
Reviewed-by: dholmes
2022-11-15 23:02:42 +00:00
Alisen Chung
6a60d318b6 8295369: Update LCMS to 2.14
Reviewed-by: honkar, prr
2022-11-15 22:12:24 +00:00
Joshua Cao
0cbf084b44 8296969: C1: PrintC1Statistics is broken after JDK-8292878
Reviewed-by: chagedorn, kvn, xliu
2022-11-15 21:13:11 +00:00
Man Cao
f662a06046 8296970: Remove sysThreadAvailableStackWithSlack from hotspot-symbols
Reviewed-by: clanger, erikj
2022-11-15 20:34:45 +00:00
Daniel Fuchs
7357a1a379 8296889: Race condition when cancelling a request
Reviewed-by: jpai
2022-11-15 18:36:45 +00:00
Joe Darcy
87530e66dd 8296913: Correct enable preview idiom in JdbLastErrorTest.java
Reviewed-by: cjplummer, kevinw, alanb, sspitsyn
2022-11-15 18:22:00 +00:00
Chris Plummer
fafe682967 8295861: get rid of list argument in debug agent's removeNode() API
Reviewed-by: amenkov, kevinw, sspitsyn
2022-11-15 17:37:59 +00:00
Leonid Mesnik
216c6f6340 8294881: test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose003/TestDescription.java fails
Reviewed-by: cjplummer, sspitsyn
2022-11-15 17:19:48 +00:00
Lance Andersen
6aef3a4a3d 8262435: Clarify the behavior of a few inherited ZipInputStream methods
Reviewed-by: alanb, bpb, jpai
2022-11-15 16:44:14 +00:00
Xue-Lei Andrew Fan
c042b8ede1 8294731: Improve multiplicative inverse for secp256r1 implementation
Reviewed-by: djelinski, jjiang
2022-11-15 15:55:00 +00:00
Weijun Wang
d3051a75a3 8296736: Some PKCS9Attribute can be created but cannot be encoded
Reviewed-by: xuelei, valeriep
2022-11-15 15:33:08 +00:00
Christian Hagedorn
decb1b79bc 8286800: Assert in PhaseIdealLoop::dump_real_LCA is too strong
Reviewed-by: kvn, rcastanedalo
2022-11-15 14:44:26 +00:00
Adam Sotona
c49e48417d 8294739: jdk/jshell/ToolShiftTabTest.java timed out
Reviewed-by: jlahoda
2022-11-15 12:13:36 +00:00
Adam Sotona
a45c9af124 8295814: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected [2] but found [1]"
Reviewed-by: jlahoda
2022-11-15 12:09:59 +00:00
Dmitry Samersoff
d0fae43e89 8294947: Use 64bit atomics in patch_verified_entry on x86_64
Reviewed-by: kvn
2022-11-15 10:43:05 +00:00
Tobias Holenstein
6f467cd829 8295934: IGV: keep node selection when changing view or graph
Reviewed-by: thartmann, rcastanedalo
2022-11-15 10:13:53 +00:00
Julian Waters
9adb728378 8295070: Introduce more target combinations for compiler flags
Reviewed-by: erikj, ihse
2022-11-15 09:47:37 +00:00
Nick Gasson
8ab70d3b59 8294775: Shenandoah: reduce contention on _threads_in_evac
Reviewed-by: rkennke, shade
2022-11-15 09:31:50 +00:00
Ralf Schmelter
5551cb66ba 8293166: jdk/jfr/jvm/TestDumpOnCrash.java fails on Linux ppc64le and Linux aarch64
Reviewed-by: mbaesken, stuefe
2022-11-15 07:34:49 +00:00
Kevin Walls
8a9eabbec6 8296786: Limit VM modes for com/sun/jdi/JdbLastErrorTest.java
Reviewed-by: cjplummer, dcubed
2022-11-15 07:23:40 +00:00
Erik Gahlin
873eccde01 8296923: JFR: jfr --version should return System.getProperty("java version")
Reviewed-by: mgronlun
2022-11-15 01:17:02 +00:00
Fei Yang
93d6b1f3e8 8295711: Rename ZBarrierSetAssembler::load_at parameter name from "tmp_thread" to "tmp2"
Reviewed-by: fjiang, haosun, tschatzl, eosterlund
2022-11-15 00:59:25 +00:00
Chris Plummer
2f7dc5c4cd 8296089: Remove debug agent code for special handling of Thread.resume()
Reviewed-by: alanb
2022-11-14 20:22:45 +00:00
Phil Race
c71d87e54c 8286624: Regression Test CoordinateTruncationBug.java fails on OL8.3
Reviewed-by: azvegint, kizune
2022-11-14 19:50:45 +00:00
Weijun Wang
a7c2338a6d 8296900: CertificateValidity fields are not optional
Reviewed-by: mullan
2022-11-14 19:46:43 +00:00
Vicente Romero
3eb789af74 8296171: Compiler incorrectly rejects code with variadic method references
Reviewed-by: mcimadamore
2022-11-14 18:31:26 +00:00
Brian Burkhalter
749335d34a 8291911: java/io/File/GetXSpace.java fails with "53687091200 != 161051996160"
Reviewed-by: rriggs
2022-11-14 18:08:33 +00:00
Markus Karg
95b84050fc 8296431: PushbackInputStream should override transferTo
Reviewed-by: bpb
2022-11-14 18:03:18 +00:00
Mark Powers
e269dc03ad 8293681: ResponseAPDU getData() method javadoc
Reviewed-by: valeriep
2022-11-14 17:37:42 +00:00
Roland Westrelin
8c472e4816 8294217: Assertion failure: parsing found no loops but there are some
Reviewed-by: chagedorn, thartmann
2022-11-14 15:08:15 +00:00
Roland Westrelin
0fe2bf51b2 8296805: ctw build is broken
Reviewed-by: kvn, thartmann
2022-11-14 15:05:57 +00:00
Weijun Wang
e1d298c12d 8296741: Illegal X400Address and EDIPartyName should not be created
Reviewed-by: xuelei, valeriep
2022-11-14 14:53:53 +00:00
Alexander Zvegintsev
b0edfc1159 8164464: Consistent failure of java/awt/dnd/MissingEventsOnModalDialog/MissingEventsOnModalDialogTest.java
Reviewed-by: jdv, serb
2022-11-14 14:45:17 +00:00
Roger Riggs
9c39932672 8294899: Process.waitFor() throws IllegalThreadStateException when a process on Windows returns an exit code of 259
Reviewed-by: alanb, jpai
2022-11-14 14:17:46 +00:00
Albert Mingkun Yang
3f401b3091 8296670: G1: Remove unused G1GCPhaseTimes::record_preserve_cm_referents_time_ms
Reviewed-by: tschatzl, iwalulya
2022-11-14 10:07:50 +00:00
Tobias Holenstein
68301cdeca 8296665: IGV: Show dialog with stack trace for exceptions
Reviewed-by: thartmann, chagedorn
2022-11-14 08:41:04 +00:00
Olga Mikhaltsova
277f0c24a2 8296821: compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/NativeCallTest.java fails after JDK-8262901
Reviewed-by: kvn, thartmann
2022-11-14 08:40:11 +00:00
Christian Hagedorn
34d10f19f5 8296243: [IR Framework] Fix issues with IRNode.ALLOC* regexes
Reviewed-by: mdoerr, thartmann
2022-11-14 08:28:41 +00:00
Alan Bateman
8eb90e2d9c 8296797: java/nio/channels/vthread/BlockingChannelOps.testSocketChannelWriteAsyncClose failed with ClosedChannelException
Reviewed-by: chegar, jpai
2022-11-13 07:45:38 +00:00
Yadong Wang
a2cdcdd65d 8296630: Fix SkipIfEqual on AArch64 and RISC-V
Reviewed-by: ngasson, fyang, luhenry, aph
2022-11-13 03:07:09 +00:00
Thomas Stuefe
657a0b2f15 8295865: Several issues with os::realloc
Reviewed-by: dholmes, jsjolen
2022-11-12 05:51:50 +00:00
Ryan Wallace
ff2c987669 8294378: URLPermission constructor exception when using tr locale
Reviewed-by: dfuchs, jpai, aefimov
2022-11-12 01:37:46 +00:00
Vladimir Ivanov
34a499de8e 8294033: x86_64: libm stubs are missing
Reviewed-by: jvernee, kvn
2022-11-11 22:50:08 +00:00
Julian Waters
f0b648bc5c 8296758: [BACKOUT] Revert 8296115
Reviewed-by: ihse
2022-11-11 21:48:45 +00:00
Magnus Ihse Bursie
7f587e5a5c 8296872: gtest is built with the build-jdk
Co-authored-by: Mikael Vidstedt <mikael@openjdk.org>
Reviewed-by: dholmes, mikael
2022-11-11 21:47:00 +00:00
Vladimir Kozlov
819c6919ca 8295867: TestVerifyGraphEdges.java fails with exit code -1073741571 when using AlwaysIncrementalInline
Reviewed-by: chagedorn, shade
2022-11-11 16:09:39 +00:00
Erik Gahlin
ced88a2fd9 8296733: JFR: File Read event for RandomAccessFile::write(byte[]) is incorrect
Reviewed-by: clanger, mgronlun
2022-11-11 15:49:36 +00:00
Erik Gahlin
87b809a2cb 8296229: JFR: jfr tool should print unsigned values correctly
Reviewed-by: coffeys, mgronlun
2022-11-11 14:55:41 +00:00
Erik Österlund
e7c2a8e60e 8295214: Generational ZGC: Guard nmethods from cross modifying code
Reviewed-by: dholmes, rehn
2022-11-11 14:36:02 +00:00
Yanhong Zhu
d4d183edfe 8296301: Interpreter(RISC-V): Implement -XX:+PrintBytecodeHistogram and -XX:+PrintBytecodePairHistogram options
Reviewed-by: fjiang, fyang
2022-11-11 13:57:35 +00:00
Thomas Schatzl
f75484063f 8296773: G1: Factor out hash function for G1CardSet
Reviewed-by: iwalulya, kbarrett
2022-11-11 13:53:47 +00:00
Darragh Clarke
fdabd37960 8293696: java/nio/channels/DatagramChannel/SelectWhenRefused.java fails with "Unexpected wakeup"
Reviewed-by: dfuchs, msheppar
2022-11-11 11:56:41 +00:00
Daniel Fuchs
4a300818fe 8296747: com/sun/net/httpserver/simpleserver/StressDirListings.java timed out
Reviewed-by: jpai
2022-11-11 11:23:57 +00:00
Kim Barrett
12e76cbc72 8296349: [aarch64] Avoid slicing Address::extend
Reviewed-by: aph, thartmann
2022-11-11 08:34:43 +00:00
Xiaolin Zheng
7244eac9df 8296771: RISC-V: C2: assert(false) failed: bad AD file
Reviewed-by: shade, fyang
2022-11-11 08:03:48 +00:00
David Holmes
956d75bcc0 8295099: vmTestbase/nsk/stress/strace/strace013.java failed with "TestFailure: wrong lengths of stack traces: strace013Thread0: NNN strace013Thread83: MMM"
Reviewed-by: stuefe, lmesnik
2022-11-11 03:41:54 +00:00
Vladimir Kozlov
2f9a94f41c 8296824: ProblemList compiler/jvmci/jdk.vm.ci.code.test/src/jdk/vm/ci/code/test/NativeCallTest.java
Reviewed-by: dcubed
2022-11-10 23:58:25 +00:00
Daniel D. Daugherty
43ebd96301 8296822: ProblemList jdk/jfr/api/consumer/TestRecordingFileWrite.java
Reviewed-by: naoto
2022-11-10 23:05:31 +00:00
Alexander Zuev
84e12244a4 8296496: Overzealous check in sizecalc.h prevents large memory allocation
Reviewed-by: aivanov, azvegint
2022-11-10 22:43:02 +00:00
Weijun Wang
27527b4975 8296612: CertAttrSet is useless
Reviewed-by: mullan
2022-11-10 22:23:58 +00:00
Olga Mikhaltsova
6b456f7a9b 8262901: [macos_aarch64] NativeCallTest expected:<-3.8194101E18> but was:<3.02668882E10>
Reviewed-by: aph
2022-11-10 21:06:15 +00:00
Thomas Schatzl
e1badb77fb 8295871: G1: Use different explicit claim marks for CLDs
Reviewed-by: sjohanss, ayang
2022-11-10 19:36:11 +00:00
Aleksei Efimov
9ef7852be3 8290714: Make com.sun.jndi.dns.DnsClient virtual threads friendly
Reviewed-by: dfuchs, jpai
2022-11-10 19:20:33 +00:00
Xue-Lei Andrew Fan
d6468be81f 8293886: The abstract keyword can be removed in AESCipher
Reviewed-by: ascarpino, wetmore
2022-11-10 17:51:03 +00:00
Naoto Sato
54c986e7d5 8296715: CLDR v42 update for tzdata 2022f
Reviewed-by: joehw
2022-11-10 16:51:52 +00:00
Abhishek Kumar
4a68210d9f 6972078: Can not select single directory with GTKLookAndFeel
Reviewed-by: psadhukhan, tr
2022-11-10 14:11:52 +00:00
Ludovic Henry
4465361ee9 8295948: Support for Zicbop/prefetch instructions on RISC-V
Reviewed-by: fyang, yadongwang
2022-11-10 13:37:41 +00:00
Dingli Zhang
f2acdfdcbd 8296638: RISC-V: NegVI node emits wrong code when vector element basic type is T_BYTE/T_SHORT
Reviewed-by: gcao, fyang, shade
2022-11-10 08:39:04 +00:00
Stefan Karlsson
bfc5816595 8295475: Move non-resource allocation strategies out of ResourceObj
Reviewed-by: coleenp, stuefe, rehn, dholmes
2022-11-10 08:31:37 +00:00
Adam Sotona
e802b124b7 8296196: Class.getEnumConstants() throws undocumented ClassCastException and NullPointerException
Reviewed-by: darcy
2022-11-10 06:20:57 +00:00
Sergey Bylokhov
78a08a0f21 8295430: Use cmsDoTransformLineStride instead of cmsDoTransform in the loop
Reviewed-by: prr
2022-11-10 06:18:03 +00:00
Sergey Bylokhov
f0a6e71e4d 8295812: Skip the "half float" support in LittleCMS during the build
Reviewed-by: erikj, prr, ihse
2022-11-10 06:07:58 +00:00
Prasanta Sadhukhan
79c0092125 8285635: javax/swing/JRootPane/DefaultButtonTest.java failed with Default Button not pressed for L&F: com.sun.java.swing.plaf.motif.MotifLookAndFeel
Reviewed-by: tr, jdv
2022-11-10 05:51:13 +00:00
Alexander Matveev
0981bfb1a3 8296156: [macos] Resize DMG windows and background to fit additional DMG contents
Reviewed-by: asemenyuk
2022-11-10 02:20:03 +00:00
Xiaolin Zheng
93fed9b251 8296448: RISC-V: Fix temp usages of heapbase register killed by MacroAssembler::en/decode_klass_not_null
Reviewed-by: fyang, yadongwang
2022-11-10 01:30:51 +00:00
Mikhailo Seledtsov
d6e2d0d03d 8296611: Problemlist several sun/security tests until JDK-8295343 is resolved
Reviewed-by: rhalade
2022-11-10 00:43:59 +00:00
Sean Coffey
102b2b32fe 8292033: Move jdk.X509Certificate event logic to JCA layer
Reviewed-by: mullan
2022-11-09 21:46:56 +00:00
Xin Liu
1b94ae13d3 8296139: Make GrowableBitMap the base class of all implementations
Reviewed-by: aboldtch, stefank, simonis
2022-11-09 19:51:54 +00:00
Bill Huang
cc8bf95046 8296718: Refactor bootstrap Test Common Functionalities to test/lib/Utils
Reviewed-by: sspitsyn, kevinw
2022-11-09 19:02:50 +00:00
Xue-Lei Andrew Fan
17e3412363 8296615: use of undeclared identifier 'IPV6_DONTFRAG'
Reviewed-by: michaelm
2022-11-09 17:36:12 +00:00
Xue-Lei Andrew Fan
a5d838c337 8296591: Signature benchmark
Reviewed-by: weijun
2022-11-09 17:34:36 +00:00
Weijun Wang
fa8a8668a6 8296675: Exclude linux-aarch64 in NSS tests
Reviewed-by: dcubed, mullan
2022-11-09 16:49:10 +00:00
Matthias Baesken
d4376f8b55 8296406: ChainingConstructors jtreg test reduce code duplication
Reviewed-by: mullan
2022-11-09 13:49:46 +00:00
Johan Sjölen
4a0093ccc4 8294362: UL: Replace the internal usage of manual buffers with stringStream in LogSelection
Reviewed-by: dholmes, rehn
2022-11-09 10:55:08 +00:00
Gui Cao
fef68bbaf6 8296515: RISC-V: Small refactoring for MaxReductionV/MinReductionV/AddReductionV node implementation
Reviewed-by: luhenry, dzhang, yzhu, fyang
2022-11-09 09:38:36 +00:00
Andrey Turbanov
82cbfb5fb0 8296140: Drop unused field java.util.Calendar.DATE_MASK
Reviewed-by: naoto
2022-11-09 08:58:30 +00:00
Justin Lu
fd83764981 8296239: ISO 4217 Amendment 174 Update
Reviewed-by: naoto
2022-11-09 01:18:01 +00:00
Claes Redestad
d9b25e860b 8296426: x86: Narrow UseAVX and UseSSE flags
Reviewed-by: vlivanov, kvn
2022-11-08 23:41:50 +00:00
Man Cao
8146e1af82 8296347: Memory leak from ClassPathDirEntry::_dir
Co-authored-by: Justin King <jcking@google.com>
Reviewed-by: dholmes, ccheung
2022-11-08 23:34:45 +00:00
Weijun Wang
671f84bd86 8296143: CertAttrSet's set/get mechanism is not type-safe
Reviewed-by: mullan
2022-11-08 22:35:29 +00:00
Calvin Cheung
d04d6566b0 8296433: Encountered null CLD while loading shared lambda proxy class
Reviewed-by: iklam, dholmes
2022-11-08 21:55:51 +00:00
Chris Plummer
74f2b16a8e 8295303: cleanup debug agent's confusing use of EI_GC_FINISH
Reviewed-by: amenkov, sspitsyn
2022-11-08 21:37:24 +00:00
Man Cao
0ee25de704 8296504: Memory leak in G1PLABAllocator::PLABData
Co-authored-by: Justin King <jcking@google.com>
Reviewed-by: kbarrett, tschatzl
2022-11-08 19:37:31 +00:00
Ivan Walulya
dd5d4df5b6 8295658: G1: Refactor G1SegmentedArray to indicate that it is an allocator
Reviewed-by: tschatzl, sjohanss
2022-11-08 09:02:11 +00:00
pandaapo
cf656056a3 8296445: C++ syntax error in jdwpTransport.h
Reviewed-by: cjplummer, lmesnik, sspitsyn
2022-11-08 06:28:54 +00:00
Dingli Zhang
1169dc066c 8296447: RISC-V: Make the operands order of vrsub_vx/vrsub_vi consistent with RVV 1.0 spec
Reviewed-by: luhenry, fyang
2022-11-08 02:48:19 +00:00
Feilong Jiang
4c80dff2ca 8296435: RISC-V: Small refactoring for increment/decrement
Reviewed-by: fyang
2022-11-08 01:12:35 +00:00
Chris Plummer
47d2c7b4cf 8295376: Improve debug agent virtual thread performance when no debugger is attached
Reviewed-by: sspitsyn, kevinw
2022-11-08 01:09:26 +00:00
Coleen Phillimore
76790ad242 8295673: Deprecate and disable legacy parallel class loading workaround for non-parallel-capable class loaders
Reviewed-by: mchung, dholmes
2022-11-07 23:31:21 +00:00
Ludvig Janiuk
b6738c1831 8295663: Rephrase introduction to testing.md
Reviewed-by: ihse, erikj
2022-11-07 23:12:21 +00:00
Alexander Matveev
7e85b41d37 8296154: [macos] Change "/Applications" to "Applications" in DMG image
Reviewed-by: asemenyuk
2022-11-07 20:52:57 +00:00
Vicente Romero
60db5f2ba2 8294020: improve errors for record declarations
Reviewed-by: jlahoda
2022-11-07 20:16:04 +00:00
Rajan Halade
520db1eeb1 8296485: BuildEEBasicConstraints.java test fails with SunCertPathBuilderException
Reviewed-by: weijun
2022-11-07 19:09:57 +00:00
Magnus Ihse Bursie
b29817a626 8296479: Remove stray comment about POST_STRIP_CMD
Reviewed-by: iris
2022-11-07 19:02:30 +00:00
Rajan Halade
b6ea69c06a 8296480: java/security/cert/pkix/policyChanges/TestPolicy.java is failing
Reviewed-by: xuelei, mullan
2022-11-07 18:22:08 +00:00
Andrey Turbanov
3baad069a6 8295953: Use enhanced-for cycle instead of Enumeration in sun.security
Reviewed-by: weijun
2022-11-07 16:45:39 +00:00
Matias Saavedra Silva
ba303c048e 8295893: Improve printing of Constant Pool Cache Entries
Reviewed-by: dholmes, coleenp, iklam
2022-11-07 16:15:09 +00:00
Jonathan Gibbons
f8b2574ebc 8296137: diags-examples.xml is broken
Reviewed-by: iris, vromero, ihse
2022-11-07 15:58:42 +00:00
Sean Mullan
00d22f605d 8279164: Disable TLS_ECDH_* cipher suites
Reviewed-by: xuelei, rhalade, wetmore
2022-11-07 14:07:10 +00:00
Thomas Schatzl
d634ddefdd 8295354: Remove G1 incremental non-copy time calculation
Reviewed-by: ayang, iwalulya
2022-11-07 12:30:57 +00:00
Matthias Baesken
8836b92593 8296226: Add constructors (String,Throwable) and (Throwable) to InvalidParameterException
Reviewed-by: mullan, mdoerr
2022-11-07 07:50:12 +00:00
Thomas Stuefe
51f8e9b0e1 8296443: NMT: Remove cmdline_tracking_level handling code
Reviewed-by: dholmes
2022-11-07 05:59:25 +00:00
Gui Cao
087cedc080 8295261: RISC-V: Support ReductionV instructions for Vector API
Reviewed-by: yadongwang, dzhang, fyang, eliu
2022-11-07 04:59:45 +00:00
Man Cao
556377a058 8296270: Memory leak in ClassLoader::setup_bootstrap_search_path_impl
Co-authored-by: Justin King <jcking@google.com>
Reviewed-by: dholmes, jiangli
2022-11-07 03:53:32 +00:00
lawrence.andrews
c2f7638389 8296335: Fix accessibility manual test instruction
Reviewed-by: prr, aivanov
2022-11-05 21:27:52 +00:00
Fei Yang
91292d56a9 8286301: Port JEP 425 to RISC-V
Co-authored-by: Xiaolin Zheng <xlinzheng@openjdk.org>
Reviewed-by: fjiang, xlinzheng, yadongwang, jiefu, rrich
2022-11-05 02:18:49 +00:00
Markus Karg
581133a0c8 8294696: BufferedInputStream.transferTo should drain buffer when mark set
Reviewed-by: bpb, alanb
2022-11-04 21:07:59 +00:00
Sergey Bylokhov
d8573b2c5b 8294488: Delete KCMS transforms wrappers
Reviewed-by: prr
2022-11-04 20:57:38 +00:00
Harshitha Onkar
f857f795a9 8015739: Background of JInternalFrame is located out of JInternalFrame
Reviewed-by: kizune, aivanov
2022-11-04 19:48:31 +00:00
Thomas Schatzl
b847fb6877 8296414: [BACKOUT] JDK-8295319: pending_cards_at_gc_start doesn't include cards in thread buffers
Reviewed-by: lkorinth
2022-11-04 18:22:55 +00:00
Brian Burkhalter
5b7e70645b 8295753: (fs) UnixPath::toRealPath does not return correct case when links not followed
Reviewed-by: alanb
2022-11-04 17:32:32 +00:00
Jonathan Gibbons
82f9819eac 8294536: Update troff form of man page for new --spec-base-url option
Reviewed-by: hannesw
2022-11-04 17:29:25 +00:00
Bhavana Kilambi
b49bdaeade 8294816: C2: Math.min/max vectorization miscompilation
Reviewed-by: thartmann, ngasson
2022-11-04 17:22:54 +00:00
Leonid Mesnik
c206f28629 8283101: serviceability/jvmti/thread/GetFrameCount/framecnt01/framecnt01.java failing #VirtualThread-Frozen: number of frames expected: 14, got: 9
Reviewed-by: sspitsyn, kevinw
2022-11-04 17:01:57 +00:00
Joe Darcy
97c5a64d5c 8296287: Improve documentation for Types.directSupertypes()
Reviewed-by: jlahoda, prappo
2022-11-04 16:22:09 +00:00
Hannes Wallnöfer
f9c7cdaed6 8294109: JavaDoc search should search whole index
Reviewed-by: jjg
2022-11-04 16:00:36 +00:00
Hannes Wallnöfer
5622b09565 8200337: Generalize see and link tags for user-defined anchors
Reviewed-by: jjg
2022-11-04 14:57:43 +00:00
Renjith
22347e46f7 8277775: Fixup bugids in RemoveDropTargetCrashTest.java - add 4357905
Reviewed-by: prr, aivanov
2022-11-04 12:35:39 +00:00
Albert Mingkun Yang
12316829b4 8296305: Remove unimplemented deoptimized_wrt_marked_nmethods
Reviewed-by: dholmes
2022-11-04 11:14:39 +00:00
Albert Mingkun Yang
3378bfe439 8296224: G1: Remove unnecessary update in VM_G1CollectForAllocation
Reviewed-by: kbarrett, tschatzl
2022-11-04 11:13:42 +00:00
Stefan Karlsson
8ee0f7d598 8296231: Fix MEMFLAGS for CHeapBitMaps
Reviewed-by: coleenp, dholmes
2022-11-04 09:36:26 +00:00
Tobias Holenstein
bd729e6906 8296380: IGV: Shortcut for quick search not working
Reviewed-by: chagedorn
2022-11-04 09:32:53 +00:00
Dingli Zhang
c116ae75a7 8295967: RISC-V: Support negVI/negVL instructions for Vector API
Reviewed-by: yadongwang, fyang
2022-11-04 09:08:26 +00:00
Yoshiki Sato
9d3b4ef2ad 8296108: (tz) Update Timezone Data to 2022f
Reviewed-by: serb, naoto
2022-11-04 02:23:17 +00:00
Fei Yang
4d1bc1b5ad 8296285: test/hotspot/jtreg/compiler/intrinsics/TestFloatIsFinite.java fails after JDK-8280378
Reviewed-by: jiefu, thartmann, chagedorn
2022-11-04 00:56:47 +00:00
Kim Barrett
034980393f 8295319: pending_cards_at_gc_start doesn't include cards in thread buffers
Reviewed-by: iwalulya, tschatzl
2022-11-03 23:35:37 +00:00
Ioi Lam
8f6c048911 8296337: CDS SharedArchiveConsistency tests fail after JDK-8296157
Reviewed-by: ccheung
2022-11-03 22:30:28 +00:00
Matias Saavedra Silva
a8070fba21 8296157: Rename FileMapInfo::space_at() to region_at()
Reviewed-by: iklam, ccheung
2022-11-03 21:24:12 +00:00
Yi-Fan Tsai
f43bb9feaa 8296190: TestMD5Intrinsics and TestMD5MultiBlockIntrinsics don't test the intrinsics
Reviewed-by: eastigeevich, phh, simonis
2022-11-03 19:26:20 +00:00
Harshitha Onkar
b685fc2de4 8295685: Update Libpng to 1.6.38
Reviewed-by: prr, azvegint
2022-11-03 18:28:54 +00:00
Coleen Phillimore
94eb25a4f1 8256072: Eliminate JVMTI tagmap rehashing
Reviewed-by: kbarrett, eosterlund
2022-11-03 17:27:00 +00:00
Daniel Fuchs
4338f527aa 8294241: Deprecate URL public constructors
Reviewed-by: joehw, prr, alanb, aefimov, michaelm
2022-11-03 17:18:14 +00:00
Lance Andersen
68209adfa7 8288232: Address typos in jar man page
Reviewed-by: joehw, naoto, bpb
2022-11-03 17:05:28 +00:00
Joe Wang
2ff9d3af81 8294858: XMLStreamReader does not respect jdk.xml.maxXMLNameLimit=0 for namespace names
Reviewed-by: lancea, naoto
2022-11-03 17:04:14 +00:00
Lance Andersen
72f74df49a 8292427: Improve specification of InflaterInputStream.fill()
Reviewed-by: bpb, alanb, simonis
2022-11-03 17:02:33 +00:00
Stuart Marks
53905e600a 8178355: IdentityHashMap uses identity-based comparison for values everywhere except remove(K,V) and replace(K,V,V)
Reviewed-by: smarks
2022-11-03 16:36:29 +00:00
Brian Burkhalter
25dfcbdea5 8289689: (fs) Re-examine the need for normalization to Unicode Normalization Format D (macOS)
Reviewed-by: jpai, alanb
2022-11-03 15:47:51 +00:00
Magnus Ihse Bursie
b7442d12e2 8295653: Add a graph of the sealed class hierarchy for marked classes
Co-authored-by: Per Minborg <pminborg@openjdk.org>
Reviewed-by: erikj, jjg
2022-11-03 14:51:24 +00:00
Martin Doerr
59a13b1856 8295872: [PPC64] JfrGetCallTrace: Need pc == nullptr check before frame constructor
Reviewed-by: shade, lucy, mbaesken
2022-11-03 14:29:51 +00:00
ravi.ra.gupta
2a79dfc1f9 8295774: Write a test to verify List sends ItemEvent/ActionEvent
Reviewed-by: serb, aivanov
2022-11-03 13:39:00 +00:00
Erik Österlund
cc3c5a18ed 8296101: nmethod::is_unloading result unstable with concurrent unloading
Reviewed-by: kbarrett, dlong
2022-11-03 13:31:07 +00:00
Jie Fu
d771abb2fb 8295970: Add vector api sanity tests in tier1
Reviewed-by: shade, erikj, kvn
2022-11-03 12:13:10 +00:00
Vicente Romero
7a85441a85 8232933: Javac inferred type does not conform to equality constraint
Reviewed-by: mcimadamore
2022-11-03 12:08:23 +00:00
Claes Redestad
6ee8ccfcfe 8296168: x86: Add reasonable constraints between AVX and SSE
Reviewed-by: kvn, vlivanov
2022-11-03 12:05:13 +00:00
Emanuel Peter
19507470c4 8279913: obsolete ExtendedDTraceProbes
Reviewed-by: thartmann, chagedorn
2022-11-03 07:10:48 +00:00
David Holmes
13b20e0e6d 8296262: Remove dead code from InstanceKlass::signature_name()
Reviewed-by: iklam
2022-11-03 02:27:30 +00:00
Jonathan Gibbons
fd60036a34 8296188: Update style and header in JDWP Protocol spec and JVMTI spec
Reviewed-by: erikj
2022-11-02 21:12:25 +00:00
Kim Barrett
c7b95a895f 8296163: [aarch64] Cleanup Pre/Post addressing mode classes
Reviewed-by: chagedorn, aph
2022-11-02 20:29:58 +00:00
Justin Lu
f84b0ad07c 8295670: Remove duplication in java/util/Formatter/Basic*.java
Reviewed-by: bchristi, lancea, naoto
2022-11-02 17:30:02 +00:00
Julian Waters
a124d8e047 8296115: Allow for compiling the JDK with strict standards conformance
8241499: Enable new "permissive-" for standard C++ compliance on Visual Studio if possible

Reviewed-by: erikj, ihse
2022-11-02 17:03:19 +00:00
Erik Österlund
491d43c187 8289838: ZGC: OOM before clearing all SoftReferences
Reviewed-by: ayang, tschatzl
2022-11-02 16:36:38 +00:00
Tobias Holenstein
a1c349f8b3 8290063: IGV: Give the graphs a unique number in the outline
Reviewed-by: thartmann, chagedorn
2022-11-02 16:05:58 +00:00
Tobias Holenstein
b807470af4 8296235: IGV: Change shortcut to delete graph from ctrl+del to del
Reviewed-by: chagedorn, thartmann
2022-11-02 16:00:37 +00:00
Daniel Fuchs
e15d2419ab 8295991: java/net/httpclient/CancelRequestTest.java fails intermittently
Reviewed-by: jpai
2022-11-02 15:31:50 +00:00
Weijun Wang
16a041a67a 8296142: CertAttrSet::(getName|getElements|delete) are mostly useless
Reviewed-by: mullan
2022-11-02 14:40:47 +00:00
Thomas Schatzl
6626a29a74 8294845: Make globals accessed by G1 young gen revising atomic
Reviewed-by: iwalulya, kbarrett
2022-11-02 13:30:37 +00:00
Julian Waters
dac6ecc857 8295990: Improve make handling of strip flags
Reviewed-by: erikj
2022-11-02 13:07:20 +00:00
Albert Mingkun Yang
38c1f2a70e 8296130: G1: Remove G1YoungCollector::_target_pause_time_ms
Reviewed-by: iwalulya, kbarrett
2022-11-02 13:01:12 +00:00
Dingli Zhang
2bd24c4542 8295968: RISC-V: Rename some assembler intrinsic functions for RVV 1.0
Reviewed-by: fyang
2022-11-02 12:34:23 +00:00
Ivan Walulya
1a58cb1c02 8233697: CHT: Iteration parallelization
Reviewed-by: tschatzl, rehn
2022-11-02 11:38:45 +00:00
Roman Kennke
7619602c36 8296136: Use correct register in aarch64_enc_fast_unlock()
Reviewed-by: aph, fyang
2022-11-02 11:32:14 +00:00
Renjith
47d513baa2 8252075: Documentation error in LayoutManager2 interface
Reviewed-by: aivanov
2022-11-02 11:11:35 +00:00
Thomas Schatzl
8de3edac6d 8295476: Split G1 cost per byte predictor on gc phase
Reviewed-by: ayang, iwalulya, kbarrett
2022-11-02 09:35:24 +00:00
Xiaolin Zheng
2634eff24f 8295646: Ignore zero pairs in address descriptors read by dwarf parser
Reviewed-by: chagedorn
2022-11-02 09:09:39 +00:00
Brian Burkhalter
50d91a31d4 8057113: (fs) Path should have a method to obtain the filename extension
Reviewed-by: rriggs, lancea, mr, alanb
2022-11-01 21:35:54 +00:00
Jonathan Gibbons
d17bf51f91 8295914: Add a header to generated HTML files in specs
Reviewed-by: erikj, iris
2022-11-01 18:39:50 +00:00
Rajat Mahajan
9911405e54 8282958: Rendering issues of borders, TextFields on Windows High-DPI systems
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: aivanov, honkar, kizune
2022-11-01 18:38:00 +00:00
Kim Barrett
2fb64a4a4f 8296162: [aarch64] Remove unused Address::_is_lval
Reviewed-by: chagedorn, aph
2022-11-01 17:15:19 +00:00
Kim Barrett
15b8b45178 8296161: [aarch64] Remove unused "pcrel" addressing mode tag
Reviewed-by: chagedorn, aph
2022-11-01 16:59:17 +00:00
Christian Hagedorn
f829b5a73f 8280378: [IR Framework] Support IR matching for different compile phases
Reviewed-by: kvn, rcastanedalo
2022-11-01 15:41:09 +00:00
Weijun Wang
da0ae5128a 8296167: test/langtools/tools/jdeps/jdkinternals/ShowReplacement.java failing after JDK-8296072
Reviewed-by: alanb
2022-11-01 15:14:19 +00:00
Weijun Wang
0d0bd7bd40 8296072: CertAttrSet::encode and DerEncoder::derEncode should write into DerOutputStream
Reviewed-by: xuelei, mullan
2022-11-01 12:49:11 +00:00
Dean Long
37107fc157 8296007: crash in runtime/DefineClass/NullClassBytesTest.java
Reviewed-by: dcubed, dholmes
2022-11-01 00:46:24 +00:00
Brian Burkhalter
4999f2cb16 8156593: DataOutput.write(byte[],int,int) and its implementations do not specify index out bounds
Reviewed-by: alanb, aturbanov
2022-10-31 22:18:26 +00:00
Mark Powers
8480f87044 8291974: PrivateCredentialPermission should not use local variable to enable debugging
Reviewed-by: mullan
2022-10-31 19:55:47 +00:00
Naoto Sato
590de37bd7 8284842: Update Unicode Data Files to Version 15.0.0
8284844: Update ICU4J to Version 72.1

Reviewed-by: joehw
2022-10-31 17:57:30 +00:00
Sean Mullan
16744b3449 8256660: Disable DTLS 1.0
Reviewed-by: xuelei, hchao, wetmore
2022-10-31 16:46:40 +00:00
Tyler Steele
f4d8c20c3b 8294729: [s390] Implement nmethod entry barriers
Reviewed-by: mdoerr, eosterlund
2022-10-31 15:58:44 +00:00
Coleen Phillimore
7e88209e6c 8295964: Move InstanceKlass::_misc_flags
Reviewed-by: sspitsyn, dholmes
2022-10-31 13:00:09 +00:00
Prasanta Sadhukhan
91072ee393 5074006: Swing JOptionPane shows </html> tag as a string after newline
8042134: JOptionPane bungles HTML messages

Reviewed-by: jdv, tr
2022-10-31 12:30:23 +00:00
Matthias Baesken
274ea1db5b 8295993: use K instead of 1024 in a couple of hotspot outputs
Reviewed-by: lucy, dholmes
2022-10-31 09:09:43 +00:00
David Holmes
9b9be88bca 8295125: os::signal should be os specific
Reviewed-by: jsjolen, kbarrett
2022-10-31 05:55:54 +00:00
Phil Race
f8cc067792 8296087: Problem list headful tests which may fail on Linux VMs
Reviewed-by: jdv
2022-10-31 05:19:11 +00:00
Andrey Turbanov
2e7163759c 8282463: javax/sound/sampled/Clip/DataPusherThreadCheck.java fails
Reviewed-by: prr, serb
2022-10-30 17:33:12 +00:00
Boris Ulasevich
f3ca0cab75 8293999: [JVMCI] need support for aligned constants in generated code larger than 8 bytes
Reviewed-by: dlong, dnsimon
2022-10-29 14:08:30 +00:00
Vladimir Kozlov
8aa1526b44 8285835: SIGSEGV in PhaseIdealLoop::build_loop_late_post_work
Reviewed-by: roland, vlivanov
2022-10-29 12:32:36 +00:00
Roman Kennke
a44ebd5fbc 8295849: Consolidate Threads::owning_thread*
Reviewed-by: dcubed, sspitsyn
2022-10-28 20:23:21 +00:00
Chris Plummer
1c86cf5507 8294672: Typo in description of JDWP VirtualMachine/AllThreads command
Reviewed-by: jpai, dholmes
2022-10-28 17:27:52 +00:00
bobpengxie
823fd4a9df 8293785: Add a jtreg test for TraceOptoParse
Reviewed-by: chagedorn, jiefu
2022-10-28 13:18:39 +00:00
Jie Fu
754bd53137 8296030: compiler/c2/irTests/TestVectorizeTypeConversion.java fails with release VMs after JDK-8291781
Reviewed-by: chagedorn
2022-10-28 12:46:32 +00:00
Xiaolin Zheng
1fdbb1ba33 8295926: RISC-V: C1: Fix LIRGenerator::do_LibmIntrinsic
Reviewed-by: yadongwang, fyang
2022-10-28 11:56:21 +00:00
SuperCoder79
cf5546b3ac 8291336: Add ideal rule to convert floating point multiply by 2 into addition
Reviewed-by: qamai, thartmann, chagedorn
2022-10-28 10:04:38 +00:00
Fei Gao
4b89fce083 8291781: assert(!is_visited) failed: visit only once with -XX:+SuperWordRTDepCheck
Reviewed-by: thartmann
2022-10-28 07:27:02 +00:00
Matthias Baesken
d5d34241e2 8295405: Add cause in a couple of IllegalArgumentException and InvalidParameterException shown by sun/security/pkcs11 tests
Reviewed-by: mdoerr, mullan
2022-10-28 07:04:27 +00:00
Ioi Lam
fd668dc44f 8295537: Enhance TRACE_METHOD_LINKAGE to show the target MethodHandle
Reviewed-by: jvernee, redestad, mchung
2022-10-27 22:07:54 +00:00
Michael McMahon
182c215888 8295994: Remove left over InetAddressContainer class
Co-authored-by: Andrey Turbanov <aturbanov@openjdk.org>
Reviewed-by: dfuchs
2022-10-27 21:05:44 +00:00
Justin Lu
78763fc8e0 8295000: java/util/Formatter/Basic test cleanup
Reviewed-by: bchristi, naoto, lancea
2022-10-27 20:55:26 +00:00
Andrey Turbanov
907d583376 8295323: Unnecessary HashTable usage in StyleSheet
Reviewed-by: aivanov, prr
2022-10-27 19:00:53 +00:00
Sean Mullan
2157145766 8293858: Change PKCS7 code to use default SecureRandom impl instead of SHA1PRNG
Reviewed-by: weijun, xuelei
2022-10-27 17:30:11 +00:00
Archie L. Cobbs
b8ad6cd98a 8294461: wrong effectively final determination by javac
Reviewed-by: vromero
2022-10-27 15:58:46 +00:00
Brian Burkhalter
d6678952a6 8294399: (ch) Refactor some methods out of sun.nio.ch.UnixFileDispatcherImpl
Reviewed-by: alanb
2022-10-27 15:35:24 +00:00
Kevin Walls
628820f47e 8283093: JMX connections should default to using an ObjectInputFilter
Reviewed-by: dfuchs, sspitsyn
2022-10-27 08:24:01 +00:00
Ioi Lam
521e71222a 8286431: Do not use resource array in posix mmap_attach_shared()
Reviewed-by: dholmes, jsjolen
2022-10-27 05:14:22 +00:00
Srikanth Adayapalam
4d9a1cd26f 8292159: TYPE_USE annotations on generic type arguments of record components discarded
Reviewed-by: vromero
2022-10-27 04:56:22 +00:00
Tejesh R
210fe49e25 6244831: JFileChooser does not have tooltip for Desktop, Recent etc ToggleButton on Windows Look and feel
Reviewed-by: psadhukhan
2022-10-27 04:37:06 +00:00
Chris Plummer
c2d7a35a4b 8269235: serviceability/sa/ClhsdbJstackXcompStress.java timed out
Reviewed-by: dcubed
2022-10-26 22:58:47 +00:00
Igor Veresov
58a7141a0d 8295066: Folding of loads is broken in C2 after JDK-8242115
Reviewed-by: kvn, thartmann
2022-10-26 20:45:26 +00:00
Coleen Phillimore
a8450b37ee 8295713: runtime/ParallelLoad/SuperWait/SuperWaitTest.java fails intermittently on Windows
Reviewed-by: pchilanomate, dholmes
2022-10-26 17:28:44 +00:00
Andrey Turbanov
46e6aee0d0 8295823: Use enhanced-for cycle instead of Enumeration in java.naming
Reviewed-by: aefimov, dfuchs, vtewari
2022-10-26 16:50:31 +00:00
Mark Powers
8e5d680a98 8293093: NPE in P11KeyStore.getID
Reviewed-by: ascarpino, xuelei
2022-10-26 15:53:52 +00:00
Tobias Holenstein
3135914362 8265441: IGV: select block nodes by clicking on it
Reviewed-by: rcastanedalo, thartmann
2022-10-26 14:04:38 +00:00
Erik Gahlin
78454b69da 8295879: JFR: Remove warnings in the jdk.jfr module
Reviewed-by: mgronlun
2022-10-26 09:33:43 +00:00
Albert Mingkun Yang
33ff80dd7a 8295402: G1: Tighten assertion in G1ScanHRForRegionClosure::scan_heap_roots
Reviewed-by: tschatzl, iwalulya
2022-10-26 09:25:40 +00:00
Albert Mingkun Yang
303548babc 8294752: G1: Remove redundant checks in check_obj_during_refinement
Reviewed-by: tschatzl, iwalulya
2022-10-26 09:16:15 +00:00
Thomas Stuefe
cf121df17e 8295889: NMT preinit code does not handle allocation errors
Reviewed-by: dholmes, mbaesken
2022-10-26 08:35:05 +00:00
Aleksey Shipilev
772be2e02b 8295868: 32-bit Windows build failures after JDK-8294466
Reviewed-by: erikj
2022-10-26 08:10:42 +00:00
Zixian Cai
e173fd7922 8295885: GHA: Bump gcc versions
Reviewed-by: shade
2022-10-26 07:59:44 +00:00
Matthias Baesken
b2878c904b 8295710: remove os::dll_file_extension
Reviewed-by: dholmes, mdoerr, lucy
2022-10-26 06:35:20 +00:00
Andrey Turbanov
e3a5a34c4d 8295767: Remove unused fields in sun.awt.geom.Edge
Reviewed-by: prr
2022-10-26 06:07:23 +00:00
Erik Gahlin
324bec19aa 8295863: JFR: Use expected size for Maps and Sets
Reviewed-by: mgronlun
2022-10-26 03:04:14 +00:00
Leonid Mesnik
3bd3caf897 8294486: Remove vmTestbase/nsk/jvmti/ tests ported to serviceability/jvmti.
Reviewed-by: sspitsyn
2022-10-25 22:48:00 +00:00
Chris Plummer
fec61746d1 8295816: jdwp jck tests failing with "FATAL ERROR in native method: JDWP SetTag, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112)"
8295815: misc JDI tests failed with "JDWP exit error JVMTI_ERROR_WRONG_PHASE(112)"

Reviewed-by: sspitsyn, amenkov, dcubed
2022-10-25 22:14:36 +00:00
Ludovic Henry
e0c29307f7 8295282: Use Zicboz/cbo.zero to zero-out memory on RISC-V
Reviewed-by: yadongwang, vkempik, fyang
2022-10-25 20:11:48 +00:00
Justin Lu
d393e051e6 8294989: ResourceBundle naming convention issue in JdbcRowSetResourceBundle.java
Reviewed-by: naoto, lancea, bchristi
2022-10-25 19:21:34 +00:00
Calvin Cheung
0caea818b5 8295895: build error after JDK-8279366
Reviewed-by: dcubed
2022-10-25 18:54:48 +00:00
Thomas Schatzl
ee0dec8bf5 8295838: Document why we do not print Code Cache Roots phase in G1 logging
Reviewed-by: ayang, iwalulya
2022-10-25 18:51:43 +00:00
Thomas Schatzl
ef606086a9 8295732: Directly embed TruncatedSeqs in G1Analytics
Reviewed-by: iwalulya, sjohanss
2022-10-25 18:50:08 +00:00
Thomas Schatzl
3e49f8fd28 8295839: G1: Single threaded phases (within parallel phases) report as using multiple threads in logs
Reviewed-by: ayang, iwalulya
2022-10-25 18:49:06 +00:00
Calvin Cheung
427f50624f 8279366: CDS should allow alternative locations for JAR files in classpath
Reviewed-by: iklam, coleenp
2022-10-25 17:52:18 +00:00
Kim Barrett
3a873d3c5b 8295808: GrowableArray should support capacity management
Reviewed-by: aboldtch, tschatzl, sspitsyn
2022-10-25 17:42:48 +00:00
Chris Plummer
6289600fe8 8295810: cleanup debug agent removeThread() api
Reviewed-by: kevinw, sspitsyn, amenkov
2022-10-25 16:28:57 +00:00
Thomas Schatzl
5c4d99a051 8295118: G1: Clear CLD claim marks concurrently
Reviewed-by: iwalulya, sjohanss, ayang
2022-10-25 16:21:18 +00:00
Erik Joelsson
af2de975cb 8287754: Update jib GNU make dependency on Windows to latest cygwin build
Reviewed-by: djelinski, ihse, mikael
2022-10-25 12:44:23 +00:00
Kevin Walls
9051dded84 8294993: LingeredApp test update
Reviewed-by: cjplummer, amenkov
2022-10-25 11:44:39 +00:00
Thomas Schatzl
f37a6055c4 8295212: G1: Add wrapper for TruncatedSeqs that need separation by gc phase
Reviewed-by: iwalulya, sjohanss
2022-10-25 10:18:44 +00:00
Sergey Bylokhov
6673cd8577 8295554: Move the "sizecalc.h" to the correct location
Reviewed-by: erikj, ihse, prr, kizune, aivanov
2022-10-25 09:45:33 +00:00
Daniel Jeliński
706d1b7508 8295798: (ch) Test java/nio/channels/Channels/ReadXBytes.java is very slow on Windows
Reviewed-by: alanb, bpb
2022-10-25 07:25:07 +00:00
Ioi Lam
89dafc002f 8292699: Improve printing of classes in native debugger
Reviewed-by: coleenp
2022-10-24 22:17:51 +00:00
Daniel D. Daugherty
7520d0a725 8295855: ProblemList jdk/jshell/CommandCompletionTest.java on linux-all
Reviewed-by: dholmes
2022-10-24 21:39:16 +00:00
Magnus Ihse Bursie
1d15e5cdd6 8295716: Minimize disabled warnings in security libs
Reviewed-by: erikj
2022-10-24 20:47:24 +00:00
Magnus Ihse Bursie
8c86e92535 8295847: slow debug build error after JDK-8294466
Reviewed-by: erikj, dcubed
2022-10-24 20:32:31 +00:00
Vladimir Kozlov
e122321cb5 8295844: jdk/test/whitebox/CPUInfoTest.java failed with "not all features are known: expected true, was false"
Reviewed-by: tschatzl, dnsimon
2022-10-24 19:11:56 +00:00
Alexey Ivanov
df81b3c66a 8295738: Automate javax/swing/JFileChooser/FileSizeCheck.java
Reviewed-by: serb
2022-10-24 17:39:57 +00:00
Alexey Ivanov
68cf248b44 8295298: Automate javax/swing/JFileChooser/FileViewNPETest.java
Reviewed-by: tr, serb
2022-10-24 17:29:51 +00:00
Matias Saavedra Silva
fefbddf835 8291443: Obsolete the PrintSharedDictionary flag
Reviewed-by: dholmes, iklam
2022-10-24 16:08:51 +00:00
Naoto Sato
5b3de6e143 8284840: Update CLDR to Version 42.0
Reviewed-by: erikj, iris, joehw
2022-10-24 15:48:38 +00:00
Daniel Jeliński
2f3f3b6185 8295792: Clean up old async close code
Reviewed-by: alanb
2022-10-24 15:25:48 +00:00
Tobias Holenstein
5ac6f185ee 8290010: IGV: Fix UndoRedo Action
Reviewed-by: thartmann, rcastanedalo
2022-10-24 15:04:35 +00:00
Tobias Holenstein
c055dfc3ce 8294565: IGV: ClassCastException when clicking on an edge in the graph
Reviewed-by: rcastanedalo, thartmann
2022-10-24 14:17:33 +00:00
Tobias Holenstein
3898385788 8295461: IGV: Wrong src/dest nodes highlighted for edge
Reviewed-by: thartmann, rcastanedalo
2022-10-24 14:14:12 +00:00
Matthias Neugschwandtner
d50b6eb342 8295776: [JVMCI] Add x86 CPU flags for MPK and CET
Reviewed-by: kvn, dnsimon
2022-10-24 12:09:05 +00:00
Michael McMahon
5596d9ad5c 8288493: Document JDK specific system properties in jdk.httpserver
Reviewed-by: dfuchs, jpai, aefimov
2022-10-24 11:40:15 +00:00
Magnus Ihse Bursie
7a49c9baa1 8295717: Minimize disabled warnings in accessibility native code
Reviewed-by: erikj, prr
2022-10-24 10:01:04 +00:00
Magnus Ihse Bursie
74606614e0 8294466: Minimize disabled warnings in java.desktop
Reviewed-by: erikj, prr
2022-10-24 09:50:58 +00:00
Johan Sjölen
89a94d0502 8293873: Centralize the initialization of UL
Reviewed-by: stuefe, rehn
2022-10-24 09:12:59 +00:00
Richard Reingruber
08d3ef4fe6 8295413: com/sun/jdi/EATests.java fails with compiler flag -XX:+StressReflectiveCode
Reviewed-by: lmesnik, kvn, sspitsyn
2022-10-24 08:00:06 +00:00
Daniel Jeliński
65c84e0cf8 8295777: java/net/httpclient/ConnectExceptionTest.java should not rely on system resolver
Reviewed-by: dfuchs, jpai
2022-10-24 06:08:40 +00:00
Daniel Jeliński
329b49a938 8266900: java/net/httpclient/ShortResponseBody.java fails on windows with java.io.IOException: Unable to establish loopback connection
Reviewed-by: dfuchs
2022-10-24 06:07:10 +00:00
Ioi Lam
aad81f2eba 8293979: Resolve JVM_CONSTANT_Class references at CDS dump time
Reviewed-by: coleenp, ccheung
2022-10-23 23:26:05 +00:00
Jie Fu
7cbf6721dc 8295811: serviceability/sa/TestObjectAlignment.java fails on x86_32
Reviewed-by: cjplummer
2022-10-23 04:01:16 +00:00
Jie Fu
adad59ee11 8295762: [Vector API] Update generate_iota_indices for x86_32 after JDK-8293409
Reviewed-by: xgong, kvn
2022-10-22 03:50:41 +00:00
Dean Long
b5efa2afe2 8294538: missing is_unloading() check in SharedRuntime::fixup_callers_callsite()
Reviewed-by: kvn, thartmann, eosterlund
2022-10-22 02:11:55 +00:00
Alex Menkov
6acbdb59da 8295427: popframe004: report more details on error
Reviewed-by: cjplummer, lmesnik, sspitsyn
2022-10-22 00:18:39 +00:00
Justin Lu
902162ca9f 8295239: Refactor java/util/Formatter/Basic script into a Java native test launcher
Reviewed-by: lancea, bchristi, naoto
2022-10-21 22:59:18 +00:00
Jonathan Gibbons
f5dabf9440 8295088: Update External Spec page to show tabs for hosts
Reviewed-by: hannesw
2022-10-21 19:27:54 +00:00
Chris Plummer
218104247e 8295375: debug agent class tracking should not piggy back on the cbClassPrepare() callback
Reviewed-by: amenkov, sspitsyn
2022-10-21 18:34:43 +00:00
Erik Gahlin
f41711ef63 8295650: JFR: jfr scrub should warn if an event type doesn't exist
Reviewed-by: mgronlun
2022-10-21 17:14:24 +00:00
Lance Andersen
0c13d66622 8295530: Update Zlib Data Compression Library to Version 1.2.13
Reviewed-by: alanb, jpai
2022-10-21 10:45:54 +00:00
Boris Ulasevich
15bebf922f 8295666: Linux x86 build fails after 8292591
Reviewed-by: dholmes, shade
2022-10-21 08:59:24 +00:00
Boris Ulasevich
50647187e8 8294460: CodeSection::alignment checks for CodeBuffer::SECT_STUBS incorrectly
Reviewed-by: phh, kvn
2022-10-21 08:57:20 +00:00
Jaikiran Pai
8b010e014c 8030616: sun/management/jmxremote/bootstrap/RmiBootstrapTest fails intermittently with cannot find a free port
Reviewed-by: sspitsyn, msheppar
2022-10-21 08:29:09 +00:00
Magnus Ihse Bursie
b35922be6d 8295714: GHA ::set-output is deprecated and will be removed
Reviewed-by: shade
2022-10-21 08:23:45 +00:00
Aleksey Shipilev
dfd2d83144 8295657: SA: Allow larger object alignments
Reviewed-by: stuefe, cjplummer
2022-10-21 08:15:49 +00:00
Erik Gahlin
a345df20d0 8280131: jcmd reports "Module jdk.jfr not found." when "jdk.management.jfr" is missing
Reviewed-by: mgronlun, alanb
2022-10-21 08:14:24 +00:00
Fei Yang
ef62b614d1 8295703: RISC-V: Remove implicit noreg temp register arguments in MacroAssembler
Reviewed-by: shade, fjiang
2022-10-21 02:29:45 +00:00
Alex Menkov
6240431b38 8295697: Resolve conflicts between serviceability/jvmti and nsk/jvmti shared code
Reviewed-by: lmesnik, sspitsyn, cjplummer
2022-10-20 23:41:54 +00:00
Kim Barrett
1164258ec7 8295124: Atomic::add to pointer type may return wrong value
Reviewed-by: tschatzl, coleenp
2022-10-20 22:24:53 +00:00
Dean Long
d3eba859f9 8295414: [Aarch64] C2: assert(false) failed: bad AD file
Reviewed-by: kvn, chagedorn, aph
2022-10-20 21:24:36 +00:00
Kim Barrett
028e8b3d5e 8137022: Concurrent refinement thread adjustment and (de-)activation suboptimal
8155996: Improve concurrent refinement green zone control
8134303: Introduce -XX:-G1UseConcRefinement

Reviewed-by: sjohanss, tschatzl, iwalulya, ayang
2022-10-20 20:29:19 +00:00
Magnus Ihse Bursie
faa6b66257 8295715: Minimize disabled warnings in serviceability libs
Reviewed-by: cjplummer, erikj
2022-10-20 18:51:34 +00:00
Magnus Ihse Bursie
de1e0c57a7 8295719: Remove unneeded disabled warnings in jdk.sctp
Reviewed-by: erikj, dfuchs
2022-10-20 18:48:08 +00:00
Joe Darcy
9612cf998a 8295529: Add link to JBS to README.md
Reviewed-by: jpai
2022-10-20 17:30:11 +00:00
Naoto Sato
b37421e757 8295564: Norwegian Nynorsk Locale is missing formatting
Reviewed-by: iris, joehw
2022-10-20 15:59:22 +00:00
Vicente Romero
6707bfbc15 8029633: Raw inner class constructor ref should not perform diamond inference
Reviewed-by: jlahoda
2022-10-20 15:43:10 +00:00
Jan Lahoda
7bc9692a51 8294670: Enhanced switch statements have an implicit default which does not complete normally
Reviewed-by: vromero
2022-10-20 15:21:26 +00:00
Vicente Romero
95dd376ba2 8291914: generated constructors are considered compact when they shouldn't
Reviewed-by: darcy, jlahoda
2022-10-20 14:58:56 +00:00
Archie L. Cobbs
9b971626f7 7039014: Confusing error message for method conflict
Reviewed-by: vromero
2022-10-20 13:58:09 +00:00
Jan Lahoda
78dc497786 8294550: Sealed check for casts isn't applied to array components
Reviewed-by: vromero
2022-10-20 13:01:12 +00:00
Raffaello Giulietti
c08ff2c7b8 8294705: Disable an assertion in test/jdk/java/util/DoubleStreamSums/CompensatedSums.java
Reviewed-by: bpb
2022-10-20 10:47:39 +00:00
Magnus Ihse Bursie
d5a1521fde 8295470: Update openjdk.java.net => openjdk.org URLs in test code
Reviewed-by: michaelm, prr, darcy
2022-10-20 10:33:18 +00:00
Daniel Fuchs
9d0cfd1130 8294948: Document IllegalArgumentException and NullPointerException thrown by URLStreamHandler::parseURL and URLStreamHandler::setURL
Reviewed-by: jpai, aefimov, alanb, michaelm
2022-10-20 08:54:45 +00:00
Daniel Fuchs
dcd46501e6 8294916: Cancelling a request must eventually cause its response body subscriber to be unregistered
Reviewed-by: michaelm, jpai
2022-10-20 08:48:40 +00:00
Aleksey Shipilev
4f994c0370 8295709: Linux AArch64 builds broken after JDK-8294438
Reviewed-by: dholmes, aph
2022-10-20 07:58:35 +00:00
Aleksey Shipilev
545021b18d 8294438: Fix misleading-indentation warnings in hotspot
Reviewed-by: ihse, dholmes, coleenp
2022-10-20 07:16:41 +00:00
Serguei Spitsyn
c5e0464098 8291456: com/sun/jdi/ClassUnloadEventTest.java failed with: Wrong number of class unload events: expected 10 got 4
Reviewed-by: cjplummer, amenkov
2022-10-20 01:18:39 +00:00
Ioi Lam
8d4c077218 8295302: Do not use ArrayList when LambdaForm has a single ClassData
Reviewed-by: vlivanov, redestad, mchung
2022-10-19 21:11:36 +00:00
Coleen Phillimore
017e7988b1 8293939: Move continuation_enter_setup and friends
Reviewed-by: dlong, pchilanomate
2022-10-19 20:12:48 +00:00
Joshua Cao
f872467d69 8255746: Make PrintCompilation available on a per method level
Reviewed-by: chagedorn, kvn, xliu
2022-10-19 19:40:18 +00:00
Aleksey Shipilev
388a56e4c4 8294467: Fix sequence-point warnings in Hotspot
Reviewed-by: dholmes, thartmann, roland
2022-10-19 18:52:10 +00:00
Aleksey Shipilev
ceb5b08964 8294468: Fix char-subscripts warnings in Hotspot
Reviewed-by: dholmes, kbarrett
2022-10-19 18:51:14 +00:00
Quan Anh Mai
7b1c6767fc 8295662: jdk/incubator/vector tests fail "assert(VM_Version::supports_avx512vlbw()) failed"
Reviewed-by: chagedorn, thartmann
2022-10-19 16:39:25 +00:00
Daniel D. Daugherty
5eaf568665 8295668: validate-source failure after JDK-8290011
Reviewed-by: chagedorn
2022-10-19 16:32:18 +00:00
Naoto Sato
e238920bb6 8295372: CompactNumberFormat handling of number one with decimal part
Reviewed-by: joehw
2022-10-19 16:24:15 +00:00
Brian Burkhalter
a5f6e31ccb 8295456: (ch) sun.nio.ch.Util::checkBufferPositionAligned gives misleading/incorrect error
Reviewed-by: alanb
2022-10-19 15:53:01 +00:00
Tobias Holenstein
e27bea0c4d 8290011: IGV: Remove dead code and cleanup
Reviewed-by: chagedorn
2022-10-19 15:49:22 +00:00
Aleksei Efimov
d37ce4cdd1 8290368: Introduce LDAP and RMI protocol-specific object factory filters to JNDI implementation
Reviewed-by: dfuchs, rriggs, jpai
2022-10-19 14:41:28 +00:00
Damon Nguyen
21aeb9e794 8295429: Update harfbuzz md file
Reviewed-by: azvegint
2022-10-19 14:17:41 +00:00
Aleksey Shipilev
1d883c5312 8295417: Pass $AR to binutils cross-build
Reviewed-by: erikj, ihse
2022-10-19 11:58:24 +00:00
Joakim Nordström
fc889577ea 8286707: JFR: Don't commit JFR internal jdk.JavaMonitorWait events
Reviewed-by: dholmes, egahlin
2022-10-19 10:34:17 +00:00
Xiaohong Gong
857b0f9b05 8293409: [vectorapi] Intrinsify VectorSupport.indexVector
Reviewed-by: eliu, jbhateja
2022-10-19 09:24:05 +00:00
Aleksey Shipilev
3f3d63d02a 8294211: Zero: Decode arch-specific error context if possible
Reviewed-by: stuefe, luhenry
2022-10-19 08:40:15 +00:00
Jie Fu
f502ab85c9 8295435: Build failure with GCC7 after JDK-8294314 due to strict-overflow warnings
Co-authored-by: Aleksey Shipilev <shade@openjdk.org>
Reviewed-by: shade, ihse
2022-10-19 07:41:27 +00:00
Ioi Lam
3f4964f83d 8293291: Simplify relocation of native pointers in archive heap
Reviewed-by: ccheung, coleenp
2022-10-19 04:57:56 +00:00
Jaikiran Pai
1553551d82 8286918: Better HttpServer service
Reviewed-by: dfuchs, michaelm, ahgross, rhalade
2022-10-18 22:41:16 +00:00
Alexander Zuev
400aa2fb2c 8286511: Improve macro allocation
Reviewed-by: azvegint, rhalade, prr
2022-10-18 22:41:16 +00:00
Daniel Jeliński
2cee77444f 8289366: Improve HTTP/2 client usage
Reviewed-by: dfuchs, rhalade
2022-10-18 22:41:16 +00:00
Weijun Wang
1ae6836521 8288508: Enhance ECDSA usage
Reviewed-by: ascarpino, ahgross, rhalade
2022-10-18 22:41:15 +00:00
Daniel Fuchs
40539de8da 8286910: Improve JNDI lookups
Reviewed-by: jpai, msheppar, rhalade, aefimov
2022-10-18 22:41:15 +00:00
Alexander Zuev
896a29dfae 8287446: Enhance icon presentations
Reviewed-by: prr, azvegint
2022-10-18 22:41:15 +00:00
Hai-May Chao
5a8e5ea3e2 8286526: Improve NTLM support
Reviewed-by: weijun, rhalade
2022-10-18 22:41:15 +00:00
Harold Seigel
c622d56a0d 8286519: Better memory handling
Reviewed-by: coleenp, rhalade
2022-10-18 22:41:14 +00:00
Jamil Nimeh
48cc9a8717 8285662: Better permission resolution
Reviewed-by: rhalade, weijun, mullan
2022-10-18 22:41:14 +00:00
Weijun Wang
ff1867438f 8286077: Wider MultiByte conversions
Reviewed-by: rhalade, valeriep
2022-10-18 22:41:14 +00:00
Joe Darcy
25e88b21af 8282252: Improve BigInteger/Decimal validation
Reviewed-by: jboes, rhalade, skoivu, bpb, smarks
2022-10-18 22:41:14 +00:00
Erik Gahlin
ecfb6bce5a 8295419: JFR: Change name of jdk.JitRestart
Reviewed-by: mgronlun
2022-10-18 21:43:06 +00:00
Joe Darcy
95baf83dd6 8295517: Fix stutter typo in JDK-8294539
Reviewed-by: naoto, bpb, lancea
2022-10-18 21:00:41 +00:00
Coleen Phillimore
37f93b6728 8295029: runtime/cds/appcds/LotsOfClasses.java fail with jfx
Reviewed-by: iklam, ccheung, gziemski
2022-10-18 20:26:15 +00:00
Leonid Mesnik
0233ba763d 8284614: on macOS "spindump" should be run from failure_handler as root
Co-authored-by: Chris Plummer <cjplummer@openjdk.org>
Reviewed-by: dnsimon, dcubed
2022-10-18 17:34:07 +00:00
Magnus Ihse Bursie
2a799e5c82 8285306: Fix typos in java.desktop
Co-authored-by: Andrey Turbanov <aturbanov@openjdk.org>
Reviewed-by: aturbanov, prr
2022-10-18 17:08:49 +00:00
Brian Burkhalter
d1f794587c 6924219: (fc spec) FileChannel.write(ByteBuffer, position) behavior when file opened for append not specified
Reviewed-by: alanb
2022-10-18 16:58:45 +00:00
Zixian Cai
5dbd495115 8295457: Make the signatures of write barrier methods consistent
Reviewed-by: tschatzl, shade
2022-10-18 15:32:20 +00:00
Aleksey Shipilev
7b2e83b395 8295469: S390X: Optimized builds are broken
Reviewed-by: stuefe
2022-10-18 15:27:13 +00:00
Xin Liu
63867c4b52 8295433: EpsilonHeap doesn't need to override post_initialize()
Reviewed-by: shade, tschatzl
2022-10-18 15:08:50 +00:00
Aleksey Shipilev
e7375f9c52 8295468: RISC-V: Minimal builds are broken
Reviewed-by: stuefe, luhenry, fyang
2022-10-18 15:07:01 +00:00
Daniel Fuchs
bd41428a56 8293590: Some syntax checks performed by URL.openConnection() could be performed earlier, at URL construction
Reviewed-by: jpai, michaelm
2022-10-18 14:30:51 +00:00
Prasanta Sadhukhan
78fed9d307 7175397: The divider color is not changed to green when dragging for Nimbus LaF.
Reviewed-by: jdv
2022-10-18 14:05:37 +00:00
Sean Coffey
8c40b7dc8c 8292177: InitialSecurityProperty JFR event
Reviewed-by: mullan
2022-10-18 11:41:07 +00:00
Aleksey Shipilev
e7a964b4db 8295268: Optimized builds are broken due to incorrect assert_is_rfp shortcuts
Reviewed-by: jiefu
2022-10-18 09:59:05 +00:00
Raffaello Giulietti
0b7d811c98 8294730: Add @throws and @implNote clauses to BigInteger::isProblablePrime and BigInteger::nextProblablePrime
Reviewed-by: darcy, bpb
2022-10-18 09:56:03 +00:00
Ludovic Henry
4434cbb719 8295264: Fix PaX check on RISC-V
Reviewed-by: yadongwang, fyang
2022-10-18 09:47:23 +00:00
Axel Boldt-Christmas
a8c18ebc15 8295257: Remove implicit noreg temp register arguments in aarch64 MacroAssembler
Reviewed-by: aph, tschatzl
2022-10-18 08:59:25 +00:00
Axel Boldt-Christmas
6553065cab 8295273: Remove unused argument in [load/store]_sized_value on aarch64 and riscv
Reviewed-by: fyang, haosun
2022-10-18 08:58:25 +00:00
Aleksey Shipilev
b06f1b149c 8294594: Fix cast-function-type warnings in signal handling code
Reviewed-by: dholmes, kbarrett
2022-10-18 08:45:28 +00:00
Jan Lahoda
71aa821091 8295176: some langtools test pollutes source tree
Reviewed-by: sadayapalam, darcy, vromero
2022-10-18 07:45:23 +00:00
Matthias Baesken
bca7ab3c11 8295412: support latest VS2022 MSC_VER in abstract_vm_version.cpp
Reviewed-by: dholmes, lucy
2022-10-18 07:43:59 +00:00
Prasanta Sadhukhan
c33ca0c5ed 6229853: BasicTextAreaUI:create incompletely documents the possible returned View types
Reviewed-by: aivanov, prr
2022-10-18 05:11:51 +00:00
Damon Nguyen
358ac07255 8294254: [macOS] javax/swing/plaf/aqua/CustomComboBoxFocusTest.java failure
Reviewed-by: jdv, achung
2022-10-18 03:55:23 +00:00
Fei Gao
490fcd0c25 8293833: Error mixing types with -XX:+UseCMoveUnconditionally -XX:+UseVectorCmov
Reviewed-by: chagedorn, kvn
2022-10-18 02:00:53 +00:00
Xiaolin Zheng
529cc48f35 8295396: RISC-V: Cleanup useless CompressibleRegions
Reviewed-by: fyang
2022-10-18 01:15:49 +00:00
Zixian Cai
692cdab2be 8295016: Make the arraycopy_epilogue signature consistent with its usage
Reviewed-by: shade
2022-10-18 00:53:17 +00:00
Serguei Spitsyn
21a825e059 8288387: GetLocalXXX/SetLocalXXX spec should require suspending target thread
Reviewed-by: lmesnik, dsamersoff
2022-10-17 23:36:22 +00:00
Julian Waters
8d751de319 8295231: Move all linking of native libraries to make
Reviewed-by: ihse, erikj
2022-10-17 20:57:26 +00:00
Jonathan Gibbons
f300ec8631 8294546: document where javac differs when invoked via launcher and ToolProvider
Reviewed-by: darcy
2022-10-17 20:18:25 +00:00
Aleksey Shipilev
b269c51d10 8295395: Linux Alpha Zero builds fail after JDK-8292591
Reviewed-by: stuefe
2022-10-17 17:56:49 +00:00
Hao Sun
ae60599e2b 8295023: Interpreter(AArch64): Implement -XX:+PrintBytecodeHistogram and -XX:+PrintBytecodePairHistogram options
Reviewed-by: aph, ngasson
2022-10-17 14:46:12 +00:00
Ludovic Henry
4d37ef2d54 8295262: Build binutils out of source tree
Reviewed-by: shade, erikj, ihse
2022-10-17 14:02:47 +00:00
Eric Liu
0919a3a0c1 8294186: AArch64: VectorMaskToLong failed on SVE2 machine with -XX:UseSVE=1
Reviewed-by: njian, aph
2022-10-17 13:28:33 +00:00
Thomas Stuefe
ec2981b83b 8293711: Factor out size parsing functions from arguments.cpp
Reviewed-by: dholmes, jsjolen
2022-10-17 12:44:51 +00:00
Coleen Phillimore
5d273b9f04 8295278: Add parallel class loading tests
Reviewed-by: vlivanov, ccheung
2022-10-17 12:31:39 +00:00
Albert Mingkun Yang
172006c0e9 8295333: G1: Remove unnecessary check in G1Policy::calculate_desired_eden_length_by_mmu
Reviewed-by: tschatzl, kbarrett
2022-10-17 09:44:43 +00:00
Magnus Ihse Bursie
7743345f6f 8294314: Minimize disabled warnings in hotspot
Co-authored-by: Aleksey Shipilev <shade@openjdk.org>
Reviewed-by: erikj, shade
2022-10-17 09:29:50 +00:00
Magnus Ihse Bursie
552d8a2821 8295192: Use original configure command line when called from a script
Reviewed-by: erikj
2022-10-17 09:28:23 +00:00
Srikanth Adayapalam
cf07eaeb92 8295020: javac emits incorrect code for for-each on an intersection type.
Reviewed-by: mcimadamore
2022-10-17 07:40:19 +00:00
Matthias Baesken
b3bb3e6ed8 8295325: tools/jlink/plugins/SaveJlinkArgfilesPluginTest.java fails on Linux ppc64le
Reviewed-by: alanb, mdoerr, mchung
2022-10-17 06:53:49 +00:00
Xiaolin Zheng
9005af3b90 8295110: RISC-V: Mark out relocations as incompressible
Reviewed-by: fyang, yadongwang
2022-10-17 05:56:59 +00:00
Sergey Tsypanov
74a51ccc86 8292698: Improve performance of DataInputStream
Reviewed-by: dfuchs
2022-10-17 04:41:12 +00:00
Yadong Wang
d3781ac8a3 8295009: RISC-V: Interpreter intrinsify Thread.currentThread()
Reviewed-by: fyang, shade
2022-10-16 10:36:26 +00:00
Daniel D. Daugherty
e7d0ab227f 8295379: ProblemList java/lang/Float/Binary16Conversion.java in Xcomp mode on x64
8295380: ProblemList gc/cslocker/TestCSLocker.java in Xcomp mode on x64

Reviewed-by: alanb
2022-10-15 14:50:10 +00:00
Quan Anh Mai
404e8de155 8294865: x86: Improve the code generation of MulVB and MulVL
Reviewed-by: kvn, vlivanov
2022-10-15 11:28:02 +00:00
Roger Riggs
2087424736 8295370: Update java.io.ObjectStreamField to use Class.descriptorString
Reviewed-by: bpb, mchung
2022-10-14 23:45:03 +00:00
Vladimir Ivanov
8487c56f7e 8295294: Misc cleanups in runtime/InvocationTests
Reviewed-by: dholmes
2022-10-14 17:46:11 +00:00
Jatin Bhateja
0043d58c5d 8293531: C2: some vectorapi tests fail assert "Not monotonic" with flag -XX:TypeProfileLevel=222
Reviewed-by: kvn
2022-10-14 16:34:48 +00:00
Thomas Schatzl
2e2a51ee22 8295267: Improve G1 scan to merge ratio calculation
Reviewed-by: ayang, iwalulya
2022-10-14 14:45:56 +00:00
Ioi Lam
dfcd9d538e 8295320: [BACKOUT] 8276687 Remove support for JDK 1.4.1 PerfData shared memory files
Reviewed-by: redestad, kevinw
2022-10-14 14:26:39 +00:00
Nikita Provotorov
2da079c64e 8294426: Two fingers tap generates wrong mouse modifiers on M2 MacBooks
Reviewed-by: prr
2022-10-14 14:14:23 +00:00
Thomas Schatzl
449b52fd23 8295158: G1: Increase card-based cost sample reporting threshold
Reviewed-by: iwalulya, ayang
2022-10-14 14:12:26 +00:00
Thomas Schatzl
312985eea6 8295156: G1: Improve constant other time calculation
Co-authored-by: Ivan Walulya <iwalulya@openjdk.org>
Reviewed-by: kbarrett, iwalulya
2022-10-14 13:53:52 +00:00
Archie L. Cobbs
786ce1c27b 8295024: Cyclic constructor error is non-deterministic and inconsistent
Reviewed-by: vromero
2022-10-14 13:52:50 +00:00
Thomas Schatzl
1efa93e602 8294844: Improve G1 young gen length revise trigger
Reviewed-by: iwalulya, kbarrett
2022-10-14 13:37:15 +00:00
Joshua Cao
3dbc38a2c9 8295288: Some vm_flags tests associate with a wrong BugID
Reviewed-by: phh
2022-10-14 13:36:12 +00:00
Thomas Schatzl
ef5210fce0 8295149: Misnomer for_young_gc instead of for_young_only_phase in G1Analytics
Reviewed-by: kbarrett, iwalulya
2022-10-14 13:12:55 +00:00
Thomas Schatzl
64813f48c8 8294850: Make rs length/pending card predictors dependent on gc phase
Reviewed-by: kbarrett, iwalulya, ayang
2022-10-14 12:46:48 +00:00
Markus Grönlund
21e4f06ada 8295274: HelidonAppTest.java fails "assert(event->should_commit()) failed: invariant" from compiled frame"
Reviewed-by: egahlin
2022-10-14 12:34:42 +00:00
Thomas Schatzl
f31c80d951 8294842: Pass actual pending cards to G1Policy::update_young_length_bounds during young gen revise
Reviewed-by: kbarrett, ayang
2022-10-14 11:26:06 +00:00
Prasanta Sadhukhan
7133fc93e1 7172359: HTML parser StackOverflowError on invalid HTML: <li> tag inside an <option>
Reviewed-by: tr, jdv, aivanov
2022-10-14 09:05:39 +00:00
Fei Yang
3d75e88eb2 8295270: RISC-V: Clean up and refactoring for assembler functions
Reviewed-by: fjiang, yadongwang, shade
2022-10-14 07:53:56 +00:00
Andrey Turbanov
be3b335452 8295026: Remove unused fields in StyleSheet
Reviewed-by: aivanov
2022-10-14 06:43:05 +00:00
Ioi Lam
67046ae49a 8276687: Remove support for JDK 1.4.1 PerfData shared memory files
Reviewed-by: dholmes, kevinw, redestad
2022-10-14 04:28:45 +00:00
Darragh Clarke
b30d922009 8292876: Do not include the deprecated userinfo component of the URI in HTTP/2 headers
Reviewed-by: aefimov, dfuchs, jpai
2022-10-14 01:37:29 +00:00
Julian Waters
2b4830a395 8295017: Remove Windows specific workaround in JLI_Snprintf
Reviewed-by: dholmes
2022-10-13 23:50:01 +00:00
Phil Race
fdb74ed452 8295301: Problem list TrayIcon tests that fail on Ubuntu 22.04
Reviewed-by: dholmes
2022-10-13 21:37:28 +00:00
David Alvarez
21407dec01 8295173: (tz) Update Timezone Data to 2022e
Reviewed-by: naoto
2022-10-13 20:48:43 +00:00
Ioi Lam
f5f8df11ce 8295295: CDS ArchivedEnumTest fails with StaticProperty::JAVA_LOCALE_USE_OLD_ISO_CODES
Reviewed-by: ccheung
2022-10-13 18:50:29 +00:00
Brian Burkhalter
18dd9ee701 8295025: (bf) ByteBuffer "Access to binary data" section suggests putFloat is void
Reviewed-by: alanb
2022-10-13 18:39:48 +00:00
Naoto Sato
4224d45132 8295232: "java.locale.useOldISOCodes" property is read lazily
Reviewed-by: lancea, bpb, iris, rriggs, coffeys
2022-10-13 16:18:53 +00:00
Abhishek Kumar
3b3438752c 8288882: JFileChooser - empty (0 bytes) file is displayed as 1 KB
Reviewed-by: aivanov, angorya, psadhukhan
2022-10-13 16:14:49 +00:00
Erik Gahlin
c7f65438bb 8295223: JFR: At most one native periodic event thread at a time
Reviewed-by: mgronlun
2022-10-13 15:53:33 +00:00
Thomas Schatzl
7e4868de7b 8294847: Fix calculation of G1 effective scanned cards prediction
Reviewed-by: kbarrett, ayang
2022-10-13 12:00:01 +00:00
Daniel Jeliński
2f60675e06 8294997: Improve ECC math operations
Reviewed-by: xuelei
2022-10-13 10:16:33 +00:00
Daniel Jeliński
94caecbe57 8294906: Memory leak in PKCS11 NSS TLS server
Reviewed-by: valeriep
2022-10-13 09:29:17 +00:00
Doug Simon
03e63a2b87 8295225: [JVMCI] codeStart should be cleared when entryPoint is cleared
Reviewed-by: never
2022-10-13 08:34:36 +00:00
Michael McMahon
26ac836636 8291638: Keep-Alive timeout of 0 should close connection immediately
Reviewed-by: dfuchs, jpai
2022-10-13 08:32:48 +00:00
Andrey Turbanov
6ae7e4d4aa 8293984: Unnecessary Vector usage in PropertyEditorSupport
Reviewed-by: serb
2022-10-13 06:56:20 +00:00
Magnus Ihse Bursie
cd1357b0af 8295229: Try to verify gtest version
Reviewed-by: erikj
2022-10-13 06:16:15 +00:00
Ioi Lam
90fb9a085b 8295102: Always load @lambda-form-invoker lines from default classlist
Reviewed-by: redestad, ccheung
2022-10-13 00:01:06 +00:00
Bill Huang
ac1941425b 8294994: Update Jarsigner and Keytool i18n tests to validate i18n compliance
Reviewed-by: naoto
2022-10-12 22:17:19 +00:00
Mahendra Chhipa
1961e81e02 8289509: Improve test coverage for XPath Axes: descendant, descendant-or-self, following, following-sibling
Reviewed-by: bhuang, joehw
2022-10-12 18:13:20 +00:00
Johan Sjölen
5699041adb 8294772: Remove workaround in os::dll_address_to_library_name
Reviewed-by: dholmes, iklam
2022-10-12 16:23:19 +00:00
Daniel Jeliński
d1252653b0 8277970: Test jdk/sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java fails with "tag mismatch"
Reviewed-by: jnimeh, xuelei
2022-10-12 15:32:36 +00:00
Leonid Mesnik
0475c34120 8292386: jvmti/thread/SuspendThread/suspendthrd03 failed with "FAIL: Status is 2"
Reviewed-by: sspitsyn, dcubed
2022-10-12 14:59:19 +00:00
Magnus Ihse Bursie
760a260fbb 8295213: Run GHA manually with user-specified make and configure arguments
Reviewed-by: shade
2022-10-12 13:34:50 +00:00
Magnus Ihse Bursie
8402260535 8295198: Update more openjdk.java.net => openjdk.org URLs
Reviewed-by: erikj
2022-10-12 13:34:07 +00:00
Magnus Ihse Bursie
c357b5908a 8295211: Fix autoconf 2.71 warning "AC_CHECK_HEADERS: you should use literals"
Reviewed-by: shade, erikj
2022-10-12 13:32:49 +00:00
Magnus Ihse Bursie
860784238e 8295205: Add jcheck whitespace checking for markdown files
Reviewed-by: erikj
2022-10-12 13:31:54 +00:00
Michael McMahon
cb62f1c5c0 8295218: New KeepAliveTest.java has invalid copyright notice
Reviewed-by: dfuchs, tschatzl
2022-10-12 12:10:07 +00:00
Stefan Karlsson
9cf6651202 8294238: ZGC: Move CLD claimed mark clearing
Reviewed-by: coleenp, tschatzl, eosterlund
2022-10-12 12:06:21 +00:00
Stefan Karlsson
adaff7d585 8294900: Refactor ZObjArrayAllocator
Reviewed-by: eosterlund
2022-10-12 12:05:20 +00:00
Ramesh Bhagavatam Gangadhar
86ec158dfb 8291226: Create Test Cases to cover scenarios for JDK-8278067
Reviewed-by: dfuchs, michaelm
2022-10-12 11:44:44 +00:00
Erik Gahlin
94ec729faa 8263044: jdk/jfr/jvm/TestDumpOnCrash.java timed out
Reviewed-by: mgronlun
2022-10-12 11:42:47 +00:00
Richard Reingruber
bdb4ed0fb1 8294580: frame::interpreter_frame_print_on() crashes if free BasicObjectLock exists in frame
Reviewed-by: dholmes, mdoerr
2022-10-12 08:48:26 +00:00
Thomas Schatzl
461d9030d8 8294841: G1: Refactor predict_base_elapsed_time_ms
Reviewed-by: ayang, iwalulya
2022-10-12 08:38:25 +00:00
Dingli Zhang
392f35df4b 8295033: hsdis configure error when cross-compiling with --with-binutils-src
Reviewed-by: erikj, ihse, shade
2022-10-12 07:24:30 +00:00
Johan Sjölen
16e0c5994a 8294950: print_sys_devices_cpu_info doesn't use the provided buffer
Reviewed-by: dholmes, stefank
2022-10-12 07:10:57 +00:00
Kim Barrett
5ad126f446 8295012: Arena should not derive from CHeapObj<mtNone>
Reviewed-by: stefank, dholmes
2022-10-12 01:55:58 +00:00
Xiaohong Gong
ab8c1361bc 8292898: [vectorapi] Unify vector mask cast operation
Co-authored-by: Quan Anh Mai <qamai@openjdk.org>
Reviewed-by: jbhateja, eliu
2022-10-12 01:39:57 +00:00
Jatin Bhateja
2ceb80c60f 8288043: Optimize FP to word/sub-word integral type conversion on X86 AVX2 platforms
Reviewed-by: kvn, sviswanathan
2022-10-12 01:05:44 +00:00
Quan Anh Mai
703a6ef591 8283699: Improve the peephole mechanism of hotspot
Reviewed-by: kvn, dlong
2022-10-12 00:31:04 +00:00
Kim Barrett
94a9b048af 8295013: OopStorage should derive from CHeapObjBase
Reviewed-by: stefank, tschatzl
2022-10-11 23:17:31 +00:00
Pavel Rappo
3a980b972f 8295168: Remove superfluous period in @throws tag description
Reviewed-by: bpb, naoto, lancea, iris
2022-10-11 19:44:54 +00:00
Pavel Rappo
9bb932ce30 8295154: Documentation for RemoteExecutionControl.invoke(Method) inherits non-existent documentation
Reviewed-by: jjg
2022-10-11 19:35:18 +00:00
Martin Doerr
945950d863 8295069: [PPC64] Performance regression after JDK-8290025
Reviewed-by: rrich, lucy
2022-10-11 19:19:41 +00:00
Chris Plummer
d362e16924 8294689: The SA transported_core.html file needs quite a bit of work
Reviewed-by: kevinw, poonam, sspitsyn
2022-10-11 18:01:18 +00:00
Smita Kamath
07946aa49c 8289552: Make intrinsic conversions between bit representations of half precision values and floats
Reviewed-by: kvn, sviswanathan, jbhateja
2022-10-11 17:06:19 +00:00
Raffaello Giulietti
2586b1a3c1 8295155: Incorrect javadoc of java.base module
Reviewed-by: alanb, rriggs, bpb, iris, jvernee
2022-10-11 16:58:36 +00:00
Magnus Ihse Bursie
e1a77cfd5f 8295163: Remove old hsdis Makefile
Reviewed-by: shade, iris
2022-10-11 16:35:55 +00:00
Xue-Lei Andrew Fan
3c7ae1225f 8294821: Class load improvement for AES crypto engine
Reviewed-by: valeriep
2022-10-11 16:23:02 +00:00
Markus Karg
619cd825b5 8294702: BufferedInputStream uses undefined value range for markpos
Reviewed-by: alanb, bpb
2022-10-11 16:07:31 +00:00
Abhishek Kumar
9d0009e92b 6777156: GTK L&F: JFileChooser can jump beyond root directory in combobox and selection textarea.
Reviewed-by: jdv, tr, psadhukhan
2022-10-11 12:55:59 +00:00
Aleksey Shipilev
3ebe5ad2d7 8294751: Zero: Allow larger default heaps
Reviewed-by: iklam, rkennke
2022-10-11 12:30:58 +00:00
Tejesh R
33d0618813 6616245: NullPointerException when using JFileChooser with a custom FileView
Reviewed-by: aivanov
2022-10-11 11:11:49 +00:00
Erik Gahlin
fba763f825 8291519: jdk/jfr/api/event/TestShouldCommit.java failed with Unexpected value of shouldCommit()
Reviewed-by: mgronlun
2022-10-11 10:06:17 +00:00
Tongbao Zhang
6053bf0f6a 8293782: Shenandoah: some tests failed on lock rank check
Reviewed-by: mdoerr, shade
2022-10-11 10:04:30 +00:00
KIRIYAMA Takuya
4435d56d3f 8282395: URL.openConnection can throw IOOBE
Reviewed-by: dfuchs
2022-10-11 09:22:33 +00:00
Daniel Jeliński
fe70487d0b 8294958: java/net/httpclient/ConnectTimeout tests are slow
Reviewed-by: dfuchs, aefimov
2022-10-11 08:50:01 +00:00
Roberto Castañeda Lozano
97f1321cb4 8294356: IGV: scheduled graphs contain duplicated elements
Reviewed-by: chagedorn, thartmann
2022-10-11 07:13:00 +00:00
Matthias Baesken
5e05e421ed 8294901: remove pre-VS2017 checks in Windows related coding
Reviewed-by: dholmes, mdoerr, kbarrett
2022-10-11 07:11:59 +00:00
Andrey Turbanov
e775acf889 8293986: Incorrect double-checked locking in com.sun.beans.introspect.ClassInfo
Reviewed-by: serb
2022-10-11 05:59:16 +00:00
Eric Liu
9d116ec147 8294262: AArch64: compiler/vectorapi/TestReverseByteTransforms.java test failed on SVE machine
Reviewed-by: aph, njian
2022-10-11 01:37:20 +00:00
Ningsheng Jian
4b17d28a6d 8294261: AArch64: Use pReg instead of pRegGov when possible
Reviewed-by: ngasson, xgong
2022-10-11 01:06:28 +00:00
Sergey Bylokhov
891156a744 8295003: Do not mention applets in the "java.awt.color" package
Reviewed-by: aivanov, prr
2022-10-11 00:40:34 +00:00
Kim Barrett
e6c33e62b5 8295014: Remove unnecessary explicit casts to void* in CHeapObjBase
Reviewed-by: jsjolen, dholmes, stefank
2022-10-11 00:17:36 +00:00
Erik Gahlin
1bfcc2790a 8294931: JFR: Simplify SettingInfo
Reviewed-by: mgronlun
2022-10-10 17:56:34 +00:00
Pavel Rappo
eb90c4fc04 8294377: Prepare to stop auto-inheriting documentation for subclasses of exceptions whose documentation is inherited
Reviewed-by: jjg
2022-10-10 16:54:57 +00:00
Markus Grönlund
4df4a1f8e2 8287832: jdk/jfr/event/runtime/TestActiveSettingEvent.java failed with "Expected two batches of Active Setting events"
Reviewed-by: egahlin
2022-10-10 12:40:58 +00:00
Markus Grönlund
35d17a00ab 8293864: Kitchensink24HStress.java fails with SIGSEGV in JfrCheckpointManager::lease
Reviewed-by: egahlin
2022-10-10 12:39:10 +00:00
Aleksey Shipilev
c5f462e83b 8294956: GHA: qemu-debootstrap is deprecated, use the regular one
Reviewed-by: erikj
2022-10-10 12:19:46 +00:00
Prasanta Sadhukhan
269252aa3d 8295007: javax/swing/JRadioButton/4314194/bug4314194.java fails in mach5 for WIndowLookAndFeel
Reviewed-by: aivanov, tr
2022-10-10 11:51:21 +00:00
Jie Fu
6ed74ef654 8295005: compiler/loopopts/TestRemoveEmptyLoop.java fails with release VMs after JDK-8294839
Reviewed-by: chagedorn, epeter
2022-10-10 07:06:51 +00:00
Daniel Jeliński
8a148bc960 8294848: Unnecessary SSLCipher dispose implementations
Reviewed-by: xuelei, valeriep, wetmore
2022-10-10 07:02:27 +00:00
Markus Karg
8713dfa64e 8294541: java/io/BufferedInputStream/TransferTo.java fails with OOME
Reviewed-by: alanb
2022-10-09 13:55:27 +00:00
Xiaolin Zheng
542cc602a7 8294366: RISC-V: Partially mark out incompressible regions
Reviewed-by: fyang, yadongwang
2022-10-08 06:41:45 +00:00
Alex Menkov
495c043533 7124710: interleaved RedefineClasses() and RetransformClasses() calls may have a problem
Reviewed-by: sspitsyn, dcubed
2022-10-07 23:02:19 +00:00
Justin Lu
d39d8c856a 8170389: java.text.DigitList.getDouble() : Controversy between javadoc and code
Reviewed-by: naoto, lancea
2022-10-07 22:58:26 +00:00
Matias Saavedra Silva
3466e99934 8294691: dynamicArchive/RelativePath.java is running other test case
Reviewed-by: iklam, ccheung
2022-10-07 20:44:35 +00:00
Weijun Wang
823b53d895 8294987: Streamline DerOutputStream write
Reviewed-by: jnimeh, ascarpino
2022-10-07 20:34:08 +00:00
Chris Plummer
6a266c4de1 8292879: com/sun/jdi/ClassUnloadEventTest.java failed due to classes not unloading
Reviewed-by: dholmes, coleenp, sspitsyn
2022-10-07 19:11:19 +00:00
Aleksey Shipilev
fe7a4617fe 8294920: Missing SP value in Linux x86_32 thread context
Reviewed-by: cjplummer, sspitsyn
2022-10-07 18:23:16 +00:00
Brian Burkhalter
4cbac40de9 8294717: (bf) DirectByteBuffer constructor will leak if allocating Deallocator or Cleaner fails with OOME
Reviewed-by: alanb
2022-10-07 17:43:00 +00:00
Alex Menkov
c1166a304d 8289561: java/lang/instrument/NativeMethodPrefixAgent.java fails with "ERROR: Injection failure: java.lang.UnsupportedOperationException: Records requires ASM8"
Reviewed-by: lmesnik, cjplummer, sspitsyn
2022-10-07 17:13:30 +00:00
Aleksey Shipilev
a1747ef81a 8294941: GHA: Cut down cross-compilation sysroots
Reviewed-by: clanger, erikj
2022-10-07 17:11:07 +00:00
Darragh Clarke
67210abd04 8286394: Address possibly lossy conversions in jdk.naming.dns
Reviewed-by: rriggs, aefimov
2022-10-07 16:04:50 +00:00
Sacha Coppey
7a194d31a3 8290154: [JVMCI] partially implement JVMCI for RISC-V
Reviewed-by: ihse, dnsimon, yadongwang
2022-10-07 13:09:09 +00:00
Johan Sjölen
b38bed6d0e 8294308: Allow dynamically choosing the MEMFLAGS of a type without ResourceObj
Reviewed-by: coleenp, stefank, kbarrett
2022-10-07 11:06:57 +00:00
Albert Mingkun Yang
118d93b3dc 8294907: Remove unused NativeLookup::dll_load
Reviewed-by: dholmes
2022-10-07 08:55:12 +00:00
Alan Bateman
1fda8421b9 8291429: java/lang/Thread/virtual/ThreadAPI.java timed out on single core system
Reviewed-by: sspitsyn, cjplummer
2022-10-07 08:14:43 +00:00
Andrey Turbanov
2d25c0a31c 8292280: Unused field 'keyListener' in BasicRadioButtonUI
Reviewed-by: jdv, serb
2022-10-07 06:19:01 +00:00
Alan Bateman
0ad6803ac2 8293810: Remove granting of RuntimePermission("stopThread") from tests
Reviewed-by: dfuchs, mullan, mchung, chegar
2022-10-07 06:15:38 +00:00
Srikanth Adayapalam
cf84c8eaf2 8292975: javac produces code that crashes with LambdaConversionException
8269983: BootstrapMethodError with method reference and intersection type

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@@ -0,0 +1,46 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Config'
description: 'Read JDK Configuration Variables'
inputs:
var:
description: 'The name of the variable to read'
required: true
outputs:
value:
description: 'The value of the configuration variable'
value: ${{ steps.read-config.outputs.value }}
runs:
using: composite
steps:
- name: 'Read configuration variable from repo'
id: read-config
run: |
# Extract value from configuration file
value="$(grep -h ${{ inputs.var }}= make/conf/github-actions.conf | cut -d '=' -f 2-)"
echo "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

54
.github/actions/get-gtest/action.yml vendored Normal file
View File

@@ -0,0 +1,54 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Get GTest'
description: 'Download GTest source'
outputs:
path:
description: 'Path to the installed GTest'
value: ${{ steps.path-name.outputs.path }}
runs:
using: composite
steps:
- name: 'Get GTest version configuration'
id: version
uses: ./.github/actions/config
with:
var: GTEST_VERSION
- name: 'Checkout GTest source'
uses: actions/checkout@v3
with:
repository: google/googletest
ref: 'release-${{ steps.version.outputs.value }}'
path: gtest
- name: 'Export path to where GTest is installed'
id: path-name
run: |
# Export the path
echo '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

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

@@ -0,0 +1,44 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Get MSYS2'
description: 'Download MSYS2 and prepare a Windows host'
runs:
using: composite
steps:
- name: 'Install MSYS2'
uses: msys2/setup-msys2@v2
with:
install: 'autoconf tar unzip zip make'
path-type: minimal
location: msys2
# We can't run bash until this is completed, so stick with pwsh
- name: 'Set MSYS2 path'
run: |
# Prepend msys2/msys64/usr/bin to the PATH
echo "$env:GITHUB_WORKSPACE/msys2/msys64/usr/bin" >> $env:GITHUB_PATH
shell: pwsh

View File

@@ -0,0 +1,77 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Upload bundles'
description: 'Upload resulting JDK bundles'
inputs:
platform:
description: 'Platform name'
required: true
debug-suffix:
description: 'File name suffix denoting debug level, possibly empty'
required: false
runs:
using: composite
steps:
- name: 'Determine bundle names'
id: bundles
run: |
# Rename bundles to consistent names
jdk_bundle_zip="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}.zip 2> /dev/null || true)"
jdk_bundle_tar_gz="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
symbols_bundle="$(ls build/*/bundles/jdk-*_bin${{ inputs.debug-suffix }}-symbols.tar.gz 2> /dev/null || true)"
tests_bundle="$(ls build/*/bundles/jdk-*_bin-tests${{ inputs.debug-suffix }}.tar.gz 2> /dev/null || true)"
mkdir bundles
if [[ "$jdk_bundle_zip" != "" ]]; then
mv "$jdk_bundle_zip" "bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.zip"
fi
if [[ "$jdk_bundle_tar_gz" != "" ]]; then
mv "$jdk_bundle_tar_gz" "bundles/jdk-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$symbols_bundle" != "" ]]; then
mv "$symbols_bundle" "bundles/symbols-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$tests_bundle" != "" ]]; then
mv "$tests_bundle" "bundles/tests-${{ inputs.platform }}${{ inputs.debug-suffix }}.tar.gz"
fi
if [[ "$jdk_bundle_zip$jdk_bundle_tar_gz$symbols_bundle$tests_bundle" != "" ]]; then
echo '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

@@ -0,0 +1,51 @@
#!/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"
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,184 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Build (cross-compile)'
on:
workflow_call:
inputs:
gcc-major-version:
required: true
type: string
apt-gcc-version:
required: true
type: string
apt-gcc-cross-version:
required: true
type: string
extra-conf-options:
required: false
type: string
configure-arguments:
required: false
type: string
make-arguments:
required: false
type: string
jobs:
build-cross-compile:
name: build
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
target-cpu:
- aarch64
- arm
- s390x
- ppc64le
- riscv64
include:
- target-cpu: aarch64
gnu-arch: aarch64
debian-arch: arm64
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
- target-cpu: arm
gnu-arch: arm
debian-arch: armhf
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
gnu-abi: eabihf
- target-cpu: s390x
gnu-arch: s390x
debian-arch: s390x
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
- target-cpu: ppc64le
gnu-arch: powerpc64le
debian-arch: ppc64el
debian-repository: https://httpredir.debian.org/debian/
debian-version: bullseye
- target-cpu: riscv64
gnu-arch: riscv64
debian-arch: riscv64
debian-repository: https://deb.debian.org/debian-ports
debian-keyring: /usr/share/keyrings/debian-ports-archive-keyring.gpg
debian-version: sid
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: linux-x64
# Use linux-x64 JDK bundle as build JDK
- name: 'Get build JDK'
id: buildjdk
uses: ./.github/actions/get-bundles
with:
platform: linux-x64
# Upgrading apt to solve libc6 installation bugs, see JDK-8260460.
- name: 'Install toolchain and dependencies'
run: |
# Install dependencies using apt-get
sudo apt-get update
sudo apt-get install --only-upgrade apt
sudo apt-get install \
gcc-${{ inputs.gcc-major-version }}=${{ inputs.apt-gcc-version }} \
g++-${{ inputs.gcc-major-version }}=${{ inputs.apt-gcc-version }} \
gcc-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}=${{ inputs.apt-gcc-cross-version }} \
g++-${{ inputs.gcc-major-version }}-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}=${{ inputs.apt-gcc-cross-version }} \
libxrandr-dev libxtst-dev libcups2-dev libasound2-dev \
debian-ports-archive-keyring
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
- name: 'Check cache for sysroot'
id: get-cached-sysroot
uses: actions/cache@v3
with:
path: sysroot
key: sysroot-${{ matrix.debian-arch }}-${{ hashFiles('./.github/workflows/build-cross-compile.yml') }}
- name: 'Install sysroot dependencies'
run: sudo apt-get install debootstrap qemu-user-static
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Create sysroot'
run: >
sudo debootstrap
--arch=${{ matrix.debian-arch }}
--verbose
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev
--resolve-deps
$(test -n "${{ matrix.debian-keyring }}" && echo "--keyring=${{ matrix.debian-keyring }}")
${{ matrix.debian-version }}
sysroot
${{ matrix.debian-repository }}
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Prepare sysroot'
run: |
# Prepare sysroot and remove unused files to minimize cache
sudo chroot sysroot symlinks -cr .
sudo chown ${USER} -R sysroot
rm -rf sysroot/{dev,proc,run,sys,var}
rm -rf sysroot/usr/{sbin,bin,share}
rm -rf sysroot/usr/lib/{apt,udev,systemd}
if: steps.get-cached-sysroot.outputs.cache-hit != 'true'
- name: 'Configure'
run: >
bash configure
--with-conf-name=linux-${{ matrix.target-cpu }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-zlib=system
--enable-debug
--disable-precompiled-headers
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}
--with-sysroot=sysroot
--with-build-jdk=${{ steps.buildjdk.outputs.jdk-path }}
--with-jmod-compress=zip-1
CC=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-gcc-${{ inputs.gcc-major-version }}
CXX=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-abi}}-g++-${{ inputs.gcc-major-version }}
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: 'hotspot ${{ inputs.make-arguments }}'
platform: linux-${{ matrix.target-cpu }}

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

@@ -0,0 +1,149 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Build (linux)'
on:
workflow_call:
inputs:
platform:
required: true
type: string
extra-conf-options:
required: false
type: string
make-target:
required: false
type: string
default: 'product-bundles test-bundles'
debug-levels:
required: false
type: string
default: '[ "debug", "release" ]'
gcc-major-version:
required: true
type: string
gcc-package-suffix:
required: false
type: string
default: ''
apt-gcc-version:
required: true
type: string
apt-architecture:
required: false
type: string
apt-extra-packages:
required: false
type: string
configure-arguments:
required: false
type: string
make-arguments:
required: false
type: string
jobs:
build-linux:
name: build
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
debug-level: ${{ fromJSON(inputs.debug-levels) }}
include:
- debug-level: debug
flags: --with-debug-level=fastdebug
suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: linux-x64
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Get GTest'
id: gtest
uses: ./.github/actions/get-gtest
- name: 'Set architecture'
id: arch
run: |
# Set a proper suffix for packages if using a different architecture
if [[ '${{ inputs.apt-architecture }}' != '' ]]; then
echo '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.gcc-major-version }}${{ inputs.gcc-package-suffix }}=${{ inputs.apt-gcc-version }} g++-${{ inputs.gcc-major-version }}${{ inputs.gcc-package-suffix }}=${{ inputs.apt-gcc-version }} libxrandr-dev${{ steps.arch.outputs.suffix }} libxtst-dev${{ steps.arch.outputs.suffix }} libcups2-dev${{ steps.arch.outputs.suffix }} libasound2-dev${{ steps.arch.outputs.suffix }} ${{ inputs.apt-extra-packages }}
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ inputs.gcc-major-version }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ inputs.gcc-major-version }}
- name: 'Configure'
run: >
bash configure
--with-conf-name=${{ inputs.platform }}
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--enable-jtreg-failure-handler
--with-zlib=system
--with-jmod-compress=zip-1
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
echo "Dumping config.log:" &&
cat config.log &&
exit 1)
- name: 'Build'
id: build
uses: ./.github/actions/do-build
with:
make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}'
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'
- name: 'Upload bundles'
uses: ./.github/actions/upload-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: '${{ matrix.suffix }}'

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

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

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

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

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

@@ -0,0 +1,387 @@
#
# 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, docs'
configure-arguments:
description: 'Additional configure arguments'
required: false
make-arguments:
description: 'Additional make arguments'
required: false
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
###
### Determine platforms to include
###
select:
name: 'Select platforms'
runs-on: ubuntu-22.04
outputs:
linux-x64: ${{ steps.include.outputs.linux-x64 }}
linux-x86: ${{ steps.include.outputs.linux-x86 }}
linux-x64-variants: ${{ steps.include.outputs.linux-x64-variants }}
linux-cross-compile: ${{ steps.include.outputs.linux-cross-compile }}
macos-x64: ${{ steps.include.outputs.macos-x64 }}
macos-aarch64: ${{ steps.include.outputs.macos-aarch64 }}
windows-x64: ${{ steps.include.outputs.windows-x64 }}
windows-aarch64: ${{ steps.include.outputs.windows-aarch64 }}
docs: ${{ steps.include.outputs.docs }}
steps:
# This function must be inlined in main.yml, or we'd be forced to checkout the repo
- name: 'Check what jobs to run'
id: include
run: |
# Determine which platform jobs to run
# Returns 'true' if the input platform list matches any of the platform monikers given as argument,
# 'false' otherwise.
# arg $1: platform name or names to look for
function check_platform() {
if [[ $GITHUB_EVENT_NAME == workflow_dispatch ]]; then
input='${{ github.event.inputs.platforms }}'
elif [[ $GITHUB_EVENT_NAME == push ]]; then
if [[ '${{ !secrets.JDK_SUBMIT_FILTER || startsWith(github.ref, 'refs/heads/submit/') }}' == 'false' ]]; then
# If JDK_SUBMIT_FILTER is set, and this is not a "submit/" branch, don't run anything
>&2 echo 'JDK_SUBMIT_FILTER is set and not a "submit/" branch'
echo 'false'
return
else
input='${{ secrets.JDK_SUBMIT_PLATFORMS }}'
fi
fi
normalized_input="$(echo ,$input, | tr -d ' ')"
if [[ "$normalized_input" == ",," ]]; then
# For an empty input, assume all platforms should run
echo 'true'
return
else
# Check for all acceptable platform names
for part in $* ; do
if echo "$normalized_input" | grep -q -e ",$part," ; then
echo 'true'
return
fi
done
fi
echo 'false'
}
echo "linux-x64=$(check_platform linux-x64 linux x64)" >> $GITHUB_OUTPUT
echo "linux-x86=$(check_platform linux-x86 linux x86)" >> $GITHUB_OUTPUT
echo "linux-x64-variants=$(check_platform linux-x64-variants variants)" >> $GITHUB_OUTPUT
echo "linux-cross-compile=$(check_platform linux-cross-compile cross-compile)" >> $GITHUB_OUTPUT
echo "macos-x64=$(check_platform macos-x64 macos x64)" >> $GITHUB_OUTPUT
echo "macos-aarch64=$(check_platform macos-aarch64 macos aarch64)" >> $GITHUB_OUTPUT
echo "windows-x64=$(check_platform windows-x64 windows x64)" >> $GITHUB_OUTPUT
echo "windows-aarch64=$(check_platform windows-aarch64 windows aarch64)" >> $GITHUB_OUTPUT
echo "docs=$(check_platform docs)" >> $GITHUB_OUTPUT
###
### Build jobs
###
build-linux-x64:
name: linux-x64
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
# The linux-x64 jdk bundle is used as buildjdk for the cross-compile job
if: needs.select.outputs.linux-x64 == 'true' || needs.select.outputs.linux-cross-compile == 'true'
build-linux-x86:
name: linux-x86
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x86
gcc-major-version: '10'
gcc-package-suffix: '-multilib'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
apt-architecture: 'i386'
# Some multilib libraries do not have proper inter-dependencies, so we have to
# install their dependencies manually.
apt-extra-packages: 'libfreetype6-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libc6-i386'
extra-conf-options: '--with-target-bits=32'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x86 == 'true'
build-linux-x64-hs-nopch:
name: linux-x64-hs-nopch
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
extra-conf-options: '--disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-zero:
name: linux-x64-hs-zero
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
extra-conf-options: '--with-jvm-variants=zero --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-minimal:
name: linux-x64-hs-minimal
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
extra-conf-options: '--with-jvm-variants=minimal --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-x64-hs-optimized:
name: linux-x64-hs-optimized
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
make-target: 'hotspot'
# Technically this is not the "debug" level, but we can't inject a new matrix state for just this job
debug-levels: '[ "debug" ]'
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
extra-conf-options: '--with-debug-level=optimized --disable-precompiled-headers'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-x64-variants == 'true'
build-linux-cross-compile:
name: linux-cross-compile
needs:
- select
- build-linux-x64
uses: ./.github/workflows/build-cross-compile.yml
with:
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
apt-gcc-cross-version: '10.4.0-4ubuntu1~22.04cross1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.linux-cross-compile == 'true'
build-macos-x64:
name: macos-x64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-x64
xcode-toolset-version: '11.7'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-x64 == 'true'
build-macos-aarch64:
name: macos-aarch64
needs: select
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-aarch64
xcode-toolset-version: '12.4'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-aarch64 == 'true'
build-windows-x64:
name: windows-x64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-x64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'x86.x64'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-x64 == 'true'
build-windows-aarch64:
name: windows-aarch64
needs: select
uses: ./.github/workflows/build-windows.yml
with:
platform: windows-aarch64
msvc-toolset-version: '14.29'
msvc-toolset-architecture: 'arm64'
make-target: 'hotspot'
extra-conf-options: '--openjdk-target=aarch64-unknown-cygwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.windows-aarch64 == 'true'
build-docs:
name: docs
needs: select
uses: ./.github/workflows/build-linux.yml
with:
platform: linux-x64
debug-levels: '[ "debug" ]'
make-target: 'docs-jdk-bundles'
# Make sure we never try to make full docs, since that would require a
# build JDK, and we do not need the additional testing of the graphs.
extra-conf-options: '--disable-full-docs'
gcc-major-version: '10'
apt-gcc-version: '10.4.0-4ubuntu1~22.04'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.docs == 'true'
###
### Test jobs
###
test-linux-x64:
name: linux-x64
needs:
- build-linux-x64
uses: ./.github/workflows/test.yml
with:
platform: linux-x64
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
test-linux-x86:
name: linux-x86
needs:
- build-linux-x86
uses: ./.github/workflows/test.yml
with:
platform: linux-x86
bootjdk-platform: linux-x64
runs-on: ubuntu-22.04
test-macos-x64:
name: macos-x64
needs:
- build-macos-x64
uses: ./.github/workflows/test.yml
with:
platform: macos-x64
bootjdk-platform: macos-x64
runs-on: macos-11
test-windows-x64:
name: windows-x64
needs:
- build-windows-x64
uses: ./.github/workflows/test.yml
with:
platform: windows-x64
bootjdk-platform: windows-x64
runs-on: windows-2019
# Remove bundles so they are not misconstrued as binary distributions from the JDK project
remove-bundles:
name: 'Remove bundle artifacts'
runs-on: ubuntu-22.04
if: always()
needs:
- build-linux-x64
- build-linux-x86
- build-linux-x64-hs-nopch
- build-linux-x64-hs-zero
- build-linux-x64-hs-minimal
- build-linux-x64-hs-optimized
- build-linux-cross-compile
- build-macos-x64
- build-macos-aarch64
- build-windows-x64
- build-windows-aarch64
- test-linux-x64
- test-linux-x86
- test-macos-x64
- test-windows-x64
steps:
# Hack to get hold of the api environment variables that are only defined for actions
- name: 'Get API configuration'
id: api
uses: actions/github-script@v6
with:
script: 'return { url: process.env["ACTIONS_RUNTIME_URL"], token: process.env["ACTIONS_RUNTIME_TOKEN"] }'
- name: 'Remove bundle artifacts'
run: |
# Find and remove all bundle artifacts
ALL_ARTIFACT_URLS="$(curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
'${{ fromJson(steps.api.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview')"
BUNDLE_ARTIFACT_URLS="$(echo "$ALL_ARTIFACT_URLS" | jq -r -c '.value | map(select(.name|startswith("bundles-"))) | .[].url')"
for url in $BUNDLE_ARTIFACT_URLS; do
echo "Removing $url"
curl -s \
-H 'Accept: application/json;api-version=6.0-preview' \
-H 'Authorization: Bearer ${{ fromJson(steps.api.outputs.result).token }}' \
-X DELETE "$url" \
|| echo "Failed to remove bundle"
done

File diff suppressed because it is too large Load Diff

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

@@ -0,0 +1,205 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
name: 'Run tests'
on:
workflow_call:
inputs:
platform:
required: true
type: string
bootjdk-platform:
required: true
type: string
runs-on:
required: true
type: string
env:
# These are needed to make the MSYS2 bash work properly
MSYS2_PATH_TYPE: minimal
CHERE_INVOKING: 1
jobs:
test:
name: test
runs-on: ${{ inputs.runs-on }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
test-name:
- 'jdk/tier1 part 1'
- 'jdk/tier1 part 2'
- 'jdk/tier1 part 3'
- 'langtools/tier1'
- 'hs/tier1 common'
- 'hs/tier1 compiler'
- 'hs/tier1 gc'
- 'hs/tier1 runtime'
- 'hs/tier1 serviceability'
include:
- test-name: 'jdk/tier1 part 1'
test-suite: 'test/jdk/:tier1_part1'
- test-name: 'jdk/tier1 part 2'
test-suite: 'test/jdk/:tier1_part2'
- test-name: 'jdk/tier1 part 3'
test-suite: 'test/jdk/:tier1_part3'
- test-name: 'langtools/tier1'
test-suite: 'test/langtools/:tier1'
- test-name: 'hs/tier1 common'
test-suite: 'test/hotspot/jtreg/:tier1_common'
debug-suffix: -debug
- test-name: 'hs/tier1 compiler'
test-suite: 'test/hotspot/jtreg/:tier1_compiler'
debug-suffix: -debug
- test-name: 'hs/tier1 gc'
test-suite: 'test/hotspot/jtreg/:tier1_gc'
debug-suffix: -debug
- test-name: 'hs/tier1 runtime'
test-suite: 'test/hotspot/jtreg/:tier1_runtime'
debug-suffix: -debug
- test-name: 'hs/tier1 serviceability'
test-suite: 'test/hotspot/jtreg/:tier1_serviceability'
debug-suffix: -debug
steps:
- name: 'Checkout the JDK source'
uses: actions/checkout@v3
- name: 'Get MSYS2'
uses: ./.github/actions/get-msys2
if: runner.os == 'Windows'
- name: 'Get the BootJDK'
id: bootjdk
uses: ./.github/actions/get-bootjdk
with:
platform: ${{ inputs.bootjdk-platform }}
- name: 'Get JTReg'
id: jtreg
uses: ./.github/actions/get-jtreg
- name: 'Get bundles'
id: bundles
uses: ./.github/actions/get-bundles
with:
platform: ${{ inputs.platform }}
debug-suffix: ${{ matrix.debug-suffix }}
- name: 'Install dependencies'
run: |
# On macOS we need to install some dependencies for testing
brew install make
sudo xcode-select --switch /Applications/Xcode_11.7.app/Contents/Developer
# This will make GNU make available as 'make' and not only as 'gmake'
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
if: runner.os == 'macOS'
- name: 'Set PATH'
id: path
run: |
# We need a minimal PATH on Windows
# Set PATH to "", so just GITHUB_PATH is included
if [[ '${{ runner.os }}' == 'Windows' ]]; then
echo "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'

2
.gitignore vendored
View File

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

View File

@@ -1,7 +1,7 @@
[general]
project=jdk
jbs=JDK
version=19
version=20
[checks]
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists
@@ -15,7 +15,7 @@ version=0
domain=openjdk.org
[checks "whitespace"]
files=.*\.cpp|.*\.hpp|.*\.c|.*\.h|.*\.java|.*\.cc|.*\.hh|.*\.m|.*\.mm|.*\.gmk|.*\.m4|.*\.ac|Makefile
files=.*\.cpp|.*\.hpp|.*\.c|.*\.h|.*\.java|.*\.cc|.*\.hh|.*\.m|.*\.mm|.*\.md|.*\.gmk|.*\.m4|.*\.ac|Makefile
ignore-tabs=.*\.gmk|Makefile
[checks "merge"]

View File

@@ -2,8 +2,8 @@
OPENJDK ASSEMBLY EXCEPTION
The OpenJDK source code made available by Oracle America, Inc. (Oracle) at
openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU
General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
openjdk.org ("OpenJDK Code") is distributed under the terms of the GNU
General Public License <https://www.gnu.org/copyleft/gpl.html> version 2
only ("GPL2"), with the following clarification and special exception.
Linking this OpenJDK Code statically or dynamically with other code
@@ -12,7 +12,7 @@ only ("GPL2"), with the following clarification and special exception.
As a special exception, Oracle gives you permission to link this
OpenJDK Code with certain code licensed by Oracle as indicated at
http://openjdk.java.net/legal/exception-modules-2007-05-08.html
https://openjdk.org/legal/exception-modules-2007-05-08.html
("Designated Exception Modules") to produce an executable,
regardless of the license terms of the Designated Exception Modules,
and to copy and distribute the resulting executable under GPL2,

View File

@@ -1,3 +1,3 @@
# Contributing to the JDK
Please see <https://openjdk.java.net/contribute/> for how to contribute.
Please see <https://openjdk.org/contribute> for how to contribute.

View File

@@ -1,7 +1,12 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# Welcome to the JDK!
# Welcome to JetBrains Runtime!
<a name="jetbrains-runtime"></a>
For build instructions please see the
[online documentation](https://openjdk.org/groups/build/doc/building.html),
or either of these files:
Do not use this branch. It is [outdated](https://youtrack.jetbrains.com/issue/JBR-4375/New-branch-naming-policy-in-JBR-repo).
Please use [main](https://github.com/JetBrains/JetBrainsRuntime/tree/main) instead.
- [doc/building.html](doc/building.html) (html version)
- [doc/building.md](doc/building.md) (markdown version)
See <https://openjdk.org/> for more information about the OpenJDK
Community and the JDK and see <https://bugs.openjdk.org> for JDK issue
tracking.

View File

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

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 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
@@ -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"
@@ -135,6 +144,28 @@ install_jib() {
echo "${data_string}" > "${install_data}"
}
# Returns a shell-escaped version of the argument given.
shell_quote() {
if [[ -n "$1" ]]; then
# Uses only shell-safe characters? No quoting needed.
# '=' is a zsh meta-character, but only in word-initial position.
if echo "$1" | grep '^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\.:,%/+=_-]\{1,\}$' > /dev/null \
&& ! echo "$1" | grep '^=' > /dev/null; then
quoted="$1"
else
if echo "$1" | grep "[\'!]" > /dev/null; then
# csh does history expansion within single quotes, but not
# when backslash-escaped!
local quoted_quote="'\\''" quoted_exclam="'\\!'"
word="${1//\'/${quoted_quote}}"
word="${1//\!/${quoted_exclam}}"
fi
quoted="'$1'"
fi
echo "$quoted"
fi
}
# Main body starts here
setup_url
@@ -151,4 +182,16 @@ if [ -z "${JIB_SRC_DIR}" ]; then
export JIB_SRC_DIR="${mydir}/../"
fi
# Save the original command line
conf_quoted_arguments=()
for conf_option; do
conf_quoted_arguments=("${conf_quoted_arguments[@]}" "$(shell_quote "$conf_option")")
done
export REAL_CONFIGURE_COMMAND_LINE="${conf_quoted_arguments[@]}"
myfulldir="$(cd "${mydir}" > /dev/null && pwd)"
export REAL_CONFIGURE_COMMAND_EXEC_FULL="$BASH $myfulldir/$myname"
export REAL_CONFIGURE_COMMAND_EXEC_SHORT="$myname"
${installed_jib_script} "$@"

0
configure vendored Executable file → Normal file
View File

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ the time. They assume that you have installed Git (and Cygwin if running
on Windows) and cloned the top-level JDK repository that you want to build.
1. [Get the complete source code](#getting-the-source-code): \
`git clone https://git.openjdk.java.net/jdk/`
`git clone https://git.openjdk.org/jdk/`
2. [Run configure](#running-configure): \
`bash configure`
@@ -40,14 +40,14 @@ reasonably powerful hardware.
If you just want to use the JDK and not build it yourself, this document is not
for you. See for instance [OpenJDK installation](
http://openjdk.java.net/install) for some methods of installing a prebuilt
http://openjdk.org/install) for some methods of installing a prebuilt
JDK.
## Getting the Source Code
Make sure you are getting the correct version. As of JDK 10, the source is no
longer split into separate repositories so you only need to clone one single
repository. At the [OpenJDK Git site](https://git.openjdk.java.net/) you
repository. At the [OpenJDK Git site](https://git.openjdk.org/) you
can see a list of all available repositories. If you want to build an older version,
e.g. JDK 11, it is recommended that you get the `jdk11u` repo, which contains
incremental updates, instead of the `jdk11` repo, which was frozen at JDK 11 GA.
@@ -96,7 +96,7 @@ on where and how to check out the source code.
Cygwin paths (which are used throughout the JDK build system).
However, it does not currently work well with the Skara CLI tooling.
Please see the [Skara wiki on Git clients](
https://wiki.openjdk.java.net/display/SKARA/Skara#Skara-Git) for
https://wiki.openjdk.org/display/SKARA/Skara#Skara-Git) for
up-to-date information about the Skara git client support.
* The [Git for Windows](https://gitforwindows.org) client has issues
@@ -173,7 +173,7 @@ used at Oracle, where header files and external libraries from an older version
are used when building on a more modern version of the OS.
The Build Group has a wiki page with [Supported Build Platforms](
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms). From
https://wiki.openjdk.org/display/Build/Supported+Build+Platforms). From
time to time, this is updated by contributors to list successes or failures of
building on different platforms.
@@ -303,7 +303,7 @@ sudo apk add build-base bash grep zip
### AIX
Please consult the AIX section of the [Supported Build Platforms](
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms) OpenJDK
https://wiki.openjdk.org/display/Build/Supported+Build+Platforms) OpenJDK
Build Wiki page for details about which versions of AIX are supported.
## Native Compiler (Toolchain) Requirements
@@ -311,14 +311,17 @@ Build Wiki page for details about which versions of AIX are supported.
Large portions of the JDK consists of native code, that needs to be compiled to
be able to run on the target platform. In theory, toolchain and operating
system should be independent factors, but in practice there's more or less a
one-to-one correlation between target operating system and toolchain.
one-to-one correlation between target operating system and toolchain. There are
ongoing efforts to loosen this strict coupling between compiler and operating
system (see [JDK-8288293](https://bugs.openjdk.org/browse/JDK-8288293)) but it
will likely be a very long time before this goal can be realized.
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
@@ -327,11 +330,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 11.2.0
macOS Apple Xcode 10.1 (using clang 10.0.0)
Windows Microsoft Visual Studio 2022 update 17.1.0
| 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
@@ -359,20 +362,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
@@ -382,14 +385,14 @@ available for this update.
### Microsoft Visual Studio
For aarch64 machines running Windows the minimum accepted version is Visual Studio 2019
(16.8 or higher). For all other platforms the minimum accepted version of
Visual Studio is 2017. Older versions will not be accepted by `configure` and will
not work. For all platforms the maximum accepted version of Visual Studio is 2022.
The minimum accepted version is Visual Studio 2019 version 16.8. (Note that this
version is often presented as "MSVC 14.28", and reported by cl.exe as 19.28.)
Older versions will not be accepted by `configure` and will not work. The
maximum accepted version of Visual Studio is 2022.
If you have multiple versions of Visual Studio installed, `configure` will by
default pick the latest. You can request a specific version to be used by
setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2017`.
setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2022`.
If you have Visual Studio installed but `configure` fails to detect it, it may
be because of [spaces in path](#spaces-in-path).
@@ -397,7 +400,7 @@ be because of [spaces in path](#spaces-in-path).
### IBM XL C/C++
Please consult the AIX section of the [Supported Build Platforms](
https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms) OpenJDK
https://wiki.openjdk.org/display/Build/Supported+Build+Platforms) OpenJDK
Build Wiki page for details about which versions of XLC are supported.
@@ -848,14 +851,14 @@ Suggestions for Advanced Users](#hints-and-suggestions-for-advanced-users) and
## Running Tests
Most of the JDK tests are using the [JTReg](http://openjdk.java.net/jtreg)
Most of the JDK tests are using the [JTReg](http://openjdk.org/jtreg)
test framework. Make sure that your configuration knows where to find your
installation of JTReg. If this is not picked up automatically, use the
`--with-jtreg=<path to jtreg home>` option to point to the JTReg framework.
Note that this option should point to the JTReg home, i.e. the top directory,
containing `lib/jtreg.jar` etc.
The [Adoption Group](https://wiki.openjdk.java.net/display/Adoption) provides
The [Adoption Group](https://wiki.openjdk.org/display/Adoption) provides
recent builds of jtreg [here](
https://ci.adoptopenjdk.net/view/Dependencies/job/dependency_pipeline/lastSuccessfulBuild/artifact/jtreg/).
Download the latest `.tar.gz` file, unpack it, and point `--with-jtreg` to the
@@ -877,6 +880,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
@@ -1294,10 +1333,12 @@ it.
To use, setup an icecc network, and install icecc on the build machine. Then
run `configure` using `--enable-icecc`.
### Using sjavac
### Using the javac server
To speed up Java compilation, especially incremental compilations, you can try
the experimental sjavac compiler by using `--enable-sjavac`.
To speed up compilation of Java code, especially during incremental
compilations, the javac server is automatically enabled in the configuration
step by default. To explicitly enable or disable the javac server, use either
`--enable-javac-server` or `--disable-javac-server`.
### Building the Right Target
@@ -1510,7 +1551,7 @@ You can run `fsutil file setshortname` in `cmd` on certain directories, such as
If none of the suggestions in this document helps you, or if you find what you
believe is a bug in the build system, please contact the Build Group by sending
a mail to [build-dev@openjdk.java.net](mailto:build-dev@openjdk.java.net).
a mail to [build-dev@openjdk.org](mailto:build-dev@openjdk.org).
Please include the relevant parts of the configure and/or build log.
If you need general help or advice about developing for the JDK, you can also
@@ -1557,9 +1598,9 @@ make
Note that regardless if you specify a source date for `configure` or not, the
JDK build system will set `SOURCE_DATE_EPOCH` for all build tools when building.
If `--with-source-date` has the value `updated` (which is the default unless
If `--with-source-date` has the value `current` (which is the default unless
`SOURCE_DATE_EPOCH` is found by in the environment by `configure`), the source
date value will be determined at build time.
date value will be determined at configure time.
There are several aspects of reproducible builds that can be individually
adjusted by `configure` arguments. If any of these are given, they will override
@@ -1580,7 +1621,7 @@ the value derived from `SOURCE_DATE_EPOCH`. These arguments are:
When `SOURCE_DATE_EPOCH` is set, the default value for `--with-source-date`
will be the value given by `SOURCE_DATE_EPOCH`. Otherwise, the default value
is `updated`.
is `current`.
* `--with-hotspot-build-time`
@@ -1920,7 +1961,7 @@ To analyze build performance, run with `LOG=trace` and check `$BUILD/build-trace
Use `JOBS=1` to avoid parallelism.
Please check that you adhere to the [Code Conventions for the Build System](
http://openjdk.java.net/groups/build/doc/code-conventions.html) before
http://openjdk.org/groups/build/doc/code-conventions.html) before
submitting patches.
## Contributing to the JDK
@@ -1933,19 +1974,25 @@ However, please bear in mind that the JDK is a massive project, and we must ask
you to follow our rules and guidelines to be able to accept your contribution.
The official place to start is the ['How to contribute' page](
http://openjdk.java.net/contribute/). There is also an official (but somewhat
http://openjdk.org/contribute/). There is also an official (but somewhat
outdated and skimpy on details) [Developer's Guide](
http://openjdk.java.net/guide/).
http://openjdk.org/guide/).
If this seems overwhelming to you, the Adoption Group is there to help you! A
good place to start is their ['New Contributor' page](
https://wiki.openjdk.java.net/display/Adoption/New+Contributor), or start
https://wiki.openjdk.org/display/Adoption/New+Contributor), or start
reading the comprehensive [Getting Started Kit](
https://adoptopenjdk.gitbooks.io/adoptopenjdk-getting-started-kit/en/). The
Adoption Group will also happily answer any questions you have about
contributing. Contact them by [mail](
http://mail.openjdk.java.net/mailman/listinfo/adoption-discuss) or [IRC](
http://openjdk.java.net/irc/).
http://mail.openjdk.org/mailman/listinfo/adoption-discuss) or [IRC](
http://openjdk.org/irc/).
## Editing this document
If you want to contribute changes to this document, edit `doc/building.md` and
then run `make update-build-docs` to generate the same changes in
`doc/building.html`.
---
# Override styles from the base CSS file that are not ideal for this document.

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -5,11 +5,19 @@
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Native/Unit Test Development Guidelines</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
ul.task-list li input[type="checkbox"] {
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css" />
<!--[if lt IE 9]>
@@ -20,174 +28,442 @@
<header id="title-block-header">
<h1 class="title">Native/Unit Test Development Guidelines</h1>
</header>
<nav id="TOC">
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#good-test-properties">Good test properties</a><ul>
<li><a href="#lightness">Lightness</a></li>
<li><a href="#isolation">Isolation</a></li>
<li><a href="#atomicity-and-self-containment">Atomicity and self-containment</a></li>
<li><a href="#repeatability">Repeatability</a></li>
<li><a href="#informativeness">Informativeness</a></li>
<li><a href="#testing-instead-of-visiting">Testing instead of visiting</a></li>
<li><a href="#nearness">Nearness</a></li>
<li><a href="#good-test-properties" id="toc-good-test-properties">Good
test properties</a>
<ul>
<li><a href="#lightness" id="toc-lightness">Lightness</a></li>
<li><a href="#isolation" id="toc-isolation">Isolation</a></li>
<li><a href="#atomicity-and-self-containment"
id="toc-atomicity-and-self-containment">Atomicity and
self-containment</a></li>
<li><a href="#repeatability"
id="toc-repeatability">Repeatability</a></li>
<li><a href="#informativeness"
id="toc-informativeness">Informativeness</a></li>
<li><a href="#testing-instead-of-visiting"
id="toc-testing-instead-of-visiting">Testing instead of
visiting</a></li>
<li><a href="#nearness" id="toc-nearness">Nearness</a></li>
</ul></li>
<li><a href="#asserts">Asserts</a><ul>
<li><a href="#several-checks">Several checks</a></li>
<li><a href="#first-parameter-is-expected-value">First parameter is expected value</a></li>
<li><a href="#floating-point-comparison">Floating-point comparison</a></li>
<li><a href="#c-string-comparison">C string comparison</a></li>
<li><a href="#error-messages">Error messages</a></li>
<li><a href="#uncluttered-output">Uncluttered output</a></li>
<li><a href="#failures-propagation">Failures propagation</a></li>
<li><a href="#asserts" id="toc-asserts">Asserts</a>
<ul>
<li><a href="#several-checks" id="toc-several-checks">Several
checks</a></li>
<li><a href="#first-parameter-is-expected-value"
id="toc-first-parameter-is-expected-value">First parameter is expected
value</a></li>
<li><a href="#floating-point-comparison"
id="toc-floating-point-comparison">Floating-point comparison</a></li>
<li><a href="#c-string-comparison" id="toc-c-string-comparison">C string
comparison</a></li>
<li><a href="#error-messages" id="toc-error-messages">Error
messages</a></li>
<li><a href="#uncluttered-output"
id="toc-uncluttered-output">Uncluttered output</a></li>
<li><a href="#failures-propagation"
id="toc-failures-propagation">Failures propagation</a></li>
</ul></li>
<li><a href="#naming-and-grouping">Naming and Grouping</a><ul>
<li><a href="#test-group-names">Test group names</a></li>
<li><a href="#filename">Filename</a></li>
<li><a href="#file-location">File location</a></li>
<li><a href="#test-names">Test names</a></li>
<li><a href="#fixture-classes">Fixture classes</a></li>
<li><a href="#friend-classes">Friend classes</a></li>
<li><a href="#oscpu-specific-tests">OS/CPU specific tests</a></li>
<li><a href="#naming-and-grouping" id="toc-naming-and-grouping">Naming
and Grouping</a>
<ul>
<li><a href="#test-group-names" id="toc-test-group-names">Test group
names</a></li>
<li><a href="#filename" id="toc-filename">Filename</a></li>
<li><a href="#file-location" id="toc-file-location">File
location</a></li>
<li><a href="#test-names" id="toc-test-names">Test names</a></li>
<li><a href="#fixture-classes" id="toc-fixture-classes">Fixture
classes</a></li>
<li><a href="#friend-classes" id="toc-friend-classes">Friend
classes</a></li>
<li><a href="#oscpu-specific-tests" id="toc-oscpu-specific-tests">OS/CPU
specific tests</a></li>
</ul></li>
<li><a href="#miscellaneous">Miscellaneous</a><ul>
<li><a href="#hotspot-style">Hotspot style</a></li>
<li><a href="#codetest-metrics">Code/test metrics</a></li>
<li><a href="#access-to-non-public-members">Access to non-public members</a></li>
<li><a href="#death-tests">Death tests</a></li>
<li><a href="#external-flags">External flags</a></li>
<li><a href="#test-specific-flags">Test-specific flags</a></li>
<li><a href="#flag-restoring">Flag restoring</a></li>
<li><a href="#googletest-documentation">GoogleTest documentation</a></li>
<li><a href="#miscellaneous" id="toc-miscellaneous">Miscellaneous</a>
<ul>
<li><a href="#hotspot-style" id="toc-hotspot-style">Hotspot
style</a></li>
<li><a href="#codetest-metrics" id="toc-codetest-metrics">Code/test
metrics</a></li>
<li><a href="#access-to-non-public-members"
id="toc-access-to-non-public-members">Access to non-public
members</a></li>
<li><a href="#death-tests" id="toc-death-tests">Death tests</a></li>
<li><a href="#external-flags" id="toc-external-flags">External
flags</a></li>
<li><a href="#test-specific-flags"
id="toc-test-specific-flags">Test-specific flags</a></li>
<li><a href="#flag-restoring" id="toc-flag-restoring">Flag
restoring</a></li>
<li><a href="#googletest-documentation"
id="toc-googletest-documentation">GoogleTest documentation</a></li>
</ul></li>
<li><a href="#todo">TODO</a></li>
<li><a href="#todo" id="toc-todo">TODO</a></li>
</ul>
</nav>
<p>The purpose of these guidelines is to establish a shared vision on what kind of native tests and how we want to develop them for Hotspot using GoogleTest. Hence these guidelines include style items as well as test approach items.</p>
<p>First section of this document describes properties of good tests which are common for almost all types of test regardless of language, framework, etc. Further sections provide recommendations to achieve those properties and other HotSpot and/or GoogleTest specific guidelines.</p>
<p>The purpose of these guidelines is to establish a shared vision on
what kind of native tests and how we want to develop them for Hotspot
using GoogleTest. Hence these guidelines include style items as well as
test approach items.</p>
<p>First section of this document describes properties of good tests
which are common for almost all types of test regardless of language,
framework, etc. Further sections provide recommendations to achieve
those properties and other HotSpot and/or GoogleTest specific
guidelines.</p>
<h2 id="good-test-properties">Good test properties</h2>
<h3 id="lightness">Lightness</h3>
<p>Use the most lightweight type of tests.</p>
<p>In Hotspot, there are 3 different types of tests regarding their dependency on a JVM, each next level is slower than previous</p>
<p>In Hotspot, there are 3 different types of tests regarding their
dependency on a JVM, each next level is slower than previous</p>
<ul>
<li><p><code>TEST</code> : a test does not depend on a JVM</p></li>
<li><p><code>TEST_VM</code> : a test does depend on an initialized JVM, but are supposed not to break a JVM, i.e. leave it in a workable state.</p></li>
<li><p><code>TEST_OTHER_VM</code> : a test depends on a JVM and requires a freshly initialized JVM or leaves a JVM in non-workable state</p></li>
<li><p><code>TEST_VM</code> : a test does depend on an initialized JVM,
but are supposed not to break a JVM, i.e. leave it in a workable
state.</p></li>
<li><p><code>TEST_OTHER_VM</code> : a test depends on a JVM and requires
a freshly initialized JVM or leaves a JVM in non-workable state</p></li>
</ul>
<h3 id="isolation">Isolation</h3>
<p>Tests have to be isolated: not to have visible side-effects, influences on other tests results.</p>
<p>Results of one test should not depend on test execution order, other tests, otherwise it is becoming almost impossible to find out why a test failed. Due to hotspot-specific, it is not so easy to get a full isolation, e.g. we share an initialized JVM between all <code>TEST_VM</code> tests, so if your test changes JVM's state too drastically and does not change it back, you had better consider <code>TEST_OTHER_VM</code>.</p>
<h3 id="atomicity-and-self-containment">Atomicity and self-containment</h3>
<p>Tests should be <em>atomic</em> and <em>self-contained</em> at the same time.</p>
<p>One test should check a particular part of a class, subsystem, functionality, etc. Then it is quite easy to determine what parts of a product are broken basing on test failures. On the other hand, a test should test that part more-or-less entirely, because when one sees a test <code>FooTest::bar</code>, they assume all aspects of bar from <code>Foo</code> are tested.</p>
<p>However, it is impossible to cover all aspects even of a method, not to mention a subsystem. In such cases, it is recommended to have several tests, one for each aspect of a thing under test. For example one test to tests how <code>Foo::bar</code> works if an argument is <code>null</code>, another test to test how it works if an argument is acceptable but <code>Foo</code> is not in the right state to accept it and so on. This helps not only to make tests atomic, self-contained but also makes test name self-descriptive (discussed in more details in <a href="#test-names">Test names</a>).</p>
<p>Tests have to be isolated: not to have visible side-effects,
influences on other tests results.</p>
<p>Results of one test should not depend on test execution order, other
tests, otherwise it is becoming almost impossible to find out why a test
failed. Due to hotspot-specific, it is not so easy to get a full
isolation, e.g. we share an initialized JVM between all
<code>TEST_VM</code> tests, so if your test changes JVM's state too
drastically and does not change it back, you had better consider
<code>TEST_OTHER_VM</code>.</p>
<h3 id="atomicity-and-self-containment">Atomicity and
self-containment</h3>
<p>Tests should be <em>atomic</em> and <em>self-contained</em> at the
same time.</p>
<p>One test should check a particular part of a class, subsystem,
functionality, etc. Then it is quite easy to determine what parts of a
product are broken basing on test failures. On the other hand, a test
should test that part more-or-less entirely, because when one sees a
test <code>FooTest::bar</code>, they assume all aspects of bar from
<code>Foo</code> are tested.</p>
<p>However, it is impossible to cover all aspects even of a method, not
to mention a subsystem. In such cases, it is recommended to have several
tests, one for each aspect of a thing under test. For example one test
to tests how <code>Foo::bar</code> works if an argument is
<code>null</code>, another test to test how it works if an argument is
acceptable but <code>Foo</code> is not in the right state to accept it
and so on. This helps not only to make tests atomic, self-contained but
also makes test name self-descriptive (discussed in more details in <a
href="#test-names">Test names</a>).</p>
<h3 id="repeatability">Repeatability</h3>
<p>Tests have to be repeatable.</p>
<p>Reproducibility is very crucial for a test. No one likes sporadic test failures, they are hard to investigate, fix and verify a fix.</p>
<p>In some cases, it is quite hard to write a 100% repeatable test, since besides a test there can be other moving parts, e.g. in case of <code>TEST_VM</code> there are several concurrently running threads. Despite this, we should try to make a test as reproducible as possible.</p>
<p>Reproducibility is very crucial for a test. No one likes sporadic
test failures, they are hard to investigate, fix and verify a fix.</p>
<p>In some cases, it is quite hard to write a 100% repeatable test,
since besides a test there can be other moving parts, e.g. in case of
<code>TEST_VM</code> there are several concurrently running threads.
Despite this, we should try to make a test as reproducible as
possible.</p>
<h3 id="informativeness">Informativeness</h3>
<p>In case of a failure, a test should be as <em>informative</em> as possible.</p>
<p>Having more information about a test failure than just compared values can be very useful for failure troubleshooting, it can reduce or even completely eliminate debugging hours. This is even more important in case of not 100% reproducible failures.</p>
<p>Achieving this property, one can easily make a test too verbose, so it will be really hard to find useful information in the ocean of useless information. Hence they should not only think about how to provide <a href="#error-messages">good information</a>, but also <a href="#uncluttered-output">when to do it</a>.</p>
<p>In case of a failure, a test should be as <em>informative</em> as
possible.</p>
<p>Having more information about a test failure than just compared
values can be very useful for failure troubleshooting, it can reduce or
even completely eliminate debugging hours. This is even more important
in case of not 100% reproducible failures.</p>
<p>Achieving this property, one can easily make a test too verbose, so
it will be really hard to find useful information in the ocean of
useless information. Hence they should not only think about how to
provide <a href="#error-messages">good information</a>, but also <a
href="#uncluttered-output">when to do it</a>.</p>
<h3 id="testing-instead-of-visiting">Testing instead of visiting</h3>
<p>Tests should <em>test</em>.</p>
<p>It is not enough just to &quot;visit&quot; some code, a test should check that code does that it has to do, compare return values with expected values, check that desired side effects are done, and undesired are not, and so on. In other words, a test should contain at least one GoogleTest assertion and do not rely on JVM asserts.</p>
<p>Generally speaking to write a good test, one should create a model of the system under tests, a model of possible bugs (or bugs which one wants to find) and design tests using those models.</p>
<p>It is not enough just to "visit" some code, a test should check that
code does that it has to do, compare return values with expected values,
check that desired side effects are done, and undesired are not, and so
on. In other words, a test should contain at least one GoogleTest
assertion and do not rely on JVM asserts.</p>
<p>Generally speaking to write a good test, one should create a model of
the system under tests, a model of possible bugs (or bugs which one
wants to find) and design tests using those models.</p>
<h3 id="nearness">Nearness</h3>
<p>Prefer having checks inside test code.</p>
<p>Not only does having test logic outside, e.g. verification method, depending on asserts in product code contradict with several items above but also decreases tests readability and stability. It is much easier to understand that a test is testing when all testing logic is located inside a test or nearby in shared test libraries. As a rule of thumb, the closer a check to a test, the better.</p>
<p>Not only does having test logic outside, e.g. verification method,
depending on asserts in product code contradict with several items above
but also decreases tests readability and stability. It is much easier
to understand that a test is testing when all testing logic is located
inside a test or nearby in shared test libraries. As a rule of thumb,
the closer a check to a test, the better.</p>
<h2 id="asserts">Asserts</h2>
<h3 id="several-checks">Several checks</h3>
<p>Prefer <code>EXPECT</code> over <code>ASSERT</code> if possible.</p>
<p>This is related to the <a href="#informativeness">informativeness</a> property of tests, information for other checks can help to better localize a defects root-cause. One should use <code>ASSERT</code> if it is impossible to continue test execution or if it does not make much sense. Later in the text, <code>EXPECT</code> forms will be used to refer to both <code>ASSERT/EXPECT</code>.</p>
<p>When it is possible to make several different checks, but impossible to continue test execution if at least one check fails, you can use <code>::testing::Test::HasNonfatalFailure()</code> function. The recommended way to express that is <code>ASSERT_FALSE(::testing::Test::HasNonfatalFailure())</code>. Besides making it clear why a test is aborted, it also allows you to provide more information about a failure.</p>
<h3 id="first-parameter-is-expected-value">First parameter is expected value</h3>
<p>In all equality assertions, expected values should be passed as the first parameter.</p>
<p>This convention is adopted by GoogleTest, and there is a slight difference in how GoogleTest treats parameters, the most important one is <code>null</code> detection. Due to different reasons, <code>null</code> detection is enabled only for the first parameter, that is to said <code>EXPECT_EQ(NULL, object)</code> checks that object is <code>null</code>, while <code>EXPECT_EQ(object, NULL)</code> checks that object equals to <code>NULL</code>, GoogleTest is very strict regarding types of compared values so the latter will generates a compile-time error.</p>
<p>This is related to the <a href="#informativeness">informativeness</a>
property of tests, information for other checks can help to better
localize a defects root-cause. One should use <code>ASSERT</code> if it
is impossible to continue test execution or if it does not make much
sense. Later in the text, <code>EXPECT</code> forms will be used to
refer to both <code>ASSERT/EXPECT</code>.</p>
<p>When it is possible to make several different checks, but impossible
to continue test execution if at least one check fails, you can use
<code>::testing::Test::HasNonfatalFailure()</code> function. The
recommended way to express that is
<code>ASSERT_FALSE(::testing::Test::HasNonfatalFailure())</code>.
Besides making it clear why a test is aborted, it also allows you to
provide more information about a failure.</p>
<h3 id="first-parameter-is-expected-value">First parameter is expected
value</h3>
<p>In all equality assertions, expected values should be passed as the
first parameter.</p>
<p>This convention is adopted by GoogleTest, and there is a slight
difference in how GoogleTest treats parameters, the most important one
is <code>null</code> detection. Due to different reasons,
<code>null</code> detection is enabled only for the first parameter,
that is to said <code>EXPECT_EQ(NULL, object)</code> checks that object
is <code>null</code>, while <code>EXPECT_EQ(object, NULL)</code> checks
that object equals to <code>NULL</code>, GoogleTest is very strict
regarding types of compared values so the latter will generates a
compile-time error.</p>
<h3 id="floating-point-comparison">Floating-point comparison</h3>
<p>Use floating-point special macros to compare <code>float/double</code> values.</p>
<p>Because of floating-point number representations and round-off errors, regular equality comparison will not return true in most cases. There are special <code>EXPECT_FLOAT_EQ/EXPECT_DOUBLE_EQ</code> assertions which check that the distance between compared values is not more than 4 ULPs, there is also <code>EXPECT_NEAR(v1, v2, eps)</code> which checks that the absolute value of the difference between <code>v1</code> and <code>v2</code> is not greater than <code>eps</code>.</p>
<p>Use floating-point special macros to compare
<code>float/double</code> values.</p>
<p>Because of floating-point number representations and round-off
errors, regular equality comparison will not return true in most cases.
There are special <code>EXPECT_FLOAT_EQ/EXPECT_DOUBLE_EQ</code>
assertions which check that the distance between compared values is not
more than 4 ULPs, there is also <code>EXPECT_NEAR(v1, v2, eps)</code>
which checks that the absolute value of the difference between
<code>v1</code> and <code>v2</code> is not greater than
<code>eps</code>.</p>
<h3 id="c-string-comparison">C string comparison</h3>
<p>Use string special macros for C strings comparisons.</p>
<p><code>EXPECT_EQ</code> just compares pointers values, which is hardly what one wants comparing C strings. GoogleTest provides <code>EXPECT_STREQ</code> and <code>EXPECT_STRNE</code> macros to compare C string contents. There are also case-insensitive versions <code>EXPECT_STRCASEEQ</code>, <code>EXPECT_STRCASENE</code>.</p>
<p><code>EXPECT_EQ</code> just compares pointers values, which is
hardly what one wants comparing C strings. GoogleTest provides
<code>EXPECT_STREQ</code> and <code>EXPECT_STRNE</code> macros to
compare C string contents. There are also case-insensitive versions
<code>EXPECT_STRCASEEQ</code>, <code>EXPECT_STRCASENE</code>.</p>
<h3 id="error-messages">Error messages</h3>
<p>Provide informative, but not too verbose error messages.</p>
<p>All GoogleTest asserts print compared expressions and their values, so there is no need to have them in error messages. Asserts print only compared values, they do not print any of interim variables, e.g. <code>ASSERT_TRUE((val1 == val2 &amp;&amp; isFail(foo(8)) || i == 18)</code> prints only one value. If you use some complex predicates, please consider <code>EXPECT_PRED*</code> or <code>EXPECT_FORMAT_PRED</code> assertions family, they check that a predicate returns true/success and print out all parameters values.</p>
<p>However in some cases, default information is not enough, a commonly used example is an assert inside a loop, GoogleTest will not print iteration values (unless it is an assert's parameter). Other demonstrative examples are printing error code and a corresponding error message; printing internal states which might have an impact on results. One should add this information to assert message using <code>&lt;&lt;</code> operator.</p>
<p>All GoogleTest asserts print compared expressions and their values,
so there is no need to have them in error messages. Asserts print only
compared values, they do not print any of interim variables, e.g.
<code>ASSERT_TRUE((val1 == val2 &amp;&amp; isFail(foo(8)) || i == 18)</code>
prints only one value. If you use some complex predicates, please
consider <code>EXPECT_PRED*</code> or <code>EXPECT_FORMAT_PRED</code>
assertions family, they check that a predicate returns true/success and
print out all parameters values.</p>
<p>However in some cases, default information is not enough, a commonly
used example is an assert inside a loop, GoogleTest will not print
iteration values (unless it is an assert's parameter). Other
demonstrative examples are printing error code and a corresponding error
message; printing internal states which might have an impact on results.
One should add this information to assert message using
<code>&lt;&lt;</code> operator.</p>
<h3 id="uncluttered-output">Uncluttered output</h3>
<p>Print information only if it is needed.</p>
<p>Too verbose tests which print all information even if they pass are very bad practice. They just pollute output, so it becomes harder to find useful information. In order not print information till it is really needed, one should consider saving it to a temporary buffer and pass to an assert. <a href="https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/shared/test_memset_with_concurrent_readers.cpp" class="uri">https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/shared/test_memset_with_concurrent_readers.cpp</a> has a good example how to do that.</p>
<p>Too verbose tests which print all information even if they pass are
very bad practice. They just pollute output, so it becomes harder to
find useful information. In order not print information till it is
really needed, one should consider saving it to a temporary buffer and
pass to an assert. <a
href="https://git.openjdk.org/jdk/blob/master/test/hotspot/gtest/gc/shared/test_memset_with_concurrent_readers.cpp"
class="uri">https://git.openjdk.org/jdk/blob/master/test/hotspot/gtest/gc/shared/test_memset_with_concurrent_readers.cpp</a>
has a good example how to do that.</p>
<h3 id="failures-propagation">Failures propagation</h3>
<p>Wrap a subroutine call into <code>EXPECT_NO_FATAL_FAILURE</code> macro to propagate failures.</p>
<p><code>ASSERT</code> and <code>FAIL</code> abort only the current function, so if you have them in a subroutine, a test will not be aborted after the subroutine even if <code>ASSERT</code> or <code>FAIL</code> fails. You should call such subroutines in <code>ASSERT_NO_FATAL_FAILURE</code> macro to propagate fatal failures and abort a test. <code>(EXPECT|ASSERT)_NO_FATAL_FAILURE</code> can also be used to provide more information.</p>
<p>Due to obvious reasons, there are no <code>(EXPECT|ASSERT)_NO_NONFATAL_FAILURE</code> macros. However, if you need to check if a subroutine generated a nonfatal failure (failed an <code>EXPECT</code>), you can use <code>::testing::Test::HasNonfatalFailure</code> function, or <code>::testing::Test::HasFailure</code> function to check if a subroutine generated any failures, see <a href="#several-checks">Several checks</a>.</p>
<p>Wrap a subroutine call into <code>EXPECT_NO_FATAL_FAILURE</code>
macro to propagate failures.</p>
<p><code>ASSERT</code> and <code>FAIL</code> abort only the current
function, so if you have them in a subroutine, a test will not be
aborted after the subroutine even if <code>ASSERT</code> or
<code>FAIL</code> fails. You should call such subroutines in
<code>ASSERT_NO_FATAL_FAILURE</code> macro to propagate fatal failures
and abort a test. <code>(EXPECT|ASSERT)_NO_FATAL_FAILURE</code> can also
be used to provide more information.</p>
<p>Due to obvious reasons, there are no
<code>(EXPECT|ASSERT)_NO_NONFATAL_FAILURE</code> macros. However, if you
need to check if a subroutine generated a nonfatal failure (failed an
<code>EXPECT</code>), you can use
<code>::testing::Test::HasNonfatalFailure</code> function, or
<code>::testing::Test::HasFailure</code> function to check if a
subroutine generated any failures, see <a href="#several-checks">Several
checks</a>.</p>
<h2 id="naming-and-grouping">Naming and Grouping</h2>
<h3 id="test-group-names">Test group names</h3>
<p>Test group names should be in CamelCase, start and end with a letter. A test group should be named after tested class, functionality, subsystem, etc.</p>
<p>This naming scheme helps to find tests, filter them and simplifies test failure analysis. For example, class <code>Foo</code> - test group <code>Foo</code>, compiler logging subsystem - test group <code>CompilerLogging</code>, G1 GC — test group <code>G1GC</code>, and so forth.</p>
<p>Test group names should be in CamelCase, start and end with a letter.
A test group should be named after tested class, functionality,
subsystem, etc.</p>
<p>This naming scheme helps to find tests, filter them and simplifies
test failure analysis. For example, class <code>Foo</code> - test group
<code>Foo</code>, compiler logging subsystem - test group
<code>CompilerLogging</code>, G1 GC — test group <code>G1GC</code>, and
so forth.</p>
<h3 id="filename">Filename</h3>
<p>A test file must have <code>test_</code> prefix and <code>.cpp</code> suffix.</p>
<p>Both are actually requirements from the current build system to recognize your tests.</p>
<p>A test file must have <code>test_</code> prefix and <code>.cpp</code>
suffix.</p>
<p>Both are actually requirements from the current build system to
recognize your tests.</p>
<h3 id="file-location">File location</h3>
<p>Test file location should reflect a location of the tested part of the product.</p>
<p>Test file location should reflect a location of the tested part of
the product.</p>
<ul>
<li><p>All unit tests for a class from <code>foo/bar/baz.cpp</code> should be placed <code>foo/bar/test_baz.cpp</code> in <code>hotspot/test/native/</code> directory. Having all tests for a class in one file is a common practice for unit tests, it helps to see all existing tests at once, share functions and/or resources without losing encapsulation.</p></li>
<li><p>For tests which test more than one class, directory hierarchy should be the same as product hierarchy, and file name should reflect the name of the tested subsystem/functionality. For example, if a sub-system under tests belongs to <code>gc/g1</code>, tests should be placed in <code>gc/g1</code> directory.</p></li>
<li><p>All unit tests for a class from <code>foo/bar/baz.cpp</code>
should be placed <code>foo/bar/test_baz.cpp</code> in
<code>hotspot/test/native/</code> directory. Having all tests for a
class in one file is a common practice for unit tests, it helps to see
all existing tests at once, share functions and/or resources without
losing encapsulation.</p></li>
<li><p>For tests which test more than one class, directory hierarchy
should be the same as product hierarchy, and file name should reflect
the name of the tested subsystem/functionality. For example, if a
sub-system under tests belongs to <code>gc/g1</code>, tests should be
placed in <code>gc/g1</code> directory.</p></li>
</ul>
<p>Please note that framework prepends directory name to a test group name. For example, if <code>TEST(foo, check_this)</code> and <code>TEST(bar, check_that)</code> are defined in <code>hotspot/test/native/gc/shared/test_foo.cpp</code> file, they will be reported as <code>gc/shared/foo::check_this</code> and <code>gc/shared/bar::check_that</code>.</p>
<p>Please note that framework prepends directory name to a test group
name. For example, if <code>TEST(foo, check_this)</code> and
<code>TEST(bar, check_that)</code> are defined in
<code>hotspot/test/native/gc/shared/test_foo.cpp</code> file, they will
be reported as <code>gc/shared/foo::check_this</code> and
<code>gc/shared/bar::check_that</code>.</p>
<h3 id="test-names">Test names</h3>
<p>Test names should be in small_snake_case, start and end with a letter. A test name should reflect that a test checks.</p>
<p>Such naming makes tests self-descriptive and helps a lot during the whole test life cycle. It is easy to do test planning, test inventory, to see what things are not tested, to review tests, to analyze test failures, to evolve a test, etc. For example <code>foo_return_0_if_name_is_null</code> is better than <code>foo_sanity</code> or <code>foo_basic</code> or just <code>foo</code>, <code>humongous_objects_can_not_be_moved_by_young_gc</code> is better than <code>ho_young_gc</code>.</p>
<p>Actually using underscore is against GoogleTest project convention, because it can lead to illegal identifiers, however, this is too strict. Restricting usage of underscore for test names only and prohibiting test name starts or ends with an underscore are enough to be safe.</p>
<p>Test names should be in small_snake_case, start and end with a
letter. A test name should reflect that a test checks.</p>
<p>Such naming makes tests self-descriptive and helps a lot during the
whole test life cycle. It is easy to do test planning, test inventory,
to see what things are not tested, to review tests, to analyze test
failures, to evolve a test, etc. For example
<code>foo_return_0_if_name_is_null</code> is better than
<code>foo_sanity</code> or <code>foo_basic</code> or just
<code>foo</code>,
<code>humongous_objects_can_not_be_moved_by_young_gc</code> is better
than <code>ho_young_gc</code>.</p>
<p>Actually using underscore is against GoogleTest project convention,
because it can lead to illegal identifiers, however, this is too strict.
Restricting usage of underscore for test names only and prohibiting test
name starts or ends with an underscore are enough to be safe.</p>
<h3 id="fixture-classes">Fixture classes</h3>
<p>Fixture classes should be named after tested classes, subsystems, etc (follow <a href="#test-group-names">Test group names rule</a>) and have <code>Test</code> suffix to prevent class name conflicts.</p>
<p>Fixture classes should be named after tested classes, subsystems, etc
(follow <a href="#test-group-names">Test group names rule</a>) and have
<code>Test</code> suffix to prevent class name conflicts.</p>
<h3 id="friend-classes">Friend classes</h3>
<p>All test purpose friends should have either <code>Test</code> or <code>Testable</code> suffix.</p>
<p>It greatly simplifies understanding of friendships purpose and allows statically check that private members are not exposed unexpectedly. Having <code>FooTest</code> as a friend of <code>Foo</code> without any comments will be understood as a necessary evil to get testability.</p>
<p>All test purpose friends should have either <code>Test</code> or
<code>Testable</code> suffix.</p>
<p>It greatly simplifies understanding of friendships purpose and
allows statically check that private members are not exposed
unexpectedly. Having <code>FooTest</code> as a friend of
<code>Foo</code> without any comments will be understood as a necessary
evil to get testability.</p>
<h3 id="oscpu-specific-tests">OS/CPU specific tests</h3>
<p>Guard OS/CPU specific tests by <code>#ifdef</code> and have OS/CPU name in filename.</p>
<p>For the time being, we do not support separate directories for OS, CPU, OS-CPU specific tests, in case we will have lots of such tests, we will change directory layout and build system to support that in the same way it is done in hotspot.</p>
<p>Guard OS/CPU specific tests by <code>#ifdef</code> and have OS/CPU
name in filename.</p>
<p>For the time being, we do not support separate directories for OS,
CPU, OS-CPU specific tests, in case we will have lots of such tests, we
will change directory layout and build system to support that in the
same way it is done in hotspot.</p>
<h2 id="miscellaneous">Miscellaneous</h2>
<h3 id="hotspot-style">Hotspot style</h3>
<p>Abide the norms and rules accepted in Hotspot style guide.</p>
<p>Tests are a part of Hotspot, so everything (if applicable) we use for Hotspot, should be used for tests as well. Those guidelines cover test-specific things.</p>
<p>Tests are a part of Hotspot, so everything (if applicable) we use for
Hotspot, should be used for tests as well. Those guidelines cover
test-specific things.</p>
<h3 id="codetest-metrics">Code/test metrics</h3>
<p>Coverage information and other code/test metrics are quite useful to decide what tests should be written, what tests should be improved and what can be removed.</p>
<p>For unit tests, widely used and well-known coverage metric is branch coverage, which provides good quality of tests with relatively easy test development process. For other levels of testing, branch coverage is not as good, and one should consider others metrics, e.g. transaction flow coverage, data flow coverage.</p>
<p>Coverage information and other code/test metrics are quite useful to
decide what tests should be written, what tests should be improved and
what can be removed.</p>
<p>For unit tests, widely used and well-known coverage metric is branch
coverage, which provides good quality of tests with relatively easy test
development process. For other levels of testing, branch coverage is not
as good, and one should consider others metrics, e.g. transaction flow
coverage, data flow coverage.</p>
<h3 id="access-to-non-public-members">Access to non-public members</h3>
<p>Use explicit friend class to get access to non-public members.</p>
<p>We do not use GoogleTest macro to declare friendship relation, because, from our point of view, it is less clear than an explicit declaration.</p>
<p>Declaring a test fixture class as a friend class of a tested test is the easiest and the clearest way to get access. However, it has some disadvantages, here is some of them:</p>
<p>We do not use GoogleTest macro to declare friendship relation,
because, from our point of view, it is less clear than an explicit
declaration.</p>
<p>Declaring a test fixture class as a friend class of a tested test is
the easiest and the clearest way to get access. However, it has some
disadvantages, here is some of them:</p>
<ul>
<li>Each test has to be declared as a friend</li>
<li>Subclasses do not inheritance friendship relation</li>
</ul>
<p>In other words, it is harder to share code between tests. Hence if you want to share code or expect it to be useful in other tests, you should consider making members in a tested class protected and introduce a shared test-only class which expose those members via public functions, or even making members publicly accessible right away in a product class. If it is not an option to change members visibility, one can create a friend class which exposes members.</p>
<p>In other words, it is harder to share code between tests. Hence if
you want to share code or expect it to be useful in other tests, you
should consider making members in a tested class protected and introduce
a shared test-only class which expose those members via public
functions, or even making members publicly accessible right away in a
product class. If it is not an option to change members visibility, one
can create a friend class which exposes members.</p>
<h3 id="death-tests">Death tests</h3>
<p>You can not use death tests inside <code>TEST_OTHER_VM</code> and <code>TEST_VM_ASSERT*</code>.</p>
<p>We tried to make Hotspot-GoogleTest integration as transparent as possible, however, due to the current implementation of <code>TEST_OTHER_VM</code> and <code>TEST_VM_ASSERT*</code> tests, you cannot use death test functionality in them. These tests are implemented as GoogleTest death tests, and GoogleTest does not allow to have a death test inside another death test.</p>
<p>You can not use death tests inside <code>TEST_OTHER_VM</code> and
<code>TEST_VM_ASSERT*</code>.</p>
<p>We tried to make Hotspot-GoogleTest integration as transparent as
possible, however, due to the current implementation of
<code>TEST_OTHER_VM</code> and <code>TEST_VM_ASSERT*</code> tests, you
cannot use death test functionality in them. These tests are implemented
as GoogleTest death tests, and GoogleTest does not allow to have a death
test inside another death test.</p>
<h3 id="external-flags">External flags</h3>
<p>Passing external flags to a tested JVM is not supported.</p>
<p>The rationality of such design decision is to simplify both tests and a test framework and to avoid failures related to incompatible flags combination till there is a good solution for that. However there are cases when one wants to test a JVM with specific flags combination, <code>_JAVA_OPTIONS</code> environment variable can be used to do that. Flags from <code>_JAVA_OPTIONS</code> will be used in <code>TEST_VM</code>, <code>TEST_OTHER_VM</code> and <code>TEST_VM_ASSERT*</code> tests.</p>
<p>The rationality of such design decision is to simplify both tests and
a test framework and to avoid failures related to incompatible flags
combination till there is a good solution for that. However there are
cases when one wants to test a JVM with specific flags combination,
<code>_JAVA_OPTIONS</code> environment variable can be used to do that.
Flags from <code>_JAVA_OPTIONS</code> will be used in
<code>TEST_VM</code>, <code>TEST_OTHER_VM</code> and
<code>TEST_VM_ASSERT*</code> tests.</p>
<h3 id="test-specific-flags">Test-specific flags</h3>
<p>Passing flags to a tested JVM in <code>TEST_OTHER_VM</code> and <code>TEST_VM_ASSERT*</code> should be possible, but is not implemented yet.</p>
<p>Facility to pass test-specific flags is needed for system, regression or other types of tests which require a fully initialized JVM in some particular configuration, e.g. with Serial GC selected. There is no support for such tests now, however, there is a plan to add that in upcoming releases.</p>
<p>For now, if a test depends on flags values, it should have <code>if (!&lt;flag&gt;) { return }</code> guards in the very beginning and <code>@requires</code> comment similar to jtreg <code>@requires</code> directive right before test macros. <a href="https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/g1/test_g1IHOPControl.cpp" class="uri">https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/g1/test_g1IHOPControl.cpp</a> ha an example of this temporary workaround. It is important to follow that pattern as it allows us to easily find all such tests and update them as soon as there is an implementation of flag passing facility.</p>
<p>In long-term, we expect jtreg to support GoogleTest tests as first class citizens, that is to say, jtreg will parse <span class="citation" data-cites="requires">@requires</span> comments and filter out inapplicable tests.</p>
<p>Passing flags to a tested JVM in <code>TEST_OTHER_VM</code> and
<code>TEST_VM_ASSERT*</code> should be possible, but is not implemented
yet.</p>
<p>Facility to pass test-specific flags is needed for system, regression
or other types of tests which require a fully initialized JVM in some
particular configuration, e.g. with Serial GC selected. There is no
support for such tests now, however, there is a plan to add that in
upcoming releases.</p>
<p>For now, if a test depends on flags values, it should have
<code>if (!&lt;flag&gt;) { return }</code> guards in the very beginning
and <code>@requires</code> comment similar to jtreg
<code>@requires</code> directive right before test macros. <a
href="https://git.openjdk.org/jdk/blob/master/test/hotspot/gtest/gc/g1/test_g1IHOPControl.cpp"
class="uri">https://git.openjdk.org/jdk/blob/master/test/hotspot/gtest/gc/g1/test_g1IHOPControl.cpp</a>
ha an example of this temporary workaround. It is important to follow
that pattern as it allows us to easily find all such tests and update
them as soon as there is an implementation of flag passing facility.</p>
<p>In long-term, we expect jtreg to support GoogleTest tests as first
class citizens, that is to say, jtreg will parse <span class="citation"
data-cites="requires">@requires</span> comments and filter out
inapplicable tests.</p>
<h3 id="flag-restoring">Flag restoring</h3>
<p>Restore changed flags.</p>
<p>It is quite common for tests to configure JVM in a certain way changing flags values. GoogleTest provides two ways to set up environment before a test and restore it afterward: using either constructor and destructor or <code>SetUp</code> and <code>TearDown</code> functions. Both ways require to use a test fixture class, which sometimes is too wordy. The simpler facilities like <code>FLAG_GUARD</code> macro or <code>*FlagSetting</code> classes could be used in such cases to restore/set values.</p>
<p>It is quite common for tests to configure JVM in a certain way
changing flags values. GoogleTest provides two ways to set up
environment before a test and restore it afterward: using either
constructor and destructor or <code>SetUp</code> and
<code>TearDown</code> functions. Both ways require to use a test fixture
class, which sometimes is too wordy. The simpler facilities like
<code>FLAG_GUARD</code> macro or <code>*FlagSetting</code> classes could
be used in such cases to restore/set values.</p>
<p>Caveats:</p>
<ul>
<li><p>Changing a flags value could break the invariants between flags' values and hence could lead to unexpected/unsupported JVM state.</p></li>
<li><p><code>FLAG_SET_*</code> macros can change more than one flag (in order to maintain invariants) so it is hard to predict what flags will be changed and it makes restoring all changed flags a nontrivial task. Thus in case one uses <code>FLAG_SET_*</code> macros, they should use <code>TEST_OTHER_VM</code> test type.</p></li>
<li><p>Changing a flags value could break the invariants between flags'
values and hence could lead to unexpected/unsupported JVM
state.</p></li>
<li><p><code>FLAG_SET_*</code> macros can change more than one flag (in
order to maintain invariants) so it is hard to predict what flags will
be changed and it makes restoring all changed flags a nontrivial task.
Thus in case one uses <code>FLAG_SET_*</code> macros, they should use
<code>TEST_OTHER_VM</code> test type.</p></li>
</ul>
<h3 id="googletest-documentation">GoogleTest documentation</h3>
<p>In case you have any questions regarding GoogleTest itself, its asserts, test declaration macros, other macros, etc, please consult its documentation.</p>
<p>In case you have any questions regarding GoogleTest itself, its
asserts, test declaration macros, other macros, etc, please consult its
documentation.</p>
<h2 id="todo">TODO</h2>
<p>Although this document provides guidelines on the most important parts of test development using GTest, it still misses a few items:</p>
<p>Although this document provides guidelines on the most important
parts of test development using GTest, it still misses a few items:</p>
<ul>
<li><p>Examples, esp for <a href="#access-to-non-public-members">access to non-public members</a></p></li>
<li>test types: purpose, drawbacks, limitation
<li><p>Examples, esp for <a href="#access-to-non-public-members">access
to non-public members</a></p></li>
<li><p>test types: purpose, drawbacks, limitation</p>
<ul>
<li><code>TEST_VM</code></li>
<li><code>TEST_VM_F</code></li>
@@ -195,7 +471,7 @@
<li><code>TEST_VM_ASSERT</code></li>
<li><code>TEST_VM_ASSERT_MSG</code></li>
</ul></li>
<li>Miscellaneous
<li><p>Miscellaneous</p>
<ul>
<li>Test libraries
<ul>
@@ -208,7 +484,8 @@
<li>how to run tests in random order</li>
<li>how to run only specific tests</li>
<li>how to run each test separately</li>
<li>check that a test can find bugs it is supposed to by introducing them</li>
<li>check that a test can find bugs it is supposed to by introducing
them</li>
</ul></li>
<li>mocks/stubs/dependency injection</li>
<li>setUp/tearDown

View File

@@ -100,7 +100,7 @@ Generally speaking to write a good test, one should create a model of
the system under tests, a model of possible bugs (or bugs which one
wants to find) and design tests using those models.
### Nearness
### Nearness
Prefer having checks inside test code.
@@ -156,7 +156,7 @@ that the distance between compared values is not more than 4 ULPs,
there is also `EXPECT_NEAR(v1, v2, eps)` which checks that the absolute
value of the difference between `v1` and `v2` is not greater than `eps`.
### C string comparison
### C string comparison
Use string special macros for C strings comparisons.
@@ -194,7 +194,7 @@ very bad practice. They just pollute output, so it becomes harder to
find useful information. In order not print information till it is
really needed, one should consider saving it to a temporary buffer and
pass to an assert.
<https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/shared/test_memset_with_concurrent_readers.cpp>
<https://git.openjdk.org/jdk/blob/master/test/hotspot/gtest/gc/shared/test_memset_with_concurrent_readers.cpp>
has a good example how to do that.
### Failures propagation
@@ -229,7 +229,7 @@ test failure analysis. For example, class `Foo` - test group `Foo`,
compiler logging subsystem - test group `CompilerLogging`, G1 GC — test
group `G1GC`, and so forth.
### Filename
### Filename
A test file must have `test_` prefix and `.cpp` suffix.
@@ -283,7 +283,7 @@ Fixture classes should be named after tested classes, subsystems, etc
(follow [Test group names rule](#test-group-names)) and have
`Test` suffix to prevent class name conflicts.
### Friend classes
### Friend classes
All test purpose friends should have either `Test` or `Testable` suffix.
@@ -303,7 +303,7 @@ the same way it is done in hotspot.
## Miscellaneous
### Hotspot style
### Hotspot style
Abide the norms and rules accepted in Hotspot style guide.
@@ -383,7 +383,7 @@ upcoming releases.
For now, if a test depends on flags values, it should have `if
(!<flag>) { return }` guards in the very beginning and `@requires`
comment similar to jtreg `@requires` directive right before test macros.
<https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/g1/test_g1IHOPControl.cpp>
<https://git.openjdk.org/jdk/blob/master/test/hotspot/gtest/gc/g1/test_g1IHOPControl.cpp>
ha an example of this temporary workaround. It is important to follow
that pattern as it allows us to easily find all such tests and update
them as soon as there is an implementation of flag passing facility.
@@ -392,7 +392,7 @@ In long-term, we expect jtreg to support GoogleTest tests as first
class citizens, that is to say, jtreg will parse @requires comments
and filter out inapplicable tests.
### Flag restoring
### Flag restoring
Restore changed flags.
@@ -404,7 +404,7 @@ require to use a test fixture class, which sometimes is too wordy. The
simpler facilities like `FLAG_GUARD` macro or `*FlagSetting` classes could
be used in such cases to restore/set values.
Caveats:
Caveats:
* Changing a flags value could break the invariants between flags' values and hence could lead to unexpected/unsupported JVM state.

View File

@@ -5,11 +5,19 @@
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>IDE support in the JDK</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
ul.task-list li input[type="checkbox"] {
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css" />
<!--[if lt IE 9]>
@@ -20,41 +28,82 @@
<header id="title-block-header">
<h1 class="title">IDE support in the JDK</h1>
</header>
<nav id="TOC">
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#introduction">Introduction</a><ul>
<li><a href="#ide-support-for-native-code">IDE support for native code</a></li>
<li><a href="#ide-support-for-java-code">IDE support for Java code</a></li>
<li><a href="#introduction" id="toc-introduction">Introduction</a>
<ul>
<li><a href="#ide-support-for-native-code"
id="toc-ide-support-for-native-code">IDE support for native
code</a></li>
<li><a href="#ide-support-for-java-code"
id="toc-ide-support-for-java-code">IDE support for Java code</a></li>
</ul></li>
</ul>
</nav>
<h2 id="introduction">Introduction</h2>
<p>When you are familiar with building and testing the JDK, you may want to configure an IDE to work with the source code. The instructions differ a bit depending on whether you are interested in working with the native (C/C++) or the Java code.</p>
<p>When you are familiar with building and testing the JDK, you may want
to configure an IDE to work with the source code. The instructions
differ a bit depending on whether you are interested in working with the
native (C/C++) or the Java code.</p>
<h3 id="ide-support-for-native-code">IDE support for native code</h3>
<p>There are a few ways to generate IDE configuration for the native sources, depending on which IDE to use.</p>
<p>There are a few ways to generate IDE configuration for the native
sources, depending on which IDE to use.</p>
<h4 id="visual-studio-code">Visual Studio Code</h4>
<p>The make system can generate a <a href="https://code.visualstudio.com">Visual Studio Code</a> workspace that has C/C++ source indexing configured correctly, as well as launcher targets for tests and the Java launcher. After configuring, a workspace for the configuration can be generated using:</p>
<p>The make system can generate a <a
href="https://code.visualstudio.com">Visual Studio Code</a> workspace
that has C/C++ source indexing configured correctly, as well as launcher
targets for tests and the Java launcher. After configuring, a workspace
for the configuration can be generated using:</p>
<pre class="shell"><code>make vscode-project</code></pre>
<p>This creates a file called <code>jdk.code-workspace</code> in the build output folder. The full location will be printed after the workspace has been generated. To use it, choose <code>File -&gt; Open Workspace...</code> in Visual Studio Code.</p>
<p>This creates a file called <code>jdk.code-workspace</code> in the
build output folder. The full location will be printed after the
workspace has been generated. To use it, choose
<code>File -&gt; Open Workspace...</code> in Visual Studio Code.</p>
<h5 id="alternative-indexers">Alternative indexers</h5>
<p>The main <code>vscode-project</code> target configures the default C++ support in Visual Studio Code. There are also other source indexers that can be installed, that may provide additional features. It's currently possible to generate configuration for two such indexers, <a href="https://clang.llvm.org/extra/clangd/">clangd</a> and <a href="https://github.com/Andersbakken/rtags">rtags</a>. These can be configured by appending the name of the indexer to the make target, such as:</p>
<p>The main <code>vscode-project</code> target configures the default
C++ support in Visual Studio Code. There are also other source indexers
that can be installed, that may provide additional features. It's
currently possible to generate configuration for two such indexers, <a
href="https://clang.llvm.org/extra/clangd/">clangd</a> and <a
href="https://github.com/Andersbakken/rtags">rtags</a>. These can be
configured by appending the name of the indexer to the make target, such
as:</p>
<pre class="shell"><code>make vscode-project-clangd</code></pre>
<p>Additional instructions for configuring the given indexer will be displayed after the workspace has been generated.</p>
<p>Additional instructions for configuring the given indexer will be
displayed after the workspace has been generated.</p>
<h4 id="visual-studio">Visual Studio</h4>
<p>The make system can generate a Visual Studio project for the Hotspot native source. After configuring, the project is generated using:</p>
<p>The make system can generate a Visual Studio project for the Hotspot
native source. After configuring, the project is generated using:</p>
<pre class="shell"><code>make hotspot-ide-project</code></pre>
<p>This creates a file named <code>jvm.vcxproj</code> in <code>ide\hotspot-visualstudio</code> subfolder of the build output folder. The file can be opened in Visual Studio via <code>File -&gt; Open -&gt; Project/Solution</code>.</p>
<p>This creates a file named <code>jvm.vcxproj</code> in
<code>ide\hotspot-visualstudio</code> subfolder of the build output
folder. The file can be opened in Visual Studio via
<code>File -&gt; Open -&gt; Project/Solution</code>.</p>
<h4 id="compilation-database">Compilation Database</h4>
<p>The make system can generate generic native code indexing support in the form of a <a href="https://clang.llvm.org/docs/JSONCompilationDatabase.html">Compilation Database</a> that can be used by many different IDEs and source code indexers.</p>
<p>The make system can generate generic native code indexing support in
the form of a <a
href="https://clang.llvm.org/docs/JSONCompilationDatabase.html">Compilation
Database</a> that can be used by many different IDEs and source code
indexers.</p>
<pre class="shell"><code>make compile-commands</code></pre>
<p>It's also possible to generate the Compilation Database for the HotSpot source code only, which is a bit faster as it includes less information.</p>
<p>It's also possible to generate the Compilation Database for the
HotSpot source code only, which is a bit faster as it includes less
information.</p>
<pre class="shell"><code>make compile-commands-hotspot</code></pre>
<h3 id="ide-support-for-java-code">IDE support for Java code</h3>
<h4 id="intellij-idea">IntelliJ IDEA</h4>
<p>The JDK project has a script that can be used for indexing the project with IntelliJ. After configuring and building the JDK, an IntelliJ workspace can be generated by running the following command in the top-level folder of the cloned repository:</p>
<p>The JDK project has a script that can be used for indexing the
project with IntelliJ. After configuring and building the JDK, an
IntelliJ workspace can be generated by running the following command in
the top-level folder of the cloned repository:</p>
<pre class="shell"><code>bash bin/idea.sh</code></pre>
<p>To use it, choose <code>File -&gt; Open...</code> in IntelliJ and select the folder where you ran the above script.</p>
<p>Next, configure the project SDK in IntelliJ. Open <code>File -&gt; Project Structure -&gt; Project</code> and select <code>build/&lt;config&gt;/images/jdk</code> as the SDK to use.</p>
<p>In order to run the tests from the IDE, you can use the JTReg plugin. Instructions for building and using the plugin can be found <a href="https://github.com/openjdk/jtreg/tree/master/plugins/idea">here</a>.</p>
<p>To use it, choose <code>File -&gt; Open...</code> in IntelliJ and
select the folder where you ran the above script.</p>
<p>Next, configure the project SDK in IntelliJ. Open
<code>File -&gt; Project Structure -&gt; Project</code> and select
<code>build/&lt;config&gt;/images/jdk</code> as the SDK to use.</p>
<p>In order to run the tests from the IDE, you can use the JTReg plugin.
Instructions for building and using the plugin can be found <a
href="https://github.com/openjdk/jtreg/tree/master/plugins/idea">here</a>.</p>
</body>
</html>

View File

@@ -5,53 +5,99 @@
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Testing the JDK</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
ul.task-list li input[type="checkbox"] {
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css" />
<style type="text/css">pre, code, tt { color: #1d6ae5; }</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
<style type="text/css">pre, code, tt { color: #1d6ae5; }</style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">Testing the JDK</h1>
</header>
<nav id="TOC">
<nav id="TOC" role="doc-toc">
<ul>
<li><a href="#using-make-test-the-run-test-framework">Using &quot;make test&quot; (the run-test framework)</a><ul>
<li><a href="#configuration">Configuration</a></li>
<li><a href="#overview" id="toc-overview">Overview</a></li>
<li><a href="#running-tests-locally-with-make-test"
id="toc-running-tests-locally-with-make-test">Running tests locally with
<code>make test</code></a>
<ul>
<li><a href="#configuration"
id="toc-configuration">Configuration</a></li>
</ul></li>
<li><a href="#test-selection">Test selection</a><ul>
<li><a href="#common-test-groups">Common Test Groups</a></li>
<li><a href="#jtreg">JTReg</a></li>
<li><a href="#gtest">Gtest</a></li>
<li><a href="#microbenchmarks">Microbenchmarks</a></li>
<li><a href="#special-tests">Special tests</a></li>
<li><a href="#test-selection" id="toc-test-selection">Test selection</a>
<ul>
<li><a href="#common-test-groups" id="toc-common-test-groups">Common
Test Groups</a></li>
<li><a href="#jtreg" id="toc-jtreg">JTReg</a></li>
<li><a href="#gtest" id="toc-gtest">Gtest</a></li>
<li><a href="#microbenchmarks"
id="toc-microbenchmarks">Microbenchmarks</a></li>
<li><a href="#special-tests" id="toc-special-tests">Special
tests</a></li>
</ul></li>
<li><a href="#test-results-and-summary">Test results and summary</a></li>
<li><a href="#test-suite-control">Test suite control</a><ul>
<li><a href="#general-keywords-test_opts">General keywords (TEST_OPTS)</a></li>
<li><a href="#jtreg-keywords">JTReg keywords</a></li>
<li><a href="#gtest-keywords">Gtest keywords</a></li>
<li><a href="#microbenchmark-keywords">Microbenchmark keywords</a></li>
<li><a href="#test-results-and-summary"
id="toc-test-results-and-summary">Test results and summary</a></li>
<li><a href="#test-suite-control" id="toc-test-suite-control">Test suite
control</a>
<ul>
<li><a href="#general-keywords-test_opts"
id="toc-general-keywords-test_opts">General keywords
(TEST_OPTS)</a></li>
<li><a href="#jtreg-keywords" id="toc-jtreg-keywords">JTReg
keywords</a></li>
<li><a href="#gtest-keywords" id="toc-gtest-keywords">Gtest
keywords</a></li>
<li><a href="#microbenchmark-keywords"
id="toc-microbenchmark-keywords">Microbenchmark keywords</a></li>
</ul></li>
<li><a href="#notes-for-specific-tests">Notes for Specific Tests</a><ul>
<li><a href="#docker-tests">Docker Tests</a></li>
<li><a href="#non-us-locale">Non-US locale</a></li>
<li><a href="#pkcs11-tests">PKCS11 Tests</a></li>
<li><a href="#client-ui-tests">Client UI Tests</a></li>
<li><a href="#notes-for-specific-tests"
id="toc-notes-for-specific-tests">Notes for Specific Tests</a>
<ul>
<li><a href="#docker-tests" id="toc-docker-tests">Docker Tests</a></li>
<li><a href="#non-us-locale" id="toc-non-us-locale">Non-US
locale</a></li>
<li><a href="#pkcs11-tests" id="toc-pkcs11-tests">PKCS11 Tests</a></li>
<li><a href="#client-ui-tests" id="toc-client-ui-tests">Client UI
Tests</a></li>
</ul></li>
<li><a href="#editing-this-document"
id="toc-editing-this-document">Editing this document</a></li>
</ul>
</nav>
<h2 id="using-make-test-the-run-test-framework">Using &quot;make test&quot; (the run-test framework)</h2>
<p>This new way of running tests is developer-centric. It assumes that you have built a JDK locally and want to test it. Running common test targets is simple, and more complex ad-hoc combination of tests is possible. The user interface is forgiving, and clearly report errors it cannot resolve.</p>
<p>The main target <code>test</code> uses the jdk-image as the tested product. There is also an alternate target <code>exploded-test</code> that uses the exploded image instead. Not all tests will run successfully on the exploded image, but using this target can greatly improve rebuild times for certain workflows.</p>
<p>Previously, <code>make test</code> was used to invoke an old system for running tests, and <code>make run-test</code> was used for the new test framework. For backward compatibility with scripts and muscle memory, <code>run-test</code> (and variants like <code>exploded-run-test</code> or <code>run-test-tier1</code>) are kept as aliases.</p>
<h2 id="overview">Overview</h2>
<p>The bulk of JDK tests use <a
href="https://openjdk.org/jtreg/">jtreg</a>, a regression test framework
and test runner built for the JDK's specific needs. Other test
frameworks are also used. The different test frameworks can be executed
directly, but there is also a set of make targets intended to simplify
the interface, and figure out how to run your tests for you.</p>
<h2 id="running-tests-locally-with-make-test">Running tests locally with
<code>make test</code></h2>
<p>This is the easiest way to get started. Assuming you've built the JDK
locally, execute:</p>
<pre><code>$ make test</code></pre>
<p>This will run a default set of tests against the JDK, and present you
with the results. <code>make test</code> is part of a family of
test-related make targets which simplify running tests, because they
invoke the various test frameworks for you. The "make test framework" is
simple to start with, but more complex ad-hoc combination of tests is
also possible. You can always invoke the test frameworks directly if you
want even more control.</p>
<p>Some example command-lines:</p>
<pre><code>$ make test-tier1
$ make test-jdk_lang JTREG=&quot;JOBS=8&quot;
@@ -61,48 +107,214 @@ $ make test TEST=&quot;hotspot:hotspot_gc&quot; JTREG=&quot;JOBS=1;TIMEOUT_FACTO
$ make test TEST=&quot;jtreg:test/hotspot:hotspot_gc test/hotspot/jtreg/native_sanity/JniVersion.java&quot;
$ make test TEST=&quot;micro:java.lang.reflect&quot; MICRO=&quot;FORK=1;WARMUP_ITER=2&quot;
$ make exploded-test TEST=tier2</code></pre>
<p>"tier1" and "tier2" refer to tiered testing, see further down. "TEST"
is a test selection argument which the make test framework will use to
try to find the tests you want. It iterates over the available test
frameworks, and if the test isn't present in one, it tries the next one.
The main target <code>test</code> uses the jdk-image as the tested
product. There is also an alternate target <code>exploded-test</code>
that uses the exploded image instead. Not all tests will run
successfully on the exploded image, but using this target can greatly
improve rebuild times for certain workflows.</p>
<p>Previously, <code>make test</code> was used to invoke an old system
for running tests, and <code>make run-test</code> was used for the new
test framework. For backward compatibility with scripts and muscle
memory, <code>run-test</code> and variants like
<code>exploded-run-test</code> or <code>run-test-tier1</code> are kept
as aliases.</p>
<h3 id="configuration">Configuration</h3>
<p>To be able to run JTReg tests, <code>configure</code> needs to know where to find the JTReg test framework. If it is not picked up automatically by configure, use the <code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc. (An alternative is to set the <code>JT_HOME</code> environment variable to point to the JTReg home before running <code>configure</code>.)</p>
<p>To be able to run microbenchmarks, <code>configure</code> needs to know where to find the JMH dependency. Use <code>--with-jmh=&lt;path to JMH jars&gt;</code> to point to a directory containing the core JMH and transitive dependencies. The recommended dependencies can be retrieved by running <code>sh make/devkit/createJMHBundle.sh</code>, after which <code>--with-jmh=build/jmh/jars</code> should work.</p>
<p>To be able to run JTReg tests, <code>configure</code> needs to know
where to find the JTReg test framework. If it is not picked up
automatically by configure, use the
<code>--with-jtreg=&lt;path to jtreg home&gt;</code> option to point to
the JTReg framework. Note that this option should point to the JTReg
home, i.e. the top directory, containing <code>lib/jtreg.jar</code> etc.
(An alternative is to set the <code>JT_HOME</code> environment variable
to point to the JTReg home before running <code>configure</code>.)</p>
<p>To be able to run microbenchmarks, <code>configure</code> needs to
know where to find the JMH dependency. Use
<code>--with-jmh=&lt;path to JMH jars&gt;</code> to point to a directory
containing the core JMH and transitive dependencies. The recommended
dependencies can be retrieved by running
<code>sh make/devkit/createJMHBundle.sh</code>, after which
<code>--with-jmh=build/jmh/jars</code> should work.</p>
<p>When tests fail or timeout, jtreg runs its failure handler to capture
necessary data from the system where the test was run. This data can
then be used to analyze the test failures. Collecting this data involves
running various commands (which are listed in files residing in
<code>test/failure_handler/src/share/conf</code>) and some of these
commands use <code>sudo</code>. If the system's <code>sudoers</code>
file isn't configured to allow running these commands, then it can
result in password being prompted during the failure handler execution.
Typically, when running locally, collecting this additional data isn't
always necessary. To disable running the failure handler, use
<code>--enable-jtreg-failure-handler=no</code> when running
<code>configure</code>. If, however, you want to let the failure handler
to run and don't want to be prompted for sudo password, then you can
configure your <code>sudoers</code> file appropriately. Please read the
necessary documentation of your operating system to see how to do that;
here we only show one possible way of doing that - edit the
<code>/etc/sudoers.d/sudoers</code> file to include the following
line:</p>
<pre><code>johndoe ALL=(ALL) NOPASSWD: /sbin/dmesg</code></pre>
<p>This line configures <code>sudo</code> to <em>not</em> prompt for
password for the <code>/sbin/dmesg</code> command (this is one of the
commands that is listed in the files at
<code>test/failure_handler/src/share/conf</code>), for the user
<code>johndoe</code>. Here <code>johndoe</code> is the user account
under which the jtreg tests are run. Replace the username with a
relevant user account of your system.</p>
<h2 id="test-selection">Test selection</h2>
<p>All functionality is available using the <code>test</code> make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, <code>test-only</code> can be used instead, which do not depend on the source and test image build.</p>
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make test-tier1</code> is equivalent to <code>make test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>test TEST=&quot;x&quot;</code> solution needs to be used.</p>
<p>The test specifications given in <code>TEST</code> is parsed into fully qualified test descriptors, which clearly and unambigously show which tests will be run. As an example, <code>:tier1</code> will expand to <code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>. You can always submit a list of fully qualified test descriptors in the <code>TEST</code> variable if you want to shortcut the parser.</p>
<p>All functionality is available using the <code>test</code> make
target. In this use case, the test or tests to be executed is controlled
using the <code>TEST</code> variable. To speed up subsequent test runs
with no source code changes, <code>test-only</code> can be used instead,
which do not depend on the source and test image build.</p>
<p>For some common top-level tests, direct make targets have been
generated. This includes all JTReg test groups, the hotspot gtest, and
custom tests (if present). This means that <code>make test-tier1</code>
is equivalent to <code>make test TEST="tier1"</code>, but the latter is
more tab-completion friendly. For more complex test runs, the
<code>test TEST="x"</code> solution needs to be used.</p>
<p>The test specifications given in <code>TEST</code> is parsed into
fully qualified test descriptors, which clearly and unambigously show
which tests will be run. As an example, <code>:tier1</code> will expand
to
<code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>.
You can always submit a list of fully qualified test descriptors in the
<code>TEST</code> variable if you want to shortcut the parser.</p>
<h3 id="common-test-groups">Common Test Groups</h3>
<p>Ideally, all tests are run for every change but this may not be practical due to the limited testing resources, the scope of the change, etc.</p>
<p>The source tree currently defines a few common test groups in the relevant <code>TEST.groups</code> files. There are test groups that cover a specific component, for example <code>hotspot_gc</code>. It is a good idea to look into <code>TEST.groups</code> files to get a sense what tests are relevant to a particular JDK component.</p>
<p>Component-specific tests may miss some unintended consequences of a change, so other tests should also be run. Again, it might be impractical to run all tests, and therefore <em>tiered</em> test groups exist. Tiered test groups are not component-specific, but rather cover the significant parts of the entire JDK.</p>
<p>Multiple tiers allow balancing test coverage and testing costs. Lower test tiers are supposed to contain the simpler, quicker and more stable tests. Higher tiers are supposed to contain progressively more thorough, slower, and sometimes less stable tests, or the tests that require special configuration.</p>
<p>Contributors are expected to run the tests for the areas that are changed, and the first N tiers they can afford to run, but at least tier1.</p>
<p>Ideally, all tests are run for every change but this may not be
practical due to the limited testing resources, the scope of the change,
etc.</p>
<p>The source tree currently defines a few common test groups in the
relevant <code>TEST.groups</code> files. There are test groups that
cover a specific component, for example <code>hotspot_gc</code>. It is a
good idea to look into <code>TEST.groups</code> files to get a sense
what tests are relevant to a particular JDK component.</p>
<p>Component-specific tests may miss some unintended consequences of a
change, so other tests should also be run. Again, it might be
impractical to run all tests, and therefore <em>tiered</em> test groups
exist. Tiered test groups are not component-specific, but rather cover
the significant parts of the entire JDK.</p>
<p>Multiple tiers allow balancing test coverage and testing costs. Lower
test tiers are supposed to contain the simpler, quicker and more stable
tests. Higher tiers are supposed to contain progressively more thorough,
slower, and sometimes less stable tests, or the tests that require
special configuration.</p>
<p>Contributors are expected to run the tests for the areas that are
changed, and the first N tiers they can afford to run, but at least
tier1.</p>
<p>A brief description of the tiered test groups:</p>
<ul>
<li><p><code>tier1</code>: This is the lowest test tier. Multiple developers run these tests every day. Because of the widespread use, the tests in <code>tier1</code> are carefully selected and optimized to run fast, and to run in the most stable manner. The test failures in <code>tier1</code> are usually followed up on quickly, either with fixes, or adding relevant tests to problem list. GitHub Actions workflows, if enabled, run <code>tier1</code> tests.</p></li>
<li><p><code>tier2</code>: This test group covers even more ground. These contain, among other things, tests that either run for too long to be at <code>tier1</code>, or may require special configuration, or tests that are less stable, or cover the broader range of non-core JVM and JDK features/components (for example, XML).</p></li>
<li><p><code>tier3</code>: This test group includes more stressful tests, the tests for corner cases not covered by previous tiers, plus the tests that require GUIs. As such, this suite should either be run with low concurrency (<code>TEST_JOBS=1</code>), or without headful tests (<code>JTREG_KEYWORDS=\!headful</code>), or both.</p></li>
<li><p><code>tier4</code>: This test group includes every other test not covered by previous tiers. It includes, for example, <code>vmTestbase</code> suites for Hotspot, which run for many hours even on large machines. It also runs GUI tests, so the same <code>TEST_JOBS</code> and <code>JTREG_KEYWORDS</code> caveats apply.</p></li>
<li><p><code>tier1</code>: This is the lowest test tier. Multiple
developers run these tests every day. Because of the widespread use, the
tests in <code>tier1</code> are carefully selected and optimized to run
fast, and to run in the most stable manner. The test failures in
<code>tier1</code> are usually followed up on quickly, either with
fixes, or adding relevant tests to problem list. GitHub Actions
workflows, if enabled, run <code>tier1</code> tests.</p></li>
<li><p><code>tier2</code>: This test group covers even more ground.
These contain, among other things, tests that either run for too long to
be at <code>tier1</code>, or may require special configuration, or tests
that are less stable, or cover the broader range of non-core JVM and JDK
features/components(for example, XML).</p></li>
<li><p><code>tier3</code>: This test group includes more stressful
tests, the tests for corner cases not covered by previous tiers, plus
the tests that require GUIs. As such, this suite should either be run
with low concurrency (<code>TEST_JOBS=1</code>), or without headful
tests(<code>JTREG_KEYWORDS=\!headful</code>), or both.</p></li>
<li><p><code>tier4</code>: This test group includes every other test not
covered by previous tiers. It includes, for example,
<code>vmTestbase</code> suites for Hotspot, which run for many hours
even on large machines. It also runs GUI tests, so the same
<code>TEST_JOBS</code> and <code>JTREG_KEYWORDS</code> caveats
apply.</p></li>
</ul>
<h3 id="jtreg">JTReg</h3>
<p>JTReg tests can be selected either by picking a JTReg test group, or a selection of files or directories containing JTReg tests.</p>
<p>JTReg test groups can be specified either without a test root, e.g. <code>:tier1</code> (or <code>tier1</code>, the initial colon is optional), or with, e.g. <code>hotspot:tier1</code>, <code>test/jdk:jdk_util</code> or <code>$(TOPDIR)/test/hotspot/jtreg:hotspot_all</code>. The test root can be specified either as an absolute path, or a path relative to the JDK top directory, or the <code>test</code> directory. For simplicity, the hotspot JTReg test root, which really is <code>hotspot/jtreg</code> can be abbreviated as just <code>hotspot</code>.</p>
<p>When specified without a test root, all matching groups from all test roots will be added. Otherwise, only the group from the specified test root will be added.</p>
<p>Individual JTReg tests or directories containing JTReg tests can also be specified, like <code>test/hotspot/jtreg/native_sanity/JniVersion.java</code> or <code>hotspot/jtreg/native_sanity</code>. Just like for test root selection, you can either specify an absolute path (which can even point to JTReg tests outside the source tree), or a path relative to either the JDK top directory or the <code>test</code> directory. <code>hotspot</code> can be used as an alias for <code>hotspot/jtreg</code> here as well.</p>
<p>As long as the test groups or test paths can be uniquely resolved, you do not need to enter the <code>jtreg:</code> prefix. If this is not possible, or if you want to use a fully qualified test descriptor, add <code>jtreg:</code>, e.g. <code>jtreg:test/hotspot/jtreg/native_sanity</code>.</p>
<p>JTReg tests can be selected either by picking a JTReg test group, or
a selection of files or directories containing JTReg tests.
Documentation can be found at <a
href="https://openjdk.org/jtreg/">https://openjdk.org/jtreg/</a>, note
especially the extensive <a
href="https://openjdk.org/jtreg/faq.html">FAQ</a>.</p>
<p>JTReg test groups can be specified either without a test root, e.g.
<code>:tier1</code> (or <code>tier1</code>, the initial colon is
optional), or with, e.g. <code>hotspot:tier1</code>,
<code>test/jdk:jdk_util</code> or
<code>$(TOPDIR)/test/hotspot/jtreg:hotspot_all</code>. The test root can
be specified either as an absolute path, or a path relative to the JDK
top directory, or the <code>test</code> directory. For simplicity, the
hotspot JTReg test root, which really is <code>hotspot/jtreg</code> can
be abbreviated as just <code>hotspot</code>.</p>
<p>When specified without a test root, all matching groups from all test
roots will be added. Otherwise, only the group from the specified test
root will be added.</p>
<p>Individual JTReg tests or directories containing JTReg tests can also
be specified, like
<code>test/hotspot/jtreg/native_sanity/JniVersion.java</code> or
<code>hotspot/jtreg/native_sanity</code>. Just like for test root
selection, you can either specify an absolute path (which can even point
to JTReg tests outside the source tree), or a path relative to either
the JDK top directory or the <code>test</code> directory.
<code>hotspot</code> can be used as an alias for
<code>hotspot/jtreg</code> here as well.</p>
<p>As long as the test groups or test paths can be uniquely resolved,
you do not need to enter the <code>jtreg:</code> prefix. If this is not
possible, or if you want to use a fully qualified test descriptor, add
<code>jtreg:</code>, e.g.
<code>jtreg:test/hotspot/jtreg/native_sanity</code>.</p>
<h3 id="gtest">Gtest</h3>
<p>Since the Hotspot Gtest suite is so quick, the default is to run all tests. This is specified by just <code>gtest</code>, or as a fully qualified test descriptor <code>gtest:all</code>.</p>
<p>If you want, you can single out an individual test or a group of tests, for instance <code>gtest:LogDecorations</code> or <code>gtest:LogDecorations.level_test_vm</code>. This can be particularly useful if you want to run a shaky test repeatedly.</p>
<p>For Gtest, there is a separate test suite for each JVM variant. The JVM variant is defined by adding <code>/&lt;variant&gt;</code> to the test descriptor, e.g. <code>gtest:Log/client</code>. If you specify no variant, gtest will run once for each JVM variant present (e.g. server, client). So if you only have the server JVM present, then <code>gtest:all</code> will be equivalent to <code>gtest:all/server</code>.</p>
<p><strong>Note:</strong> To be able to run the Gtest suite, you need to
configure your build to be able to find a proper version of the gtest
source. For details, see the section <a
href="building.html#running-tests">"Running Tests" in the build
documentation</a>.</p>
<p>Since the Hotspot Gtest suite is so quick, the default is to run all
tests. This is specified by just <code>gtest</code>, or as a fully
qualified test descriptor <code>gtest:all</code>.</p>
<p>If you want, you can single out an individual test or a group of
tests, for instance <code>gtest:LogDecorations</code> or
<code>gtest:LogDecorations.level_test_vm</code>. This can be
particularly useful if you want to run a shaky test repeatedly.</p>
<p>For Gtest, there is a separate test suite for each JVM variant. The
JVM variant is defined by adding <code>/&lt;variant&gt;</code> to the
test descriptor, e.g. <code>gtest:Log/client</code>. If you specify no
variant, gtest will run once for each JVM variant present (e.g. server,
client). So if you only have the server JVM present, then
<code>gtest:all</code> will be equivalent to
<code>gtest:all/server</code>.</p>
<h3 id="microbenchmarks">Microbenchmarks</h3>
<p>Which microbenchmarks to run is selected using a regular expression following the <code>micro:</code> test descriptor, e.g., <code>micro:java.lang.reflect</code>. This delegates the test selection to JMH, meaning package name, class name and even benchmark method names can be used to select tests.</p>
<p>Using special characters like <code>|</code> in the regular expression is possible, but needs to be escaped multiple times: <code>micro:ArrayCopy\\\\\|reflect</code>.</p>
<p>Which microbenchmarks to run is selected using a regular expression
following the <code>micro:</code> test descriptor, e.g.,
<code>micro:java.lang.reflect</code>. This delegates the test selection
to JMH, meaning package name, class name and even benchmark method names
can be used to select tests.</p>
<p>Using special characters like <code>|</code> in the regular
expression is possible, but needs to be escaped multiple times:
<code>micro:ArrayCopy\\\\\|reflect</code>.</p>
<h3 id="special-tests">Special tests</h3>
<p>A handful of odd tests that are not covered by any other testing framework are accessible using the <code>special:</code> test descriptor. Currently, this includes <code>failure-handler</code> and <code>make</code>.</p>
<p>A handful of odd tests that are not covered by any other testing
framework are accessible using the <code>special:</code> test
descriptor. Currently, this includes <code>failure-handler</code> and
<code>make</code>.</p>
<ul>
<li><p>Failure handler testing is run using <code>special:failure-handler</code> or just <code>failure-handler</code> as test descriptor.</p></li>
<li><p>Tests for the build system, including both makefiles and related functionality, is run using <code>special:make</code> or just <code>make</code> as test descriptor. This is equivalent to <code>special:make:all</code>.</p>
<p>A specific make test can be run by supplying it as argument, e.g. <code>special:make:idea</code>. As a special syntax, this can also be expressed as <code>make-idea</code>, which allows for command lines as <code>make test-make-idea</code>.</p></li>
<li><p>Failure handler testing is run using
<code>special:failure-handler</code> or just
<code>failure-handler</code> as test descriptor.</p></li>
<li><p>Tests for the build system, including both makefiles and related
functionality, is run using <code>special:make</code> or just
<code>make</code> as test descriptor. This is equivalent to
<code>special:make:all</code>.</p>
<p>A specific make test can be run by supplying it as argument, e.g.
<code>special:make:idea</code>. As a special syntax, this can also be
expressed as <code>make-idea</code>, which allows for command lines as
<code>make test-make-idea</code>.</p></li>
</ul>
<h2 id="test-results-and-summary">Test results and summary</h2>
<p>At the end of the test run, a summary of all tests run will be presented. This will have a consistent look, regardless of what test suites were used. This is a sample summary:</p>
<p>At the end of the test run, a summary of all tests run will be
presented. This will have a consistent look, regardless of what test
suites were used. This is a sample summary:</p>
<pre><code>==============================
Test summary
==============================
@@ -112,20 +324,61 @@ Test summary
jtreg:nashorn/test:tier1 133 133 0 0
==============================
TEST FAILURE</code></pre>
<p>Tests where the number of TOTAL tests does not equal the number of PASSed tests will be considered a test failure. These are marked with the <code>&gt;&gt; ... &lt;&lt;</code> marker for easy identification.</p>
<p>The classification of non-passed tests differs a bit between test suites. In the summary, ERROR is used as a catch-all for tests that neither passed nor are classified as failed by the framework. This might indicate test framework error, timeout or other problems.</p>
<p>In case of test failures, <code>make test</code> will exit with a non-zero exit value.</p>
<p>All tests have their result stored in <code>build/$BUILD/test-results/$TEST_ID</code>, where TEST_ID is a path-safe conversion from the fully qualified test descriptor, e.g. for <code>jtreg:jdk/test:tier1</code> the TEST_ID is <code>jtreg_jdk_test_tier1</code>. This path is also printed in the log at the end of the test run.</p>
<p>Additional work data is stored in <code>build/$BUILD/test-support/$TEST_ID</code>. For some frameworks, this directory might contain information that is useful in determining the cause of a failed test.</p>
<p>Tests where the number of TOTAL tests does not equal the number of
PASSed tests will be considered a test failure. These are marked with
the <code>&gt;&gt; ... &lt;&lt;</code> marker for easy
identification.</p>
<p>The classification of non-passed tests differs a bit between test
suites. In the summary, ERROR is used as a catch-all for tests that
neither passed nor are classified as failed by the framework. This might
indicate test framework error, timeout or other problems.</p>
<p>In case of test failures, <code>make test</code> will exit with a
non-zero exit value.</p>
<p>All tests have their result stored in
<code>build/$BUILD/test-results/$TEST_ID</code>, where TEST_ID is a
path-safe conversion from the fully qualified test descriptor, e.g. for
<code>jtreg:jdk/test:tier1</code> the TEST_ID is
<code>jtreg_jdk_test_tier1</code>. This path is also printed in the log
at the end of the test run.</p>
<p>Additional work data is stored in
<code>build/$BUILD/test-support/$TEST_ID</code>. For some frameworks,
this directory might contain information that is useful in determining
the cause of a failed test.</p>
<h2 id="test-suite-control">Test suite control</h2>
<p>It is possible to control various aspects of the test suites using make control variables.</p>
<p>These variables use a keyword=value approach to allow multiple values to be set. So, for instance, <code>JTREG=&quot;JOBS=1;TIMEOUT_FACTOR=8&quot;</code> will set the JTReg concurrency level to 1 and the timeout factor to 8. This is equivalent to setting <code>JTREG_JOBS=1 JTREG_TIMEOUT_FACTOR=8</code>, but using the keyword format means that the <code>JTREG</code> variable is parsed and verified for correctness, so <code>JTREG=&quot;TMIEOUT_FACTOR=8&quot;</code> would give an error, while <code>JTREG_TMIEOUT_FACTOR=8</code> would just pass unnoticed.</p>
<p>To separate multiple keyword=value pairs, use <code>;</code> (semicolon). Since the shell normally eats <code>;</code>, the recommended usage is to write the assignment inside qoutes, e.g. <code>JTREG=&quot;...;...&quot;</code>. This will also make sure spaces are preserved, as in <code>JTREG=&quot;JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;</code>.</p>
<p>(Other ways are possible, e.g. using backslash: <code>JTREG=JOBS=1\;TIMEOUT_FACTOR=8</code>. Also, as a special technique, the string <code>%20</code> will be replaced with space for certain options, e.g. <code>JTREG=JAVA_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug</code>. This can be useful if you have layers of scripts and have trouble getting proper quoting of command line arguments through.)</p>
<p>As far as possible, the names of the keywords have been standardized between test suites.</p>
<p>It is possible to control various aspects of the test suites using
make control variables.</p>
<p>These variables use a keyword=value approach to allow multiple values
to be set. So, for instance,
<code>JTREG="JOBS=1;TIMEOUT_FACTOR=8"</code> will set the JTReg
concurrency level to 1 and the timeout factor to 8. This is equivalent
to setting <code>JTREG_JOBS=1 JTREG_TIMEOUT_FACTOR=8</code>, but using
the keyword format means that the <code>JTREG</code> variable is parsed
and verified for correctness, so <code>JTREG="TMIEOUT_FACTOR=8"</code>
would give an error, while <code>JTREG_TMIEOUT_FACTOR=8</code> would
just pass unnoticed.</p>
<p>To separate multiple keyword=value pairs, use <code>;</code>
(semicolon). Since the shell normally eats <code>;</code>, the
recommended usage is to write the assignment inside qoutes, e.g.
<code>JTREG="...;..."</code>. This will also make sure spaces are
preserved, as in
<code>JTREG="JAVA_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"</code>.</p>
<p>(Other ways are possible, e.g. using backslash:
<code>JTREG=JOBS=1\;TIMEOUT_FACTOR=8</code>. Also, as a special
technique, the string <code>%20</code> will be replaced with space for
certain options, e.g.
<code>JTREG=JAVA_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug</code>.
This can be useful if you have layers of scripts and have trouble
getting proper quoting of command line arguments through.)</p>
<p>As far as possible, the names of the keywords have been standardized
between test suites.</p>
<h3 id="general-keywords-test_opts">General keywords (TEST_OPTS)</h3>
<p>Some keywords are valid across different test suites. If you want to run tests from multiple test suites, or just don't want to care which test suite specific control variable to use, then you can use the general TEST_OPTS control variable.</p>
<p>There are also some keywords that applies globally to the test runner system, not to any specific test suites. These are also available as TEST_OPTS keywords.</p>
<p>Some keywords are valid across different test suites. If you want to
run tests from multiple test suites, or just don't want to care which
test suite specific control variable to use, then you can use the
general TEST_OPTS control variable.</p>
<p>There are also some keywords that applies globally to the test runner
system, not to any specific test suites. These are also available as
TEST_OPTS keywords.</p>
<h4 id="jobs">JOBS</h4>
<p>Currently only applies to JTReg.</p>
<h4 id="timeout_factor">TIMEOUT_FACTOR</h4>
@@ -137,28 +390,49 @@ TEST FAILURE</code></pre>
<h4 id="aot_modules">AOT_MODULES</h4>
<p>Applies to JTReg and GTest.</p>
<h4 id="jcov">JCOV</h4>
<p>This keywords applies globally to the test runner system. If set to <code>true</code>, it enables JCov coverage reporting for all tests run. To be useful, the JDK under test must be run with a JDK built with JCov instrumentation (<code>configure --with-jcov=&lt;path to directory containing lib/jcov.jar&gt;</code>, <code>make jcov-image</code>).</p>
<p>The simplest way to run tests with JCov coverage report is to use the special target <code>jcov-test</code> instead of <code>test</code>, e.g. <code>make jcov-test TEST=jdk_lang</code>. This will make sure the JCov image is built, and that JCov reporting is enabled.</p>
<p>The JCov report is stored in <code>build/$BUILD/test-results/jcov-output/report</code>.</p>
<p>Please note that running with JCov reporting can be very memory intensive.</p>
<p>This keywords applies globally to the test runner system. If set to
<code>true</code>, it enables JCov coverage reporting for all tests run.
To be useful, the JDK under test must be run with a JDK built with JCov
instrumentation
(<code>configure --with-jcov=&lt;path to directory containing lib/jcov.jar&gt;</code>,
<code>make jcov-image</code>).</p>
<p>The simplest way to run tests with JCov coverage report is to use the
special target <code>jcov-test</code> instead of <code>test</code>, e.g.
<code>make jcov-test TEST=jdk_lang</code>. This will make sure the JCov
image is built, and that JCov reporting is enabled.</p>
<p>The JCov report is stored in
<code>build/$BUILD/test-results/jcov-output/report</code>.</p>
<p>Please note that running with JCov reporting can be very memory
intensive.</p>
<h4 id="jcov_diff_changeset">JCOV_DIFF_CHANGESET</h4>
<p>While collecting code coverage with JCov, it is also possible to find coverage for only recently changed code. JCOV_DIFF_CHANGESET specifies a source revision. A textual report will be generated showing coverage of the diff between the specified revision and the repository tip.</p>
<p>The report is stored in <code>build/$BUILD/test-results/jcov-output/diff_coverage_report</code> file.</p>
<p>While collecting code coverage with JCov, it is also possible to find
coverage for only recently changed code. JCOV_DIFF_CHANGESET specifies a
source revision. A textual report will be generated showing coverage of
the diff between the specified revision and the repository tip.</p>
<p>The report is stored in
<code>build/$BUILD/test-results/jcov-output/diff_coverage_report</code>
file.</p>
<h3 id="jtreg-keywords">JTReg keywords</h3>
<h4 id="jobs-1">JOBS</h4>
<p>The test concurrency (<code>-concurrency</code>).</p>
<p>Defaults to TEST_JOBS (if set by <code>--with-test-jobs=</code>), otherwise it defaults to JOBS, except for Hotspot, where the default is <em>number of CPU cores/2</em>, but never more than <em>memory size in GB/2</em>.</p>
<p>Defaults to TEST_JOBS (if set by <code>--with-test-jobs=</code>),
otherwise it defaults to JOBS, except for Hotspot, where the default is
<em>number of CPU cores/2</em>, but never more than <em>memory size in
GB/2</em>.</p>
<h4 id="timeout_factor-1">TIMEOUT_FACTOR</h4>
<p>The timeout factor (<code>-timeoutFactor</code>).</p>
<p>Defaults to 4.</p>
<h4 id="failure_handler_timeout">FAILURE_HANDLER_TIMEOUT</h4>
<p>Sets the argument <code>-timeoutHandlerTimeout</code> for JTReg. The default value is 0. This is only valid if the failure handler is built.</p>
<p>Sets the argument <code>-timeoutHandlerTimeout</code> for JTReg. The
default value is 0. This is only valid if the failure handler is
built.</p>
<h4 id="test_mode">TEST_MODE</h4>
<p>The test mode (<code>agentvm</code> or <code>othervm</code>).</p>
<p>Defaults to <code>agentvm</code>.</p>
<h4 id="assert">ASSERT</h4>
<p>Enable asserts (<code>-ea -esa</code>, or none).</p>
<p>Set to <code>true</code> or <code>false</code>. If true, adds <code>-ea -esa</code>. Defaults to true, except for hotspot.</p>
<p>Set to <code>true</code> or <code>false</code>. If true, adds
<code>-ea -esa</code>. Defaults to true, except for hotspot.</p>
<h4 id="verbose">VERBOSE</h4>
<p>The verbosity level (<code>-verbose</code>).</p>
<p>Defaults to <code>fail,error,summary</code>.</p>
@@ -166,90 +440,172 @@ TEST FAILURE</code></pre>
<p>What test data to retain (<code>-retain</code>).</p>
<p>Defaults to <code>fail,error</code>.</p>
<h4 id="max_mem">MAX_MEM</h4>
<p>Limit memory consumption (<code>-Xmx</code> and <code>-vmoption:-Xmx</code>, or none).</p>
<p>Limit memory consumption for JTReg test framework and VM under test. Set to 0 to disable the limits.</p>
<p>Defaults to 512m, except for hotspot, where it defaults to 0 (no limit).</p>
<p>Limit memory consumption (<code>-Xmx</code> and
<code>-vmoption:-Xmx</code>, or none).</p>
<p>Limit memory consumption for JTReg test framework and VM under test.
Set to 0 to disable the limits.</p>
<p>Defaults to 512m, except for hotspot, where it defaults to 0 (no
limit).</p>
<h4 id="max_output">MAX_OUTPUT</h4>
<p>Set the property <code>javatest.maxOutputSize</code> for the launcher, to change the default JTReg log limit.</p>
<p>Set the property <code>javatest.maxOutputSize</code> for the
launcher, to change the default JTReg log limit.</p>
<h4 id="keywords">KEYWORDS</h4>
<p>JTReg keywords sent to JTReg using <code>-k</code>. Please be careful in making sure that spaces and special characters (like <code>!</code>) are properly quoted. To avoid some issues, the special value <code>%20</code> can be used instead of space.</p>
<p>JTReg keywords sent to JTReg using <code>-k</code>. Please be careful
in making sure that spaces and special characters (like <code>!</code>)
are properly quoted. To avoid some issues, the special value
<code>%20</code> can be used instead of space.</p>
<h4 id="extra_problem_lists">EXTRA_PROBLEM_LISTS</h4>
<p>Use additional problem lists file or files, in addition to the default ProblemList.txt located at the JTReg test roots.</p>
<p>If multiple file names are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<p>The file names should be either absolute, or relative to the JTReg test root of the tests to be run.</p>
<p>Use additional problem lists file or files, in addition to the
default ProblemList.txt located at the JTReg test roots.</p>
<p>If multiple file names are specified, they should be separated by
space (or, to help avoid quoting issues, the special value
<code>%20</code>).</p>
<p>The file names should be either absolute, or relative to the JTReg
test root of the tests to be run.</p>
<h4 id="run_problem_lists">RUN_PROBLEM_LISTS</h4>
<p>Use the problem lists to select tests instead of excluding them.</p>
<p>Set to <code>true</code> or <code>false</code>. If <code>true</code>, JTReg will use <code>-match:</code> option, otherwise <code>-exclude:</code> will be used. Default is <code>false</code>.</p>
<p>Set to <code>true</code> or <code>false</code>. If <code>true</code>,
JTReg will use <code>-match:</code> option, otherwise
<code>-exclude:</code> will be used. Default is <code>false</code>.</p>
<h4 id="options">OPTIONS</h4>
<p>Additional options to the JTReg test framework.</p>
<p>Use <code>JTREG=&quot;OPTIONS=--help all&quot;</code> to see all available JTReg options.</p>
<p>Use <code>JTREG="OPTIONS=--help all"</code> to see all available
JTReg options.</p>
<h4 id="java_options-1">JAVA_OPTIONS</h4>
<p>Additional Java options for running test classes (sent to JTReg as <code>-javaoption</code>).</p>
<p>Additional Java options for running test classes (sent to JTReg as
<code>-javaoption</code>).</p>
<h4 id="vm_options-1">VM_OPTIONS</h4>
<p>Additional Java options to be used when compiling and running classes (sent to JTReg as <code>-vmoption</code>).</p>
<p>This option is only needed in special circumstances. To pass Java options to your test classes, use <code>JAVA_OPTIONS</code>.</p>
<p>Additional Java options to be used when compiling and running classes
(sent to JTReg as <code>-vmoption</code>).</p>
<p>This option is only needed in special circumstances. To pass Java
options to your test classes, use <code>JAVA_OPTIONS</code>.</p>
<h4 id="launcher_options">LAUNCHER_OPTIONS</h4>
<p>Additional Java options that are sent to the java launcher that starts the JTReg harness.</p>
<p>Additional Java options that are sent to the java launcher that
starts the JTReg harness.</p>
<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>
<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, until they pass. This allows to pass the tests with intermittent failures. 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 up to a set number of times, stopping at first failure. This helps to reproduce intermittent test failures. 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>
<p>Default is 1. Set to -1 to repeat indefinitely. This can be especially useful combined with <code>OPTIONS=--gtest_break_on_failure</code> to reproduce an intermittent problem.</p>
<p>The number of times to repeat the tests
(<code>--gtest_repeat</code>).</p>
<p>Default is 1. Set to -1 to repeat indefinitely. This can be
especially useful combined with
<code>OPTIONS=--gtest_break_on_failure</code> to reproduce an
intermittent problem.</p>
<h4 id="options-1">OPTIONS</h4>
<p>Additional options to the Gtest test framework.</p>
<p>Use <code>GTEST=&quot;OPTIONS=--help&quot;</code> to see all available Gtest options.</p>
<p>Use <code>GTEST="OPTIONS=--help"</code> to see all available Gtest
options.</p>
<h4 id="aot_modules-2">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>
<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>
<h3 id="microbenchmark-keywords">Microbenchmark keywords</h3>
<h4 id="fork">FORK</h4>
<p>Override the number of benchmark forks to spawn. Same as specifying <code>-f &lt;num&gt;</code>.</p>
<p>Override the number of benchmark forks to spawn. Same as specifying
<code>-f &lt;num&gt;</code>.</p>
<h4 id="iter">ITER</h4>
<p>Number of measurement iterations per fork. Same as specifying <code>-i &lt;num&gt;</code>.</p>
<p>Number of measurement iterations per fork. Same as specifying
<code>-i &lt;num&gt;</code>.</p>
<h4 id="time">TIME</h4>
<p>Amount of time to spend in each measurement iteration, in seconds. Same as specifying <code>-r &lt;num&gt;</code></p>
<p>Amount of time to spend in each measurement iteration, in seconds.
Same as specifying <code>-r &lt;num&gt;</code></p>
<h4 id="warmup_iter">WARMUP_ITER</h4>
<p>Number of warmup iterations to run before the measurement phase in each fork. Same as specifying <code>-wi &lt;num&gt;</code>.</p>
<p>Number of warmup iterations to run before the measurement phase in
each fork. Same as specifying <code>-wi &lt;num&gt;</code>.</p>
<h4 id="warmup_time">WARMUP_TIME</h4>
<p>Amount of time to spend in each warmup iteration. Same as specifying <code>-w &lt;num&gt;</code>.</p>
<p>Amount of time to spend in each warmup iteration. Same as specifying
<code>-w &lt;num&gt;</code>.</p>
<h4 id="results_format">RESULTS_FORMAT</h4>
<p>Specify to have the test run save a log of the values. Accepts the same values as <code>-rff</code>, i.e., <code>text</code>, <code>csv</code>, <code>scsv</code>, <code>json</code>, or <code>latex</code>.</p>
<p>Specify to have the test run save a log of the values. Accepts the
same values as <code>-rff</code>, i.e., <code>text</code>,
<code>csv</code>, <code>scsv</code>, <code>json</code>, or
<code>latex</code>.</p>
<h4 id="vm_options-2">VM_OPTIONS</h4>
<p>Additional VM arguments to provide to forked off VMs. Same as <code>-jvmArgs &lt;args&gt;</code></p>
<p>Additional VM arguments to provide to forked off VMs. Same as
<code>-jvmArgs &lt;args&gt;</code></p>
<h4 id="options-2">OPTIONS</h4>
<p>Additional arguments to send to JMH.</p>
<h2 id="notes-for-specific-tests">Notes for Specific Tests</h2>
<h3 id="docker-tests">Docker Tests</h3>
<p>Docker tests with default parameters may fail on systems with glibc versions not compatible with the one used in the default docker image (e.g., Oracle Linux 7.6 for x86). For example, they pass on Ubuntu 16.04 but fail on Ubuntu 18.04 if run like this on x86:</p>
<p>Docker tests with default parameters may fail on systems with glibc
versions not compatible with the one used in the default docker image
(e.g., Oracle Linux 7.6 for x86). For example, they pass on Ubuntu 16.04
but fail on Ubuntu 18.04 if run like this on x86:</p>
<pre><code>$ make test TEST=&quot;jtreg:test/hotspot/jtreg/containers/docker&quot;</code></pre>
<p>To run these tests correctly, additional parameters for the correct docker image are required on Ubuntu 18.04 by using <code>JAVA_OPTIONS</code>.</p>
<p>To run these tests correctly, additional parameters for the correct
docker image are required on Ubuntu 18.04 by using
<code>JAVA_OPTIONS</code>.</p>
<pre><code>$ make test TEST=&quot;jtreg:test/hotspot/jtreg/containers/docker&quot; \
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="en_US"</code> in the environment before running
tests should work. On Windows or MacOS, setting
<code>JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"</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>
<h3 id="pkcs11-tests">PKCS11 Tests</h3>
<p>It is highly recommended to use the latest NSS version when running PKCS11 tests. Improper NSS version may lead to unexpected failures which are hard to diagnose. For example, sun/security/pkcs11/Secmod/AddTrustedCert.java may fail on Ubuntu 18.04 with the default NSS version in the system. To run these tests correctly, the system property <code>test.nss.lib.paths</code> is required on Ubuntu 18.04 to specify the alternative NSS lib directories.</p>
<p>It is highly recommended to use the latest NSS version when running
PKCS11 tests. Improper NSS version may lead to unexpected failures which
are hard to diagnose. For example,
sun/security/pkcs11/Secmod/AddTrustedCert.java may fail on Ubuntu 18.04
with the default NSS version in the system. To run these tests
correctly, the system property <code>test.nss.lib.paths</code> is
required on Ubuntu 18.04 to specify the alternative NSS lib
directories.</p>
<p>For example:</p>
<pre><code>$ make test TEST=&quot;jtreg:sun/security/pkcs11/Secmod/AddTrustedCert.java&quot; \
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>
<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>
<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>
<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>
<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>
<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 "Turn keyboard access on or off" option which is responsible
for <code>CTRL + F1</code> combination.</p>
<h4 id="linux">Linux</h4>
<p>Open the Activities overview and start typing Settings; Choose Settings, click Devices, then click Keyboard; set or override desired shortcut.</p>
<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>
<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>Type <code>gpedit</code> in the Search and then click Edit group
policy; navigate to User Configuration -&gt; Administrative Templates
-&gt; Windows Components -&gt; File Explorer; in the right-side pane
look for "Turn off Windows key hotkeys" and double click on it; enable
or disable hotkeys.</p>
<p>Note: restart is required to make the settings take effect.</p>
<h2 id="editing-this-document">Editing this document</h2>
<p>If you want to contribute changes to this document, edit
<code>doc/testing.md</code> and then run
<code>make update-build-docs</code> to generate the same changes in
<code>doc/testing.html</code>.</p>
</body>
</html>

View File

@@ -1,21 +1,26 @@
% Testing the JDK
## Using "make test" (the run-test framework)
## Overview
This new way of running tests is developer-centric. It assumes that you have
built a JDK locally and want to test it. Running common test targets is simple,
and more complex ad-hoc combination of tests is possible. The user interface is
forgiving, and clearly report errors it cannot resolve.
The bulk of JDK tests use [jtreg](https://openjdk.org/jtreg/), a regression
test framework and test runner built for the JDK's specific needs. Other test
frameworks are also used. The different test frameworks can be executed
directly, but there is also a set of make targets intended to simplify the
interface, and figure out how to run your tests for you.
The main target `test` uses the jdk-image as the tested product. There is
also an alternate target `exploded-test` that uses the exploded image
instead. Not all tests will run successfully on the exploded image, but using
this target can greatly improve rebuild times for certain workflows.
## Running tests locally with `make test`
Previously, `make test` was used to invoke an old system for running tests, and
`make run-test` was used for the new test framework. For backward compatibility
with scripts and muscle memory, `run-test` (and variants like
`exploded-run-test` or `run-test-tier1`) are kept as aliases.
This is the easiest way to get started. Assuming you've built the JDK locally,
execute:
$ make test
This will run a default set of tests against the JDK, and present you with the
results. `make test` is part of a family of test-related make targets which
simplify running tests, because they invoke the various test frameworks for
you. The "make test framework" is simple to start with, but more complex
ad-hoc combination of tests is also possible. You can always invoke the test
frameworks directly if you want even more control.
Some example command-lines:
@@ -28,6 +33,20 @@ Some example command-lines:
$ make test TEST="micro:java.lang.reflect" MICRO="FORK=1;WARMUP_ITER=2"
$ make exploded-test TEST=tier2
"tier1" and "tier2" refer to tiered testing, see further down. "TEST" is a
test selection argument which the make test framework will use to try to
find the tests you want. It iterates over the available test frameworks, and
if the test isn't present in one, it tries the next one. The main target
`test` uses the jdk-image as the tested product. There is also an alternate
target `exploded-test` that uses the exploded image instead. Not all tests
will run successfully on the exploded image, but using this target can
greatly improve rebuild times for certain workflows.
Previously, `make test` was used to invoke an old system for running tests,
and `make run-test` was used for the new test framework. For backward
compatibility with scripts and muscle memory, `run-test` and variants like
`exploded-run-test` or `run-test-tier1` are kept as aliases.
### Configuration
To be able to run JTReg tests, `configure` needs to know where to find the
@@ -43,6 +62,31 @@ containing the core JMH and transitive dependencies. The recommended
dependencies can be retrieved by running `sh make/devkit/createJMHBundle.sh`,
after which `--with-jmh=build/jmh/jars` should work.
When tests fail or timeout, jtreg runs its failure handler to capture necessary
data from the system where the test was run. This data can then be used to
analyze the test failures. Collecting this data involves running various commands
(which are listed in files residing in `test/failure_handler/src/share/conf`)
and some of these commands use `sudo`. If the system's `sudoers` file isn't
configured to allow running these commands, then it can result in password being
prompted during the failure handler execution. Typically, when running locally,
collecting this additional data isn't always necessary. To disable running the
failure handler, use `--enable-jtreg-failure-handler=no` when running `configure`.
If, however, you want to let the failure handler to run and don't want to be
prompted for sudo password, then you can configure your `sudoers` file
appropriately. Please read the necessary documentation of your operating system
to see how to do that; here we only show one possible way of doing that - edit
the `/etc/sudoers.d/sudoers` file to include the following line:
```
johndoe ALL=(ALL) NOPASSWD: /sbin/dmesg
```
This line configures `sudo` to _not_ prompt for password for the `/sbin/dmesg`
command (this is one of the commands that is listed in the files
at `test/failure_handler/src/share/conf`), for the user `johndoe`. Here `johndoe`
is the user account under which the jtreg tests are run. Replace the username
with a relevant user account of your system.
## Test selection
All functionality is available using the `test` make target. In this use case,
@@ -66,54 +110,60 @@ if you want to shortcut the parser.
### Common Test Groups
Ideally, all tests are run for every change but this may not be practical due to the limited
testing resources, the scope of the change, etc.
Ideally, all tests are run for every change but this may not be practical due
to the limited testing resources, the scope of the change, etc.
The source tree currently defines a few common test groups in the relevant `TEST.groups`
files. There are test groups that cover a specific component, for example `hotspot_gc`.
It is a good idea to look into `TEST.groups` files to get a sense what tests are relevant
to a particular JDK component.
The source tree currently defines a few common test groups in the relevant
`TEST.groups` files. There are test groups that cover a specific component,
for example `hotspot_gc`. It is a good idea to look into `TEST.groups` files
to get a sense what tests are relevant to a particular JDK component.
Component-specific tests may miss some unintended consequences of a change, so other
tests should also be run. Again, it might be impractical to run all tests, and therefore
_tiered_ test groups exist. Tiered test groups are not component-specific, but rather cover
the significant parts of the entire JDK.
Component-specific tests may miss some unintended consequences of a change, so
other tests should also be run. Again, it might be impractical to run all
tests, and therefore
_tiered_ test groups exist. Tiered test groups are not component-specific, but
rather cover the significant parts of the entire JDK.
Multiple tiers allow balancing test coverage and testing costs. Lower test tiers are supposed to
contain the simpler, quicker and more stable tests. Higher tiers are supposed to contain
progressively more thorough, slower, and sometimes less stable tests, or the tests that require
special configuration.
Multiple tiers allow balancing test coverage and testing costs. Lower test
tiers are supposed to contain the simpler, quicker and more stable tests.
Higher tiers are supposed to contain progressively more thorough, slower, and
sometimes less stable tests, or the tests that require special
configuration.
Contributors are expected to run the tests for the areas that are changed, and the first N tiers
they can afford to run, but at least tier1.
Contributors are expected to run the tests for the areas that are changed, and
the first N tiers they can afford to run, but at least tier1.
A brief description of the tiered test groups:
- `tier1`: This is the lowest test tier. Multiple developers run these tests every day.
Because of the widespread use, the tests in `tier1` are carefully selected and optimized to run
fast, and to run in the most stable manner. The test failures in `tier1` are usually followed up
on quickly, either with fixes, or adding relevant tests to problem list. GitHub Actions workflows,
if enabled, run `tier1` tests.
- `tier1`: This is the lowest test tier. Multiple developers run these tests
every day. Because of the widespread use, the tests in `tier1` are
carefully selected and optimized to run fast, and to run in the most stable
manner. The test failures in `tier1` are usually followed up on quickly,
either with fixes, or adding relevant tests to problem list. GitHub Actions
workflows, if enabled, run `tier1` tests.
- `tier2`: This test group covers even more ground. These contain, among other things,
tests that either run for too long to be at `tier1`, or may require special configuration,
or tests that are less stable, or cover the broader range of non-core JVM and JDK features/components
(for example, XML).
- `tier2`: This test group covers even more ground. These contain, among other
things, tests that either run for too long to be at `tier1`, or may require
special configuration, or tests that are less stable, or cover the broader
range of non-core JVM and JDK features/components(for example, XML).
- `tier3`: This test group includes more stressful tests, the tests for corner cases
not covered by previous tiers, plus the tests that require GUIs. As such, this suite
should either be run with low concurrency (`TEST_JOBS=1`), or without headful tests
(`JTREG_KEYWORDS=\!headful`), or both.
- `tier3`: This test group includes more stressful tests, the tests for corner
cases not covered by previous tiers, plus the tests that require GUIs. As
such, this suite should either be run with low concurrency
(`TEST_JOBS=1`), or without headful tests(`JTREG_KEYWORDS=\!headful`), or
both.
- `tier4`: This test group includes every other test not covered by previous tiers. It includes,
for example, `vmTestbase` suites for Hotspot, which run for many hours even on large
machines. It also runs GUI tests, so the same `TEST_JOBS` and `JTREG_KEYWORDS` caveats
apply.
- `tier4`: This test group includes every other test not covered by previous
tiers. It includes, for example, `vmTestbase` suites for Hotspot, which run
for many hours even on large machines. It also runs GUI tests, so the same
`TEST_JOBS` and `JTREG_KEYWORDS` caveats apply.
### JTReg
JTReg tests can be selected either by picking a JTReg test group, or a selection
of files or directories containing JTReg tests.
of files or directories containing JTReg tests. Documentation can be found at
[https://openjdk.org/jtreg/](https://openjdk.org/jtreg/), note especially the
extensive [FAQ](https://openjdk.org/jtreg/faq.html).
JTReg test groups can be specified either without a test root, e.g. `:tier1`
(or `tier1`, the initial colon is optional), or with, e.g. `hotspot:tier1`,
@@ -142,6 +192,11 @@ use a fully qualified test descriptor, add `jtreg:`, e.g.
### Gtest
**Note:** To be able to run the Gtest suite, you need to configure your build to
be able to find a proper version of the gtest source. For details, see the
section ["Running Tests" in the build
documentation](building.html#running-tests).
Since the Hotspot Gtest suite is so quick, the default is to run all tests.
This is specified by just `gtest`, or as a fully qualified test descriptor
`gtest:all`.
@@ -578,6 +633,12 @@ double click on it; enable or disable hotkeys.
Note: restart is required to make the settings take effect.
## Editing this document
If you want to contribute changes to this document, edit `doc/testing.md` and
then run `make update-build-docs` to generate the same changes in
`doc/testing.html`.
---
# Override some definitions in the global css file that are not optimal for
# this document.

View File

@@ -1,230 +0,0 @@
#!/usr/bin/env python3
import argparse
import math
import os.path
import sys
import subprocess
def fatal(msg):
sys.stderr.write(f"[fatal] {msg}\n")
sys.exit(1)
def verbose(options, *msg):
if options.verbose:
sys.stdout.write(f"[verbose] ")
sys.stdout.write(*msg)
sys.stdout.write('\n')
def first_line(str):
return "" if not str else str.splitlines()[0]
class Options:
def __init__(self):
ap = argparse.ArgumentParser(description="Show bugfixes differences between JBR and OpenJDK git repos",
epilog="Example: %(prog)s --jdk ./jdk11u/ --jbr ./JetBrainsRuntime/ --path src/hotspot --limit 200")
ap.add_argument('--jdk', dest='jdkpath', help='path to OpenJDK git repo', required=True)
ap.add_argument('--jbr', dest='jbrpath', help='path to JBR git repo', required=True)
ap.add_argument('--path', dest='path', help='limit to changes in this path (relative to git root)')
ap.add_argument('--limit', dest='limit', help='limit to this many log entries in --jdk repo', type=int, default=-1)
ap.add_argument('-o', dest="output_dir", help="save patches to this directory (created if necessary)")
ap.add_argument('-v', dest='verbose', help="verbose output", default=False, action='store_true')
args = ap.parse_args()
if not os.path.isdir(args.jdkpath):
fatal(f"{args.jdkpath} not a directory")
if not os.path.isdir(args.jbrpath):
fatal(f"{args.jbrpath} not a directory")
if not git_is_available():
fatal("can't run git commands; make sure git is in PATH")
self.jdkpath = args.jdkpath
self.jbrpath = args.jbrpath
self.path = args.path
self.limit = args.limit
self.output_dir = args.output_dir
self.verbose = args.verbose
class GitRepo:
def __init__(self, rootpath):
self.rootpath = rootpath
def run_git_cmd(self, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
p = subprocess.run(args, capture_output=True, text=True)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
return p.stdout
def save_git_cmd(self, fname, git_args):
args = ["git", "-C", self.rootpath]
args.extend(git_args)
# print(f"Runnig git cmd '{' '.join(args)}'")
with open(fname, "w") as stdout_file:
p = subprocess.run(args, stdout=stdout_file)
if p.returncode != 0:
fatal(f"git returned non-zero code in {self.rootpath} ({first_line(p.stderr)})")
def current_branch(self):
branch_name = self.run_git_cmd(["branch", "--show-current"]).strip()
return branch_name
def log(self, path=None, limit=None):
cmds = ["log", "--no-decorate"]
if limit:
cmds.extend(["-n", str(limit)])
if path:
cmds.append(path)
full_log = self.run_git_cmd(cmds)
return full_log
class Commit:
def __init__(self, lines):
self.sha = lines[0].split()[1]
self.message = ""
self.bugid = None
# Commit message starts after one blank line
read_message = False
for l in lines:
if read_message:
self.message += l + "\n"
if not read_message and l == "":
read_message = True
if self.message and self.message != "" and ":" in self.message:
maybe_bugid = self.message.split(":")[0].strip()
if 10 >= len(maybe_bugid) >= 4:
self.bugid = maybe_bugid
class History:
def __init__(self, log):
log_itr = iter(log.splitlines())
self.commits = []
commit_lines = []
for line in log_itr:
if line.startswith("commit ") and len(commit_lines) > 0:
commit = Commit(commit_lines)
self.commits.append(commit)
commit_lines = []
commit_lines.append(line)
if len(commit_lines) > 0:
commit = Commit(commit_lines)
self.commits.append(commit)
def contains(self, str):
return any(str in commit.message for commit in self.commits)
def size(self):
return len(self.commits)
def print_explanation(options, jdk, jbr):
verbose(options, f"Reading history from '{jdk.rootpath}' on branch '{jdk.current_branch()}'")
if options.path:
verbose(options, f"\t(only under '{options.path}')")
verbose(options, f"Searching for same fixes in '{jbr.rootpath}' on branch '{jbr.current_branch()}'")
def git_is_available():
p = None
try:
p = subprocess.run(["git", "--help"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
except:
pass
return p is not None and p.returncode == 0
def main():
check_python_min_requirements()
options = Options()
jdk = GitRepo(options.jdkpath)
jbr = GitRepo(options.jbrpath)
print_explanation(options, jdk, jbr)
commits_to_save = []
try:
jdk_log = jdk.log(options.path, options.limit)
jdk_history = History(jdk_log)
jbr_log = jbr.log(options.path)
jbr_history = History(jbr_log)
verbose(options, f"Read {jdk_history.size()} commits in JDK, {jbr_history.size()} in JBR")
for c in jdk_history.commits:
if c.bugid:
verbose(options, f"Looking for bugfix for {c.bugid}")
if not jbr_history.contains(c.bugid):
commits_to_save.append(c)
print(f"[note] Fix for {c.bugid} not found in JBR ({jbr.rootpath})")
print(f" commit {c.sha}")
print(f" {first_line(c.message).strip()}")
except KeyboardInterrupt:
fatal("Interrupted")
if len(commits_to_save) > 0 and options.output_dir:
print()
if not os.path.exists(options.output_dir):
verbose(options, f"Creating output directory {options.output_dir}")
os.makedirs(options.output_dir)
nzeroes = len(str(len(commits_to_save)))
for i, c in enumerate(reversed(commits_to_save)):
fname = os.path.join(options.output_dir, f"{str(i).zfill(nzeroes)}-{c.bugid}.patch")
print(f"[note] {c.bugid} saved as {fname}")
fname = os.path.abspath(fname)
jdk.save_git_cmd(fname, ["format-patch", "-1", c.sha, "--stdout"])
script_fname = os.path.join(options.output_dir, "apply.sh")
with open(script_fname, "w") as script_file:
print(apply_script_code.format(os.path.abspath(jbr.rootpath), os.path.abspath(options.output_dir)),
file=script_file)
print(f"[note] Execute 'bash {script_fname}' to apply patches to {jbr.rootpath}")
def check_python_min_requirements():
if sys.version_info < (3, 6):
fatal("Minimum version 3.6 is required to run this script")
apply_script_code = """
#!/bin/bash
GITROOT={0}
PATCHROOT={1}
cd $PATCHROOT || exit 1
PATCHES=$(find $PATCHROOT -name '*.patch' | sort -n)
for P in $PATCHES; do
git -C $GITROOT am $P
if [ $? != 0 ]; then
mv "$P" "$P.failed"
echo "[ERROR] Patch $P did not apply cleanly. Try applying it manually."
echo "[NOTE] Execute this script to apply the remaining patches."
exit 1
else
mv "$P" "$P.done"
fi
done
echo "[NOTE] Done applying patches; check $PATCHROOT for .patch and .patch.failed to see if all have been applied."
"""
if __name__ == '__main__':
main()

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1 +0,0 @@
JetBrainsRuntime

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,138 +0,0 @@
#!/bin/bash -x
function do_maketest() {
if [ "${bundle_type: -1}" == "t" ]; then
echo ${bundle_type%?}
return 1
else
echo ${bundle_type}
return 0
fi
}
function getVersionProp() {
grep "^${1}" make/conf/version-numbers.conf | cut -d'=' -f2
}
while getopts ":i?" o; do
case "${o}" in
i)
i="incremental build"
INC_BUILD=1
;;
esac
done
shift $((OPTIND-1))
build_number=$1
bundle_type=$2
architecture=$3 # aarch64 or x64
bundle_type=$(do_maketest)
do_maketest=$?
tag_prefix="jdk-"
OPENJDK_TAG=$(git log --simplify-by-decoration --decorate=short --pretty=short | grep "$tag_prefix" | cut -d "(" -f2 | cut -d ")" -f1 | awk '{print $2}' | sort -t "-" -k 2 -g | tail -n 1)
VERSION_FEATURE=$(getVersionProp "DEFAULT_VERSION_FEATURE")
VERSION_INTERIM=$(getVersionProp "DEFAULT_VERSION_INTERIM")
VERSION_UPDATE=$(getVersionProp "DEFAULT_VERSION_UPDATE")
[[ $VERSION_UPDATE = 0 ]] && JBSDK_VERSION="$VERSION_FEATURE" || JBSDK_VERSION="${VERSION_FEATURE}.${VERSION_INTERIM}.${VERSION_UPDATE}"
echo "##teamcity[setParameter name='env.JBSDK_VERSION' value='${JBSDK_VERSION}']"
JDK_BUILD_NUMBER=${JDK_BUILD_NUMBER:=$(echo $OPENJDK_TAG | awk -F "-|[+]" '{print $3}')}
[ -z $JDK_BUILD_NUMBER ] && JDK_BUILD_NUMBER=1
echo "##teamcity[setParameter name='env.JDK_UPDATE_NUMBER' value='${JDK_BUILD_NUMBER}']"
VENDOR_NAME="JetBrains s.r.o."
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION}+${JDK_BUILD_NUMBER}-${build_number}"
[ -z "$bundle_type" ] || VENDOR_VERSION_STRING="${VENDOR_VERSION_STRING}-${bundle_type}"
do_reset_changes=0
do_reset_dcevm=0
HEAD_REVISION=0
OS_NAME=$(uname -s)
# Enable reproducible builds
TZ=UTC
export TZ
SOURCE_DATE_EPOCH="$(git log -1 --pretty=%ct)"
export SOURCE_DATE_EPOCH
case "$OS_NAME" in
Linux)
COPYRIGHT_YEAR="$(date --utc --date=@$SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date --utc --date=@$SOURCE_DATE_EPOCH +%F)"
REPRODUCIBLE_TAR_OPTS="--mtime=@$SOURCE_DATE_EPOCH --owner=0 --group=0 --numeric-owner --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime"
;;
Darwin)
COPYRIGHT_YEAR="$(date -u -r $SOURCE_DATE_EPOCH +%Y)"
BUILD_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%F)"
TOUCH_TIME="$(date -u -r $SOURCE_DATE_EPOCH +%Y%m%d%H%M.%S)"
REPRODUCIBLE_TAR_OPTS="--uid 0 --gid 0 --numeric-owner"
;;
*)
# TODO: Windows
;;
esac
REPRODUCIBLE_BUILD_OPTS="--enable-reproducible-build
--with-source-date=$SOURCE_DATE_EPOCH
--with-hotspot-build-time=$BUILD_TIME
--with-copyright-year=$COPYRIGHT_YEAR
--disable-absolute-paths-in-output
--with-build-user=builduser"
function do_exit() {
exit_code=$1
[ $do_reset_changes -eq 1 ] && git checkout HEAD jb/project/tools/common/modules.list src/java.desktop/share/classes/module-info.java
if [ $do_reset_dcevm -eq 1 ]; then
[ ! -z $HEAD_REVISION ] && git reset --hard $HEAD_REVISION
fi
exit "$exit_code"
}
function update_jsdk_mods() {
__jsdk=$1
__jcef_mods=$2
__orig_jsdk_mods=$3
__updated_jsdk_mods=$4
# re-create java.desktop.jmod with updated module-info.class
tmp=.java.desktop.$$.tmp
mkdir "$tmp" || exit $?
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.desktop.jmod || exit $?
"$__jsdk"/bin/javac \
--patch-module java.desktop="$__orig_jsdk_mods"/java.desktop.jmod \
--module-path "$__jcef_mods" -d "$tmp"/classes src/java.desktop/share/classes/module-info.java || exit $?
"$__jsdk"/bin/jmod \
create --class-path "$tmp"/classes --config "$tmp"/conf --header-files "$tmp"/include --legal-notice "$tmp"/legal --libs "$tmp"/lib \
java.desktop.jmod || exit $?
mv java.desktop.jmod "$__updated_jsdk_mods" || exit $?
rm -rf "$tmp"
# re-create java.base.jmod with updated hashes
tmp=.java.base.$$.tmp
mkdir "$tmp" || exit $?
hash_modules=$("$JSDK"/bin/jmod describe "$__orig_jsdk_mods"/java.base.jmod | grep hashes | awk '{print $2}' | tr '\n' '|' | sed s/\|$//) || exit $?
"$__jsdk"/bin/jmod extract --dir "$tmp" "$__orig_jsdk_mods"/java.base.jmod || exit $?
rm "$__updated_jsdk_mods"/java.base.jmod || exit $? # temp exclude from path
"$__jsdk"/bin/jmod \
create --module-path "$__updated_jsdk_mods" --hash-modules "$hash_modules" \
--class-path "$tmp"/classes --cmds "$tmp"/bin --config "$tmp"/conf --header-files "$tmp"/include --legal-notice "$tmp"/legal --libs "$tmp"/lib \
java.base.jmod || exit $?
mv java.base.jmod "$__updated_jsdk_mods" || exit $?
rm -rf "$tmp"
}
function get_mods_list() {
__mods=$1
echo $(ls $__mods) | sed s/\.jmod/,/g | sed s/,$//g | sed s/' '//g
}
function copy_jmods() {
__mods_list=$1
__jmods_from=$2
__jmods_to=$3
mkdir -p $__jmods_to
echo "${__mods_list}," | while read -d, mod; do cp $__jmods_from/$mod.jmod $__jmods_to/; done
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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