Compare commits

...

1062 Commits

Author SHA1 Message Date
David Holmes
6e19387f29 8303070: Memory leak in DCmdArgument<char*>::parse_value
Reviewed-by: fparain, jcking, jsjolen, eosterlund, coleenp
2023-03-01 21:45:11 +00:00
Eirik Bjorsnos
9fc518ff8c 8303401: Add a Vector API equalsIgnoreCase micro benchmark
Reviewed-by: ecaspole, sviswanathan, psandoz
2023-03-01 18:18:36 +00:00
Justin Lu
05faa7321b 8303232: java.util.Date.parse(String) and java.util.Date(String) don't declare thrown IllegalArgumentException
Reviewed-by: jpai, lancea, naoto
2023-03-01 18:13:42 +00:00
Justin King
4c985e527a 8303183: Memory leak in Arguments::init_shared_archive_paths
Reviewed-by: jsjolen, ccheung, dholmes
2023-03-01 15:52:49 +00:00
Albert Mingkun Yang
6af17c1b7d 8303362: Serial: Move CardTableRS to serial directory
Reviewed-by: tschatzl, kbarrett
2023-03-01 15:15:22 +00:00
Ivan Walulya
c1e77e0564 8303252: G1: Return early from Full-GC if no regions are selected for compaction.
Reviewed-by: tschatzl, ayang
2023-03-01 13:52:21 +00:00
Thomas Schatzl
8b86e1ee11 8303344: After JDK-8302760, G1 heap verification does not exit VM after errors
Reviewed-by: iwalulya, ayang
2023-03-01 12:34:53 +00:00
Thomas Schatzl
4c5d9cfc64 8303013: Always do remembered set verification during G1 Full GC
Reviewed-by: ayang, iwalulya
2023-03-01 12:34:02 +00:00
Doug Simon
2451c5a462 8303357: [JVMCI] thread is _thread_in_vm when committing JFR compilation event
Reviewed-by: never, kvn
2023-03-01 10:47:49 +00:00
Kim Barrett
539a4951ee 8302798: Refactor -XX:+UseOSErrorReporting for noreturn crash reporting
Reviewed-by: coleenp, stuefe
2023-03-01 10:19:28 +00:00
Roland Westrelin
6b07243f56 8301630: C2: 8297933 broke type speculation in some cases
Reviewed-by: chagedorn, thartmann
2023-03-01 09:36:22 +00:00
Leonid Mesnik
3aeefbf1de 8303421: [BACKOUT] 8303133: Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed.
Reviewed-by: dholmes
2023-03-01 05:21:45 +00:00
Leonid Mesnik
1fdaf252b6 8303133: Update ProcessTools.startProcess(...) to exit early if process exit before linePredicate is printed.
Reviewed-by: dholmes, rriggs
2023-03-01 00:50:35 +00:00
Mikael Vidstedt
65da2c5d2d 8303412: Update linux_x64-to-linux_aarch64 cross compilation devkit at Oracle
Reviewed-by: dholmes
2023-03-01 00:48:59 +00:00
Justin Lu
7e47d51e10 8282319: java.util.Locale method to stream available Locales
Reviewed-by: stsypanov, naoto, lancea, rriggs
2023-03-01 00:36:22 +00:00
Andrey Turbanov
881517586d 8303216: Prefer ArrayList to LinkedList in sun.net.httpserver.ServerImpl
Reviewed-by: jpai, vtewari, stsypanov, dfuchs
2023-02-28 20:21:07 +00:00
Dmitry Markov
a10d5ac61b 8303130: Document required Accessibility permissions on macOS
Reviewed-by: erikj, aivanov, prr, serb
2023-02-28 19:50:49 +00:00
Julian Waters
50dc041ee6 8303227: JniObjWithEnv should be NullablePointer compliant
Reviewed-by: asemenyuk
2023-02-28 18:35:40 +00:00
Joe Darcy
61e8867591 8302040: Port fdlibm sqrt to Java
Reviewed-by: bpb, thartmann, aturbanov
2023-02-28 18:33:53 +00:00
Erik Gahlin
6423065b7d 8303261: JFR: jdk/jfr/api/consumer/streaming/TestJVMCrash.java doesn't retry
Reviewed-by: mgronlun
2023-02-28 16:42:19 +00:00
Pavel Rappo
dc5ea6aeb5 8303350: Fix mistyped {@code}
Reviewed-by: jpai
2023-02-28 15:40:05 +00:00
Jie Fu
4a415ad584 8303351: [IR Framework] Add missing cpu feature avx512bw after JDK-8302681
Reviewed-by: epeter, thartmann
2023-02-28 14:44:38 +00:00
Albert Mingkun Yang
30302d185a 8303250: Call ct_max_alignment_constraint using the base class
Reviewed-by: kbarrett, tschatzl
2023-02-28 13:39:58 +00:00
Lutz Schmidt
e144783eb2 8299817: [s390] AES-CTR mode intrinsic fails with multiple short update() calls
Reviewed-by: mbaesken, mdoerr
2023-02-28 12:52:00 +00:00
Darragh Clarke
5feb13b55d 8301701: java/net/DatagramSocket/DatagramSocketMulticasting.java should be hardened
Reviewed-by: dfuchs
2023-02-28 06:51:37 +00:00
Archie L. Cobbs
1e3c9fd67e 8026369: javac potentially ambiguous overload warning needs an improved scheme
Reviewed-by: vromero
2023-02-28 03:33:14 +00:00
Kim Barrett
14a014d430 8302124: HotSpot Style Guide should permit noreturn attribute
Reviewed-by: dcubed, iveresov, dholmes, tschatzl, jwaters, kvn
2023-02-28 01:59:03 +00:00
Erik Gahlin
bca60f4767 8303249: JFR: Incorrect description of dumponexit
Reviewed-by: mgronlun
2023-02-27 22:33:34 +00:00
David Holmes
f7f10367b2 8303068: Memory leak in DwarfFile::LineNumberProgram::run_line_number_program
Reviewed-by: jsjolen, tschatzl, chagedorn
2023-02-27 21:38:12 +00:00
Ian Graves
784f7b1462 8293667: Align jlink's --compress option with jmod's --compress option
Reviewed-by: mchung
2023-02-27 21:05:36 +00:00
Erik Gahlin
54603aa1b7 8303208: JFR: 'jfr print' displays incorrect timestamps
Reviewed-by: mgronlun
2023-02-27 18:13:27 +00:00
Roger Riggs
4c169d2d7c 8303253: Remove unnecessary calls to super() in java.time value based classes
Reviewed-by: naoto, mchung, lancea
2023-02-27 18:10:40 +00:00
David M. Lloyd
b527edd338 8292914: Lambda proxies have unstable names
Change the name of generated lambda proxy classes so that they no longer have a numerical suffix.

Reviewed-by: mchung
2023-02-27 17:18:44 +00:00
Brian Burkhalter
42330d28da 8029370: (fc) FileChannel javadoc not clear for cases where position == size
Reviewed-by: lancea
2023-02-27 17:11:29 +00:00
Naoto Sato
a253b46021 8301119: Support for GB18030-2022
Reviewed-by: alanb, coffeys, lancea
2023-02-27 16:35:59 +00:00
Archie L. Cobbs
55e6bb6b85 8302685: Some javac unit tests aren't reliably closing open files
Reviewed-by: darcy, vromero
2023-02-27 16:21:57 +00:00
Matias Saavedra Silva
f5a12768fb 8262895: [macos_aarch64] runtime/CompressedOops/CompressedClassPointers.java fails with 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr
Reviewed-by: dholmes, coleenp
2023-02-27 15:53:33 +00:00
Julian Waters
2fe4e5f8d7 8303169: Remove Windows specific workaround from libdt
Reviewed-by: cjplummer, sspitsyn, clanger
2023-02-27 15:35:58 +00:00
Johan Sjölen
f2b03f9a2c 8303051: Stop saving 5 chunks in each ChunkPool
Reviewed-by: rehn, coleenp
2023-02-27 11:05:07 +00:00
Erik Gahlin
fbc036e745 8303135: JFR: Log periodic events using periodic tag
Reviewed-by: mgronlun
2023-02-27 09:47:01 +00:00
Prasanta Sadhukhan
dbb5581eba 8081474: SwingWorker calls 'done' before the 'doInBackground' is finished
Reviewed-by: aivanov, serb
2023-02-27 09:19:57 +00:00
Darragh Clarke
306134dcf9 8300792: Refactor examples in java.net.http to use @snippet
Reviewed-by: dfuchs, jpai
2023-02-27 09:18:56 +00:00
Daniel Jeliński
a2c5a4ac9e 8302732: sun/net/www/http/HttpClient/MultiThreadTest.java still failing intermittently
Reviewed-by: dfuchs
2023-02-27 07:52:03 +00:00
Damon Fenacci
db217c9ad6 8292583: Comment for ciArrayKlass::make is wrong
Reviewed-by: thartmann, rcastanedalo
2023-02-27 07:33:13 +00:00
Emanuel Peter
2613b94f28 8302149: Speed up compiler/jsr292/methodHandleExceptions/TestAMEnotNPE.java
Reviewed-by: kvn, vlivanov
2023-02-27 07:16:59 +00:00
Emanuel Peter
d2660a6915 8303045: Remove RegionNode::LoopStatus::NeverIrreducibleEntry assert with wrong assumption
Reviewed-by: chagedorn, kvn
2023-02-27 07:15:27 +00:00
Emanuel Peter
1794f49751 8302681: [IR Framework] Only allow cpuFeatures from a verified list
Reviewed-by: thartmann, pli, chagedorn, kvn
2023-02-27 07:12:18 +00:00
Sergey Bylokhov
a43931b79c 8303102: jcmd: ManagementAgent.status truncates the text longer than O_BUFLEN
Reviewed-by: dholmes
2023-02-26 23:36:59 +00:00
Andrey Turbanov
2fb1e3b7e7 8302268: Prefer ArrayList to LinkedList in XEmbeddedFramePeer
Reviewed-by: serb, dnguyen
2023-02-25 13:40:32 +00:00
Andrey Turbanov
3a9f491caa 8301964: Expensive fillInStackTrace operation in HttpURLConnection.getLastModified when no last-modified in response
Reviewed-by: dfuchs, jpai, alanb
2023-02-25 13:39:36 +00:00
Andrey Turbanov
1dbd18ac63 8302120: Prefer ArrayList to LinkedList in AggregatePainter
Reviewed-by: serb
2023-02-25 13:38:47 +00:00
Alan Bateman
2e78d838a5 8302899: Executors.newSingleThreadExecutor can use Cleaner to shutdown executor
Reviewed-by: rriggs, martin, dfuchs, bchristi
2023-02-25 07:48:57 +00:00
Eirik Bjorsnos
17e3769ed7 8302871: Speed up StringLatin1.regionMatchesCI
Reviewed-by: redestad, martin, alanb
2023-02-25 07:48:03 +00:00
Leonid Mesnik
b4ea80731c 8288912: vmTestbase/nsk/stress/strace/strace002.java fails with Unexpected method name: currentCarrierThread
Reviewed-by: dholmes
2023-02-24 19:38:55 +00:00
Brian Burkhalter
ccf3340e82 8303083: (bf) Remove private DirectByteBuffer(long, int) constructor before JDK 21 GA
Reviewed-by: alanb, lancea
2023-02-24 19:02:12 +00:00
Justin King
83d77b1cbb 8303072: Memory leak in exeNullCallerTest.cpp
Reviewed-by: dholmes
2023-02-24 15:49:00 +00:00
Julian Waters
7d8b8ba9c4 8303131: pandoc.exe mangles all processed html files
Reviewed-by: erikj
2023-02-24 08:47:41 +00:00
Thomas Stuefe
8f7c4969c2 8302810: NMT gtests don't correctly check for marked ranges
Reviewed-by: gziemski, dholmes
2023-02-24 07:58:25 +00:00
Damon Nguyen
1a07871454 8302173: Button border overlaps with button icon on macOS system LaF
Reviewed-by: honkar, psadhukhan
2023-02-23 20:41:25 +00:00
Erik Gahlin
796cdd52f5 8302677: JFR: Cache label and contentType in EventType and ValueDescriptor
Reviewed-by: mgronlun
2023-02-23 20:12:54 +00:00
Erik Gahlin
6b24b4a70f 8302821: JFR: Periodic task thread spins after recording has stopped
Reviewed-by: mgronlun
2023-02-23 19:53:21 +00:00
Evgeny Nikitin
4d33fbd582 8303089: [jittester] Add time limit to IRTree generation
Reviewed-by: iveresov, lmesnik
2023-02-23 19:51:02 +00:00
Justin Lu
f612dcfebe 8302512: Update IANA Language Subtag Registry to Version 2023-02-14
Reviewed-by: naoto
2023-02-23 19:05:40 +00:00
Leonid Mesnik
6397cb611a 8301200: Don't scale timeout stress with timeout factor
Reviewed-by: lkorinth
2023-02-23 18:20:53 +00:00
Mikhailo Seledtsov
71dd7eaf7f 8303085: Runtime problem list cleanup
Reviewed-by: lmesnik, dholmes
2023-02-23 18:02:43 +00:00
Erik Gahlin
4b6acad0bd 8302883: JFR: Improve periodic events
Reviewed-by: mgronlun
2023-02-23 17:20:53 +00:00
Daniel D. Daugherty
a2471b37e3 8303125: ProblemList vmTestbase/nsk/jdi/VMOutOfMemoryException/VMOutOfMemoryException001/VMOutOfMemoryException001.java
Reviewed-by: jdv
2023-02-23 17:07:52 +00:00
Christoph Dreis
58ca711a97 8303078: Reduce allocations when pretty printing JCTree during compilation
Reviewed-by: jjg, vromero
2023-02-23 15:25:05 +00:00
Justin King
2cf8b8607d 8303071: Memory leaks in libjdwp
Reviewed-by: sspitsyn
2023-02-23 15:23:03 +00:00
Stefan Karlsson
f113b04ab9 8302927: Unproblemlist Fuzz.java from ProblemList-zgc.txt again
Reviewed-by: sjohanss, eosterlund
2023-02-23 14:07:37 +00:00
Claes Redestad
1bab93b2d0 8303073: (bf) Temporarily reinstate private DirectByteBuffer(long, int) constructor
Reviewed-by: alanb, bpb
2023-02-23 10:31:14 +00:00
Matthias Baesken
221f34634d 8303047: avoid NULL after 8301661
Reviewed-by: mdoerr, kbarrett, dholmes
2023-02-23 08:08:25 +00:00
Thomas Stuefe
23e9d9d3ee 8302811: NMT.random_reallocs_vm fails if NMT is off
Reviewed-by: jsjolen, sgehwolf
2023-02-23 06:44:10 +00:00
Joe Darcy
fcaf871408 8302028: Port fdlibm atan2 to Java
Reviewed-by: bpb
2023-02-22 22:49:59 +00:00
Albert Mingkun Yang
07e976ac26 8303081: Serial: Remove unused VM_MarkSweep
Reviewed-by: tschatzl
2023-02-22 18:28:17 +00:00
Julian Waters
8de841dd19 8302667: Improve message format when failing to load symbols or libraries
Reviewed-by: mchung
2023-02-22 17:42:34 +00:00
Glavo
f893d2315d 8303024: (fs) WindowsFileSystem.supportedFileAttributeViews can use Set.of
Reviewed-by: bpb
2023-02-22 17:16:49 +00:00
Thomas Schatzl
d7ada66129 8303084: G1 Heap region liveness verification has inverted return value
Reviewed-by: ayang
2023-02-22 17:08:24 +00:00
Thomas Schatzl
5d7e7e28b1 8302760: Improve liveness/remembered set verification for G1
Reviewed-by: kbarrett, iwalulya
2023-02-22 16:11:41 +00:00
Albert Mingkun Yang
b0e0f37d73 8303067: G1: Remove unimplemented G1FullGCScope::heap_transition
Reviewed-by: tschatzl
2023-02-22 15:57:08 +00:00
Thomas Schatzl
1a62a1229a 8302880: Fix includes in g1ConcurrentMarkObjArrayProcessor files
Reviewed-by: ayang, kbarrett
2023-02-22 15:47:29 +00:00
Thomas Schatzl
ee37af47cd 8302975: Remove redundant mark verification during G1 Full GC
Reviewed-by: ayang, kbarrett
2023-02-22 15:45:12 +00:00
Patricio Chilano Mateo
83bea26df4 8300575: JVMTI support when using alternative virtual thread implementation
Reviewed-by: lmesnik, sspitsyn, alanb
2023-02-22 15:42:53 +00:00
Sergey Tsypanov
25bfed3b12 8302979: (fs) Files usage of SUPPORTED_CHARSETS could be simplified
Reviewed-by: alanb, jwaters
2023-02-22 14:08:51 +00:00
Albert Mingkun Yang
0d5f7439a4 8303054: Remove unused variables in GCTraceTimeLoggerImpl::log_end
Reviewed-by: tschatzl
2023-02-22 12:49:40 +00:00
Albert Mingkun Yang
adc29c36e1 8302878: Group cmdline heap size checking together
Reviewed-by: kbarrett, iwalulya
2023-02-22 12:48:31 +00:00
Daniel Fuchs
575484806c 8299338: AssertionError in ResponseSubscribers$HttpResponseInputStream::onSubscribe
Reviewed-by: jpai
2023-02-22 12:43:55 +00:00
Per Minborg
63ef214328 8302849: SurfaceManager might expose partially constructed object
Reviewed-by: serb
2023-02-22 11:45:51 +00:00
Roberto Castañeda Lozano
30b2ac4a28 8302873: ZGC: dump barrier data in C2 Mach nodes
Reviewed-by: thartmann, kvn
2023-02-22 10:59:15 +00:00
Per Minborg
861eea9bd4 8302858: Polish FlightRecorderMXBeanImpl
Reviewed-by: egahlin
2023-02-22 10:33:58 +00:00
Per Minborg
60a358172a 8302856: Typo in FlightRecorderMXBeanImpl
Reviewed-by: kevinw, egahlin
2023-02-22 10:29:40 +00:00
Tagir F. Valeev
3f3a1f534b 8302815: Use new Math.clamp method in core libraries
Reviewed-by: alanb
2023-02-22 09:51:14 +00:00
Kevin Walls
5e1d1b7940 8302870: More information needed from failures in vmTestbase ThreadUtils.waitThreadState
Reviewed-by: dholmes, sspitsyn
2023-02-22 09:29:57 +00:00
Severin Gehwolf
7f35389533 8302888: containers/docker/TestJcmd.java fails when run as root under podman
Reviewed-by: dholmes
2023-02-22 08:35:10 +00:00
Alan Bateman
b6ecca1268 8280113: (dc) DatagramSocket.receive does not always throw when the channel is closed
Reviewed-by: jpai, dfuchs
2023-02-22 08:13:06 +00:00
Richard Reingruber
f54e1080c5 8302831: PPC: compiler/codecache/TestStressCodeBuffers.java fails after JDK-8301819
Reviewed-by: mdoerr
2023-02-22 06:29:48 +00:00
Julian Waters
cba817ae59 8302838: jabswitch main() should avoid calling exit explicitly
Reviewed-by: serb
2023-02-22 06:27:52 +00:00
Prasanta Sadhukhan
2c52cf0746 8041447: Test javax/swing/dnd/7171812/bug7171812.java fails with java.lang.RuntimeException: Test failed, scroll on drag doesn't work
Reviewed-by: tr, serb
2023-02-22 06:13:09 +00:00
Martin Doerr
180b94c73e 8302907: [PPC64] Use more constexpr in class Register
Reviewed-by: rrich
2023-02-22 02:24:38 +00:00
Mikael Vidstedt
f319c92bd0 8303016: Invalid escapes in grep patterns
Reviewed-by: erikj
2023-02-21 22:10:36 +00:00
Eirik Bjorsnos
e950b95486 8303033: Build failure with the micro bench mark
Reviewed-by: naoto
2023-02-21 21:39:35 +00:00
Albert Mingkun Yang
dcd773ac5c 8302864: Parallel: Remove PSVirtualSpace::pointer_delta
Reviewed-by: tschatzl, kbarrett
2023-02-21 21:24:22 +00:00
Serguei Spitsyn
46f25250bd 8299240: rank of JvmtiVTMSTransition_lock can be safepoint
Reviewed-by: dholmes, coleenp, pchilanomate
2023-02-21 21:22:49 +00:00
Justin King
ce6de37172 8303010: Add /DEBUG to LDFLAGS for MSVC with ASan
Reviewed-by: erikj
2023-02-21 21:15:43 +00:00
Mikael Vidstedt
729c26f70e 8303020: Remove carriage return in pandoc version string
Reviewed-by: iris, lancea, erikj
2023-02-21 21:00:38 +00:00
Eirik Bjorsnos
ef1f7bd3b8 8302877: Speed up latin1 case conversions
Reviewed-by: naoto, redestad
2023-02-21 20:54:36 +00:00
Christian Stein
1ea5f9f7cd 8302789: (fs) Files.copy should include unsupported copy option in exception message
Reviewed-by: alanb, bpb, lancea
2023-02-21 19:03:26 +00:00
Joe Darcy
dfce4e1943 8302800: Augment NaN handling tests of FDLIBM methods
Reviewed-by: bpb
2023-02-21 18:31:22 +00:00
Glavo
5489c821dc 8302603: Use Set.of in java.nio.charset.Charset
Reviewed-by: stsypanov, alanb, naoto
2023-02-21 17:35:52 +00:00
Roger Riggs
10b4cc9eb4 8301627: System.exit and Runtime.exit debug logging
Reviewed-by: alanb, chegar
2023-02-21 15:37:08 +00:00
Johannes Bechberger
db483a38a8 8302320: AsyncGetCallTrace obtains too few frames in sanity test
Reviewed-by: jvernee, dholmes, rrich
2023-02-21 14:33:02 +00:00
Tobias Holenstein
02eb240c71 8302846: IGV: Zoom stuck when zooming out on large graphs
Reviewed-by: rcastanedalo, thartmann
2023-02-21 13:48:49 +00:00
Claes Redestad
92dfa1175e 8302863: Speed up String::encodeASCII using countPositives
Reviewed-by: alanb
2023-02-21 13:31:15 +00:00
Pavel Rappo
8b20aa919b 8302981: Fix a typo in the doc comment for java.lang.Record.equals
Reviewed-by: jpai
2023-02-21 13:11:26 +00:00
Julian Waters
644fe0a994 8302837: Kernel32.cpp array memory release invokes undefined behaviour
Reviewed-by: jlahoda
2023-02-21 11:58:44 +00:00
Stefan Karlsson
60e6378925 8302977: ZGC: Doesn't support gc/TestVerifySubSet.java
Reviewed-by: tschatzl
2023-02-21 11:04:43 +00:00
Stefan Karlsson
fef1910277 8299777: Test runtime/NMT/BaselineWithParameter.java timed out
Reviewed-by: gziemski, iklam, dholmes
2023-02-21 10:58:36 +00:00
Albert Mingkun Yang
622f5604c1 8302886: Parallel: Remove unimplemented methods in ParCompactionManager
Reviewed-by: tschatzl
2023-02-21 09:26:47 +00:00
Albert Mingkun Yang
9fd77c7b9b 8302868: Serial: Remove CardTableRS::initialize
Reviewed-by: tschatzl
2023-02-21 09:25:51 +00:00
Albert Mingkun Yang
f35cf79b51 8302867: G1: Removing unused variable in G1CardTable::initialize
Reviewed-by: tschatzl
2023-02-21 09:25:07 +00:00
Stefan Karlsson
63a3501273 8302741: ZGC: Remove Universe::verify calls
Reviewed-by: ayang, tschatzl
2023-02-21 08:23:28 +00:00
Matthias Baesken
9145670354 8301661: Enhance os::pd_print_cpu_info on macOS and Windows
Reviewed-by: ihse, lucy, dholmes
2023-02-21 08:17:56 +00:00
Jayathirth D V
aa10f0d3ee 8302151: BMPImageReader throws an exception reading BMP images
Reviewed-by: serb, tr
2023-02-21 07:30:17 +00:00
Emanuel Peter
16a4f02f2d 8302150: Speed up compiler/codegen/Test7100757.java
Reviewed-by: kvn, thartmann
2023-02-21 07:16:51 +00:00
Emanuel Peter
17274c72a9 8302146: Move TestOverloadCompileQueues.java to tier3
Reviewed-by: kvn, thartmann
2023-02-21 07:13:33 +00:00
Tejesh R
29f392e434 8299522: Incorrect size of Approve button in custom JFileChooser
Reviewed-by: aivanov, abhiscxk, dnguyen
2023-02-21 05:19:07 +00:00
Gui Cao
43c71ddf92 8302453: RISC-V: Add support for small width vector operations
Co-authored-by: Dingli Zhang <dingli@iscas.ac.cn>
Reviewed-by: yzhu, fyang
2023-02-21 01:39:13 +00:00
David Holmes
91a2b5ec6f 8302905: arm32 Raspberry Pi OS build broken by JDK-8301494
Reviewed-by: mikael, martin
2023-02-21 01:23:06 +00:00
George Adams
bb3dfd6adb 8302879: doc/building.md update link to jtreg builds
Reviewed-by: sgehwolf, clanger
2023-02-20 21:58:55 +00:00
sunguoyun
36a0822633 8302369: Reduce the stack size of the C1 compiler
Reviewed-by: dlong
2023-02-20 19:28:09 +00:00
Justin King
0bf3a53e01 8302599: Extend ASan support to Microsoft Visual C++
Reviewed-by: erikj, stuefe, ihse
2023-02-20 18:37:16 +00:00
ravi.ra.gupta
c7517b3dec 8302525: Write a test to check various components send Events while mouse and key are used simultaneously
Reviewed-by: serb
2023-02-20 18:32:00 +00:00
Alexey Bakhtin
9a797228f3 8299234: JMX Repository.query performance
Reviewed-by: dfuchs, kevinw
2023-02-20 17:52:54 +00:00
Severin Gehwolf
e47e9ec05b 8300658: memory_and_swap_limit() reporting wrong values on systems with swapaccount=0
Reviewed-by: jsjolen, iklam
2023-02-20 17:07:04 +00:00
Roman Kennke
7cf7e0a20b 8302070: Factor null-check into load_klass() calls
Reviewed-by: phh, coleenp
2023-02-20 15:13:36 +00:00
Prasanta Sadhukhan
e731695217 8302882: Newly added test javax/swing/JFileChooser/JFileChooserFontReset.java fails with HeadlessException
Reviewed-by: jdv
2023-02-20 14:47:45 +00:00
Johan Sjölen
b5a7426996 8301749: Tracking malloc pooled memory size
Reviewed-by: dholmes, stuefe
2023-02-20 14:23:54 +00:00
Albert Mingkun Yang
6ac5e05c58 8302068: Serial: Refactor oop closures used in Young GC
Reviewed-by: tschatzl, iwalulya
2023-02-20 14:07:45 +00:00
Pengfei Li
71cf7c4409 8302518: Add missing Op_RoundDoubleMode in VectorNode::vector_operands()
Reviewed-by: kvn, jbhateja
2023-02-20 12:08:03 +00:00
Thomas Schatzl
98716e2b25 8302709: Remove explicit remembered set verification in G1
Reviewed-by: ayang, iwalulya
2023-02-20 11:22:04 +00:00
Ludovic Henry
303c61f3ca 8302776: RISC-V: Fix typo CSR_INSTERT to CSR_INSTRET
Reviewed-by: fyang
2023-02-20 10:48:27 +00:00
Thomas Schatzl
7c40c8af69 8302312: Make ParGCRareEvent_lock G1 specific
Reviewed-by: sjohanss, kbarrett
2023-02-20 10:45:40 +00:00
Thomas Schatzl
593bec685e 8302122: Parallelize TLAB retirement in prologue in G1
8297611: G1: Merge tlab and per-thread dirty card log flushing

Reviewed-by: kbarrett, ayang
2023-02-20 10:23:00 +00:00
Thomas Schatzl
e971f90a0b 8302206: Factor out duplicate G1VerificationClosure
Reviewed-by: kbarrett, ayang
2023-02-20 10:21:21 +00:00
Ivan Walulya
eaae0baeba 8302215: G1: Last-ditch Full GC should do serial compaction for tail regions in per thread compaction points.
Reviewed-by: ayang, sjohanss, tschatzl
2023-02-20 08:43:02 +00:00
Emanuel Peter
7e08275cc1 8302668: [TESTBUG] Tests require feature sse4_1 which does not exist, should be sse4.1
Reviewed-by: kvn, thartmann
2023-02-20 08:41:40 +00:00
Emanuel Peter
5c0f50bc01 8295979: [IR Framework] Improve IR matching warning
Reviewed-by: thartmann, kvn
2023-02-20 08:40:11 +00:00
Tobias Holenstein
743a85db06 8302656: Missing spaces in output of -XX:+CIPrintMethodCodes
Reviewed-by: kvn, thartmann
2023-02-20 08:35:30 +00:00
Prasanta Sadhukhan
432cf68c4d 6753661: JFileChooser font not reset after Look & Feel change
Reviewed-by: abhiscxk, aivanov, serb
2023-02-20 08:17:00 +00:00
Richard Reingruber
2009dc2b73 8302462: [REDO] 8297487: G1 Remark: no need to keep alive oop constants of nmethods on stack
Reviewed-by: tschatzl, ayang
2023-02-20 06:47:57 +00:00
Ioi Lam
7abe26935a 8302781: CDS archive heap not reproducible after JDK-8296344
Reviewed-by: dcubed
2023-02-19 05:59:12 +00:00
Claes Redestad
d6716d2e54 8302315: Examine cost of clone of primitive arrays compared to arraycopy
Reviewed-by: alanb
2023-02-18 15:17:57 +00:00
Thomas Stuefe
53be5dc486 8302812: JDK-8302455 broke ClassLoaderStatsTest on 32-bit
Reviewed-by: dcubed
2023-02-18 14:52:26 +00:00
Eirik Bjorsnos
78f71b4d41 8301873: Avoid string decoding in ZipFile.Source.getEntryPos
Reviewed-by: redestad, lancea
2023-02-18 12:39:19 +00:00
Jaikiran Pai
f82385e587 8302623: jarsigner - use BufferedOutputStream to improve performance while creating the signed jar
Reviewed-by: weijun
2023-02-18 11:58:05 +00:00
Jaikiran Pai
43cf8b3d80 8302664: Fix several incorrect usages of Preconditions.checkFromIndexSize
Reviewed-by: djelinski, dfuchs, alanb
2023-02-18 00:48:29 +00:00
Serguei Spitsyn
6b082fb3c6 8302615: make JVMTI thread cpu time functions optional for virtual threads
Reviewed-by: alanb
2023-02-17 21:49:14 +00:00
Sandhya Viswanathan
7c60b9c98f 8302358: Behavior of adler32 changes after JDK-8300208
Reviewed-by: kvn, jbhateja
2023-02-17 21:31:42 +00:00
Calvin Cheung
86b9fce980 8301992: Embed SymbolTable CHT node
Co-authored-by: Robbin Ehn <rehn@openjdk.org>
Reviewed-by: coleenp, iklam
2023-02-17 19:51:12 +00:00
Mikhailo Seledtsov
03d613bbab 8294402: Add diagnostic logging to VMProps.checkDockerSupport
Reviewed-by: dholmes, lmesnik
2023-02-17 19:37:02 +00:00
Ioi Lam
a263f28368 8302777: CDS should not relocate heap if mapping fails
Reviewed-by: ccheung
2023-02-17 19:34:26 +00:00
Archie L. Cobbs
a917fb3fcf 7033677: potential cast error in MemberEnter
Reviewed-by: vromero, jlahoda
2023-02-17 16:55:35 +00:00
Ludvig Janiuk
6120319afd 8302226: failure_handler native.core should wait for coredump to finish
Reviewed-by: erikj
2023-02-17 14:57:00 +00:00
Albert Mingkun Yang
fef3eab9bd 8302734: Parallel: Remove unused LGRPSpace::_invalid_region
Reviewed-by: tschatzl
2023-02-17 14:47:03 +00:00
Albert Mingkun Yang
ea5bfea333 8302661: Parallel: Remove PSVirtualSpace::is_aligned
Reviewed-by: stefank, tschatzl
2023-02-17 14:46:23 +00:00
Daniel Fuchs
edf238b65e 8302635: Race condition in HttpBodySubscriberWrapper when cancelling request
Reviewed-by: jpai
2023-02-17 14:43:58 +00:00
Tobias Holenstein
cd77fcfb5f 8290822: C2: assert in PhaseIdealLoop::do_unroll() is subject to undefined behavior
Reviewed-by: kvn, thartmann
2023-02-17 14:27:17 +00:00
Tobias Holenstein
57c9bc39cd 8302335: IGV: Bytecode not showing
Reviewed-by: rcastanedalo, thartmann, xliu
2023-02-17 14:26:37 +00:00
Yi-Fan Tsai
57fde75b2a 8302113: Improve CRC32 intrinsic with crypto pmull on AArch64
Reviewed-by: simonis
2023-02-17 14:23:33 +00:00
Richard Reingruber
b8c9d6cdf6 8302158: PPC: test/jdk/jdk/internal/vm/Continuation/Fuzz.java: AssertionError: res: false shouldPin: false
Reviewed-by: goetz, mdoerr
2023-02-17 13:20:08 +00:00
Jan Lahoda
dc55a7fc87 8302202: Incorrect desugaring of null-allowed nested patterns
Reviewed-by: vromero
2023-02-17 12:55:47 +00:00
Johan Sjölen
c4ffe4bf63 8301494: Replace NULL with nullptr in cpu/arm
Reviewed-by: dholmes, coleenp
2023-02-17 11:24:41 +00:00
Albert Mingkun Yang
4f1cffd52c 8302674: Parallel: Remove unused methods in MutableNUMASpace
Reviewed-by: tschatzl
2023-02-17 10:39:58 +00:00
Johan Sjölen
c91cd2814b 8301481: Replace NULL with nullptr in os/windows
Reviewed-by: coleenp, dholmes
2023-02-17 09:41:12 +00:00
Damon Fenacci
47ca5773a5 8301491: C2: java.lang.StringUTF16::indexOfChar intrinsic called with negative character argument
Reviewed-by: thartmann, kvn
2023-02-17 09:10:20 +00:00
Ioi Lam
49eb68ba95 8296158: Refactor the verification of CDS region checksum
Reviewed-by: ccheung, matsaave
2023-02-17 07:21:26 +00:00
Joe Darcy
655a71277d 8301444: Port fdlibm hyperbolic transcendental functions to Java
Reviewed-by: bpb
2023-02-17 03:22:06 +00:00
David Holmes
b242eef93e 8280419: Remove dead code related to VerifyThread and verify_thread()
Reviewed-by: stuefe, lucy
2023-02-17 02:00:32 +00:00
Valerie Peng
4ce493f09e 8302225: SunJCE Provider doesn't validate key sizes when using 'constrained' transforms for AES/KW and AES/KWP
Reviewed-by: xuelei
2023-02-16 21:58:34 +00:00
Magnus Ihse Bursie
a39cf2e3b2 8301753: AppendFile/WriteFile has differences between make 3.81 and 4+
Reviewed-by: erikj
2023-02-16 19:32:38 +00:00
Vicente Romero
de80dd9c15 8296010: AssertionError in annotationTargetType
Reviewed-by: jjg
2023-02-16 19:06:26 +00:00
Julian Waters
e5042dd483 8302671: libawt has a memmove decay error
Reviewed-by: serb, prr, kcr
2023-02-16 18:56:59 +00:00
Daniel D. Daugherty
574b48c692 8302678: validate_source fails after JDK-8293313
Reviewed-by: bpb
2023-02-16 17:13:16 +00:00
Thomas Stuefe
90e092280f 8293313: NMT: Rework MallocLimit
8293292: Remove MallocMaxTestWords

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

Reviewed-by: mikael
2023-01-13 22:55:08 +00:00
Artem Semenov
8cb25d3de4 8298644: JNI call of getCurrentComponent on a wrong thread
Reviewed-by: avu, serb, kizune
2023-01-13 19:39:56 +00:00
Justin Lu
500b45e12d 8299865: Unnecessary NullPointerException catch in java.util.TimeZone#setDefaultZone
Reviewed-by: lancea, iris, naoto, aturbanov
2023-01-13 18:13:50 +00:00
Eirik Bjorsnos
4ec3659845 8278349: JarSigner javadoc example uses SHA-1
Reviewed-by: weijun
2023-01-13 17:55:07 +00:00
Albert Mingkun Yang
d117979503 8300054: Use static_assert in basic_types_init
Reviewed-by: stefank, kbarrett
2023-01-13 16:49:26 +00:00
Gerard Ziemski
e0081462f4 8300055: [BACKOUT] OPEN_MAX is no longer the max limit on macOS >= 10.6 for RLIMIT_NOFILE
Reviewed-by: tschatzl, rriggs
2023-01-13 15:38:49 +00:00
Per Minborg
ce1193a1ed 8299976: Initialize static fields in Net eagerly
Reviewed-by: alanb
2023-01-13 15:19:12 +00:00
Jie Fu
3ffc955783 8300099: Configuration fails to auto-detect build user through $USER in dockers
Reviewed-by: ihse
2023-01-13 13:53:22 +00:00
Erik Österlund
e7fa150bc1 8299032: Interface IN_NATIVE oop stores for C2
Reviewed-by: stefank, rcastanedalo
2023-01-13 12:48:30 +00:00
Stefan Karlsson
c250222880 8300110: Unproblemlist Fuzz.java from ProblemList-zgc.txt
Reviewed-by: aboldtch, tschatzl
2023-01-13 12:28:52 +00:00
Markus Grönlund
ac63f5f8dd 8297877: Risk for uninitialized memory in case of CHECK macro early return as part of field access
Reviewed-by: ccheung, egahlin
2023-01-13 12:11:09 +00:00
Matthias Baesken
be8e6d05db 8299957: Enhance error logging in instrument coding with additional jplis_assert_msg
Reviewed-by: sspitsyn
2023-01-13 07:57:38 +00:00
Tobias Hartmann
640eff64d2 8300040: TypeOopPtr::make_from_klass_common calls itself with args in wrong order
Co-authored-by: David Simms <dsimms@openjdk.org>
Reviewed-by: chagedorn, kvn
2023-01-13 07:16:53 +00:00
Justin King
19628e3e0c 8300068: UBSan CFLAGS/LDFLAGS not passed when building ADLC
Reviewed-by: ihse
2023-01-13 04:07:42 +00:00
Jesper Wilhelmsson
9887047228 Merge 2023-01-12 22:24:19 +00:00
Raffaello Giulietti
33412c102c 8299677: Formatter.format might take a long time to format an integer or floating-point
Reviewed-by: alanb, stsypanov, darcy
2023-01-12 19:21:09 +00:00
Mikael Vidstedt
4b92fb0c6b 8299918: Update Xcode11.3.1-MacOSX10.15 devkit at Oracle
Reviewed-by: erikj
Backport-of: a17b563f54
2023-01-12 18:47:08 +00:00
Justin King
7a85d95e82 8298448: UndefinedBehaviorSanitizer
Reviewed-by: erikj, ihse
2023-01-12 15:50:05 +00:00
Julian Waters
26890d1909 8296478: Rework 8282948 and 8282700 to use the new autoconf UTIL_ARG_WITH
Reviewed-by: erikj, ihse
2023-01-12 15:01:59 +00:00
Roger Riggs
6a4a874356 8299034: Runtime::exec clarification of inherited environment
Reviewed-by: alanb
2023-01-12 14:54:39 +00:00
Julian Waters
cf00d09c8c 8299330: Minor improvements in MSYS2 Workflow handling
Reviewed-by: clanger, ihse
2023-01-12 14:32:14 +00:00
Claes Redestad
48c8fb39a7 8299978: Remove MethodHandleNatives.getMembers
Reviewed-by: jvernee, mchung
2023-01-12 13:39:59 +00:00
Axel Boldt-Christmas
89d3f3d96b 8299125: UnifiedOopRef in JFR leakprofiler should treat thread local oops correctly
Reviewed-by: eosterlund, mgronlun
2023-01-12 12:38:13 +00:00
Alan Bateman
4b573343a6 8278326: Socket close is not thread safe and other cleanup
Reviewed-by: jpai
2023-01-12 09:38:31 +00:00
Nick Gasson
036c80844e 8298482: Implement ParallelGC NUMAStats for Linux
Reviewed-by: ayang, sjohanss, tschatzl
2023-01-12 09:28:46 +00:00
Matthias Baesken
0ee8cac7c7 8299672: Enhance HeapDump JFR event
Reviewed-by: rschmelter, clanger
2023-01-12 08:04:46 +00:00
Christoph Langer
752a37016f 8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR
Reviewed-by: naoto
Backport-of: 3b374c0153
2023-01-12 08:02:58 +00:00
Emanuel Peter
d716ec5d30 8299179: ArrayFill with store on backedge needs to reduce length by 1
Reviewed-by: thartmann, kvn
2023-01-12 07:23:19 +00:00
Jorn Vernee
3918f9f523 8299090: Specify coordinate order for additional CaptureCallState parameters on class as well
Reviewed-by: pminborg, mcimadamore
2023-01-12 06:49:27 +00:00
Afshin Zafari
af8d3fb21a 8264684: os::get_summary_cpu_info padded with spaces
Reviewed-by: iklam, ccheung
2023-01-12 01:54:11 +00:00
Sergey Bylokhov
78b1686c15 8227257: javax/swing/JFileChooser/4847375/bug4847375.java fails with AssertionError
Reviewed-by: aivanov, tr
2023-01-12 01:52:56 +00:00
Jesper Wilhelmsson
33f3bd8fad Merge 2023-01-11 21:50:42 +00:00
Rajan Halade
8db73f7743 8300001: ProblemList test java/security/Policy/Root/Root.java
Reviewed-by: mikael, dcubed
2023-01-11 21:36:08 +00:00
Matias Saavedra Silva
43847c43ad 8298065: Provide more information in message of NoSuchFieldError
Reviewed-by: dholmes, iklam, coleenp
2023-01-11 19:13:26 +00:00
Mikael Vidstedt
a17b563f54 8299918: Update Xcode11.3.1-MacOSX10.15 devkit at Oracle
Reviewed-by: erikj
2023-01-11 18:26:38 +00:00
Calvin Cheung
9c1e98dac5 8298321: 2 File Leak defect groups in 2 files
Reviewed-by: vlivanov, iklam, dholmes
2023-01-11 17:48:36 +00:00
Justin Lu
d663b5da10 8299498: Usage of constructors of primitive wrapper classes should be avoided in java.lang API docs
Reviewed-by: naoto, darcy, rriggs, mchung, lancea
2023-01-11 17:18:39 +00:00
Justin Lu
437d69a220 8299836: Make user.timezone system property searchable
Reviewed-by: jpai, naoto
2023-01-11 17:14:08 +00:00
Naoto Sato
c7716a0101 8299571: ZoneRulesProvider.registerProvider() can leave inconsistent state on failure
Reviewed-by: iris, rriggs, joehw
2023-01-11 17:01:48 +00:00
Andrey Turbanov
4cd87f1bda 8299835: (jrtfs) Unnecessary null check in JrtPath.getAttributes
Reviewed-by: alanb, lancea
2023-01-11 15:14:41 +00:00
Per Minborg
7d3400b1cf 8299864: ZipFileStore#supportsFileAttributeView(String) doesn't throw NPE
Reviewed-by: lancea
2023-01-11 15:08:52 +00:00
Tobias Hartmann
d15285f948 8299956: [BACKOUT] 8297487: G1 Remark: no need to keep alive oop constants of nmethods on stack
Reviewed-by: chagedorn, tschatzl
2023-01-11 12:39:50 +00:00
Maurizio Cimadamore
945ef07564 8299862: OfAddress setter should disallow heap segments
Reviewed-by: jvernee
2023-01-11 10:31:25 +00:00
Albert Mingkun Yang
5a9490a40e 8299853: Serial: Use more concrete type for TenuredGeneration::_the_space
Reviewed-by: tschatzl, stefank
2023-01-11 10:07:52 +00:00
Erik Österlund
f857f8a092 8299327: Allow super late barrier expansion of store barriers in C2
Reviewed-by: kvn, rcastanedalo
2023-01-11 09:33:05 +00:00
Adam Sotona
257f667afb 8296789: <TAB>-completion in jshell fails to expose synthetic bridge methods
Reviewed-by: jlahoda
2023-01-11 09:21:28 +00:00
Adam Sotona
030e88d638 8299829: In jshell, the output of "0".repeat(49999)+"2" ends with a '0'
Reviewed-by: jlahoda
2023-01-11 08:30:48 +00:00
Prasanta Sadhukhan
ef32fdb8cc 8284825: sun/java2d/DirectX/MultiPaintEventTest/MultiPaintEventTest.java failed with "RuntimeException: Processed unnecessary paint()."
Reviewed-by: serb
2023-01-11 08:06:57 +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
Tejesh R
95b102c9b1 8299309: Test "java/awt/Dialog/ModalDialogTest/ModalDialogTest.java" fails because new frame was not displayed when "New Frame" button was clicked
Reviewed-by: honkar, dnguyen, psadhukhan
2023-01-11 07:35:30 +00:00
Justin King
f312c99977 8299482: Remove metaprogramming/isIntegral.hpp
Reviewed-by: kbarrett, tschatzl
2023-01-11 05:33:29 +00:00
Justin King
10a747c70b 8299479: Remove metaprogramming/decay.hpp
Reviewed-by: tschatzl, kbarrett
2023-01-11 05:31:56 +00:00
Kim Barrett
ddca2b9b46 8299701: Remove unused GCCause::_wb_conc_mark
Reviewed-by: eosterlund, iwalulya
2023-01-11 05:12:26 +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
Alexey Semenyuk
c595f965ab 8299278: tools/jpackage/share/AddLauncherTest.java#id1 failed AddLauncherTest.bug8230933
Reviewed-by: almatvee
2023-01-10 18:03:42 +00:00
Alexey Semenyuk
3c99e786ab 8298735: Some tools/jpackage/windows/* tests fails with jtreg test timeout
Reviewed-by: almatvee
2023-01-10 18:02:34 +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
Calvin Cheung
5a51ef22ad 8297874: get_dump_directory() in jfrEmergencyDump.cpp should pass correct length to jio_snprintf
Reviewed-by: mgronlun
2023-01-10 17:09:52 +00:00
Mandy Chung
a86b6f6fde 8299183: Invokers.checkExactType passes parameters to create WMTE in opposite order
Reviewed-by: iris, jpai
2023-01-10 17:05:33 +00:00
Christian Hagedorn
8b0133f276 8299259: C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE
Reviewed-by: roland, kvn, thartmann
2023-01-10 14:35:46 +00:00
Albert Mingkun Yang
d68de02bef 8299845: Remove obsolete comments in DirtyCardToOopClosure::get_actual_top
Co-authored-by: Y. Srinivas Ramakrishna <ysr@openjdk.org>
Reviewed-by: tschatzl, sjohanss
2023-01-10 14:26:32 +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
Volker Simonis
debe5879aa 8298381: Improve handling of session tickets for multiple SSLContexts
Reviewed-by: xuelei, ascarpino, serb
2023-01-10 11:49:36 +00:00
Richard Reingruber
eab1e6260d 8297487: G1 Remark: no need to keep alive oop constants of nmethods on stack
Reviewed-by: tschatzl, ayang, eosterlund
2023-01-10 10:32:32 +00:00
Sergey Bylokhov
c8a8388aba 8299789: Compilation of gtest causes build to fail if runtime libraries are in different dirs
Reviewed-by: erikj
2023-01-10 10:30:34 +00:00
Albert Mingkun Yang
5f37cbec94 8297572: Remove unused PrecisionStyle::Precise
Reviewed-by: tschatzl, kbarrett
2023-01-10 07:52:28 +00:00
Daniel Jeliński
f95346e870 8299261: Clean up AWT D3D exports
Reviewed-by: serb, aivanov
2023-01-10 07:11:24 +00:00
Hao Sun
195f31371f 8287925: AArch64: intrinsics for compareUnsigned method in Integer and Long
Reviewed-by: adinn, aph
2023-01-10 05:37:02 +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
Yadong Wang
3a66737001 8299525: RISC-V: Add backend support for half float conversion intrinsics
Reviewed-by: fyang, fjiang
2023-01-10 02:43:14 +00:00
Jaikiran Pai
b7eb4e2ffd 8297306: Incorrect brackets in Javadoc for a constructor of IteratorSpliterator
Reviewed-by: alanb, iris, naoto
2023-01-10 01:53:48 +00:00
David Holmes
a63866341e 8255119: Monitor::wait takes signed integer as timeout
Reviewed-by: jsjolen, stuefe, coleenp, gziemski
2023-01-10 00:45:43 +00:00
Jesper Wilhelmsson
4395578b6f Merge 2023-01-09 23:31:32 +00:00
Justin Lu
f79b3d42f0 6381945: (cal) Japanese calendar unit test system should avoid multiple static imports
Reviewed-by: lancea, iris, naoto
2023-01-09 22:10:36 +00:00
Justin Lu
f36f1354c6 8299501: Usage of constructors of primitive wrapper classes should be avoided in java.util API docs
Reviewed-by: naoto, lancea
2023-01-09 21:26:08 +00:00
Justin Lu
b8852f65a0 8299502: Usage of constructors of primitive wrapper classes should be avoided in javax.xml API docs
Reviewed-by: joehw, naoto, lancea
2023-01-09 21:24:40 +00:00
Archie L. Cobbs
679e485838 8043251: Bogus javac error: required: no arguments, found: no arguments
Reviewed-by: vromero
2023-01-09 18:38:15 +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
Justin Lu
cd10c7278d 8299500: Usage of constructors of primitive wrapper classes should be avoided in java.text API docs
Reviewed-by: naoto, lancea
2023-01-09 17:43:31 +00:00
Alexandre Iline
bfd5971429 8299757: Update JCov version to 3.0.14
Reviewed-by: erikj, serb
2023-01-09 15:39:46 +00:00
Coleen Phillimore
17a3f0e257 8299275: Add some ClassLoaderData verification code
Reviewed-by: iklam, fparain
2023-01-09 15:01:34 +00:00
Erik Österlund
4ba8122197 8299312: Clean up BarrierSetNMethod
Reviewed-by: mdoerr, fyang
2023-01-09 13:31:26 +00:00
Albert Mingkun Yang
66db0bb6a1 8299692: G1: Remove unused G1BlockOffsetTable::is_card_boundary
Reviewed-by: kbarrett
2023-01-09 11:39:06 +00:00
Patrick Zhang
7068457436 8298472: AArch64: Detect Ampere-1 and Ampere-1A CPUs and set default options
Reviewed-by: aph, ngasson
2023-01-09 11:07:05 +00:00
Johan Sjölen
500c3c1737 8298730: Refactor subsystem_file_line_contents and add docs and tests
Reviewed-by: sgehwolf, iklam
2023-01-09 10:18:26 +00:00
Prasanta Sadhukhan
4072412c1f 8298876: Swing applications do not get repainted coming out of sleep on Windows 10
Reviewed-by: angorya, prr
2023-01-09 10:14:06 +00:00
Erik Österlund
a503ec2cc7 8299608: Add Register + imm32 orq to x86_64 assembler
Reviewed-by: shade, sviswanathan, kvn
2023-01-09 10:01:26 +00:00
Emanuel Peter
d2827ec8f7 8299671: speed up compiler/intrinsics/string/TestStringLatin1IndexOfChar.java
Reviewed-by: thartmann, kvn
2023-01-09 08:34:24 +00:00
Roland Westrelin
05a0a71031 8297933: [REDO] Compiler should only use verified interface types for optimization
Reviewed-by: kvn, vlivanov
2023-01-09 08:26:08 +00:00
Damon Fenacci
9b1ade8e2b 8295406: C1 crash with -XX:TypeProfileArgsLimit=0 -XX:TypeProfileLevel=222
Reviewed-by: thartmann, kvn
2023-01-09 07:56:11 +00:00
Daniel Jeliński
8d17d1ee6f 6914801: IPv6 unavailable if stdin is a socket
Reviewed-by: michaelm
2023-01-09 07:39:12 +00:00
Daniel Jeliński
d03a5d9580 8299593: getprotobyname should not be used
Reviewed-by: cjplummer
2023-01-09 07:32:55 +00:00
Abhishek Kumar
c4449224bb 8218474: JComboBox display issue with GTKLookAndFeel
Reviewed-by: tr, serb
2023-01-09 04:47:33 +00:00
SWinxy
7607c07e00 8299774: SYNTH_BUTTON_UI_KEY field is unused
Reviewed-by: serb
2023-01-09 02:14:43 +00:00
Justin King
d53cac3794 8299481: Remove metaprogramming/removePointer.hpp
Reviewed-by: kbarrett, tschatzl
2023-01-08 10:45:36 +00:00
Srinivas Mandalika
834e50e9ef 8298921: Create a regression test for JDK-8139581
Reviewed-by: serb
2023-01-08 09:08:04 +00:00
Jaikiran Pai
e209693a37 8258776: ThreadLocal#initialValue() Javadoc is unaware of ThreadLocal#withInitial()
Reviewed-by: alanb
2023-01-07 02:33:52 +00:00
Justin Lu
d5b80abcbf 8299617: CurrencySymbols.properties is missing the copyright notice
Reviewed-by: naoto, iris, jpai
2023-01-07 02:20:12 +00:00
Justin Lu
63cf4aa0c8 8299499: Usage of constructors of primitive wrapper classes should be avoided in java.net API docs
Reviewed-by: naoto, jpai
2023-01-07 02:19:15 +00:00
Jesper Wilhelmsson
5393dc9a48 Merge 2023-01-07 02:05:59 +00:00
Sergey Bylokhov
7310131409 8299337: The java.awt.image.ColorModel#pData field is unused
Reviewed-by: prr
2023-01-06 23:09:07 +00:00
Sergey Tsypanov
d086e82b3c 8299600: Use Objects.check*() where appropriate in java.io
Reviewed-by: alanb, bpb
2023-01-06 21:01:21 +00:00
Sergey Bylokhov
4a95c74b76 8299425: "LCMSImageLayout.isIntPacked" flag can be deleted
Reviewed-by: prr
2023-01-06 20:17:10 +00:00
Ashutosh Mehra
d6d6eb4cba 8299699: Test runtime/cds/appcds/WrongClasspath.java fails after JDK-8299329
Reviewed-by: iklam, ccheung
2023-01-06 19:56:12 +00:00
Andrei Pangin
8c70bf3fff 8299544: Improve performance of CRC32C intrinsics (non-AVX-512) for small inputs
Reviewed-by: kvn, eastigeevich, sviswanathan
2023-01-06 19:00:20 +00:00
Alexandre Iline
1f141bd7a9 8299705: JCov coverage runs depend on jdk_symbols
Reviewed-by: erikj
2023-01-06 18:51:41 +00:00
Chris Plummer
d6e9f01584 8285416: [LOOM] Some nsk/jdi tests fail due to needing too many virtual threads
8282383: [LOOM] 6 nsk JDI and JDB tests sometimes failing with vthread wrapper due to running out of carrier threads

Reviewed-by: dholmes, sspitsyn, alanb, lmesnik
2023-01-06 18:49:11 +00:00
Weijun Wang
ba03f42a50 8299746: Accept unknown signatureAlgorithm in PKCS7 SignerInfo
Reviewed-by: kdriver, ascarpino, hchao
2023-01-06 18:46:37 +00:00
Markus KARG
3dcf700161 8299336: InputStream::DEFAULT_BUFFER_SIZE should be 16384
Reviewed-by: bpb
2023-01-06 17:35:17 +00:00
Maurizio Cimadamore
5eee2a07f5 8299740: CaptureCallState is missing @Preview annotation
Reviewed-by: alanb
2023-01-06 14:52:08 +00:00
Coleen Phillimore
1e9972922a 8299274: Add elements to resolved_references consistently
Reviewed-by: iklam, dholmes, rehn, fparain
2023-01-06 13:57:23 +00:00
Jie Fu
8cc1669ffd 8299721: [Vector API] assert in switch-default of LibraryCallKit::arch_supports_vector_rotate is too weak to catch bugs
Reviewed-by: jbhateja
2023-01-06 12:56:36 +00:00
Aleksey Shipilev
5598acc345 8294403: [REDO] make test should report only on executed tests
Reviewed-by: erikj, dholmes, jpai, djelinski
2023-01-06 11:28:38 +00:00
bobpengxie
88f0ea7887 8299726: [cleanup] Some code cleanup in opto/compile.hpp
Reviewed-by: thartmann
2023-01-06 10:48:28 +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
Andrey Turbanov
0234f813e6 8298447: Unnecessary Vector usage in DocPrintJob implementations
Reviewed-by: serb
2023-01-06 08:29:47 +00:00
Tobias Hartmann
cc4936a79e 8298720: Insufficient error handling when CodeBuffer is exhausted
Reviewed-by: kvn, fyang
2023-01-06 08:28:09 +00:00
Sergey Bylokhov
b5b7948d9b 8298240: Replace the usage of ImageLayoutException by the CMMException
Reviewed-by: prr
2023-01-06 08:04:51 +00:00
Tejesh R
99be74088e 8299306: Test "javax/swing/JFileChooser/FileSystemView/CustomFSVLinkTest.java" fails on Windows 10 x64 because there are some buttons did not display button name
Reviewed-by: psadhukhan, abhiscxk
2023-01-06 07:50:33 +00:00
Artem Semenov
775da84a84 8299412: JNI call of getAccessibleActionCount on a wrong thread
Reviewed-by: prr, serb
2023-01-06 07:09:05 +00:00
Anto J
7845b0d7b4 8296934: Write a test to verify whether Undecorated Frame can be iconified or not
Reviewed-by: serb
2023-01-06 00:37:26 +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
Mikael Vidstedt
4b6809b94a 8299693: Change to Xcode12.4+1.1 devkit for building on macOS at Oracle
Reviewed-by: dholmes, erikj
2023-01-05 22:39:44 +00:00
Kim Barrett
dfdbd0fe7f 8299343: Windows: Invalid thread_native_entry declaration
Reviewed-by: dholmes, iklam
2023-01-05 22:02:45 +00:00
Kim Barrett
3e2314d082 8299254: Support dealing with standard assert macro
Reviewed-by: erikj, xuelei, dholmes, mikael
2023-01-05 19:49:01 +00:00
Naoto Sato
a49ccb959b 8299292: Missing elements in aliased String array
Reviewed-by: iris, joehw
2023-01-05 17:49:24 +00:00
Andrey Turbanov
b908388e81 8298449: Unnecessary Vector usage in MetaData.ProxyPersistenceDelegate
Reviewed-by: serb
2023-01-05 16:49:23 +00:00
Ashutosh Mehra
be64bf8cf0 8299329: Assertion failure with fastdebug build when trying to use CDS without classpath
Reviewed-by: iklam, ccheung
2023-01-05 16:09:28 +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
Roland Westrelin
872384707e 8298848: C2: clone all of (CmpP (LoadKlass (AddP down at split if
Reviewed-by: kvn, thartmann, chagedorn
2023-01-05 09:33:14 +00:00
Matthias Baesken
1ca31d34fc 8299657: sun/tools/jhsdb/SAGetoptTest.java fails after 8299470
Reviewed-by: clanger
2023-01-05 09:31:38 +00:00
Sergey Bylokhov
e7361cb746 8299430: Cleanup: delete unnecessary semicolons in java.desktop module
Reviewed-by: stsypanov, aghaisas, iris
2023-01-05 08:47:21 +00:00
Matthias Baesken
c929d8be5d 8299475: Enhance SocketException by cause where it is missing in net and nio area
Reviewed-by: alanb
2023-01-05 08:26:38 +00:00
Matthias Baesken
2ccdefc81c 8299470: sun/jvm/hotspot/SALauncher.java handling of negative rmiport args
Reviewed-by: clanger, sspitsyn, kevinw
2023-01-05 07:59:41 +00:00
Abhishek Kumar
578c287a68 8081507: Open or Save button in JFileChooser has OK title in GTK LaF
Reviewed-by: serb, tr
2023-01-04 22:45:39 +00:00
ravi.ra.gupta
5ae6de859d 8299296: Write a test to verify the components selection sends ItemEvent
Reviewed-by: serb
2023-01-04 22:44:38 +00:00
Justin Lu
3b374c0153 8299439: java/text/Format/NumberFormat/CurrencyFormat.java fails for hr_HR
Reviewed-by: naoto, lancea, jpai
2023-01-04 21:59:02 +00:00
Michael Ernst
7dcc689932 8299563: Fix typos
Reviewed-by: lancea, aivanov, sspitsyn
2023-01-04 19:59:45 +00:00
Archie L. Cobbs
44be5edf5a 8219810: javac throws NullPointerException
Reviewed-by: vromero
2023-01-04 17:50:32 +00:00
Archie L. Cobbs
b9758d2201 8200610: Compiling fails with java.nio.file.ReadOnlyFileSystemException
Reviewed-by: vromero
2023-01-04 17:32:33 +00:00
Jesper Wilhelmsson
df1caf9081 Merge 2023-01-04 16:03:09 +00:00
Archie L. Cobbs
6a07fd0ec1 8155259: Suspicious buffer allocation in com.sun.tools.javac.file.BaseFileManager
8172106: javac throws exception when compiling source file of size 1.5G

Reviewed-by: vromero
2023-01-04 16:01:59 +00:00
Archie L. Cobbs
4c0f24ef71 8064931: tools/javac/scope/DupUnsharedTest.java needs to be updated to add the bug id
Reviewed-by: vromero
2023-01-04 16:00:22 +00:00
Yi-Fan Tsai
c6588d5bb3 8299158: Improve MD5 intrinsic on AArch64
Reviewed-by: luhenry, haosun, aph
2023-01-04 14:51:25 +00:00
Erik Österlund
c32a34c2e5 8299072: java_lang_ref_Reference::clear_referent should be GC agnostic
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: dholmes, shade, kbarrett
2023-01-04 14:49:44 +00:00
Coleen Phillimore
ccbcea830d 8299326: LinkResolver::resolve_field resolved_klass cannot be null
Reviewed-by: iklam, fparain
2023-01-04 14:42:15 +00:00
Erik Österlund
e3035bad60 8299079: Better interface nmethod oop accesses
Co-authored-by: Axel Boldt-Christmas <aboldtch@openjdk.org>
Reviewed-by: kvn, dholmes
2023-01-04 14:31:07 +00:00
Daniel Jeliński
41900b57af 8189338: JMX RMI Remote Mbean server connection hangs if the server stops responding during a SSL Handshake
Reviewed-by: smarks
2023-01-04 13:17:29 +00:00
Aleksey Shipilev
a17f505d73 8299476: PPC64 Zero build fails after JDK-8286302
Reviewed-by: mdoerr
2023-01-04 10:46:34 +00:00
Ioi Lam
82deb5ca61 8298601: Refactor archiving of java.lang.Module objects
Reviewed-by: coleenp, ccheung
2023-01-04 04:03:43 +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
Prasanta Sadhukhan
77ff197746 7030853: JDK 7 Serializable Swing classes not compatible with JDK 6
Reviewed-by: serb, aivanov
2023-01-04 03:26:32 +00:00
Xue-Lei Andrew Fan
38cfc59172 8299378: sprintf is deprecated in Xcode 14
Reviewed-by: kbarrett, dholmes
2023-01-03 22:44:14 +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
Matthias Baesken
ea25a561c5 8299520: TestPrintXML.java output error messages in case compare fails
Reviewed-by: mgronlun
2023-01-03 15:26:10 +00:00
Ryan Wallace
92dfc735f2 8294526: sun/security/provider/SubjectCodeSource.java no longer referenced
Reviewed-by: weijun, xuelei
2023-01-03 13:52:47 +00:00
Jesper Wilhelmsson
3d0db02c76 Merge 2023-01-03 13:10:15 +00:00
Aleksei Voitylov
245f0cf4ac 8291302: ARM32: nmethod entry barriers support
Reviewed-by: eosterlund, rrich, mdoerr, aph
2023-01-03 12:02:39 +00:00
Per Minborg
a9ce7726a7 8299437: Make InetSocketAddressHolder shallowly immutable
Reviewed-by: djelinski, jpai, alanb
2023-01-03 10:00:19 +00:00
Justin King
8afd665bf9 8299395: Remove metaprogramming/removeCV.hpp
Reviewed-by: kbarrett, tschatzl
2023-01-03 09:13:49 +00:00
Tobias Hartmann
a6a903d4b6 8288204: GVN Crash: assert() failed: correct memory chain
Backport-of: 0459159537
2023-01-03 08:21:22 +00:00
David Holmes
375743336d 8295974: jni_FatalError and Xcheck:jni warnings should print the native stack when there are no Java frames
Reviewed-by: coleenp, rehn, sspitsyn
2023-01-03 04:22:51 +00:00
Jaikiran Pai
417d01ea63 8299441: Fix typos in some test files under core-libs component
Co-authored-by: Michael Ernst <mernst@openjdk.org>
Reviewed-by: lancea
2023-01-03 01:58:49 +00:00
David Holmes
5b5552ff2a 8299483: ProblemList java/text/Format/NumberFormat/CurrencyFormat.java
Reviewed-by: lancea
2023-01-02 23:34:20 +00:00
Albert Mingkun Yang
67086ebf80 8299030: Refactor ReservedSpace::reserve
Reviewed-by: dholmes, tschatzl
2023-01-02 14:59:11 +00:00
Justin King
ce6395a135 8299397: Remove metaprogramming/isFloatingPoint.hpp
Reviewed-by: kbarrett, iwalulya, tschatzl
2023-01-02 14:36:01 +00:00
Justin King
71a64a1b7a 8299399: Remove metaprogramming/isArray.hpp
Reviewed-by: kbarrett, iwalulya, tschatzl
2023-01-02 14:34:44 +00:00
Justin King
532ccdb61a 8299396: Remove metaprogramming/removeExtent.hpp
Reviewed-by: kbarrett, iwalulya, tschatzl
2023-01-02 14:33:44 +00:00
Justin King
9d3d03997e 8299402: Remove metaprogramming/isVolatile.hpp
Reviewed-by: kbarrett, iwalulya, tschatzl
2023-01-02 14:16:26 +00:00
Albert Mingkun Yang
c252a85fb0 8298652: G1: Refactor G1MarkAndPushClosure
Reviewed-by: iwalulya, tschatzl
2023-01-02 14:01:34 +00:00
Per Minborg
8a10eef408 8299193: (bf) Buffer.capacity should be declared final
Reviewed-by: rriggs, dholmes, jpai
2023-01-02 13:25:04 +00:00
Per Minborg
e09e243116 8299187: (bf) ByteOrder.name should be declared final
Reviewed-by: jpai
2023-01-02 13:22:19 +00:00
Jorn Vernee
0532045edb 8298590: Refactor LambdaForm constructors
Reviewed-by: redestad
2023-01-02 12:06:26 +00:00
Justin King
d812022890 8299398: Remove metaprogramming/isConst.hpp
Reviewed-by: kbarrett, iwalulya, tschatzl
2023-01-02 12:00:39 +00:00
Matthias Baesken
95d4db3a92 8299424: containers/docker/TestMemoryWithCgroupV1.java fails on SLES12 ppc64le when testing Memory and Swap Limit
Reviewed-by: mdoerr
2023-01-02 11:16:18 +00:00
Prasanta Sadhukhan
18ff1f5a05 6257207: JTable.getDefaultEditor throws NullPointerException
Reviewed-by: tr, dnguyen, aivanov, serb
2023-01-02 09:49:51 +00:00
Abhishek Kumar
2ee34f1488 4912623: GTK L&F: Folder list of the JFileChooser is allowing multiple selection unlike native
Reviewed-by: psadhukhan, jdv, serb
2023-01-02 06:03:12 +00:00
Matthias Baesken
c2e3d72848 8299388: java/util/regex/NegativeArraySize.java fails on Alpine and sometimes Windows
Reviewed-by: mdoerr, alanb
2022-12-30 07:43:32 +00:00
Daniel Jeliński
684e50690c 8299260: libawt and libfreetype should export only explicitly requested symbols
Reviewed-by: prr, aivanov, serb
2022-12-30 06:40:27 +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
Matthias Baesken
6f85a9c9a8 8299387: CompressedClassPointers.java still fails on ppc with 'Narrow klass shift: 0' missing
Reviewed-by: mdoerr
2022-12-28 14:22:43 +00:00
Matthias Baesken
d490f15e3b 8235297: sun/security/ssl/SSLSessionImpl/ResumptionUpdateBoundValues.java fails intermittent
Reviewed-by: xuelei
2022-12-28 08:28:02 +00:00
Alan Bateman
11fd651ab1 8298875: A module requiring "java.base" with flags ACC_SYNTHETIC should be rejected
Reviewed-by: jpai, mchung
2022-12-27 07:51:04 +00:00
Yi Yang
0459159537 8288204: GVN Crash: assert() failed: correct memory chain
Reviewed-by: kvn, thartmann
2022-12-26 02:16:06 +00:00
Jesper Wilhelmsson
19373b2ff0 Merge 2022-12-25 01:56:28 +00:00
Toshio Nakamura
26868c1ac4 8299255: Unexpected round errors in FreetypeFontScaler
Reviewed-by: prr, serb
2022-12-24 14:26:42 +00:00
Artem Semenov
5e861e3965 8298645: JNI works with accessibleSelection on a wrong thread
Reviewed-by: serb, kizune
2022-12-23 22:28:41 +00:00
Artem Semenov
fd746a2fe0 8298643: JNI call of getAccessibleRowWithIndex and getAccessibleColumnWithIndex on a wrong thread
Reviewed-by: serb, kizune
2022-12-23 22:07:14 +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
Xiaolin Zheng
da75de3184 8299172: RISC-V: [TESTBUG] Fix stack alignment logic in jvmci RISCV64TestAssembler.java
Reviewed-by: fyang
2022-12-23 11:54:00 +00:00
Jesper Wilhelmsson
19ce23c645 Merge 2022-12-23 11:25:10 +00:00
Xiaolin Zheng
2f4098e1dc 8299168: RISC-V: Fix MachNode size mismatch for MacroAssembler::_verify_oops*
Reviewed-by: fyang
2022-12-23 09:22:39 +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
Jonathan Gibbons
2294f225c0 8286311: remove boilerplate from use of runTests
Reviewed-by: hannesw
2022-12-22 21:20:43 +00:00
Ichiroh Takiguchi
5e2de89628 8299194: CustomTzIDCheckDST.java may fail at future date
Reviewed-by: naoto
2022-12-22 21:07:01 +00:00
Ioi Lam
6ccee83958 8292206: TestCgroupMetrics.java fails as getMemoryUsage() is lower than expected
Reviewed-by: dholmes, sgehwolf
2022-12-22 20:50:20 +00:00
Andrey Turbanov
b378381a9c 8299199: Avoid redundant split calls in FontConfiguration.initReorderMap implementations
Reviewed-by: aivanov
2022-12-22 19:09:37 +00:00
Kim Barrett
62a033ecd7 8299191: Unnecessarily global friend functions for relocInfo
Reviewed-by: chagedorn, kvn
2022-12-22 17:30:09 +00:00
Bill Huang
a3693ccc61 8295087: Manual Test to Automated Test Conversion
Reviewed-by: ssahoo, rhalade
2022-12-22 16:50:59 +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
Sergey Bylokhov
50120396b6 8298887: On the latest macOS+XCode the Robot API may report wrong colors
Reviewed-by: azvegint
2022-12-22 07:20:06 +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
Jesper Wilhelmsson
34cdda5b83 Merge 2022-12-21 23:50:59 +00:00
Damon Nguyen
f80faced6e 8202931: [macos] java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java fails
Reviewed-by: serb, honkar
2022-12-21 20:10:52 +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
Naoto Sato
7e59a0ecb6 8298971: Move Console implementation into jdk internal package
Reviewed-by: jpai
2022-12-21 18:09:21 +00:00
Xin Liu
10d62fa218 8299061: Using lambda to optimize GraphKit::compute_stack_effects()
Reviewed-by: kbarrett, thartmann
2022-12-21 16:48:20 +00:00
Matias Saavedra Silva
65442a2e26 8269736: Optimize CDS PatchEmbeddedPointers::do_bit()
Reviewed-by: ccheung, iklam
2022-12-21 15:33:24 +00:00
Roland Westrelin
88bfe4d3bf 8297724: Loop strip mining prevents some empty loops from being eliminated
Reviewed-by: kvn, thartmann
2022-12-21 14:46:57 +00:00
Chris Hegarty
a7d6de71bb 8299015: Ensure that HttpResponse.BodySubscribers.ofFile writes all bytes
Co-authored-by: Daniel Jeliński <djelinski@openjdk.org>
Reviewed-by: dfuchs, djelinski, jpai
2022-12-21 12:19:06 +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
Naveen Narayanan
b005013a00 8296275: Write a test to verify setAccelerator method of JMenuItem
Reviewed-by: mvs, aivanov
2022-12-21 10:48:27 +00:00
Andrey Turbanov
85f9b37d71 8297682: Use Collections.emptyIterator where applicable
Reviewed-by: stsypanov, alanb, jpai
2022-12-21 08:15:11 +00:00
Matthias Baesken
f36e144923 8299025: BMPImageReader.java readColorPalette could use staggeredReadByteStream
Reviewed-by: clanger
2022-12-21 08:05:37 +00:00
Xue-Lei Andrew Fan
f56285c361 8299146: No copyright statement on ArtifactResolverException.java
Reviewed-by: erikj
2022-12-21 01:47:50 +00:00
Kim Barrett
396a9bff68 8298913: Add override qualifiers to Relocation classes
Reviewed-by: kvn, aboldtch
2022-12-21 01:22:11 +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
Jesper Wilhelmsson
386db07143 Merge 2022-12-20 20:20:17 +00:00
Albert Mingkun Yang
8dfb6d76e8 8298651: Serial: Remove MarkSweep::follow_klass
Reviewed-by: kbarrett, tschatzl
2022-12-20 19:36:52 +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
Erik Gahlin
de8153cab7 8298526: JFR: Generate missing filename for time-bound recordings
Reviewed-by: mgronlun
2022-12-20 13:07:25 +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
318526b01e 8299031: JFR: Clean up jdk.management.jfr
Reviewed-by: mgronlun
2022-12-20 12:22:01 +00:00
Jesper Wilhelmsson
c5a4a7a679 Merge 2022-12-20 11:40:56 +00:00
Daniel Fuchs
e5edb10dc5 8299018: java/net/httpclient/HttpsTunnelAuthTest.java fails with java.io.IOException: HTTP/1.1 header parser received no bytes
Reviewed-by: djelinski, jpai
2022-12-20 11:06:36 +00:00
Daniel Fuchs
5df00d34fe 8298931: java/net/httpclient/CancelStreamedBodyTest.java fails with AssertionError due to Pending TCP connections: 1
Reviewed-by: jpai
2022-12-20 11:05:38 +00:00
Erik Gahlin
3dd2cfabdc 8298784: JFR: Test chunk integrity
Reviewed-by: mgronlun
2022-12-20 10:52:11 +00:00
Daniel Jeliński
36de61c460 8298865: Excessive memory allocation in CipherOutputStream AEAD decryption
Reviewed-by: valeriep, ascarpino
2022-12-20 10:27:33 +00:00
lawrence.andrews
dd15d306a6 8299043: test/jdk/javax/swing/AbstractButton/5049549/bug5049549.java fails with java.lang.NullPointerException
Reviewed-by: serb
2022-12-20 01:16:37 +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
Phil Race
05f9e7676e 8298974: Add ftcolor.c to imported freetype sources
Reviewed-by: serb
2022-12-19 23:32:58 +00:00
lawrence.andrews
abc1297643 8299044: test/jdk/javax/swing/JComboBox/JComboBoxBorderTest.java fails on non mac
Reviewed-by: serb, honkar
2022-12-19 23:26:01 +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
Jonathan Gibbons
5d330f5285 8299045: tools/doclint/BadPackageCommentTest.java fails after JDK-8298943
Reviewed-by: vromero
2022-12-19 21:09:01 +00:00
Archie L. Cobbs
40cb431fee 8298943: Missing escapes for single quote marks in compiler.properties
Reviewed-by: jjg
2022-12-19 19:48:13 +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
Chris Plummer
9194e91549 8298701: Cleanup SA entries in ProblemList-zgc.txt.
Reviewed-by: sspitsyn, amenkov
2022-12-19 18:02:34 +00:00
Coleen Phillimore
4c927df712 8298470: Short cut java.lang.Object super class loading
Reviewed-by: dholmes, iklam
2022-12-19 17:13:57 +00:00
Matthias Baesken
756a06d4c2 8299022: Linux ppc64le and s390x build issues after JDK-8160404
Reviewed-by: mdoerr, lucy
2022-12-19 16:20:12 +00:00
Damon Fenacci
de0ce792c1 8297801: printnm crashes with invalid address due to null pointer dereference
Reviewed-by: thartmann, chagedorn, kvn
2022-12-19 15:44:38 +00:00
Emanuel Peter
da38d43fcc 8296412: Special case infinite loops with unmerged backedges in IdealLoopTree::check_safepts
Reviewed-by: chagedorn, kvn, thartmann
2022-12-19 12:21:50 +00:00
Damon Fenacci
8e49fcdde4 8295661: CompileTask::compile_id() should be passed as int
Reviewed-by: thartmann, dnsimon, never
2022-12-19 08:50:44 +00:00
Damon Fenacci
86d588b035 8283740: C1: Convert flag TwoOperandLIRForm to a constant on all platforms
Reviewed-by: thartmann, chagedorn
2022-12-19 08:48:41 +00:00
Damon Fenacci
ec95991470 8298736: Revisit usages of log10 in compiler code
Reviewed-by: thartmann, chagedorn, epeter
2022-12-19 08:47:04 +00:00
Damon Fenacci
16225630ec 8265688: Unused ciMethodType::ptype_at should be removed
Reviewed-by: thartmann, kvn
2022-12-19 08:35:00 +00:00
sunguoyun
3637660521 8298813: [C2] Converting double to float cause a loss of precision and resulting crypto.aes scores fluctuate
Reviewed-by: thartmann
2022-12-19 07:56:36 +00:00
Christian Hagedorn
5e678f7500 8298824: C2 crash: assert(is_Bool()) failed: invalid node class: ConI
Reviewed-by: roland, kvn, thartmann
2022-12-19 07:10:12 +00:00
Fei Gao
ba942c24e8 8298244: AArch64: Optimize vector implementation of AddReduction for floating point
Reviewed-by: aph, xgong
2022-12-19 01:11:19 +00:00
Per Minborg
7938f8c32a 8298639: Perform I/O operations in bulk for RandomAccessFile
Co-authored-by: Sergey Tsypanov <stsypanov@openjdk.org>
Reviewed-by: alanb, bpb
2022-12-18 20:25:42 +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
Kim Barrett
bfa921ae6c 8160404: RelocationHolder constructors have bugs
Reviewed-by: kvn, jrose, jvernee
2022-12-16 20:47:40 +00:00
Matthew Donovan
bf9a8ce0bb 8249826: 5 javax/net/ssl/SSLEngine tests use @ignore w/o bug-id
Reviewed-by: xuelei, rhalade, ssahoo
2022-12-16 17:51:57 +00:00
Naoto Sato
0eeaeb8e7b 8298808: Check script code on detecting the base locales
Reviewed-by: joehw
2022-12-16 17:16:20 +00:00
Eric Caspole
81e23ab340 8298809: Clean up vm/compiler/InterfaceCalls JMH
Reviewed-by: kvn
2022-12-16 16:30:31 +00:00
Jesper Wilhelmsson
3696711efa Merge 2022-12-16 15:48:24 +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
Justin King
f4caaca100 8298852: Use of uninitialized memory in MetadataFactory::free_metadata
Reviewed-by: coleenp, stefank, dholmes
2022-12-16 14:00:56 +00:00
Ivan Walulya
ac2fcf3f75 8296374: Check for young region in G1BarrierSet::invalidate instead of card-by-card check
Reviewed-by: ayang, tschatzl
2022-12-16 12:59:44 +00:00
Michal Karm Babacek
909d0cb4d9 8298588: WebSockets: HandshakeUrlEncodingTest unnecessarily depends on a response body
Reviewed-by: dfuchs
2022-12-16 12:28:39 +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
Fei Yang
226e579c30 8298088: RISC-V: Make Address a discriminated union internally
Reviewed-by: fjiang, yadongwang, shade
2022-12-16 08:45:52 +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
Jaikiran Pai
fa322e40b6 8298709: Fix typos in src/java.desktop/ and various test classes of client component
Co-authored-by: Michael Ernst <mernst@openjdk.org>
Reviewed-by: iris, prr
2022-12-16 07:10:36 +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
Jaikiran Pai
e41686b405 8298710: Fix typos in test/jdk/sun/security/tools/jarsigner/
Co-authored-by: Michael Ernst <mernst@openjdk.org>
Reviewed-by: lancea
2022-12-16 05:16:40 +00:00
David Holmes
a3364612f7 8298081: DiagnoseSyncOnValueBasedClasses doesn't report useful information for virtual threads
Reviewed-by: gziemski, pchilanomate
2022-12-16 01:08:30 +00:00
Sergey Bylokhov
2bb727c4ea 8290899: java/lang/String/StringRepeat.java test requests too much heap on windows x86
Reviewed-by: jpai, phh
2022-12-16 00:43:56 +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
5412439445 8298187: (fs) BsdFileAttributeViews::setTimes does not support lastAccessTime on HFS+
Reviewed-by: alanb
2022-12-15 22:47:29 +00:00
David Holmes
3cdbd878e6 8298241: Replace C-style casts with JavaThread::cast
Reviewed-by: coleenp, stefank, sspitsyn
2022-12-15 21:15:34 +00:00
Coleen Phillimore
10737e168c 8298468: Clean up class_loader parameters
Reviewed-by: dholmes, iklam
2022-12-15 19:54:25 +00:00
Matthew Donovan
4b313b51b1 8297798: Timeout with DTLSOverDatagram test template
Reviewed-by: jnimeh, rhalade
2022-12-15 19:48:35 +00:00
Julian Waters
ae8988e834 8297912: HotSpot Style Guide should permit alignas (Second Proposal Attempt)
Reviewed-by: kbarrett, stuefe, kvn
2022-12-15 19:38:39 +00:00
Naoto Sato
0ef353925e 8298416: Console should be declared sealed
Reviewed-by: jpai, alanb
2022-12-15 19:20:12 +00:00
Brian Burkhalter
831b35fad3 7093322: (fs spec) Files.newBufferedWriter should be clear when coding errors are detected
Reviewed-by: alanb
2022-12-15 17:27:39 +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
Alexander Zvegintsev
0288210f25 8298859: ProblemList java/awt/Mouse/EnterExitEvents/DragWindowTest.java on macosx-all
Reviewed-by: jdv
2022-12-15 16:43:06 +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
Erik Österlund
b17c52422c 8298059: Linked stack watermarks don't support nesting
Reviewed-by: stefank, sspitsyn, rehn, pchilanomate
2022-12-15 09:26:13 +00:00
Matthias Baesken
98fa48c330 8298093: improve cleanup and error handling of awt_parseColorModel in awt_parseImage.c
Reviewed-by: lucy, clanger
2022-12-15 08:11:09 +00:00
Alan Bateman
5f63f7a742 8298726: (fs) Change PollingWatchService to record last modified time as FileTime rather than milliseconds
Reviewed-by: bpb, jpai
2022-12-15 07:14:02 +00:00
Daniel Jeliński
3ae718725a 8298498: sun/net/www/http/KeepAliveCache/B8291637.java fails with "Server exception terminating: java.net.SocketException: Socket closed"
Reviewed-by: dfuchs, jpai
2022-12-15 06:55:25 +00:00
Daniel Jeliński
b9074fa1ed 8298249: Excessive memory allocation in CipherInputStream AEAD decryption
Reviewed-by: ascarpino, valeriep
2022-12-15 06:54:33 +00:00
Jesper Wilhelmsson
10bc86cc26 Merge 2022-12-15 06:36:55 +00:00
Matias Saavedra Silva
d1085d1be7 8281946: VM.native_memory should report size of shareable memory
Reviewed-by: stuefe, iklam
2022-12-15 05:03:57 +00:00
Coleen Phillimore
3ef382416f 8298794: Remove JVM_ACC_PROMOTED_FLAGS breaks minimal build
Reviewed-by: ayang, dcubed
2022-12-14 23:08:32 +00:00
Alisen Chung
0ed6d0b456 8297296: java/awt/Mouse/EnterExitEvents/DragWindowTest.java fails with "No MouseReleased event on label!"
Reviewed-by: psadhukhan, dnguyen
2022-12-14 22:10:01 +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
Jesper Wilhelmsson
a130c8a668 Merge 2022-12-14 21:47:29 +00:00
Per Minborg
ebc471040e 8298277: Replace "session" with "scope" for FFM access
Reviewed-by: mcimadamore
2022-12-14 21:40:29 +00:00
Chris Plummer
ccb94acc44 8287812: Cleanup JDWP agent GetEnv initialization
Reviewed-by: alanb, sspitsyn
2022-12-14 19:37:20 +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
4862 changed files with 117207 additions and 81244 deletions

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -43,7 +43,7 @@ runs:
uses: actions/checkout@v3
with:
repository: google/googletest
ref: 'release-${{ steps.version.outputs.value }}'
ref: 'v${{ steps.version.outputs.value }}'
path: gtest
- name: 'Export path to where GTest is installed'

View File

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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -126,7 +126,6 @@ jobs:
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--enable-jtreg-failure-handler
--with-zlib=system
--with-jmod-compress=zip-1
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -101,7 +101,6 @@ jobs:
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--enable-jtreg-failure-handler
--with-zlib=system
--with-jmod-compress=zip-1
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -114,7 +114,6 @@ jobs:
--with-boot-jdk=${{ steps.bootjdk.outputs.path }}
--with-jtreg=${{ steps.jtreg.outputs.path }}
--with-gtest=${{ steps.gtest.outputs.path }}
--enable-jtreg-failure-handler
--with-msvc-toolset-version=${{ inputs.msvc-toolset-version }}
--with-jmod-compress=zip-1
${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || (
@@ -125,6 +124,7 @@ jobs:
# We need a minimal PATH on Windows
# Set PATH to "", so just GITHUB_PATH is included
PATH: ''
shell: env /usr/bin/bash --login -eo pipefail {0}
- name: 'Build'
id: build

View File

@@ -235,7 +235,7 @@ jobs:
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-x64
xcode-toolset-version: '11.7'
xcode-toolset-version: '12.5.1'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
if: needs.select.outputs.macos-x64 == 'true'
@@ -246,7 +246,7 @@ jobs:
uses: ./.github/workflows/build-macos.yml
with:
platform: macos-aarch64
xcode-toolset-version: '12.4'
xcode-toolset-version: '12.5.1'
extra-conf-options: '--openjdk-target=aarch64-apple-darwin'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}

View File

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

View File

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

View File

@@ -72,6 +72,7 @@ Deduction</a></li>
<li><a href="#expression-sfinae" id="toc-expression-sfinae">Expression
SFINAE</a></li>
<li><a href="#enum" id="toc-enum">enum</a></li>
<li><a href="#alignas" id="toc-alignas">alignas</a></li>
<li><a href="#thread_local" id="toc-thread_local">thread_local</a></li>
<li><a href="#nullptr" id="toc-nullptr">nullptr</a></li>
<li><a href="#atomic" id="toc-atomic">&lt;atomic&gt;</a></li>
@@ -81,6 +82,7 @@ id="toc-uniform-initialization">Uniform Initialization</a></li>
id="toc-local-function-objects">Local Function Objects</a></li>
<li><a href="#inheriting-constructors"
id="toc-inheriting-constructors">Inheriting constructors</a></li>
<li><a href="#attributes" id="toc-attributes">Attributes</a></li>
<li><a href="#additional-permitted-features"
id="toc-additional-permitted-features">Additional Permitted
Features</a></li>
@@ -598,7 +600,7 @@ conventions might appear jarring and reduce readability.</p></li>
<code>std::numeric_limits</code>.</li>
<li><code>#include &lt;type_traits&gt;</code>.</li>
<li><code>#include &lt;cstddef&gt;</code> to use
<code>std::nullptr_t</code>.</li>
<code>std::nullptr_t</code> and <code>std::max_align_t</code>.</li>
</ul>
<p>TODO: Rather than directly #including (permitted) Standard Library
headers, use a convention of #including wrapper headers (in some
@@ -670,6 +672,53 @@ of enums and avoidance of in-class initialization of static integral
constant members. Compilers having such bugs are no longer supported.
Except where an enum is semantically appropriate, new code should use
integral constants.</p>
<h3 id="alignas">alignas</h3>
<p><em>Alignment-specifiers</em> (<code>alignas</code> <a
href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf">n2341</a>)
are permitted, with restrictions.</p>
<p><em>Alignment-specifiers</em> are permitted when the requested
alignment is a <em>fundamental alignment</em> (not greater than
<code>alignof(std::max_align_t)</code> <a
href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf">C++14
3.11/2</a>).</p>
<p><em>Alignment-specifiers</em> with an <em>extended alignment</em>
(greater than <code>alignof(std::max_align_t)</code> <a
href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf">C++14
3.11/3</a>) may only be used to align variables with static or automatic
storage duration (<a
href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf">C++14
3.7.1, 3.7.3</a>). As a consequence, <em>over-aligned types</em> are
forbidden; this may change if HotSpot updates to using C++17 or later
(<a
href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0035r4.html">p0035r4</a>).</p>
<p>Large <em>extended alignments</em> should be avoided, particularly
for stack allocated objects. What is a large value may depend on the
platform and configuration. There may also be hard limits for some
platforms.</p>
<p>An <em>alignment-specifier</em> must always be applied to a
definition (<a
href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf">C++14
10.6.2/6</a>). (C++ allows an <em>alignment-specifier</em> to optionally
also be applied to a declaration, so long as the definition has
equivalent alignment. There isn't any known benefit from duplicating the
alignment in a non-definition declaration, so such duplication should be
avoided in HotSpot code.)</p>
<p>Enumerations are forbidden from having <em>alignment-specifiers</em>.
Aligned enumerations were originally permitted but insufficiently
specified, and were later (C++20) removed (<a
href="https://cplusplus.github.io/CWG/issues/2354.html">CWG 2354</a>).
Permitting such usage in HotSpot now would just cause problems in the
future.</p>
<p><em>Alignment-specifiers</em> are forbidden in <code>typedef</code>
and <em>alias-declarations</em>. This may work or may have worked in
some versions of some compilers, but was later (C++14) explicitly
disallowed (<a
href="https://cplusplus.github.io/CWG/issues/1437.html">CWG
1437</a>).</p>
<p>The HotSpot macro <code>ATTRIBUTE_ALIGNED</code> provides similar
capabilities for platforms that define it. This macro predates the use
by HotSpot of C++ versions providing <code>alignas</code>. New code
should use <code>alignas</code>.</p>
<h3 id="thread_local">thread_local</h3>
<p>Avoid use of <code>thread_local</code> (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm">n2659</a>);
@@ -1009,6 +1058,31 @@ using C++17 or later. It is also enabled by default for
C++11/14, as the change is considered a Defect Report that applies to
those versions. Earlier versions of gcc don't have that option, and
other supported compilers may not have anything similar.</p>
<h3 id="attributes">Attributes</h3>
<p>The use of some attributes (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)
(listed below) is permitted. (Note that some of the attributes defined
in that paper didn't make it into the final specification.)</p>
<p>Attributes are syntactically permitted in a broad set of locations,
but specific attributes are only permitted in a subset of those
locations. In some cases an attribute that appertains to a given element
may be placed in any of several locations with the same meaning. In
those cases HotSpot has a preferred location.</p>
<ul>
<li>An attribute that appertains to a function is placed at the
beginning of the function's declaration, rather than between the
function name and the parameter list.</li>
</ul>
<p>Only the following attributes are permitted:</p>
<ul>
<li><code>[[noreturn]]</code></li>
</ul>
<p>The following attributes are expressly forbidden:</p>
<ul>
<li><code>[[carries_dependency]]</code> - Related to
<code>memory_order_consume</code>.</li>
<li><code>[[deprecated]]</code> - Not relevant in HotSpot code.</li>
</ul>
<h3 id="additional-permitted-features">Additional Permitted
Features</h3>
<ul>
@@ -1101,9 +1175,6 @@ initialization or destruction. Initialization order problems can be
difficult to deal with and lead to surprises, as can destruction
ordering. HotSpot doesn't generally try to cleanup on exit, and running
destructors at exit can also lead to problems.</p></li>
<li><p><code>[[deprecated]]</code> attribute (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html">n3760</a>)
— Not relevant in HotSpot code.</p></li>
<li><p>Avoid most operator overloading, preferring named functions. When
operator overloading is used, ensure the semantics conform to the normal
expected behavior of the operation.</p></li>
@@ -1123,8 +1194,6 @@ href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm">n2541</
href="https://isocpp.org/files/papers/N3651.pdf">n3651</a>)</p></li>
<li><p>Member initializers and aggregates (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html">n3653</a>)</p></li>
<li><p><code>[[noreturn]]</code> attribute (<a
href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf">n2761</a>)</p></li>
<li><p>Rvalue references and move semantics</p></li>
</ul>
</body>

View File

@@ -573,7 +573,7 @@ There are a few exceptions to this rule.
* `#include <new>` to use placement `new`, `std::nothrow`, and `std::nothrow_t`.
* `#include <limits>` to use `std::numeric_limits`.
* `#include <type_traits>`.
* `#include <cstddef>` to use `std::nullptr_t`.
* `#include <cstddef>` to use `std::nullptr_t` and `std::max_align_t`.
TODO: Rather than directly \#including (permitted) Standard Library
headers, use a convention of \#including wrapper headers (in some
@@ -651,6 +651,51 @@ constant members. Compilers having such bugs are no longer supported.
Except where an enum is semantically appropriate, new code should use
integral constants.
### alignas
_Alignment-specifiers_ (`alignas`
[n2341](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf))
are permitted, with restrictions.
_Alignment-specifiers_ are permitted when the requested alignment is a
_fundamental alignment_ (not greater than `alignof(std::max_align_t)`
[C++14 3.11/2](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf)).
_Alignment-specifiers_ with an _extended alignment_ (greater than
`alignof(std::max_align_t)`
[C++14 3.11/3](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf))
may only be used to align variables with static or automatic storage duration
([C++14 3.7.1, 3.7.3](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf)).
As a consequence, _over-aligned types_ are forbidden; this may change if
HotSpot updates to using C++17 or later
([p0035r4](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0035r4.html)).
Large _extended alignments_ should be avoided, particularly for stack
allocated objects. What is a large value may depend on the platform and
configuration. There may also be hard limits for some platforms.
An _alignment-specifier_ must always be applied to a definition
([C++14 10.6.2/6](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4296.pdf)).
(C++ allows an _alignment-specifier_ to optionally also be applied to a
declaration, so long as the definition has equivalent alignment. There isn't
any known benefit from duplicating the alignment in a non-definition
declaration, so such duplication should be avoided in HotSpot code.)
Enumerations are forbidden from having _alignment-specifiers_. Aligned
enumerations were originally permitted but insufficiently specified, and were
later (C++20) removed
([CWG 2354](https://cplusplus.github.io/CWG/issues/2354.html)).
Permitting such usage in HotSpot now would just cause problems in the future.
_Alignment-specifiers_ are forbidden in `typedef` and _alias-declarations_.
This may work or may have worked in some versions of some compilers, but was
later (C++14) explicitly disallowed
([CWG 1437](https://cplusplus.github.io/CWG/issues/1437.html)).
The HotSpot macro `ATTRIBUTE_ALIGNED` provides similar capabilities for
platforms that define it. This macro predates the use by HotSpot of C++
versions providing `alignas`. New code should use `alignas`.
### thread_local
Avoid use of `thread_local`
@@ -1009,6 +1054,32 @@ and other supported compilers may not have anything similar.
[p0136r1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0136r1.html
"p0136r1"
### Attributes
The use of some attributes
([n2761](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf))
(listed below) is permitted. (Note that some of the attributes defined in
that paper didn't make it into the final specification.)
Attributes are syntactically permitted in a broad set of locations, but
specific attributes are only permitted in a subset of those locations. In
some cases an attribute that appertains to a given element may be placed in
any of several locations with the same meaning. In those cases HotSpot has a
preferred location.
* An attribute that appertains to a function is placed at the beginning of the
function's declaration, rather than between the function name and the parameter
list.
Only the following attributes are permitted:
* `[[noreturn]]`
The following attributes are expressly forbidden:
* `[[carries_dependency]]` - Related to `memory_order_consume`.
* `[[deprecated]]` - Not relevant in HotSpot code.
### Additional Permitted Features
* `constexpr`
@@ -1108,10 +1179,6 @@ difficult to deal with and lead to surprises, as can destruction
ordering. HotSpot doesn't generally try to cleanup on exit, and
running destructors at exit can also lead to problems.
* `[[deprecated]]` attribute
([n3760](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html)) &mdash;
Not relevant in HotSpot code.
* Avoid most operator overloading, preferring named functions. When
operator overloading is used, ensure the semantics conform to the
normal expected behavior of the operation.
@@ -1136,9 +1203,6 @@ features that have not yet been discussed.
* Member initializers and aggregates
([n3653](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3653.html))
* `[[noreturn]]` attribute
([n2761](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf))
* Rvalue references and move semantics
[ADL]: https://en.cppreference.com/w/cpp/language/adl

View File

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

View File

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

View File

@@ -619,7 +619,7 @@ $(foreach n, 0 1 2, \
$(eval specs_bottom_rel_path := $(specs_bottom_rel_path)../) \
)
SPECS_TOP := $(if $(filter true, $(IS_DRAFT)), <header class="draft-header">$(DRAFT_TEXT)</header>)
SPECS_TOP := $(if $(filter true, $(IS_DRAFT)), <header class="draft-header" role="banner">$(DRAFT_TEXT)</header>)
# For all html files in $module/share/specs directories, copy and add the
# copyright footer.

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -196,11 +196,12 @@ $(eval $(call SetTestOpt,JAVA_OPTIONS,JTREG))
$(eval $(call SetTestOpt,JOBS,JTREG))
$(eval $(call SetTestOpt,TIMEOUT_FACTOR,JTREG))
$(eval $(call SetTestOpt,FAILURE_HANDLER_TIMEOUT,JTREG))
$(eval $(call SetTestOpt,REPORT,JTREG))
$(eval $(call ParseKeywordVariable, JTREG, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR FAILURE_HANDLER_TIMEOUT \
TEST_MODE ASSERT VERBOSE RETAIN MAX_MEM RUN_PROBLEM_LISTS \
RETRY_COUNT REPEAT_COUNT MAX_OUTPUT $(CUSTOM_JTREG_SINGLE_KEYWORDS), \
RETRY_COUNT REPEAT_COUNT MAX_OUTPUT REPORT $(CUSTOM_JTREG_SINGLE_KEYWORDS), \
STRING_KEYWORDS := OPTIONS JAVA_OPTIONS VM_OPTIONS KEYWORDS \
EXTRA_PROBLEM_LISTS LAUNCHER_OPTIONS \
$(CUSTOM_JTREG_STRING_KEYWORDS), \
@@ -352,7 +353,7 @@ ExpandJtregPath = \
# with test id: dir/Test.java#selection -> Test.java#selection -> .java#selection -> #selection
# without: dir/Test.java -> Test.java -> .java -> <<empty string>>
TestID = \
$(subst .java,,$(suffix $(notdir $1)))
$(subst .sh,,$(subst .html,,$(subst .java,,$(suffix $(notdir $1)))))
# The test id starting with a hash (#testid) will be stripped by all
# evals in ParseJtregTestSelectionInner and will be reinserted by calling
@@ -745,6 +746,7 @@ define SetupRunJtregTestBody
JTREG_RUN_PROBLEM_LISTS ?= false
JTREG_RETRY_COUNT ?= 0
JTREG_REPEAT_COUNT ?= 0
JTREG_REPORT ?= files
ifneq ($$(JTREG_RETRY_COUNT), 0)
ifneq ($$(JTREG_REPEAT_COUNT), 0)
@@ -857,6 +859,7 @@ define SetupRunJtregTestBody
-dir:$$(JTREG_TOPDIR) \
-reportDir:$$($1_TEST_RESULTS_DIR) \
-workDir:$$($1_TEST_SUPPORT_DIR) \
-report:$${JTREG_REPORT} \
$$$${JTREG_STATUS} \
$$(JTREG_OPTIONS) \
$$(JTREG_FAILURE_HANDLER_OPTIONS) \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -101,6 +101,29 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
AUTOCONF_DIR=$TOPDIR/make/autoconf
])
###############################################################################
# Setup what kind of build environment type we have (CI or local developer)
AC_DEFUN_ONCE([BASIC_SETUP_BUILD_ENV],
[
if test "x$CI" = "xtrue"; then
DEFAULT_BUILD_ENV="ci"
AC_MSG_NOTICE([CI environment variable set to $CI])
else
DEFAULT_BUILD_ENV="dev"
fi
UTIL_ARG_WITH(NAME: build-env, TYPE: literal,
RESULT: BUILD_ENV,
VALID_VALUES: [auto dev ci], DEFAULT: auto,
CHECKING_MSG: [for build environment type],
DESC: [select build environment type (affects certain default values)],
IF_AUTO: [
RESULT=$DEFAULT_BUILD_ENV
]
)
AC_SUBST(BUILD_ENV)
])
###############################################################################
# Evaluates platform specific overrides for devkit variables.
# $1: Name of variable

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -88,6 +88,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
UTIL_LOOKUP_PROGS(GIT, git)
UTIL_LOOKUP_PROGS(NICE, nice)
UTIL_LOOKUP_PROGS(READLINK, greadlink readlink)
UTIL_LOOKUP_PROGS(WHOAMI, whoami)
# These are only needed on some platforms
UTIL_LOOKUP_PROGS(PATHTOOL, cygpath wslpath)
@@ -285,7 +286,7 @@ AC_DEFUN([BASIC_CHECK_TAR],
if test "x$TAR_TYPE" = "xgnu"; then
TAR_INCLUDE_PARAM="T"
TAR_SUPPORTS_TRANSFORM="true"
elif test "x$TAR_TYPE" = "aix"; then
elif test "x$TAR_TYPE" = "xaix"; then
# -L InputList of aix tar: name of file listing the files and directories
# that need to be archived or extracted
TAR_INCLUDE_PARAM="L"
@@ -433,7 +434,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
if test "x$PANDOC" != x; then
AC_MSG_CHECKING([for pandoc version])
PANDOC_VERSION=`$PANDOC --version 2>&1 | $HEAD -1 | $CUT -d " " -f 2`
PANDOC_VERSION=`$PANDOC --version 2>&1 | $TR -d '\r' | $HEAD -1 | $CUT -d " " -f 2`
AC_MSG_RESULT([$PANDOC_VERSION])
if test "x$PANDOC_VERSION" != x$RECOMMENDED_PANDOC_VERSION; then
@@ -442,7 +443,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
PANDOC_MARKDOWN_FLAG="markdown"
AC_MSG_CHECKING([if the pandoc smart extension needs to be disabled for markdown])
if $PANDOC --list-extensions | $GREP -q '\+smart'; then
if $PANDOC --list-extensions | $GREP -q '+smart'; then
AC_MSG_RESULT([yes])
PANDOC_MARKDOWN_FLAG="markdown-smart"
else

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -382,7 +382,7 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
# Finally, set some other options...
# Determine if the boot jdk jar supports the --date option
if $JAR --help 2>&1 | $GREP -q "\-\-date=TIMESTAMP"; then
if $JAR --help 2>&1 | $GREP -q -e "--date=TIMESTAMP"; then
BOOT_JDK_JAR_SUPPORTS_DATE=true
else
BOOT_JDK_JAR_SUPPORTS_DATE=false

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (c) 2012, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2021, Azul Systems, Inc. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
@@ -29,16 +29,27 @@
# and fix the broken property, if needed.
DIR=`dirname $0`
OUT=`. $DIR/autoconf-config.guess`
OUT=`. $DIR/autoconf-config.guess 2> /dev/null`
# Detect C library.
# Use '-gnu' suffix on systems that use glibc.
# Use '-musl' suffix on systems that use the musl libc.
echo $OUT | grep -- -linux- > /dev/null 2> /dev/null
if test $? = 0; then
libc_vendor=`ldd --version 2>&1 | sed -n '1s/.*\(musl\).*/\1/p'`
if [ x"${libc_vendor}" = x"musl" ]; then
OUT=`echo $OUT | sed 's/-gnu/-musl/'`
# Handle some cases that autoconf-config.guess is not capable of
if [ "x$OUT" = x ]; then
if [ `uname -s` = Linux ]; then
# Test and fix little endian MIPS.
if [ `uname -m` = mipsel ]; then
OUT=mipsel-unknown-linux-gnu
fi
# Test and fix cygwin machine arch .x86_64
elif [[ `uname -s` = CYGWIN* ]]; then
if [ `uname -m` = ".x86_64" ]; then
OUT=x86_64-unknown-cygwin
fi
fi
if [ "x$OUT" = x ]; then
# Run autoconf-config.guess again to get the error message.
. $DIR/autoconf-config.guess > /dev/null
else
printf "guessed by custom config.guess... " >&2
fi
fi
@@ -57,11 +68,11 @@ if test $? = 0; then
fi
# Test and fix wsl
echo $OUT | grep unknown-linux-gnu > /dev/null 2> /dev/null
echo $OUT | grep '\(unknown\|pc\)-linux-gnu' > /dev/null 2> /dev/null
if test $? = 0; then
uname -r | grep -i microsoft > /dev/null 2> /dev/null
if test $? = 0; then
OUT=`echo $OUT | sed -e 's/unknown-linux-gnu/pc-wsl/'`
OUT=`echo $OUT | sed -e 's/\(unknown\|pc\)-linux-gnu/pc-wsl/'`
fi
fi
@@ -81,57 +92,6 @@ if test $? = 0; then
OUT=powerpc$KERNEL_BITMODE`echo $OUT | sed -e 's/[^-]*//'`
fi
# Test and fix little endian PowerPC64.
# TODO: should be handled by autoconf-config.guess.
if [ "x$OUT" = x ]; then
if [ `uname -m` = ppc64le ]; then
if [ `uname -s` = Linux ]; then
OUT=powerpc64le-unknown-linux-gnu
fi
fi
fi
# Test and fix little endian MIPS.
if [ "x$OUT" = x ]; then
if [ `uname -s` = Linux ]; then
if [ `uname -m` = mipsel ]; then
OUT=mipsel-unknown-linux-gnu
elif [ `uname -m` = mips64el ]; then
OUT=mips64el-unknown-linux-gnu
fi
fi
fi
# Test and fix LoongArch64.
if [ "x$OUT" = x ]; then
if [ `uname -s` = Linux ]; then
if [ `uname -m` = loongarch64 ]; then
OUT=loongarch64-unknown-linux-gnu
fi
fi
fi
# Test and fix RISC-V.
if [ "x$OUT" = x ]; then
if [ `uname -s` = Linux ]; then
if [ `uname -m` = riscv64 ]; then
OUT=riscv64-unknown-linux-gnu
fi
fi
fi
# Test and fix cpu on macos-aarch64, uname -p reports arm, buildsys expects aarch64
echo $OUT | grep arm-apple-darwin > /dev/null 2> /dev/null
if test $? != 0; then
# The GNU version of uname may be on the PATH which reports arm64 instead
echo $OUT | grep arm64-apple-darwin > /dev/null 2> /dev/null
fi
if test $? = 0; then
if [ `uname -m` = arm64 ]; then
OUT=aarch64`echo $OUT | sed -e 's/[^-]*//'`
fi
fi
# Test and fix cpu on Macosx when C preprocessor is not on the path
echo $OUT | grep i386-apple-darwin > /dev/null 2> /dev/null
if test $? = 0; then

View File

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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -26,39 +26,29 @@
AC_DEFUN([BPERF_CHECK_CORES],
[
AC_MSG_CHECKING([for number of cores])
NUM_CORES=1
FOUND_CORES=no
if test -f /proc/cpuinfo; then
# Looks like a Linux (or cygwin) system
NUM_CORES=`cat /proc/cpuinfo | grep -c processor`
NUM_CORES=`cat /proc/cpuinfo | grep -cw processor`
if test "$NUM_CORES" -eq "0"; then
NUM_CORES=`cat /proc/cpuinfo | grep -c ^CPU`
fi
if test "$NUM_CORES" -ne "0"; then
FOUND_CORES=yes
fi
elif test -x /usr/sbin/sysctl; then
# Looks like a MacOSX system
NUM_CORES=`/usr/sbin/sysctl -n hw.ncpu`
FOUND_CORES=yes
elif test "x$OPENJDK_BUILD_OS" = xaix ; then
NUM_LCPU=`lparstat -m 2> /dev/null | $GREP -o "lcpu=[[0-9]]*" | $CUT -d "=" -f 2`
if test -n "$NUM_LCPU"; then
NUM_CORES=$NUM_LCPU
FOUND_CORES=yes
fi
NUM_CORES=`lparstat -m 2> /dev/null | $GREP -o "lcpu=[[0-9]]*" | $CUT -d "=" -f 2`
elif test -n "$NUMBER_OF_PROCESSORS"; then
# On windows, look in the env
NUM_CORES=$NUMBER_OF_PROCESSORS
FOUND_CORES=yes
fi
if test "x$FOUND_CORES" = xyes; then
AC_MSG_RESULT([$NUM_CORES])
else
if test "$NUM_CORES" -eq "0"; then
NUM_CORES=1
AC_MSG_RESULT([could not detect number of cores, defaulting to 1])
AC_MSG_WARN([This will disable all parallelism from build!])
else
AC_MSG_RESULT([$NUM_CORES])
fi
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -86,6 +86,7 @@ PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET
# Continue setting up basic stuff. Most remaining code require fundamental tools.
BASIC_SETUP_PATHS
BASIC_SETUP_BUILD_ENV
# Check if it's a pure open build or if custom sources are to be used.
JDKOPT_SETUP_OPEN_OR_CUSTOM
@@ -215,6 +216,12 @@ JDKOPT_SETUP_CODE_COVERAGE
# AddressSanitizer
JDKOPT_SETUP_ADDRESS_SANITIZER
# UndefinedBehaviorSanitizer
JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER
# LeakSanitizer
JDKOPT_SETUP_LEAK_SANITIZER
###############################################################################
#
# Check dependencies for external and internal libraries.

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -410,10 +410,56 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
[
UTIL_ARG_ENABLE(NAME: asan, DEFAULT: false,
UTIL_ARG_ENABLE(NAME: asan, DEFAULT: false, RESULT: ASAN_ENABLED,
DESC: [enable AddressSanitizer],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if AddressSanitizer (asan) is available])
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang" ||
test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
],
IF_ENABLED: [
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
# ASan is simply incompatible with gcc -Wstringop-truncation. See
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85650
# It's harmless to be suppressed in clang as well.
ASAN_CFLAGS="-fsanitize=address -Wno-stringop-truncation -fno-omit-frame-pointer -fno-common -DADDRESS_SANITIZER"
ASAN_LDFLAGS="-fsanitize=address"
elif test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
# -Oy- is equivalent to -fno-omit-frame-pointer in GCC/Clang.
ASAN_CFLAGS="-fsanitize=address -Oy- -DADDRESS_SANITIZER"
# MSVC produces a warning if you pass -fsanitize=address to the linker. It also complains
$ if -DEBUG is not passed to the linker when building with ASan.
ASAN_LDFLAGS="-debug"
fi
JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"
JVM_LDFLAGS="$JVM_LDFLAGS $ASAN_LDFLAGS"
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $ASAN_CFLAGS"
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $ASAN_CFLAGS"
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $ASAN_CFLAGS"
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $ASAN_CFLAGS"
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $ASAN_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $ASAN_LDFLAGS"
])
AC_SUBST(ASAN_ENABLED)
])
###############################################################################
#
# LeakSanitizer
#
AC_DEFUN_ONCE([JDKOPT_SETUP_LEAK_SANITIZER],
[
UTIL_ARG_ENABLE(NAME: lsan, DEFAULT: false, RESULT: LSAN_ENABLED,
DESC: [enable LeakSanitizer],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if LeakSanitizer (lsan) is available])
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
AC_MSG_RESULT([yes])
@@ -423,26 +469,60 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
fi
],
IF_ENABLED: [
# ASan is simply incompatible with gcc -Wstringop-truncation. See
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85650
# It's harmless to be suppressed in clang as well.
ASAN_CFLAGS="-fsanitize=address -Wno-stringop-truncation -fno-omit-frame-pointer"
ASAN_LDFLAGS="-fsanitize=address"
JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"
JVM_LDFLAGS="$JVM_LDFLAGS $ASAN_LDFLAGS"
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $ASAN_CFLAGS"
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $ASAN_CFLAGS"
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $ASAN_CFLAGS"
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $ASAN_CFLAGS"
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $ASAN_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $ASAN_LDFLAGS"
ASAN_ENABLED="yes"
],
IF_DISABLED: [
ASAN_ENABLED="no"
LSAN_CFLAGS="-fsanitize=leak -fno-omit-frame-pointer -DLEAK_SANITIZER"
LSAN_LDFLAGS="-fsanitize=leak"
JVM_CFLAGS="$JVM_CFLAGS $LSAN_CFLAGS"
JVM_LDFLAGS="$JVM_LDFLAGS $LSAN_LDFLAGS"
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $LSAN_CFLAGS"
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $LSAN_CFLAGS"
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $LSAN_CFLAGS"
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $LSAN_CFLAGS"
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $LSAN_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $LSAN_LDFLAGS"
])
AC_SUBST(LSAN_ENABLED)
])
AC_SUBST(ASAN_ENABLED)
###############################################################################
#
# UndefinedBehaviorSanitizer
#
AC_DEFUN_ONCE([JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER],
[
# GCC reports lots of likely false positives for stringop-truncation and format-overflow.
# Silence them for now.
UBSAN_CHECKS="-fsanitize=undefined -fsanitize=float-divide-by-zero -fno-sanitize=shift-base"
UBSAN_CFLAGS="$UBSAN_CHECKS -Wno-stringop-truncation -Wno-format-overflow -fno-omit-frame-pointer -DUNDEFINED_BEHAVIOR_SANITIZER"
UBSAN_LDFLAGS="$UBSAN_CHECKS"
UTIL_ARG_ENABLE(NAME: ubsan, DEFAULT: false, RESULT: UBSAN_ENABLED,
DESC: [enable UndefinedBehaviorSanitizer],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if UndefinedBehaviorSanitizer (ubsan) is available])
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
],
IF_ENABLED: [
JVM_CFLAGS="$JVM_CFLAGS $UBSAN_CFLAGS"
JVM_LDFLAGS="$JVM_LDFLAGS $UBSAN_LDFLAGS"
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $UBSAN_CFLAGS"
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $UBSAN_CFLAGS"
CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $UBSAN_CFLAGS"
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $UBSAN_CFLAGS"
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $UBSAN_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $UBSAN_LDFLAGS"
])
if test "x$UBSAN_ENABLED" = xfalse; then
UBSAN_CFLAGS=""
UBSAN_LDFLAGS=""
fi
AC_SUBST(UBSAN_CFLAGS)
AC_SUBST(UBSAN_LDFLAGS)
AC_SUBST(UBSAN_ENABLED)
])
################################################################################
@@ -742,7 +822,7 @@ AC_DEFUN([JDKOPT_CHECK_CODESIGN_PARAMS],
$RM "$CODESIGN_TESTFILE"
$TOUCH "$CODESIGN_TESTFILE"
CODESIGN_SUCCESS=false
$CODESIGN $PARAMS "$CODESIGN_TESTFILE" 2>&AS_MESSAGE_LOG_FD \
eval \"$CODESIGN\" $PARAMS \"$CODESIGN_TESTFILE\" 2>&AS_MESSAGE_LOG_FD \
>&AS_MESSAGE_LOG_FD && CODESIGN_SUCCESS=true
$RM "$CODESIGN_TESTFILE"
AC_MSG_CHECKING([$MESSAGE])
@@ -755,7 +835,7 @@ AC_DEFUN([JDKOPT_CHECK_CODESIGN_PARAMS],
AC_DEFUN([JDKOPT_CHECK_CODESIGN_HARDENED],
[
JDKOPT_CHECK_CODESIGN_PARAMS([-s "$MACOSX_CODESIGN_IDENTITY" --option runtime],
JDKOPT_CHECK_CODESIGN_PARAMS([-s \"$MACOSX_CODESIGN_IDENTITY\" --option runtime],
[if codesign with hardened runtime is possible])
])
@@ -781,7 +861,7 @@ AC_DEFUN([JDKOPT_SETUP_MACOSX_SIGNING],
# Check for user provided code signing identity.
UTIL_ARG_WITH(NAME: macosx-codesign-identity, TYPE: string,
DEFAULT: openjdk_codesign, CHECK_VALUE: UTIL_CHECK_STRING_NON_EMPTY,
DEFAULT: openjdk_codesign, CHECK_VALUE: [UTIL_CHECK_STRING_NON_EMPTY],
DESC: [specify the macosx code signing identity],
CHECKING_MSG: [for macosx code signing identity]
)

View File

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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -27,8 +27,9 @@
# Setup libraries and functionalities needed to test the JDK.
################################################################################
# Minimum supported version
# Minimum supported versions
JTREG_MINIMUM_VERSION=7.1.1
GTEST_MINIMUM_VERSION=1.13.0
###############################################################################
#
@@ -58,20 +59,13 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_GTEST],
AC_MSG_RESULT([$GTEST_FRAMEWORK_SRC])
UTIL_FIXUP_PATH([GTEST_FRAMEWORK_SRC])
# Try to verify version. We require 1.8.1, but this can not be directly
# determined. :-( Instead, there are different, incorrect version
# numbers we can look for.
GTEST_VERSION_1="`$GREP GOOGLETEST_VERSION $GTEST_FRAMEWORK_SRC/CMakeLists.txt | $SED -E -e 's/set\(GOOGLETEST_VERSION (.*)\)/\1/'`"
if test "x$GTEST_VERSION_1" != "x1.9.0"; then
AC_MSG_ERROR([gtest at $GTEST_FRAMEWORK_SRC does not seem to be version 1.8.1])
fi
# We cannot grep for "AC_IN*T" as a literal since then m4 will treat it as a macro
# and expand it.
# Additional [] needed to keep m4 from mangling shell constructs.
[ GTEST_VERSION_2="`$GREP -A1 ^.C_INIT $GTEST_FRAMEWORK_SRC/configure.ac | $TAIL -n 1 | $SED -E -e 's/ +\[(.*)],/\1/'`" ]
if test "x$GTEST_VERSION_2" != "x1.8.0"; then
AC_MSG_ERROR([gtest at $GTEST_FRAMEWORK_SRC does not seem to be version 1.8.1 B])
# Verify that the version is the required one.
# This is a simplified version of TOOLCHAIN_CHECK_COMPILER_VERSION
gtest_version="`$GREP GOOGLETEST_VERSION $GTEST_FRAMEWORK_SRC/CMakeLists.txt | $SED -E -e 's/set\(GOOGLETEST_VERSION (.*)\)/\1/'`"
comparable_actual_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$gtest_version"`
comparable_minimum_version=`$AWK -F. '{ printf("%05d%05d%05d%05d\n", [$]1, [$]2, [$]3, [$]4) }' <<< "$GTEST_MINIMUM_VERSION"`
if test $comparable_actual_version -lt $comparable_minimum_version ; then
AC_MSG_ERROR([gtest version is too old, at least version $GTEST_MINIMUM_VERSION is required])
fi
fi
fi
@@ -285,10 +279,16 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_JIB],
#
AC_DEFUN_ONCE([LIB_TESTS_ENABLE_DISABLE_FAILURE_HANDLER],
[
UTIL_ARG_ENABLE(NAME: jtreg-failure-handler, DEFAULT: auto,
if test "x$BUILD_ENV" = "xci"; then
BUILD_FAILURE_HANDLER_DEFAULT=auto
else
BUILD_FAILURE_HANDLER_DEFAULT=false
fi
UTIL_ARG_ENABLE(NAME: jtreg-failure-handler, DEFAULT: $BUILD_FAILURE_HANDLER_DEFAULT,
RESULT: BUILD_FAILURE_HANDLER,
DESC: [enable building of the jtreg failure handler],
DEFAULT_DESC: [enabled if jtreg is present],
DEFAULT_DESC: [enabled if jtreg is present and build env is CI],
CHECKING_MSG: [if the jtreg failure handler should be built],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if the jtreg failure handler is available])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -89,6 +89,33 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
fi
])
################################################################################
# Setup BASIC_JVM_LIBS that can be different depending on build/target platform
################################################################################
AC_DEFUN([LIB_SETUP_JVM_LIBS],
[
# Atomic library
# 32-bit platforms needs fallback library for 8-byte atomic ops on Zero
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
if test "x$OPENJDK_$1_OS" = xlinux &&
(test "x$OPENJDK_$1_CPU" = xarm ||
test "x$OPENJDK_$1_CPU" = xm68k ||
test "x$OPENJDK_$1_CPU" = xmips ||
test "x$OPENJDK_$1_CPU" = xmipsel ||
test "x$OPENJDK_$1_CPU" = xppc ||
test "x$OPENJDK_$1_CPU" = xsh ||
test "x$OPENJDK_$1_CPU" = xriscv32); then
BASIC_JVM_LIBS_$1="$BASIC_JVM_LIBS_$1 -latomic"
fi
fi
# Because RISC-V only has word-sized atomics, it requires libatomic where
# other common architectures do not, so link libatomic by default.
if test "x$OPENJDK_$1_OS" = xlinux && test "x$OPENJDK_$1_CPU" = xriscv64; then
BASIC_JVM_LIBS_$1="$BASIC_JVM_LIBS_$1 -latomic"
fi
])
################################################################################
# Parse library options, and setup needed libraries
################################################################################
@@ -109,6 +136,7 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
LIB_TESTS_SETUP_GTEST
BASIC_JDKLIB_LIBS=""
BASIC_JDKLIB_LIBS_TARGET=""
if test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
BASIC_JDKLIB_LIBS="-ljava -ljvm"
fi
@@ -135,27 +163,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lrt"
fi
# Atomic library
# 32-bit platforms needs fallback library for 8-byte atomic ops on Zero
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
if test "x$OPENJDK_TARGET_OS" = xlinux &&
(test "x$OPENJDK_TARGET_CPU" = xarm ||
test "x$OPENJDK_TARGET_CPU" = xm68k ||
test "x$OPENJDK_TARGET_CPU" = xmips ||
test "x$OPENJDK_TARGET_CPU" = xmipsel ||
test "x$OPENJDK_TARGET_CPU" = xppc ||
test "x$OPENJDK_TARGET_CPU" = xsh ||
test "x$OPENJDK_TARGET_CPU" = xriscv32); then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic"
fi
fi
# Because RISC-V only has word-sized atomics, it requires libatomic where
# other common architectures do not. So link libatomic by default.
if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xriscv64; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic"
fi
# perfstat lib
if test "x$OPENJDK_TARGET_OS" = xaix; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat"
@@ -163,15 +170,17 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
if test "x$OPENJDK_TARGET_OS" = xwindows; then
BASIC_JVM_LIBS="$BASIC_JVM_LIBS kernel32.lib user32.lib gdi32.lib winspool.lib \
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib \
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib powrprof.lib uuid.lib \
wsock32.lib winmm.lib version.lib psapi.lib"
fi
LIB_SETUP_JVM_LIBS(BUILD)
LIB_SETUP_JVM_LIBS(TARGET)
JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
JDKEXE_LIBS=""
JVM_LIBS="$BASIC_JVM_LIBS"
JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_TARGET"
OPENJDK_BUILD_JDKLIB_LIBS="$BASIC_JDKLIB_LIBS"
OPENJDK_BUILD_JVM_LIBS="$BASIC_JVM_LIBS"
OPENJDK_BUILD_JVM_LIBS="$BASIC_JVM_LIBS $BASIC_JVM_LIBS_BUILD"
AC_SUBST(JDKLIB_LIBS)
AC_SUBST(JDKEXE_LIBS)

View File

@@ -446,14 +446,15 @@ JCOV_INPUT_JDK=@JCOV_INPUT_JDK@
JCOV_FILTERS=@JCOV_FILTERS@
# AddressSanitizer
export ASAN_ENABLED:=@ASAN_ENABLED@
export DEVKIT_LIB_DIR:=@DEVKIT_LIB_DIR@
ifeq ($(ASAN_ENABLED), yes)
export ASAN_OPTIONS=handle_segv=0 detect_leaks=0
ifneq ($(DEVKIT_LIB_DIR),)
export LD_LIBRARY_PATH:=$(LD_LIBRARY_PATH):$(DEVKIT_LIB_DIR)
endif
endif
ASAN_ENABLED:=@ASAN_ENABLED@
# LeakSanitizer
LSAN_ENABLED:=@LSAN_ENABLED@
# UndefinedBehaviorSanitizer
UBSAN_ENABLED:=@UBSAN_ENABLED@
UBSAN_CFLAGS:=@UBSAN_CFLAGS@
UBSAN_LDFLAGS:=@UBSAN_LDFLAGS@
# Necessary additional compiler flags to compile X11
X_CFLAGS:=@X_CFLAGS@

View File

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

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -521,7 +521,7 @@ AC_DEFUN([UTIL_REMOVE_SYMBOLIC_LINKS],
sym_link_dir=`pwd -P`
# Resolve file symlinks
while test $COUNTER -lt 20; do
ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP -e '->' | $SED -e 's/.*-> \(.*\)/\1/'`
if test "x$ISLINK" == x; then
# This is not a symbolic link! We are done!
break

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -41,15 +41,12 @@ ifeq ($(TOOLCHAIN_TYPE), gcc)
CFLAGS_JDKLIB += -fvisibility=hidden
CXXFLAGS_JDKLIB += -fvisibility=hidden
LDFLAGS_JDKLIB += -Wl,--exclude-libs,ALL
EXPORT_ALL_SYMBOLS := -fvisibility=default
else ifeq ($(TOOLCHAIN_TYPE), clang)
CFLAGS_JDKLIB += -fvisibility=hidden
CXXFLAGS_JDKLIB += -fvisibility=hidden
EXPORT_ALL_SYMBOLS := -fvisibility=default
else ifeq ($(TOOLCHAIN_TYPE), xlc)
CFLAGS_JDKLIB += -qvisibility=hidden
CXXFLAGS_JDKLIB += -qvisibility=hidden
EXPORT_ALL_SYMBOLS := -qvisibility=default
endif
# Put the libraries here.

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,7 @@
# Versions and download locations for dependencies used by GitHub Actions (GHA)
GTEST_VERSION=1.8.1
GTEST_VERSION=1.13.0
JTREG_VERSION=7.1.1+1
LINUX_X64_BOOT_JDK_EXT=tar.gz

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -242,14 +242,15 @@ var getJibProfilesCommon = function (input, data) {
common.main_profile_names = [
"linux-x64", "linux-x86", "macosx-x64", "macosx-aarch64",
"windows-x64", "windows-x86", "windows-aarch64",
"linux-aarch64", "linux-arm32", "linux-ppc64le", "linux-s390x"
"linux-aarch64", "linux-arm32", "linux-ppc64le", "linux-s390x",
"linux-riscv64"
];
// These are the base settings for all the main build profiles.
common.main_profile_base = {
dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf", "jmh", "jcov"],
default_make_targets: ["product-bundles", "test-bundles", "static-libs-bundles"],
configure_args: concat("--enable-jtreg-failure-handler",
configure_args: concat(
"--with-exclude-translations=es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
"--disable-manpages",
"--disable-jvm-feature-shenandoahgc",
@@ -519,6 +520,17 @@ var getJibProfilesProfiles = function (input, common, data) {
"--disable-warnings-as-errors"
],
},
"linux-riscv64": {
target_os: "linux",
target_cpu: "riscv64",
build_cpu: "x64",
dependencies: ["devkit", "gtest", "build_devkit"],
configure_args: [
"--openjdk-target=riscv64-linux-gnu", "--with-freetype=bundled",
"--disable-warnings-as-errors"
],
},
};
// Add the base settings to all the main profiles
@@ -714,7 +726,10 @@ var getJibProfilesProfiles = function (input, common, data) {
},
"linux-s390x": {
platform: "linux-s390x",
}
},
"linux-riscv64": {
platform: "linux-riscv64",
},
}
// Generate common artifacts for all main profiles
Object.keys(artifactData).forEach(function (name) {
@@ -798,24 +813,6 @@ var getJibProfilesProfiles = function (input, common, data) {
}
});
// Define the reference implementation profiles. These are basically the same
// as the open profiles, but upload artifacts to a different location.
common.main_profile_names.forEach(function (name) {
var riName = name + "-ri";
var riDebugName = riName + common.debug_suffix;
var openName = name + common.open_suffix;
var openDebugName = openName + common.debug_suffix;
profiles[riName] = clone(profiles[openName]);
profiles[riDebugName] = clone(profiles[openDebugName]);
// Rewrite all remote dirs to "bundles/openjdk/BCL/..."
for (artifactName in profiles[riName].artifacts) {
var artifact = profiles[riName].artifacts[artifactName];
artifact.remote = replaceAll(
"\/GPL\/", "/BCL/",
(artifact.remote != null ? artifact.remote : artifact.local));
}
});
// For open profiles, the non-debug jdk bundles, need an "open" prefix on the
// remote bundle names, forming the word "openjdk". See JDK-8188789.
common.main_profile_names.forEach(function (name) {
@@ -944,7 +941,7 @@ var getJibProfilesProfiles = function (input, common, data) {
target_cpu: input.build_cpu,
dependencies: [
"jtreg", "gnumake", "boot_jdk", "devkit", "jib", "jcov", testedProfileJdk,
testedProfileTest, testedProfile + ".jdk_symbols",
testedProfileTest,
],
src: "src.conf",
make_args: testOnlyMake,
@@ -958,6 +955,9 @@ var getJibProfilesProfiles = function (input, common, data) {
labels: "test"
}
};
if (!testedProfile.endsWith("-jcov")) {
testOnlyProfilesPrebuilt["run-test-prebuilt"]["dependencies"].push(testedProfile + ".jdk_symbols");
}
// If actually running the run-test-prebuilt profile, verify that the input
// variable is valid and if so, add the appropriate target_* values from
@@ -987,11 +987,25 @@ var getJibProfilesProfiles = function (input, common, data) {
dependencies: [ "lldb" ],
environment_path: [
input.get("gnumake", "install_path") + "/bin",
input.get("lldb", "install_path") + "/Xcode.app/Contents/Developer/usr/bin",
input.get("lldb", "install_path") + "/Xcode/Contents/Developer/usr/bin",
],
};
profiles["run-test"] = concatObjects(profiles["run-test"], macosxRunTestExtra);
profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], macosxRunTestExtra);
} else if (input.build_os == "windows") {
// On windows, add the devkit debugger to the path in all the run-test profiles
// to make them available to the jtreg failure handler.
var archDir = "x64";
if (input.build_arch == "aarch64") {
archDir = "arm64"
}
windowsRunTestExtra = {
environment_path: [
input.get("devkit", "install_path") + "/10/Debuggers/" + archDir
]
}
profiles["run-test"] = concatObjects(profiles["run-test"], windowsRunTestExtra);
profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], windowsRunTestExtra);
}
// The profile run-test-prebuilt defines src.conf as the src bundle. When
@@ -1032,12 +1046,13 @@ var getJibProfilesDependencies = function (input, common) {
var devkit_platform_revisions = {
linux_x64: "gcc11.2.0-OL6.4+1.0",
macosx: "Xcode12.4+1.0",
windows_x64: "VS2022-17.1.0+1.0",
linux_aarch64: "gcc11.2.0-OL7.6+1.0",
macosx: "Xcode12.4+1.1",
windows_x64: "VS2022-17.1.0+1.1",
linux_aarch64: input.build_cpu == "x64" ? "gcc11.2.0-OL7.6+1.1" : "gcc11.2.0-OL7.6+1.0",
linux_arm: "gcc8.2.0-Fedora27+1.0",
linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
linux_s390x: "gcc8.2.0-Fedora27+1.0"
linux_s390x: "gcc8.2.0-Fedora27+1.0",
linux_riscv64: "gcc11.3.0-Fedora_rawhide_68692+1.1"
};
var devkit_platform = (input.target_cpu == "x86"
@@ -1123,7 +1138,7 @@ var getJibProfilesDependencies = function (input, common) {
organization: common.organization,
ext: "tar.gz",
module: "devkit-macosx" + (input.build_cpu == "x64" ? "_x64" : ""),
revision: (input.build_cpu == "x64" ? "Xcode11.3.1-MacOSX10.15+1.1" : devkit_platform_revisions[devkit_platform])
revision: (input.build_cpu == "x64" ? "Xcode11.3.1-MacOSX10.15+1.2" : devkit_platform_revisions[devkit_platform])
},
cups: {
@@ -1151,7 +1166,7 @@ var getJibProfilesDependencies = function (input, common) {
jcov: {
organization: common.organization,
revision: "3.0-13-jdk-asm+1.0",
revision: "3.0-14-jdk-asm+1.0",
ext: "zip",
environment_name: "JCOV_HOME",
},
@@ -1217,7 +1232,7 @@ var getJibProfilesDependencies = function (input, common) {
gtest: {
organization: common.organization,
ext: "tar.gz",
revision: "1.8.1"
revision: "1.13.0+1.0"
},
};

View File

@@ -0,0 +1,73 @@
/*
* Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef ADDRESS_SANITIZER
#error "Build misconfigured, preprocessor macro ADDRESS_SANITIZER should be defined"
#endif
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(visibility)
#define ATTRIBUTE_DEFAULT_VISIBILITY __attribute__((visibility("default")))
#elif defined(_MSC_VER)
#define ATTRIBUTE_DEFAULT_VISIBILITY __declspec(dllexport)
#else
#define ATTRIBUTE_DEFAULT_VISIBILITY
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(used)
#define ATTRIBUTE_USED __attribute__((used))
#else
#define ATTRIBUTE_USED
#endif
#if defined(_MSC_VER)
#define CDECL __cdecl
#else
#define CDECL
#endif
// Override weak symbol exposed by ASan to override default options. This is called by ASan
// extremely early during library loading, before main is called. We need to override the default
// options because LSan is enabled by default and Hotspot is not yet compatible with it.
// Additionally we need to prevent ASan from handling SIGSEGV, so that Hotspot's crash handler is
// used. You can override these options by setting the environment variable ASAN_OPTIONS.
ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* CDECL __asan_default_options() {
return
#ifdef LEAK_SANITIZER
"leak_check_at_exit=0,"
#else
// ASan bundles LSan, however we only support LSan when it is explicitly requested during
// configuration. Thus we disable it to match if it was not requested.
"detect_leaks=0,"
#endif
"print_suppressions=0,"
"handle_segv=0,"
// See https://github.com/google/sanitizers/issues/1322. Hopefully this is resolved
// at some point and we can remove this option.
"intercept_tls_get_addr=0";
}

View File

@@ -0,0 +1,30 @@
/*
* Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
extern "C" {
#include "./asan_default_options.c"
} // extern "C"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -476,6 +476,11 @@ charset x-IBM874 IBM874
alias ibm-874
alias 874
# alias for GB18030 is generated at runtime
charset GB18030 GB18030
package sun.nio.cs
type source
########################################################
#
# charsets provided by ExtendedCharsets provider.
@@ -563,11 +568,6 @@ charset GBK GBK # Simplified Chinese
alias windows-936
alias CP936
charset GB18030 GB18030
package sun.nio.cs.ext
type template
alias gb18030-2000
charset GB2312 EUC_CN
package sun.nio.cs.ext
type dbcs

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,67 @@
/*
* Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef LEAK_SANITIZER
#error "Build misconfigured, preprocessor macro LEAK_SANITIZER should be defined"
#endif
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(visibility)
#define ATTRIBUTE_DEFAULT_VISIBILITY __attribute__((visibility("default")))
#else
#define ATTRIBUTE_DEFAULT_VISIBILITY
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(used)
#define ATTRIBUTE_USED __attribute__((used))
#else
#define ATTRIBUTE_USED
#endif
// Override weak symbol exposed by LSan to override default options. This is called by LSan
// extremely early during library loading, before main is called. We need to override the default
// options because LSan will perform leak checking at program exit. Unfortunately Hotspot does not
// shutdown cleanly at the moment and some leaks occur, we want to ignore these. Instead we
// explicitly perform leak checking early during JVM shutdown.
ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __lsan_default_options() {
return
"print_suppressions=0,"
"leak_check_at_exit=0,"
// See https://github.com/google/sanitizers/issues/1322. Hopefully this is resolved
// at some point and we can remove this option.
"intercept_tls_get_addr=0";
}
// Override weak symbol exposed by LSan to override default suppressions. This is called by LSan
// extremely early during library loading, before main is called.
ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __lsan_default_suppressions() {
return
// Remove after JDK-8297688 is resolved.
"leak:^JLI_MemAlloc$\n"
"leak:^JLI_StringDup$\n";
}

View File

@@ -0,0 +1,30 @@
/*
* Copyright (c) 2023, Google and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
extern "C" {
#include "./lsan_default_options.c"
} // extern "C"

View File

@@ -0,0 +1,54 @@
/*
* Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#ifndef UNDEFINED_BEHAVIOR_SANITIZER
#error "Build misconfigured, preprocessor macro UNDEFINED_BEHAVIOR_SANITIZER should be defined"
#endif
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(visibility)
#define ATTRIBUTE_DEFAULT_VISIBILITY __attribute__((visibility("default")))
#else
#define ATTRIBUTE_DEFAULT_VISIBILITY
#endif
#if (defined(__GNUC__) && !defined(__clang__)) || __has_attribute(used)
#define ATTRIBUTE_USED __attribute__((used))
#else
#define ATTRIBUTE_USED
#endif
// Override weak symbol exposed by UBSan to override default options. This is called by UBSan
// extremely early during library loading, before main is called. We need to override the default
// options because by default UBSan only prints a warning for each occurrence. We want jtreg tests
// to fail when undefined behavior is encountered. We also want a full stack trace for the offending
// thread so it is easier to track down. You can override these options by setting the environment
// variable UBSAN_OPTIONS.
ATTRIBUTE_DEFAULT_VISIBILITY ATTRIBUTE_USED const char* __ubsan_default_options() {
return "halt_on_error=1,print_stacktrace=1";
}

View File

@@ -0,0 +1,30 @@
/*
* 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.
*/
extern "C" {
#include "./ubsan_default_options.c"
} // extern "C"

View File

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

View File

@@ -1,6 +1,6 @@
#!/bin/bash -e
#
# Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -40,10 +40,22 @@ mkdir -p $BUILD_DIR $JAR_DIR
cd $JAR_DIR
rm -f *
wget https://repo.maven.apache.org/maven2/org/apache/commons/commons-math3/$COMMONS_MATH3_VERSION/commons-math3-$COMMONS_MATH3_VERSION.jar
wget https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/$JOPT_SIMPLE_VERSION/jopt-simple-$JOPT_SIMPLE_VERSION.jar
wget https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-core/$JMH_VERSION/jmh-core-$JMH_VERSION.jar
wget https://repo.maven.apache.org/maven2/org/openjdk/jmh/jmh-generator-annprocess/$JMH_VERSION/jmh-generator-annprocess-$JMH_VERSION.jar
fetchJar() {
url="https://repo.maven.apache.org/maven2/$1/$2/$3/$2-$3.jar"
if command -v curl > /dev/null; then
curl -O --fail $url
elif command -v wget > /dev/null; then
wget $url
else
echo "Could not find either curl or wget"
exit 1
fi
}
fetchJar org/apache/commons commons-math3 $COMMONS_MATH3_VERSION
fetchJar net/sf/jopt-simple jopt-simple $JOPT_SIMPLE_VERSION
fetchJar org/openjdk/jmh jmh-core $JMH_VERSION
fetchJar org/openjdk/jmh jmh-generator-annprocess $JMH_VERSION
tar -cvzf ../$BUNDLE_NAME *

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,12 @@
# This script copies parts of a Visual Studio installation into a devkit
# suitable for building OpenJDK and OracleJDK. Needs to run in Cygwin or WSL.
#
# To include the debugger tools for the jtreg failure_handler, those need to
# be explicitly added to the Windows SDK installation first. That is done
# through Windows Settings - Apps, find the Windows Software Development Kit
# installation, click modify, and add the debugger tools.
#
# erik.joelsson@oracle.com
usage_and_exit() {
@@ -197,6 +203,17 @@ mkdir -p $DEVKIT_ROOT/$SDK_VERSION/Redist
cp -r "$SDK_INSTALL_DIR/Redist/$UCRT_VERSION/ucrt" $DEVKIT_ROOT/$SDK_VERSION/Redist/
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/include
cp -r "$SDK_INSTALL_DIR/include/$SDK_FULL_VERSION/"* $DEVKIT_ROOT/$SDK_VERSION/include/
if [ -d "$SDK_INSTALL_DIR/Debuggers" ]; then
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib
cp -r "$SDK_INSTALL_DIR/Debuggers/arm64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/
cp -r "$SDK_INSTALL_DIR/Debuggers/x64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/
cp -r "$SDK_INSTALL_DIR/Debuggers/x86" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/
cp -r "$SDK_INSTALL_DIR/Debuggers/lib/arm64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib/
cp -r "$SDK_INSTALL_DIR/Debuggers/lib/x64" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib/
cp -r "$SDK_INSTALL_DIR/Debuggers/lib/x86" $DEVKIT_ROOT/$SDK_VERSION/Debuggers/lib/
else
echo "No SDK debuggers found, skipping"
fi
################################################################################
# Generate devkit.info
@@ -211,14 +228,14 @@ echo-info "# This file describes to configure how to interpret the contents of t
echo-info "DEVKIT_NAME=\"Microsoft Visual Studio $VS_VERSION $VS_VERSION_SP (devkit)\""
echo-info "DEVKIT_VS_VERSION=\"$VS_VERSION\""
echo-info ""
echo-info "DEVKIT_TOOLCHAIN_PATH_x86=\"\$DEVKIT_ROOT/VC/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
echo-info "DEVKIT_TOOLCHAIN_PATH_x86=\"\$DEVKIT_ROOT/VC/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/Debuggers/x86\""
echo-info "DEVKIT_VS_INCLUDE_x86=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
echo-info "DEVKIT_VS_LIB_x86=\"\$DEVKIT_ROOT/VC/lib/x86;\$DEVKIT_ROOT/VC/atlmfc/lib/x86;\$DEVKIT_ROOT/$SDK_VERSION/lib/x86\""
echo-info "DEVKIT_MSVCR_DLL_x86=\"\$DEVKIT_ROOT/VC/redist/x86/$MSVCR_DLL\""
echo-info "DEVKIT_MSVCP_DLL_x86=\"\$DEVKIT_ROOT/VC/redist/x86/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_x86=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x86\""
echo-info ""
echo-info "DEVKIT_TOOLCHAIN_PATH_x86_64=\"\$DEVKIT_ROOT/VC/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
echo-info "DEVKIT_TOOLCHAIN_PATH_x86_64=\"\$DEVKIT_ROOT/VC/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/Debuggers/x64\""
echo-info "DEVKIT_VS_INCLUDE_x86_64=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
echo-info "DEVKIT_VS_LIB_x86_64=\"\$DEVKIT_ROOT/VC/lib/x64;\$DEVKIT_ROOT/VC/atlmfc/lib/x64;\$DEVKIT_ROOT/$SDK_VERSION/lib/x64\""
echo-info "DEVKIT_MSVCR_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL\""
@@ -226,7 +243,7 @@ echo-info "DEVKIT_VCRUNTIME_1_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$VCRUNTIM
echo-info "DEVKIT_MSVCP_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_x86_64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x64\""
echo-info ""
echo-info "DEVKIT_TOOLCHAIN_PATH_aarch64=\"\$DEVKIT_ROOT/VC/bin/arm64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
echo-info "DEVKIT_TOOLCHAIN_PATH_aarch64=\"\$DEVKIT_ROOT/VC/bin/arm64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86:\$DEVKIT_ROOT/$SDK_VERSION/Debuggers/arm64\""
echo-info "DEVKIT_VS_INCLUDE_aarch64=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
echo-info "DEVKIT_VS_LIB_aarch64=\"\$DEVKIT_ROOT/VC/lib/arm64;\$DEVKIT_ROOT/VC/atlmfc/lib/arm64;\$DEVKIT_ROOT/$SDK_VERSION/lib/arm64\""
echo-info "DEVKIT_MSVCR_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCR_DLL\""

View File

@@ -0,0 +1,14 @@
diff -ur a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2022-11-30 12:25:37.363419659 +0100
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 2022-11-30 12:42:48.135412054 +0100
@@ -59,7 +59,9 @@
#if !SANITIZER_ANDROID
#include <fstab.h>
-#include <sys/mount.h>
+// sys/mount.h conflicts with linux/fs.h in glibc 2.36+
+// See https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E
+// This has been fixed elsewhere, but apparently not in Fedora riscv.
#include <sys/timeb.h>
#include <utmpx.h>
#endif

View File

@@ -59,6 +59,11 @@ ifeq ($(call check-jvm-feature, compiler2), true)
# Add file macro mappings
ADLC_CFLAGS += $(FILE_MACRO_CFLAGS)
ifeq ($(UBSAN_ENABLED), true)
ADLC_CFLAGS += $(UBSAN_CFLAGS)
ADLC_LDFLAGS += $(UBSAN_LDFLAGS)
endif
$(eval $(call SetupNativeCompilation, BUILD_ADLC, \
NAME := adlc, \
TYPE := EXECUTABLE, \

View File

@@ -28,6 +28,14 @@ $(eval $(call IncludeCustomExtension, hotspot/lib/CompileGtest.gmk))
GTEST_TEST_SRC += $(TOPDIR)/test/hotspot/gtest
GTEST_LAUNCHER_SRC := $(TOPDIR)/test/hotspot/gtest/gtestLauncher.cpp
ifeq ($(ASAN_ENABLED), true)
GTEST_LAUNCHER_SRC += $(TOPDIR)/make/data/asan/asan_default_options.cpp
endif
ifeq ($(LSAN_ENABLED), true)
GTEST_LAUNCHER_SRC += $(TOPDIR)/make/data/lsan/lsan_default_options.cpp
endif
# On Windows, there are no internal debug symbols so must set copying to true
# to get any at all.
ifeq ($(call isTargetOs, windows), true)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -166,8 +166,10 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJVM, \
DISABLED_WARNINGS_clang_g1ParScanThreadState.cpp := delete-abstract-non-virtual-dtor, \
DISABLED_WARNINGS_clang_g1YoungGCPostEvacuateTasks.cpp := delete-abstract-non-virtual-dtor, \
DISABLED_WARNINGS_clang_management.cpp := missing-field-initializers, \
DISABLED_WARNINGS_clang_notificationThread.cpp := bitwise-instead-of-logical, \
DISABLED_WARNINGS_clang_os_posix.cpp := mismatched-tags missing-field-initializers, \
DISABLED_WARNINGS_clang_postaloc.cpp := tautological-undefined-compare, \
DISABLED_WARNINGS_clang_serviceThread.cpp := bitwise-instead-of-logical, \
DISABLED_WARNINGS_clang_vm_version_x86.cpp := missing-field-initializers, \
DISABLED_WARNINGS_clang_zTracer.cpp := undefined-var-template, \
DISABLED_WARNINGS_xlc := $(DISABLED_WARNINGS_xlc), \

View File

@@ -67,10 +67,12 @@ JVM_CFLAGS_TARGET_DEFINES += \
#
ifeq ($(DEBUG_LEVEL), release)
# release builds disable uses of assert macro from <assert.h>.
JVM_CFLAGS_DEBUGLEVEL := -DNDEBUG
# For hotspot, release builds differ internally between "optimized" and "product"
# in that "optimize" does not define PRODUCT.
ifneq ($(HOTSPOT_DEBUG_LEVEL), optimized)
JVM_CFLAGS_DEBUGLEVEL := -DPRODUCT
JVM_CFLAGS_DEBUGLEVEL += -DPRODUCT
endif
else ifeq ($(DEBUG_LEVEL), fastdebug)
JVM_CFLAGS_DEBUGLEVEL := -DASSERT

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -41,10 +41,22 @@ ifeq ($(call isTargetOs, windows), true)
$(foreach v, $(JVM_VARIANTS), \
$(eval $(call SetupCopyFiles, COPY_GTEST_MSVCR_$v, \
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
FILES := $(MSVCR_DLL) $(VCRUNTIME_1_DLL) $(MSVCP_DLL), \
FILES := $(MSVCR_DLL), \
FLATTEN := true, \
)) \
$(eval TARGETS += $$(COPY_GTEST_MSVCR_$v)) \
$(eval $(call SetupCopyFiles, COPY_GTEST_VCRUNTIME_1_$v, \
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
FILES := $(VCRUNTIME_1_DLL), \
FLATTEN := true, \
)) \
$(eval TARGETS += $$(COPY_GTEST_VCRUNTIME_1_$v)) \
$(eval $(call SetupCopyFiles, COPY_GTEST_MSVCP_$v, \
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
FILES := $(MSVCP_DLL), \
FLATTEN := true, \
)) \
$(eval TARGETS += $$(COPY_GTEST_MSVCP_$v)) \
$(if $(call equals, $(COPY_DEBUG_SYMBOLS), true), \
$(eval $(call SetupCopyFiles, COPY_GTEST_PDB_$v, \
SRC := $(HOTSPOT_OUTPUTDIR)/variant-$v/libjvm/gtest, \

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -50,18 +50,19 @@ public class SPI {
out.println(line);
} else {
charsets.values()
.stream()
.filter(cs -> cs.pkgName.equals("sun.nio.cs.ext") &&
!cs.isInternal &&
(cs.os == null || cs.os.equals(os)))
.forEach( cs -> {
out.printf(" charset(\"%s\", \"%s\",%n", cs.csName, cs.clzName);
out.printf(" new String[] {%n");
for (String alias : cs.aliases) {
out.printf(" \"%s\",%n", alias);
}
out.printf(" });%n%n");
});
.stream()
.filter(cs -> cs.pkgName.equals("sun.nio.cs.ext") &&
!cs.isInternal &&
(cs.os == null || cs.os.equals(os)))
.forEach( cs -> {
out.printf(" charset(\"%s\", \"%s\",%n", cs.csName, cs.clzName);
out.printf(" new String[] {%n");
for (String alias : cs.aliases) {
out.printf(" \"%s\",%n",
alias);
}
out.printf(" });%n%n");
});
}
}
} else if (type.startsWith("stdcs")) { // StandardCharsets.java
@@ -93,8 +94,15 @@ public class SPI {
.filter(cs -> cs.pkgName.equals("sun.nio.cs"))
.forEach( cs -> {
if (cs.aliases == null || cs.aliases.length == 0) {
out.printf(" static String[] aliases_%s() { return null; }%n%n",
cs.clzName);
if (cs.csName.equals("GB18030")) {
out.printf(" static String[] aliases_GB18030() { return new String[] {%n");
out.printf(" GB18030.IS_2000 ? \"gb18030-2000\" : \"gb18030-2022\"%n");
out.printf(" };%n");
out.printf(" }%n%n");
} else {
out.printf(" static String[] aliases_%s() { return null; }%n%n",
cs.clzName);
}
} else {
boolean methodEnd = true;
// non-final for SJIS and MS932 to support sun.nio.cs.map

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -147,6 +147,12 @@ public class HelloClasslist {
invoke(handle("staticMethod_V", MethodType.methodType(void.class)));
LOGGER.log(Level.FINE, "New Date: " + newDate + " - old: " + oldDate);
// The Striped64$Cell is loaded rarely only when there's a contention among
// multiple threads performing LongAdder.increment(). This results in
// an inconsistency in the classlist between builds (see JDK-8295951).
// To avoid the problem, load the class explicitly.
Class<?> striped64Class = Class.forName("java.util.concurrent.atomic.Striped64$Cell");
}
public HelloClasslist() {}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,8 +34,6 @@ import java.text.MessageFormat;
import java.time.*;
import java.util.*;
import java.util.ResourceBundle.Control;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
@@ -609,16 +607,19 @@ public class CLDRConverter {
* Translate the aliases into the real entries in the bundle map.
*/
static void handleAliases(Map<String, Object> bundleMap) {
Set<String> bundleKeys = bundleMap.keySet();
try {
for (String key : aliases.keySet()) {
String targetKey = aliases.get(key);
if (bundleKeys.contains(targetKey)) {
bundleMap.putIfAbsent(key, bundleMap.get(targetKey));
for (String key : aliases.keySet()) {
var source = bundleMap.get(aliases.get(key));
if (source != null) {
if (bundleMap.get(key) instanceof String[] sa) {
// fill missing elements in case of String array
for (int i = 0; i < sa.length; i++) {
if (sa[i] == null && ((String[])source)[i] != null) {
sa[i] = ((String[])source)[i];
}
}
}
bundleMap.putIfAbsent(key, source);
}
} catch (Exception ex) {
Logger.getLogger(CLDRConverter.class.getName()).log(Level.SEVERE, null, ex);
}
}
@@ -633,7 +634,7 @@ public class CLDRConverter {
/**
* Examine if the id includes the country (territory) code. If it does, it returns
* the country code.
* Otherwise, it returns null. eg. when the id is "zh_Hans_SG", it return "SG".
* Otherwise, it returns null. eg. when the id is "zh_Hans_SG", it returns "SG".
* It does NOT return UN M.49 code, e.g., '001', as those three digit numbers cannot
* be translated into package names.
*/
@@ -645,13 +646,21 @@ public class CLDRConverter {
/**
* Examine if the id includes the region code. If it does, it returns
* the region code.
* Otherwise, it returns null. eg. when the id is "zh_Hans_SG", it return "SG".
* Otherwise, it returns null. eg. when the id is "zh_Hans_SG", it returns "SG".
* It DOES return UN M.49 code, e.g., '001', as well as ISO 3166 two letter country codes.
*/
static String getRegionCode(String id) {
return Locale.forLanguageTag(id.replaceAll("_", "-")).getCountry();
}
/**
* Examine if the id includes the script code. If it does, it returns
* the script code.
*/
static String getScriptCode(String id) {
return Locale.forLanguageTag(id.replaceAll("_", "-")).getScript();
}
private static class KeyComparator implements Comparator<String> {
static KeyComparator INSTANCE = new KeyComparator();
@@ -1020,6 +1029,7 @@ public class CLDRConverter {
private static void setupBaseLocales(String localeList) {
Arrays.stream(localeList.split(","))
.map(Locale::forLanguageTag)
.map(l -> new Locale.Builder().setLocale(l).setScript("Latn").build())
.map(l -> Control.getControl(Control.FORMAT_DEFAULT)
.getCandidateLocales("", l))
.forEach(BASE_LOCALES::addAll);

View File

@@ -417,11 +417,11 @@ class ResourceBundleGenerator implements BundleGenerator {
private static final Locale.Builder LOCALE_BUILDER = new Locale.Builder();
private static boolean isBaseLocale(String localeID) {
localeID = localeID.replaceAll("-", "_");
// ignore script here
Locale locale = LOCALE_BUILDER
.clear()
.setLanguage(CLDRConverter.getLanguageCode(localeID))
.setRegion(CLDRConverter.getRegionCode(localeID))
.setScript(CLDRConverter.getScriptCode(localeID))
.build();
return CLDRConverter.BASE_LOCALES.contains(locale);
}

View File

@@ -40,6 +40,7 @@ import java.util.stream.Collectors;
import static java.lang.System.lineSeparator;
import static java.nio.file.StandardOpenOption.*;
import static java.util.stream.Collectors.joining;
import static jdk.javadoc.doclet.Taglet.Location.TYPE;
/**
@@ -98,7 +99,7 @@ public final class SealedGraph implements Taglet {
.map(Objects::toString)
.collect(Collectors.toUnmodifiableSet());
String dotContent = Renderer.graph(typeElement, exports);
String dotContent = new Renderer().graph(typeElement, exports);
try {
Files.writeString(dotFile, dotContent, WRITE, CREATE, TRUNCATE_EXISTING);
@@ -133,13 +134,10 @@ public final class SealedGraph implements Taglet {
(height <= 0 ? "" : " height=\"" + height + "\""));
}
private static final class Renderer {
private Renderer() {
}
private final class Renderer {
// Generates a graph in DOT format
static String graph(TypeElement rootClass, Set<String> exports) {
String graph(TypeElement rootClass, Set<String> exports) {
final State state = new State(rootClass);
traverse(state, rootClass, exports);
return state.render();
@@ -155,17 +153,21 @@ public final class SealedGraph implements Taglet {
}
}
private static final class State {
private final class State {
private static final String LABEL = "label";
private static final String TOOLTIP = "tooltip";
private static final String LINK = "href";
private static final String STYLE = "style";
private final TypeElement rootNode;
private final StringBuilder builder;
private final Map<String, Map<String, String>> nodeStyleMap;
public State(TypeElement rootNode) {
this.rootNode = rootNode;
nodeStyleMap = new LinkedHashMap<>();
builder = new StringBuilder()
.append("digraph G {")
@@ -188,12 +190,30 @@ public final class SealedGraph implements Taglet {
var styles = nodeStyleMap.computeIfAbsent(id(node), n -> new LinkedHashMap<>());
styles.put(LABEL, node.getSimpleName().toString());
styles.put(TOOLTIP, node.getQualifiedName().toString());
styles.put(LINK, relativeLink(node));
if (!(node.getModifiers().contains(Modifier.SEALED) || node.getModifiers().contains(Modifier.FINAL))) {
// This indicates that the hierarchy is not closed
styles.put(STYLE, "dashed");
}
}
// A permitted class must be in the same package or in the same module.
// This implies the module is always the same.
private String relativeLink(TypeElement node) {
var util = SealedGraph.this.docletEnvironment.getElementUtils();
var rootPackage = util.getPackageOf(rootNode);
var nodePackage = util.getPackageOf(node);
var backNavigator = rootPackage.getQualifiedName().toString().chars()
.filter(c -> c == '.')
.mapToObj(c -> "../")
.collect(joining()) +
"../";
var forwardNavigator = nodePackage.getQualifiedName().toString()
.replace(".", "/");
return backNavigator + forwardNavigator + "/" + node.getSimpleName() + ".html";
}
public void addEdge(TypeElement node, TypeElement subNode) {
builder.append(" ")
.append(quotedId(subNode))
@@ -209,8 +229,8 @@ public final class SealedGraph implements Taglet {
.append('"').append(nodeName).append("\" ")
.append(styles.entrySet().stream()
.map(e -> e.getKey() + "=\"" + e.getValue() + "\"")
.collect(Collectors.joining(" ", "[", "]")))
.append(System.lineSeparator());
.collect(joining(" ", "[", "]")))
.append(lineSeparator());
});
builder.append("}");
return builder.toString();

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -140,6 +140,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBZIP, \
$(LIBZ_CFLAGS), \
CFLAGS_unix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \
DISABLED_WARNINGS_gcc_zip_util.c := unused-function, \
DISABLED_WARNINGS_clang := deprecated-non-prototype, \
DISABLED_WARNINGS_clang_gzwrite.c := format-nonliteral, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
@@ -211,7 +212,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJLI, \
OPTIMIZATION := HIGH, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
DISABLED_WARNINGS_gcc := unused-function, \
DISABLED_WARNINGS_clang := format-nonliteral, \
DISABLED_WARNINGS_clang := format-nonliteral deprecated-non-prototype, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := $(LIBZ_LIBS), \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -120,11 +120,6 @@ ifeq ($(call isTargetOs, windows), true)
LIBAWT_VERSIONINFO_RESOURCE := $(TOPDIR)/src/$(MODULE)/windows/native/libawt/windows/awt.rc
endif
ifeq ($(call isTargetOs, linux), true)
# FIXME: This is probably not what we want to do, but keep it now for compatibility.
LIBAWT_CFLAGS += $(EXPORT_ALL_SYMBOLS)
endif
# Turn off all warnings for debug_mem.c This is needed because the specific warning
# about initializing a declared 'extern' cannot be turned off individually. Only
# applies to debug builds. This limitation in gcc is tracked in
@@ -152,7 +147,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
DISABLED_WARNINGS_gcc_Region.c := maybe-uninitialized, \
DISABLED_WARNINGS_gcc_SurfaceData.c := unused-value, \
DISABLED_WARNINGS_gcc_TransformHelper.c := sign-compare, \
DISABLED_WARNINGS_clang_awt_ImagingLib.c := sign-compare, \
DISABLED_WARNINGS_clang_awt_ImagingLib.c := sign-compare deprecated-non-prototype, \
DISABLED_WARNINGS_clang_awt_parseImage.c := sign-compare, \
DISABLED_WARNINGS_clang_debug_mem.c := extern-initializer format-nonliteral, \
DISABLED_WARNINGS_clang_debug_trace.c := format-nonliteral, \
@@ -414,7 +409,7 @@ ifeq ($(FREETYPE_TO_USE), system)
LIBFREETYPE_LIBS := $(FREETYPE_LIBS)
else
BUILD_LIBFREETYPE_HEADER_DIRS := $(TOPDIR)/src/$(MODULE)/share/native/libfreetype/include
BUILD_LIBFREETYPE_CFLAGS := -DFT2_BUILD_LIBRARY $(EXPORT_ALL_SYMBOLS)
BUILD_LIBFREETYPE_CFLAGS := -DFT2_BUILD_LIBRARY
# For use by libfontmanager:
LIBFREETYPE_CFLAGS := -I$(BUILD_LIBFREETYPE_HEADER_DIRS)
@@ -433,6 +428,7 @@ else
$(BUILD_LIBFREETYPE_CFLAGS), \
EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \
DISABLED_WARNINGS_microsoft := 4267 4244 4996, \
DISABLED_WARNINGS_gcc := dangling-pointer stringop-overflow, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
))
@@ -762,6 +758,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
DISABLED_WARNINGS_gcc_splashscreen_gfx_impl.c := implicit-fallthrough maybe-uninitialized, \
DISABLED_WARNINGS_gcc_splashscreen_impl.c := implicit-fallthrough sign-compare unused-function, \
DISABLED_WARNINGS_gcc_splashscreen_sys.c := type-limits unused-result, \
DISABLED_WARNINGS_clang := deprecated-non-prototype, \
DISABLED_WARNINGS_clang_dgif_lib.c := sign-compare, \
DISABLED_WARNINGS_clang_gzwrite.c := format-nonliteral, \
DISABLED_WARNINGS_clang_splashscreen_impl.c := sign-compare, \
@@ -834,6 +831,7 @@ ifeq ($(call isTargetOs, macosx), true)
DISABLED_WARNINGS_clang_ImageSurfaceData.m := enum-conversion parentheses-equality, \
DISABLED_WARNINGS_clang_MTLBlitLoops.m := pointer-arith, \
DISABLED_WARNINGS_clang_MTLPipelineStatesStorage.m := semicolon-before-method-body, \
DISABLED_WARNINGS_clang_MTLRenderer.m := gnu-folding-constant, \
DISABLED_WARNINGS_clang_MTLVertexCache.m := pointer-arith, \
DISABLED_WARNINGS_clang_OGLBufImgOps.c := format-nonliteral, \
DISABLED_WARNINGS_clang_OGLPaints.c := format-nonliteral, \

View File

@@ -73,7 +73,7 @@ $(eval $(call SetupJdkExecutable, BUILD_JPACKAGE_APPLAUNCHEREXE, \
CXXFLAGS_windows := $(JPACKAGE_CXXFLAGS_windows), \
CFLAGS_windows := $(JPACKAGE_CFLAGS_windows), \
LDFLAGS := $(LDFLAGS_JDKEXE), \
LIBS_macosx := $(LIBCXX) -framework Cocoa, \
LIBS_macosx := $(LIBCXX) -framework Cocoa -rpath @executable_path/../Frameworks/ -rpath @executable_path/../PlugIns/, \
LIBS_windows := $(LIBCXX) user32.lib ole32.lib msi.lib shlwapi.lib \
Shell32.lib, \
LIBS_linux := -ldl, \

View File

@@ -874,7 +874,7 @@ BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exesigtest := -ljvm
ifeq ($(call isTargetOs, windows), true)
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c libTestJNI.c libCompleteExit.c libTestPsig.c
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c libTestJNI.c libCompleteExit.c libTestPsig.c libnativeStack.c
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit := jvm.lib
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exedaemonDestroy := jvm.lib
else
@@ -1515,6 +1515,19 @@ else
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libterminatedThread += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libatExit += -ljvm
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libCompleteExit += -lpthread
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libnativeStack += -lpthread
endif
ifeq ($(ASAN_ENABLED), true)
# Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
# default ASan options.
BUILD_HOTSPOT_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/asan/asan_default_options.c
endif
ifeq ($(LSAN_ENABLED), true)
# Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
# default LSan options.
BUILD_HOTSPOT_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/lsan/lsan_default_options.c
endif
# This evaluation is expensive and should only be done if this target was
@@ -1532,6 +1545,7 @@ ifneq ($(filter build-test-hotspot-jtreg-native, $(MAKECMDGOALS)), )
SOURCE_DIRS := $(BUILD_HOTSPOT_JTREG_NATIVE_SRC), \
OUTPUT_DIR := $(BUILD_HOTSPOT_JTREG_OUTPUT_DIR), \
EXCLUDE := $(BUILD_HOTSPOT_JTREG_EXCLUDE), \
EXTRA_FILES := $(BUILD_HOTSPOT_JTREG_EXTRA_FILES), \
))
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -78,9 +78,11 @@ ifeq ($(call isTargetOs, windows), true)
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libAsyncInvokers := -I$(TEST_LIB_NATIVE_SRC)
BUILD_JDK_JTREG_LIBRARIES_LIBS_libTracePinnedThreads := jvm.lib
BUILD_JDK_JTREG_LIBRARIES_LIBS_libNewDirectByteBuffer := $(WIN_LIB_JAVA)
else
BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := -ljava
BUILD_JDK_JTREG_LIBRARIES_LIBS_libDirectIO := -ljava
BUILD_JDK_JTREG_LIBRARIES_LIBS_libNewDirectByteBuffer := -ljava
BUILD_JDK_JTREG_LIBRARIES_LDFLAGS_libNativeThread := -pthread
# java.lang.foreign tests
@@ -130,6 +132,18 @@ ifeq ($(call isTargetOs, linux), true)
BUILD_JDK_JTREG_LIBRARIES_STRIP_SYMBOLS_libFib := false
endif
ifeq ($(ASAN_ENABLED), true)
# Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
# default ASan options.
BUILD_JDK_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/asan/asan_default_options.c
endif
ifeq ($(LSAN_ENABLED), true)
# Any executable which launches the JVM and uses a custom launcher needs to explicitly link in the
# default LSan options.
BUILD_JDK_JTREG_EXTRA_FILES += $(TOPDIR)/make/data/lsan/lsan_default_options.c
endif
# This evaluation is expensive and should only be done if this target was
# explicitly called.
ifneq ($(filter build-test-jdk-jtreg-native, $(MAKECMDGOALS)), )
@@ -145,6 +159,7 @@ ifneq ($(filter build-test-jdk-jtreg-native, $(MAKECMDGOALS)), )
SOURCE_DIRS := $(BUILD_JDK_JTREG_NATIVE_SRC), \
OUTPUT_DIR := $(BUILD_JDK_JTREG_OUTPUT_DIR), \
EXCLUDE := $(BUILD_JDK_JTREG_EXCLUDE), \
EXTRA_FILES := $(BUILD_JDK_JTREG_EXTRA_FILES), \
))
endif

View File

@@ -118,7 +118,7 @@ ThemesMenu.ruby.labelAndMnemonic=&Ruby
ThemesMenu.ruby_accessible_description=A Metal Theme that uses red colors
### Font SubMenu (under Themes)
### Font SubMenu (under Themes)
FontMenu.fonts.labelAndMnemonic=&Fonts
FontMenu.fonts_accessible_description=Menu to choose fonts for the Java look and feel

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -118,7 +118,7 @@ ThemesMenu.ruby.labelAndMnemonic=&Rubinrot
ThemesMenu.ruby_accessible_description=Ein Metal-Theme mit roten Farben
### Font SubMenu (under Themes)
### Font SubMenu (under Themes)
FontMenu.fonts.labelAndMnemonic=Schri&ftarten
FontMenu.fonts_accessible_description=Men\u00FC, in dem Sie Schriftarten f\u00FCr das Java-Look-and-Feel ausw\u00E4hlen
@@ -671,4 +671,3 @@ TreeDemo.accessible_description=Diese Demo zeigt ein Beispiel f\u00FCr die Verwe
TreeDemo.tooltip=JTree-Demo
TreeDemo.name=Baumdemo
TreeDemo.music=Musik

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -48,7 +48,7 @@ SourceCode.loading=<html><body bgcolor="#ffffff">\u30BD\u30FC\u30B9\u30FB\u30B3\
### Status ###
Status.loading=\u8AAD\u8FBC\u307F\u4E2D:
Status.loading=\u8AAD\u8FBC\u307F\u4E2D:
Status.popupMenuAccessible=Shift+F10: \u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u30FB\u30E1\u30CB\u30E5\u30FC\u306E\u6709\u52B9\u5316
### Menu Bar ###
@@ -118,7 +118,7 @@ ThemesMenu.ruby.labelAndMnemonic=\u30EB\u30D3\u30FC(&R)
ThemesMenu.ruby_accessible_description=\u8D64\u3092\u57FA\u8ABF\u3068\u3057\u305FMetal\u30C6\u30FC\u30DE
### Font SubMenu (under Themes)
### Font SubMenu (under Themes)
FontMenu.fonts.labelAndMnemonic=\u30D5\u30A9\u30F3\u30C8(&F)
FontMenu.fonts_accessible_description=Java\u30EB\u30C3\u30AF&\u30D5\u30A3\u30FC\u30EB\u7528\u306E\u30D5\u30A9\u30F3\u30C8\u9078\u629E\u30E1\u30CB\u30E5\u30FC
@@ -184,7 +184,7 @@ MultiMenu.single_accessible_description=SwingSet2\u306E\u30A6\u30A3\u30F3\u30C9\
### Button Demo ###
ButtonDemo.accessible_description=ButtonDemo\u3067\u306F\u3001JButton\u3001JRadioButton\u3001JToggleButton\u304A\u3088\u3073JCheckBox\u306E\u4F7F\u7528\u4F8B\u3092\u7D39\u4ECB\u3057\u307E\u3059
ButtonDemo.accessible_description=ButtonDemo\u3067\u306F\u3001JButton\u3001JRadioButton\u3001JToggleButton\u304A\u3088\u3073JCheckBox\u306E\u4F7F\u7528\u4F8B\u3092\u7D39\u4ECB\u3057\u307E\u3059
ButtonDemo.tooltip=JButton\u3001JRadioButton\u3001JToggleButton\u3001JCheckbox\u30C7\u30E2
ButtonDemo.name=Button\u30C7\u30E2
@@ -202,16 +202,16 @@ ButtonDemo.imagetogglebuttons=\u30A4\u30E1\u30FC\u30B8\u30FB\u30C8\u30B0\u30EB\u
ButtonDemo.textcheckboxes=\u30C6\u30AD\u30B9\u30C8\u30FB\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9
ButtonDemo.imagecheckboxes=\u30A4\u30E1\u30FC\u30B8\u30FB\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9
ButtonDemo.button1=1
ButtonDemo.button1=1
ButtonDemo.button2=2
ButtonDemo.button3=<html><font size=2 color=red><bold>3</font></html>
ButtonDemo.radio1=\u30DC\u30BF\u30F31
ButtonDemo.radio1=\u30DC\u30BF\u30F31
ButtonDemo.radio2=\u30DC\u30BF\u30F32
ButtonDemo.radio3=\u30DC\u30BF\u30F33
ButtonDemo.radioX=<html><font size=2 color=red>3<bold>(HTML)</bold></font></html>
ButtonDemo.check1=1
ButtonDemo.check1=1
ButtonDemo.check2=2
ButtonDemo.check3=3
ButtonDemo.checkX=<html><font size=2 color=red>3<bold>(HTML)</bold></font></html>
@@ -219,7 +219,7 @@ ButtonDemo.checkX=<html><font size=2 color=red>3<bold>(HTML)</bold></font></html
ButtonDemo.customradio=\u30AB\u30B9\u30BF\u30E0\u306E"\u30E1\u30BF\u30EA\u30C3\u30AF\u8ABF"\u30E9\u30B8\u30AA\u30FB\u30DC\u30BF\u30F3
ButtonDemo.customcheck=\u30AB\u30B9\u30BF\u30E0\u306E\u96FB\u7403\u30C1\u30A7\u30C3\u30AF\u30FB\u30DC\u30C3\u30AF\u30B9
ButtonDemo.phone=\u96FB\u8A71
ButtonDemo.phone=\u96FB\u8A71
ButtonDemo.write=\u66F8\u8FBC\u307F
ButtonDemo.peace=\u30D4\u30FC\u30B9
@@ -427,7 +427,7 @@ ProgressBarDemo.stop_button=\u30C6\u30AD\u30B9\u30C8\u306E\u30ED\u30FC\u30C9\u50
ProgressBarDemo.accessible_text_loading_progress=\u30C6\u30AD\u30B9\u30C8\u306E\u30ED\u30FC\u30C9\u4E2D
ProgressBarDemo.accessible_text_area_name=\u30ED\u30FC\u30C9\u4E2D\u306E\u30C6\u30AD\u30B9\u30C8
ProgressBarDemo.accessible_text_area_description=\u3053\u306EJTextArea\u306B\u306F\u3001\u30C6\u30AD\u30B9\u30C8\u304C\u4E00\u5EA6\u306B1\u6587\u5B57\u305A\u3064\u30D0\u30C3\u30D5\u30A1\u304B\u3089\u57CB\u3081\u8FBC\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u30A6\u30A3\u30F3\u30C9\u30A6\u306E\u4E0B\u90E8\u306B\u3042\u308B\u30D7\u30ED\u30B0\u30EC\u30B9\u30FB\u30D0\u30FC\u306B\u3001\u30ED\u30FC\u30C9\u51E6\u7406\u306E\u9032\u6357\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002
ProgressBarDemo.accessible_text_area_description=\u3053\u306EJTextArea\u306B\u306F\u3001\u30C6\u30AD\u30B9\u30C8\u304C\u4E00\u5EA6\u306B1\u6587\u5B57\u305A\u3064\u30D0\u30C3\u30D5\u30A1\u304B\u3089\u57CB\u3081\u8FBC\u307E\u308C\u3066\u3044\u307E\u3059\u3002\u30A6\u30A3\u30F3\u30C9\u30A6\u306E\u4E0B\u90E8\u306B\u3042\u308B\u30D7\u30ED\u30B0\u30EC\u30B9\u30FB\u30D0\u30FC\u306B\u3001\u30ED\u30FC\u30C9\u51E6\u7406\u306E\u9032\u6357\u304C\u8868\u793A\u3055\u308C\u307E\u3059
ProgressBarDemo.text=\u7121\u9650\u306E\u733F\u304C\u7121\u9650\u6570\u306E\u30BF\u30A4\u30D7\u30E9\u30A4\u30BF\u3067\u5165\u529B\u3057\u7D9A\u3051\u308C\u3070\u3001\u3044\u3064\u304B\u306F\u4EBA\u985E\u306E\u5049\u5927\u306A\u4F5C\u54C1\u304C\u3067\u304D\u3042\u304C\u308B\u3068\u4FD7\u306B\u3044\u308F\u308C\u3066\u3044\u307E\u3059\u3002\n\u73FE\u5728\u306E\u9AD8\u901F\u51E6\u7406\u30B3\u30F3\u30D4\u30E5\u30FC\u30BF\u3092\u4F7F\u7528\u3059\u308C\u3070\u3001\u3053\u306E\u7406\u8AD6\u3092\u30C6\u30B9\u30C8\n\u3067\u304D\u307E\u3059... \n\n\tLzskd jfy 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4, th;qxhz d7yty; \n\tQ0hnlj 23&&^ (# ljask djf y92y; fy92y; Sd6y ty;q2h nl jk la gfa harvin garvel\n\tlasdfsd a83sl la8z ks8l 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4,\n\tth;qxhz d7yty; Q0hnlj 23&&^ nknod mrs88 jsd79lfm#%$JLaoz6df lso7dj f2 jfls\n\t67d9ol1@2fou99s 1lkj2 @l.k1 2; a89o7aljf 1l3i7ou8 d8l3 lqwerty0092 #1!\n\tja9o do8lkjj139rojsd9**!l6*hd # ljasd78 l2awkjad78 3ol7asljf 3 ldif && l.js\n\tLl ls ewan la8uj 23lll7u 8l 3h hhxx8 8d lsd fixx 891lkjno99sl d8l@@@!!8#8\n\tdfoil jarooda mklaoorj nowai the smisthliylka jkdlfjiw ladajadra lthhheeejfjl\n\tdkddooolda bub mirznod of the koojgaf!! But 2 be or not to be... that is the\n\tquestion. Then when shall we three meet again In thunder, lightning, or in\n\train? When the hurlyburly's done, When the battle's lost and won. That will\n\tbe ere the set of sun. Where the place? Upon the heath. There to meet with\n\tMacbeth. But hath forth not to want..... a banana, or to be.... a banana.\n\tBanana, I knew him banana. Banana banana. Banana banana banana banana.\n\n\n\n\nWell... hmm.... it seemed like a good idea...
@@ -451,7 +451,7 @@ SliderDemo.accessible_description=\u3053\u306E\u30C7\u30E2\u3067\u306F\u3001JSli
SliderDemo.tooltip=JSlider\u30C7\u30E2
SliderDemo.name=Slider\u30C7\u30E2
SliderDemo.slidervalue=Slider\u306E\u5024:
SliderDemo.slidervalue=Slider\u306E\u5024:
SliderDemo.horizontal=\u6C34\u5E73
SliderDemo.vertical=\u5782\u76F4
SliderDemo.plain=\u30D7\u30EC\u30FC\u30F3
@@ -671,4 +671,3 @@ TreeDemo.accessible_description=\u3053\u306E\u30C7\u30E2\u3067\u306F\u3001JTree\
TreeDemo.tooltip=JTree\u30C7\u30E2
TreeDemo.name=Tree\u30C7\u30E2
TreeDemo.music=\u97F3\u697D

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2010, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -48,7 +48,7 @@ SourceCode.loading=<html><body bgcolor="#ffffff">\u6B63\u5728\u52A0\u8F7D\u548C\
### Status ###
Status.loading=\u6B63\u5728\u52A0\u8F7D:
Status.loading=\u6B63\u5728\u52A0\u8F7D:
Status.popupMenuAccessible=\u8BF7\u6309 Shift-F10 \u7EC4\u5408\u952E\u6FC0\u6D3B\u5F39\u51FA\u5F0F\u83DC\u5355
### Menu Bar ###
@@ -118,7 +118,7 @@ ThemesMenu.ruby.labelAndMnemonic=\u5B9D\u77F3\u7EA2(&R)
ThemesMenu.ruby_accessible_description=\u7EA2\u8272\u91D1\u5C5E\u4E3B\u9898
### Font SubMenu (under Themes)
### Font SubMenu (under Themes)
FontMenu.fonts.labelAndMnemonic=\u5B57\u4F53(&F)
FontMenu.fonts_accessible_description=\u7528\u6765\u9009\u62E9 Java \u5916\u89C2\u5B57\u4F53\u7684\u83DC\u5355
@@ -184,7 +184,7 @@ MultiMenu.single_accessible_description=\u5728\u5C4F\u5E55\u4E0A\u521B\u5EFA Swi
### Button Demo ###
ButtonDemo.accessible_description=ButtonDemo \u663E\u793A\u4E86\u4F7F\u7528 JButton, JRadioButton, JToggleButton \u548C JCheckBox \u7684\u793A\u4F8B
ButtonDemo.accessible_description=ButtonDemo \u663E\u793A\u4E86\u4F7F\u7528 JButton, JRadioButton, JToggleButton \u548C JCheckBox \u7684\u793A\u4F8B
ButtonDemo.tooltip=JButton, JRadioButton, JToggleButton, JCheckbox \u6F14\u793A
ButtonDemo.name=\u6309\u94AE\u6F14\u793A
@@ -202,16 +202,16 @@ ButtonDemo.imagetogglebuttons=\u56FE\u50CF\u5207\u6362\u6309\u94AE
ButtonDemo.textcheckboxes=\u6587\u672C\u590D\u9009\u6846
ButtonDemo.imagecheckboxes=\u56FE\u50CF\u590D\u9009\u6846
ButtonDemo.button1=\u4E00
ButtonDemo.button1=\u4E00
ButtonDemo.button2=\u4E8C
ButtonDemo.button3=<html><font size=2 color=red><bold>\u4E09!</font></html>
ButtonDemo.radio1=\u5355\u9009\u4E00
ButtonDemo.radio1=\u5355\u9009\u4E00
ButtonDemo.radio2=\u5355\u9009\u4E8C
ButtonDemo.radio3=\u5355\u9009\u4E09
ButtonDemo.radioX=<html><font size=2 color=red>\u4E09<bold> (HTML!)</bold></font></html>
ButtonDemo.check1=\u4E00
ButtonDemo.check1=\u4E00
ButtonDemo.check2=\u4E8C
ButtonDemo.check3=\u4E09
ButtonDemo.checkX=<html><font size=2 color=red>\u4E09<bold> (HTML!)</bold></font></html>
@@ -219,7 +219,7 @@ ButtonDemo.checkX=<html><font size=2 color=red>\u4E09<bold> (HTML!)</bold></font
ButtonDemo.customradio=\u5B9A\u5236 "chrome" \u5355\u9009\u6309\u94AE\u3002
ButtonDemo.customcheck=\u5B9A\u5236\u201C\u706F\u6CE1\u201D\u590D\u9009\u6846\u3002
ButtonDemo.phone=\u7535\u8BDD
ButtonDemo.phone=\u7535\u8BDD
ButtonDemo.write=\u5199
ButtonDemo.peace=\u5E73\u9759
@@ -427,7 +427,7 @@ ProgressBarDemo.stop_button=\u505C\u6B62\u52A0\u8F7D\u6587\u672C
ProgressBarDemo.accessible_text_loading_progress=\u6587\u672C\u52A0\u8F7D\u8FDB\u5EA6
ProgressBarDemo.accessible_text_area_name=\u52A0\u8F7D\u7684\u6587\u672C\u6B63\u5728\u9010\u6E10\u589E\u591A
ProgressBarDemo.accessible_text_area_description=\u8FD9\u4E2A JTextArea \u7531\u6765\u81EA\u7F13\u51B2\u533A\u7684\u6587\u672C\u9010\u4E2A\u5B57\u7B26\u5730\u586B\u5145, \u540C\u65F6\u7A97\u53E3\u5E95\u90E8\u7684\u8FDB\u5EA6\u680F\u5C06\u663E\u793A\u52A0\u8F7D\u7684\u8FDB\u5EA6
ProgressBarDemo.accessible_text_area_description=\u8FD9\u4E2A JTextArea \u7531\u6765\u81EA\u7F13\u51B2\u533A\u7684\u6587\u672C\u9010\u4E2A\u5B57\u7B26\u5730\u586B\u5145\uFF0C\u540C\u65F6\u7A97\u53E3\u5E95\u90E8\u7684\u8FDB\u5EA6\u680F\u5C06\u663E\u793A\u52A0\u8F7D\u7684\u8FDB\u5EA6
ProgressBarDemo.text=\u5E38\u8A00\u9053: \u5982\u679C\u65E0\u6570\u53EA\u7334\u5B50\u5728\u65E0\u6570\u53F0\u6253\u5B57\u673A\u4E0A\u6572\u51FB\u952E\u76D8, \u6700\u7EC8\n\u5C06\u5F62\u6210\u4EBA\u7C7B\u5386\u53F2\u4E0A\u6240\u6709\u4F1F\u5927\u7684\u8457\u4F5C\u3002\u73B0\u5728, \u6211\u4EEC\u53EF\u4EE5\u4F7F\u7528\u5F53\u4ECA\u7684\u9AD8\u901F\u8BA1\u7B97\u673A\u6765\u68C0\u9A8C\n\u8FD9\u4E00\u7406\u8BBA\u4E86... \n\n\tLzskd jfy 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4, th;qxhz d7yty; \n\tQ0hnlj 23&&^ (# ljask djf y92y; fy92y; Sd6y ty;q2h nl jk la gfa harvin garvel\n\tlasdfsd a83sl la8z ks8l 92y;ho4 th;qlh sd 6yty;q2 hnlj 8sdf. Djfy 92y;ho4,\n\tth;qxhz d7yty; Q0hnlj 23&&^ nknod mrs88 jsd79lfm#%$JLaoz6df lso7dj f2 jfls\n\t67d9ol1@2fou99s 1lkj2 @l.k1 2; a89o7aljf 1l3i7ou8 d8l3 lqwerty0092 #1!\n\tja9o do8lkjj139rojsd9**!l6*hd # ljasd78 l2awkjad78 3ol7asljf 3 ldif && l.js\n\tLl ls ewan la8uj 23lll7u 8l 3h hhxx8 8d lsd fixx 891lkjno99sl d8l@@@!!8#8\n\tdfoil jarooda mklaoorj nowai the smisthliylka jkdlfjiw ladajadra lthhheeejfjl\n\tdkddooolda bub mirznod of the koojgaf!! But 2 be or not to be... that is the\n\tquestion. Then when shall we three meet again In thunder, lightning, or in\n\train? When the hurlyburly's done, When the battle's lost and won. That will\n\tbe ere the set of sun. Where the place? Upon the heath. There to meet with\n\tMacbeth. But hath forth not to want..... a banana, or to be.... a banana.\n\tBanana, I knew him banana. Banana banana. Banana banana banana banana.\n\n\n\n\n\u5662, \u8FD9\u770B\u8D77\u6765\u662F\u4E2A\u597D\u4E3B\u610F...
@@ -451,7 +451,7 @@ SliderDemo.accessible_description=\u6B64\u6F14\u793A\u663E\u793A\u4E86\u4F7F\u75
SliderDemo.tooltip=JSlider \u6F14\u793A
SliderDemo.name=\u6ED1\u5757\u6F14\u793A
SliderDemo.slidervalue=\u6ED1\u5757\u503C:
SliderDemo.slidervalue=\u6ED1\u5757\u503C:
SliderDemo.horizontal=\u6C34\u5E73
SliderDemo.vertical=\u5782\u76F4
SliderDemo.plain=\u65E0\u683C\u5F0F
@@ -671,4 +671,3 @@ TreeDemo.accessible_description=\u6B64\u6F14\u793A\u663E\u793A\u4E86\u4F7F\u7528
TreeDemo.tooltip=JTree \u6F14\u793A
TreeDemo.name=\u6811\u6F14\u793A
TreeDemo.music=\u97F3\u4E50

View File

@@ -1,5 +1,5 @@
//
// Copyright (c) 2003, 2022, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2014, 2021, Red Hat, Inc. All rights reserved.
// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
//
@@ -1739,7 +1739,7 @@ void MachPrologNode::format(PhaseRegAlloc *ra_, outputStream *st) const {
st->print("\n\t");
st->print("ldr rscratch1, [guard]\n\t");
st->print("dmb ishld\n\t");
st->print("ldr rscratch2, [rthread, #thread_disarmed_offset]\n\t");
st->print("ldr rscratch2, [rthread, #thread_disarmed_guard_value_offset]\n\t");
st->print("cmp rscratch1, rscratch2\n\t");
st->print("b.eq skip");
st->print("\n\t");
@@ -2301,6 +2301,12 @@ const bool Matcher::match_rule_supported(int opcode) {
ret_value = false;
}
break;
case Op_ExpandBits:
case Op_CompressBits:
if (!(UseSVE > 1 && VM_Version::supports_svebitperm())) {
ret_value = false;
}
break;
}
return ret_value; // Per default match rules are supported.
@@ -7558,7 +7564,7 @@ instruct storeimmL0(immL0 zero, memory8 mem)
instruct storeP(iRegP src, memory8 mem)
%{
match(Set mem (StoreP mem src));
predicate(!needs_releasing_store(n));
predicate(!needs_releasing_store(n) && n->as_Store()->barrier_data() == 0);
ins_cost(INSN_COST);
format %{ "str $src, $mem\t# ptr" %}
@@ -7572,7 +7578,7 @@ instruct storeP(iRegP src, memory8 mem)
instruct storeimmP0(immP0 zero, memory8 mem)
%{
match(Set mem (StoreP mem zero));
predicate(!needs_releasing_store(n));
predicate(!needs_releasing_store(n) && n->as_Store()->barrier_data() == 0);
ins_cost(INSN_COST);
format %{ "str zr, $mem\t# ptr" %}
@@ -7973,6 +7979,7 @@ instruct storeimmL0_volatile(immL0 zero, /* sync_memory*/indirect mem)
instruct storeP_volatile(iRegP src, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreP mem src));
predicate(n->as_Store()->barrier_data() == 0);
ins_cost(VOLATILE_REF_COST);
format %{ "stlr $src, $mem\t# ptr" %}
@@ -7985,6 +7992,7 @@ instruct storeP_volatile(iRegP src, /* sync_memory*/indirect mem)
instruct storeimmP0_volatile(immP0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreP mem zero));
predicate(n->as_Store()->barrier_data() == 0);
ins_cost(VOLATILE_REF_COST);
format %{ "stlr zr, $mem\t# ptr" %}
@@ -9654,6 +9662,90 @@ instruct get_and_addIi_no_resAcq(indirect mem, Universe dummy, immIAddSub incr)
ins_pipe(pipe_serial);
%}
// Manifest a CmpU result in an integer register.
// (src1 < src2) ? -1 : ((src1 > src2) ? 1 : 0)
instruct cmpU3_reg_reg(iRegINoSp dst, iRegI src1, iRegI src2, rFlagsReg flags)
%{
match(Set dst (CmpU3 src1 src2));
effect(KILL flags);
ins_cost(INSN_COST * 3);
format %{
"cmpw $src1, $src2\n\t"
"csetw $dst, ne\n\t"
"cnegw $dst, lo\t# CmpU3(reg)"
%}
ins_encode %{
__ cmpw($src1$$Register, $src2$$Register);
__ csetw($dst$$Register, Assembler::NE);
__ cnegw($dst$$Register, $dst$$Register, Assembler::LO);
%}
ins_pipe(pipe_class_default);
%}
instruct cmpU3_reg_imm(iRegINoSp dst, iRegI src1, immIAddSub src2, rFlagsReg flags)
%{
match(Set dst (CmpU3 src1 src2));
effect(KILL flags);
ins_cost(INSN_COST * 3);
format %{
"subsw zr, $src1, $src2\n\t"
"csetw $dst, ne\n\t"
"cnegw $dst, lo\t# CmpU3(imm)"
%}
ins_encode %{
__ subsw(zr, $src1$$Register, (int32_t)$src2$$constant);
__ csetw($dst$$Register, Assembler::NE);
__ cnegw($dst$$Register, $dst$$Register, Assembler::LO);
%}
ins_pipe(pipe_class_default);
%}
// Manifest a CmpUL result in an integer register.
// (src1 < src2) ? -1 : ((src1 > src2) ? 1 : 0)
instruct cmpUL3_reg_reg(iRegINoSp dst, iRegL src1, iRegL src2, rFlagsReg flags)
%{
match(Set dst (CmpUL3 src1 src2));
effect(KILL flags);
ins_cost(INSN_COST * 3);
format %{
"cmp $src1, $src2\n\t"
"csetw $dst, ne\n\t"
"cnegw $dst, lo\t# CmpUL3(reg)"
%}
ins_encode %{
__ cmp($src1$$Register, $src2$$Register);
__ csetw($dst$$Register, Assembler::NE);
__ cnegw($dst$$Register, $dst$$Register, Assembler::LO);
%}
ins_pipe(pipe_class_default);
%}
instruct cmpUL3_reg_imm(iRegINoSp dst, iRegL src1, immLAddSub src2, rFlagsReg flags)
%{
match(Set dst (CmpUL3 src1 src2));
effect(KILL flags);
ins_cost(INSN_COST * 3);
format %{
"subs zr, $src1, $src2\n\t"
"csetw $dst, ne\n\t"
"cnegw $dst, lo\t# CmpUL3(imm)"
%}
ins_encode %{
__ subs(zr, $src1$$Register, (int32_t)$src2$$constant);
__ csetw($dst$$Register, Assembler::NE);
__ cnegw($dst$$Register, $dst$$Register, Assembler::LO);
%}
ins_pipe(pipe_class_default);
%}
// Manifest a CmpL result in an integer register.
// (src1 < src2) ? -1 : ((src1 > src2) ? 1 : 0)
instruct cmpL3_reg_reg(iRegINoSp dst, iRegL src1, iRegL src2, rFlagsReg flags)
@@ -9661,13 +9753,12 @@ instruct cmpL3_reg_reg(iRegINoSp dst, iRegL src1, iRegL src2, rFlagsReg flags)
match(Set dst (CmpL3 src1 src2));
effect(KILL flags);
ins_cost(INSN_COST * 6);
ins_cost(INSN_COST * 3);
format %{
"cmp $src1, $src2"
"csetw $dst, ne"
"cnegw $dst, lt"
"cmp $src1, $src2\n\t"
"csetw $dst, ne\n\t"
"cnegw $dst, lt\t# CmpL3(reg)"
%}
// format %{ "CmpL3 $dst, $src1, $src2" %}
ins_encode %{
__ cmp($src1$$Register, $src2$$Register);
__ csetw($dst$$Register, Assembler::NE);
@@ -9682,19 +9773,14 @@ instruct cmpL3_reg_imm(iRegINoSp dst, iRegL src1, immLAddSub src2, rFlagsReg fla
match(Set dst (CmpL3 src1 src2));
effect(KILL flags);
ins_cost(INSN_COST * 6);
ins_cost(INSN_COST * 3);
format %{
"cmp $src1, $src2"
"csetw $dst, ne"
"cnegw $dst, lt"
"subs zr, $src1, $src2\n\t"
"csetw $dst, ne\n\t"
"cnegw $dst, lt\t# CmpL3(imm)"
%}
ins_encode %{
int32_t con = (int32_t)$src2$$constant;
if (con < 0) {
__ adds(zr, $src1$$Register, -con);
} else {
__ subs(zr, $src1$$Register, con);
}
__ subs(zr, $src1$$Register, (int32_t)$src2$$constant);
__ csetw($dst$$Register, Assembler::NE);
__ cnegw($dst$$Register, $dst$$Register, Assembler::LT);
%}
@@ -11084,7 +11170,6 @@ instruct rShiftL_reg_imm(iRegLNoSp dst, iRegL src1, immI src2) %{
// BEGIN This section of the file is automatically generated. Do not edit --------------
// This section is generated from aarch64_ad.m4
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct regL_not_reg(iRegLNoSp dst,
@@ -12900,6 +12985,7 @@ instruct ubfizIConvI2LAndI(iRegLNoSp dst, iRegI src, immI_bitmask msk)
// Rotations
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct extrOrL(iRegLNoSp dst, iRegL src1, iRegL src2, immI lshift, immI rshift, rFlagsReg cr)
@@ -12971,7 +13057,6 @@ instruct extrAddI(iRegINoSp dst, iRegIorL2I src1, iRegIorL2I src2, immI lshift,
ins_pipe(ialu_reg_reg_extr);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct rorI_imm(iRegINoSp dst, iRegI src, immI shift)
@@ -13685,6 +13770,323 @@ instruct SubExtI_uxth_and_shift(iRegINoSp dst, iRegIorL2I src1, iRegIorL2I src2,
ins_pipe(ialu_reg_reg_shift);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct cmovI_reg_reg_lt(iRegINoSp dst, iRegI src1, iRegI src2, rFlagsReg cr)
%{
effect(DEF dst, USE src1, USE src2, USE cr);
ins_cost(INSN_COST * 2);
format %{ "cselw $dst, $src1, $src2 lt\t" %}
ins_encode %{
__ cselw($dst$$Register,
$src1$$Register,
$src2$$Register,
Assembler::LT);
%}
ins_pipe(icond_reg_reg);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct cmovI_reg_reg_gt(iRegINoSp dst, iRegI src1, iRegI src2, rFlagsReg cr)
%{
effect(DEF dst, USE src1, USE src2, USE cr);
ins_cost(INSN_COST * 2);
format %{ "cselw $dst, $src1, $src2 gt\t" %}
ins_encode %{
__ cselw($dst$$Register,
$src1$$Register,
$src2$$Register,
Assembler::GT);
%}
ins_pipe(icond_reg_reg);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct cmovI_reg_imm0_lt(iRegINoSp dst, iRegI src1, rFlagsReg cr)
%{
effect(DEF dst, USE src1, USE cr);
ins_cost(INSN_COST * 2);
format %{ "cselw $dst, $src1, zr lt\t" %}
ins_encode %{
__ cselw($dst$$Register,
$src1$$Register,
zr,
Assembler::LT);
%}
ins_pipe(icond_reg);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct cmovI_reg_imm0_gt(iRegINoSp dst, iRegI src1, rFlagsReg cr)
%{
effect(DEF dst, USE src1, USE cr);
ins_cost(INSN_COST * 2);
format %{ "cselw $dst, $src1, zr gt\t" %}
ins_encode %{
__ cselw($dst$$Register,
$src1$$Register,
zr,
Assembler::GT);
%}
ins_pipe(icond_reg);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct cmovI_reg_imm1_le(iRegINoSp dst, iRegI src1, rFlagsReg cr)
%{
effect(DEF dst, USE src1, USE cr);
ins_cost(INSN_COST * 2);
format %{ "csincw $dst, $src1, zr le\t" %}
ins_encode %{
__ csincw($dst$$Register,
$src1$$Register,
zr,
Assembler::LE);
%}
ins_pipe(icond_reg);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct cmovI_reg_imm1_gt(iRegINoSp dst, iRegI src1, rFlagsReg cr)
%{
effect(DEF dst, USE src1, USE cr);
ins_cost(INSN_COST * 2);
format %{ "csincw $dst, $src1, zr gt\t" %}
ins_encode %{
__ csincw($dst$$Register,
$src1$$Register,
zr,
Assembler::GT);
%}
ins_pipe(icond_reg);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct cmovI_reg_immM1_lt(iRegINoSp dst, iRegI src1, rFlagsReg cr)
%{
effect(DEF dst, USE src1, USE cr);
ins_cost(INSN_COST * 2);
format %{ "csinvw $dst, $src1, zr lt\t" %}
ins_encode %{
__ csinvw($dst$$Register,
$src1$$Register,
zr,
Assembler::LT);
%}
ins_pipe(icond_reg);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct cmovI_reg_immM1_ge(iRegINoSp dst, iRegI src1, rFlagsReg cr)
%{
effect(DEF dst, USE src1, USE cr);
ins_cost(INSN_COST * 2);
format %{ "csinvw $dst, $src1, zr ge\t" %}
ins_encode %{
__ csinvw($dst$$Register,
$src1$$Register,
zr,
Assembler::GE);
%}
ins_pipe(icond_reg);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct minI_reg_imm0(iRegINoSp dst, iRegIorL2I src, immI0 imm)
%{
match(Set dst (MinI src imm));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_imm0_lt(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct minI_imm0_reg(iRegINoSp dst, immI0 imm, iRegIorL2I src)
%{
match(Set dst (MinI imm src));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_imm0_lt(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct minI_reg_imm1(iRegINoSp dst, iRegIorL2I src, immI_1 imm)
%{
match(Set dst (MinI src imm));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_imm1_le(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct minI_imm1_reg(iRegINoSp dst, immI_1 imm, iRegIorL2I src)
%{
match(Set dst (MinI imm src));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_imm1_le(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct minI_reg_immM1(iRegINoSp dst, iRegIorL2I src, immI_M1 imm)
%{
match(Set dst (MinI src imm));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_immM1_lt(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct minI_immM1_reg(iRegINoSp dst, immI_M1 imm, iRegIorL2I src)
%{
match(Set dst (MinI imm src));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_immM1_lt(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct maxI_reg_imm0(iRegINoSp dst, iRegIorL2I src, immI0 imm)
%{
match(Set dst (MaxI src imm));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_imm0_gt(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct maxI_imm0_reg(iRegINoSp dst, immI0 imm, iRegIorL2I src)
%{
match(Set dst (MaxI imm src));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_imm0_gt(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct maxI_reg_imm1(iRegINoSp dst, iRegIorL2I src, immI_1 imm)
%{
match(Set dst (MaxI src imm));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_imm1_gt(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct maxI_imm1_reg(iRegINoSp dst, immI_1 imm, iRegIorL2I src)
%{
match(Set dst (MaxI imm src));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_imm1_gt(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct maxI_reg_immM1(iRegINoSp dst, iRegIorL2I src, immI_M1 imm)
%{
match(Set dst (MaxI src imm));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_immM1_ge(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct maxI_immM1_reg(iRegINoSp dst, immI_M1 imm, iRegIorL2I src)
%{
match(Set dst (MaxI imm src));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_imm0(cr, src);
cmovI_reg_immM1_ge(dst, src, cr);
%}
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct bits_reverse_I(iRegINoSp dst, iRegIorL2I src)
%{
match(Set dst (ReverseI src));
ins_cost(INSN_COST);
format %{ "rbitw $dst, $src" %}
ins_encode %{
__ rbitw($dst$$Register, $src$$Register);
%}
ins_pipe(ialu_reg);
%}
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct bits_reverse_L(iRegLNoSp dst, iRegL src)
%{
match(Set dst (ReverseL src));
ins_cost(INSN_COST);
format %{ "rbit $dst, $src" %}
ins_encode %{
__ rbit($dst$$Register, $src$$Register);
%}
ins_pipe(ialu_reg);
%}
// END This section of the file is automatically generated. Do not edit --------------
@@ -15695,24 +16097,21 @@ instruct cmpLTMask_reg_zero(iRegINoSp dst, iRegIorL2I src, immI0 zero, rFlagsReg
// ============================================================================
// Max and Min
instruct cmovI_reg_reg_lt(iRegINoSp dst, iRegI src1, iRegI src2, rFlagsReg cr)
%{
effect( DEF dst, USE src1, USE src2, USE cr );
// Like compI_reg_reg or compI_reg_immI0 but without match rule and second zero parameter.
ins_cost(INSN_COST * 2);
format %{ "cselw $dst, $src1, $src2 lt\t" %}
instruct compI_reg_imm0(rFlagsReg cr, iRegI src)
%{
effect(DEF cr, USE src);
ins_cost(INSN_COST);
format %{ "cmpw $src, 0" %}
ins_encode %{
__ cselw(as_Register($dst$$reg),
as_Register($src1$$reg),
as_Register($src2$$reg),
Assembler::LT);
__ cmpw($src$$Register, 0);
%}
ins_pipe(icond_reg_reg);
ins_pipe(icmp_reg_imm);
%}
instruct minI_rReg(iRegINoSp dst, iRegI src1, iRegI src2)
instruct minI_reg_reg(iRegINoSp dst, iRegIorL2I src1, iRegIorL2I src2)
%{
match(Set dst (MinI src1 src2));
ins_cost(INSN_COST * 3);
@@ -15722,31 +16121,13 @@ instruct minI_rReg(iRegINoSp dst, iRegI src1, iRegI src2)
compI_reg_reg(cr, src1, src2);
cmovI_reg_reg_lt(dst, src1, src2, cr);
%}
%}
// FROM HERE
instruct cmovI_reg_reg_gt(iRegINoSp dst, iRegI src1, iRegI src2, rFlagsReg cr)
%{
effect( DEF dst, USE src1, USE src2, USE cr );
ins_cost(INSN_COST * 2);
format %{ "cselw $dst, $src1, $src2 gt\t" %}
ins_encode %{
__ cselw(as_Register($dst$$reg),
as_Register($src1$$reg),
as_Register($src2$$reg),
Assembler::GT);
%}
ins_pipe(icond_reg_reg);
%}
instruct maxI_rReg(iRegINoSp dst, iRegI src1, iRegI src2)
instruct maxI_reg_reg(iRegINoSp dst, iRegIorL2I src1, iRegIorL2I src2)
%{
match(Set dst (MaxI src1 src2));
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
compI_reg_reg(cr, src1, src2);
@@ -15754,6 +16135,7 @@ instruct maxI_rReg(iRegINoSp dst, iRegI src1, iRegI src2)
%}
%}
// ============================================================================
// Branch Instructions
@@ -16974,6 +17356,157 @@ instruct encode_ascii_array(iRegP_R2 src, iRegP_R1 dst, iRegI_R3 len,
ins_pipe(pipe_class_memory);
%}
//----------------------------- CompressBits/ExpandBits ------------------------
instruct compressBitsI_reg(iRegINoSp dst, iRegIorL2I src, iRegIorL2I mask,
vRegF tdst, vRegF tsrc, vRegF tmask) %{
match(Set dst (CompressBits src mask));
effect(TEMP tdst, TEMP tsrc, TEMP tmask);
format %{ "mov $tsrc, $src\n\t"
"mov $tmask, $mask\n\t"
"bext $tdst, $tsrc, $tmask\n\t"
"mov $dst, $tdst"
%}
ins_encode %{
__ mov($tsrc$$FloatRegister, __ S, 0, $src$$Register);
__ mov($tmask$$FloatRegister, __ S, 0, $mask$$Register);
__ sve_bext($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
__ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
%}
ins_pipe(pipe_slow);
%}
instruct compressBitsI_memcon(iRegINoSp dst, memory4 mem, immI mask,
vRegF tdst, vRegF tsrc, vRegF tmask) %{
match(Set dst (CompressBits (LoadI mem) mask));
effect(TEMP tdst, TEMP tsrc, TEMP tmask);
format %{ "ldrs $tsrc, $mem\n\t"
"ldrs $tmask, $mask\n\t"
"bext $tdst, $tsrc, $tmask\n\t"
"mov $dst, $tdst"
%}
ins_encode %{
loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrs, $tsrc$$FloatRegister, $mem->opcode(),
as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 4);
__ ldrs($tmask$$FloatRegister, $constantaddress($mask));
__ sve_bext($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
__ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
%}
ins_pipe(pipe_slow);
%}
instruct compressBitsL_reg(iRegLNoSp dst, iRegL src, iRegL mask,
vRegD tdst, vRegD tsrc, vRegD tmask) %{
match(Set dst (CompressBits src mask));
effect(TEMP tdst, TEMP tsrc, TEMP tmask);
format %{ "mov $tsrc, $src\n\t"
"mov $tmask, $mask\n\t"
"bext $tdst, $tsrc, $tmask\n\t"
"mov $dst, $tdst"
%}
ins_encode %{
__ mov($tsrc$$FloatRegister, __ D, 0, $src$$Register);
__ mov($tmask$$FloatRegister, __ D, 0, $mask$$Register);
__ sve_bext($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
__ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
%}
ins_pipe(pipe_slow);
%}
instruct compressBitsL_memcon(iRegLNoSp dst, memory8 mem, immL mask,
vRegF tdst, vRegF tsrc, vRegF tmask) %{
match(Set dst (CompressBits (LoadL mem) mask));
effect(TEMP tdst, TEMP tsrc, TEMP tmask);
format %{ "ldrd $tsrc, $mem\n\t"
"ldrd $tmask, $mask\n\t"
"bext $tdst, $tsrc, $tmask\n\t"
"mov $dst, $tdst"
%}
ins_encode %{
loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrd, $tsrc$$FloatRegister, $mem->opcode(),
as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 8);
__ ldrd($tmask$$FloatRegister, $constantaddress($mask));
__ sve_bext($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
__ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
%}
ins_pipe(pipe_slow);
%}
instruct expandBitsI_reg(iRegINoSp dst, iRegIorL2I src, iRegIorL2I mask,
vRegF tdst, vRegF tsrc, vRegF tmask) %{
match(Set dst (ExpandBits src mask));
effect(TEMP tdst, TEMP tsrc, TEMP tmask);
format %{ "mov $tsrc, $src\n\t"
"mov $tmask, $mask\n\t"
"bdep $tdst, $tsrc, $tmask\n\t"
"mov $dst, $tdst"
%}
ins_encode %{
__ mov($tsrc$$FloatRegister, __ S, 0, $src$$Register);
__ mov($tmask$$FloatRegister, __ S, 0, $mask$$Register);
__ sve_bdep($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
__ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
%}
ins_pipe(pipe_slow);
%}
instruct expandBitsI_memcon(iRegINoSp dst, memory4 mem, immI mask,
vRegF tdst, vRegF tsrc, vRegF tmask) %{
match(Set dst (ExpandBits (LoadI mem) mask));
effect(TEMP tdst, TEMP tsrc, TEMP tmask);
format %{ "ldrs $tsrc, $mem\n\t"
"ldrs $tmask, $mask\n\t"
"bdep $tdst, $tsrc, $tmask\n\t"
"mov $dst, $tdst"
%}
ins_encode %{
loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrs, $tsrc$$FloatRegister, $mem->opcode(),
as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 4);
__ ldrs($tmask$$FloatRegister, $constantaddress($mask));
__ sve_bdep($tdst$$FloatRegister, __ S, $tsrc$$FloatRegister, $tmask$$FloatRegister);
__ mov($dst$$Register, $tdst$$FloatRegister, __ S, 0);
%}
ins_pipe(pipe_slow);
%}
instruct expandBitsL_reg(iRegLNoSp dst, iRegL src, iRegL mask,
vRegD tdst, vRegD tsrc, vRegD tmask) %{
match(Set dst (ExpandBits src mask));
effect(TEMP tdst, TEMP tsrc, TEMP tmask);
format %{ "mov $tsrc, $src\n\t"
"mov $tmask, $mask\n\t"
"bdep $tdst, $tsrc, $tmask\n\t"
"mov $dst, $tdst"
%}
ins_encode %{
__ mov($tsrc$$FloatRegister, __ D, 0, $src$$Register);
__ mov($tmask$$FloatRegister, __ D, 0, $mask$$Register);
__ sve_bdep($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
__ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
%}
ins_pipe(pipe_slow);
%}
instruct expandBitsL_memcon(iRegINoSp dst, memory8 mem, immL mask,
vRegF tdst, vRegF tsrc, vRegF tmask) %{
match(Set dst (ExpandBits (LoadL mem) mask));
effect(TEMP tdst, TEMP tsrc, TEMP tmask);
format %{ "ldrd $tsrc, $mem\n\t"
"ldrd $tmask, $mask\n\t"
"bdep $tdst, $tsrc, $tmask\n\t"
"mov $dst, $tdst"
%}
ins_encode %{
loadStore(C2_MacroAssembler(&cbuf), &MacroAssembler::ldrd, $tsrc$$FloatRegister, $mem->opcode(),
as_Register($mem$$base), $mem$$index, $mem$$scale, $mem$$disp, 8);
__ ldrd($tmask$$FloatRegister, $constantaddress($mask));
__ sve_bdep($tdst$$FloatRegister, __ D, $tsrc$$FloatRegister, $tmask$$FloatRegister);
__ mov($dst$$Register, $tdst$$FloatRegister, __ D, 0);
%}
ins_pipe(pipe_slow);
%}
// ============================================================================
// This name is KNOWN by the ADLC and cannot be changed.
// The ADLC forces a 'TypeRawPtr::BOTTOM' output type

View File

@@ -27,8 +27,10 @@ dnl 2. shift patterns
dnl
// BEGIN This section of the file is automatically generated. Do not edit --------------
// This section is generated from aarch64_ad.m4
dnl
define(`ORL2I', `ifelse($1,I,orL2I)')
define(`upcase', `translit(`$*', `a-z', `A-Z')')dnl
define(`downcase', `translit(`$*', `A-Z', `a-z')')dnl
define(`ORL2I', `ifelse($1,I,orL2I)')dnl
dnl
define(`BASE_SHIFT_INSN',
`// This pattern is automatically generated from aarch64_ad.m4
@@ -189,7 +191,7 @@ ALL_SHIFT_KINDS_WITHOUT_ROR(Add, add)
ALL_SHIFT_KINDS_WITHOUT_ROR(Sub, sub)
dnl
dnl EXTEND mode, rshift_op, src, lshift_count, rshift_count
define(`EXTEND', `($2$1 (LShift$1 $3 $4) $5)') dnl
define(`EXTEND', `($2$1 (LShift$1 $3 $4) $5)')dnl
define(`BFM_INSN',`// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
@@ -212,7 +214,7 @@ instruct $4$1(iReg$1NoSp dst, iReg$1`'ORL2I($1) src, immI lshift_count, immI rsh
ins_pipe(ialu_reg_shift);
%}
')
')dnl
BFM_INSN(L, 63, RShift, sbfm)
BFM_INSN(I, 31, RShift, sbfmw)
BFM_INSN(L, 63, URShift, ubfm)
@@ -336,7 +338,7 @@ instruct ubfizIConvI2LAndI(iRegLNoSp dst, iRegI src, immI_bitmask msk)
%}
// Rotations dnl
// Rotations
define(`EXTRACT_INSN',`
// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
@@ -539,4 +541,93 @@ dnl
ADD_SUB_ZERO_EXTEND_SHIFT(I,255,Sub,subw,uxtb)
ADD_SUB_ZERO_EXTEND_SHIFT(I,65535,Sub,subw,uxth)
dnl
define(`CMOV_INSN', `// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct cmov$1_reg_reg_$3(iReg$1NoSp dst, iReg$1 src1, iReg$1 src2, rFlagsReg cr)
%{
effect(DEF dst, USE src1, USE src2, USE cr);
ins_cost(INSN_COST * 2);
format %{ "$2 $dst, $src1, $src2 $3\t" %}
ins_encode %{
__ $2($dst$$Register,
$src1$$Register,
$src2$$Register,
Assembler::upcase($3));
%}
ins_pipe(icond_reg_reg);
%}
')dnl
CMOV_INSN(I, cselw, lt)
CMOV_INSN(I, cselw, gt)
dnl
define(`CMOV_DRAW_INSN', `// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct cmov$1_reg_imm$2_$4(iReg$1NoSp dst, iReg$1 src1, rFlagsReg cr)
%{
effect(DEF dst, USE src1, USE cr);
ins_cost(INSN_COST * 2);
format %{ "$3 $dst, $src1, zr $4\t" %}
ins_encode %{
__ $3($dst$$Register,
$src1$$Register,
zr,
Assembler::upcase($4));
%}
ins_pipe(icond_reg);
%}
')dnl
CMOV_DRAW_INSN(I, 0, cselw, lt)
CMOV_DRAW_INSN(I, 0, cselw, gt)
CMOV_DRAW_INSN(I, 1, csincw, le)
CMOV_DRAW_INSN(I, 1, csincw, gt)
CMOV_DRAW_INSN(I, M1, csinvw, lt)
CMOV_DRAW_INSN(I, M1, csinvw, ge)
dnl
define(`MINMAX_DRAW_INSN', `// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
ifelse($6,,
instruct downcase($1)$2_reg_imm$4(iReg$2NoSp dst, iReg$2`'ORL2I($2) src, imm$2$3$4 imm),
instruct downcase($1)$2_imm$4_reg(iReg$2NoSp dst, imm$2$3$4 imm, iReg$2`'ORL2I($2) src))
%{
ifelse($6,,
match(Set dst ($1$2 src imm));,
match(Set dst ($1$2 imm src));)
ins_cost(INSN_COST * 3);
expand %{
rFlagsReg cr;
comp$2_reg_imm0(cr, src);
cmov$2_reg_imm$4_$5(dst, src, cr);
%}
%}
')dnl
MINMAX_DRAW_INSN(Min, I, , 0, lt)
MINMAX_DRAW_INSN(Min, I, , 0, lt, rev)
MINMAX_DRAW_INSN(Min, I, _, 1, le)
MINMAX_DRAW_INSN(Min, I, _, 1, le, rev)
MINMAX_DRAW_INSN(Min, I, _, M1, lt)
MINMAX_DRAW_INSN(Min, I, _, M1, lt, rev)
dnl
MINMAX_DRAW_INSN(Max, I, , 0, gt)
MINMAX_DRAW_INSN(Max, I, , 0, gt, rev)
MINMAX_DRAW_INSN(Max, I, _, 1, gt)
MINMAX_DRAW_INSN(Max, I, _, 1, gt, rev)
MINMAX_DRAW_INSN(Max, I, _, M1, ge)
MINMAX_DRAW_INSN(Max, I, _, M1, ge, rev)
dnl
define(`BITS_REVERSE', `// This pattern is automatically generated from aarch64_ad.m4
// DO NOT EDIT ANYTHING IN THIS SECTION OF THE FILE
instruct bits_reverse_$1(iReg$1NoSp dst, iReg$1`'ORL2I($1) src)
%{
match(Set dst (Reverse$1 src));
ins_cost(INSN_COST);
format %{ "$2 $dst, $src" %}
ins_encode %{
__ $2($dst$$Register, $src$$Register);
%}
ins_pipe(ialu_reg);
%}
')dnl
BITS_REVERSE(I, rbitw)
BITS_REVERSE(L, rbit)

View File

@@ -1,6 +1,6 @@
//
// Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2022, Arm Limited. All rights reserved.
// Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2023, Arm Limited. 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
@@ -134,6 +134,9 @@ source %{
(opcode == Op_VectorCastL2X && bt == T_FLOAT) ||
(opcode == Op_CountLeadingZerosV && bt == T_LONG) ||
(opcode == Op_CountTrailingZerosV && bt == T_LONG) ||
// The vector implementation of Op_AddReductionVD/F is for the Vector API only.
// It is not suitable for auto-vectorization because it does not add the elements
// in the same order as sequential code, and FP addition is non-associative.
opcode == Op_AddReductionVD || opcode == Op_AddReductionVF ||
opcode == Op_MulReductionVD || opcode == Op_MulReductionVF ||
opcode == Op_MulVL) {
@@ -2876,23 +2879,30 @@ instruct reduce_addL_sve(iRegLNoSp dst, iRegL isrc, vReg vsrc, vRegD tmp) %{
%}
// reduction addF
// Floating-point addition is not associative, so the rules for AddReductionVF
// on NEON can't be used to auto-vectorize floating-point reduce-add.
// Currently, on NEON, AddReductionVF is only generated by Vector API.
instruct reduce_add2F_neon(vRegF dst, vRegF fsrc, vReg vsrc) %{
predicate(UseSVE == 0 && Matcher::vector_length(n->in(2)) == 2);
match(Set dst (AddReductionVF fsrc vsrc));
effect(TEMP_DEF dst);
format %{ "reduce_add2F_neon $dst, $fsrc, $vsrc" %}
ins_encode %{
__ faddp($dst$$FloatRegister, $vsrc$$FloatRegister, __ S);
__ fadds($dst$$FloatRegister, $dst$$FloatRegister, $fsrc$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
instruct reduce_addF_neon(vRegF dst, vRegF fsrc, vReg vsrc, vReg tmp) %{
predicate(UseSVE == 0);
instruct reduce_add4F_neon(vRegF dst, vRegF fsrc, vReg vsrc, vReg tmp) %{
predicate(UseSVE == 0 && Matcher::vector_length(n->in(2)) == 4);
match(Set dst (AddReductionVF fsrc vsrc));
effect(TEMP_DEF dst, TEMP tmp);
format %{ "reduce_addF_neon $dst, $fsrc, $vsrc\t# KILL $tmp" %}
format %{ "reduce_add4F_neon $dst, $fsrc, $vsrc\t# KILL $tmp" %}
ins_encode %{
uint length_in_bytes = Matcher::vector_length_in_bytes(this, $vsrc);
__ fadds($dst$$FloatRegister, $fsrc$$FloatRegister, $vsrc$$FloatRegister);
__ ins($tmp$$FloatRegister, __ S, $vsrc$$FloatRegister, 0, 1);
__ fadds($dst$$FloatRegister, $dst$$FloatRegister, $tmp$$FloatRegister);
if (length_in_bytes == 16) {
__ ins($tmp$$FloatRegister, __ S, $vsrc$$FloatRegister, 0, 2);
__ fadds($dst$$FloatRegister, $dst$$FloatRegister, $tmp$$FloatRegister);
__ ins($tmp$$FloatRegister, __ S, $vsrc$$FloatRegister, 0, 3);
__ fadds($dst$$FloatRegister, $dst$$FloatRegister, $tmp$$FloatRegister);
}
__ faddp($tmp$$FloatRegister, __ T4S, $vsrc$$FloatRegister, $vsrc$$FloatRegister);
__ faddp($dst$$FloatRegister, $tmp$$FloatRegister, __ S);
__ fadds($dst$$FloatRegister, $dst$$FloatRegister, $fsrc$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
@@ -2910,16 +2920,17 @@ instruct reduce_addF_sve(vRegF dst_src1, vReg src2) %{
%}
// reduction addD
instruct reduce_addD_neon(vRegD dst, vRegD dsrc, vReg vsrc, vReg tmp) %{
// Floating-point addition is not associative, so the rule for AddReductionVD
// on NEON can't be used to auto-vectorize floating-point reduce-add.
// Currently, on NEON, AddReductionVD is only generated by Vector API.
instruct reduce_addD_neon(vRegD dst, vRegD dsrc, vReg vsrc) %{
predicate(UseSVE == 0);
match(Set dst (AddReductionVD dsrc vsrc));
effect(TEMP_DEF dst, TEMP tmp);
format %{ "reduce_addD_neon $dst, $dsrc, $vsrc\t# 2D. KILL $tmp" %}
effect(TEMP_DEF dst);
format %{ "reduce_addD_neon $dst, $dsrc, $vsrc\t# 2D" %}
ins_encode %{
__ faddd($dst$$FloatRegister, $dsrc$$FloatRegister, $vsrc$$FloatRegister);
__ ins($tmp$$FloatRegister, __ D, $vsrc$$FloatRegister, 0, 1);
__ faddd($dst$$FloatRegister, $dst$$FloatRegister, $tmp$$FloatRegister);
__ faddp($dst$$FloatRegister, $vsrc$$FloatRegister, __ D);
__ faddd($dst$$FloatRegister, $dst$$FloatRegister, $dsrc$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
@@ -4148,6 +4159,52 @@ instruct vcvtDtoF_gt64b(vReg dst, vReg src, vReg tmp) %{
ins_pipe(pipe_slow);
%}
// VectorCastHF2F
instruct vcvtHFtoF(vReg dst, vReg src) %{
match(Set dst (VectorCastHF2F src));
format %{ "vcvtHFtoF $dst, $src" %}
ins_encode %{
uint length_in_bytes = Matcher::vector_length_in_bytes(this);
if (VM_Version::use_neon_for_vector(length_in_bytes)) {
// 4HF to 4F
__ fcvtl($dst$$FloatRegister, __ T4S, $src$$FloatRegister, __ T4H);
} else {
assert(UseSVE > 0, "must be sve");
__ sve_vector_extend($dst$$FloatRegister, __ S, $src$$FloatRegister, __ H);
__ sve_fcvt($dst$$FloatRegister, __ S, ptrue, $dst$$FloatRegister, __ H);
}
%}
ins_pipe(pipe_slow);
%}
// VectorCastF2HF
instruct vcvtFtoHF_neon(vReg dst, vReg src) %{
predicate(VM_Version::use_neon_for_vector(Matcher::vector_length_in_bytes(n->in(1))));
match(Set dst (VectorCastF2HF src));
format %{ "vcvtFtoHF_neon $dst, $src\t# 4F to 4HF" %}
ins_encode %{
// 4F to 4HF
__ fcvtn($dst$$FloatRegister, __ T4H, $src$$FloatRegister, __ T4S);
%}
ins_pipe(pipe_slow);
%}
instruct vcvtFtoHF_sve(vReg dst, vReg src, vReg tmp) %{
predicate(!VM_Version::use_neon_for_vector(Matcher::vector_length_in_bytes(n->in(1))));
match(Set dst (VectorCastF2HF src));
effect(TEMP_DEF dst, TEMP tmp);
format %{ "vcvtFtoHF_sve $dst, $src\t# KILL $tmp" %}
ins_encode %{
assert(UseSVE > 0, "must be sve");
__ sve_fcvt($dst$$FloatRegister, __ H, ptrue, $src$$FloatRegister, __ S);
__ sve_vector_narrow($dst$$FloatRegister, __ H,
$dst$$FloatRegister, __ S, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
// ------------------------------ Replicate ------------------------------------
// replicate from reg
@@ -5632,6 +5689,18 @@ instruct vmask_gen_imm(pReg pd, immL con, rFlagsReg cr) %{
ins_pipe(pipe_slow);
%}
instruct vmask_gen_sub(pReg pd, iRegL src1, iRegL src2, rFlagsReg cr) %{
predicate(UseSVE > 0);
match(Set pd (VectorMaskGen (SubL src1 src2)));
effect(KILL cr);
format %{ "vmask_gen_sub $pd, $src2, $src1\t# KILL cr" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this);
__ sve_whilelo($pd$$PRegister, __ elemType_to_regVariant(bt), $src2$$Register, $src1$$Register);
%}
ins_pipe(pipe_slow);
%}
// ------------------------------ Popcount vector ------------------------------
// vector popcount - INT

View File

@@ -1,6 +1,6 @@
//
// Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2022, Arm Limited. All rights reserved.
// Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2023, Arm Limited. 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
@@ -124,6 +124,9 @@ source %{
(opcode == Op_VectorCastL2X && bt == T_FLOAT) ||
(opcode == Op_CountLeadingZerosV && bt == T_LONG) ||
(opcode == Op_CountTrailingZerosV && bt == T_LONG) ||
// The vector implementation of Op_AddReductionVD/F is for the Vector API only.
// It is not suitable for auto-vectorization because it does not add the elements
// in the same order as sequential code, and FP addition is non-associative.
opcode == Op_AddReductionVD || opcode == Op_AddReductionVF ||
opcode == Op_MulReductionVD || opcode == Op_MulReductionVF ||
opcode == Op_MulVL) {
@@ -1808,23 +1811,30 @@ REDUCE_ADD_INT_NEON_SVE_PAIRWISE(I, iRegIorL2I)
REDUCE_ADD_INT_NEON_SVE_PAIRWISE(L, iRegL)
// reduction addF
// Floating-point addition is not associative, so the rules for AddReductionVF
// on NEON can't be used to auto-vectorize floating-point reduce-add.
// Currently, on NEON, AddReductionVF is only generated by Vector API.
instruct reduce_add2F_neon(vRegF dst, vRegF fsrc, vReg vsrc) %{
predicate(UseSVE == 0 && Matcher::vector_length(n->in(2)) == 2);
match(Set dst (AddReductionVF fsrc vsrc));
effect(TEMP_DEF dst);
format %{ "reduce_add2F_neon $dst, $fsrc, $vsrc" %}
ins_encode %{
__ faddp($dst$$FloatRegister, $vsrc$$FloatRegister, __ S);
__ fadds($dst$$FloatRegister, $dst$$FloatRegister, $fsrc$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
instruct reduce_addF_neon(vRegF dst, vRegF fsrc, vReg vsrc, vReg tmp) %{
predicate(UseSVE == 0);
instruct reduce_add4F_neon(vRegF dst, vRegF fsrc, vReg vsrc, vReg tmp) %{
predicate(UseSVE == 0 && Matcher::vector_length(n->in(2)) == 4);
match(Set dst (AddReductionVF fsrc vsrc));
effect(TEMP_DEF dst, TEMP tmp);
format %{ "reduce_addF_neon $dst, $fsrc, $vsrc\t# KILL $tmp" %}
format %{ "reduce_add4F_neon $dst, $fsrc, $vsrc\t# KILL $tmp" %}
ins_encode %{
uint length_in_bytes = Matcher::vector_length_in_bytes(this, $vsrc);
__ fadds($dst$$FloatRegister, $fsrc$$FloatRegister, $vsrc$$FloatRegister);
__ ins($tmp$$FloatRegister, __ S, $vsrc$$FloatRegister, 0, 1);
__ fadds($dst$$FloatRegister, $dst$$FloatRegister, $tmp$$FloatRegister);
if (length_in_bytes == 16) {
__ ins($tmp$$FloatRegister, __ S, $vsrc$$FloatRegister, 0, 2);
__ fadds($dst$$FloatRegister, $dst$$FloatRegister, $tmp$$FloatRegister);
__ ins($tmp$$FloatRegister, __ S, $vsrc$$FloatRegister, 0, 3);
__ fadds($dst$$FloatRegister, $dst$$FloatRegister, $tmp$$FloatRegister);
}
__ faddp($tmp$$FloatRegister, __ T4S, $vsrc$$FloatRegister, $vsrc$$FloatRegister);
__ faddp($dst$$FloatRegister, $tmp$$FloatRegister, __ S);
__ fadds($dst$$FloatRegister, $dst$$FloatRegister, $fsrc$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
@@ -1847,16 +1857,17 @@ dnl
REDUCE_ADD_FP_SVE(F, S)
// reduction addD
instruct reduce_addD_neon(vRegD dst, vRegD dsrc, vReg vsrc, vReg tmp) %{
// Floating-point addition is not associative, so the rule for AddReductionVD
// on NEON can't be used to auto-vectorize floating-point reduce-add.
// Currently, on NEON, AddReductionVD is only generated by Vector API.
instruct reduce_addD_neon(vRegD dst, vRegD dsrc, vReg vsrc) %{
predicate(UseSVE == 0);
match(Set dst (AddReductionVD dsrc vsrc));
effect(TEMP_DEF dst, TEMP tmp);
format %{ "reduce_addD_neon $dst, $dsrc, $vsrc\t# 2D. KILL $tmp" %}
effect(TEMP_DEF dst);
format %{ "reduce_addD_neon $dst, $dsrc, $vsrc\t# 2D" %}
ins_encode %{
__ faddd($dst$$FloatRegister, $dsrc$$FloatRegister, $vsrc$$FloatRegister);
__ ins($tmp$$FloatRegister, __ D, $vsrc$$FloatRegister, 0, 1);
__ faddd($dst$$FloatRegister, $dst$$FloatRegister, $tmp$$FloatRegister);
__ faddp($dst$$FloatRegister, $vsrc$$FloatRegister, __ D);
__ faddd($dst$$FloatRegister, $dst$$FloatRegister, $dsrc$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
@@ -2720,6 +2731,52 @@ instruct vcvtDtoF_gt64b(vReg dst, vReg src, vReg tmp) %{
ins_pipe(pipe_slow);
%}
// VectorCastHF2F
instruct vcvtHFtoF(vReg dst, vReg src) %{
match(Set dst (VectorCastHF2F src));
format %{ "vcvtHFtoF $dst, $src" %}
ins_encode %{
uint length_in_bytes = Matcher::vector_length_in_bytes(this);
if (VM_Version::use_neon_for_vector(length_in_bytes)) {
// 4HF to 4F
__ fcvtl($dst$$FloatRegister, __ T4S, $src$$FloatRegister, __ T4H);
} else {
assert(UseSVE > 0, "must be sve");
__ sve_vector_extend($dst$$FloatRegister, __ S, $src$$FloatRegister, __ H);
__ sve_fcvt($dst$$FloatRegister, __ S, ptrue, $dst$$FloatRegister, __ H);
}
%}
ins_pipe(pipe_slow);
%}
// VectorCastF2HF
instruct vcvtFtoHF_neon(vReg dst, vReg src) %{
predicate(VM_Version::use_neon_for_vector(Matcher::vector_length_in_bytes(n->in(1))));
match(Set dst (VectorCastF2HF src));
format %{ "vcvtFtoHF_neon $dst, $src\t# 4F to 4HF" %}
ins_encode %{
// 4F to 4HF
__ fcvtn($dst$$FloatRegister, __ T4H, $src$$FloatRegister, __ T4S);
%}
ins_pipe(pipe_slow);
%}
instruct vcvtFtoHF_sve(vReg dst, vReg src, vReg tmp) %{
predicate(!VM_Version::use_neon_for_vector(Matcher::vector_length_in_bytes(n->in(1))));
match(Set dst (VectorCastF2HF src));
effect(TEMP_DEF dst, TEMP tmp);
format %{ "vcvtFtoHF_sve $dst, $src\t# KILL $tmp" %}
ins_encode %{
assert(UseSVE > 0, "must be sve");
__ sve_fcvt($dst$$FloatRegister, __ H, ptrue, $src$$FloatRegister, __ S);
__ sve_vector_narrow($dst$$FloatRegister, __ H,
$dst$$FloatRegister, __ S, $tmp$$FloatRegister);
%}
ins_pipe(pipe_slow);
%}
// ------------------------------ Replicate ------------------------------------
dnl REPLICATE_INT($1, $2, $3 )
@@ -4015,6 +4072,18 @@ instruct vmask_gen_imm(pReg pd, immL con, rFlagsReg cr) %{
ins_pipe(pipe_slow);
%}
instruct vmask_gen_sub(pReg pd, iRegL src1, iRegL src2, rFlagsReg cr) %{
predicate(UseSVE > 0);
match(Set pd (VectorMaskGen (SubL src1 src2)));
effect(KILL cr);
format %{ "vmask_gen_sub $pd, $src2, $src1\t# KILL cr" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this);
__ sve_whilelo($pd$$PRegister, __ elemType_to_regVariant(bt), $src2$$Register, $src1$$Register);
%}
ins_pipe(pipe_slow);
%}
// ------------------------------ Popcount vector ------------------------------
// vector popcount - INT

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -505,7 +505,20 @@ class Address {
}
bool uses(Register reg) const {
return base() == reg || index() == reg;
switch (_mode) {
case literal:
case no_mode:
return false;
case base_plus_offset:
case base_plus_offset_reg:
case pre:
case post:
case post_reg:
return base() == reg || index() == reg;
default:
ShouldNotReachHere();
return false;
}
}
address target() const {
@@ -2716,6 +2729,7 @@ template<typename R, typename... Rx>
INSN(fabd, 1, 1, 0b110101);
INSN(fadd, 0, 0, 0b110101);
INSN(fdiv, 1, 0, 0b111111);
INSN(faddp, 1, 0, 0b110101);
INSN(fmul, 1, 0, 0b110111);
INSN(fsub, 0, 1, 0b110101);
INSN(fmla, 0, 0, 0b110011);
@@ -3929,9 +3943,29 @@ void sve_fcm(Condition cond, PRegister Pd, SIMD_RegVariant T,
starti;
assert(T_src != B && T_dst != B && T_src != Q && T_dst != Q &&
T_src != T_dst, "invalid register variant");
guarantee(T_src != H && T_dst != H, "half-precision unsupported");
f(0b01100101, 31, 24), f(0b11, 23, 22), f(0b0010, 21, 18);
f(T_dst, 17, 16), f(0b101, 15, 13);
// The encodings of fields op1 (bits 17-16) and op2 (bits 23-22)
// depend on T_src and T_dst as given below -
// +-----+------+---------------------------------------------+
// | op2 | op1 | Instruction Details |
// +-----+------+---------------------------------------------+
// | 10 | 01 | FCVT - half-precision to single-precision |
// | 11 | 01 | FCVT - half-precision to double-precision |
// | 10 | 00 | FCVT - single-precision to half-precision |
// | 11 | 11 | FCVT - single-precision to double-precision |
// | 11 | 00 | FCVT - double-preciison to half-precision |
// | 11 | 10 | FCVT - double-precision to single-precision |
// +-----+------+---+-----------------------------------------+
int op1 = 0b00;
int op2 = (T_src == D || T_dst == D) ? 0b11 : 0b10;
if (T_src == H) {
op1 = 0b01;
} else if (T_dst == S) {
op1 = 0b10;
} else if (T_dst == D) {
op1 = 0b11;
}
f(0b01100101, 31, 24), f(op2, 23, 22), f(0b0010, 21, 18);
f(op1, 17, 16), f(0b101, 15, 13);
pgrf(Pg, 10), rf(Zn, 5), rf(Zd, 0);
}

View File

@@ -63,18 +63,6 @@ void CounterOverflowStub::emit_code(LIR_Assembler* ce) {
__ b(_continuation);
}
RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index, LIR_Opr array)
: _index(index), _array(array), _throw_index_out_of_bounds_exception(false) {
assert(info != NULL, "must have info");
_info = new CodeEmitInfo(info);
}
RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index)
: _index(index), _array(), _throw_index_out_of_bounds_exception(true) {
assert(info != NULL, "must have info");
_info = new CodeEmitInfo(info);
}
void RangeCheckStub::emit_code(LIR_Assembler* ce) {
__ bind(_entry);
if (_info->deoptimize_on_exception()) {
@@ -208,14 +196,6 @@ void NewObjectArrayStub::emit_code(LIR_Assembler* ce) {
assert(_result->as_register() == r0, "result must in r0");
__ b(_continuation);
}
// Implementation of MonitorAccessStubs
MonitorEnterStub::MonitorEnterStub(LIR_Opr obj_reg, LIR_Opr lock_reg, CodeEmitInfo* info)
: MonitorAccessStub(obj_reg, lock_reg)
{
_info = new CodeEmitInfo(info);
}
void MonitorEnterStub::emit_code(LIR_Assembler* ce) {
assert(__ rsp_offset() == 0, "frame size should be fixed");

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -78,4 +78,13 @@ enum {
pd_float_saved_as_double = false
};
enum {
pd_two_operand_lir_form = false
};
// the number of stack required by ArrayCopyStub
enum {
pd_arraycopystub_reserved_argument_area_size = 2
};
#endif // CPU_AARCH64_C1_DEFS_AARCH64_HPP

View File

@@ -3185,7 +3185,8 @@ void LIR_Assembler::atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr
__ encode_heap_oop(rscratch2, obj);
obj = rscratch2;
}
assert_different_registers(obj, addr.base(), tmp, rscratch1, dst);
assert_different_registers(obj, addr.base(), tmp, rscratch1);
assert_different_registers(dst, addr.base(), tmp, rscratch1);
__ lea(tmp, addr);
(_masm->*xchg)(dst, obj, tmp);
if (is_oop && UseCompressedOops) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1999, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -108,7 +108,7 @@ int C1_MacroAssembler::lock_object(Register hdr, Register obj, Register disp_hdr
// significant 2 bits cleared and page_size is a power of 2
mov(rscratch1, sp);
sub(hdr, hdr, rscratch1);
ands(hdr, hdr, aligned_mask - os::vm_page_size());
ands(hdr, hdr, aligned_mask - (int)os::vm_page_size());
// for recursive locking, the result is zero => save it in the displaced header
// location (NULL in the displaced hdr location indicates recursive locking)
str(hdr, Address(disp_hdr, 0));
@@ -199,9 +199,12 @@ void C1_MacroAssembler::initialize_body(Register obj, Register len_in_bytes, int
mov(rscratch1, len_in_bytes);
lea(t1, Address(obj, hdr_size_in_bytes));
lsr(t2, rscratch1, LogBytesPerWord);
zero_words(t1, t2);
address tpc = zero_words(t1, t2);
bind(done);
if (tpc == nullptr) {
Compilation::current()->bailout("no space for trampoline stub");
}
}
@@ -228,10 +231,17 @@ void C1_MacroAssembler::initialize_object(Register obj, Register klass, Register
if (var_size_in_bytes != noreg) {
mov(index, var_size_in_bytes);
initialize_body(obj, index, hdr_size_in_bytes, t1, t2);
if (Compilation::current()->bailed_out()) {
return;
}
} else if (con_size_in_bytes > hdr_size_in_bytes) {
con_size_in_bytes -= hdr_size_in_bytes;
lea(t1, Address(obj, hdr_size_in_bytes));
zero_words(t1, con_size_in_bytes / BytesPerWord);
address tpc = zero_words(t1, con_size_in_bytes / BytesPerWord);
if (tpc == nullptr) {
Compilation::current()->bailout("no space for trampoline stub");
return;
}
}
}
@@ -267,6 +277,9 @@ void C1_MacroAssembler::allocate_array(Register obj, Register len, Register t1,
// clear rest of allocated space
initialize_body(obj, arr_size, header_size * BytesPerWord, t1, t2);
if (Compilation::current()->bailed_out()) {
return;
}
membar(StoreStore);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -60,6 +60,5 @@ define_pd_global(bool, UseTypeProfile, false);
define_pd_global(bool, OptimizeSinglePrecision, true );
define_pd_global(bool, CSEArrayLength, false);
define_pd_global(bool, TwoOperandLIRForm, false );
#endif // CPU_AARCH64_C1_GLOBALS_AARCH64_HPP

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -298,7 +298,12 @@ void C2_MacroAssembler::string_indexof(Register str2, Register str1,
stub = RuntimeAddress(StubRoutines::aarch64::string_indexof_linear_uu());
assert(stub.target() != NULL, "string_indexof_linear_uu stub has not been generated");
}
trampoline_call(stub);
address call = trampoline_call(stub);
if (call == nullptr) {
DEBUG_ONLY(reset_labels(LINEARSEARCH, LINEAR_MEDIUM, DONE, NOMATCH, MATCH));
ciEnv::current()->record_failure("CodeCache is full");
return;
}
b(DONE);
}
@@ -857,7 +862,12 @@ void C2_MacroAssembler::string_compare(Register str1, Register str2,
ShouldNotReachHere();
}
assert(stub.target() != NULL, "compare_long_string stub has not been generated");
trampoline_call(stub);
address call = trampoline_call(stub);
if (call == nullptr) {
DEBUG_ONLY(reset_labels(DONE, SHORT_LOOP, SHORT_STRING, SHORT_LAST, SHORT_LOOP_TAIL, SHORT_LAST2, SHORT_LAST_INIT, SHORT_LOOP_START));
ciEnv::current()->record_failure("CodeCache is full");
return;
}
b(DONE);
bind(SHORT_STRING);

View File

@@ -35,9 +35,6 @@
enum shift_kind kind = Assembler::LSL, unsigned shift = 0);
public:
void emit_entry_barrier_stub(C2EntryBarrierStub* stub);
static int entry_barrier_stub_size();
void string_compare(Register str1, Register str2,
Register cnt1, Register cnt2, Register result,
Register tmp1, Register tmp2, FloatRegister vtmp1,

View File

@@ -30,7 +30,7 @@ void CodeBuffer::share_trampoline_for(address dest, int caller_offset) {
if (_shared_trampoline_requests == nullptr) {
constexpr unsigned init_size = 8;
constexpr unsigned max_size = 256;
_shared_trampoline_requests = new SharedTrampolineRequests(init_size, max_size);
_shared_trampoline_requests = new (mtCompiler)SharedTrampolineRequests(init_size, max_size);
}
bool created;
@@ -42,6 +42,8 @@ void CodeBuffer::share_trampoline_for(address dest, int caller_offset) {
_finalize_stubs = true;
}
#define __ masm.
static bool emit_shared_trampolines(CodeBuffer* cb, CodeBuffer::SharedTrampolineRequests* requests) {
if (requests == nullptr) {
return true;
@@ -49,39 +51,35 @@ static bool emit_shared_trampolines(CodeBuffer* cb, CodeBuffer::SharedTrampoline
MacroAssembler masm(cb);
bool p_succeeded = true;
auto emit = [&](address dest, const CodeBuffer::Offsets &offsets) {
masm.set_code_section(cb->stubs());
if (!is_aligned(masm.offset(), wordSize)) {
if (cb->stubs()->maybe_expand_to_ensure_remaining(NativeInstruction::instruction_size) && cb->blob() == NULL) {
ciEnv::current()->record_failure("CodeCache is full");
p_succeeded = false;
return p_succeeded;
}
masm.align(wordSize);
}
assert(cb->stubs()->remaining() >= MacroAssembler::max_trampoline_stub_size(), "pre-allocated trampolines");
LinkedListIterator<int> it(offsets.head());
int offset = *it.next();
for (; !it.is_empty(); offset = *it.next()) {
masm.relocate(trampoline_stub_Relocation::spec(cb->insts()->start() + offset));
}
masm.set_code_section(cb->insts());
address stub = __ emit_trampoline_stub(offset, dest);
assert(stub, "pre-allocated trampolines");
address stub = masm.emit_trampoline_stub(offset, dest);
if (stub == nullptr) {
ciEnv::current()->record_failure("CodeCache is full");
p_succeeded = false;
address reloc_pc = cb->stubs()->end() - NativeCallTrampolineStub::instruction_size;
while (!it.is_empty()) {
offset = *it.next();
address caller_pc = cb->insts()->start() + offset;
cb->stubs()->relocate(reloc_pc, trampoline_stub_Relocation::spec(caller_pc));
}
return p_succeeded;
return true;
};
requests->iterate(emit);
assert(requests->number_of_entries() >= 1, "at least one");
const int total_requested_size = MacroAssembler::max_trampoline_stub_size() * requests->number_of_entries();
if (cb->stubs()->maybe_expand_to_ensure_remaining(total_requested_size) && cb->blob() == NULL) {
ciEnv::current()->record_failure("CodeCache is full");
return false;
}
return p_succeeded;
requests->iterate(emit);
return true;
}
#undef __
bool CodeBuffer::pd_finalize_stubs() {
return emit_shared_stubs_to_interp<MacroAssembler>(this, _shared_stub_to_interp_requests)
&& emit_shared_trampolines(this, _shared_trampoline_requests);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2018, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -71,15 +71,14 @@ address CompiledStaticCall::emit_to_interp_stub(CodeBuffer &cbuf, address mark)
#undef __
int CompiledStaticCall::to_interp_stub_size() {
// isb; movk; movz; movz; movk; movz; movz; br
return 8 * NativeInstruction::instruction_size;
return MacroAssembler::static_call_stub_size();
}
int CompiledStaticCall::to_trampoline_stub_size() {
// Somewhat pessimistically, we count 3 instructions here (although
// there are only two) because we sometimes emit an alignment nop.
// Trampoline stubs are always word aligned.
return 3 * NativeInstruction::instruction_size + wordSize;
return MacroAssembler::max_trampoline_stub_size();
}
// Relocation entries for call stub, compiled java to interpreter.

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -150,6 +150,7 @@ inline void FreezeBase::relativize_interpreted_frame_metadata(const frame& f, co
// at(frame::interpreter_frame_last_sp_offset) can be NULL at safepoint preempts
*hf.addr_at(frame::interpreter_frame_last_sp_offset) = hf.unextended_sp() - hf.fp();
// This line can be changed into an assert when we have fixed the "frame padding problem", see JDK-8300197
*hf.addr_at(frame::interpreter_frame_locals_offset) = frame::sender_sp_offset + f.interpreter_frame_method()->max_locals() - 1;
relativize_one(vfp, hfp, frame::interpreter_frame_initial_sp_offset); // == block_top == block_bottom
@@ -232,12 +233,12 @@ template<typename FKind> frame ThawBase::new_stack_frame(const frame& hf, frame&
assert(frame_sp == unextended_sp, "");
caller.set_sp(fp + frame::sender_sp_offset);
frame f(frame_sp, frame_sp, fp, hf.pc());
// it's set again later in set_interpreter_frame_bottom, but we need to set the locals now so that
// we could call ContinuationHelper::InterpretedFrame::frame_bottom
// we need to set the locals so that the caller of new_stack_frame() can call
// ContinuationHelper::InterpretedFrame::frame_bottom
intptr_t offset = *hf.addr_at(frame::interpreter_frame_locals_offset);
assert((int)offset == frame::sender_sp_offset + locals - 1, "");
// derelativize locals
*(intptr_t**)f.addr_at(frame::interpreter_frame_locals_offset) = fp + padding + offset;
// set relativized locals
*f.addr_at(frame::interpreter_frame_locals_offset) = padding + offset;
assert((intptr_t)f.fp() % frame::frame_alignment == 0, "");
return f;
} else {
@@ -300,7 +301,9 @@ inline void ThawBase::derelativize_interpreted_frame_metadata(const frame& hf, c
}
inline void ThawBase::set_interpreter_frame_bottom(const frame& f, intptr_t* bottom) {
*(intptr_t**)f.addr_at(frame::interpreter_frame_locals_offset) = bottom - 1;
// set relativized locals
// this line can be changed into an assert when we have fixed the "frame padding problem", see JDK-8300197
*f.addr_at(frame::interpreter_frame_locals_offset) = (bottom - 1) - f.fp();
}
#endif // CPU_AARCH64_CONTINUATIONFREEZETHAW_AARCH64_INLINE_HPP

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -68,7 +68,6 @@ inline void ContinuationHelper::push_pd(const frame& f) {
*(intptr_t**)(f.sp() - frame::sender_sp_offset) = f.fp();
}
inline void ContinuationHelper::set_anchor_to_entry_pd(JavaFrameAnchor* anchor, ContinuationEntry* entry) {
anchor->set_last_Java_fp(entry->entry_fp());
}
@@ -131,7 +130,7 @@ inline intptr_t* ContinuationHelper::InterpretedFrame::frame_top(const frame& f,
}
inline intptr_t* ContinuationHelper::InterpretedFrame::frame_bottom(const frame& f) { // exclusive; this will not be copied with the frame
return (intptr_t*)f.at(frame::interpreter_frame_locals_offset) + 1; // exclusive, so we add 1 word
return (intptr_t*)f.at_relative(frame::interpreter_frame_locals_offset) + 1; // exclusive, so we add 1 word
}
inline intptr_t* ContinuationHelper::InterpretedFrame::frame_top(const frame& f, int callee_argsize, bool callee_interpreted) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -314,7 +314,16 @@ intptr_t* frame::entry_frame_argument_at(int offset) const {
return &unextended_sp()[index];
}
// locals
void frame::interpreter_frame_set_locals(intptr_t* locs) {
assert(is_interpreted_frame(), "interpreted frame expected");
// set relativized locals
ptr_at_put(interpreter_frame_locals_offset, (intptr_t) (locs - fp()));
}
// sender_sp
intptr_t* frame::interpreter_frame_sender_sp() const {
assert(is_interpreted_frame(), "interpreted frame expected");
return (intptr_t*) at(interpreter_frame_sender_sp_offset);
@@ -526,7 +535,7 @@ bool frame::is_interpreted_frame_valid(JavaThread* thread) const {
// validate locals
address locals = (address) *interpreter_frame_locals_addr();
address locals = (address)interpreter_frame_locals();
return thread->is_in_stack_range_incl(locals, (address)fp());
}
@@ -734,12 +743,12 @@ extern "C" void pf(uintptr_t sp, uintptr_t fp, uintptr_t pc,
uintptr_t bcx, uintptr_t thread) {
if (!reg_map) {
reg_map = NEW_C_HEAP_OBJ(RegisterMap, mtInternal);
::new (reg_map) RegisterMap((JavaThread*)thread,
::new (reg_map) RegisterMap(reinterpret_cast<JavaThread*>(thread),
RegisterMap::UpdateMap::skip,
RegisterMap::ProcessFrames::include,
RegisterMap::WalkContinuation::skip);
} else {
*reg_map = RegisterMap((JavaThread*)thread,
*reg_map = RegisterMap(reinterpret_cast<JavaThread*>(thread),
RegisterMap::UpdateMap::skip,
RegisterMap::ProcessFrames::include,
RegisterMap::WalkContinuation::skip);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -257,8 +257,9 @@ inline address frame::sender_pc() const { return pauth_strip_point
inline intptr_t* frame::sender_sp() const { return addr_at( sender_sp_offset); }
inline intptr_t** frame::interpreter_frame_locals_addr() const {
return (intptr_t**)addr_at(interpreter_frame_locals_offset);
inline intptr_t* frame::interpreter_frame_locals() const {
intptr_t n = *addr_at(interpreter_frame_locals_offset);
return &fp()[n]; // return relativized locals
}
inline intptr_t* frame::interpreter_frame_last_sp() const {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -122,8 +122,8 @@ void BarrierSetAssembler::store_at(MacroAssembler* masm, DecoratorSet decorators
void BarrierSetAssembler::try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
Register obj, Register tmp, Label& slowpath) {
// If mask changes we need to ensure that the inverse is still encodable as an immediate
STATIC_ASSERT(JNIHandles::weak_tag_mask == 1);
__ andr(obj, obj, ~JNIHandles::weak_tag_mask);
STATIC_ASSERT(JNIHandles::tag_mask == 0b11);
__ andr(obj, obj, ~JNIHandles::tag_mask);
__ ldr(obj, Address(obj, 0)); // *obj
}
@@ -217,7 +217,7 @@ void BarrierSetAssembler::nmethod_entry_barrier(MacroAssembler* masm, Label* slo
// instruction patching is handled with isb fences on the way back
// from the safepoint to Java. So here we can do a plain conditional
// branch with no fencing.
Address thread_disarmed_addr(rthread, in_bytes(bs_nm->thread_disarmed_offset()));
Address thread_disarmed_addr(rthread, in_bytes(bs_nm->thread_disarmed_guard_value_offset()));
__ ldrw(rscratch2, thread_disarmed_addr);
__ cmp(rscratch1, rscratch2);
} else if (patching_type == NMethodPatchingType::conc_instruction_and_data_patch) {
@@ -238,7 +238,7 @@ void BarrierSetAssembler::nmethod_entry_barrier(MacroAssembler* masm, Label* slo
// Combine the guard value (low order) with the epoch value (high order).
__ orr(rscratch1, rscratch1, rscratch2, Assembler::LSL, 32);
// Compare the global values with the thread-local values.
Address thread_disarmed_and_epoch_addr(rthread, in_bytes(bs_nm->thread_disarmed_offset()));
Address thread_disarmed_and_epoch_addr(rthread, in_bytes(bs_nm->thread_disarmed_guard_value_offset()));
__ ldr(rscratch2, thread_disarmed_and_epoch_addr);
__ cmp(rscratch1, rscratch2);
} else {
@@ -246,7 +246,7 @@ void BarrierSetAssembler::nmethod_entry_barrier(MacroAssembler* masm, Label* slo
// Subsequent loads of oops must occur after load of guard value.
// BarrierSetNMethod::disarm sets guard with release semantics.
__ membar(__ LoadLoad);
Address thread_disarmed_addr(rthread, in_bytes(bs_nm->thread_disarmed_offset()));
Address thread_disarmed_addr(rthread, in_bytes(bs_nm->thread_disarmed_guard_value_offset()));
__ ldrw(rscratch2, thread_disarmed_addr);
__ cmpw(rscratch1, rscratch2);
}
@@ -299,3 +299,18 @@ void BarrierSetAssembler::c2i_entry_barrier(MacroAssembler* masm) {
__ bind(method_live);
}
void BarrierSetAssembler::check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error) {
// Check if the oop is in the right area of memory
__ mov(tmp2, (intptr_t) Universe::verify_oop_mask());
__ andr(tmp1, obj, tmp2);
__ mov(tmp2, (intptr_t) Universe::verify_oop_bits());
// Compare tmp1 and tmp2. We don't use a compare
// instruction here because the flags register is live.
__ eor(tmp1, tmp1, tmp2);
__ cbnz(tmp1, error);
// make sure klass is 'reasonable', which is not zero.
__ load_klass(obj, obj); // get klass
__ cbz(obj, error); // if klass is NULL it is broken
}

View File

@@ -72,6 +72,8 @@ public:
virtual void nmethod_entry_barrier(MacroAssembler* masm, Label* slow_path, Label* continuation, Label* guard);
virtual void c2i_entry_barrier(MacroAssembler* masm);
virtual void check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error);
virtual bool supports_instruction_patching() {
NMethodPatchingType patching_type = nmethod_patching_type();
return patching_type == NMethodPatchingType::conc_instruction_and_data_patch ||

View File

@@ -163,32 +163,12 @@ static NativeNMethodBarrier* native_nmethod_barrier(nmethod* nm) {
return barrier;
}
void BarrierSetNMethod::disarm(nmethod* nm) {
void BarrierSetNMethod::set_guard_value(nmethod* nm, int value) {
if (!supports_entry_barrier(nm)) {
return;
}
// The patching epoch is incremented before the nmethod is disarmed. Disarming
// is performed with a release store. In the nmethod entry barrier, the values
// are read in the opposite order, such that the load of the nmethod guard
// acquires the patching epoch. This way, the guard is guaranteed to block
// entries to the nmethod, until it has safely published the requirement for
// further fencing by mutators, before they are allowed to enter.
BarrierSetAssembler* bs_asm = BarrierSet::barrier_set()->barrier_set_assembler();
bs_asm->increment_patching_epoch();
// Disarms the nmethod guard emitted by BarrierSetAssembler::nmethod_entry_barrier.
// Symmetric "LDR; DMB ISHLD" is in the nmethod barrier.
NativeNMethodBarrier* barrier = native_nmethod_barrier(nm);
barrier->set_value(nm, disarmed_value());
}
void BarrierSetNMethod::arm(nmethod* nm, int arm_value) {
if (!supports_entry_barrier(nm)) {
return;
}
if (arm_value == disarmed_value()) {
if (value == disarmed_guard_value()) {
// The patching epoch is incremented before the nmethod is disarmed. Disarming
// is performed with a release store. In the nmethod entry barrier, the values
// are read in the opposite order, such that the load of the nmethod guard
@@ -200,14 +180,14 @@ void BarrierSetNMethod::arm(nmethod* nm, int arm_value) {
}
NativeNMethodBarrier* barrier = native_nmethod_barrier(nm);
barrier->set_value(nm, arm_value);
barrier->set_value(nm, value);
}
bool BarrierSetNMethod::is_armed(nmethod* nm) {
int BarrierSetNMethod::guard_value(nmethod* nm) {
if (!supports_entry_barrier(nm)) {
return false;
return disarmed_guard_value();
}
NativeNMethodBarrier* barrier = native_nmethod_barrier(nm);
return barrier->get_value(nm) != disarmed_value();
return barrier->get_value(nm);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 2023, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -444,6 +444,19 @@ void ZBarrierSetAssembler::generate_c2_load_barrier_stub(MacroAssembler* masm, Z
__ b(*stub->continuation());
}
#undef __
#endif // COMPILER2
#undef __
#define __ masm->
void ZBarrierSetAssembler::check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error) {
// Check if mask is good.
// verifies that ZAddressBadMask & r0 == 0
__ ldr(tmp2, Address(rthread, ZThreadLocalData::address_bad_mask_offset()));
__ andr(tmp1, obj, tmp2);
__ cbnz(tmp1, error);
BarrierSetAssembler::check_oop(masm, obj, tmp1, tmp2, error);
}
#undef __

View File

@@ -97,6 +97,8 @@ public:
void generate_c2_load_barrier_stub(MacroAssembler* masm,
ZLoadBarrierStubC2* stub) const;
#endif // COMPILER2
void check_oop(MacroAssembler* masm, Register obj, Register tmp1, Register tmp2, Label& error);
};
#endif // CPU_AARCH64_GC_Z_ZBARRIERSETASSEMBLER_AARCH64_HPP

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2019, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -88,6 +88,8 @@ define_pd_global(intx, InlineSmallCode, 1000);
"Use Neon for CRC32 computation") \
product(bool, UseCRC32, false, \
"Use CRC32 instructions for CRC32 computation") \
product(bool, UseCryptoPmullForCRC32, false, \
"Use Crypto PMULL instructions for CRC32 computation") \
product(bool, UseSIMDForMemoryOps, false, \
"Use SIMD instructions in generated memory move code") \
product(bool, UseSIMDForArrayEquals, true, \

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2020, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -802,7 +802,7 @@ void InterpreterMacroAssembler::lock_object(Register lock_reg)
// copy
mov(rscratch1, sp);
sub(swap_reg, swap_reg, rscratch1);
ands(swap_reg, swap_reg, (uint64_t)(7 - os::vm_page_size()));
ands(swap_reg, swap_reg, (uint64_t)(7 - (int)os::vm_page_size()));
// Save the test result, for recursive case, the result is zero
str(swap_reg, Address(lock_reg, mark_offset));

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2015, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -76,6 +76,7 @@ class InterpreterMacroAssembler: public MacroAssembler {
void restore_locals() {
ldr(rlocals, Address(rfp, frame::interpreter_frame_locals_offset * wordSize));
lea(rlocals, Address(rfp, rlocals, Address::lsl(3)));
}
void restore_constant_pool_cache() {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -926,8 +926,7 @@ address MacroAssembler::trampoline_call(Address entry) {
address MacroAssembler::emit_trampoline_stub(int insts_call_instruction_offset,
address dest) {
// Max stub size: alignment nop, TrampolineStub.
address stub = start_a_stub(NativeInstruction::instruction_size
+ NativeCallTrampolineStub::instruction_size);
address stub = start_a_stub(max_trampoline_stub_size());
if (stub == NULL) {
return NULL; // CodeBuffer::expand failed
}
@@ -959,6 +958,11 @@ address MacroAssembler::emit_trampoline_stub(int insts_call_instruction_offset,
return stub_start_addr;
}
int MacroAssembler::max_trampoline_stub_size() {
// Max stub size: alignment nop, TrampolineStub.
return NativeInstruction::instruction_size + NativeCallTrampolineStub::instruction_size;
}
void MacroAssembler::emit_static_call_stub() {
// CompiledDirectStaticCall::set_to_interpreted knows the
// exact layout of this stub.
@@ -971,6 +975,11 @@ void MacroAssembler::emit_static_call_stub() {
br(rscratch1);
}
int MacroAssembler::static_call_stub_size() {
// isb; movk; movz; movz; movk; movz; movz; br
return 8 * NativeInstruction::instruction_size;
}
void MacroAssembler::c2bool(Register x) {
// implements x == 0 ? 0 : 1
// note: must only look at least-significant byte of x
@@ -1101,6 +1110,7 @@ void MacroAssembler::post_call_nop() {
}
InstructionMark im(this);
relocate(post_call_nop_Relocation::spec());
InlineSkippedInstructionsCounter skipCounter(this);
nop();
movk(zr, 0);
movk(zr, 0);
@@ -2457,22 +2467,56 @@ void MacroAssembler::verify_heapbase(const char* msg) {
#endif
void MacroAssembler::resolve_jobject(Register value, Register tmp1, Register tmp2) {
Label done, not_weak;
assert_different_registers(value, tmp1, tmp2);
Label done, tagged, weak_tagged;
cbz(value, done); // Use NULL as-is.
tst(value, JNIHandles::tag_mask); // Test for tag.
br(Assembler::NE, tagged);
STATIC_ASSERT(JNIHandles::weak_tag_mask == 1u);
tbz(value, 0, not_weak); // Test for jweak tag.
// Resolve jweak.
access_load_at(T_OBJECT, IN_NATIVE | ON_PHANTOM_OOP_REF, value,
Address(value, -JNIHandles::weak_tag_value), tmp1, tmp2);
// Resolve local handle
access_load_at(T_OBJECT, IN_NATIVE | AS_RAW, value, Address(value, 0), tmp1, tmp2);
verify_oop(value);
b(done);
bind(not_weak);
// Resolve (untagged) jobject.
access_load_at(T_OBJECT, IN_NATIVE, value, Address(value, 0), tmp1, tmp2);
bind(tagged);
STATIC_ASSERT(JNIHandles::TypeTag::weak_global == 0b1);
tbnz(value, 0, weak_tagged); // Test for weak tag.
// Resolve global handle
access_load_at(T_OBJECT, IN_NATIVE, value, Address(value, -JNIHandles::TypeTag::global), tmp1, tmp2);
verify_oop(value);
b(done);
bind(weak_tagged);
// Resolve jweak.
access_load_at(T_OBJECT, IN_NATIVE | ON_PHANTOM_OOP_REF,
value, Address(value, -JNIHandles::TypeTag::weak_global), tmp1, tmp2);
verify_oop(value);
bind(done);
}
void MacroAssembler::resolve_global_jobject(Register value, Register tmp1, Register tmp2) {
assert_different_registers(value, tmp1, tmp2);
Label done;
cbz(value, done); // Use NULL as-is.
#ifdef ASSERT
{
STATIC_ASSERT(JNIHandles::TypeTag::global == 0b10);
Label valid_global_tag;
tbnz(value, 1, valid_global_tag); // Test for global tag
stop("non global jobject using resolve_global_jobject");
bind(valid_global_tag);
}
#endif
// Resolve global handle
access_load_at(T_OBJECT, IN_NATIVE, value, Address(value, -JNIHandles::TypeTag::global), tmp1, tmp2);
verify_oop(value);
bind(done);
}
@@ -3559,6 +3603,65 @@ void MacroAssembler::update_word_crc32(Register crc, Register v, Register tmp,
eor(crc, crc, tmp);
}
void MacroAssembler::kernel_crc32_using_crypto_pmull(Register crc, Register buf,
Register len, Register tmp0, Register tmp1, Register tmp2, Register tmp3) {
Label CRC_by4_loop, CRC_by1_loop, CRC_less128, CRC_by128_pre, CRC_by32_loop, CRC_less32, L_exit;
assert_different_registers(crc, buf, len, tmp0, tmp1, tmp2);
subs(tmp0, len, 384);
mvnw(crc, crc);
br(Assembler::GE, CRC_by128_pre);
BIND(CRC_less128);
subs(len, len, 32);
br(Assembler::GE, CRC_by32_loop);
BIND(CRC_less32);
adds(len, len, 32 - 4);
br(Assembler::GE, CRC_by4_loop);
adds(len, len, 4);
br(Assembler::GT, CRC_by1_loop);
b(L_exit);
BIND(CRC_by32_loop);
ldp(tmp0, tmp1, Address(buf));
crc32x(crc, crc, tmp0);
ldp(tmp2, tmp3, Address(buf, 16));
crc32x(crc, crc, tmp1);
add(buf, buf, 32);
crc32x(crc, crc, tmp2);
subs(len, len, 32);
crc32x(crc, crc, tmp3);
br(Assembler::GE, CRC_by32_loop);
cmn(len, (u1)32);
br(Assembler::NE, CRC_less32);
b(L_exit);
BIND(CRC_by4_loop);
ldrw(tmp0, Address(post(buf, 4)));
subs(len, len, 4);
crc32w(crc, crc, tmp0);
br(Assembler::GE, CRC_by4_loop);
adds(len, len, 4);
br(Assembler::LE, L_exit);
BIND(CRC_by1_loop);
ldrb(tmp0, Address(post(buf, 1)));
subs(len, len, 1);
crc32b(crc, crc, tmp0);
br(Assembler::GT, CRC_by1_loop);
b(L_exit);
BIND(CRC_by128_pre);
kernel_crc32_common_fold_using_crypto_pmull(crc, buf, len, tmp0, tmp1, tmp2,
4*256*sizeof(juint) + 8*sizeof(juint));
mov(crc, 0);
crc32x(crc, crc, tmp0);
crc32x(crc, crc, tmp1);
cbnz(len, CRC_less128);
BIND(L_exit);
mvnw(crc, crc);
}
void MacroAssembler::kernel_crc32_using_crc32(Register crc, Register buf,
Register len, Register tmp0, Register tmp1, Register tmp2,
Register tmp3) {
@@ -3670,6 +3773,11 @@ void MacroAssembler::kernel_crc32(Register crc, Register buf, Register len,
Register tmp, Register tmp2, Register tmp3) {
Label L_by16, L_by16_loop, L_by4, L_by4_loop, L_by1, L_by1_loop, L_exit;
if (UseCryptoPmullForCRC32) {
kernel_crc32_using_crypto_pmull(crc, buf, len, table0, table1, table2, table3);
return;
}
if (UseCRC32) {
kernel_crc32_using_crc32(crc, buf, len, table0, table1, table2, table3);
return;
@@ -3969,6 +4077,123 @@ void MacroAssembler::kernel_crc32c(Register crc, Register buf, Register len,
kernel_crc32c_using_crc32c(crc, buf, len, table0, table1, table2, table3);
}
void MacroAssembler::kernel_crc32_common_fold_using_crypto_pmull(Register crc, Register buf,
Register len, Register tmp0, Register tmp1, Register tmp2, size_t table_offset) {
Label CRC_by128_loop;
assert_different_registers(crc, buf, len, tmp0, tmp1, tmp2);
sub(len, len, 256);
Register table = tmp0;
{
uint64_t offset;
adrp(table, ExternalAddress(StubRoutines::crc_table_addr()), offset);
add(table, table, offset);
}
add(table, table, table_offset);
sub(buf, buf, 0x10);
ldrq(v1, Address(buf, 0x10));
ldrq(v2, Address(buf, 0x20));
ldrq(v3, Address(buf, 0x30));
ldrq(v4, Address(buf, 0x40));
ldrq(v5, Address(buf, 0x50));
ldrq(v6, Address(buf, 0x60));
ldrq(v7, Address(buf, 0x70));
ldrq(v8, Address(pre(buf, 0x80)));
movi(v25, T4S, 0);
mov(v25, S, 0, crc);
eor(v1, T16B, v1, v25);
ldrq(v0, Address(table));
b(CRC_by128_loop);
align(OptoLoopAlignment);
BIND(CRC_by128_loop);
pmull (v9, T1Q, v1, v0, T1D);
pmull2(v10, T1Q, v1, v0, T2D);
ldrq(v1, Address(buf, 0x10));
eor3(v1, T16B, v9, v10, v1);
pmull (v11, T1Q, v2, v0, T1D);
pmull2(v12, T1Q, v2, v0, T2D);
ldrq(v2, Address(buf, 0x20));
eor3(v2, T16B, v11, v12, v2);
pmull (v13, T1Q, v3, v0, T1D);
pmull2(v14, T1Q, v3, v0, T2D);
ldrq(v3, Address(buf, 0x30));
eor3(v3, T16B, v13, v14, v3);
pmull (v15, T1Q, v4, v0, T1D);
pmull2(v16, T1Q, v4, v0, T2D);
ldrq(v4, Address(buf, 0x40));
eor3(v4, T16B, v15, v16, v4);
pmull (v17, T1Q, v5, v0, T1D);
pmull2(v18, T1Q, v5, v0, T2D);
ldrq(v5, Address(buf, 0x50));
eor3(v5, T16B, v17, v18, v5);
pmull (v19, T1Q, v6, v0, T1D);
pmull2(v20, T1Q, v6, v0, T2D);
ldrq(v6, Address(buf, 0x60));
eor3(v6, T16B, v19, v20, v6);
pmull (v21, T1Q, v7, v0, T1D);
pmull2(v22, T1Q, v7, v0, T2D);
ldrq(v7, Address(buf, 0x70));
eor3(v7, T16B, v21, v22, v7);
pmull (v23, T1Q, v8, v0, T1D);
pmull2(v24, T1Q, v8, v0, T2D);
ldrq(v8, Address(pre(buf, 0x80)));
eor3(v8, T16B, v23, v24, v8);
subs(len, len, 0x80);
br(Assembler::GE, CRC_by128_loop);
// fold into 512 bits
ldrq(v0, Address(table, 0x10));
pmull (v10, T1Q, v1, v0, T1D);
pmull2(v11, T1Q, v1, v0, T2D);
eor3(v1, T16B, v10, v11, v5);
pmull (v12, T1Q, v2, v0, T1D);
pmull2(v13, T1Q, v2, v0, T2D);
eor3(v2, T16B, v12, v13, v6);
pmull (v14, T1Q, v3, v0, T1D);
pmull2(v15, T1Q, v3, v0, T2D);
eor3(v3, T16B, v14, v15, v7);
pmull (v16, T1Q, v4, v0, T1D);
pmull2(v17, T1Q, v4, v0, T2D);
eor3(v4, T16B, v16, v17, v8);
// fold into 128 bits
ldrq(v5, Address(table, 0x20));
pmull (v10, T1Q, v1, v5, T1D);
pmull2(v11, T1Q, v1, v5, T2D);
eor3(v4, T16B, v4, v10, v11);
ldrq(v6, Address(table, 0x30));
pmull (v12, T1Q, v2, v6, T1D);
pmull2(v13, T1Q, v2, v6, T2D);
eor3(v4, T16B, v4, v12, v13);
ldrq(v7, Address(table, 0x40));
pmull (v14, T1Q, v3, v7, T1D);
pmull2(v15, T1Q, v3, v7, T2D);
eor3(v1, T16B, v4, v14, v15);
add(len, len, 0x80);
add(buf, buf, 0x10);
mov(tmp0, v1, D, 0);
mov(tmp1, v1, D, 1);
}
SkipIfEqual::SkipIfEqual(
MacroAssembler* masm, const bool* flag_addr, bool value) {
@@ -4036,6 +4261,11 @@ void MacroAssembler::load_klass(Register dst, Register src) {
}
}
void MacroAssembler::load_klass_check_null(Register dst, Register src) {
null_check(src, oopDesc::klass_offset_in_bytes());
load_klass(dst, src);
}
// ((OopHandle)result).resolve();
void MacroAssembler::resolve_oop_handle(Register result, Register tmp1, Register tmp2) {
// OopHandle::resolve is an indirection.
@@ -4533,9 +4763,9 @@ void MacroAssembler::bang_stack_size(Register size, Register tmp) {
// Bang one page at a time because large size can bang beyond yellow and
// red zones.
Label loop;
mov(rscratch1, os::vm_page_size());
mov(rscratch1, (int)os::vm_page_size());
bind(loop);
lea(tmp, Address(tmp, -os::vm_page_size()));
lea(tmp, Address(tmp, -(int)os::vm_page_size()));
subsw(size, size, rscratch1);
str(size, Address(tmp));
br(Assembler::GT, loop);
@@ -4546,10 +4776,10 @@ void MacroAssembler::bang_stack_size(Register size, Register tmp) {
// was post-decremented.) Skip this address by starting at i=1, and
// touch a few more pages below. N.B. It is important to touch all
// the way down to and including i=StackShadowPages.
for (int i = 0; i < (int)(StackOverflow::stack_shadow_zone_size() / os::vm_page_size()) - 1; i++) {
for (int i = 0; i < (int)(StackOverflow::stack_shadow_zone_size() / (int)os::vm_page_size()) - 1; i++) {
// this could be any sized move but this is can be a debugging crumb
// so the bigger the better.
lea(tmp, Address(tmp, -os::vm_page_size()));
lea(tmp, Address(tmp, -(int)os::vm_page_size()));
str(size, Address(tmp));
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2022, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, 2021, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -581,6 +581,14 @@ public:
mrs(0b011, 0b0000, 0b0000, 0b001, reg);
}
inline void get_nzcv(Register reg) {
mrs(0b011, 0b0100, 0b0010, 0b000, reg);
}
inline void set_nzcv(Register reg) {
msr(0b011, 0b0100, 0b0010, 0b000, reg);
}
// idiv variant which deals with MINLONG as dividend and -1 as divisor
int corrected_idivl(Register result, Register ra, Register rb,
bool want_remainder, Register tmp = rscratch1);
@@ -630,7 +638,9 @@ public:
return false;
}
address emit_trampoline_stub(int insts_call_instruction_offset, address target);
static int max_trampoline_stub_size();
void emit_static_call_stub();
static int static_call_stub_size();
// The following 4 methods return the offset of the appropriate move instruction
@@ -823,6 +833,7 @@ public:
void store_check(Register obj, Address dst); // same as above, dst is exact store location (reg. is destroyed)
void resolve_jobject(Register value, Register tmp1, Register tmp2);
void resolve_global_jobject(Register value, Register tmp1, Register tmp2);
// C 'boolean' to Java boolean: x == 0 ? 0 : 1
void c2bool(Register x);
@@ -832,6 +843,7 @@ public:
// oop manipulations
void load_klass(Register dst, Register src);
void load_klass_check_null(Register dst, Register src);
void store_klass(Register dst, Register src);
void cmp_klass(Register oop, Register trial_klass, Register tmp);
@@ -1084,9 +1096,6 @@ public:
bool acquire, bool release, bool weak,
Register result);
private:
void compare_eq(Register rn, Register rm, enum operand_size size);
#ifdef ASSERT
// Template short-hand support to clean-up after a failed call to trampoline
// call generation (see trampoline_call() below), when a set of Labels must
@@ -1101,6 +1110,9 @@ private:
}
#endif
private:
void compare_eq(Register rn, Register rm, enum operand_size size);
public:
// AArch64 OpenJDK uses four different types of calls:
// - direct call: bl pc_relative_offset
@@ -1411,12 +1423,18 @@ public:
Register yz_idx1, Register yz_idx2,
Register tmp, Register tmp3, Register tmp4,
Register tmp7, Register product_hi);
void kernel_crc32_using_crypto_pmull(Register crc, Register buf,
Register len, Register tmp0, Register tmp1, Register tmp2,
Register tmp3);
void kernel_crc32_using_crc32(Register crc, Register buf,
Register len, Register tmp0, Register tmp1, Register tmp2,
Register tmp3);
void kernel_crc32c_using_crc32c(Register crc, Register buf,
Register len, Register tmp0, Register tmp1, Register tmp2,
Register tmp3);
void kernel_crc32_common_fold_using_crypto_pmull(Register crc, Register buf,
Register len, Register tmp0, Register tmp1, Register tmp2,
size_t table_offset);
void ghash_modmul (FloatRegister result,
FloatRegister result_lo, FloatRegister result_hi, FloatRegister b,

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