Compare commits

...

940 Commits

Author SHA1 Message Date
Swati Sharma
08cadb4754 8271195: Use largest available large page size smaller than LargePageSizeInBytes when available
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: ayang, tschatzl
2022-03-16 09:48:09 +00:00
Ioi Lam
de4f04cb71 8253495: CDS generates non-deterministic output
Reviewed-by: erikj, kbarrett, ccheung, ihse
2022-03-16 03:12:48 +00:00
Joe Darcy
4df24c5df3 8283230: Improve @jls usage in ElementType
Reviewed-by: jjg, iris
2022-03-16 02:02:10 +00:00
Toshio Nakamura
27fe3d7f8d 8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled
Reviewed-by: prr, serb
2022-03-16 01:11:40 +00:00
Quan Anh Mai
bacfaa3ee1 8282414: x86: Enhance the assembler to generate more compact instructions
Reviewed-by: thartmann, sviswanathan
2022-03-16 01:10:22 +00:00
Dean Long
1465ea98b7 8282355: compiler/arguments/TestCodeEntryAlignment.java failed "guarantee(sect->end() <= tend) failed: sanity"
Reviewed-by: jiefu, thartmann, shade
2022-03-15 20:17:36 +00:00
Man Cao
ac06bdb123 8282507: Add a separate license file for hsdis
Reviewed-by: ihse
2022-03-15 20:05:33 +00:00
Joe Darcy
32f8437d85 8283075: Bad IllegalArgumentException message for out of range rank from ClassDesc.arrayType(int)
Reviewed-by: vromero, alanb
2022-03-15 17:33:45 +00:00
Tobias Hartmann
12dca36c73 8283189: Bad copyright header in UnsafeCopyMemory.java
Reviewed-by: chagedorn, dcubed
2022-03-15 16:28:54 +00:00
Joe Darcy
05a83e03ca 8283124: Add constant for tau to Math and StrictMath
Reviewed-by: bpb, iris
2022-03-15 16:22:11 +00:00
Joe Darcy
671b6efd61 8283143: Use minimal-length literals to initialize PI and E constants
Reviewed-by: smarks
2022-03-15 16:05:37 +00:00
Hai-May Chao
f43ffe211f 8282633: jarsigner output does not explain why an EC key is disabled if its curve has been disabled
Reviewed-by: weijun
2022-03-15 15:54:47 +00:00
Tyler Steele
4de72014d3 8283122: [AIX, s390] UnsafeCopyMemory 'Mismatched' Tests Fail on Big Endian Systems
Reviewed-by: thartmann, stuefe
2022-03-15 14:52:27 +00:00
Zhengyu Gu
2cddf3f539 8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows
Reviewed-by: naoto, alanb
2022-03-15 14:16:35 +00:00
Daniel Fuchs
710653ce18 8254786: java/net/httpclient/CancelRequestTest.java failing intermittently
Reviewed-by: jpai, michaelm
2022-03-15 12:59:54 +00:00
Dean Long
34d4ffcea5 8279317: compiler/jvmci/compilerToVM/DisassembleCodeBlobTest.java assumes immutable code
Reviewed-by: dnsimon, iveresov
2022-03-15 07:24:50 +00:00
Hannes Wallnöfer
6013d09e82 8268866: Javascript when used in an iframe cannot display search results
Reviewed-by: jjg
2022-03-14 20:29:15 +00:00
Hannes Wallnöfer
5ba5e21fd2 8282214: Upgrade JQuery to version 3.6.0
Reviewed-by: jjg
2022-03-14 20:28:07 +00:00
Mikael Vidstedt
a244051a8c 8283062: Uninitialized warnings in libgtest with GCC 11.2
Reviewed-by: jiefu, erikj
2022-03-14 18:37:41 +00:00
Chris Plummer
5bf6a7f7d7 8282691: add jdb "-R" option for passing any argument to the launched debuggee process
Reviewed-by: alanb, kevinw
2022-03-14 18:15:40 +00:00
Phil Race
f66070b00d 8282577: ICC_Profile.setData(int, byte[]) invalidates the profile
Reviewed-by: serb
2022-03-14 18:05:38 +00:00
Carter Kozak
70bd57ed35 8283049: Fix non-singleton LoggerFinder error message: s/on/one
Reviewed-by: dfuchs
2022-03-14 17:54:19 +00:00
Emanuel Peter
7833667f0e 8282881: Print exception message in VM crash with -XX:AbortVMOnException
Reviewed-by: dholmes, hseigel
2022-03-14 17:35:09 +00:00
Naoto Sato
c96085eaab 8282929: Localized monetary symbols are not reflected in toLocalizedPattern return value
Reviewed-by: joehw, lancea
2022-03-14 16:28:15 +00:00
Brian Burkhalter
13cebffe61 8058924: FileReader(String) documentation is insufficient
Reviewed-by: naoto, lancea
2022-03-14 16:10:15 +00:00
Zdenek Zambersky
08573cc3b2 8282529: Fix API Note in javadoc for javax.net.ssl.SSLSocket
Reviewed-by: wetmore, xuelei
2022-03-14 14:21:58 +00:00
Roland Westrelin
ea9eeea8ff 8281322: C2: always construct strip mined loop initially (even if strip mining is disabled)
Reviewed-by: chagedorn, thartmann
2022-03-14 13:59:13 +00:00
Ahmed Muhsin
5f3d4032f3 8272735: Add missing SubL node transformations
Reviewed-by: thartmann, chagedorn
2022-03-14 09:05:53 +00:00
Aleksey Shipilev
01570ca92d 8283017: GHA: Workflows break with update release versions
Reviewed-by: erikj, ihse
2022-03-14 09:03:05 +00:00
Thomas Schatzl
c0e3d107f6 8283008: KRegister documentation out of date
Reviewed-by: dlong, sviswanathan, jiefu, jbhateja
2022-03-14 09:02:12 +00:00
Jatin Bhateja
fde3149896 8281375: Accelerate bitCount operation for AVX2 and AVX512 target.
Reviewed-by: sviswanathan, thartmann
2022-03-14 07:11:23 +00:00
Jaikiran Pai
3cf83a671e 8282572: EnumSet should be a sealed class
Reviewed-by: sundar
2022-03-14 03:17:57 +00:00
Joshua Zhu
5c408c1410 8282874: Bad performance on gather/scatter API caused by different IntSpecies of indexMap
Reviewed-by: psandoz
2022-03-12 04:04:28 +00:00
Pavel Rappo
374193b6d2 8283041: [javadoc] Crashes using {@return} with @param
Reviewed-by: jjg
2022-03-11 22:41:47 +00:00
Zhengyu Gu
0fd09d383b 8282978: Wrong parameter passed to GetStringXXXChars in various places
Reviewed-by: alanb, dfuchs
2022-03-11 13:25:09 +00:00
Mahendra Chhipa
95ca94436d 8282354: Remove dependancy of TestHttpServer, HttpTransaction, HttpCallback from open/test/jdk/ tests
Reviewed-by: dfuchs
2022-03-11 10:48:57 +00:00
Christian Stein
f99193ae3f 8282811: Typo in IAE details message of RecordedObject.getValueDescriptor
Reviewed-by: egahlin
2022-03-11 09:58:22 +00:00
Julian Waters
cab9def1c1 8282700: Properly handle several --without options during configure
Reviewed-by: ihse
2022-03-11 09:12:19 +00:00
Ivan Walulya
1a5a496aee 8282763: G1: G1CardSetContainer remove intrusive-list details.
Reviewed-by: tschatzl, kbarrett, ayang
2022-03-11 08:43:04 +00:00
Yi Yang
88f0938c94 8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2
Reviewed-by: redestad, thartmann
2022-03-11 02:28:07 +00:00
Yi Yang
a5a1a32db6 8282883: Use JVM_LEAF to avoid ThreadStateTransition for some simple JVM entries
Reviewed-by: dholmes, shade
2022-03-11 02:27:01 +00:00
Daniel D. Daugherty
bb7ee5a04a 8282314: nsk/jvmti/SuspendThread/suspendthrd003 may leak memory
Reviewed-by: dholmes, cjplummer, amenkov, lmesnik, mseledtsov
2022-03-10 19:13:55 +00:00
Chris Plummer
f5217b475e 8282852: Debug agent asserts in classTrack_addPreparedClass()
Reviewed-by: amenkov, lmesnik
2022-03-10 19:08:10 +00:00
Aleksey Shipilev
7b91bbba82 8282170: JVMTI SetBreakpoint metaspace allocation test
Reviewed-by: cjplummer, lmesnik
2022-03-10 18:53:59 +00:00
Brian Burkhalter
b13cacc575 8254574: PrintWriter handling of InterruptedIOException should be removed
Reviewed-by: alanb
2022-03-10 18:25:53 +00:00
John Jiang
1f295239b9 8282932: a space is needed for the unsupported protocol exception message in ProtocolVersion
Reviewed-by: xuelei, mullan
2022-03-10 18:25:06 +00:00
Zhengyu Gu
879b6445e3 8282897: Fix call parameter to GetStringChars() in HostLocaleProviderAdapter_md.c
Reviewed-by: shade, naoto
2022-03-10 18:23:41 +00:00
Brian Burkhalter
fdce97df5f 8267820: (fs) Files.copy should attempt to copy POSIX attributes when target file in custom file system
Reviewed-by: lancea, alanb
2022-03-10 17:36:51 +00:00
Brian Burkhalter
e8a1ce00b2 8280881: (fs) UnixNativeDispatcher.close0 may throw UnixException
Reviewed-by: alanb
2022-03-10 16:38:44 +00:00
Anton Litvinov
1668c02ee8 8277922: Unable to click JCheckBox in JTable through Java Access Bridge
Reviewed-by: aivanov, serb
2022-03-10 16:37:55 +00:00
Alex Blewitt
2674799005 8282878: Removed _JavaThread from PhaseTraceTime
Reviewed-by: shade, thartmann
2022-03-10 15:27:29 +00:00
Tyler Steele
7c8ea9f05b 8282509: [exploded image] ResolvedClassTest fails with similar output
Reviewed-by: mdoerr, dlong
2022-03-10 15:09:19 +00:00
Magnus Ihse Bursie
9c88c5bb63 8282948: JDK-8274980 missed correct handling of MACOSX_BUNDLE_BUILD_VERSION
Reviewed-by: erikj
2022-03-10 13:50:05 +00:00
Thomas Schatzl
83d7718690 8282893: Remove MacroAssembler::push/pop_callee_saved_registers
Reviewed-by: redestad
2022-03-10 11:28:29 +00:00
Prasanta Sadhukhan
6a3a7b94a4 6218162: DefaultTableColumnModel.getColumn() method should mention ArrayIndexOutOfBoundsException
Reviewed-by: aivanov, prr
2022-03-10 09:26:36 +00:00
Prasanta Sadhukhan
5b78a82e9d 7017094: ParsedSynthStyle: parameter name "direction" should be changed to "tabIndex"
Reviewed-by: jdv, aivanov, prr
2022-03-10 09:22:21 +00:00
Rajat Mahajan
8aba4de984 8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode
Reviewed-by: serb, aivanov
2022-03-10 05:09:29 +00:00
Chris Plummer
ff76620487 8282641: Make jdb "threadgroup" command with no args reset the current threadgroup back to the default
Reviewed-by: kevinw, amenkov
2022-03-09 19:42:47 +00:00
Weijun Wang
70318e1d17 8282884: Provide OID aliases for MD2, MD5, and OAEP
Reviewed-by: xuelei
2022-03-09 16:47:03 +00:00
Xue-Lei Andrew Fan
6d8d156c97 8280494: (D)TLS signature schemes
Reviewed-by: mullan
2022-03-09 16:11:07 +00:00
Zhengyu Gu
5df2a05770 8282628: Potential memory leak in sun.font.FontConfigManager.getFontConfig()
Reviewed-by: stuefe, dholmes, aivanov
2022-03-09 13:27:11 +00:00
Emanuel Peter
d07f7c76c5 8282665: [REDO] ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y)
Reviewed-by: psandoz, thartmann
2022-03-09 08:59:37 +00:00
Tim Prinzing
31ad80a229 8280902: ResourceBundle::getBundle may throw NPE when invoked by JNI code with no caller frame
Reviewed-by: naoto, mchung, ihse
2022-03-09 04:02:17 +00:00
Xiaohong Gong
12693a6cf3 8282432: Optimize masked "test" Vector API with predicate feature
Reviewed-by: psandoz
2022-03-09 01:02:25 +00:00
Hao Sun
49245131e9 8265263: AArch64: Combine vneg with right shift count
Reviewed-by: adinn, dlong
2022-03-09 00:52:01 +00:00
Rajan Halade
ea19114e66 8282832: Update file path for HostnameMatcher/cert5.crt in test sun/security/util/Pem/encoding.sh
Reviewed-by: mullan
2022-03-08 20:34:02 +00:00
Sean Mullan
72e987e3b4 7192189: Support endpoint identification algorithm in RFC 6125
Reviewed-by: xuelei, rhalade
2022-03-08 18:18:57 +00:00
Xin Liu
288d1afc5a 8282715: typo compileony in test Test8005033.java
Reviewed-by: jiefu, dholmes, thartmann
2022-03-08 17:33:15 +00:00
Manukumar V S
6b34884b34 8282234: Create a regression test for JDK-4532513
Reviewed-by: aivanov
2022-03-08 17:01:03 +00:00
Ian Graves
3fc009be8a 8281560: Matcher.hitEnd returns unexpected results in presence of CANON_EQ flag.
Reviewed-by: rriggs, lancea
2022-03-08 16:32:18 +00:00
Daniel Jeliński
2549e55038 8275640: (win) java.net.NetworkInterface issues with IPv6-only environments
Reviewed-by: msheppar, dfuchs
2022-03-08 16:15:24 +00:00
Coleen Phillimore
3e4dfc63e7 8282295: SymbolPropertyEntry::set_method_type fails with assert
Reviewed-by: hseigel
2022-03-08 16:10:26 +00:00
Foivos Zakkak
0cbc4b85bf 8281266: [JVMCI] MetaUtil.toInternalName() doesn't handle hidden classes correctly
Reviewed-by: sgehwolf, dnsimon
2022-03-08 15:35:55 +00:00
Magnus Ihse Bursie
0f88fc180c 8282769: BSD date cannot handle all ISO 8601 formats
Reviewed-by: erikj
2022-03-08 14:04:59 +00:00
Magnus Ihse Bursie
c6d743fb92 8282770: Set source date in jib profiles from buildId
Reviewed-by: erikj
2022-03-08 13:57:59 +00:00
Jim Laskey
5fab27e1b8 8282144: RandomSupport.convertSeedBytesToLongs sign extension overwrites previous bytes
Reviewed-by: bpb
2022-03-08 13:25:34 +00:00
Markus Grönlund
65ca0a5776 8276333: jdk/jfr/event/oldobject/TestLargeRootSet.java failed "assert(!contains(edge->reference())) failed: invariant"
Reviewed-by: egahlin
2022-03-08 09:28:46 +00:00
Albert Mingkun Yang
e607287204 8282728: Serial: Remove unused BlockOffsetArray::Action
Reviewed-by: tschatzl
2022-03-08 08:24:10 +00:00
Jamil Nimeh
8b45dbdae6 8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86
Reviewed-by: dlong
2022-03-08 05:50:41 +00:00
Yi Yang
3f0684d0b8 8275775: Add jcmd VM.classes to print details of all classes
Reviewed-by: dholmes, iklam, stuefe
2022-03-08 03:14:21 +00:00
Ioi Lam
cde923dd47 8282690: runtime/CommandLine/VMDeprecatedOptions.java fails after JDK-8281181
Reviewed-by: dholmes, dcubed
2022-03-08 00:19:07 +00:00
Andrey Turbanov
50eb915a74 8282632: Cleanup unnecessary calls to Throwable.initCause() in java.security.jgss
Reviewed-by: mullan, rhalade
2022-03-07 22:00:11 +00:00
Matteo Baccan
ccad39237a 8282657: Code cleanup: removing double semicolons at the end of lines
Reviewed-by: lancea, rriggs, ihse, prr, iris, wetmore, darcy, dholmes
2022-03-07 21:33:40 +00:00
Magnus Ihse Bursie
5d5bf16b0a 8282567: Improve source-date handling in build system
Reviewed-by: erikj, sgehwolf
2022-03-07 19:40:34 +00:00
Ravi Reddy
3996782c5a 8281093: Violating Attribute-Value Normalization in the XML specification 1.0
Reviewed-by: joehw
2022-03-07 19:36:54 +00:00
Kim Barrett
2e298b8bf4 8272691: Fix HotSpot style guide terminology for "non-local variables"
Reviewed-by: dcubed, dholmes
2022-03-07 18:20:01 +00:00
Kim Barrett
5953b229bf 8257589: HotSpot Style Guide should link to rfc7282
Reviewed-by: dcubed, dholmes
2022-03-07 18:12:14 +00:00
Joe Darcy
1faa5c8092 8282686: Add constructors taking a cause to SocketException
Reviewed-by: alanb, xuelei, lancea, dfuchs
2022-03-07 17:52:04 +00:00
Kim Barrett
7194097bca 8252577: HotSpot Style Guide should link to One-True-Brace-Style description
Reviewed-by: stuefe, dcubed, dholmes
2022-03-07 17:35:21 +00:00
Roland Westrelin
ef266d77b6 8278296: Generalize long range check transformation
Reviewed-by: jrose, thartmann
2022-03-07 16:26:19 +00:00
Lance Andersen
f0995abe62 8280404: Unexpected exception thrown when CEN file entry comment length is not valid
Reviewed-by: alanb
2022-03-07 16:10:31 +00:00
Aleksey Shipilev
8e70f4c3dc 8282224: Correct TIG::bang_stack_shadow_pages comments
Reviewed-by: coleenp
2022-03-07 15:23:10 +00:00
Ivan Walulya
e544e354a4 8282621: G1: G1SegmentedArray remove unnecessary template parameter
Reviewed-by: kbarrett, tschatzl
2022-03-07 15:05:42 +00:00
Joe Darcy
104e3cb24b 8282696: Add constructors taking a cause to InvalidObjectException and InvalidClassException
Reviewed-by: lancea
2022-03-07 14:47:52 +00:00
Thomas Schatzl
6fc73f709b 8282620: G1/Parallel: Constify is_in_young() predicates
Reviewed-by: iwalulya, ayang
2022-03-07 13:52:19 +00:00
Masanori Yano
894ffb098c 8282713: Invalid copyright notice in new test added by JDK-8275715
Reviewed-by: dholmes
2022-03-07 01:33:41 +00:00
Masanori Yano
415bf44191 8275715: D3D pipeline processes multiple PaintEvent at initial drawing
Reviewed-by: prr
2022-03-06 23:53:50 +00:00
Jaikiran Pai
974ef5542f 8282617: sun.net.www.protocol.https.HttpsClient#putInKeepAliveCache() doesn't use a lock while dealing with "inCache" field
Reviewed-by: dfuchs, michaelm
2022-03-06 08:16:39 +00:00
Thomas Stuefe
bc42e7cbbf 8282382: Report glibc malloc tunables in error reports
Reviewed-by: zgu, dholmes
2022-03-05 06:37:39 +00:00
Mikael Vidstedt
52278b80c4 8282694: ProblemList runtime/CommandLine/VMDeprecatedOptions.java
Reviewed-by: jjg
2022-03-05 01:36:02 +00:00
wanghaomin
c459f8f406 8282142: [TestCase] compiler/inlining/ResolvedClassTest.java will fail when --with-jvm-features=-compiler1
Reviewed-by: jiefu, kvn
2022-03-05 00:01:49 +00:00
TejeshR13
bae0d5e717 8236907: JTable added to nested panels does not paint last visible row
Reviewed-by: psadhukhan, prr
2022-03-04 22:50:32 +00:00
Jonathan Gibbons
b0028a459c 8272853: improve JavadocTester.runTests
Reviewed-by: hannesw
2022-03-04 21:01:52 +00:00
Ioi Lam
e07fd395bd 8281181: Do not use CPU Shares to compute active processor count
Reviewed-by: dholmes, sgehwolf
2022-03-04 20:14:11 +00:00
Damon Nguyen
9c817d3880 8015854: [macosx] JButton's HTML ImageView adding unwanted padding
Reviewed-by: psadhukhan, aivanov
2022-03-04 19:26:12 +00:00
Naoto Sato
733c7907b0 8282081: java.time.DateTimeFormatter: wrong definition of symbol F
Reviewed-by: joehw, scolebourne, lancea, rriggs
2022-03-04 16:57:54 +00:00
Magnus Ihse Bursie
f9f9c0a855 8252769: Warn in configure if git config autocrlf has invalid value
Reviewed-by: erikj
2022-03-04 16:32:58 +00:00
Emanuel Peter
603050bfe0 8282661: [BACKOUT] ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y)
Reviewed-by: chagedorn, psandoz
2022-03-04 16:26:14 +00:00
Thomas Schatzl
52471539c0 8282615: G1: Fix some includes
Reviewed-by: ayang, iwalulya
2022-03-04 13:40:57 +00:00
Emanuel Peter
a584c904a9 8282573: ByteBufferTest.java: replace endless recursion with RuntimeException in void ck(double x, double y)
Reviewed-by: psandoz, thartmann
2022-03-04 12:55:57 +00:00
Julian Waters
d5e8e52f02 8282532: Allow explicitly setting build platform alongside --openjdk-target
Reviewed-by: ihse
2022-03-04 12:42:07 +00:00
Manukumar V S
b3837808bf 8282343: Create a regression test for JDK-4518432
Reviewed-by: aivanov
2022-03-04 10:56:11 +00:00
Igor Veresov
b629782b8d 8279886: C1: Turn off SelectivePhiFunctions in presence of irreducible loops
Reviewed-by: kvn, dlong
2022-03-04 03:49:37 +00:00
Mandy Chung
7e1c67d4af 8282608: RawNativeLibraryImpl can't be passed to NativeLibraries::findEntry0
Reviewed-by: mcimadamore, dholmes
2022-03-04 03:41:41 +00:00
Joe Wang
8478173d83 8282583: Update BCEL md to include the copyright notice
Reviewed-by: lancea, iris, naoto
2022-03-04 03:15:35 +00:00
Hai-May Chao
fb6b929e6e 8277474: jarsigner does not check if algorithm parameters are disabled
Reviewed-by: mullan, weijun
2022-03-03 23:01:26 +00:00
Manukumar V S
1581e3faa0 8282402: Create a regression test for JDK-4666101
Reviewed-by: aivanov
2022-03-03 19:30:07 +00:00
Xue-Lei Andrew Fan
268fa69318 8282511: Use fixed certificate validation date in SSLExampleCert template
Reviewed-by: rhalade
2022-03-03 19:20:16 +00:00
Thomas Schatzl
c777bb3df3 8282619: G1: Fix indentation in G1CollectedHeap::mark_evac_failure_object
Reviewed-by: ayang, iwalulya
2022-03-03 16:16:44 +00:00
Pavel Rappo
080baffa6e 8282483: Ensure that Utils.getAllInterfaces returns unique instances
Reviewed-by: jjg
2022-03-03 16:10:18 +00:00
Jonathan Gibbons
57020fd582 8282582: Unused methods in Utils
Reviewed-by: prappo
2022-03-03 14:54:02 +00:00
Thomas Stuefe
5c187e34a5 8282593: JDK-8281472 breaks 32-bit builds and gtests
Reviewed-by: jiefu, dholmes
2022-03-03 13:25:10 +00:00
Coleen Phillimore
7822cbce10 8276711: compiler/codecache/cli tests failing when SegmentedCodeCache used with -Xint
Reviewed-by: kvn, dholmes
2022-03-03 13:20:58 +00:00
Prasanta Sadhukhan
832729b41e 6911375: mouseWheel has no effect without vertical scrollbar
Reviewed-by: aivanov
2022-03-03 09:53:14 +00:00
Prasanta Sadhukhan
0402a288f3 8037965: NullPointerException in TextLayout.getBaselineFromGraphic() for JTextComponents
Reviewed-by: prr, aivanov
2022-03-03 09:51:08 +00:00
Thomas Schatzl
d4d1fbc27a 8282484: G1: Predicted old time in log always zero
Reviewed-by: ayang, iwalulya
2022-03-03 09:26:41 +00:00
Tobias Holenstein
b1f935c1d0 8277055: Assert "missing inlining msg" with -XX:+PrintIntrinsics
Reviewed-by: roland, thartmann
2022-03-03 07:59:45 +00:00
Christian Hagedorn
2da677793f 8281122: [IR Framework] Cleanup IR matching code in preparation for JDK-8280378
Reviewed-by: thartmann, kvn
2022-03-03 07:17:56 +00:00
Srinivas Mandalika
d0eb6fa220 8281569: Create tests for Frame.setMinimumSize() method
Reviewed-by: aivanov
2022-03-03 03:26:10 +00:00
Mandy Chung
02aa7cef0a 8282515: More clean up on NativeLibraries just for JNI library use
Reviewed-by: mcimadamore
2022-03-03 01:50:02 +00:00
Weijun Wang
1485883c9e 8281628: KeyAgreement : generateSecret intermittently not resetting
Reviewed-by: valeriep
2022-03-03 00:39:39 +00:00
Magnus Ihse Bursie
b6c35ae44a 8209784: Include hsdis in the JDK
Reviewed-by: erikj
2022-03-02 18:17:47 +00:00
Devin Smith
ce18ff8527 8282551: Properly initialize L32X64MixRandom state
Reviewed-by: jlaskey
2022-03-02 16:41:13 +00:00
Calvin Cheung
234c17e8ff 8274788: Support archived heap objects in ParallelGC
Reviewed-by: iklam, ayang, tschatzl
2022-03-02 16:17:21 +00:00
Weijun Wang
fc918a73d0 8281234: The -protected option is not always checked in keytool and jarsigner
Reviewed-by: hchao, mullan
2022-03-02 14:07:26 +00:00
Andrey Turbanov
d80f697182 8282523: Fix 'hierachy' typo
Reviewed-by: jiefu, kbarrett, dholmes
2022-03-02 13:05:12 +00:00
Alex Menkov
f12200cd11 8267796: vmTestbase/nsk/jvmti/scenarios/hotswap/HS201/hs201t002/TestDescription.java fails with NoClassDefFoundError
Reviewed-by: kevinw, cjplummer
2022-03-02 10:54:25 +00:00
Albert Mingkun Yang
12a822a287 8282381: Parallel: Remove unnecessary PCReferenceProcessor
Reviewed-by: kbarrett, tschatzl
2022-03-02 09:12:20 +00:00
Christian Hagedorn
ed3496e6c0 8282480: IGV: Use description instead of enum name for phases
Reviewed-by: redestad, thartmann
2022-03-02 08:57:55 +00:00
Quan Anh Mai
fc52a2182a 8282143: Objects.requireNonNull should be ForceInline
Reviewed-by: psandoz
2022-03-02 00:46:35 +00:00
Joe Darcy
732d891f9f 8282411: Add useful predicates to ElementKind
Reviewed-by: prappo
2022-03-01 18:48:43 +00:00
Xue-Lei Andrew Fan
eac80214ae 8282320: Remove case conversion for debugging log in SSLCipher
Reviewed-by: weijun
2022-03-01 18:10:39 +00:00
Alexey Ivanov
b86a8c004f 8282150: Drop redundant <br> elements from tables in java.desktop HTML files
Reviewed-by: jdv, dmarkov
2022-03-01 17:01:06 +00:00
Manukumar V S
941e97c4eb 8281738: Create a regression test for checking the 'Space' key activation of focused Button
Reviewed-by: aivanov
2022-03-01 16:55:22 +00:00
Jorn Vernee
8fec7b87c1 8281548: Add escape analysis tracing flag
Reviewed-by: kvn, thartmann, xliu
2022-03-01 16:26:19 +00:00
Jan Lahoda
b03d66c501 8282452: Use of Preview API in preview methods should not trigger preview warning for the enclosing class
Reviewed-by: jlaskey
2022-03-01 15:54:10 +00:00
Coleen Phillimore
76398c8400 8279573: compiler/codecache/CodeCacheFullCountTest.java fails with "RuntimeException: the value of full_count is wrong."
Reviewed-by: thartmann, eosterlund
2022-03-01 15:28:21 +00:00
Pavel Rappo
31b61f982c 8282311: Fix a typo in javax.lang.model.type.NullType
Reviewed-by: jjg
2022-03-01 15:21:19 +00:00
Roland Westrelin
2c5d266f9f 8282045: When loop strip mining fails, safepoints are removed from loop anyway
Reviewed-by: thartmann, chagedorn
2022-03-01 14:43:05 +00:00
Ivan Walulya
341c8bd7f2 8267834: Refactor G1CardSetAllocator and BufferNode::Allocator to use a common base class
Reviewed-by: kbarrett, tschatzl
2022-03-01 14:14:47 +00:00
Roland Westrelin
fcce24c5b3 8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
Reviewed-by: kvn, thartmann
2022-03-01 14:09:15 +00:00
Harold Seigel
a95edee634 8281472: JVM options processing silently truncates large illegal options values
Reviewed-by: dholmes, iklam
2022-03-01 13:21:57 +00:00
David Holmes
44d599aad3 8227369: pd_disjoint_words_atomic() needs to be atomic
Reviewed-by: eosterlund, mikael, shade, kbarrett, mdoerr
2022-03-01 12:07:21 +00:00
Pavel Rappo
eff396f397 8280713: Related to comment inheritance jdk.javadoc cleanup and refactoring
Reviewed-by: jjg
2022-03-01 12:06:11 +00:00
Chris Hegarty
369291b265 8282444: Module finder incorrectly assumes default file system path-separator character
Reviewed-by: alanb
2022-03-01 10:37:35 +00:00
Claes Redestad
d4d12ad1d9 8282047: Enhance StringDecode/Encode microbenchmarks
Reviewed-by: bchristi
2022-03-01 10:20:22 +00:00
Albert Mingkun Yang
22b93a31c9 8282094: [REDO] Parallel: Refactor PSCardTable::scavenge_contents_parallel
Reviewed-by: iwalulya, tschatzl
2022-03-01 09:32:01 +00:00
Dean Long
d3022f87b5 8282467: add extra diagnostics for JDK-8268184
Reviewed-by: stuefe
2022-03-01 08:25:31 +00:00
Jaikiran Pai
e4d9fc811e 8282023: PropertiesStoreTest and StoreReproducibilityTest jtreg failures due to en_CA locale
Reviewed-by: naoto, rriggs
2022-03-01 03:49:18 +00:00
Alan Hayward
c1a28aa04a 8282392: [zero] Build broken on AArch64
Reviewed-by: aph, shade
2022-03-01 02:23:29 +00:00
David Holmes
77432663be 8281210: Add manpage changes for PAC-RET protection on Linux/AArch64
Reviewed-by: iklam
2022-03-01 01:17:50 +00:00
Joe Darcy
1f89acd849 8282464: Remove author tags from java.compiler
Reviewed-by: jjg
2022-02-28 23:28:21 +00:00
Joe Darcy
9d9618a3dd 8282462: Remove unnecessary use of @SuppressWarnings("preview")
Reviewed-by: vromero
2022-02-28 22:14:14 +00:00
Ioi Lam
d983d108c5 8275731: CDS archived enums objects are recreated at runtime
Reviewed-by: coleenp, ccheung
2022-02-28 20:33:18 +00:00
Coleen Phillimore
c7cd1487fe 8282240: Add _name field to Method for NOT_PRODUCT only
Reviewed-by: pchilanomate, hseigel
2022-02-28 20:31:41 +00:00
Weijun Wang
59b3ecc591 8277976: Break up SEQUENCE in X509Certificate::getSubjectAlternativeNames and X509Certificate::getIssuerAlternativeNames in otherName
6776681: Invalid encoding of an OtherName in X509Certificate.getAlternativeNames()

Reviewed-by: mullan
2022-02-28 17:00:47 +00:00
Aleksey Shipilev
4e7fb41daf 8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads
Reviewed-by: kvn, thartmann
2022-02-28 13:29:23 +00:00
Naoto Sato
0ae3d1d59c 8282131: java.time.ZoneId should be a sealed abstract class
Reviewed-by: iris, rriggs, bpb, lancea, mchung, scolebourne
2022-02-28 13:22:15 +00:00
Harold Seigel
c58f5c67d1 8282360: Merge POSIX implementations of ThreadCritical
Reviewed-by: stuefe, coleenp, dholmes
2022-02-28 13:18:45 +00:00
Emanuel Peter
06cadb36e0 8230382: Clean up ConvI2L, CastII and CastLL::Ideal methods
Reviewed-by: thartmann, roland
2022-02-28 12:13:35 +00:00
John Tortugo
efd3967b54 8267265: Use new IR Test Framework to create tests for C2 Ideal transformations
Reviewed-by: chagedorn
2022-02-28 10:01:24 +00:00
Aleksey Shipilev
86723d4892 8281507: Two javac tests have bad jtreg @clean tags
Reviewed-by: darcy
2022-02-28 07:35:19 +00:00
Daniel D. Daugherty
630ad1acb2 8282428: ProblemList jdk/jfr/jvm/TestWaste.java
Reviewed-by: mikael
2022-02-27 03:45:49 +00:00
Rajan Halade
afd4bcbc1d 8282398: EndingDotHostname.java test fails because SSL cert expired
Reviewed-by: xuelei
2022-02-26 17:10:08 +00:00
Erik Gahlin
cf6d2565e9 8282153: JFR: Check for recording waste
Reviewed-by: mgronlun
2022-02-26 08:57:23 +00:00
Ichiroh Takiguchi
c5c6058fd5 8282219: jdk/java/lang/ProcessBuilder/Basic.java fails on AIX
Reviewed-by: rriggs
2022-02-26 03:33:29 +00:00
Alexander Matveev
fb8bf81842 8279995: jpackage --add-launcher option should allow overriding description
Reviewed-by: asemenyuk
2022-02-25 20:49:59 +00:00
Erik Gahlin
441e48509c 8281739: JFR: Use message with Objects.requireNonNull
Reviewed-by: mgronlun
2022-02-25 18:36:11 +00:00
Erik Gahlin
e96c599ed2 8271232: JFR: Scrub recording data
Reviewed-by: mgronlun
2022-02-25 12:56:09 +00:00
Matthias Baesken
735e86b0f7 8282345: handle latest VS2022 in abstract_vm_version
Reviewed-by: dholmes, mdoerr
2022-02-25 12:26:44 +00:00
Thomas Stuefe
b96b743727 8281015: Further simplify NMT backend
Reviewed-by: zgu, mbaesken
2022-02-25 12:25:46 +00:00
KIRIYAMA Takuya
9471f24ca1 8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
Reviewed-by: mgronlun
2022-02-25 11:39:11 +00:00
Claes Redestad
3efd6aa4c9 8282347: AARCH64: Untaken branch in has_negatives stub
Reviewed-by: aph, haosun, thartmann
2022-02-25 08:55:46 +00:00
Kevin Walls
cd36be42c2 8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use
Reviewed-by: msheppar, amenkov
2022-02-25 07:56:56 +00:00
Roger Riggs
bf19fc65c7 8280357: user.home = "?" when running with systemd DynamicUser=true
Reviewed-by: naoto, alanb
2022-02-24 20:12:48 +00:00
Yi-Fan Tsai
b6843a1624 8005885: enhance PrintCodeCache to print more data
Reviewed-by: xliu, phh
2022-02-24 19:42:16 +00:00
Daniel Jeliński
23995f822e 8281525: Enable Zc:strictStrings flag in Visual Studio build
Reviewed-by: dholmes, ihse
2022-02-24 18:18:52 +00:00
Albert Mingkun Yang
20e78f7a8e 8282307: Parallel: Incorrect discovery mode in PCReferenceProcessor
Reviewed-by: tschatzl, kbarrett
2022-02-24 17:48:20 +00:00
Albert Mingkun Yang
0b6862e803 8282348: Remove unused CardTable::dirty_card_iterate
Reviewed-by: kbarrett
2022-02-24 17:47:30 +00:00
Alan Hayward
6fab8a2d6a 8277204: Implement PAC-RET branch protection on Linux/AArch64
Reviewed-by: erikj, ihse, adinn, ngasson
2022-02-24 16:38:56 +00:00
Xue-Lei Andrew Fan
abc0ce11df 8282316: Operation before String case conversion
Reviewed-by: valeriep
2022-02-24 16:25:47 +00:00
Jonathan Gibbons
0796620b07 8281944: JavaDoc throws java.lang.IllegalStateException: ERRONEOUS
Reviewed-by: hannesw
2022-02-24 14:50:06 +00:00
Johannes Bechberger
231e48fa63 8282200: ShouldNotReachHere() reached by AsyncGetCallTrace after JDK-8280422
Reviewed-by: dholmes, mdoerr, kevinw
2022-02-24 14:32:22 +00:00
Coleen Phillimore
f4486a190e 8262400: runtime/exceptionMsgs/AbstractMethodError/AbstractMethodErrorTest.java fails in test_ame5_compiled_vtable_stub with wrapper
Reviewed-by: dholmes, lmesnik
2022-02-24 12:59:15 +00:00
Andrey Turbanov
3cfffa4f8e 8282188: Unused static field MathContext.DEFAULT_DIGITS
Reviewed-by: darcy, bpb
2022-02-24 11:03:29 +00:00
Prasanta Sadhukhan
379fd85932 8277369: Strange behavior of JMenuBar with RIGHT_TO_LEFT orientation, arrow keys behaves opposite traversing through keyboard
Reviewed-by: prr, naoto, serb
2022-02-24 09:52:17 +00:00
Albert Mingkun Yang
cd3e59ef88 8282299: Remove unused PartialArrayScanTask default constructor
Reviewed-by: tschatzl
2022-02-24 09:16:04 +00:00
Chris Plummer
a6610031e2 8281614: serviceability/sa/ClhsdbFindPC.java fails with java.lang.RuntimeException: 'In code in NMethod for jdk/test/lib/apps/LingeredApp.steadyState' missing from stdout/stderr
Reviewed-by: dcubed, dholmes
2022-02-23 22:55:39 +00:00
Manukumar V S
43dc9ef619 8281988: Create a regression test for JDK-4618767
Reviewed-by: aivanov
2022-02-23 21:13:23 +00:00
Chris Plummer
253cf7852f 8282076: Merge some debug agent changes from the loom repo
Reviewed-by: amenkov, lmesnik
2022-02-23 21:09:41 +00:00
Vladimir Ivanov
f86f38a8af 8280901: MethodHandle::linkToNative stub is missing w/ -Xint
Reviewed-by: shade, kvn
2022-02-23 20:29:23 +00:00
Michael McMahon
e540e0a81b 8282296: (se) Pipe.open() creates a Pipe implementation that uses Unix domain sockets (win)
Reviewed-by: dfuchs, lancea, bpb
2022-02-23 20:02:11 +00:00
Xue-Lei Andrew Fan
7dc7184c10 8282309: Operation before upper case conversion
Reviewed-by: valeriep, wetmore
2022-02-23 18:32:29 +00:00
Lance Andersen
a020b6ba8f 8280409: JarFile::getInputStream can fail with NPE accessing ze.getName()
Reviewed-by: mullan, alanb
2022-02-23 16:56:50 +00:00
Jonathan Gibbons
99b8ed9dbf 8281217: Source file launch with security manager enabled fails
Reviewed-by: sundar
2022-02-23 16:49:28 +00:00
Pavel Rappo
35076af13a 8281376: Consider polymorphic methods when looking for overrides
Reviewed-by: hannesw
2022-02-23 16:17:23 +00:00
Xue-Lei Andrew Fan
340a35d835 8282279: Interpret case-insensitive string locale independently
Reviewed-by: weijun
2022-02-23 15:43:06 +00:00
Nils Eliasson
5035bf5e6c 8282208: Reduce MachNode size
Reviewed-by: kvn, thartmann, jiefu
2022-02-23 12:48:22 +00:00
Aleksey Shipilev
aaab2cb416 8282225: GHA: Allow one concurrent run per PR only
Reviewed-by: ihse
2022-02-23 12:34:12 +00:00
David Holmes
d017e98856 8255577: Possible issues with SR_initialize
Reviewed-by: shade, stuefe
2022-02-23 11:30:43 +00:00
Vladimir Ivanov
9332071784 8282194: C1: Missing side effects of dynamic constant linkage
Reviewed-by: kvn, thartmann
2022-02-23 10:17:01 +00:00
Andrew Haley
ecd85e6f0f 8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers
Reviewed-by: shade, jiefu
2022-02-23 10:15:25 +00:00
Volker Simonis
378fa507a2 8281962: Avoid unnecessary native calls in InflaterInputStream
Reviewed-by: clanger, redestad, alanb, lancea
2022-02-23 08:36:13 +00:00
Zhengyu Gu
e1060bee2a 8281615: Deadlock caused by jdwp agent
Reviewed-by: dholmes, cjplummer
2022-02-23 03:04:34 +00:00
Phil Race
6f882deddc 8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly
Reviewed-by: serb, dmarkov
2022-02-23 01:03:09 +00:00
Phil Race
2557ef8a02 8282276: Problem list failing two Robot Screen Capture tests
Reviewed-by: dcubed
2022-02-22 20:27:00 +00:00
Brian Burkhalter
6445ee46b5 5041655: (ch) FileLock: negative param and overflow issues
Reviewed-by: alanb
2022-02-22 17:24:15 +00:00
liach
7feabee426 8261407: ReflectionFactory.checkInitted() is not thread-safe
Co-authored-by: Peter Levart <plevart@openjdk.org>
Reviewed-by: dholmes, mchung, plevart
2022-02-22 16:57:23 +00:00
Tyler Steele
58e1882f3c 8282042: [testbug] FileEncodingTest.java depends on default encoding
Adds expected encoding "ISO-8859-1" for AIX in FileEncodingTest.java

Reviewed-by: naoto
2022-02-22 16:50:48 +00:00
Ian Graves
3cb38678aa 8281315: Unicode, (?i) flag and backreference throwing IndexOutOfBounds Exception
Reviewed-by: naoto
2022-02-22 16:31:57 +00:00
Thomas Schatzl
957dae02b1 8280958: G1/Parallel: Unify marking code structure
Reviewed-by: ayang, kbarrett
2022-02-22 16:25:12 +00:00
Magnus Ihse Bursie
e44d0670a6 8244593: Clean up GNM/NM after JEP 381
Reviewed-by: erikj
2022-02-22 16:06:52 +00:00
Ian Graves
41355e2daa 8276686: Malformed Javadoc inline tags in JDK source in /java/util/regex/Pattern.java
Reviewed-by: iris, bpb, lancea
2022-02-22 15:38:52 +00:00
Coleen Phillimore
022d80707c 8271008: appcds/*/MethodHandlesAsCollectorTest.java tests time out because of excessive GC (CodeCache GC Threshold) in loom
Reviewed-by: thartmann, eosterlund
2022-02-22 13:42:56 +00:00
Alexey Ivanov
ab6d8e6424 8260328: Drop redundant CSS properties from java.desktop HTML files
Reviewed-by: serb, dmarkov
2022-02-22 13:19:43 +00:00
John Jiang
b95310b090 8282220: contentType should not be a PKCS7's member
Reviewed-by: xuelei
2022-02-22 09:35:48 +00:00
Emanuel Peter
bc43320fd3 8281543: Remove unused code/headerfile dtraceAttacher.hpp
Reviewed-by: thartmann
2022-02-22 07:55:04 +00:00
Manukumar V S
f9539521ae 8281745: Create a regression test for JDK-4514331
Reviewed-by: serb
2022-02-22 07:31:55 +00:00
Jaikiran Pai
e0b49629e9 8282190: Typo in javadoc of java.time.format.DateTimeFormatter#getDecimalStyle
Reviewed-by: dfuchs, rriggs, lancea, iris
2022-02-22 01:39:28 +00:00
Daniel Jeliński
e1c98bd1f2 8281523: Accessibility: Conversion from string literal loses const qualifier
Reviewed-by: prr, aivanov, kizune
2022-02-21 17:40:27 +00:00
Maxim Kartashev
cc7cf81256 8280861: Robot color picker broken on Linux with scaling above 100%
Reviewed-by: serb
2022-02-21 11:39:29 +00:00
Magnus Ihse Bursie
d7a706a540 8253757: Add LLVM-based backend for hsdis
Co-authored-by: Magnus Ihse Bursie <ihse@openjdk.org>
Co-authored-by: Ludovic Henry <luhenry@openjdk.org>
Co-authored-by: Jorn Vernee <jvernee@openjdk.org>
Co-authored-by: Nick Gasson <ngasson@openjdk.org>
Reviewed-by: erikj, luhenry
2022-02-21 10:37:44 +00:00
Manukumar V S
bdae1d87c1 8282147: [TESTBUG] waitForIdle after creating frame in JSpinnerMouseAndKeyPressTest.java
Reviewed-by: aivanov
2022-02-21 10:08:50 +00:00
Andrey Turbanov
51f4420711 8282130: (bf) Remove unused ARRAY_BASE_OFFSET, ARRAY_INDEX_SCALE from read-only Heap Buffers
Reviewed-by: bpb, alanb
2022-02-21 09:03:16 +00:00
John Jiang
34aae32de6 8282166: JDK-8282158 changed ECParameters' package by accident
Reviewed-by: xuelei
2022-02-21 08:27:03 +00:00
Albert Mingkun Yang
c5d9142a84 8282096: G1: Remove redundant checks in G1CardSet::free_mem_object
Reviewed-by: tschatzl, iwalulya
2022-02-21 08:14:59 +00:00
John Jiang
52a85d8048 8282158: ECParameters InvalidParameterSpecException messages missed ECKeySizeParameterSpec
Reviewed-by: xuelei
2022-02-21 07:55:39 +00:00
Emanuel Peter
4e0b81c596 8281544: assert(VM_Version::supports_avx512bw()) failed for Tests jdk/incubator/vector/
Reviewed-by: kvn, neliasso, thartmann
2022-02-21 07:05:04 +00:00
Tobias Hartmann
8563d86f2c 8282085: The REGISTER_DEFINITION macro is useless after JDK-8269122
Reviewed-by: jiefu, chagedorn, kvn
2022-02-21 07:02:44 +00:00
Aleksey Shipilev
d28b048f35 8281815: x86: Use short jumps in TIG::generate_slow_signature_handler
Reviewed-by: rrich, dholmes, jiefu
2022-02-21 06:14:43 +00:00
Valerie Peng
d7f31d0d53 8282077: PKCS11 provider C_sign() impl should handle CKR_BUFFER_TOO_SMALL error
Reviewed-by: mikael
2022-02-19 06:40:30 +00:00
Rajan Halade
d3749de478 8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
Reviewed-by: weijun
2022-02-18 20:17:37 +00:00
Yudi Zheng
3943c89b9b 8282044: [JVMCI] Export _sha3_implCompress, _md5_implCompress and aarch64::_has_negatives stubs to JVMCI compiler.
Reviewed-by: kvn
2022-02-18 18:00:40 +00:00
Weijun Wang
7ce75afbbc 8255266: Update Public Suffix List to 3c213aa
Reviewed-by: xuelei
2022-02-18 16:34:59 +00:00
Daniel D. Daugherty
cfbfd9bf41 8282103: fix macosx-generic typo in ProblemList
Reviewed-by: rriggs
2022-02-18 16:25:24 +00:00
Dmitry Chuyko
413bef6890 8282049: AArch64: Use ZR for integer zero immediate volatile stores
Reviewed-by: adinn, phh
2022-02-18 16:02:46 +00:00
Magnus Ihse Bursie
cf6984ddaa 8282086: Update jib profile to not set build to 0
Reviewed-by: erikj
2022-02-18 14:49:34 +00:00
Pavel Rappo
f5120b764c 8282056: Clean up com.sun.tools.javac.util.GraphUtils
Reviewed-by: jjg, mcimadamore, vromero
2022-02-18 13:09:44 +00:00
Jan Lahoda
e3365041bd 8280866: SuppressWarnings does not work properly in package-info and module-info
Reviewed-by: darcy, vromero
2022-02-18 11:04:11 +00:00
Albert Mingkun Yang
e8224f7de9 8282089: [BACKOUT] Parallel: Refactor PSCardTable::scavenge_contents_parallel
Reviewed-by: tschatzl
2022-02-18 09:54:28 +00:00
Jan Lahoda
834d55c59f 8277300: Issues with javadoc support for preview features
Reviewed-by: prappo, jjg
2022-02-18 09:41:12 +00:00
Alex Menkov
138a17195d 8281267: VM HeapDumper dumps array classes several times
Reviewed-by: cjplummer, coleenp
2022-02-18 09:21:48 +00:00
Roberto Castañeda Lozano
7bcca7692b 8279068: IGV: Update to work with JDK 16 and 17
Reviewed-by: kvn, neliasso, chagedorn
2022-02-18 08:35:52 +00:00
Jie Fu
c9289583eb 8281936: compiler/arguments/TestCodeEntryAlignment.java fails on AVX512 machines
Reviewed-by: shade, kvn
2022-02-18 05:02:19 +00:00
Prasanta Sadhukhan
a22f422b7f 8037573: Typo in DefaultTreeModel docs: askAllowsChildren instead of asksAllowsChildren
Reviewed-by: prr, jdv, azvegint
2022-02-18 04:56:05 +00:00
Jie Fu
fdce35f3a1 8282025: assert(ctrl != __null) failed: control out is assumed to be unique after JDK-8281732
Reviewed-by: kvn, thartmann, chagedorn
2022-02-17 22:53:53 +00:00
Magnus Ihse Bursie
f830cbec90 8188073: Add Capstone as backend for hsdis
Co-authored-by: Magnus Ihse Bursie <ihse@openjdk.org>
Co-authored-by: Jorn Vernee <jvernee@openjdk.org>
Reviewed-by: erikj
2022-02-17 21:18:15 +00:00
Daniel D. Daugherty
69fc273f20 8282075: ProblemList 3 compiler/whitebox tests on macosx-x64
Reviewed-by: mikael, bpb
2022-02-17 20:56:46 +00:00
Naoto Sato
129277653e 8281317: CompactNumberFormat displays 4-digit values when rounding to a new range
Reviewed-by: joehw
2022-02-17 19:03:08 +00:00
Mahendra Chhipa
cd9a3cf05b 8282017: sun/net/www/protocol/https/HttpsURLConnection/B6216082.java fails with "SocketException: Unexpected end of file from server"
Reviewed-by: dfuchs
2022-02-17 17:45:06 +00:00
Tim Prinzing
a6f8a386ef 8281000: ClassLoader::registerAsParallelCapable throws NPE if caller is null
Reviewed-by: erikj, ihse, mchung, bchristi
2022-02-17 17:34:39 +00:00
Joe Darcy
4c7f8b49a4 8268250: Class.arrayType() for a 255-d array throws undocumented IllegalArgumentException
Reviewed-by: sundar, alanb
2022-02-17 17:12:40 +00:00
Andrey Turbanov
d0e11808fd 8282019: Unused static fields DEGREES_TO_RADIANS, RADIANS_TO_DEGREES in StrictMath
Reviewed-by: bpb, darcy
2022-02-17 12:31:37 +00:00
Albert Mingkun Yang
3b7a3cfce3 8281971: Remove unimplemented InstanceRefKlass::do_next
Reviewed-by: dholmes
2022-02-17 11:40:43 +00:00
Julia Boes
9ca435b4c0 8281305: Test com/sun/net/httpserver/simpleserver/MapToPathTest.java fails on Windows 11
Reviewed-by: dfuchs
2022-02-17 10:35:05 +00:00
Prasanta Sadhukhan
b4900b1298 8264743: Add forRemoval for deprecated classes and method in javax/swing/plaf/basic
Reviewed-by: trebari, prr
2022-02-17 09:36:05 +00:00
Tyler Steele
c0275e18b7 8203290: [AIX] Check functionality of JDK-8199712 (Flight Recorder)
Implements JFR for AIX

Reviewed-by: erikj, mdoerr, mgronlun, stuefe, ihse
2022-02-17 08:49:22 +00:00
Ioi Lam
1864481df1 8279969: NULL return from map_bitmap_region() needs to be checked
Reviewed-by: ccheung, coleenp
2022-02-17 06:40:46 +00:00
Xiaohong Gong
1eec16b47b 8281803: AArch64: Optimize masked vector NOT/AND_NOT for SVE
Reviewed-by: aph, njian
2022-02-17 05:44:12 +00:00
Alexey Semenyuk
cd234f5dbe 8282007: Assorted enhancements to jpackage testing framework
Reviewed-by: almatvee
2022-02-17 05:27:41 +00:00
Jesper Wilhelmsson
b6e48e6782 Merge 2022-02-17 01:12:57 +00:00
Alexey Semenyuk
0b00ce17cd 8282011: test/jdk/tools/jpackage/windows/WinL10nTest.java test fails if light.exe is not in %PATH%
Reviewed-by: almatvee
2022-02-16 23:23:57 +00:00
Joe Darcy
5ec7898dbf 8281671: Class.getCanonicalName spec should explicitly cover array classes
Reviewed-by: mchung
2022-02-16 22:02:55 +00:00
Martin Desruisseaux
9ba0760cf8 8275345: RasterFormatException when drawing a tiled image made of non-writable rasters
Reviewed-by: prr, aivanov
2022-02-16 22:01:01 +00:00
Daniel Fuchs
48f6e93079 8282020: ProblemList sun/net/www/protocol/https/HttpsURLConnection/B6216082.java until JDK-8282017 is fixed
Reviewed-by: michaelm, naoto
2022-02-16 21:38:48 +00:00
Tim Prinzing
67763df4dc 8281003: MethodHandles::lookup throws NPE if caller is null
Reviewed-by: ihse, mchung, jrose, alanb
2022-02-16 20:09:46 +00:00
Aleksey Shipilev
847a99b53d 8281822: Test failures on non-DTrace builds due to incomplete DTrace* flags handling
Reviewed-by: dholmes, kvn
2022-02-16 20:08:27 +00:00
Mandy Chung
980d187891 8281335: Allow a library already loaded via System::loadLibrary to be loaded as a raw library
Reviewed-by: sundar, mcimadamore
2022-02-16 18:31:32 +00:00
Alexey Semenyuk
81645521c8 8281874: Can't unpack msi installers from test/jdk/tools/jpackage/windows/test/jdk/tools/jpackage/windows/WinShortcutPromptTest.java test
Reviewed-by: almatvee
2022-02-16 17:31:23 +00:00
Alexey Semenyuk
bb4dece246 8281170: Test jdk/tools/jpackage/windows/WinInstallerIconTest always fails on Windows 11
Reviewed-by: almatvee
2022-02-16 17:30:24 +00:00
Naoto Sato
9b74c3f2e7 8176706: Additional Date-Time Formats
Reviewed-by: joehw, rriggs
2022-02-16 16:54:53 +00:00
Mahendra Chhipa
0f3d3ac32c 8061729: Update java/net tests to eliminate dependency on sun.net.www.MessageHeader and some other internal APIs
Reviewed-by: dfuchs
2022-02-16 16:43:15 +00:00
Emanuel Peter
395bc141f2 8281732: add assert for non-NULL assumption for return of unique_ctrl_out
Reviewed-by: kvn, chagedorn, thartmann
2022-02-16 16:19:44 +00:00
Michael McMahon
d8f44aa39e 8278067: Make HttpURLConnection default keep alive timeout configurable
Reviewed-by: dfuchs
2022-02-16 16:01:01 +00:00
Erik Gahlin
7428b37696 8281948: JFR: Parser skips too many bytes for fractional types
Reviewed-by: mgronlun
2022-02-16 15:35:27 +00:00
Jie Fu
d5b466657e 8281829: runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java fails after JDK-8281467
Reviewed-by: kvn, thartmann
2022-02-16 13:46:43 +00:00
Aleksey Shipilev
fef5d74d0e 8281812: x86: Use short jumps in TemplateTable::condy_helper
Reviewed-by: redestad, neliasso
2022-02-16 09:42:56 +00:00
TheShermanTanker
a86cab8d42 8236136: tests which use CompilationMode shouldn't be run w/ TieredStopAtLevel
Reviewed-by: neliasso, kvn, thartmann
2022-02-16 07:50:07 +00:00
Quan Anh Mai
0af356bb4b 8278173: [vectorapi] Add x64 intrinsics for unsigned (zero extended) casts
Reviewed-by: psandoz, sviswanathan
2022-02-15 18:57:53 +00:00
Leonid Mesnik
a24498b777 8281771: Crash in java_lang_invoke_MethodType::print_signature
Reviewed-by: dholmes, shade
2022-02-15 18:01:15 +00:00
Leonid Mesnik
1aff44b2cf 8279949: JavaThread::_free_handle_block leaks native memory
Reviewed-by: dholmes, coleenp
2022-02-15 17:59:51 +00:00
Christian Stein
394ce5f948 8280825: Modules that "provide" ToolProvider should document the name that can be used
Reviewed-by: jjg, lancea, alanb
2022-02-15 17:55:50 +00:00
Calvin Cheung
745f7e7d92 8281186: runtime/cds/appcds/DumpingWithNoCoops.java fails
Reviewed-by: minqi, iklam, stuefe
2022-02-15 17:18:34 +00:00
Aleksey Shipilev
18704653dc 8281744: x86: Use short jumps in TIG::set_vtos_entry_points
Reviewed-by: rehn, coleenp
2022-02-15 16:42:37 +00:00
Stefan Johansson
2fe0bf66b7 8281748: runtime/logging/RedefineClasses.java failed "assert(addr != __null) failed: invariant"
Reviewed-by: ayang, kbarrett
2022-02-15 16:22:37 +00:00
Albert Mingkun Yang
bc6148407e 8280136: Serial: Remove unnecessary use of ExpandHeap_lock
Reviewed-by: iwalulya, kbarrett, sjohanss
2022-02-15 12:23:58 +00:00
Magnus Ihse Bursie
2112a9dc49 8246033: bin/print_config.js script uses nashorn jjs tool
Reviewed-by: erikj
2022-02-15 11:11:10 +00:00
Nils Eliasson
1c12b159ff 8281741: [testbug] PrintIdealPhaseTest fails with -Xcomp
Reviewed-by: kvn, chagedorn, thartmann
2022-02-15 09:49:47 +00:00
Dmitry Markov
f82866bc79 8281555: [macos] Get rid of deprecated Style Masks constants
Reviewed-by: serb, aivanov
2022-02-15 09:26:47 +00:00
Pavel Kharskii
0f2113cee7 8280415: Remove EA from JDK 18 version string starting with Initial RC promotion B35 on February 10, 2022
Reviewed-by: erikj, iris
2022-02-15 09:24:52 +00:00
Nils Eliasson
8819f45357 8281722: Removal of PrintIdealLevel
Reviewed-by: chagedorn, thartmann
2022-02-15 08:20:16 +00:00
Andrey Turbanov
622970e47c 8281728: Redundant null check in LineNumberInputStream.read
Reviewed-by: redestad
2022-02-15 07:10:10 +00:00
Tobias Hartmann
2be2a298f1 8281713: [BACKOUT] AArch64: Implement string_compare intrinsic in SVE
Reviewed-by: kvn, dlong
2022-02-15 07:07:00 +00:00
Kim Barrett
11f943d148 8280916: Simplify HotSpot Style Guide editorial changes
Reviewed-by: dcubed, dholmes, stuefe, stefank, kvn, tschatzl
2022-02-15 06:51:29 +00:00
Aleksey Shipilev
b1564624ce 8281467: Allow larger OptoLoopAlignment and CodeEntryAlignment
Reviewed-by: kvn, dlong
2022-02-15 06:19:37 +00:00
Harshitha Onkar
f33329eb7f 8016524: [macosx] Bottom line is not visible for JTableHeader
Reviewed-by: psadhukhan, prr
2022-02-15 05:03:34 +00:00
Jaikiran Pai
d4cd8dfedb 8281634: jdeps: java.lang.InternalError: Missing message: err.invalid.filters
Reviewed-by: dfuchs, naoto, mchung
2022-02-15 03:53:47 +00:00
Phil Race
1a7b70a8be 8269091: javax/sound/sampled/Clip/SetPositionHang.java failed with ArrayIndexOutOfBoundsException: Array index out of range: -4
Reviewed-by: serb
2022-02-14 23:31:13 +00:00
Ioi Lam
16f649b9c5 8281678: appcds/dynamicArchive/ArchiveConsistency.java fails after JDK-8279997
Reviewed-by: shade, dcubed
2022-02-14 18:53:50 +00:00
Vladimir Ivanov
88fc3bfdff 8280473: CI: Support unresolved JVM_CONSTANT_Dynamic constant pool entries
Reviewed-by: dlong, redestad, neliasso
2022-02-14 18:46:46 +00:00
Thomas Stuefe
f07b816523 8280940: gtest os.release_multi_mappings_vm is racy
Reviewed-by: dcubed, sjohanss
2022-02-14 16:41:47 +00:00
Brian J. Stafford
9d0a4c3f2e 8274238: Inconsistent type for young_list_target_length()
Reviewed-by: kbarrett, tschatzl
2022-02-14 12:20:46 +00:00
Leo Korinth
2604a88fbb 8281585: Remove unused imports under test/lib and jtreg/gc
Reviewed-by: dholmes, sspitsyn
2022-02-14 12:05:16 +00:00
Vladimir Ivanov
534e557874 8256368: Avoid repeated upcalls into Java to re-resolve MH/VH linkers/invokers
Reviewed-by: dlong, kvn
2022-02-14 11:57:46 +00:00
Magnus Ihse Bursie
95f198b2b1 8274980: Improve adhoc build version strings
Reviewed-by: shade, erikj
2022-02-14 10:31:42 +00:00
Emanuel Peter
c61d629add 8281553: Ensure we only require liveness from mach-nodes with barriers
Reviewed-by: neliasso, chagedorn
2022-02-14 09:52:50 +00:00
Albert Mingkun Yang
2597206242 8280783: Parallel: Refactor PSCardTable::scavenge_contents_parallel
Reviewed-by: tschatzl, iwalulya
2022-02-14 09:15:58 +00:00
Stefan Johansson
2632d40dfc 8281637: Remove unused VerifyOption_G1UseNextMarking
Reviewed-by: tschatzl, iwalulya
2022-02-14 09:03:45 +00:00
Roberto Castañeda Lozano
46f522962f 8281539: IGV: schedule approximation computes immediate dominators wrongly
Replace custom dominator computation with one from the WALA libraries.

Reviewed-by: neliasso, chagedorn
2022-02-14 08:37:31 +00:00
Roland Westrelin
1ef45c5bbd 8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination
Reviewed-by: thartmann, kvn
2022-02-14 08:35:53 +00:00
Nils Eliasson
483d4b97e0 8281505: Add CompileCommand PrintIdealPhase
Reviewed-by: kvn, thartmann, chagedorn
2022-02-14 08:27:21 +00:00
Bhavana Kilambi
adbe066102 8239927: Product variable PrefetchFieldsAhead is unused and should be removed
Reviewed-by: njian, dholmes
2022-02-14 01:33:20 +00:00
Sergey Bylokhov
eff5dafba9 8274939: Incorrect size of the pixel storage is used by the robot on macOS
Reviewed-by: aivanov, prr
2022-02-12 22:10:11 +00:00
David Holmes
8acfbc2e21 8281675: VMDeprecatedOptions test fails after JDK-8278423
Reviewed-by: dcubed
2022-02-12 14:12:42 +00:00
Emanuel Peter
67077a0430 8278423: ExtendedDTraceProbes should be deprecated
Reviewed-by: dholmes, hseigel, kvn, thartmann
2022-02-12 13:08:39 +00:00
Alexey Bakhtin
58dae60da0 8274524: SSLSocket.close() hangs if it is called during the ssl handshake
Reviewed-by: xuelei
2022-02-12 11:54:22 +00:00
Alexander Zuev
aa918a6ec4 8281033: Improve ImageCheckboxTest to test all available LaF
Reviewed-by: serb
2022-02-12 09:26:47 +00:00
Joe Darcy
6fdfe0458d 8281674: tools/javac/annotations/typeAnnotations/classfile/AnonymousExtendsTest.java fails with AssertionError
Reviewed-by: vromero
2022-02-12 01:33:41 +00:00
Joe Darcy
c3179a8760 8281462: Annotation toString output for enum not reusable for source input
Reviewed-by: mchung
2022-02-11 23:24:08 +00:00
Joe Darcy
4032fe76dc 8281238: TYPE_USE annotations not printed in correct position in toString output
Reviewed-by: vromero
2022-02-11 21:52:16 +00:00
Dr Heinz M. Kabutz
83ffbd2e7a 8277175: Add a parallel multiply method to BigInteger
Reviewed-by: psandoz
2022-02-11 18:49:04 +00:00
Manukumar V S
0786ddb471 8281535: Create a regression test for JDK-4670051
Reviewed-by: aivanov
2022-02-11 17:40:25 +00:00
Calvin Cheung
c5ff6e45de 8223077: module path support for dynamic CDS archive
Reviewed-by: iklam, minqi
2022-02-11 17:39:20 +00:00
Erik Gahlin
8886839779 8281622: JFR: Improve documentation of jdk.jfr.Relational
Reviewed-by: jbachorik
2022-02-11 17:15:04 +00:00
Yumin Qi
e75e8cd708 8279997: check_for_dynamic_dump should not exit vm
Reviewed-by: ccheung, iklam
2022-02-11 16:42:07 +00:00
Daniel Jeliński
e73ee0ca10 8281259: MutableBigInteger subtraction could be simplified
Reviewed-by: bpb
2022-02-11 16:24:43 +00:00
lawrence.andrews
f399ae558e 8202836: [macosx] test java/awt/Graphics/TextAAHintsTest.java fails
Reviewed-by: prr, aivanov
2022-02-11 15:33:17 +00:00
Jan Lahoda
4ff5824f5b 8281100: Spurious "variable might not have been initialized" with sealed class switch
Reviewed-by: vromero
2022-02-11 12:11:29 +00:00
Jie Fu
d254cf28c5 8281638: jfr/event/allocation tests fail with release VMs after JDK-8281318 due to lack of -XX:+UnlockDiagnosticVMOptions
Reviewed-by: shade
2022-02-11 11:39:54 +00:00
Prasanta Sadhukhan
4d64076058 8047749: javadoc for getPathBounds() in TreeUI and BasicTreeUI is incorrect
Reviewed-by: aivanov
2022-02-11 09:39:10 +00:00
Kim Barrett
90939cb801 8281626: NonblockingQueue should use nullptr
Reviewed-by: shade, dholmes
2022-02-11 09:05:50 +00:00
Aleksey Shipilev
3a13425bc9 8072070: Improve interpreter stack banging
Reviewed-by: xliu, coleenp, mdoerr
2022-02-11 08:46:55 +00:00
Sergey Bylokhov
8441d51e71 8281419: The source data for the color conversion can be discarded
Reviewed-by: prr, aivanov
2022-02-11 07:41:18 +00:00
Thomas Stuefe
a037b3c358 8281460: Let ObjectMonitor have its own NMT category
Reviewed-by: dholmes, dcubed, shade
2022-02-11 07:21:04 +00:00
Aleksey Shipilev
65831eb294 8281318: Improve jfr/event/allocation tests reliability
Reviewed-by: mgronlun
2022-02-11 06:45:13 +00:00
Thomas Stuefe
eee6a5622d 8281522: Rename ADLC classes which have the same name as hotspot variants
Reviewed-by: neliasso, kvn
2022-02-11 05:34:27 +00:00
David Holmes
84868e39be 8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths
Reviewed-by: shade, dcubed
2022-02-10 23:23:48 +00:00
Erik Gahlin
58c2bd3158 8281536: JFR: Improve jdk.jfr.ContentType documentation
Reviewed-by: mgronlun
2022-02-10 22:51:39 +00:00
Paul Sandoz
83b6e4bc04 8281294: [vectorapi] FIRST_NONZERO reduction operation throws IllegalArgumentExcept on zero vectors
Reviewed-by: jrose
2022-02-10 18:37:21 +00:00
Prasanta Sadhukhan
039313d65d 8054449: Incompatible type in example code in TreePath
Reviewed-by: aivanov, dmarkov
2022-02-10 12:02:05 +00:00
Kim Barrett
3ce1c5b6ce 8280832: Update usage docs for NonblockingQueue
Reviewed-by: iwalulya, dholmes
2022-02-10 11:28:04 +00:00
Maxim Kartashev
d442328bc2 8281262: Windows builds in different directories are not fully reproducible
Co-authored-by: Erik Joelsson <erikj@openjdk.org>
Reviewed-by: erikj, ihse
2022-02-10 10:46:35 +00:00
Leo Korinth
c820d1acb7 8281379: Assign package declarations to all jtreg test cases under gc
Reviewed-by: kbarrett, tschatzl
2022-02-10 10:34:16 +00:00
Emanuel Peter
fa0a72c030 8252496: C2: Useless code in MergeMemNode::Ideal
Reviewed-by: thartmann, chagedorn, vlivanov
2022-02-10 09:29:53 +00:00
John Jiang
7218d8449b 8281567: Remove @throws IOException from X509CRLImpl::getExtension docs
Reviewed-by: xuelei, jiefu
2022-02-10 08:11:08 +00:00
Alexey Ivanov
fd8a3dcc52 8280820: Clean up bug8033699 and bug8075609.java tests: regtesthelpers aren't used
Reviewed-by: prr
2022-02-09 19:12:20 +00:00
Hai-May Chao
178b962e01 8265765: DomainKeyStore may stop enumerating aliases if a constituting KeyStore is empty
Reviewed-by: weijun
2022-02-09 16:53:48 +00:00
Vladimir Ivanov
c5c8c0644d 8279822: CI: Constant pool entries in error state are not supported
Reviewed-by: kvn, thartmann
2022-02-09 13:56:23 +00:00
Bhavana Kilambi
f823bed043 8280007: Enable Neoverse N1 optimizations for Arm Neoverse V1 & N2
Reviewed-by: phh
2022-02-09 13:18:29 +00:00
Christian Stein
8b384b986a 8281470: tools/jar/CreateMissingParentDirectories.java fails with "Should have failed creating jar file"
Reviewed-by: lancea
2022-02-09 11:34:22 +00:00
Matthias Baesken
bb2e10ccea 8281274: deal with ActiveProcessorCount in os::Linux::print_container_info
Reviewed-by: stuefe, sgehwolf, dholmes, iklam
2022-02-09 11:33:16 +00:00
Roland Westrelin
69e390a0e8 8262721: Add Tests to verify single iteration loops are properly optimized
Reviewed-by: neliasso, chagedorn, kvn
2022-02-09 10:18:27 +00:00
Alexey Pavlyutkin
f092babafb 8281195: Mistakenly used logging causes significant overhead in interpreter
Reviewed-by: shade, dholmes
2022-02-09 09:33:35 +00:00
Daniel Jeliński
f924e50c42 8281440: AWT: Conversion from string literal loses const qualifier
Reviewed-by: prr, aivanov
2022-02-09 08:34:47 +00:00
Kim Barrett
072e7b4da0 8272807: Permit use of memory concurrent with pretouch
Reviewed-by: shade, stuefe
2022-02-09 06:53:09 +00:00
Artem Semenov
cb2f8caed2 8281338: NSAccessibilityPressAction action for tree node and NSAccessibilityShowMenuAcgtion action not working
Reviewed-by: ant, kizune
2022-02-09 06:50:35 +00:00
Aleksey Shipilev
fc77217814 8281168: Micro-optimize VarForm.getMemberName for interpreter
Reviewed-by: redestad, vlivanov, mchung
2022-02-09 06:28:00 +00:00
Kim Barrett
bce5dd1766 8280438: Improve BufferNode::Allocator::release to avoid walking pending list
Reviewed-by: iwalulya, tschatzl
2022-02-09 04:38:11 +00:00
Kim Barrett
13f739d330 8280830: Change NonblockingQueue::try_pop variable named "result"
Reviewed-by: dholmes
2022-02-09 04:10:37 +00:00
Sergey Bylokhov
2f46af05ce 8280132: Incorrect comparator com.sun.beans.introspect.MethodInfo.MethodOrder
Reviewed-by: prr
2022-02-09 01:26:42 +00:00
Quan Anh Mai
fb17a8ece0 8278947: Support for array constants in constant table
Reviewed-by: kvn, vlivanov
2022-02-08 23:38:09 +00:00
Kim Barrett
d658d945cf 8280828: Improve invariants in NonblockingQueue::append
Reviewed-by: iwalulya, tschatzl
2022-02-08 20:29:04 +00:00
Daniel D. Daugherty
5fb56dbb0b 8281476: ProblemList tools/jar/CreateMissingParentDirectories.java
Reviewed-by: azvegint, bpb, lancea
2022-02-08 20:16:34 +00:00
Christian Stein
92f4f40da6 8281104: jar --create should create missing parent directories
Reviewed-by: lancea
2022-02-08 17:53:42 +00:00
Martin Doerr
7f19c70070 8281061: [s390] JFR runs into assertions while validating interpreter frames
Reviewed-by: lucy, rrich
2022-02-08 17:48:48 +00:00
Harold Seigel
380378c551 8281400: Remove unused wcslen() function
Reviewed-by: dcubed, coleenp, lfoltan
2022-02-08 16:00:58 +00:00
Thomas Stuefe
83d67452da 8281450: Remove unnecessary operator new and delete from ObjectMonitor
Reviewed-by: dholmes
2022-02-08 14:43:45 +00:00
Manukumar V S
f5d8cebbb6 8281296: Create a regression test for JDK-4515999
Reviewed-by: aivanov
2022-02-08 12:39:43 +00:00
Kim Barrett
861f2797f7 8280917: Simplify G1ConcurrentRefineThread activation
Reviewed-by: iwalulya, sjohanss
2022-02-08 09:02:53 +00:00
Masanori Yano
f2a9627c05 8279329: Remove hardcoded IPv4 available policy on Windows
Reviewed-by: djelinski, alanb, dfuchs, aefimov
2022-02-08 08:31:10 +00:00
Aleksey Shipilev
4eacacb5ad 8281314: Rename Stack{Red,Yellow,Reserved,Shadow}Pages multipliers
Reviewed-by: stuefe, coleenp, xliu
2022-02-08 07:19:57 +00:00
Erik Gahlin
2f71a6b39e 8279613: JFR: Snippify Javadoc
Reviewed-by: mgronlun
2022-02-07 19:54:05 +00:00
Kevin Walls
8a662105c2 6779701: Wrong defect ID in the code of test LocalRMIServerSocketFactoryTest.java
Reviewed-by: cjplummer, dfuchs
2022-02-07 18:16:23 +00:00
Kevin Walls
1dfc94dd56 8281377: Remove vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Deadlock/JavaDeadlock001/TestDescription.java from problemlist.
Reviewed-by: sspitsyn
2022-02-07 17:36:40 +00:00
Weijun Wang
2ed1f4cf32 8281175: Add a -providerPath option to jarsigner
Reviewed-by: xuelei, hchao
2022-02-07 15:05:30 +00:00
Sean Mullan
a0f6f2409e 8280890: Cannot use '-Djava.system.class.loader' with class loader in signed JAR
Reviewed-by: weijun, hchao
2022-02-07 14:06:08 +00:00
Stephanie Crater
22a1a32c7e 8268387: Rename maximum compaction to maximal compaction in G1
Reviewed-by: ayang, tschatzl
2022-02-07 12:43:28 +00:00
Albert Mingkun Yang
76677716ab 8281114: G1: Remove PreservedMarks::init_forwarded_mark
Reviewed-by: tschatzl, sjohanss
2022-02-07 12:26:47 +00:00
Aleksei Efimov
4c169495a2 8272996: JNDI DNS provider fails to resolve SRV entries when IPV6 stack is enabled
Reviewed-by: dfuchs
2022-02-07 12:10:14 +00:00
Julia Boes
f3e8242683 8280965: Tests com/sun/net/httpserver/simpleserver fail with FileSystemException on Windows 11
Reviewed-by: dfuchs
2022-02-07 09:28:05 +00:00
Alex Menkov
95fd9d20f3 8281243: Test java/lang/instrument/RetransformWithMethodParametersTest.java is failing
Reviewed-by: sspitsyn, dcubed, lmesnik
2022-02-07 09:08:34 +00:00
Emanuel Peter
f5e0870091 8281117: Add regression test for JDK-8280587
Reviewed-by: chagedorn, thartmann, xliu
2022-02-07 08:18:07 +00:00
Xue-Lei Andrew Fan
f2302822c0 8281298: Revise the creation of unmodifiable list
Reviewed-by: redestad
2022-02-07 06:30:10 +00:00
Prasanta Sadhukhan
5dfff7406e 8166050: partialArray is not created in javax.swing.text.html.parser.NPrintWriter.println(...) method
Reviewed-by: prr
2022-02-07 04:48:02 +00:00
Phil Race
2f48a3f032 8279878: java/awt/font/JNICheck/JNICheck.sh test fails on Ubuntu 21.10
Reviewed-by: serb
2022-02-06 21:13:17 +00:00
Toshio Nakamura
f7814c120b 8139173: [macosx] JInternalFrame shadow is not properly drawn
Reviewed-by: prr, serb
2022-02-06 18:39:44 +00:00
Joe Darcy
77b0240d44 8281183: RandomGenerator:NextDouble() default behavior partially fixed by JDK-8280950
Reviewed-by: jlaskey
2022-02-06 02:19:32 +00:00
Xue-Lei Andrew Fan
42e272e181 8281289: Improve with List.copyOf
Reviewed-by: jnimeh, hchao
2022-02-05 07:44:57 +00:00
Kevin Walls
48523b0908 8281049: man page update for jstatd Security Manager dependency removal
Reviewed-by: cjplummer
2022-02-04 21:23:58 +00:00
Yumin Qi
8e4ef818a9 8280767: -XX:ArchiveClassesAtExit does not archive BoundMethodHandle$Species classes
Reviewed-by: iklam, ccheung
2022-02-04 19:20:22 +00:00
Daniel D. Daugherty
f5d6fddc6d 8280476: [macOS] : hotspot arm64 bug exposed by latest clang
Reviewed-by: kbarrett, adinn
2022-02-04 17:37:01 +00:00
Albert Mingkun Yang
d4b99bc029 8281120: G1: Rename G1BlockOffsetTablePart::alloc_block to update_for_block
Reviewed-by: tschatzl, iwalulya, sjohanss
2022-02-04 16:03:50 +00:00
Manukumar V S
66b2c3b66e 8280948: [TESTBUG] Write a regression test for JDK-4659800
Reviewed-by: aivanov
2022-02-04 15:25:13 +00:00
Jesper Wilhelmsson
7207f2a3b5 Merge 2022-02-04 14:47:06 +00:00
Rob McKenna
3d926dd66e 8277795: ldap connection timeout not honoured under contention
Reviewed-by: dfuchs, aefimov
2022-02-04 13:07:03 +00:00
Manukumar V S
51b53a821b 8280913: Create a regression test for JRootPane.setDefaultButton() method
Reviewed-by: aivanov
2022-02-04 10:51:30 +00:00
Martin Doerr
46c6c6f308 8281043: Intrinsify recursive ObjectMonitor locking for PPC64
Reviewed-by: rrich, lucy
2022-02-04 09:13:41 +00:00
Richard Reingruber
c936e7059b 8280593: [PPC64, S390] redundant allocation of MacroAssembler in StubGenerator ctor
Reviewed-by: mdoerr, lucy
2022-02-04 07:57:55 +00:00
Matthias Baesken
01f93ddf18 8279385: [test] Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344
Reviewed-by: mullan, xuelei
Backport-of: 9bdf6eb7b2
2022-02-04 07:47:42 +00:00
Andrey Turbanov
63e11cfa3f 8280970: Cleanup dead code in java.security.Provider
Reviewed-by: valeriep
2022-02-04 07:08:07 +00:00
Dean Long
e44dc638b8 8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack
Co-authored-by: Yi Yang <yyang@openjdk.org>
Co-authored-by: Yi Yang <qingfeng.yy@alibaba-inc.com>
Reviewed-by: vlivanov, thartmann
2022-02-03 22:10:44 +00:00
Yi-Fan Tsai
b6935dfb86 8251505: Use of types in compiler shared code should be consistent.
Reviewed-by: phh
2022-02-03 19:34:28 +00:00
Brian Burkhalter
130cf46dcb 4750574: (se spec) Selector spec should clarify calculation of select return value
Reviewed-by: alanb
2022-02-03 19:12:27 +00:00
Yumin Qi
cda9c3011b 8278753: Runtime crashes with access violation during JNI_CreateJavaVM call
Reviewed-by: dholmes, stuefe
2022-02-03 18:02:40 +00:00
Alex Menkov
86c24b319e 8240908: RetransformClass does not know about MethodParameters attribute
Reviewed-by: cjplummer, sspitsyn
2022-02-03 15:51:16 +00:00
Pavel Rappo
1f92660937 8281057: Fix doc references to overriding in JLS
Reviewed-by: darcy, iris, dholmes, cjplummer
2022-02-03 14:55:08 +00:00
Thomas Stuefe
010965c86a 8281023: NMT integration into pp debug command does not work
Reviewed-by: zgu, iklam
2022-02-03 14:12:29 +00:00
Kevin Walls
63a00a0df2 8272777: Clean up remaining AccessController warnings in test library
Reviewed-by: rriggs, sspitsyn
2022-02-03 10:10:45 +00:00
Roman Kennke
5ab22e88da 8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations
Reviewed-by: sspitsyn, cjplummer
2022-02-03 07:24:59 +00:00
Artem Semenov
fe547eacd7 8280956: Re-examine copyright headers on files in src/java.desktop/macosx/native/libawt_lwawt/awt/a11y
Reviewed-by: kizune, prr
2022-02-03 07:22:30 +00:00
Xue-Lei Andrew Fan
a95ee5ada2 8065422: Trailing dot in hostname causes TLS handshake to fail with SNI disabled
Reviewed-by: weijun
2022-02-03 06:28:19 +00:00
Jesper Wilhelmsson
a46307a79d Merge 2022-02-03 01:11:16 +00:00
Chris Plummer
fe0118f804 8279662: serviceability/sa/ClhsdbScanOops.java can fail do to unexpected GC
Reviewed-by: sspitsyn, kevinw
2022-02-02 21:51:39 +00:00
Masanori Yano
e3d5c9e7c4 8266974: duplicate property key in java.sql.rowset resource bundle
Reviewed-by: lancea
2022-02-02 21:02:19 +00:00
Daniel Fuchs
47800bf3da 8280868: LineBodyHandlerTest.java creates and discards too many clients
Reviewed-by: michaelm
2022-02-02 17:11:22 +00:00
Albert Mingkun Yang
9d578537ce 8281042: G1: Remove unused init_threshold in G1FullGCCompactionPoint
Reviewed-by: tschatzl, kbarrett
2022-02-02 15:17:50 +00:00
Michael McMahon
87ab0994de 8280944: Enable Unix domain sockets in Windows Selector notification mechanism
Reviewed-by: dfuchs, alanb
2022-02-02 15:04:59 +00:00
Roman Kennke
ce71e8b281 8279917: Refactor subclassAudits in Thread to use ClassValue
Reviewed-by: alanb, rriggs
2022-02-02 14:56:52 +00:00
Albert Mingkun Yang
4ea6037ea5 8281035: Serial: Move RemoveForwardedPointerClosure to local scope
Reviewed-by: kbarrett, tschatzl
2022-02-02 10:43:02 +00:00
Prasanta Sadhukhan
ae2504b469 8278254: Cleanup doclint warnings in java.desktop module
Reviewed-by: aivanov, serb
2022-02-02 10:04:50 +00:00
Roland Westrelin
de826ba18a 8280600: C2: assert(!had_error) failed: bad dominance
Reviewed-by: kvn, thartmann
2022-02-02 08:01:00 +00:00
Roland Westrelin
4304a7728e 8279535: C2: Dead code in PhaseIdealLoop::create_loop_nest after JDK-8276116
Reviewed-by: thartmann
2022-02-02 07:38:36 +00:00
Roland Westrelin
ab638341de 8280885: Shenandoah: Some tests failed with "EA: missing allocation reference path"
Reviewed-by: rkennke
2022-02-02 07:37:44 +00:00
Jatin Bhateja
48a32b5f3a 8280976: Incorrect encoding of avx512 vpsraq instruction with mask and constant shift.
Reviewed-by: neliasso, thartmann
2022-02-02 07:36:47 +00:00
Roland Westrelin
97af323041 8280842: Access violation in ciTypeFlow::profiled_count
Reviewed-by: neliasso, vlivanov, kvn
2022-02-02 07:35:34 +00:00
Roland Westrelin
d32f99ee65 8279219: [REDO] C2 crash when allocating array of size too large
Reviewed-by: thartmann, neliasso
2022-02-02 07:34:22 +00:00
Chris Plummer
85d839fb4f 8280601: ClhsdbThreadContext.java test is triggering codecache related asserts
Reviewed-by: kevinw, sspitsyn
2022-02-01 23:02:06 +00:00
Joe Darcy
9ca7ff3e4f 8281082: Improve javadoc references to JOSS
Reviewed-by: iris, rriggs, naoto, lancea
2022-02-01 22:30:08 +00:00
Boris Ulasevich
c74b8f48fa 8275914: SHA3: changing java implementation to help C2 create high-performance code
Reviewed-by: ascarpino, phh
2022-02-01 20:56:57 +00:00
Aleksey Shipilev
a18beb4797 8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs
Reviewed-by: kvn, dlong
2022-02-01 20:55:39 +00:00
Roger Riggs
fdd9ca74bd 8280642: ObjectInputStream.readObject should throw InvalidClassException instead of IllegalAccessError
Reviewed-by: naoto, mchung
2022-02-01 20:13:14 +00:00
Calvin Cheung
d95de5c7fe 8255495: Support CDS Archived Heap for uncompressed oops
Reviewed-by: iklam, tschatzl
2022-02-01 19:33:36 +00:00
Jim Laskey
bde2b3783e 8279954: java/lang/StringBuffer(StringBuilder)/HugeCapacity.java intermittently fails
Reviewed-by: shade, dholmes
2022-02-01 18:45:31 +00:00
Tobias Hartmann
2531c332f8 8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
Backport-of: 6f0e8da6d3
2022-02-01 17:41:15 +00:00
Thomas Stuefe
d1cc5fda8f 8280941: os::print_memory_mappings() prints segment preceeding the inclusion range
Reviewed-by: stefank, minqi
2022-02-01 17:19:26 +00:00
Chris Plummer
4532c3a163 8280554: resourcehogs/serviceability/sa/ClhsdbRegionDetailsScanOopsForG1.java can fail if GC is triggered
Reviewed-by: alanb, amenkov, lmesnik
2022-02-01 16:02:10 +00:00
Chris Plummer
5080e815b4 8280770: serviceability/sa/ClhsdbThreadContext.java sometimes fails with 'Thread "SteadyStateThread"' missing from stdout/stderr
Reviewed-by: sspitsyn, dholmes
2022-02-01 15:59:35 +00:00
Kim Barrett
1f6fcbe2f3 8278475: G1 dirty card refinement by Java threads may get unnecessarily paused
Reviewed-by: tschatzl, iwalulya
2022-02-01 15:44:26 +00:00
Albert Mingkun Yang
c5a86120df 8280458: G1: Remove G1BlockOffsetTablePart::_next_offset_threshold
Reviewed-by: tschatzl, iwalulya, sjohanss
2022-02-01 12:23:44 +00:00
Albert Mingkun Yang
86debf42f5 8280932: G1: Rename HeapRegionRemSet::_code_roots accessors
Reviewed-by: iwalulya
2022-02-01 11:03:31 +00:00
Albert Mingkun Yang
d37fb1df46 8280870: Parallel: Simplify CLD roots claim in Full GC cycle
Reviewed-by: stefank, sjohanss
2022-02-01 10:56:07 +00:00
Alexander Zuev
18a7dc8c08 8279586: [macos] custom JCheckBox and JRadioBox with custom icon set: focus is still displayed after unchecking
Reviewed-by: serb, azvegint
2022-02-01 10:20:38 +00:00
Albert Mingkun Yang
16ec47d5e5 8279856: Parallel: Use PreservedMarks to record promotion-failed objects
Reviewed-by: sjohanss, tschatzl
2022-02-01 08:47:10 +00:00
Michael McMahon
de3113b998 8279842: HTTPS Channel Binding support for Java GSS/Kerberos
Co-authored-by: Weijun Wang <weijun.wang@oracle.com>
Reviewed-by: dfuchs, weijun, darcy
2022-02-01 07:26:59 +00:00
Joe Darcy
0e70d4504c 8280950: RandomGenerator:NextDouble() default behavior non conformant after JDK-8280550 fix
Reviewed-by: bpb, jlaskey
2022-02-01 01:27:18 +00:00
Jonathan Gibbons
1ea01465ab 8281007: Test jdk/javadoc/doclet/checkStylesheetClasses/CheckStylesheetClasses.java fails after JDK-8280738
Reviewed-by: darcy
2022-02-01 00:31:19 +00:00
Mandy Chung
9c0104b9c9 8221642: AccessibleObject::setAccessible throws NPE when invoked by JNI code with no java frame on stack
Reviewed-by: alanb
2022-02-01 00:09:35 +00:00
Joe Darcy
4dbebb62aa 8280534: Enable compile-time doclint reference checking
Reviewed-by: serb, naoto, mchung, lancea, iris
2022-01-31 23:22:38 +00:00
Igor Veresov
4191b2b9b9 8275337: C1: assert(false) failed: live_in set of first block must be empty
Reviewed-by: kvn
2022-01-31 23:02:34 +00:00
Jonathan Gibbons
96d0df72db 8272984: javadoc support for reproducible builds
Reviewed-by: hannesw
2022-01-31 22:54:18 +00:00
Jonathan Gibbons
ee3be0bb56 8280488: doclint reference checks withstand warning suppression
Reviewed-by: darcy
2022-01-31 22:47:46 +00:00
Jonathan Gibbons
74921e8422 8280738: Minor cleanup for HtmlStyle
Reviewed-by: hannesw
2022-01-31 22:45:16 +00:00
Ioi Lam
39165613aa 8280543: Update the "java" and "jcmd" tool specification for CDS
Reviewed-by: hseigel, sspitsyn, ccheung
2022-01-31 21:48:32 +00:00
Xue-Lei Andrew Fan
f991891b0b 8280949: Correct the references for the Java Security Standard Algorithm Names specification
Reviewed-by: mullan
2022-01-31 20:25:50 +00:00
Yumin Qi
319b77492f 8277101: jcmd VM.cds dynamic_dump should not regenerate holder classes
Reviewed-by: iklam, ccheung
2022-01-31 19:27:59 +00:00
Thomas Schatzl
993a2488ef 8280450: Add task queue printing to STW Full GCs
Reviewed-by: ayang, sjohanss
2022-01-31 16:52:28 +00:00
Thomas Schatzl
dcc666d53d 8280139: Report more detailed statistics about task stealing in task queue stats
Reviewed-by: kbarrett, iwalulya
2022-01-31 16:51:10 +00:00
Thomas Schatzl
bdda43e066 8280705: Parallel: Full gc mark stack draining should prefer to make work available to other threads
Reviewed-by: ayang, mli
2022-01-31 16:01:18 +00:00
Dmitry Batrak
091aff92e2 8278908: [macOS] Unexpected text normalization on pasting from clipboard
Reviewed-by: serb, aivanov
2022-01-31 13:43:35 +00:00
Stefan Karlsson
61794c5039 8280817: Clean up and unify empty VM operations
Reviewed-by: shade, coleenp
2022-01-31 12:30:09 +00:00
Andrey Turbanov
c6ed2046b4 8278263: Remove redundant synchronized from URLStreamHandler.openConnection methods
Reviewed-by: dfuchs
2022-01-31 12:11:03 +00:00
Aleksey Shipilev
251351f494 8280889: java/lang/instrument/GetObjectSizeIntrinsicsTest.java fails with -XX:-UseCompressedOops
Reviewed-by: sspitsyn, dcubed
2022-01-31 08:49:02 +00:00
Chris Plummer
be9f984cae 8280553: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java can fail if GC occurs
Reviewed-by: alanb, amenkov
2022-01-29 21:35:06 +00:00
Andrey Turbanov
268880b471 8277412: Use String.isBlank to simplify code in sun.net.www.protocol.mailto.Handler
Reviewed-by: dfuchs
2022-01-29 11:36:11 +00:00
Brian Burkhalter
d366d15d67 8280903: javadoc build fails after JDK-4774868
Reviewed-by: lancea
2022-01-28 23:18:20 +00:00
Denghui Dong
9139159898 8280843: macos-Aarch64 SEGV in frame::sender_for_compiled_frame after JDK-8277948
Reviewed-by: aph, dholmes
2022-01-28 22:52:32 +00:00
Chris Plummer
0740ac474c 8280555: serviceability/sa/TestObjectMonitorIterate.java is failing due to ObjectMonitor referencing a null Object
Reviewed-by: sspitsyn, lmesnik
2022-01-28 18:51:21 +00:00
Daniel D. Daugherty
ff34d624ba 8280898: ProblemList compiler/regalloc/TestC2IntPressure.java on macosx-aarch64
Reviewed-by: ctornqvi
2022-01-28 18:09:35 +00:00
Brian Burkhalter
95ee9bf7be 4774868: (fc spec) Unclear spec for FileChannel.force
Reviewed-by: alanb
2022-01-28 17:12:42 +00:00
Sebastian Stenzel
409382ba4b 8280703: CipherCore.doFinal(...) causes potentially massive byte[] allocations during decryption
Reviewed-by: ascarpino
2022-01-28 16:42:42 +00:00
Kevin Walls
cb8a82ee24 8272317: jstatd has dependency on Security Manager which needs to be removed
Reviewed-by: cjplummer, rriggs
2022-01-28 12:54:19 +00:00
Magnus Ihse Bursie
6de90ad980 8280863: Update build README to reflect that MSYS2 is supported
Reviewed-by: ihse
2022-01-28 12:45:43 +00:00
Thomas Schatzl
ed826f2927 8280397: Factor out task queue statistics printing
Reviewed-by: pliden, kbarrett, mli
2022-01-28 09:16:43 +00:00
Stefan Karlsson
8a3cca09ba 8280784: VM_Cleanup unnecessarily processes all thread oops
Reviewed-by: eosterlund, shade
2022-01-28 09:06:06 +00:00
Albert Mingkun Yang
973dda5ce0 8280804: Parallel: Remove unused variables in PSPromotionManager::drain_stacks_depth
Reviewed-by: tschatzl, mli
2022-01-28 08:11:44 +00:00
Thomas Stuefe
55f180fb7d 8280004: DCmdArgument<jlong>::parse_value() should handle NULL input
Reviewed-by: dholmes, mbaesken
2022-01-28 08:10:12 +00:00
Andrey Turbanov
178ac74653 8251466: test/java/io/File/GetXSpace.java fails on Windows with mapped network drives.
Reviewed-by: bpb
2022-01-28 07:01:21 +00:00
Ioi Lam
a1d1e4753b 8280823: Remove NULL check in DumpTimeClassInfo::is_excluded
Reviewed-by: minqi, ccheung
2022-01-28 01:55:16 +00:00
Denghui Dong
094db1a3ee 8277948: AArch64: Print the correct native stack if -XX:+PreserveFramePointer when crash
Reviewed-by: aph, adinn
2022-01-28 00:49:17 +00:00
Joe Darcy
78574057a4 8280744: Allow SuppressWarnings to be used in all declaration contexts
Reviewed-by: iris
2022-01-28 00:44:13 +00:00
Joe Darcy
40a2ce2033 8270476: Make floating-point test infrastructure more lambda and method reference friendly
Reviewed-by: bpb
2022-01-27 22:57:09 +00:00
Jonathan Gibbons
6d242e4065 8280835: jdk/javadoc/tool/CheckManPageOptions.java depends on source hierarchy
Reviewed-by: hannesw
2022-01-27 21:58:44 +00:00
Brian Burkhalter
ece89c6df1 8280366: (fs) Restore Files.createTempFile javadoc
Reviewed-by: alanb, lancea
2022-01-27 21:00:45 +00:00
Xin Liu
b94ebaa09c 8280686: Remove Compile::print_method_impl
Reviewed-by: neliasso, chagedorn, thartmann
2022-01-27 19:31:19 +00:00
Yumin Qi
a3a0dcd921 8280353: -XX:ArchiveClassesAtExit should print warning if base archive failed to load
Reviewed-by: iklam, ccheung
2022-01-27 18:58:49 +00:00
Thomas Stuefe
cab590517b 8280583: Always build NMT
Reviewed-by: shade, ihse, zgu
2022-01-27 09:18:17 +00:00
Thomas Schatzl
7f68759c60 8280719: G1: Remove outdated comment in RemoveSelfForwardPtrObjClosure::apply
Reviewed-by: ayang, mli
2022-01-27 09:06:13 +00:00
Prasanta Sadhukhan
94380d0e46 8278232: [macos] Wrong chars emitted when entering certain char-sequence of Indic language
Reviewed-by: prr
2022-01-27 08:59:34 +00:00
Roland Westrelin
0dba170791 8278518: String(byte[], int, int, Charset) constructor and String.translateEscapes() miss bounds check elimination
Co-authored-by: Sergey Tsypanov <stsypanov@openjdk.org>
Reviewed-by: kvn, jrose
2022-01-27 08:44:58 +00:00
Andrey Turbanov
2ea0edf2c4 8279673: AudioClip.play doesn't work due to NullPointerException when creating DataPusher
Reviewed-by: prr, serb
2022-01-27 07:00:56 +00:00
Jaikiran Pai
890830196d 8076089: Cleanup: Inline & remove sun.management.Util.newException
Reviewed-by: kevinw, amenkov, dfuchs, sspitsyn
2022-01-27 03:57:28 +00:00
Hai-May Chao
c2ee1b33c3 8273236: keytool does not accurately warn about algorithms that are disabled but have additional constraints
Reviewed-by: mullan
2022-01-26 20:31:04 +00:00
Chris Plummer
16e0ad0ad0 8270199: Most SA tests are skipped on macosx-aarch64 because all executables are signed
Reviewed-by: dholmes, kevinw
2022-01-26 18:06:05 +00:00
Alexandre Iline
d2a50a6492 8279636: Update JCov version to 3.0.12
Reviewed-by: alanb, erikj
2022-01-26 18:05:15 +00:00
Liam Miller-Cushon
b5de2cc9d3 8280546: Remove hard-coded 127.0.0.1 loopback address
Reviewed-by: mullan
2022-01-26 17:40:17 +00:00
Joe Darcy
0c42e43f77 8280550: SplittableRandom#nextDouble(double,double) can return result >= bound
Reviewed-by: jlaskey, psandoz
2022-01-26 17:25:30 +00:00
Jesper Wilhelmsson
a5a11f14b9 Merge 2022-01-26 17:24:17 +00:00
Jonathan Gibbons
b8365aa485 8268978: Document the javadoc software stack
Reviewed-by: hannesw
2022-01-26 17:10:45 +00:00
Kim Barrett
4b2370e576 8279294: NonblockingQueue::try_pop may improperly indicate queue is empty
Reviewed-by: iwalulya, tschatzl
2022-01-26 17:07:53 +00:00
Jonathan Gibbons
e1d8f55564 8280402: Add new convenience forms to HtmlTree
Reviewed-by: hannesw
2022-01-26 17:06:50 +00:00
stsypanov
f34f8d4d6a 8277983: Remove unused fields from sun.net.www.protocol.jar.JarURLConnection
Reviewed-by: dfuchs
2022-01-26 14:12:51 +00:00
Roman Kennke
a07e19d833 8278410: Improve argument processing around UseHeavyMonitors
Reviewed-by: rehn, dholmes
2022-01-26 11:05:30 +00:00
Emanuel Peter
ed0df2fa1f 8268033: compiler/intrinsics/bmi/verifycode/BzhiTestI2L.java fails with "fatal error: Not compilable at tier 3: CodeBuffer overflow"
Reviewed-by: kvn, neliasso, chagedorn
2022-01-26 10:12:22 +00:00
Matthias Baesken
c180070cb5 8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492
Reviewed-by: yan, joehw
2022-01-26 08:41:37 +00:00
Aleksey Shipilev
a24f44d17d 8280526: x86_32 Math.sqrt performance regression with -XX:UseSSE={0,1}
Reviewed-by: kvn, neliasso
2022-01-26 08:31:49 +00:00
Andrey Turbanov
e72eefd9f6 8280531: Remove unused DeferredCloseInputStream
Reviewed-by: bpb, rriggs, iris
2022-01-26 06:52:12 +00:00
Hamlin Li
2c64a7f2e3 8280374: G1: Remove unnecessary prev bitmap mark
Reviewed-by: tschatzl, ayang
2022-01-26 06:11:04 +00:00
Mandy Chung
a183bfb436 8280377: MethodHandleProxies does not correctly invoke default methods with varags
Reviewed-by: alanb
2022-01-26 01:24:15 +00:00
Maurizio Cimadamore
ef08e2c63b 8280592: Small javadoc tweaks to foreign API
Reviewed-by: psandoz
2022-01-26 01:12:37 +00:00
Vicente Romero
2eab86b513 8213905: reflection not working for type annotations applied to exception types in the inner class constructor
Reviewed-by: jlahoda
2022-01-26 00:33:10 +00:00
Joe Darcy
295c0474c4 8279242: Reflection newInstance() error message when constructor has no access modifiers could use improvement
Reviewed-by: iris, dholmes, mchung
2022-01-25 20:05:49 +00:00
Chris Plummer
841eae6f52 8269542: JDWP: EnableCollection support is no longer spec compliant after JDK-8255987
8258071: Fix for JDK-8255987 can be subverted with ObjectReference.EnableCollection

Reviewed-by: dholmes, pliden
2022-01-25 19:26:11 +00:00
Aleksey Shipilev
76fe03fe01 8280166: Extend java/lang/instrument/GetObjectSizeIntrinsicsTest.java test cases
Reviewed-by: sspitsyn, lmesnik
2022-01-25 19:23:02 +00:00
Aleksey Shipilev
cebaad1c94 8280041: Retry loop issues in java.io.ClassCache
Co-authored-by: Peter Levart <plevart@openjdk.org>
Reviewed-by: rkennke, rriggs, plevart
2022-01-25 19:22:07 +00:00
Joe Darcy
cbe8395ace 8280168: Add Objects.toIdentityString
Reviewed-by: alanb, mchung, rriggs, smarks
2022-01-25 18:15:37 +00:00
Brian Burkhalter
f4575e4052 8279946: (ch) java.nio.channels.FileChannel tryLock and write methods are missing @throws NonWritableChannelException
Reviewed-by: alanb
2022-01-25 18:02:18 +00:00
Thomas Schatzl
674a97b27e 8280396: G1: Full gc mark stack draining should prefer to make work available to other threads
Reviewed-by: sjohanss, ayang
2022-01-25 16:27:30 +00:00
Daniel Jeliński
fe77250fa4 8280414: Memory leak in DefaultProxySelector
Reviewed-by: dfuchs
2022-01-25 14:41:41 +00:00
Albert Mingkun Yang
496baada10 8280030: [REDO] Parallel: More precise boundary in ObjectStartArray::object_starts_in_range
Reviewed-by: sjohanss, tschatzl
2022-01-25 14:09:53 +00:00
Hamlin Li
4503d0431c 8280375: G1: Tighten mem region limit in G1RebuildRemSetHeapRegionClosure
Reviewed-by: tschatzl, ayang
2022-01-25 12:11:21 +00:00
Daniel Jeliński
36fbec78be 8280241: (aio) AsynchronousSocketChannel init fails in IPv6 only Windows env
Reviewed-by: dfuchs, alanb
2022-01-25 11:15:47 +00:00
Daniel Jeliński
28796cbd1d 8163921: HttpURLConnection default Accept header is malformed according to HTTP/1.1 RFC
Reviewed-by: dfuchs, michaelm
2022-01-25 11:10:51 +00:00
Lutz Schmidt
c43ce85f01 8278302: [s390] Implement fast-path for ASCII-compatible CharsetEncoders
Reviewed-by: mdoerr
2022-01-25 10:07:07 +00:00
Tobias Holenstein
1b14157677 8280274: Guard printing code of Compile::print_method in PRODUCT
Reviewed-by: thartmann, neliasso
2022-01-25 09:59:55 +00:00
Thomas Stuefe
2155afe2a8 8280503: Use allStatic.hpp instead of allocation.hpp where possible
Reviewed-by: dholmes, iklam
2022-01-25 09:15:11 +00:00
Thomas Schatzl
295b263fa9 8279241: G1 Full GC does not always slide memory to bottom addresses
Reviewed-by: iwalulya, ayang, sjohanss
2022-01-25 09:13:50 +00:00
Thomas Schatzl
b32774653f 8280384: Parallel: Remove VMThread specific ParCompactionManager
Reviewed-by: ayang, sjohanss
2022-01-25 09:12:18 +00:00
Andrey Turbanov
53804720a0 8280470: Confusing instanceof check in HijrahChronology.range
Reviewed-by: rriggs, naoto, dfuchs, iris
2022-01-25 08:08:17 +00:00
Zhengyu Gu
a59d717fd6 8280289: Enhance debug pp() command with NMT info
Reviewed-by: stuefe, iklam
2022-01-25 01:31:24 +00:00
David Holmes
f35df5bfb5 8280422: thread_from_jni_environment can never return NULL
Reviewed-by: shade, kbarrett
2022-01-25 01:22:48 +00:00
Ian Graves
e3076552ec 8280403: RegEx: String.split can fail with NPE in Pattern.CharPredicate::match
Reviewed-by: lancea, iris, naoto, rriggs
2022-01-24 22:21:22 +00:00
Jesper Wilhelmsson
52ddbe2dcd Merge 2022-01-24 21:53:27 +00:00
Joe Darcy
8e82d0021c 8280492: Use cross-module syntax for cross-module links
Reviewed-by: iris, serb, lancea, dfuchs, aivanov
2022-01-24 20:16:38 +00:00
Daniel Jeliński
a5416669a5 8280474: Garbage value passed to getLocaleInfoWrapper in HostLocaleProviderAdapter_md
Reviewed-by: naoto, alanb
2022-01-24 19:31:11 +00:00
Alexey Ivanov
a825a4a1db 8279861: Clarify 'rect' parameters and description of paintTabBorder method in BasicTabbedPaneUI
Reviewed-by: prr, psadhukhan
2022-01-24 18:35:53 +00:00
Alexey Ivanov
0b5c54be67 8279798: Javadoc for BasicTabbedPaneUI is inconsistent
Reviewed-by: prr, psadhukhan
2022-01-24 18:32:35 +00:00
Alexey Ivanov
acd98294c6 8279794: Fix typos in BasicScrollBarUI: Laysouts a vertical scroll bar
Reviewed-by: prr, psadhukhan
2022-01-24 18:31:43 +00:00
Alexey Ivanov
dae2226a53 8279795: Fix typo in BasicFileChooserUI: Constucts -> Constructs
Reviewed-by: prr, serb
2022-01-24 18:30:31 +00:00
Kim Barrett
1c7769d35b 8280437: Move G1BufferNodeList to gc/shared
Reviewed-by: sjohanss, iwalulya, mli
2022-01-24 17:23:14 +00:00
Kim Barrett
4b329addf1 8280496: Remove unused G1PageBasedVirtualSpace::pretouch_internal
Reviewed-by: tschatzl, sjohanss, mli
2022-01-24 17:08:50 +00:00
Angelos Bimpoudis
2b13341500 8036019: Insufficient alternatives listed in some errors produced by the parser
Reviewed-by: vromero
2022-01-24 15:09:17 +00:00
Dmitry Kulikov
d53d8bd708 8279315: Add Git support to update_copyright_year.sh script
Reviewed-by: erikj
2022-01-24 14:07:14 +00:00
Jan Lahoda
18c9cb0789 8280067: Incorrect code generated for unary - on char operand
Reviewed-by: jlaskey, vromero
2022-01-24 13:52:16 +00:00
Zhengyu Gu
44db4794d2 8280391: NMT: Correct NMT tag on CollectedHeap
Reviewed-by: kbarrett, tschatzl, mli
2022-01-24 13:34:37 +00:00
Harold Seigel
4501ddda7f 8214733: runtime/8176717/TestInheritFD.java timed out
Reviewed-by: lmesnik, coleenp, dcubed
2022-01-24 13:33:43 +00:00
Roman Kennke
afd2805ef2 8279534: Consolidate and remove oopDesc::klass_gap methods
Reviewed-by: shade, dholmes
2022-01-24 11:16:53 +00:00
Andrey Turbanov
f05ff99654 8280174: Possible NPE in Thread.dispatchUncaughtException
Reviewed-by: alanb
2022-01-24 11:10:16 +00:00
Dmitry Markov
7a0a6c95a5 8274751: Drag And Drop hangs on Windows
Reviewed-by: aivanov, prr, serb
2022-01-24 10:55:13 +00:00
Jie Fu
0567a84d49 8280457: Duplicate implementation of dprecision_rounding and dstore_rounding
Reviewed-by: vlivanov, shade
2022-01-24 10:52:15 +00:00
Julia Boes
ead9feccae 8280441: Missing "classpath exception" in several files from jdk.httpserver
Reviewed-by: alanb, dfuchs
2022-01-24 10:03:40 +00:00
Aleksey Shipilev
d1569111d7 8280459: Suspicious integer division in Hashtable.readHashtable
Reviewed-by: rriggs, bpb
2022-01-24 09:18:20 +00:00
Xin Liu
9bf6ffa19f 8279124: VM does not handle SIGQUIT during initialization
Reviewed-by: dholmes, stuefe
2022-01-24 05:05:07 +00:00
Jie Fu
30cd47d421 8280499: runtime/cds/appcds/TestDumpClassListSource.java fails on platforms without AppCDS custom class loaders support
Reviewed-by: iklam
2022-01-24 04:37:51 +00:00
Andrey Turbanov
54c9de26ab 8275918: Remove unused local variables in java.base security code
Reviewed-by: weijun
2022-01-22 13:56:51 +00:00
Calvin Cheung
b9ae77906e 8279675: CDS cannot handle non-existent JAR file in bootclassapth
Reviewed-by: iklam, minqi
2022-01-21 23:47:09 +00:00
Jonathan Gibbons
7d2ef9d984 8279179: Update nroff pages in JDK 18 before RC
Reviewed-by: iris, mchung
2022-01-21 23:18:37 +00:00
Joe Darcy
c1e4f3dd1b 8279397: Update --release 18 symbol information for JDK 18 build 32
Reviewed-by: iris, jlahoda
2022-01-21 18:55:25 +00:00
Yi-Fan Tsai
2920ce5487 8278036: Saving rscratch1 is optional in MacroAssembler::verify_heapbase
Reviewed-by: xliu, phh, coleenp
2022-01-21 18:09:17 +00:00
KIRIYAMA Takuya
6287ae3707 8277531: Print actual default stacksize on Windows thread logging
Reviewed-by: dholmes, stuefe
2022-01-21 13:36:29 +00:00
Hannes Wallnöfer
ab2c8d3c9b 8280393: Promote use of HtmlTree factory methods
Reviewed-by: jjg
2022-01-21 09:10:19 +00:00
Andrey Turbanov
47b1c51bbd 8277120: Use Optional.isEmpty instead of !Optional.isPresent in java.net.http
Reviewed-by: dfuchs
2022-01-21 08:53:37 +00:00
Roland Westrelin
19f877981e 8278784: C2: Refactor PhaseIdealLoop::remix_address_expressions() so it operates on longs
Reviewed-by: chagedorn, thartmann
2022-01-21 07:32:08 +00:00
Weijun Wang
6352c020c2 8280401: [sspi] gss_accept_sec_context leaves output_token uninitialized
Reviewed-by: valeriep
2022-01-21 03:16:08 +00:00
Yi-Fan Tsai
35ee0f38c6 8258814: Compilation logging crashes for thread suspension / debugging tests
Reviewed-by: xliu, phh
2022-01-20 23:46:26 +00:00
Daniel D. Daugherty
293fb46f7c 8280413: ProblemList jdk/jfr/event/oldobject/TestLargeRootSet.java on all X64 platforms
Reviewed-by: azvegint
2022-01-20 20:27:37 +00:00
Alexey Ivanov
2426d58e59 8278472: Invalid value set to CANDIDATEFORM structure
Reviewed-by: prr, naoto, serb
2022-01-20 20:12:11 +00:00
Quan Anh Mai
02390c79b1 8279282: [vectorapi] Matcher::supports_vector_comparison_unsigned is not needed on x86
Reviewed-by: kvn, sviswanathan, vlivanov
2022-01-20 18:24:53 +00:00
Andrey Turbanov
3419ff7ba7 8277535: Remove redundant Stream.distinct()/sorted() steps
Reviewed-by: prappo
2022-01-20 18:11:55 +00:00
Yumin Qi
d48279b0bf 8279009: CDS crashes when the source of an InstanceKlass is NULL
Reviewed-by: iklam, ccheung
2022-01-20 17:52:49 +00:00
Albert Mingkun Yang
9636502658 8279008: G1: Calculate BOT threshold on-the-fly during Object Copy phase
Reviewed-by: tschatzl, sjohanss
2022-01-20 17:18:54 +00:00
Xue-Lei Andrew Fan
0ea2b39035 8280363: Minor correction of ALPN specification in SSLParameters
Reviewed-by: dfuchs, mullan
2022-01-20 16:50:17 +00:00
Hannes Wallnöfer
ec8b6acff3 8234682: The order of @param in the generated docs should match the method signature
Reviewed-by: prappo
2022-01-20 16:17:08 +00:00
Harold Seigel
a4d201909c 8280178: Remove os:: API's that just call system API's
Reviewed-by: iklam, ccheung, dholmes
2022-01-20 13:10:33 +00:00
Albert Mingkun Yang
98b157a79a 8280146: Parallel: Remove time log tag
Reviewed-by: tschatzl, iwalulya
2022-01-20 12:33:16 +00:00
Julia Boes
20297deaeb 8280161: com/sun/net/httpserver/simpleserver/jwebserver/MaxRequestTimeTest.java fails with SSLException
Reviewed-by: dfuchs
2022-01-20 12:16:21 +00:00
Vladimir Ivanov
3f747368b9 8280123: C2: Infinite loop in CMoveINode::Ideal during IGVN
Reviewed-by: kvn, thartmann, chagedorn
2022-01-20 11:23:17 +00:00
Sergey Tsypanov
cf977e88ec 8276166: Remove dead code from MimeTable and MimeEntry
Reviewed-by: dfuchs
2022-01-20 09:14:49 +00:00
Zhiqiang Zang
0bf95a1a73 8279607: Existing optimization "~x+1" -> "-x" can be generalized to "~x+c" -> "(c-1)-x".
Reviewed-by: thartmann, kvn
2022-01-20 07:38:04 +00:00
Jaikiran Pai
e683d4ac8d 8279921: Dump the .class file in jlink debug mode for any failure during transform() of a plugin
Reviewed-by: mchung
2022-01-20 04:49:52 +00:00
Prasanta Sadhukhan
1022cbdf98 8280047: Broken link to Swing Connection document from javax.swing package docs
Reviewed-by: kcr, aivanov
2022-01-20 04:16:11 +00:00
Prasanta Sadhukhan
c4a624d463 8279894: javax/swing/JInternalFrame/8020708/bug8020708.java timeouts on Windows 11
Reviewed-by: serb, kizune
2022-01-20 04:13:50 +00:00
Jesper Wilhelmsson
4616c13c2f Merge 2022-01-20 01:18:38 +00:00
Weijun Wang
98d96a7707 8279796: Fix typo: Constucts -> Constructs
Reviewed-by: iris
2022-01-19 23:06:51 +00:00
Gerard Ziemski
d1efb0cc56 8267341: macos attempt_reserve_memory_at(arg1, arg2, true) failure
Reviewed-by: dcubed, dholmes
2022-01-19 22:34:54 +00:00
Erik Gahlin
6179e13b08 8266410: jdk/jfr/javaagent/TestLoadedAgent.java failed with "Mismatch in TestEvent count"
Reviewed-by: mgronlun
2022-01-19 22:23:51 +00:00
Alexandre Iline
5523ddebd5 8279641: Create manual JTReg tests for Swing accessibility
Reviewed-by: serb, prr
2022-01-19 21:02:08 +00:00
Liam Miller-Cushon
dac15efc1b 8280182: HotSpot Style Guide has stale link to chromium style guide
Reviewed-by: dholmes
2022-01-19 20:17:14 +00:00
Michael McMahon
03680bea1c 8280233: Temporarily disable Unix domain sockets in Windows PipeImpl
Reviewed-by: alanb
2022-01-19 19:48:37 +00:00
Alisen Chung
84fa0d8c7d 8190264: JScrollBar ignores its border when using macOS Mac OS X Aqua look and feel
Co-authored-by: Alexey Ivanov <aivanov@openjdk.org>
Reviewed-by: kizune, serb, aivanov
2022-01-19 19:12:35 +00:00
Jan Lahoda
be0538d7c8 8278834: Error "Cannot read field "sym" because "this.lvar[od]" is null" when compiling
Reviewed-by: vromero
2022-01-19 19:03:02 +00:00
Jonathan Gibbons
610a12904d 8268831: Improve javadoc tool handling of streams.
Reviewed-by: hannesw
2022-01-19 17:56:25 +00:00
Daniel D. Daugherty
f5de6fa799 8272058: 25 Null pointer dereference defect groups in 4 files
Reviewed-by: gziemski, coleenp, dlong
2022-01-19 17:37:36 +00:00
Erik Gahlin
e20c6bf972 8280189: JFR: TestPrintXML should print mismatching XML
Reviewed-by: mgronlun
2022-01-19 15:35:57 +00:00
Daniel Jelinski
b20b11cf82 8258240: make vscode-project on Windows generates jdk.code-workspace file with unescaped '\' in paths
Reviewed-by: erikj
2022-01-19 14:18:14 +00:00
Harold Seigel
96114315cf 8279936: Change shared code to use os:: system API's
Reviewed-by: dholmes, kbarrett
2022-01-19 13:51:23 +00:00
Albert Mingkun Yang
cc2f474c18 8280024: Parallel: Remove unnecessary region resizing methods in PSCardTable
Reviewed-by: tschatzl, mli
2022-01-19 12:02:42 +00:00
Matthias Baesken
8931c12258 8280157: wrong texts Falied in a couple of tests
Reviewed-by: egahlin, aivanov
2022-01-19 12:01:10 +00:00
Aleksey Shipilev
28e02fa2cb 8280234: AArch64 "core" variant does not build after JDK-8270947
Reviewed-by: adinn, aph
2022-01-19 12:01:05 +00:00
Emanuel Peter
68b40ec286 8273139: C2: assert(f <= 1 && f >= 0) failed: Incorrect frequency
Reviewed-by: thartmann, chagedorn, roland
2022-01-19 11:47:17 +00:00
Thomas Stuefe
39b1d75f25 8277822: Remove debug-only heap overrun checks in os::malloc and friends
Reviewed-by: coleenp, zgu
2022-01-19 11:16:00 +00:00
Andrey Turbanov
5af7f25814 8274811: Remove superfluous use of boxing in java.base
Reviewed-by: lancea
2022-01-19 10:59:40 +00:00
Martin Doerr
f37bfeadcf 8280155: [PPC64, s390] frame size checks are not yet correct
Reviewed-by: mbaesken, lucy
2022-01-19 08:28:31 +00:00
TejeshR13
44fe958c8a 6465404: some problems in CellEditor related API docs
Reviewed-by: psadhukhan, aivanov, kizune, serb, prr
2022-01-19 05:33:24 +00:00
Kim Barrett
69cfa9cb36 8273383: vmTestbase/vm/gc/containers/Combination05/TestDescription.java crashes verifying length of DCQS
Reviewed-by: tschatzl, sjohanss
2022-01-19 04:37:09 +00:00
Yumin Qi
b0496b0df6 8279970: two AppCDS tests fail after JDK-8261455
Reviewed-by: ccheung, iklam
2022-01-19 03:21:19 +00:00
sunguoyun
4eb4f94db0 8279956: Useless method Scheduling::ComputeLocalLatenciesForward()
Reviewed-by: jiefu, neliasso
2022-01-19 02:08:02 +00:00
Ioi Lam
4f4da3b172 8275318: loaded_classes_do may see ArrayKlass before InstanceKlass is loaded
Reviewed-by: coleenp, ccheung
2022-01-19 01:35:06 +00:00
Fei Gao
af6c9abafa 8279654: jdk/incubator/vector/Vector256ConversionTests.java crashes randomly with SVE
Reviewed-by: njian, kvn
2022-01-19 01:20:53 +00:00
Christian Hagedorn
6d3fd860d7 8278417: Closed test fails after JDK-8276108 on aarch64
Reviewed-by: kvn, iveresov, dlong
2022-01-18 23:35:36 +00:00
Jayathirth D V
82d6afe675 8274096: Improve decoding of image files
Reviewed-by: prr, kizune, rhalade, mschoene
2022-01-18 23:35:35 +00:00
Christian Hagedorn
3603e754ce 8274374: Additional fix for JDK-8272014
Reviewed-by: kvn, thartmann
2022-01-18 23:35:35 +00:00
Jayathirth D V
a6fd2c3114 8273838: Enhanced BMP processing
Reviewed-by: rhalade, ahgross, prr, kizune, azvegint, mschoene
2022-01-18 23:35:35 +00:00
Julia Boes
4525a4b94d 8270392: Improve String constructions
Reviewed-by: rhalade, dfuchs, robm, ahgross, smarks
2022-01-18 23:35:35 +00:00
Joe Wang
abf6fdd75a 8273968: JCK javax_xml tests fail in CI
Reviewed-by: naoto, lancea
2022-01-18 23:35:35 +00:00
Jayathirth D V
9c02c4c55f 8273756: Enhance BMP image support
Reviewed-by: prr, rhalade, kizune, mschoene
2022-01-18 23:35:35 +00:00
Alexander Zuev
12034273c7 8272462: Enhance image handling
Reviewed-by: jdv, ahgross, rhalade, prr
2022-01-18 23:35:35 +00:00
Weijun Wang
4d3663a6d0 8272026: Verify Jar Verification
Reviewed-by: rhalade, valeriep, mschoene
2022-01-18 23:35:35 +00:00
Christian Hagedorn
cb7482d5bd 8272014: Better array indexing
Reviewed-by: thartmann, rhalade, ahgross, kvn
2022-01-18 23:35:35 +00:00
Alexander Zuev
ae7877df2e 8273290: Enhance sound handling
Reviewed-by: rhalade, ahgross, prr, jdv
2022-01-18 23:35:34 +00:00
Joe Wang
78b2c8419b 8270492: Better resolution of URIs
Reviewed-by: lancea, naoto, ahgross, rhalade
2022-01-18 23:35:34 +00:00
Roger Riggs
3adc111766 8272236: Improve serial forms for transport
Reviewed-by: bchristi, rhalade, smarks
2022-01-18 23:35:34 +00:00
Ian Graves
aa28430bdd 8268813: Better String matching
Reviewed-by: mschoene, rhalade, smarks
2022-01-18 23:35:34 +00:00
Harold Seigel
4be02d3155 8271987: Manifest improved manifest entries
Reviewed-by: rhalade, dholmes
2022-01-18 23:35:34 +00:00
Julia Boes
5832a34404 8270416: Enhance construction of Identity maps
Reviewed-by: dfuchs, chegar, rhalade, ahgross, smarks, robm
2022-01-18 23:35:34 +00:00
Anthony Scarpino
6b6f829b46 8269151: Better construction of EncryptedPrivateKeyInfo
Reviewed-by: jnimeh, mschoene, rhalade
2022-01-18 23:35:34 +00:00
Vladimir Ivanov
c372990f5f 8268494: Better inlining of inlined interfaces
Reviewed-by: thartmann, jcm, ahgross, rhalade
2022-01-18 23:35:34 +00:00
Kevin Walls
518160353a 8272272: Enhance jcmd communication
Reviewed-by: amenkov
2022-01-18 23:35:33 +00:00
Phil Race
afd0dc76b6 8271962: Better TrueType font loading
Reviewed-by: psadhukhan, jdv, mschoene, rhalade
2022-01-18 23:35:33 +00:00
Joe Wang
b02ea6dc3c 8270646: Improved scanning of XML entities
Reviewed-by: naoto, lancea, mschoene, rhalade
2022-01-18 23:35:33 +00:00
Ioi Lam
fa47c368d4 8270386: Better verification of scan methods
Reviewed-by: hseigel, coleenp, mschoene, rhalade
2022-01-18 23:35:33 +00:00
Phil Race
9a94fbc793 8270952: Improve TIFF file handling
Reviewed-by: jdv, psadhukhan, mschoene, rhalade
2022-01-18 23:35:33 +00:00
Harold Seigel
1fddb03d93 8271968: Better canonical naming
Reviewed-by: coleenp, lfoltan, mschoene, ahgross
2022-01-18 23:35:33 +00:00
Joe Wang
7ee905a8a0 8270498: Improve SAX Parser configuration management
Reviewed-by: ahgross, lancea, rhalade, naoto
2022-01-18 23:35:33 +00:00
Hai-May Chao
e069a3b8bf 8268512: More content for ContentInfo
Reviewed-by: ahgross, weijun, rhalade
2022-01-18 23:35:33 +00:00
Valerie Peng
f18deeb69e 8268488: More valuable DerValues
Reviewed-by: weijun, ahgross, rhalade
2022-01-18 23:35:32 +00:00
Patrick Concannon
29f61b3b0a 8269944: Better HTTP transport redux
Reviewed-by: dfuchs, chegar, rhalade, ahgross
2022-01-18 23:35:32 +00:00
Roger Riggs
feff0e5578 8264934: Enhance cross VM serialization
Reviewed-by: smarks, rhalade, chegar
2022-01-18 23:35:32 +00:00
John Jiang
3a421e4b78 8280122: SupportedGroupsExtension should output "named groups" rather than "versions"
Reviewed-by: weijun, xuelei
2022-01-18 22:40:14 +00:00
Coleen Phillimore
1a20628757 8248404: AArch64: Remove uses of long and unsigned long
Reviewed-by: kbarrett
2022-01-18 21:56:40 +00:00
Chris Plummer
46fd683820 8176567: nsk/jdi/ReferenceType/instances/instances002: TestFailure: Unexpected size of referenceType.instances(nsk.share.jdi.TestInterfaceImplementer1): 11, expected: 10
Reviewed-by: sspitsyn, amenkov
2022-01-18 19:31:16 +00:00
Claes Redestad
e314a4cfda 8280124: Reduce branches decoding latin-1 chars from UTF-8 encoded bytes
Reviewed-by: rriggs, alanb, naoto
2022-01-18 19:28:12 +00:00
Chris Plummer
bdfa15d92c 8250801: Add clhsdb "threadcontext" command
Reviewed-by: sspitsyn, kevinw
2022-01-18 19:21:13 +00:00
Chris Plummer
fd9fb9a4af 8279194: Add Annotated Memory Viewer feature to SA's HSDB
Reviewed-by: sspitsyn, ysuenaga
2022-01-18 19:20:20 +00:00
Aleksandr Veselov
20ef954158 8279227: Access Bridge: Wrong frame position and hit test result on HiDPI display
Reviewed-by: ant, kizune, aivanov
2022-01-18 18:51:58 +00:00
Masanori Yano
848b16a3f9 8272746: ZipFile can't open big file (NegativeArraySizeException)
Reviewed-by: lancea
2022-01-18 18:20:57 +00:00
Erik Gahlin
b734dc86ee 8280055: JFR: Improve ObjectContext implementation
Reviewed-by: mgronlun
2022-01-18 17:57:12 +00:00
Erik Gahlin
7acc4c7dfe 8280058: JFR: StreamUtils::getJfrRepository(Process) should print stdout and stderr
Reviewed-by: mgronlun
2022-01-18 17:14:42 +00:00
Erik Gahlin
bd35f9740d 8278628: jdk/jfr/jmx/streaming/TestMaxSize.java Expected only one or two chunks
Reviewed-by: mgronlun
2022-01-18 16:55:06 +00:00
Nils Eliasson
88a8b239aa 8280076: Unify IGV and IR printing
Reviewed-by: chagedorn, thartmann, vlivanov
2022-01-18 16:48:37 +00:00
Vicente Romero
9e3f68d8f4 8279290: symbol not found error, implicit lambdas and diamond constructor invocations
Reviewed-by: jlahoda
2022-01-18 15:50:22 +00:00
Andrey Turbanov
9eb50a5ee4 8280010: Remove double buffering of InputStream for Properties.load
Reviewed-by: amenkov, sspitsyn, serb
2022-01-18 15:49:03 +00:00
Andrew Haley
64c0c0e109 8276563: Undefined Behaviour in class Assembler
Reviewed-by: jvernee, stuefe
2022-01-18 15:27:18 +00:00
Albert Mingkun Yang
d175d33f44 8280079: Serial: Remove empty Generation::prepare_for_verify
Reviewed-by: tschatzl, iwalulya
2022-01-18 14:53:42 +00:00
Aleksey Shipilev
1725f77bcd 8280029: G1: "Overflow during reference processing, can not continue" on x86_32
Reviewed-by: tschatzl, ayang
2022-01-18 14:40:39 +00:00
Markus Grönlund
e38df21641 8256291: RunThese30M fails "assert(_class_unload ? true : ((((JfrTraceIdBits::load(class_loader_klass)) & ((1 << 4) << 8)) != 0))) failed: invariant"
Reviewed-by: egahlin
2022-01-18 13:16:51 +00:00
Aleksey Shipilev
645b38d586 8280089: compiler/c2/irTests/TestIRAbs.java fails on some arches
Reviewed-by: jiefu, thartmann, chagedorn, fgao
2022-01-18 12:13:44 +00:00
Hamlin Li
eb9499535c 8280070: G1: Fix template parameters in G1SegmentedArraySegment
Reviewed-by: ayang, tschatzl
2022-01-18 09:16:24 +00:00
Masanori Yano
9452262652 8278892: java.naming module description is missing @uses tags to document the services that it uses
Reviewed-by: aefimov, alanb
2022-01-18 09:04:09 +00:00
Nils Eliasson
48c5f3c715 8280026: Cleanup of IGV printing
Reviewed-by: chagedorn, thartmann
2022-01-18 07:58:11 +00:00
Jesper Wilhelmsson
39f140a201 Merge 2022-01-18 01:56:50 +00:00
Jesper Wilhelmsson
37143c09ab Merge 2022-01-18 01:10:17 +00:00
David Holmes
262f2efd6c 8280059: Incorrect glibc version is used in a comment in os_linux.cpp
Reviewed-by: jiefu
2022-01-18 00:47:27 +00:00
Ana Marsh
7b6738fa02 8278885: Remove Windows ARM64 int8_t workaround in G1
Reviewed-by: erikj, tschatzl, mli
2022-01-17 16:36:43 +00:00
Hamlin Li
5d52bf9987 8279910: G1: Simplify HeapRegionRemSet::add_reference
Reviewed-by: tschatzl, ayang
2022-01-17 14:33:23 +00:00
Albert Mingkun Yang
3edcb13272 8280018: Remove obsolete VM_GenCollectFullConcurrent
Reviewed-by: tschatzl
2022-01-17 13:17:24 +00:00
Claes Redestad
9e536b6470 8280032: Update jib-profiles.js to use JMH 1.34 devkit
Reviewed-by: erikj, iris
2022-01-17 11:03:10 +00:00
Claes Redestad
71ca85f5a6 8278831: Use table lookup for the last two bytes in Integer.getChars
Reviewed-by: jlaskey, rriggs
2022-01-17 11:01:55 +00:00
Albert Mingkun Yang
431bd9a66d 8280001: Serial: Add documentation to heap memory layout
Reviewed-by: mli, sjohanss, tschatzl
2022-01-17 08:56:40 +00:00
Aleksey Shipilev
4d9b3f4cee 8279998: PPC64 debug builds fail with "untested: RangeCheckStub: predicate_failed_trap_id"
Reviewed-by: goetz, mdoerr
2022-01-17 08:20:23 +00:00
Aleksey Shipilev
a30aa52b77 8279958: Provide configure hints for Alpine/apk package managers
Reviewed-by: erikj
2022-01-17 08:19:08 +00:00
Aleksey Shipilev
590eb86033 8280016: gc/g1/TestShrinkAuxiliaryData30 test fails on large machines
Reviewed-by: tschatzl, ayang
2022-01-17 08:17:49 +00:00
Fei Gao
c6196662b8 8276673: Optimize abs operations in C2 compiler
Reviewed-by: thartmann, jiefu
2022-01-17 02:16:45 +00:00
Erik Gahlin
fef8f2d300 8279797: JFR: Show .jfc options in JFR.start help
Reviewed-by: mgronlun
2022-01-15 07:01:55 +00:00
Mikael Vidstedt
9a18190a4f 8280048: Missing comma in copyright header
Reviewed-by: prr
2022-01-15 03:20:34 +00:00
Masanori Yano
22b7295e75 7001973: java/awt/Graphics2D/CopyAreaOOB.java fails
Reviewed-by: serb
2022-01-15 02:17:46 +00:00
Jie Fu
9b0f689557 8279947: Remove two redundant gvn.transform calls in Parse::do_one_bytecode()
Reviewed-by: kvn
2022-01-14 23:13:05 +00:00
Daniel D. Daugherty
eab4e6d670 8280045: ProblemList 2 AppCDS tests until JDK-8279970 is fixed
Reviewed-by: ccheung
2022-01-14 22:24:39 +00:00
Weijun Wang
0d1a97f793 8279064: New options for ktab to provide non-default salt
Reviewed-by: valeriep
2022-01-14 20:44:22 +00:00
Thomas Stuefe
c359c358c8 8280002: jmap -histo may leak stream
Reviewed-by: shade, sspitsyn
2022-01-14 19:40:10 +00:00
Daniel D. Daugherty
09d61b6187 8280034: ProblemList jdk/jfr/api/consumer/recordingstream/TestOnEvent.java on linux-x64
Reviewed-by: ccheung
2022-01-14 17:49:54 +00:00
Brian Burkhalter
fb8fdc0fbf 8279990: (fs) Awkward verbiage in description of Files.createTempFile(Path,String,String,FileAttribute)
Reviewed-by: lancea
2022-01-14 17:47:35 +00:00
Thomas Stuefe
d9dd485b95 8280019: Remove unused code from metaspace
Reviewed-by: coleenp, hseigel
2022-01-14 16:17:48 +00:00
Christian Hagedorn
cf283e2a33 8279570: IGV: Add source/destination property for load and store nodes with an associated field
Reviewed-by: kvn, thartmann
2022-01-14 16:17:01 +00:00
Pavel Rappo
f180530935 8279918: Fix various doc typos
Reviewed-by: kevinw, lancea, mullan, sspitsyn, naoto, jlahoda, azvegint, egahlin, jjg
2022-01-14 16:10:14 +00:00
Albert Mingkun Yang
ac98b22040 8280028: [BACKOUT] Parallel: More precise boundary in ObjectStartArray::object_starts_in_range
Reviewed-by: sjohanss
2022-01-14 15:54:31 +00:00
Sean Mullan
61b8944327 8278851: Correct signer logic for jars signed with multiple digestalgs
Reviewed-by: coffeys, weijun
2022-01-14 15:22:31 +00:00
Harold Seigel
35734ad080 8279545: Buffer overrun in reverse_words of sharedRuntime_x86_64.cpp:3517
Reviewed-by: coleenp, lfoltan
2022-01-14 14:41:12 +00:00
Erik Gahlin
e8f494cd5f 8279825: JFR: JFCModel shouldn't need FilePermission to read predefined .jfc files
Reviewed-by: mgronlun
2022-01-14 14:31:42 +00:00
Martin Doerr
c809d34f9e 8279924: [PPC64, s390] implement frame::is_interpreted_frame_valid checks
Reviewed-by: rrich, mbaesken
2022-01-14 14:12:38 +00:00
Johannes Bechberger
4b520f0001 8279702: [macosx] ignore xcodebuild warnings on M1
Reviewed-by: goetz, erikj
2022-01-14 13:53:53 +00:00
Julia Boes
9f30ec174f 8278398: jwebserver: Add test to confirm maximum request time
Reviewed-by: dfuchs, michaelm
2022-01-14 12:48:03 +00:00
Albert Mingkun Yang
dd76a28d44 8280000: Remove unused CardTable::find_covering_region_containing
Reviewed-by: tschatzl, sjohanss
2022-01-14 12:35:51 +00:00
Maurizio Cimadamore
c6b027559c 8279930: Synthetic cast causes generation of store barriers when using heap segments
Reviewed-by: psandoz
2022-01-14 11:15:16 +00:00
Matthias Baesken
84976b4531 8278549: UNIX sun/font coding misses SUSE distro detection on recent distro SUSE 15
Reviewed-by: mdoerr, lucy
2022-01-14 09:51:15 +00:00
Albert Mingkun Yang
965c64bca7 8279699: Parallel: More precise boundary in ObjectStartArray::object_starts_in_range
Reviewed-by: sjohanss, mli
2022-01-14 07:47:08 +00:00
Hao Sun
45f20633f6 8279597: [TESTBUG] ReturnBlobToWrongHeapTest.java fails with -XX:TieredStopAtLevel=1 on machines with many cores
Reviewed-by: kvn
2022-01-13 23:56:27 +00:00
Naoto Sato
064ee6ae13 8278434: timeouts in test java/time/test/java/time/format/TestZoneTextPrinterParser.java
Backport-of: 8dc4437d00
2022-01-13 22:05:52 +00:00
Ioi Lam
35172cdaf3 8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10
Reviewed-by: hseigel, sgehwolf
2022-01-13 18:28:03 +00:00
Patricio Chilano Mateo
237f861e82 8273143: Transition to _thread_in_vm when handling a polling page exception
Reviewed-by: rehn, dcubed, coleenp, rrich
2022-01-13 17:49:01 +00:00
Daniel Jelinski
9209e6d6ae 8279877: Document IDEA IDE setup in docs/ide.md
Reviewed-by: lancea, erikj
2022-01-13 16:17:50 +00:00
Weijun Wang
0a839b434b 8279801: EC KeyFactory and KeyPairGenerator do not have aliases for OID format
Reviewed-by: xuelei, valeriep
2022-01-13 15:26:41 +00:00
Claes Redestad
ff85659311 8279833: Loop optimization issue in String.encodeUTF8_UTF16
Reviewed-by: rriggs
Backport-of: c3d0a94040
2022-01-13 15:25:16 +00:00
Daniel Jelinski
6fcaa322d9 8262442: (windows) Use all proxy configuration sources when java.net.useSystemProxies=true
Reviewed-by: dfuchs
2022-01-13 14:41:55 +00:00
Jaikiran Pai
c17a0122c4 8278961: Enable debug logging in java/net/DatagramSocket/SendDatagramToBadAddress.java
Reviewed-by: dfuchs, msheppar
2022-01-13 13:23:57 +00:00
Erik Gahlin
b61a4af719 8259774: Deprecate -XX:FlightRecorderOptions:samplethreads
Reviewed-by: mgronlun
2022-01-13 09:46:33 +00:00
Kevin Walls
6933934633 8278597: Remove outdated comments regarding RMISecurityManager in HotSpotAgent.java
Reviewed-by: rriggs, sspitsyn
2022-01-13 09:29:05 +00:00
Aleksey Shipilev
14a90e536b 8279370: jdk.jpackage/share/native/applauncher/JvmLauncher.cpp fails to build with GCC 6.3.0
Reviewed-by: almatvee, asemenyuk
2022-01-13 08:51:35 +00:00
Thomas Schatzl
33814791d9 8274007: [REDO] VM Exit does not abort concurrent mark
Reviewed-by: sjohanss, iwalulya
2022-01-13 08:42:17 +00:00
Christian Hagedorn
65eb066b63 8279837: C2: assert(is_Loop()) failed: invalid node class: Region
Reviewed-by: kvn, thartmann
2022-01-13 07:13:22 +00:00
John Jiang
4851948059 8279903: Redundant modulo operation in ECDHKeyAgreement
Reviewed-by: weijun, xuelei
2022-01-13 02:16:50 +00:00
Jesper Wilhelmsson
67e3d51d68 Merge 2022-01-13 01:05:45 +00:00
Weijun Wang
cb25029885 8279800: isAssignableFrom checks in AlgorithmParametersSpi.engineGetParameterSpec appear to be backwards
Reviewed-by: xuelei, valeriep
2022-01-13 00:42:00 +00:00
Yumin Qi
1228b2f1f8 8261455: Automatically generate the CDS archive if necessary
Reviewed-by: iklam, ccheung
2022-01-13 00:23:05 +00:00
Ludvig Janiuk
d70545d710 8258603: c1 IR::verify is expensive
Reviewed-by: chagedorn, kvn
2022-01-12 19:24:52 +00:00
Naoto Sato
0a094d7c28 8268081: Upgrade Unicode Data Files to 14.0.0
Reviewed-by: joehw, iris, lancea
2022-01-12 19:17:18 +00:00
Patric Hedlin
ddddec7d74 8274243: Implement fast-path for ASCII-compatible CharsetEncoders on aarch64
Reviewed-by: neliasso, redestad
2022-01-12 15:30:54 +00:00
Roman Kennke
8fed8ab29c 8278065: Refactor subclassAudits to use ClassValue
Reviewed-by: rriggs, plevart
2022-01-12 13:47:25 +00:00
Harold Seigel
f54ce84474 8238161: use os::fopen in HS code where possible
Reviewed-by: mbaesken, coleenp
2022-01-12 13:11:16 +00:00
Jaikiran Pai
ff0cb98965 8279536: jdk/nio/zipfs/ZipFSOutputStreamTest.java timed out
Reviewed-by: lancea
2022-01-12 12:58:17 +00:00
Sergey Tsypanov
ece98d859d 8278461: Use Executable.getSharedParameterTypes() instead of Executable.getParameterTypes() in trusted code
Reviewed-by: redestad
2022-01-12 10:16:37 +00:00
Aleksey Shipilev
525b20fce0 8279676: Dubious YMM register clearing in x86_64 arraycopy stubs
Reviewed-by: kvn, vlivanov, neliasso
2022-01-12 08:32:08 +00:00
Albert Mingkun Yang
4f0b65023f 8278581: Improve reference processing statistics log output
Reviewed-by: tschatzl, kbarrett, sjohanss
2022-01-12 08:28:51 +00:00
Emanuel Peter
bd339aa6c0 8277627: Fix copyright years in some jvmci files
Reviewed-by: kvn, thartmann
2022-01-12 08:17:14 +00:00
Masanori Yano
319d23033f 8277463: JFileChooser with Metal L&F doesn't show non-canonical UNC path in - Look in
Reviewed-by: psadhukhan
2022-01-12 06:57:36 +00:00
TejeshR13
13bfb49725 6496103: isFileHidingEnabled return false by default
Reviewed-by: serb, aivanov, prr
2022-01-12 05:38:07 +00:00
Erik Gahlin
f16f6a95df 8279821: JFR: Log warnings properly when loading a misconfigured .jfc file
Reviewed-by: mgronlun
2022-01-12 05:16:36 +00:00
Jie Fu
1c688f4137 8279900: compiler/vectorization/TestPopCountVectorLong.java fails due to vpopcntdq is not supported
Reviewed-by: kvn
2022-01-12 03:55:00 +00:00
Masanori Yano
3aaa0982d8 8276694: Pattern trailing unescaped backslash causes internal error
Reviewed-by: jlaskey
2022-01-11 22:37:15 +00:00
Mikael Vidstedt
36f41cbe11 8279884: Use better file for cygwin source permission check
Reviewed-by: erikj
2022-01-11 22:34:24 +00:00
Vamsi Parasa
c4518e257c 8278868: Add x86 vectorization support for Long.bitCount()
Reviewed-by: jbhateja, sviswanathan, kvn
2022-01-11 18:47:42 +00:00
Albert Mingkun Yang
67141849d9 8279700: Parallel: Simplify ScavengeRootsTask constructor API
Reviewed-by: tschatzl, sjohanss
2022-01-11 16:18:06 +00:00
Liam Miller-Cushon
cfee4512f7 8273914: Indy string concat changes order of operations
Reviewed-by: vromero, jlahoda
2022-01-11 15:45:15 +00:00
Claes Redestad
c3d0a94040 8279833: Loop optimization issue in String.encodeUTF8_UTF16
Reviewed-by: shade, alanb
2022-01-11 14:49:03 +00:00
Pavel Rappo
5aecb37211 8206181: ExceptionInInitializerError: improve handling of exceptions in user-provided taglets
Reviewed-by: jjg
2022-01-11 14:28:03 +00:00
Andrew Leonard
9e0244762c 8279834: Alpine Linux fails to build when --with-source-date enabled
Reviewed-by: erikj
2022-01-11 14:21:31 +00:00
Albert Mingkun Yang
08e14c605e 8278207: G1: Tighten verification in G1ResetSkipCompactingClosure
Reviewed-by: tschatzl, sjohanss
2022-01-11 14:04:52 +00:00
Harold Seigel
c08b2ac34c 8225093: Special property jdk.boot.class.path.append should not default to empty string
Reviewed-by: dholmes, sspitsyn, alanb
2022-01-11 13:43:13 +00:00
Zdenek Zambersky
4c52eb3943 8279669: test/jdk/com/sun/jdi/TestScaffold.java uses wrong condition
Reviewed-by: amenkov, sspitsyn
2022-01-11 13:14:48 +00:00
Erik Gahlin
d46410c553 8279785: JFR: 'jfr configure' should show default values
Reviewed-by: mgronlun
2022-01-11 13:04:20 +00:00
Aleksey Shipilev
2bbeae3f05 8279668: x86: AVX2 versions of vpxor should be asserted
Reviewed-by: kvn, jiefu
2022-01-11 10:28:47 +00:00
Fairoz Matte
86d0abb66b 8279695: [TESTBUG] modify compiler/loopopts/TestSkeletonPredicateNegation.java to run on C1 also
Reviewed-by: neliasso
2022-01-11 09:39:39 +00:00
Thomas Schatzl
3121898c33 8279703: G1: Remove unused force_not_compacted local in G1CalculatePointersClosure::do_heap_region
Reviewed-by: ayang, mli
2022-01-11 08:39:54 +00:00
Emanuel Peter
bf7bcaacaa 8277748: Obsolete the MinInliningThreshold flag in JDK 19
Reviewed-by: kvn, thartmann
2022-01-11 08:32:40 +00:00
Tobias Hartmann
6d7db4b0b3 8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist!
Reviewed-by: chagedorn, kvn, coleenp
2022-01-11 06:59:26 +00:00
Wang Huang
126328cb62 8279560: AArch64: generate_compare_long_string_same_encoding and LARGE_LOOP_PREFETCH alignment
Co-authored-by: Wang Huang <whuang@openjdk.org>
Reviewed-by: shade, aph
2022-01-11 06:40:46 +00:00
Erik Gahlin
ec5a455efb 8279682: JFR: Remove dead code
Reviewed-by: mgronlun
2022-01-11 05:49:21 +00:00
Erik Gahlin
6504458d87 8279647: JFR: Unclosed directory stream
Reviewed-by: mgronlun
2022-01-11 04:39:39 +00:00
Erik Gahlin
2f13872d51 8279646: JFR: Remove recursive call in jdk.jfr.internal.Control
Reviewed-by: mgronlun
2022-01-11 02:51:53 +00:00
Yasumasa Suenaga
2f7665b829 8279644: hsdis may not work when it was built with --with-binutils=system
Reviewed-by: erikj
2022-01-11 00:21:20 +00:00
Roman Kennke
92307e5a94 8278489: Preserve result in native wrapper with +UseHeavyMonitors
Reviewed-by: shade, kvn
2022-01-10 20:47:23 +00:00
Hao Sun
bbc1ddb474 8278267: ARM32: several vector test failures for ASHR
Reviewed-by: njian, dlong
2022-01-10 20:46:28 +00:00
Erik Gahlin
4471e95174 8279645: JFR: The cacheEventType in Dispatcher is never assigned
Reviewed-by: mgronlun
2022-01-10 19:52:26 +00:00
Erik Gahlin
d7e6e9bd0b 8279643: JFR: Explain why path is sometimes missing from FileRead and FileWrite events
Reviewed-by: mgronlun
2022-01-10 18:58:16 +00:00
Erik Gahlin
0d190961f2 8279642: JFR: Remove unnecessary creation of Duration and Instant objects
Reviewed-by: mgronlun
2022-01-10 18:41:39 +00:00
Jesper Wilhelmsson
d9b1bb5860 Merge 2022-01-10 17:06:23 +00:00
Andrey Turbanov
dee447f8ae 8274809: Update java.base classes to use try-with-resources
Reviewed-by: mullan, alanb, dfuchs
2022-01-10 16:20:58 +00:00
Erik Gahlin
40df5df95e 8279398: jdk/jfr/api/recording/time/TestTimeMultiple.java failed with "RuntimeException: getStopTime() > afterStop"
Reviewed-by: mgronlun
2022-01-10 15:07:49 +00:00
Andrey Turbanov
debaa28e9c 8274679: Remove unnecessary conversion to String in security code in java.base
Reviewed-by: weijun
2022-01-10 15:02:57 +00:00
Coleen Phillimore
76477f8cdb 8142362: Lots of code duplication in Copy class
Reviewed-by: kvn, hseigel
2022-01-10 14:34:04 +00:00
Harold Seigel
11d88ce82e 8218857: Confusing overloads for os::open
Reviewed-by: kbarrett, rehn
2022-01-10 13:57:45 +00:00
Vladimir Ivanov
ad34f03b54 8279515: C1: No inlining through invokedynamic and invokestatic call sites when resolved class is not linked
Reviewed-by: kvn, dlong
2022-01-10 13:56:01 +00:00
Harold Seigel
4ff6720573 8183227: read/write APIs in class os shall return ssize_t
Reviewed-by: fparain, rehn
2022-01-10 13:18:41 +00:00
Fairoz Matte
928e347736 8279032: compiler/loopopts/TestSkeletonPredicateNegation.java times out with -XX:TieredStopAtLevel < 4
Reviewed-by: chagedorn, thartmann
2022-01-10 12:36:05 +00:00
Hannes Wallnöfer
354c904798 8273452: DocTrees.getDocCommentTree should be specified as idempotent
Reviewed-by: jjg
2022-01-10 12:04:01 +00:00
Sergey Nazarkin
6613ce64d7 8279300: [arm32] SIGILL when running GetObjectSizeIntrinsicsTest
Reviewed-by: shade
2022-01-10 11:54:15 +00:00
Matthias Baesken
06b4d494bf 8278344: sun/security/pkcs12/KeytoolOpensslInteropTest.java test fails because of different openssl output
Backport-of: 8b5ff4bdff
2022-01-10 11:41:14 +00:00
Tobias Holenstein
1f101b04f4 8278329: some TraceDeoptimization code not included in PRODUCT build
Reviewed-by: dnsimon, kvn, never, thartmann
2022-01-10 10:50:07 +00:00
Jan Lahoda
8f969a1362 8278930: javac tries to compile a file twice via PackageElement.getEnclosedElements
Reviewed-by: vromero
2022-01-10 09:30:55 +00:00
Albert Mingkun Yang
79b614cc19 8279523: Parallel: Remove unnecessary PSScavenge::_to_space_top_before_gc
Reviewed-by: kbarrett, mli
2022-01-10 08:57:23 +00:00
Albert Mingkun Yang
5fa13bb4a3 8279522: Serial: Remove unused Generation::clear_remembered_set
Reviewed-by: iwalulya, mli
2022-01-10 08:56:34 +00:00
Jan Lahoda
642ab34a60 8278373: JavacTrees.searchMethod finds incorrect match
Reviewed-by: vromero, jjg
2022-01-10 08:33:46 +00:00
Aleksey Shipilev
4aefd8b8b6 8279528: Unused TypeEnter.diag after JDK-8205187
Reviewed-by: vromero
2022-01-10 08:30:39 +00:00
Christian Hagedorn
2f8a2fd077 8279568: IGV: Add bci and line number property for OSR compilations
Reviewed-by: kvn, roland
2022-01-10 08:17:36 +00:00
Roland Westrelin
8d1a1e83f4 8278228: C2: Improve identical back-to-back if elimination
Reviewed-by: chagedorn, kvn
2022-01-10 07:52:18 +00:00
Doug Simon
e14fb4f4aa 8279437: [JVMCI] exception in HotSpotJVMCIRuntime.translate can exit the VM
Reviewed-by: kvn
2022-01-08 21:47:54 +00:00
Sergey Bylokhov
77757ba974 8225122: Test AncestorResized.java fails when Windows desktop is scaled.
Reviewed-by: kizune, aivanov
2022-01-08 01:03:34 +00:00
Sergey Bylokhov
f203723fc7 8279337: The MToolkit is still referenced in a few places
Reviewed-by: prr
2022-01-08 01:02:37 +00:00
Ioi Lam
d47af74e4c 8279500: Remove FileMapHeader::_heap_obj_roots
Reviewed-by: minqi, ccheung
2022-01-07 18:38:47 +00:00
Maurizio Cimadamore
d65c665839 8279527: Dereferencing segments backed by different scopes leads to pollution
Reviewed-by: psandoz, jvernee
2022-01-07 13:41:29 +00:00
Zhengyu Gu
4243f4c998 8279540: Shenandoah: Should only clear CLD::_claim_strong mark for strong CLD iterations
Reviewed-by: shade
2022-01-07 13:33:43 +00:00
Ioi Lam
967ef0c482 8278020: ~13% variation in Renaissance-Scrabble
Backport-of: 4ba980ba43
2022-01-07 05:30:20 +00:00
Quan Anh Mai
62d03c2836 8279547: [vectorapi] Enable vector cast tests after JDK-8278948
Reviewed-by: kvn
2022-01-07 03:22:34 +00:00
Jie Fu
6a42fbaf9b 8279258: Auto-vectorization enhancement for two-dimensional array operations
Reviewed-by: neliasso, kvn
2022-01-07 00:04:51 +00:00
Weijun Wang
8d0f385fd0 8279520: SPNEGO has not passed channel binding info into the underlying mechanism
Reviewed-by: mullan, valeriep
2022-01-06 22:02:55 +00:00
Phil Race
b3dbfc6452 4884570: StreamPrintService.isAttributeValueSupported does not work properly for SheetCollate
Reviewed-by: serb
2022-01-06 19:06:33 +00:00
Jatin Bhateja
8703f14808 8273322: Enhance macro logic optimization for masked logic operations.
Reviewed-by: kvn, sviswanathan
2022-01-06 18:41:06 +00:00
Fairoz Matte
7c792f27a8 8279333: Some JFR tests do not accept 'GCLocker Initiated GC' as a valid GC Cause
Reviewed-by: egahlin
2022-01-06 14:20:45 +00:00
Aleksey Shipilev
bc12381105 8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT
Reviewed-by: erikj, serb
2022-01-06 08:27:54 +00:00
Alan Bateman
2dbb936da9 8279339: (ch) Input/Output streams returned by Channels factory methods don't support concurrent read/write ops
Reviewed-by: lancea, bpb
2022-01-06 08:12:53 +00:00
Vicente Romero
456bd1ed1c 8211004: javac is complaining about non-denotable types and refusing to generate the class file
Reviewed-by: jlahoda
2022-01-06 05:58:17 +00:00
Jesper Wilhelmsson
844dfb3ab6 Merge 2022-01-06 01:26:50 +00:00
Ludvig Janiuk
ab490534a1 8279533: Bad indentation and missing curly braces in BlockBegin::set_end
Reviewed-by: shade
2022-01-05 20:09:32 +00:00
Aleksey Shipilev
523300e796 8279526: Exceptions::count_out_of_memory_exceptions miscounts class metaspace OOMEs
Reviewed-by: zgu, coleenp
2022-01-05 19:45:27 +00:00
Zhengyu Gu
7b429a64ce 8279168: Shenandoah: Remove unused always_true in ShenandoahRootAdjuster::roots_do()
Reviewed-by: shade
2022-01-05 19:12:41 +00:00
Daniel D. Daugherty
564c8c6390 8279529: ProblemList java/nio/channels/DatagramChannel/ManySourcesAndTargets.java on macosx-aarch64
8279532: ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java

Reviewed-by: jnimeh
2022-01-05 19:01:11 +00:00
Joe Darcy
9a0e890056 8277515: Update --release 18 symbol information for JDK 18 build 29
Reviewed-by: iris
2022-01-05 18:55:49 +00:00
Anton Tarasov
590fa9d8d7 8278612: [macos] test/jdk/java/awt/dnd/RemoveDropTargetCrashTest crashes with VoiceOver on macOS
Reviewed-by: serb, kizune
2022-01-05 18:37:00 +00:00
Daniel D. Daugherty
5cd9515333 8279525: ProblemList java/awt/GraphicsDevice/CheckDisplayModes.java on macosx-aarch64
Reviewed-by: ccheung
2022-01-05 16:37:42 +00:00
Aleksey Shipilev
a741b927a3 8279453: Disable tools/jar/ReproducibleJar.java on 32-bit platforms
Reviewed-by: alanb, bpb
2022-01-05 16:19:00 +00:00
Albert Mingkun Yang
b6ec39cc84 8279510: Parallel: Remove unused PSScavenge::_consecutive_skipped_scavenges
Reviewed-by: kbarrett
2022-01-05 15:36:16 +00:00
Aleksey Shipilev
0f98efbf2f 8279445: Update JMH devkit to 1.34
Reviewed-by: aph, erikj
2022-01-05 12:04:09 +00:00
Maurizio Cimadamore
9d43d25da8 8278897: Alignment of heap segments is not enforced correctly
Reviewed-by: jvernee
2022-01-05 10:47:34 +00:00
Aleksey Shipilev
0f4807e8fe 8279222: Incorrect legacyMap.get in java.security.Provider after JDK-8276660
Co-authored-by: Valerie Peng <valeriep@openjdk.org>
Reviewed-by: alanb, valeriep
2022-01-05 07:29:17 +00:00
bobpengxie
8b5de27ce1 8279485: Incorrect copyright year in compiler/lib/ir_framework/IRNode.java after JDK-8278114
Reviewed-by: haosun, jiefu
2022-01-05 02:22:26 +00:00
Zhiqiang Zang
f326305396 8278114: New addnode ideal optimization: converting "x + x" into "x << 1"
Reviewed-by: kvn, redestad
2022-01-05 00:38:59 +00:00
Quan Anh Mai
f8f9148016 8278948: compiler/vectorapi/reshape/TestVectorCastAVX1.java crashes in assembler
Reviewed-by: kvn, sviswanathan
2022-01-04 22:59:33 +00:00
Jesper Wilhelmsson
191f7307bb Merge 2022-01-04 19:31:12 +00:00
Albert Mingkun Yang
99a8351bc9 8279386: Remove duplicate RefProcPhaseTimeTracker
Reviewed-by: iwalulya, mli
2022-01-04 16:06:34 +00:00
Yasumasa Suenaga
d1e6f26160 8279351: [TESTBUG] SADebugDTest.java does not handle "Address already in use" error
Reviewed-by: cjplummer
2022-01-04 15:00:58 +00:00
Vladimir Ivanov
95a3010acf 8275830: C2: Receiver downcast is missing when inlining through method handle linkers
Reviewed-by: kvn, dlong
2022-01-04 12:35:48 +00:00
Vladimir Ivanov
58b5fb3233 8265317: [vector] assert(payload->is_object()) failed: expected 'object' value for scalar-replaced boxed vector but got: NULL
Reviewed-by: kvn, thartmann
2022-01-04 12:34:38 +00:00
Hamlin Li
93c7d90c55 8278282: G1: Log basic statistics for evacuation failure
Reviewed-by: tschatzl, ayang, iwalulya
2022-01-04 11:55:41 +00:00
Aleksey Shipilev
06f3713271 8279379: GHA: Print tests that are in error
Reviewed-by: erikj, clanger
2022-01-04 11:13:07 +00:00
Roland Westrelin
e7244c19f4 8278966: two microbenchmarks tests fail "assert(!jvms->method()->has_exception_handlers()) failed: no exception handler expected" after JDK-8275638
Reviewed-by: rbackman, vlivanov
2022-01-04 10:56:37 +00:00
Doug Simon
1ffdc52cf0 8279412: [JVMCI] failed speculations list must outlive any nmethod that refers to it
Reviewed-by: kvn, never
2022-01-04 10:14:50 +00:00
Albert Mingkun Yang
863bffb3b6 8279374: Remove unused JNIHandles::weak_oops_do
Reviewed-by: coleenp
2022-01-04 09:56:17 +00:00
Matthias Baesken
9bdf6eb7b2 8279385: [test] Adjust sun/security/pkcs12/KeytoolOpensslInteropTest.java after 8278344
Reviewed-by: weijun
2022-01-04 07:55:53 +00:00
Ioi Lam
09cf5f19d7 8278602: CDS dynamic dump may access unloaded classes
Reviewed-by: coleenp, ccheung
2022-01-04 04:52:49 +00:00
Naoto Sato
8dc4437d00 8278434: timeouts in test java/time/test/java/time/format/TestZoneTextPrinterParser.java
Reviewed-by: joehw
2022-01-04 02:48:23 +00:00
Erik Joelsson
6b906bbab1 8279223: Define version in .jcheck/conf
Reviewed-by: alanb, iris, kcr
2022-01-03 21:53:50 +00:00
Hendrik Schreiber
c295e71b49 8276700: Improve java.lang.ref.Cleaner javadocs
Reviewed-by: rriggs, mchung
2022-01-03 15:57:34 +00:00
Aleksey Shipilev
3a1fca3adf 8278146: G1: Rework VM_G1Concurrent VMOp to clearly identify it as pause
Reviewed-by: tschatzl, kbarrett
2022-01-03 14:39:35 +00:00
Chris Plummer
2a59ebbba3 8279119: src/jdk.hotspot.agent/doc/index.html file contains references to scripts that no longer exist
Reviewed-by: kevinw, sspitsyn
2022-01-03 01:29:13 +00:00
William Kemper
b4b0328d62 8278824: Uneven work distribution when scanning heap roots in G1
Reviewed-by: ayang, tschatzl, phh
2021-12-28 17:32:00 +00:00
Sergey Nazarkin
299022dfac 8279225: [arm32] C1 longs comparison operation destroys argument registers
Reviewed-by: haosun, aph
2021-12-28 11:29:12 +00:00
Jesper Wilhelmsson
4f607f2ada Merge 2021-12-27 01:22:11 +00:00
Sergey Bylokhov
7fea10327e 8279134: Fix Amazon copyright in various files
Reviewed-by: xliu, phh
2021-12-26 22:10:54 +00:00
Igor Veresov
54b800d56d 8271202: C1: assert(false) failed: live_in set of first block must be empty
Co-authored-by: Martin Doerr <mdoerr@openjdk.org>
Reviewed-by: vlivanov, kvn
2021-12-25 05:38:12 +00:00
Vladimir Kozlov
2945b786ba 8279195: Document the -XX:+NeverActAsServerClassMachine flag
Reviewed-by: dholmes
2021-12-24 22:32:16 +00:00
Eric Liu
6588bedc19 8278889: AArch64: [vectorapi] VectorMaskLoadStoreTest.testMaskCast() test fail
Reviewed-by: njian, kvn
2021-12-24 03:10:41 +00:00
Andrey Turbanov
70c6df6be4 8274893: Update java.desktop classes to use try-with-resources
Reviewed-by: serb
2021-12-24 02:02:39 +00:00
Jonathan Gibbons
d52392c15e 8276892: Provide a way to emulate exceptional situations in FileManager when using JavadocTester
Reviewed-by: prappo
2021-12-24 01:48:13 +00:00
Xin Liu
22c15ddae5 8279189: Inaccurate comment about class VMThread
Reviewed-by: dholmes, kbarrett
2021-12-24 00:57:03 +00:00
Daniel Jelinski
9d99a377bf 8277881: Missing SessionID in TLS1.3 resumption in compatibility mode
Reviewed-by: ascarpino
2021-12-24 00:01:46 +00:00
Vicente Romero
4669bcd877 8279244: test accompaning fix for JDK-8205187 is failing in Windows
Reviewed-by: dcubed, mikael
2021-12-23 21:26:31 +00:00
Jesper Wilhelmsson
a3b1c6b036 Merge 2021-12-23 21:17:50 +00:00
Jonathan Gibbons
9df200f749 8278795: Create test library and tests for langtools snippets
Reviewed-by: hannesw
2021-12-23 21:15:21 +00:00
Xin Liu
7aff03aee1 8267517: async logging for stdout and stderr
Reviewed-by: dholmes, ysuenaga
2021-12-23 20:25:08 +00:00
Vicente Romero
ff2ca4f21b 8205187: javac/javadoc should not crash if no java.lang; crash message obsolete
Reviewed-by: jjg
2021-12-23 19:12:24 +00:00
Andrew Leonard
bc0466c7ca 8279182: MakeZipReproducible ZipEntry timestamps not localized to UTC
Reviewed-by: erikj
2021-12-23 18:03:05 +00:00
Aleksey Shipilev
04ad668921 8279204: [BACKOUT] JDK-8278413: C2 crash when allocating array of size too large
Reviewed-by: chagedorn, kvn
2021-12-23 16:22:10 +00:00
Jonathan Gibbons
558a6824c6 8279115: Fix internal doc comment errors.
Reviewed-by: mli
2021-12-23 15:19:55 +00:00
Erik Gahlin
730f67081d 8268297: jdk/jfr/api/consumer/streaming/TestLatestEvent.java times out
Reviewed-by: mgronlun
2021-12-23 15:03:06 +00:00
Daniel Le
87cc4e5009 8276302: Locale.filterTags methods ignore actual weight when matching "*" (as if it is 1)
Reviewed-by: naoto
2021-12-23 14:11:11 +00:00
Andrew Leonard
214f98f6b0 8278766: Enable OpenJDK build support for reproducible jars and jmods using --date
Reviewed-by: erikj
2021-12-23 11:01:26 +00:00
Yi Yang
ad1dc9c2ae 8278125: Some preallocated OOMEs are missing stack trace
Co-authored-by: dongyun.tdy <dongyun.tdy@alibaba-inc.com>
Reviewed-by: dholmes, coleenp
2021-12-23 02:14:52 +00:00
Chris Plummer
eaefb1a1ed 8244669: convert clhsdb "mem" command from javascript to java
Reviewed-by: sspitsyn, kevinw, poonam
2021-12-22 23:02:41 +00:00
Aleksey Shipilev
9d5ae2e380 8279076: C2: Bad AD file when matching SqrtF with UseSSE=0
Reviewed-by: kvn, sviswanathan
2021-12-22 20:17:39 +00:00
Valerie Peng
d64820dfef 8209398: sun/security/pkcs11/KeyStore/SecretKeysBasic.sh failed with "PKCS11Exception: CKR_ATTRIBUTE_SENSITIVE"
Reviewed-by: hchao, weijun
2021-12-22 19:50:51 +00:00
Stuart Marks
04ee9211fc 8278967: rmiregistry fails to start because SecurityManager is disabled
Reviewed-by: alanb, erikj
2021-12-22 18:56:30 +00:00
Coleen Phillimore
2be3e7ef1c 8278239: vmTestbase/nsk/jvmti/RedefineClasses/StressRedefine failed with EXCEPTION_ACCESS_VIOLATION at 0x000000000000000d
Reviewed-by: kvn, sspitsyn, eosterlund
2021-12-22 17:19:00 +00:00
Jesper Wilhelmsson
f1fbba23eb Merge 2021-12-22 16:46:43 +00:00
Yumin Qi
9a478b347e 8279022: JCmdTestFileSafety.java should check file time stamp for test result
Reviewed-by: ccheung
2021-12-22 16:17:33 +00:00
Yumin Qi
a6903f806a 8279018: CRC calculation in CDS should not include _version and _head_size
Reviewed-by: iklam, ccheung
2021-12-22 16:14:59 +00:00
Erik Gahlin
dfb15c3e34 8274315: JFR: One closed state per file or stream
Reviewed-by: mgronlun
2021-12-22 14:29:46 +00:00
Erik Gahlin
e49d4a9870 8271447: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters
Reviewed-by: mgronlun
2021-12-22 13:59:20 +00:00
Albert Mingkun Yang
3f41fdecdb 8279063: Consolidate push and push_if_necessary in PreservedMarks
Reviewed-by: rkennke, mli, tschatzl
2021-12-22 13:44:20 +00:00
Markus Grönlund
713fbeb050 8278987: RunThese24H.java failed with EXCEPTION_ACCESS_VIOLATION in __write_sample_info__
Reviewed-by: jbachorik
2021-12-22 12:30:55 +00:00
Kevin Walls
734143918d 8279007: jstatd fails to start because SecurityManager is disabled
Reviewed-by: alanb, sspitsyn, mullan
2021-12-22 11:36:53 +00:00
Chris Plummer
d0ea7c9db9 8279024: Remove javascript references from clhsdb.html
Reviewed-by: kevinw, sspitsyn
2021-12-22 03:56:08 +00:00
Jatin Bhateja
97c5cd7fac 8278508: Enable X86 maskAll instruction pattern for 32 bit JVM.
Reviewed-by: kvn, sviswanathan
2021-12-22 03:17:03 +00:00
Jesper Wilhelmsson
bf2826499a Merge 2021-12-21 23:07:35 +00:00
Chris Plummer
00c0d10870 8244670: convert clhsdb "whatis" command from javascript to java
Reviewed-by: sspitsyn, kevinw
2021-12-21 22:55:09 +00:00
Weijun Wang
fb623f1d2e 8279066: entries.remove(entry) is useless in PKCS12KeyStore
Reviewed-by: mullan
2021-12-21 22:13:04 +00:00
Smita Kamath
9ee3ccfee2 8279045: Intrinsics missing vzeroupper instruction
Reviewed-by: neliasso, sviswanathan, kvn
2021-12-21 22:09:43 +00:00
Jesper Wilhelmsson
803cb8a768 Merge 2021-12-21 21:58:05 +00:00
Albert Mingkun Yang
997b1eea6e 8279060: Parallel: Remove unused PSVirtualSpace constructors
Reviewed-by: mli, sjohanss, tschatzl
2021-12-21 20:50:46 +00:00
Albert Mingkun Yang
6aeb40cf2a 8278396: G1: Initialize the BOT threshold to be region bottom
Reviewed-by: tschatzl, sjohanss
2021-12-21 20:49:59 +00:00
Daniel D. Daugherty
84d3333c7a 8279081: ProblemList jdk/jfr/event/oldobject/TestLargeRootSet.java on 2 platforms
Reviewed-by: azvegint, sspitsyn
2021-12-21 20:39:06 +00:00
Zhengyu Gu
1128674d7f 8278627: Shenandoah: TestHeapDump test failed
Reviewed-by: shade, rkennke
2021-12-21 19:02:01 +00:00
Daniel Jelinski
f31dead6c5 8279043: Some Security Exception Messages Miss Spaces
Reviewed-by: weijun
2021-12-21 18:24:31 +00:00
Daniel D. Daugherty
54517fa3d8 8279074: ProblemList compiler/codecache/jmx/PoolsIndependenceTest.java on macosx-aarch64
Reviewed-by: ccheung
2021-12-21 17:42:26 +00:00
Roger Riggs
ac7430cf7e 8278044: ObjectInputStream methods invoking the OIF.CFG.getSerialFilterFactory() silent about error cases.
Backport-of: 8c0bb53f5b
2021-12-21 16:31:58 +00:00
Robbin Ehn
f7309060de 8278793: Interpreter(x64) intrinsify Thread.currentThread()
Reviewed-by: rkennke, dcubed, dholmes
2021-12-21 16:12:32 +00:00
Roger Riggs
db3d6d7724 8278087: Deserialization filter and filter factory property error reporting under specified
Backport-of: f90425a1cb
2021-12-21 15:42:36 +00:00
Roger Riggs
8c0bb53f5b 8278044: ObjectInputStream methods invoking the OIF.CFG.getSerialFilterFactory() silent about error cases.
Reviewed-by: lancea, bpb
2021-12-21 15:16:19 +00:00
Roger Riggs
f90425a1cb 8278087: Deserialization filter and filter factory property error reporting under specified
Reviewed-by: lancea, bpb
2021-12-21 14:24:44 +00:00
Stefan Johansson
f4f2f32cd1 8278917: Use Prev Bitmap for recording evac failed objects
Reviewed-by: ayang, mli, tschatzl
2021-12-21 14:03:08 +00:00
Aleksey Shipilev
29bd73638a 8277893: Arraycopy stress tests
Reviewed-by: kvn, mli
2021-12-21 14:01:47 +00:00
Aleksey Shipilev
467f654916 8279011: JFR: JfrChunkWriter incorrectly handles int64_t chunk size as size_t
Reviewed-by: mgronlun
2021-12-21 12:33:59 +00:00
Thomas Schatzl
ff5d41762d 8278893: Parallel: Remove GCWorkerDelayMillis
Reviewed-by: ayang, mli
2021-12-21 09:51:21 +00:00
Joe Darcy
517967284c 8278953: Clarify Class.getDeclaredConstructor specification
Reviewed-by: mchung, alanb
2021-12-21 00:25:56 +00:00
Calvin Cheung
8549d8b569 8277100: Dynamic dump can inadvertently overwrite default CDS archive
Reviewed-by: iklam, minqi, dholmes
2021-12-20 23:04:40 +00:00
Smita Kamath
819f9bd084 8274323: compiler/codegen/aes/TestAESMain.java failed with "Error: invalid offset: -1434443640" after 8273297
Reviewed-by: sviswanathan, kvn
2021-12-20 20:09:42 +00:00
Aleksandr Veselov
ad1282842c 8278609: [macos] accessibility frame is misplaced on a secondary monitor on macOS
Reviewed-by: ant, kizune
2021-12-20 11:40:58 +00:00
David Holmes
4c78c9ab80 8270929: Obsolete the FilterSpuriousWakeups flag in JDK 19
Reviewed-by: hseigel, rehn
2021-12-20 10:47:37 +00:00
Roland Westrelin
06206c7199 8278949: Cleanups for 8277850
Co-authored-by: John R Rose <jrose@openjdk.org>
Reviewed-by: kvn, jrose
2021-12-20 10:00:14 +00:00
TejeshR13
31fbb8723e 6462028: MaskFormatter API documentation refers to getDisplayValue
Reviewed-by: psadhukhan, aivanov, prr
2021-12-20 09:53:22 +00:00
Roland Westrelin
deaf75a585 8278413: C2 crash when allocating array of size too large
Reviewed-by: neliasso, kvn
2021-12-20 09:41:56 +00:00
Alex Menkov
63e43030ed 8278519: serviceability/jvmti/FieldAccessWatch/FieldAccessWatch.java failed "assert(handle != __null) failed: JNI handle should not be null"
Reviewed-by: cjplummer, sspitsyn
2021-12-18 08:08:47 +00:00
Doug Simon
6f0e8da6d3 8278871: [JVMCI] assert((uint)reason < 2* _trap_hist_limit) failed: oob
Reviewed-by: kvn, never, dlong
2021-12-18 06:48:00 +00:00
Guoxiong Li
3c10b5db38 8278104: C1 should support the compiler directive 'BreakAtExecute'
Reviewed-by: xliu, phh, kvn
2021-12-18 04:16:44 +00:00
merykitty
cc44e13797 8278623: compiler/vectorapi/reshape/TestVectorCastAVX512.java after JDK-8259610
Reviewed-by: kvn, chagedorn, psandoz
2021-12-17 23:42:28 +00:00
liach
905b763942 8261404: Class.getReflectionFactory() is not thread-safe
Reviewed-by: rriggs, mchung
2021-12-17 22:23:33 +00:00
Alexander Matveev
36676db2fd 8278970: [macos] SigningPackageTest is failed with runtime exception
Reviewed-by: herrick, asemenyuk
2021-12-17 21:56:55 +00:00
Daniel D. Daugherty
a5f5d60f25 8273107: RunThese24H times out with "java.lang.management.ThreadInfo.getLockName()" is null
Reviewed-by: rehn, coleenp, eosterlund
2021-12-17 21:24:51 +00:00
Artem Semenov
8fbe1724e0 8278604: SwingSet2 table demo does not have accessible description set for images
8278526: [macos] Screen reader reads SwingSet2 JTable row selection as null, dimmed row for last column

Reviewed-by: ant, kizune, pbansal
2021-12-17 19:31:51 +00:00
Andrey Turbanov
022e4f0f1c 8275242: Remove redundant stream() call before forEach in jdk.compiler
Reviewed-by: vromero
2021-12-17 18:52:37 +00:00
Igor Veresov
b46f0b0b1f 8277447: Hotspot C1 compiler crashes on Kotlin suspend fun with loop
Reviewed-by: kvn, neliasso
2021-12-17 16:30:40 +00:00
Albert Mingkun Yang
0bfc204a78 8278956: Remove unimplemented PLAB::allocate_aligned
Reviewed-by: tschatzl
2021-12-17 15:45:16 +00:00
Gilles Duboscq
b17f8d5b6c 8278954: Using clang together with devkit on linux doesn't work for building
Reviewed-by: erikj
2021-12-17 15:36:07 +00:00
Harold Seigel
769f14db84 8278384: Bytecodes::result_type() for arraylength returns T_VOID instead of T_INT
Reviewed-by: lfoltan, dholmes
2021-12-17 15:11:16 +00:00
Phil Race
e45e0b05b9 8278937: JCK test for java_awt/geom/Line2D.Float fails after 8277868
Reviewed-by: jdv, kcr, rriggs
2021-12-17 15:10:03 +00:00
Nils Eliasson
a68f28cea6 8278909: Unproblemlist AdaptiveBlocking001
Reviewed-by: chagedorn, eosterlund, stefank
2021-12-17 15:08:45 +00:00
Naoto Sato
9cd709060c 8278587: StringTokenizer(String, String, boolean) documentation bug
Backport-of: 8f5fdd864b
2021-12-17 13:48:26 +00:00
Coleen Phillimore
3607a5cdd9 8277216: Examine InstanceKlass::_misc_flags for concurrency issues
Reviewed-by: hseigel, dholmes
2021-12-17 13:42:54 +00:00
Roman Kennke
abab1738a7 8278568: Consolidate filler objects
Reviewed-by: tschatzl, mli, ayang
2021-12-17 13:33:08 +00:00
Weijun Wang
6412d57a0a 8278560: X509KeyManagerImpl::getAliases might return a good key with others
Reviewed-by: xuelei
2021-12-17 12:14:17 +00:00
Erik Gahlin
fffa73c1ef 8269425: 2 jdk/jfr/api/consumer/streaming tests failed to attach
Reviewed-by: mgronlun
2021-12-17 09:49:44 +00:00
Dmitry Chuyko
247ea71d24 8278826: Print error if Shenandoah flags are empty (instead of crashing)
Reviewed-by: rkennke, mli
2021-12-17 09:19:00 +00:00
Roland Westrelin
b9a477bf19 8275638: GraphKit::combine_exception_states fails with "matching stack sizes" assert
Reviewed-by: dlong, kvn
2021-12-17 07:46:47 +00:00
Roland Westrelin
bb7efb3517 8278790: Inner loop of long loop nest runs for too few iterations
Reviewed-by: chagedorn, neliasso
2021-12-17 07:45:44 +00:00
Hamlin Li
8c73ec155d 8278891: G1: Call reset in G1RegionMarkStatsCache constructor
Reviewed-by: tschatzl, ayang
2021-12-17 03:29:28 +00:00
Jatin Bhateja
8494fec665 8278796: Incorrect behavior of FloatVector.withLane on X86
Reviewed-by: sviswanathan, kvn
2021-12-17 03:07:08 +00:00
Jesper Wilhelmsson
634afe8c5c Merge 2021-12-17 01:08:22 +00:00
Mark Reinhold
f5d7c777bc 8276826: Clarify the ModuleDescriptor.Version specification’s treatment of repeated punctuation characters
Reviewed-by: mchung, darcy
2021-12-17 00:34:03 +00:00
Chris Plummer
7ce4aa8942 8276982: VM.class_hierarchy jcmd help output and man page text needs clarifications/improvements
Reviewed-by: stuefe, dholmes, sspitsyn
2021-12-16 23:25:07 +00:00
David Holmes
197c9f5ac8 8268573: Remove expired flags in JDK 19
Reviewed-by: dcubed, pchilanomate, eosterlund
2021-12-16 22:17:53 +00:00
Naoto Sato
8f5fdd864b 8278587: StringTokenizer(String, String, boolean) documentation bug
Reviewed-by: iris, joehw, lancea, rriggs, darcy
2021-12-16 21:41:38 +00:00
Sergey Tsypanov
20db7800a6 8277868: Use Comparable.compare() instead of surrogate code
Reviewed-by: rriggs, aivanov
2021-12-16 21:39:08 +00:00
Stuart Marks
be6b90d90b 8278574: update --help-extra message to include default value of --finalization option
Reviewed-by: sundar, alanb, lancea, mchung
2021-12-16 17:35:32 +00:00
Zhengyu Gu
937126b140 8278551: Shenandoah: Adopt WorkerThread::worker_id() to replace Shenandoah specific implementation
Reviewed-by: rkennke
2021-12-16 15:23:02 +00:00
Albert Mingkun Yang
f15a59ce72 8278756: Parallel: Drop PSOldGen::_reserved
Reviewed-by: tschatzl, mli
2021-12-16 13:41:19 +00:00
Albert Mingkun Yang
271d26f141 8278601: Parallel: Remove redundant code in ObjectStartArray::initialize
Reviewed-by: sjohanss, mli
2021-12-16 13:40:22 +00:00
Albert Mingkun Yang
e0700bf1d4 8278763: Parallel: Remove grows_up/grows_down in PSVirtualSpace
Reviewed-by: tschatzl, mli
2021-12-16 13:39:24 +00:00
Thomas Schatzl
aec1b039b3 8278389: SuspendibleThreadSet::_suspend_all should be volatile/atomic
Reviewed-by: ayang, mli
2021-12-16 12:29:57 +00:00
Claes Redestad
aae563981c 8278642: Refactor java.util.Formatter
Reviewed-by: rriggs, naoto
2021-12-16 11:46:02 +00:00
Hamlin Li
7edcd34869 8278534: Remove some unnecessary code in MethodLiveness::init_basic_blocks
Reviewed-by: chagedorn
2021-12-16 11:35:42 +00:00
Dmitry Batrak
0bddd8af61 8278050: Armenian text isn't rendered on macOS if text layout is performed
Reviewed-by: prr, serb
2021-12-16 07:14:35 +00:00
Stuart Marks
e82310f360 8278575: update jcmd GC.finalizer_info to list finalization status
Co-authored-by: David Holmes <dholmes@openjdk.org>
Reviewed-by: dholmes, kbarrett
2021-12-16 01:27:07 +00:00
2763 changed files with 84926 additions and 31779 deletions

View File

@@ -12,6 +12,10 @@ on:
required: true
default: "Linux additional (hotspot only), Linux x64, Linux x86, Windows aarch64, Windows x64, macOS x64"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
prerequisites:
name: Prerequisites
@@ -19,6 +23,7 @@ jobs:
outputs:
should_run: ${{ steps.check_submit.outputs.should_run }}
bundle_id: ${{ steps.check_bundle_id.outputs.bundle_id }}
jdk_version: ${{ steps.check_jdk_versions.outputs.jdk_version }}
platform_linux_additional: ${{ steps.check_platforms.outputs.platform_linux_additional }}
platform_linux_x64: ${{ steps.check_platforms.outputs.platform_linux_x64 }}
platform_linux_x86: ${{ steps.check_platforms.outputs.platform_linux_x86 }}
@@ -66,6 +71,23 @@ jobs:
run: "echo '${{ steps.check_deps.outputs.dependencies }}'"
if: steps.check_submit.outputs.should_run != 'false'
- name: Determine full JDK versions
id: check_jdk_versions
shell: bash
run: |
FEATURE=${{ fromJson(steps.check_deps.outputs.dependencies).DEFAULT_VERSION_FEATURE }}
INTERIM=${{ fromJson(steps.check_deps.outputs.dependencies).DEFAULT_VERSION_INTERIM }}
UPDATE=${{ fromJson(steps.check_deps.outputs.dependencies).DEFAULT_VERSION_UPDATE }}
if [ "x${UPDATE}" != "x0" ]; then
V=${FEATURE}.${INTERIM}.${UPDATE}
elif [ "x${INTERIM}" != "x0" ]; then
V={FEATURE}.${INTERIM}
else
V=${FEATURE}
fi
echo "::set-output name=jdk_version::${V}"
if: steps.check_submit.outputs.should_run != 'false'
- name: Determine the jtreg ref to checkout
run: "echo JTREG_REF=jtreg-${{ fromJson(steps.check_deps.outputs.dependencies).JTREG_VERSION }}+${{ fromJson(steps.check_deps.outputs.dependencies).JTREG_BUILD }} >> $GITHUB_ENV"
if: steps.check_submit.outputs.should_run != 'false'
@@ -121,7 +143,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
@@ -183,7 +205,6 @@ jobs:
--with-conf-name=linux-x64
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-version-build=0
--with-boot-jdk=${HOME}/bootjdk/${BOOT_JDK_VERSION}
--with-jtreg=${HOME}/jtreg
--with-gtest=${GITHUB_WORKSPACE}/gtest
@@ -201,8 +222,8 @@ jobs:
with:
name: transient_jdk-linux-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: |
jdk/build/linux-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin${{ matrix.artifact }}.tar.gz
jdk/build/linux-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin-tests${{ matrix.artifact }}.tar.gz
jdk/build/linux-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin${{ matrix.artifact }}.tar.gz
jdk/build/linux-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin-tests${{ matrix.artifact }}.tar.gz
linux_x64_test:
name: Linux x64
@@ -250,7 +271,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
@@ -308,23 +329,23 @@ jobs:
- name: Unpack jdk
run: |
mkdir -p "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin${{ matrix.artifact }}"
mkdir -p "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin${{ matrix.artifact }}"
- name: Unpack tests
run: |
mkdir -p "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin-tests${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin-tests${{ matrix.artifact }}"
mkdir -p "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin-tests${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin-tests${{ matrix.artifact }}"
- name: Find root of jdk image dir
run: |
imageroot=`find ${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin${{ matrix.artifact }} -name release -type f`
imageroot=`find ${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin${{ matrix.artifact }} -name release -type f`
echo "imageroot=`dirname ${imageroot}`" >> $GITHUB_ENV
- name: Run tests
run: >
JDK_IMAGE_DIR=${{ env.imageroot }}
TEST_IMAGE_DIR=${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin-tests${{ matrix.artifact }}
TEST_IMAGE_DIR=${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin-tests${{ matrix.artifact }}
BOOT_JDK=${HOME}/bootjdk/${BOOT_JDK_VERSION}
JT_HOME=${HOME}/jtreg
make test-prebuilt
@@ -341,6 +362,7 @@ jobs:
run: >
if ! grep --include=test-summary.txt -lqr build/*/test-results -e "TEST SUCCESS" ; then
cat build/*/test-results/*/text/newfailures.txt ;
cat build/*/test-results/*/text/other_errors.txt ;
exit 1 ;
fi
@@ -431,7 +453,7 @@ jobs:
gnu-arch: powerpc64le
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
@@ -476,12 +498,12 @@ jobs:
- name: Unpack build JDK
run: |
mkdir -p "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin"
tar -xf "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin.tar.gz" -C "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin"
mkdir -p "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin"
tar -xf "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin.tar.gz" -C "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin"
- name: Find root of build JDK image dir
run: |
build_jdk_root=`find ${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin -name release -type f`
build_jdk_root=`find ${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal_linux-x64_bin -name release -type f`
echo "build_jdk_root=`dirname ${build_jdk_root}`" >> $GITHUB_ENV
- name: Update apt
@@ -549,7 +571,6 @@ jobs:
${{ matrix.flags }}
${{ env.cross_flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-version-build=0
--with-boot-jdk=${HOME}/bootjdk/${BOOT_JDK_VERSION}
--with-build-jdk=${{ env.build_jdk_root }}
--with-default-make-target="hotspot"
@@ -579,7 +600,7 @@ jobs:
# Reduced 32-bit build uses the same boot JDK as 64-bit build
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
@@ -648,7 +669,6 @@ jobs:
--with-target-bits=32
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-version-build=0
--with-boot-jdk=${HOME}/bootjdk/${BOOT_JDK_VERSION}
--with-jtreg=${HOME}/jtreg
--with-gtest=${GITHUB_WORKSPACE}/gtest
@@ -666,8 +686,8 @@ jobs:
with:
name: transient_jdk-linux-x86${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: |
jdk/build/linux-x86/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin${{ matrix.artifact }}.tar.gz
jdk/build/linux-x86/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin-tests${{ matrix.artifact }}.tar.gz
jdk/build/linux-x86/bundles/jdk-${{ env.JDK_VERSION }}-internal_linux-x86_bin${{ matrix.artifact }}.tar.gz
jdk/build/linux-x86/bundles/jdk-${{ env.JDK_VERSION }}-internal_linux-x86_bin-tests${{ matrix.artifact }}.tar.gz
linux_x86_test:
name: Linux x86
@@ -716,7 +736,7 @@ jobs:
# Reduced 32-bit build uses the same boot JDK as 64-bit build
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
@@ -774,23 +794,23 @@ jobs:
- name: Unpack jdk
run: |
mkdir -p "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin${{ matrix.artifact }}"
mkdir -p "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x86_bin${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x86_bin${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x86_bin${{ matrix.artifact }}"
- name: Unpack tests
run: |
mkdir -p "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin-tests${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin-tests${{ matrix.artifact }}"
mkdir -p "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x86_bin-tests${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x86_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x86_bin-tests${{ matrix.artifact }}"
- name: Find root of jdk image dir
run: |
imageroot=`find ${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin${{ matrix.artifact }} -name release -type f`
imageroot=`find ${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x86_bin${{ matrix.artifact }} -name release -type f`
echo "imageroot=`dirname ${imageroot}`" >> $GITHUB_ENV
- name: Run tests
run: >
JDK_IMAGE_DIR=${{ env.imageroot }}
TEST_IMAGE_DIR=${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x86_bin-tests${{ matrix.artifact }}
TEST_IMAGE_DIR=${HOME}/jdk-linux-x86${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_linux-x86_bin-tests${{ matrix.artifact }}
BOOT_JDK=${HOME}/bootjdk/${BOOT_JDK_VERSION}
JT_HOME=${HOME}/jtreg
make test-prebuilt
@@ -807,6 +827,7 @@ jobs:
run: >
if ! grep --include=test-summary.txt -lqr build/*/test-results -e "TEST SUCCESS" ; then
cat build/*/test-results/*/text/newfailures.txt ;
cat build/*/test-results/*/text/other_errors.txt ;
exit 1 ;
fi
@@ -866,7 +887,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_URL }}"
@@ -925,7 +946,6 @@ jobs:
--openjdk-target=aarch64-unknown-cygwin
${{ matrix.flags }}
--with-version-opt="$env:GITHUB_ACTOR-$env:GITHUB_SHA"
--with-version-build=0
--with-boot-jdk="$env:BOOT_JDK"
--with-default-make-target="hotspot"
working-directory: jdk
@@ -955,7 +975,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_URL }}"
@@ -1037,7 +1057,6 @@ jobs:
--with-msvc-toolset-version=14.28
${{ matrix.flags }}
--with-version-opt="$env:GITHUB_ACTOR-$env:GITHUB_SHA"
--with-version-build=0
--with-boot-jdk="$env:BOOT_JDK"
--with-jtreg="$env:JT_HOME"
--with-gtest="$env:GTEST"
@@ -1057,9 +1076,9 @@ jobs:
with:
name: transient_jdk-windows-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: |
jdk/build/windows-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}.zip
jdk/build/windows-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin-tests${{ matrix.artifact }}.tar.gz
jdk/build/windows-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}-symbols.tar.gz
jdk/build/windows-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin${{ matrix.artifact }}.zip
jdk/build/windows-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin-tests${{ matrix.artifact }}.tar.gz
jdk/build/windows-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin${{ matrix.artifact }}-symbols.tar.gz
windows_x64_test:
name: Windows x64
@@ -1107,7 +1126,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_URL }}"
@@ -1179,21 +1198,21 @@ jobs:
- name: Unpack jdk
run: |
mkdir -p "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}.zip" -C "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}"
mkdir -p "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin${{ matrix.artifact }}.zip" -C "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin${{ matrix.artifact }}"
- name: Unpack symbols
run: |
mkdir -p "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}-symbols"
tar -xf "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}-symbols.tar.gz" -C "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}-symbols"
mkdir -p "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin${{ matrix.artifact }}-symbols"
tar -xf "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin${{ matrix.artifact }}-symbols.tar.gz" -C "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin${{ matrix.artifact }}-symbols"
- name: Unpack tests
run: |
mkdir -p "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin-tests${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin-tests${{ matrix.artifact }}"
mkdir -p "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin-tests${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin-tests${{ matrix.artifact }}"
- name: Find root of jdk image dir
run: echo ("imageroot=" + (Get-ChildItem -Path $HOME/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }} -Filter release -Recurse -ErrorAction SilentlyContinue -Force).DirectoryName) | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8
run: echo ("imageroot=" + (Get-ChildItem -Path $HOME/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin${{ matrix.artifact }} -Filter release -Recurse -ErrorAction SilentlyContinue -Force).DirectoryName) | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8
- name: Run tests
run: >
@@ -1201,7 +1220,7 @@ jobs:
$env:Path = $env:Path -split ";" -match "C:\\Windows|PowerShell|cygwin" -join ";" ;
$env:JDK_IMAGE_DIR = cygpath "${{ env.imageroot }}" ;
$env:SYMBOLS_IMAGE_DIR = cygpath "${{ env.imageroot }}" ;
$env:TEST_IMAGE_DIR = cygpath "$HOME/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin-tests${{ matrix.artifact }}" ;
$env:TEST_IMAGE_DIR = cygpath "$HOME/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_windows-x64_bin-tests${{ matrix.artifact }}" ;
$env:BOOT_JDK = cygpath "$HOME/bootjdk/$env:BOOT_JDK_VERSION" ;
$env:JT_HOME = cygpath "$HOME/jtreg" ;
& make test-prebuilt
@@ -1218,6 +1237,7 @@ jobs:
run: >
if ((Get-ChildItem -Path build\*\test-results\test-summary.txt -Recurse | Select-String -Pattern "TEST SUCCESS" ).Count -eq 0) {
Get-Content -Path build\*\test-results\*\*\newfailures.txt ;
Get-Content -Path build\*\test-results\*\*\other_errors.txt ;
exit 1
}
@@ -1281,7 +1301,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
@@ -1343,7 +1363,6 @@ jobs:
--with-conf-name=macos-x64
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-version-build=0
--with-boot-jdk=${HOME}/bootjdk/${BOOT_JDK_VERSION}/Contents/Home
--with-jtreg=${HOME}/jtreg
--with-gtest=${GITHUB_WORKSPACE}/gtest
@@ -1361,8 +1380,8 @@ jobs:
with:
name: transient_jdk-macos-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: |
jdk/build/macos-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin${{ matrix.artifact }}.tar.gz
jdk/build/macos-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin-tests${{ matrix.artifact }}.tar.gz
jdk/build/macos-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal_macos-x64_bin${{ matrix.artifact }}.tar.gz
jdk/build/macos-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal_macos-x64_bin-tests${{ matrix.artifact }}.tar.gz
macos_aarch64_build:
name: macOS aarch64
@@ -1383,7 +1402,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
@@ -1446,7 +1465,6 @@ jobs:
--openjdk-target=aarch64-apple-darwin
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-version-build=0
--with-boot-jdk=${HOME}/bootjdk/${BOOT_JDK_VERSION}/Contents/Home
--with-jtreg=${HOME}/jtreg
--with-gtest=${GITHUB_WORKSPACE}/gtest
@@ -1464,8 +1482,8 @@ jobs:
with:
name: transient_jdk-macos-aarch64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: |
jdk/build/macos-aarch64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_macos-aarch64_bin${{ matrix.artifact }}.tar.gz
jdk/build/macos-aarch64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_macos-aarch64_bin-tests${{ matrix.artifact }}.tar.gz
jdk/build/macos-aarch64/bundles/jdk-${{ env.JDK_VERSION }}-internal_macos-aarch64_bin${{ matrix.artifact }}.tar.gz
jdk/build/macos-aarch64/bundles/jdk-${{ env.JDK_VERSION }}-internal_macos-aarch64_bin-tests${{ matrix.artifact }}.tar.gz
macos_x64_test:
@@ -1514,7 +1532,7 @@ jobs:
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
JDK_VERSION: "${{ needs.prerequisites.outputs.jdk_version }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
@@ -1572,13 +1590,13 @@ jobs:
- name: Unpack jdk
run: |
mkdir -p "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin${{ matrix.artifact }}"
mkdir -p "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_macos-x64_bin${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_macos-x64_bin${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_macos-x64_bin${{ matrix.artifact }}"
- name: Unpack tests
run: |
mkdir -p "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin-tests${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin-tests${{ matrix.artifact }}"
mkdir -p "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_macos-x64_bin-tests${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_macos-x64_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_macos-x64_bin-tests${{ matrix.artifact }}"
- name: Install dependencies
run: brew install make
@@ -1588,13 +1606,13 @@ jobs:
- name: Find root of jdk image dir
run: |
imageroot=`find ${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin${{ matrix.artifact }} -name release -type f`
imageroot=`find ${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_macos-x64_bin${{ matrix.artifact }} -name release -type f`
echo "imageroot=`dirname ${imageroot}`" >> $GITHUB_ENV
- name: Run tests
run: >
JDK_IMAGE_DIR=${{ env.imageroot }}
TEST_IMAGE_DIR=${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_macos-x64_bin-tests${{ matrix.artifact }}
TEST_IMAGE_DIR=${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal_macos-x64_bin-tests${{ matrix.artifact }}
BOOT_JDK=${HOME}/bootjdk/${BOOT_JDK_VERSION}/Contents/Home
JT_HOME=${HOME}/jtreg
gmake test-prebuilt
@@ -1611,6 +1629,7 @@ jobs:
run: >
if ! grep --include=test-summary.txt -lqr build/*/test-results -e "TEST SUCCESS" ; then
cat build/*/test-results/*/text/newfailures.txt ;
cat build/*/test-results/*/text/other_errors.txt ;
exit 1 ;
fi

View File

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

View File

@@ -163,6 +163,8 @@
<h3 id="building-on-aarch64">Building on aarch64</h3>
<p>At a minimum, a machine with 8 cores is advisable, as well as 8 GB of RAM. (The more cores to use, the more memory you need.) At least 6 GB of free disk space is required.</p>
<p>If you do not have access to sufficiently powerful hardware, it is also possible to use <a href="#cross-compiling">cross-compiling</a>.</p>
<h4 id="branch-protection">Branch Protection</h4>
<p>In order to use Branch Protection features in the VM, <code>--enable-branch-protection</code> must be used. This option requires C++ compiler support (GCC 9.1.0+ or Clang 10+). The resulting build can be run on both machines with and without support for branch protection in hardware. Branch Protection is only supported for Linux targets.</p>
<h3 id="building-on-32-bit-arm">Building on 32-bit arm</h3>
<p>This is not recommended. Instead, see the section on <a href="#cross-compiling">Cross-compiling</a>.</p>
<h2 id="operating-system-requirements">Operating System Requirements</h2>
@@ -196,7 +198,7 @@
<h3 id="windows">Windows</h3>
<p>Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.</p>
<p>On Windows, it is important that you pay attention to the instructions in the <a href="#special-considerations">Special Considerations</a>.</p>
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layers are Cygwin and Windows Subsystem for Linux (WSL). (Msys is no longer supported due to a too old bash; msys2 would likely be possible to support in a future version but that would require effort to implement.)</p>
<p>Windows is the only non-POSIX OS supported by the JDK, and as such, requires some extra care. A POSIX support layer is required to build on Windows. Currently, the only supported such layers are Cygwin, Windows Subsystem for Linux (WSL), and MSYS2. (MSYS is no longer supported due to an outdated bash; While OpenJDK can be built with MSYS2, support for it is still experimental, so build failures and unusual errors are not uncommon.)</p>
<p>Internally in the build system, all paths are represented as Unix-style paths, e.g. <code>/cygdrive/c/git/jdk/Makefile</code> rather than <code>C:\git\jdk\Makefile</code>. This rule also applies to input to the build system, e.g. in arguments to <code>configure</code>. So, use <code>--with-msvcr-dll=/cygdrive/c/msvcr100.dll</code> rather than <code>--with-msvcr-dll=c:\msvcr100.dll</code>. For details on this conversion, see the section on <a href="#fixpath">Fixpath</a>.</p>
<h4 id="cygwin">Cygwin</h4>
<p>A functioning <a href="http://www.cygwin.com/">Cygwin</a> environment is required for building the JDK on Windows. If you have a 64-bit OS, we strongly recommend using the 64-bit version of Cygwin.</p>
@@ -214,7 +216,7 @@
<p>Unfortunately, Cygwin can be unreliable in certain circumstances. If you experience build tool crashes or strange issues when building on Windows, please check the Cygwin FAQ on the <a href="https://cygwin.com/faq/faq.html#faq.using.bloda">&quot;BLODA&quot; list</a> and the section on <a href="https://cygwin.com/faq/faq.html#faq.using.fixing-fork-failures">fork() failures</a>.</p>
<h4 id="windows-subsystem-for-linux-wsl">Windows Subsystem for Linux (WSL)</h4>
<p>Windows 10 1809 or newer is supported due to a dependency on the wslpath utility and support for environment variable sharing through WSLENV. Version 1803 can work but intermittent build failures have been observed.</p>
<p>It's possible to build both Windows and Linux binaries from WSL. To build Windows binaries, you must use a Windows boot JDK (located in a Windows-accessible directory). To build Linux binaries, you must use a Linux boot JDK. The default behavior is to build for Windows. To build for Linux, pass <code>--build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu</code> to <code>configure</code>.</p>
<p>It's possible to build both Windows and Linux binaries from WSL. To build Windows binaries, you must use a Windows boot JDK (located in a Windows-accessible directory). To build Linux binaries, you must use a Linux boot JDK. The default behavior is to build for Windows. To build for Linux, pass <code>--build=x86_64-unknown-linux-gnu --openjdk-target=x86_64-unknown-linux-gnu</code> to <code>configure</code>.</p>
<p>If building Windows binaries, the source code must be located in a Windows- accessible directory. This is because Windows executables (such as Visual Studio and the boot JDK) must be able to access the source code. Also, the drive where the source is stored must be mounted as case-insensitive by changing either /etc/fstab or /etc/wsl.conf in WSL. Individual directories may be corrected using the fsutil tool in case the source was cloned before changing the mount options.</p>
<p>Note that while it's possible to build on WSL, testing is still not fully supported.</p>
<h3 id="macos">macOS</h3>
@@ -298,7 +300,7 @@
<p>It is advisable to keep an older version of Xcode for building the JDK when updating Xcode. This <a href="http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html">blog page</a> has good suggestions on managing multiple Xcode versions. To use a specific version of Xcode, use <code>xcode-select -s</code> before running <code>configure</code>, or use <code>--with-toolchain-path</code> to point to the version of Xcode to use, e.g. <code>configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin</code></p>
<p>If you have recently (inadvertently) updated your OS and/or Xcode version, and the JDK can no longer be built, please see the section on <a href="#problems-with-the-build-environment">Problems with the Build Environment</a>, and <a href="#getting-help">Getting Help</a> to find out if there are any recent, non-merged patches available for this update.</p>
<h3 id="microsoft-visual-studio">Microsoft Visual Studio</h3>
<p>The minimum accepted version of Visual Studio is 2017. Older versions will not be accepted by <code>configure</code> and will not work. The maximum accepted version of Visual Studio is 2019.</p>
<p>For aarch64 machines running Windows the minimum accepted version is Visual Studio 2019 (16.8 or higher). For all other platforms the minimum accepted version of Visual Studio is 2017. Older versions will not be accepted by <code>configure</code> and will not work. For all platforms the maximum accepted version of Visual Studio is 2022.</p>
<p>If you have multiple versions of Visual Studio installed, <code>configure</code> will by default pick the latest. You can request a specific version to be used by setting <code>--with-toolchain-version</code>, e.g. <code>--with-toolchain-version=2017</code>.</p>
<p>If you have Visual Studio installed but <code>configure</code> fails to detect it, it may be because of <a href="#spaces-in-path">spaces in path</a>.</p>
<h3 id="ibm-xl-cc">IBM XL C/C++</h3>
@@ -568,7 +570,8 @@ x86_64-linux-gnu-to-ppc64le-linux-gnu</code></pre>
<p>To be able to build, we need a &quot;Build JDK&quot;, which is a JDK built from the current sources (that is, the same as the end result of the entire build process), but able to run on the <em>build</em> system, and not the <em>target</em> system. (In contrast, the Boot JDK should be from an older release, e.g. JDK 8 when building JDK 9.)</p>
<p>The build process will create a minimal Build JDK for you, as part of building. To speed up the build, you can use <code>--with-build-jdk</code> to <code>configure</code> to point to a pre-built Build JDK. Please note that the build result is unpredictable, and can possibly break in subtle ways, if the Build JDK does not <strong>exactly</strong> match the current sources.</p>
<h3 id="specifying-the-target-platform">Specifying the Target Platform</h3>
<p>You <em>must</em> specify the target platform when cross-compiling. Doing so will also automatically turn the build into a cross-compiling mode. The simplest way to do this is to use the <code>--openjdk-target</code> argument, e.g. <code>--openjdk-target=arm-linux-gnueabihf</code>. or <code>--openjdk-target=aarch64-oe-linux</code>. This will automatically set the <code>--build</code>, <code>--host</code> and <code>--target</code> options for autoconf, which can otherwise be confusing. (In autoconf terminology, the &quot;target&quot; is known as &quot;host&quot;, and &quot;target&quot; is used for building a Canadian cross-compiler.)</p>
<p>You <em>must</em> specify the target platform when cross-compiling. Doing so will also automatically turn the build into a cross-compiling mode. The simplest way to do this is to use the <code>--openjdk-target</code> argument, e.g. <code>--openjdk-target=arm-linux-gnueabihf</code>. or <code>--openjdk-target=aarch64-oe-linux</code>. This will automatically set the <code>--host</code> and <code>--target</code> options for autoconf, which can otherwise be confusing. (In autoconf terminology, the &quot;target&quot; is known as &quot;host&quot;, and &quot;target&quot; is used for building a Canadian cross-compiler.)</p>
<p>If <code>--build</code> has not been explicitly passed to configure, <code>--openjdk-target</code> will autodetect the build platform and internally set the flag automatically, otherwise the platform that was explicitly passed to <code>--build</code> will be used instead.</p>
<h3 id="toolchain-considerations">Toolchain Considerations</h3>
<p>You will need two copies of your toolchain, one which generates output that can run on the target system (the normal, or <em>target</em>, toolchain), and one that generates output that can run on the build system (the <em>build</em> toolchain). Note that cross-compiling is only supported for gcc at the time being. The gcc standard is to prefix cross-compiling toolchains with the target denominator. If you follow this standard, <code>configure</code> is likely to pick up the toolchain correctly.</p>
<p>The <em>build</em> toolchain will be autodetected just the same way the normal <em>build</em>/<em>target</em> toolchain will be autodetected when not cross-compiling. If this is not what you want, or if the autodetection fails, you can specify a devkit containing the <em>build</em> toolchain using <code>--with-build-devkit</code> to <code>configure</code>, or by giving <code>BUILD_CC</code> and <code>BUILD_CXX</code> arguments.</p>
@@ -887,30 +890,28 @@ spawn failed</code></pre>
<p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
<h2 id="reproducible-builds">Reproducible Builds</h2>
<p>Build reproducibility is the property of getting exactly the same bits out when building, every time, independent on who builds the product, or where. This is for many reasons a harder goal than it initially appears, but it is an important goal, for security reasons and others. Please see <a href="https://reproducible-builds.org">Reproducible Builds</a> for more information about the background and reasons for reproducible builds.</p>
<p>Currently, it is not possible to build OpenJDK fully reproducibly, but getting there is an ongoing effort. There are some things you can do to minimize non-determinism and make a larger part of the build reproducible:</p>
<p>Currently, it is not possible to build OpenJDK fully reproducibly, but getting there is an ongoing effort.</p>
<p>An absolute prerequisite for building reproducible is to speficy a fixed build time, since time stamps are embedded in many file formats. This is done by setting the <code>SOURCE_DATE_EPOCH</code> environment variable, which is an <a href="https://reproducible-builds.org/docs/source-date-epoch/">industry standard</a>, that many tools, such as gcc, recognize, and use in place of the current time when generating output.</p>
<p>To generate reproducible builds, you must set <code>SOURCE_DATE_EPOCH</code> before running <code>configure</code>. The value in <code>SOURCE_DATE_EPOCH</code> will be stored in the configuration, and used by <code>make</code>. Setting <code>SOURCE_DATE_EPOCH</code> before running <code>make</code> will have no effect on the build.</p>
<p>You must also make sure your build does not rely on <code>configure</code>'s default adhoc version strings. Default adhoc version strings <code>OPT</code> segment include user name and source directory. You can either override just the <code>OPT</code> segment using <code>--with-version-opt=&lt;any fixed string&gt;</code>, or you can specify the entire version string using <code>--with-version-string=&lt;your version&gt;</code>.</p>
<p>This is a typical example of how to build the JDK in a reproducible way:</p>
<pre><code>export SOURCE_DATE_EPOCH=946684800
bash configure --with-version-opt=adhoc
make</code></pre>
<p>Note that regardless if you specify a source date for <code>configure</code> or not, the JDK build system will set <code>SOURCE_DATE_EPOCH</code> for all build tools when building. If <code>--with-source-date</code> has the value <code>updated</code> (which is the default unless <code>SOURCE_DATE_EPOCH</code> is found by in the environment by <code>configure</code>), the source date value will be determined at build time.</p>
<p>There are several aspects of reproducible builds that can be individually adjusted by <code>configure</code> arguments. If any of these are given, they will override the value derived from <code>SOURCE_DATE_EPOCH</code>. These arguments are:</p>
<ul>
<li>Turn on build system support for reproducible builds</li>
<li><p><code>--with-source-date</code></p>
<p>This option controls how the JDK build sets <code>SOURCE_DATE_EPOCH</code> when building. It can be set to a value describing a date, either an epoch based timestamp as an integer, or a valid ISO-8601 date.</p>
<p>It can also be set to one of the special values <code>current</code>, <code>updated</code> or <code>version</code>. <code>current</code> means that the time of running <code>configure</code> will be used. <code>version</code> will use the nominal release date for the current JDK version. <code>updated</code>, which means that <code>SOURCE_DATE_EPOCH</code> will be set to the current time each time you are running <code>make</code>. All choices, except for <code>updated</code>, will set a fixed value for the source date timestamp.</p>
<p>When <code>SOURCE_DATE_EPOCH</code> is set, the default value for <code>--with-source-date</code> will be the value given by <code>SOURCE_DATE_EPOCH</code>. Otherwise, the default value is <code>updated</code>.</p></li>
<li><p><code>--with-hotspot-build-time</code></p>
<p>This option controls the build time string that will be included in the hotspot library (<code>libjvm.so</code> or <code>jvm.dll</code>). When the source date is fixed (e.g. by setting <code>SOURCE_DATE_EPOCH</code>), the default value for <code>--with-hotspot-build-time</code> will be an ISO 8601 representation of that time stamp. Otherwise the default value will be the current time when building hotspot.</p></li>
<li><p><code>--with-copyright-year</code></p>
<p>This option controls the copyright year in some generated text files. When the source date is fixed (e.g. by setting <code>SOURCE_DATE_EPOCH</code>), the default value for <code>--with-copyright-year</code> will be the year of that time stamp. Otherwise the default is the current year at the time of running configure. This can be overridden by <code>--with-copyright-year=&lt;year&gt;</code>.</p></li>
<li><p><code>--enable-reproducible-build</code></p>
<p>This option controls some additional behavior needed to make the build reproducible. When the source date is fixed (e.g. by setting <code>SOURCE_DATE_EPOCH</code>), this flag will be turned on by default. Otherwise, the value is determined by heuristics. If it is explicitly turned off, the build might not be reproducible.</p></li>
</ul>
<p>Add the flag <code>--enable-reproducible-build</code> to your <code>configure</code> command line. This will turn on support for reproducible builds where it could otherwise be lacking.</p>
<ul>
<li>Do not rely on <code>configure</code>'s default adhoc version strings</li>
</ul>
<p>Default adhoc version strings OPT segment include user name, source directory and timestamp. You can either override just the OPT segment using <code>--with-version-opt=&lt;any fixed string&gt;</code>, or you can specify the entire version string using <code>--with-version-string=&lt;your version&gt;</code>.</p>
<ul>
<li>Specify how the build sets <code>SOURCE_DATE_EPOCH</code></li>
</ul>
<p>The JDK build system will set the <code>SOURCE_DATE_EPOCH</code> environment variable during building, depending on the value of the <code>--with-source-date</code> option for <code>configure</code>. The default value is <code>updated</code>, which means that <code>SOURCE_DATE_EPOCH</code> will be set to the current time each time you are running <code>make</code>.</p>
<p>The <a href="https://reproducible-builds.org/docs/source-date-epoch/"><code>SOURCE_DATE_EPOCH</code> environment variable</a> is an industry standard, that many tools, such as gcc, recognize, and use in place of the current time when generating output.</p>
<p>For reproducible builds, you need to set this to a fixed value. You can use the special value <code>version</code> which will use the nominal release date for the current JDK version, or a value describing a date, either an epoch based timestamp as an integer, or a valid ISO-8601 date.</p>
<p><strong>Hint:</strong> If your build environment already sets <code>SOURCE_DATE_EPOCH</code>, you can propagate this using <code>--with-source-date=$SOURCE_DATE_EPOCH</code>.</p>
<ul>
<li>Specify a hotspot build time</li>
</ul>
<p>Set a fixed hotspot build time. This will be included in the hotspot library (<code>libjvm.so</code> or <code>jvm.dll</code>) and defaults to the current time when building hotspot. Use <code>--with-hotspot-build-time=&lt;any fixed string&gt;</code> for reproducible builds. It's a string so you don't need to format it specifically, so e.g. <code>n/a</code> will do. Another solution is to use the <code>SOURCE_DATE_EPOCH</code> variable, e.g. <code>--with-hotspot-build-time=$(date --date=@$SOURCE_DATE_EPOCH)</code>.</p>
<ul>
<li>Copyright year</li>
</ul>
<p>The copyright year in some generated text files are normally set to the current year. This can be overridden by <code>--with-copyright-year=&lt;year&gt;</code>. For fully reproducible builds, this needs to be set to a fixed value.</p>
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
<h3 id="bash-completion">Bash Completion</h3>
<p>The <code>configure</code> and <code>make</code> commands tries to play nice with bash command-line completion (using <code>&lt;tab&gt;</code> or <code>&lt;tab&gt;&lt;tab&gt;</code>). To use this functionality, make sure you enable completion in your <code>~/.bashrc</code> (see instructions for bash in your operating system).</p>

View File

@@ -135,6 +135,14 @@ space is required.
If you do not have access to sufficiently powerful hardware, it is also
possible to use [cross-compiling](#cross-compiling).
#### Branch Protection
In order to use Branch Protection features in the VM, `--enable-branch-protection`
must be used. This option requires C++ compiler support (GCC 9.1.0+ or Clang
10+). The resulting build can be run on both machines with and without support
for branch protection in hardware. Branch Protection is only supported for
Linux targets.
### Building on 32-bit arm
This is not recommended. Instead, see the section on [Cross-compiling](
@@ -179,10 +187,10 @@ On Windows, it is important that you pay attention to the instructions in the
Windows is the only non-POSIX OS supported by the JDK, and as such, requires
some extra care. A POSIX support layer is required to build on Windows.
Currently, the only supported such layers are Cygwin and Windows Subsystem for
Linux (WSL). (Msys is no longer supported due to a too old bash; msys2 would
likely be possible to support in a future version but that would require effort
to implement.)
Currently, the only supported such layers are Cygwin, Windows Subsystem for
Linux (WSL), and MSYS2. (MSYS is no longer supported due to an outdated bash;
While OpenJDK can be built with MSYS2, support for it is still experimental, so
build failures and unusual errors are not uncommon.)
Internally in the build system, all paths are represented as Unix-style paths,
e.g. `/cygdrive/c/git/jdk/Makefile` rather than `C:\git\jdk\Makefile`. This
@@ -236,8 +244,8 @@ It's possible to build both Windows and Linux binaries from WSL. To build
Windows binaries, you must use a Windows boot JDK (located in a
Windows-accessible directory). To build Linux binaries, you must use a Linux
boot JDK. The default behavior is to build for Windows. To build for Linux, pass
`--build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu` to
`configure`.
`--build=x86_64-unknown-linux-gnu --openjdk-target=x86_64-unknown-linux-gnu`
to `configure`.
If building Windows binaries, the source code must be located in a Windows-
accessible directory. This is because Windows executables (such as Visual Studio
@@ -374,9 +382,10 @@ available for this update.
### Microsoft Visual Studio
The minimum accepted version of Visual Studio is 2017. Older versions will not
be accepted by `configure` and will not work. The maximum accepted
version of Visual Studio is 2019.
For aarch64 machines running Windows the minimum accepted version is Visual Studio 2019
(16.8 or higher). For all other platforms the minimum accepted version of
Visual Studio is 2017. Older versions will not be accepted by `configure` and will
not work. For all platforms the maximum accepted version of Visual Studio is 2022.
If you have multiple versions of Visual Studio installed, `configure` will by
default pick the latest. You can request a specific version to be used by
@@ -977,11 +986,16 @@ You *must* specify the target platform when cross-compiling. Doing so will also
automatically turn the build into a cross-compiling mode. The simplest way to
do this is to use the `--openjdk-target` argument, e.g.
`--openjdk-target=arm-linux-gnueabihf`. or `--openjdk-target=aarch64-oe-linux`.
This will automatically set the `--build`, `--host` and `--target` options for
This will automatically set the `--host` and `--target` options for
autoconf, which can otherwise be confusing. (In autoconf terminology, the
"target" is known as "host", and "target" is used for building a Canadian
cross-compiler.)
If `--build` has not been explicitly passed to configure, `--openjdk-target`
will autodetect the build platform and internally set the flag automatically,
otherwise the platform that was explicitly passed to `--build` will be used
instead.
### Toolchain Considerations
You will need two copies of your toolchain, one which generates output that can
@@ -1513,57 +1527,85 @@ https://reproducible-builds.org) for more information about the background and
reasons for reproducible builds.
Currently, it is not possible to build OpenJDK fully reproducibly, but getting
there is an ongoing effort. There are some things you can do to minimize
non-determinism and make a larger part of the build reproducible:
there is an ongoing effort.
* Turn on build system support for reproducible builds
An absolute prerequisite for building reproducible is to speficy a fixed build
time, since time stamps are embedded in many file formats. This is done by
setting the `SOURCE_DATE_EPOCH` environment variable, which is an [industry
standard]( https://reproducible-builds.org/docs/source-date-epoch/), that many
tools, such as gcc, recognize, and use in place of the current time when
generating output.
Add the flag `--enable-reproducible-build` to your `configure` command line.
This will turn on support for reproducible builds where it could otherwise be
lacking.
To generate reproducible builds, you must set `SOURCE_DATE_EPOCH` before running
`configure`. The value in `SOURCE_DATE_EPOCH` will be stored in the
configuration, and used by `make`. Setting `SOURCE_DATE_EPOCH` before running
`make` will have no effect on the build.
* Do not rely on `configure`'s default adhoc version strings
Default adhoc version strings OPT segment include user name, source directory
and timestamp. You can either override just the OPT segment using
You must also make sure your build does not rely on `configure`'s default adhoc
version strings. Default adhoc version strings `OPT` segment include user name
and source directory. You can either override just the `OPT` segment using
`--with-version-opt=<any fixed string>`, or you can specify the entire version
string using `--with-version-string=<your version>`.
* Specify how the build sets `SOURCE_DATE_EPOCH`
This is a typical example of how to build the JDK in a reproducible way:
The JDK build system will set the `SOURCE_DATE_EPOCH` environment variable
during building, depending on the value of the `--with-source-date` option for
`configure`. The default value is `updated`, which means that
`SOURCE_DATE_EPOCH` will be set to the current time each time you are running
`make`.
```
export SOURCE_DATE_EPOCH=946684800
bash configure --with-version-opt=adhoc
make
```
The [`SOURCE_DATE_EPOCH` environment variable](
https://reproducible-builds.org/docs/source-date-epoch/) is an industry
standard, that many tools, such as gcc, recognize, and use in place of the
current time when generating output.
Note that regardless if you specify a source date for `configure` or not, the
JDK build system will set `SOURCE_DATE_EPOCH` for all build tools when building.
If `--with-source-date` has the value `updated` (which is the default unless
`SOURCE_DATE_EPOCH` is found by in the environment by `configure`), the source
date value will be determined at build time.
For reproducible builds, you need to set this to a fixed value. You can use the
special value `version` which will use the nominal release date for the current
JDK version, or a value describing a date, either an epoch based timestamp as an
integer, or a valid ISO-8601 date.
There are several aspects of reproducible builds that can be individually
adjusted by `configure` arguments. If any of these are given, they will override
the value derived from `SOURCE_DATE_EPOCH`. These arguments are:
**Hint:** If your build environment already sets `SOURCE_DATE_EPOCH`, you can
propagate this using `--with-source-date=$SOURCE_DATE_EPOCH`.
* `--with-source-date`
* Specify a hotspot build time
This option controls how the JDK build sets `SOURCE_DATE_EPOCH` when
building. It can be set to a value describing a date, either an epoch based
timestamp as an integer, or a valid ISO-8601 date.
Set a fixed hotspot build time. This will be included in the hotspot library
(`libjvm.so` or `jvm.dll`) and defaults to the current time when building
hotspot. Use `--with-hotspot-build-time=<any fixed string>` for reproducible
builds. It's a string so you don't need to format it specifically, so e.g. `n/a`
will do. Another solution is to use the `SOURCE_DATE_EPOCH` variable, e.g.
`--with-hotspot-build-time=$(date --date=@$SOURCE_DATE_EPOCH)`.
It can also be set to one of the special values `current`, `updated` or
`version`. `current` means that the time of running `configure` will be
used. `version` will use the nominal release date for the current JDK
version. `updated`, which means that `SOURCE_DATE_EPOCH` will be set to the
current time each time you are running `make`. All choices, except for
`updated`, will set a fixed value for the source date timestamp.
* Copyright year
When `SOURCE_DATE_EPOCH` is set, the default value for `--with-source-date`
will be the value given by `SOURCE_DATE_EPOCH`. Otherwise, the default value
is `updated`.
The copyright year in some generated text files are normally set to the current
year. This can be overridden by `--with-copyright-year=<year>`. For fully
reproducible builds, this needs to be set to a fixed value.
* `--with-hotspot-build-time`
This option controls the build time string that will be included in the
hotspot library (`libjvm.so` or `jvm.dll`). When the source date is fixed
(e.g. by setting `SOURCE_DATE_EPOCH`), the default value for
`--with-hotspot-build-time` will be an ISO 8601 representation of that time
stamp. Otherwise the default value will be the current time when building
hotspot.
* `--with-copyright-year`
This option controls the copyright year in some generated text files. When
the source date is fixed (e.g. by setting `SOURCE_DATE_EPOCH`), the default
value for `--with-copyright-year` will be the year of that time stamp.
Otherwise the default is the current year at the time of running configure.
This can be overridden by `--with-copyright-year=<year>`.
* `--enable-reproducible-build`
This option controls some additional behavior needed to make the build
reproducible. When the source date is fixed (e.g. by setting
`SOURCE_DATE_EPOCH`), this flag will be turned on by default. Otherwise, the
value is determined by heuristics. If it is explicitly turned off, the build
might not be reproducible.
## Hints and Suggestions for Advanced Users

View File

@@ -67,7 +67,9 @@
<h3 id="counterexamples-and-updates">Counterexamples and Updates</h3>
<p>Many of the guidelines mentioned here have (sometimes widespread) counterexamples in the HotSpot code base. Finding a counterexample is not sufficient justification for new code to follow the counterexample as a precedent, since readers of your code will rightfully expect your code to follow the greater bulk of precedents documented here.</p>
<p>Occasionally a guideline mentioned here may be just out of synch with the actual HotSpot code base. If you find that a guideline is consistently contradicted by a large number of counterexamples, please bring it up for discussion and possible change. The architectural rule, of course, is &quot;When in Rome do as the Romans&quot;. Sometimes in the suburbs of Rome the rules are a little different; these differences can be pointed out here.</p>
<p>Proposed changes should be discussed on the <a href="mailto:hotspot-dev@openjdk.java.net">HotSpot Developers</a> mailing list, and approved by <a href="https://en.wikipedia.org/wiki/Rough_consensus">rough consensus</a> of the <a href="https://openjdk.java.net/census#hotspot">HotSpot Group</a> Members. The Group Lead determines whether consensus has been reached. Changes are likely to be cautious and incremental, since HotSpot coders have been using these guidelines for years.</p>
<p>Proposed changes should be discussed on the <a href="mailto:hotspot-dev@openjdk.java.net">HotSpot Developers</a> mailing list. Changes are likely to be cautious and incremental, since HotSpot coders have been using these guidelines for years.</p>
<p>Substantive changes are approved by <a href="https://www.rfc-editor.org/rfc/rfc7282.html">rough consensus</a> of the <a href="https://openjdk.java.net/census#hotspot">HotSpot Group</a> Members. The Group Lead determines whether consensus has been reached.</p>
<p>Editorial changes (changes that only affect the description of HotSpot style, not its substance) do not require the full consensus gathering process. The normal HotSpot pull request process may be used for editorial changes, with the additional requirement that the requisite reviewers are also HotSpot Group Members.</p>
<h2 id="structure-and-formatting">Structure and Formatting</h2>
<h3 id="factoring-and-class-design">Factoring and Class Design</h3>
<ul>
@@ -151,7 +153,7 @@
<h3 id="whitespace">Whitespace</h3>
<ul>
<li><p>In general, don't change whitespace unless it improves readability or consistency. Gratuitous whitespace changes will make integrations and backports more difficult.</p></li>
<li><p>Use One-True-Brace-Style. The opening brace for a function or class is normally at the end of the line; it is sometimes moved to the beginning of the next line for emphasis. Substatements are enclosed in braces, even if there is only a single statement. Extremely simple one-line statements may drop braces around a substatement.</p></li>
<li><p>Use <a href="https://en.wikipedia.org/wiki/Indentation_style#Variant:_1TBS_(OTBS)">One-True-Brace-Style</a>. The opening brace for a function or class is normally at the end of the line; it is sometimes moved to the beginning of the next line for emphasis. Substatements are enclosed in braces, even if there is only a single statement. Extremely simple one-line statements may drop braces around a substatement.</p></li>
<li><p>Indentation levels are two columns.</p></li>
<li><p>There is no hard line length limit. That said, bear in mind that excessively long lines can cause difficulties. Some people like to have multiple side-by-side windows in their editors, and long lines may force them to choose among unpleasant options. They can use wide windows, reducing the number that can fit across the screen, and wasting a lot of screen real estate because most lines are not that long. Alternatively, they can have more windows across the screen, with long lines wrapping (or worse, requiring scrolling to see in their entirety), which is harder to read. Similar issues exist for side-by-side code reviews.</p></li>
<li><p>Tabs are not allowed in code. Set your editor accordingly.<br> (Emacs: <code>(setq-default indent-tabs-mode nil)</code>.)</p></li>
@@ -195,7 +197,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
<p>Similar discussions for some other projects:</p>
<ul>
<li><p><a href="https://google.github.io/styleguide/cppguide.html">Google C++ Style Guide</a> — Currently (2020) targeting C++17.</p></li>
<li><p><a href="https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++11.md">C++11 and C++14 use in Chromium</a> — Categorizes features as allowed, banned, or to be discussed.</p></li>
<li><p><a href="https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++-features.md">C++11 and C++14 use in Chromium</a> — Categorizes features as allowed, banned, or to be discussed.</p></li>
<li><p><a href="https://llvm.org/docs/CodingStandards.html">llvm Coding Standards</a> — Currently (2020) targeting C++14.</p></li>
<li><p><a href="https://firefox-source-docs.mozilla.org/code-quality/coding-style/using_cxx_in_firefox_code.html">Using C++ in Mozilla code</a> — C++17 support is required for recent versions (2020).</p></li>
</ul>
@@ -436,7 +438,7 @@ while ( test_foo(args...) ) { // No, excess spaces around control</code></pre></
<li><p>Inline namespaces (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm">n2535</a>) — HotSpot makes very limited use of namespaces.</p></li>
<li><p><code>using namespace</code> directives. In particular, don't use <code>using namespace std;</code> to avoid needing to qualify Standard Library names.</p></li>
<li><p>Propagating exceptions (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html">n2179</a>) — HotSpot does not permit the use of exceptions, so this feature isn't useful.</p></li>
<li><p>Avoid namespace-scoped variables with non-constexpr initialization. In particular, avoid variables with types requiring non-trivial 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>Avoid non-local variables with non-constexpr initialization. In particular, avoid variables with types requiring non-trivial 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>
<li><p>Avoid most implicit conversion constructors and (implicit or explicit) conversion operators. (Note that conversion to <code>bool</code> isn't needed in HotSpot code because of the &quot;no implicit boolean&quot; guideline.)</p></li>

View File

@@ -56,12 +56,19 @@ can be pointed out here.
Proposed changes should be discussed on the
[HotSpot Developers](mailto:hotspot-dev@openjdk.java.net) mailing
list, and approved by
[rough consensus](https://en.wikipedia.org/wiki/Rough_consensus) of
list. Changes are likely to be cautious and incremental, since HotSpot
coders have been using these guidelines for years.
Substantive changes are approved by
[rough consensus](https://www.rfc-editor.org/rfc/rfc7282.html) of
the [HotSpot Group](https://openjdk.java.net/census#hotspot) Members.
The Group Lead determines whether consensus has been reached.
Changes are likely to be cautious and incremental, since HotSpot
coders have been using these guidelines for years.
Editorial changes (changes that only affect the description of HotSpot
style, not its substance) do not require the full consensus gathering
process. The normal HotSpot pull request process may be used for
editorial changes, with the additional requirement that the requisite
reviewers are also HotSpot Group Members.
## Structure and Formatting
@@ -287,7 +294,9 @@ well.
or consistency. Gratuitous whitespace changes will make integrations
and backports more difficult.
* Use One-True-Brace-Style. The opening brace for a function or class
* Use [One-True-Brace-Style](
https://en.wikipedia.org/wiki/Indentation_style#Variant:_1TBS_(OTBS)).
The opening brace for a function or class
is normally at the end of the line; it is sometimes moved to the
beginning of the next line for emphasis. Substatements are enclosed
in braces, even if there is only a single statement. Extremely simple
@@ -409,7 +418,7 @@ Similar discussions for some other projects:
* [Google C++ Style Guide](https://google.github.io/styleguide/cppguide.html) &mdash;
Currently (2020) targeting C++17.
* [C++11 and C++14 use in Chromium](https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++11.md) &mdash;
* [C++11 and C++14 use in Chromium](https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++-features.md) &mdash;
Categorizes features as allowed, banned, or to be discussed.
* [llvm Coding Standards](https://llvm.org/docs/CodingStandards.html) &mdash;
@@ -1057,7 +1066,7 @@ namespace std;` to avoid needing to qualify Standard Library names.
([n2179](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html)) &mdash;
HotSpot does not permit the use of exceptions, so this feature isn't useful.
* Avoid namespace-scoped variables with non-constexpr initialization.
* Avoid non-local variables with non-constexpr initialization.
In particular, avoid variables with types requiring non-trivial
initialization or destruction. Initialization order problems can be
difficult to deal with and lead to surprises, as can destruction

View File

@@ -41,14 +41,20 @@
<pre class="shell"><code>make vscode-project-clangd</code></pre>
<p>Additional instructions for configuring the given indexer will be displayed after the workspace has been generated.</p>
<h4 id="visual-studio">Visual Studio</h4>
<p>This section is a work in progress.</p>
<pre class="shell"><code>make ide-project</code></pre>
<p>The make system can generate a Visual Studio project for the Hotspot native source. After configuring, the project is generated using:</p>
<pre class="shell"><code>make hotspot-ide-project</code></pre>
<p>This creates a file named <code>jvm.vcxproj</code> in <code>ide\hotspot-visualstudio</code> subfolder of the build output folder. The file can be opened in Visual Studio via <code>File -&gt; Open -&gt; Project/Solution</code>.</p>
<h4 id="compilation-database">Compilation Database</h4>
<p>The make system can generate generic native code indexing support in the form of a <a href="https://clang.llvm.org/docs/JSONCompilationDatabase.html">Compilation Database</a> that can be used by many different IDEs and source code indexers.</p>
<pre class="shell"><code>make compile-commands</code></pre>
<p>It's also possible to generate the Compilation Database for the HotSpot source code only, which is a bit faster as it includes less information.</p>
<pre class="shell"><code>make compile-commands-hotspot</code></pre>
<h3 id="ide-support-for-java-code">IDE support for Java code</h3>
<p>This section is a work in progress.</p>
<h4 id="intellij-idea">IntelliJ IDEA</h4>
<p>The JDK project has a script that can be used for indexing the project with IntelliJ. After configuring and building the JDK, an IntelliJ workspace can be generated by running the following command in the top-level folder of the cloned repository:</p>
<pre class="shell"><code>bash bin/idea.sh</code></pre>
<p>To use it, choose <code>File -&gt; Open...</code> in IntelliJ and select the folder where you ran the above script.</p>
<p>Next, configure the project SDK in IntelliJ. Open <code>File -&gt; Project Structure -&gt; Project</code> and select <code>build/&lt;config&gt;/images/jdk</code> as the SDK to use.</p>
<p>In order to run the tests from the IDE, you can use the JTReg plugin. Instructions for building and using the plugin can be found <a href="https://github.com/openjdk/jtreg/tree/master/plugins/idea">here</a>.</p>
</body>
</html>

View File

@@ -45,12 +45,17 @@ after the workspace has been generated.
#### Visual Studio
This section is a work in progress.
The make system can generate a Visual Studio project for the Hotspot
native source. After configuring, the project is generated using:
```shell
make ide-project
make hotspot-ide-project
```
This creates a file named `jvm.vcxproj` in `ide\hotspot-visualstudio`
subfolder of the build output folder. The file can be opened in Visual Studio
via `File -> Open -> Project/Solution`.
#### Compilation Database
The make system can generate generic native code indexing support in the form of
@@ -70,4 +75,24 @@ make compile-commands-hotspot
### IDE support for Java code
This section is a work in progress.
#### IntelliJ IDEA
The JDK project has a script that can be used for indexing the project
with IntelliJ. After configuring and building the JDK, an IntelliJ workspace
can be generated by running the following command in the top-level folder
of the cloned repository:
```shell
bash bin/idea.sh
```
To use it, choose `File -> Open...` in IntelliJ and select the folder where
you ran the above script.
Next, configure the project SDK in IntelliJ. Open
`File -> Project Structure -> Project` and select `build/<config>/images/jdk`
as the SDK to use.
In order to run the tests from the IDE, you can use the JTReg plugin.
Instructions for building and using the plugin can be found
[here](https://github.com/openjdk/jtreg/tree/master/plugins/idea).

View File

@@ -193,9 +193,9 @@ TEST FAILURE</code></pre>
<h4 id="aot_modules-1">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<h4 id="retry_count">RETRY_COUNT</h4>
<p>Retry failed tests up to a set number of times. Defaults to 0.</p>
<p>Retry failed tests up to a set number of times, until they pass. This allows to pass the tests with intermittent failures. Defaults to 0.</p>
<h4 id="repeat_count">REPEAT_COUNT</h4>
<p>Repeat the tests for a set number of times. Defaults to 0.</p>
<p>Repeat the tests up to a set number of times, stopping at first failure. This helps to reproduce intermittent test failures. Defaults to 0.</p>
<h3 id="gtest-keywords">Gtest keywords</h3>
<h4 id="repeat">REPEAT</h4>
<p>The number of times to repeat the tests (<code>--gtest_repeat</code>).</p>

View File

@@ -419,11 +419,15 @@ modules. If multiple modules are specified, they should be separated by space
#### RETRY_COUNT
Retry failed tests up to a set number of times. Defaults to 0.
Retry failed tests up to a set number of times, until they pass.
This allows to pass the tests with intermittent failures.
Defaults to 0.
#### REPEAT_COUNT
Repeat the tests for a set number of times. Defaults to 0.
Repeat the tests up to a set number of times, stopping at first failure.
This helps to reproduce intermittent test failures.
Defaults to 0.
### Gtest keywords

View File

@@ -226,6 +226,13 @@ else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker*,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
endif
# For reproducible builds specify the jmod --date using SOURCE_DATE in ISO-8601
ifeq ($(ENABLE_REPRODUCIBLE_BUILD), true)
JMOD_SOURCE_DATE := --date $(SOURCE_DATE_ISO_8601)
else
JMOD_SOURCE_DATE :=
endif
# Create jmods in the support dir and then move them into place to keep the
# module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
$(eval $(call SetupExecute, create_$(JMOD_FILE), \
@@ -237,6 +244,7 @@ $(eval $(call SetupExecute, create_$(JMOD_FILE), \
COMMAND := $(JMOD) create --module-version $(VERSION_SHORT) \
--target-platform '$(OPENJDK_MODULE_TARGET_PLATFORM)' \
--module-path $(JMODS_DIR) $(JMOD_FLAGS) \
$(JMOD_SOURCE_DATE) \
$(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \
POST_COMMAND := $(MV) $(JMODS_SUPPORT_DIR)/$(JMOD_FILE) $(JMODS_DIR)/$(JMOD_FILE), \
))

View File

@@ -131,7 +131,7 @@ JAVA_PLATFORM := Java Platform
ifeq ($(IS_DRAFT), true)
DRAFT_MARKER_STR := <br><strong>DRAFT $(VERSION_STRING)</strong>
ifeq ($(VERSION_BUILD), 0)
ifeq ($(VERSION_BUILD), )
DRAFT_MARKER_TITLE := $(SPACE)[ad-hoc build]
else
DRAFT_MARKER_TITLE := $(SPACE)[build $(VERSION_BUILD)]

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2020, 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
@@ -35,107 +35,165 @@ include JdkNativeCompilation.gmk
################################################################################
HSDIS_OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/hsdis
REAL_HSDIS_NAME := hsdis-$(OPENJDK_TARGET_CPU_LEGACY_LIB)$(SHARED_LIBRARY_SUFFIX)
BUILT_HSDIS_LIB := $(HSDIS_OUTPUT_DIR)/$(REAL_HSDIS_NAME)
ifeq ($(call isTargetOs, windows), true)
INSTALLED_HSDIS_DIR := $(JDK_OUTPUTDIR)/bin
HSDIS_TOOLCHAIN := TOOLCHAIN_DEFAULT
HSDIS_TOOLCHAIN_CFLAGS := $(CFLAGS_JDKLIB)
HSDIS_TOOLCHAIN_LDFLAGS := $(LDFLAGS_JDKLIB)
# On windows, we need to "fake" a completely different toolchain using gcc
# instead of the normal microsoft toolchain. This is quite hacky...
MINGW_BASE := x86_64-w64-mingw32
MINGW_SYSROOT = $(shell $(MINGW_BASE)-gcc -print-sysroot)
ifeq ($(wildcard $(MINGW_SYSROOT)), )
# Use fallback path
MINGW_SYSROOT := /usr/$(MINGW_BASE)
ifeq ($(wildcard $(MINGW_SYSROOT)), )
$(error mingw sysroot not found)
endif
ifeq ($(HSDIS_BACKEND), capstone)
ifeq ($(call isTargetCpuArch, x86), true)
CAPSTONE_ARCH := CS_ARCH_X86
CAPSTONE_MODE := CS_MODE_$(OPENJDK_TARGET_CPU_BITS)
else ifeq ($(call isTargetCpuArch, aarch64), true)
CAPSTONE_ARCH := CS_ARCH_ARM64
CAPSTONE_MODE := CS_MODE_ARM
else
$(error No support for Capstone on this platform)
endif
$(eval $(call DefineNativeToolchain, TOOLCHAIN_MINGW, \
CC := $(MINGW_BASE)-gcc, \
LD := $(MINGW_BASE)-ld, \
OBJCOPY := $(MINGW_BASE)-objcopy, \
RC := $(RC), \
SYSROOT_CFLAGS := --sysroot=$(MINGW_SYSROOT), \
SYSROOT_LDFLAGS := --sysroot=$(MINGW_SYSROOT), \
))
MINGW_SYSROOT_LIB_PATH := $(MINGW_SYSROOT)/mingw/lib
ifeq ($(wildcard $(MINGW_SYSROOT_LIB_PATH)), )
# Try without mingw
MINGW_SYSROOT_LIB_PATH := $(MINGW_SYSROOT)/lib
ifeq ($(wildcard $(MINGW_SYSROOT_LIB_PATH)), )
$(error mingw sysroot lib path not found)
endif
endif
MINGW_VERSION = $(shell $(MINGW_BASE)-gcc -v 2>&1 | $(GREP) "gcc version" | $(CUT) -d " " -f 3)
MINGW_GCC_LIB_PATH := /usr/lib/gcc/$(MINGW_BASE)/$(MINGW_VERSION)
ifeq ($(wildcard $(MINGW_GCC_LIB_PATH)), )
# Try using only major version number
MINGW_VERSION_MAJOR := $(firstword $(subst ., , $(MINGW_VERSION)))
MINGW_GCC_LIB_PATH := /usr/lib/gcc/$(MINGW_BASE)/$(MINGW_VERSION_MAJOR)
ifeq ($(wildcard $(MINGW_GCC_LIB_PATH)), )
$(error mingw gcc lib path not found)
endif
endif
TOOLCHAIN_TYPE := gcc
OPENJDK_TARGET_OS := linux
CC_OUT_OPTION := -o$(SPACE)
LD_OUT_OPTION := -o$(SPACE)
GENDEPS_FLAGS := -MMD -MF
CFLAGS_DEBUG_SYMBOLS := -g
DISABLED_WARNINGS :=
DISABLE_WARNING_PREFIX := -Wno-
CFLAGS_WARNINGS_ARE_ERRORS := -Werror
SHARED_LIBRARY_FLAGS := -shared
HSDIS_TOOLCHAIN := TOOLCHAIN_MINGW
HSDIS_TOOLCHAIN_CFLAGS :=
HSDIS_TOOLCHAIN_LDFLAGS := -L$(MINGW_GCC_LIB_PATH) -L$(MINGW_SYSROOT_LIB_PATH)
MINGW_DLLCRT := $(MINGW_SYSROOT_LIB_PATH)/dllcrt2.o
HSDIS_TOOLCHAIN_LIBS := $(MINGW_DLLCRT) -lmingw32 -lgcc -lgcc_eh -lmoldname \
-lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32
else
INSTALLED_HSDIS_DIR := $(JDK_OUTPUTDIR)/lib
HSDIS_TOOLCHAIN := TOOLCHAIN_DEFAULT
HSDIS_TOOLCHAIN_CFLAGS := $(CFLAGS_JDKLIB)
HSDIS_TOOLCHAIN_LDFLAGS := $(LDFLAGS_JDKLIB)
HSDIS_TOOLCHAIN_LIBS := -ldl
HSDIS_CFLAGS += -DCAPSTONE_ARCH=$(CAPSTONE_ARCH) \
-DCAPSTONE_MODE=$(CAPSTONE_MODE)
endif
ifeq ($(HSDIS_BACKEND), llvm)
# Use C++ instead of C
HSDIS_TOOLCHAIN_CFLAGS := $(CXXFLAGS_JDKLIB)
HSDIS_TOOLCHAIN := TOOLCHAIN_LINK_CXX
ifeq ($(call isTargetOs, linux), true)
LLVM_OS := pc-linux-gnu
else ifeq ($(call isTargetOs, macosx), true)
LLVM_OS := apple-darwin
else ifeq ($(call isTargetOs, windows), true)
LLVM_OS := pc-windows-msvc
else
$(error No support for LLVM on this platform)
endif
HSDIS_CFLAGS += -DLLVM_DEFAULT_TRIPLET='"$(OPENJDK_TARGET_CPU)-$(LLVM_OS)"'
endif
ifeq ($(HSDIS_BACKEND), binutils)
ifeq ($(call isTargetOs, windows), true)
# On windows, we need to "fake" a completely different toolchain using gcc
# instead of the normal microsoft toolchain. This is quite hacky...
MINGW_BASE := x86_64-w64-mingw32
MINGW_SYSROOT = $(shell $(MINGW_BASE)-gcc -print-sysroot)
ifeq ($(wildcard $(MINGW_SYSROOT)), )
# Use fallback path
MINGW_SYSROOT := /usr/$(MINGW_BASE)
ifeq ($(wildcard $(MINGW_SYSROOT)), )
$(error mingw sysroot not found)
endif
endif
$(eval $(call DefineNativeToolchain, TOOLCHAIN_MINGW, \
CC := $(MINGW_BASE)-gcc, \
LD := $(MINGW_BASE)-ld, \
OBJCOPY := $(MINGW_BASE)-objcopy, \
RC := $(RC), \
SYSROOT_CFLAGS := --sysroot=$(MINGW_SYSROOT), \
SYSROOT_LDFLAGS := --sysroot=$(MINGW_SYSROOT), \
))
MINGW_SYSROOT_LIB_PATH := $(MINGW_SYSROOT)/mingw/lib
ifeq ($(wildcard $(MINGW_SYSROOT_LIB_PATH)), )
# Try without mingw
MINGW_SYSROOT_LIB_PATH := $(MINGW_SYSROOT)/lib
ifeq ($(wildcard $(MINGW_SYSROOT_LIB_PATH)), )
$(error mingw sysroot lib path not found)
endif
endif
MINGW_VERSION = $(shell $(MINGW_BASE)-gcc -v 2>&1 | $(GREP) "gcc version" | $(CUT) -d " " -f 3)
MINGW_GCC_LIB_PATH := /usr/lib/gcc/$(MINGW_BASE)/$(MINGW_VERSION)
ifeq ($(wildcard $(MINGW_GCC_LIB_PATH)), )
# Try using only major version number
MINGW_VERSION_MAJOR := $(firstword $(subst ., , $(MINGW_VERSION)))
MINGW_GCC_LIB_PATH := /usr/lib/gcc/$(MINGW_BASE)/$(MINGW_VERSION_MAJOR)
ifeq ($(wildcard $(MINGW_GCC_LIB_PATH)), )
$(error mingw gcc lib path not found)
endif
endif
TOOLCHAIN_TYPE := gcc
OPENJDK_TARGET_OS := linux
CC_OUT_OPTION := -o$(SPACE)
LD_OUT_OPTION := -o$(SPACE)
GENDEPS_FLAGS := -MMD -MF
CFLAGS_DEBUG_SYMBOLS := -g
DISABLED_WARNINGS :=
DISABLE_WARNING_PREFIX := -Wno-
CFLAGS_WARNINGS_ARE_ERRORS := -Werror
SHARED_LIBRARY_FLAGS := -shared
HSDIS_TOOLCHAIN := TOOLCHAIN_MINGW
HSDIS_TOOLCHAIN_CFLAGS :=
HSDIS_TOOLCHAIN_LDFLAGS := -L$(MINGW_GCC_LIB_PATH) -L$(MINGW_SYSROOT_LIB_PATH)
MINGW_DLLCRT := $(MINGW_SYSROOT_LIB_PATH)/dllcrt2.o
HSDIS_TOOLCHAIN_LIBS := $(MINGW_DLLCRT) -lmingw32 -lgcc -lgcc_eh -lmoldname \
-lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32
else
HSDIS_TOOLCHAIN_LIBS := -ldl
endif
endif
$(eval $(call SetupJdkLibrary, BUILD_HSDIS, \
NAME := hsdis, \
SRC := $(TOPDIR)/src/utils/hsdis, \
SRC := $(TOPDIR)/src/utils/hsdis/$(HSDIS_BACKEND), \
EXTRA_HEADER_DIRS := $(TOPDIR)/src/utils/hsdis, \
TOOLCHAIN := $(HSDIS_TOOLCHAIN), \
OUTPUT_DIR := $(HSDIS_OUTPUT_DIR), \
OBJECT_DIR := $(HSDIS_OUTPUT_DIR), \
DISABLED_WARNINGS_gcc := undef format-nonliteral sign-compare, \
DISABLED_WARNINGS_clang := undef format-nonliteral, \
CFLAGS := $(HSDIS_TOOLCHAIN_CFLAGS) $(HSDIS_CFLAGS), \
LDFLAGS := $(HSDIS_TOOLCHAIN_LDFLAGS) $(SHARED_LIBRARY_FLAGS), \
LDFLAGS := $(HSDIS_TOOLCHAIN_LDFLAGS) $(HSDIS_LDFLAGS) $(SHARED_LIBRARY_FLAGS), \
LIBS := $(HSDIS_LIBS) $(HSDIS_TOOLCHAIN_LIBS), \
))
build: $(BUILD_HSDIS)
$(BUILT_HSDIS_LIB): $(BUILD_HSDIS_TARGET)
$(install-file)
build: $(BUILD_HSDIS) $(BUILT_HSDIS_LIB)
TARGETS += build
INSTALLED_HSDIS_NAME := hsdis-$(OPENJDK_TARGET_CPU_LEGACY_LIB)$(SHARED_LIBRARY_SUFFIX)
ifeq ($(ENABLE_HSDIS_BUNDLING), false)
INSTALLED_HSDIS := $(INSTALLED_HSDIS_DIR)/$(INSTALLED_HSDIS_NAME)
ifeq ($(call isTargetOs, windows), true)
JDK_HSDIS_DIR := $(JDK_OUTPUTDIR)/bin
IMAGE_HSDIS_DIR := $(JDK_IMAGE_DIR)/bin
else
JDK_HSDIS_DIR := $(JDK_OUTPUTDIR)/lib
IMAGE_HSDIS_DIR := $(JDK_IMAGE_DIR)/lib
endif
$(INSTALLED_HSDIS): $(BUILD_HSDIS_TARGET)
$(call LogWarn, NOTE: The resulting build might not be redistributable. Seek legal advice before distibuting.)
INSTALLED_HSDIS_JDK := $(JDK_HSDIS_DIR)/$(REAL_HSDIS_NAME)
INSTALLED_HSDIS_IMAGE := $(IMAGE_HSDIS_DIR)/$(REAL_HSDIS_NAME)
$(INSTALLED_HSDIS_JDK): $(BUILT_HSDIS_LIB)
ifeq ($(HSDIS_BACKEND), binutils)
$(call LogWarn, NOTE: The resulting build might not be redistributable. Seek legal advice before distributing.)
endif
$(install-file)
$(INSTALLED_HSDIS_IMAGE): $(BUILT_HSDIS_LIB)
$(install-file)
install: $(INSTALLED_HSDIS)
install: $(INSTALLED_HSDIS_JDK) $(INSTALLED_HSDIS_IMAGE)
else
install:
$(ECHO) NOTE: make install-hsdis is a no-op with --enable-hsdis-bundling
endif
TARGETS += install

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -310,9 +310,17 @@ else # $(HAS_SPEC)=true
# level of reproducible builds
define SetupReproducibleBuild
ifeq ($$(SOURCE_DATE), updated)
SOURCE_DATE := $$(shell $$(DATE) +"%s")
# For static values of SOURCE_DATE (not "updated"), these are set in spec.gmk
export SOURCE_DATE_EPOCH := $$(shell $$(DATE) +"%s")
ifeq ($$(IS_GNU_DATE), yes)
export SOURCE_DATE_ISO_8601 := $$(shell $$(DATE) --utc \
--date="@$$(SOURCE_DATE_EPOCH)" +"$$(ISO_8601_FORMAT_STRING)" \
2> /dev/null)
else
export SOURCE_DATE_ISO_8601 := $$(shell $$(DATE) -u -j -f "%s" \
"$$(SOURCE_DATE_EPOCH)" +"$$(ISO_8601_FORMAT_STRING)" 2> /dev/null)
endif
endif
export SOURCE_DATE_EPOCH := $$(SOURCE_DATE)
endef
# Parse COMPARE_BUILD into COMPARE_BUILD_*

View File

@@ -535,6 +535,7 @@ ifneq ($(HSDIS_BACKEND), none)
$(eval $(call SetupTarget, install-hsdis, \
MAKEFILE := Hsdis, \
TARGET := install, \
DEPS := jdk-image, \
))
endif
@@ -861,6 +862,10 @@ else
$(foreach t, $(filter-out java.base-libs, $(LIBS_TARGETS)), \
$(eval $t: java.base-libs))
ifeq ($(ENABLE_HSDIS_BUNDLING), true)
java.base-copy: build-hsdis
endif
# jdk.accessibility depends on java.desktop
jdk.accessibility-libs: java.desktop-libs

View File

@@ -35,8 +35,8 @@ BUILD_INFO_PROPERTIES := $(TEST_IMAGE_DIR)/build-info.properties
$(BUILD_INFO_PROPERTIES):
$(call MakeTargetDir)
$(ECHO) "# Build info properties for JDK tests" > $@
$(ECHO) "build.workspace.root=$(call FixPath, $(WORKSPACE_ROOT))" >> $@
$(ECHO) "build.output.root=$(call FixPath, $(OUTPUTDIR))" >> $@
$(ECHO) 'build.workspace.root=$(call FixPath, $(WORKSPACE_ROOT))' >> $@
$(ECHO) 'build.output.root=$(call FixPath, $(OUTPUTDIR))' >> $@
README := $(TEST_IMAGE_DIR)/Readme.txt

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -438,7 +438,9 @@ AC_DEFUN([BASIC_CHECK_DIR_ON_LOCAL_DISK],
AC_DEFUN_ONCE([BASIC_CHECK_SRC_PERMS],
[
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
file_to_test="$TOPDIR/LICENSE"
# The choice of file here is somewhat arbitrary, it just needs to be there
# in the source tree when configure runs
file_to_test="$TOPDIR/Makefile"
if test `$STAT -c '%a' "$file_to_test"` -lt 400; then
AC_MSG_ERROR([Bad file permissions on src files. This is usually caused by cloning the repositories with a non cygwin hg in a directory not created in cygwin.])
fi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -80,6 +80,7 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
# Optional tools, we can do without them
UTIL_LOOKUP_PROGS(DF, df)
UTIL_LOOKUP_PROGS(GIT, git)
UTIL_LOOKUP_PROGS(NICE, nice)
UTIL_LOOKUP_PROGS(READLINK, greadlink readlink)
@@ -339,7 +340,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
UTIL_LOOKUP_PROGS(READELF, greadelf readelf)
UTIL_LOOKUP_PROGS(DOT, dot)
UTIL_LOOKUP_PROGS(HG, hg)
UTIL_LOOKUP_PROGS(GIT, git)
UTIL_LOOKUP_PROGS(STAT, stat)
UTIL_LOOKUP_PROGS(TIME, time)
UTIL_LOOKUP_PROGS(FLOCK, flock)
@@ -356,13 +356,17 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
fi
AC_SUBST(IS_GNU_TIME)
# Check if it's GNU date
check_date=`$DATE --version 2>&1 | $GREP GNU`
# Check if it's a GNU date compatible version
AC_MSG_CHECKING([if date is a GNU compatible version])
check_date=`$DATE --version 2>&1 | $GREP "GNU\|BusyBox"`
if test "x$check_date" != x; then
AC_MSG_RESULT([yes])
IS_GNU_DATE=yes
else
AC_MSG_RESULT([no])
IS_GNU_DATE=no
fi
AC_SUBST(IS_GNU_DATE)
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
UTIL_REQUIRE_PROGS(DSYMUTIL, dsymutil)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -185,6 +185,16 @@ AC_DEFUN([BASIC_SETUP_PATHS_WINDOWS],
AC_MSG_RESULT([unknown])
AC_MSG_WARN([It seems that your find utility is non-standard.])
fi
if test "x$GIT" != x && test -e $TOPDIR/.git; then
git_autocrlf=`$GIT config core.autocrlf`
if test "x$git_autocrlf" != x && test "x$git_autocrlf" != "xfalse"; then
AC_MSG_NOTICE([Your git configuration does not set core.autocrlf to false.])
AC_MSG_NOTICE([If you checked out this code using that setting, the build WILL fail.])
AC_MSG_NOTICE([To correct, run "git config --global core.autocrlf false" and re-clone the repo.])
AC_MSG_WARN([Code is potentially incorrectly cloned. HIGH RISK of build failure!])
fi
fi
])
# Verify that the directory is usable on Windows

View File

@@ -379,6 +379,16 @@ 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
BOOT_JDK_JAR_SUPPORTS_DATE=true
else
BOOT_JDK_JAR_SUPPORTS_DATE=false
fi
AC_MSG_CHECKING([if Boot JDK jar supports --date=TIMESTAMP])
AC_MSG_RESULT([$BOOT_JDK_JAR_SUPPORTS_DATE])
AC_SUBST(BOOT_JDK_JAR_SUPPORTS_DATE)
# When compiling code to be executed by the Boot JDK, force compatibility with the
# oldest supported bootjdk.
OLDEST_BOOT_JDK=`$ECHO $DEFAULT_ACCEPTABLE_BOOT_VERSIONS \

View File

@@ -53,7 +53,7 @@ export LDD="@LDD@"
export LN="@LN@"
export MKDIR="@MKDIR@"
export MV="@MV@"
export NM="@GNM@"
export NM="@NM@"
export OBJDUMP="@OBJDUMP@"
export OTOOL="@OTOOL@"
export PRINTF="@PRINTF@"

View File

@@ -274,11 +274,11 @@ do
# Check for certain autoconf options that require extra action
case $conf_option in
-build | --build | --buil | --bui | --bu |-build=* | --build=* | --buil=* | --bui=* | --bu=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
conf_build_set=true ;;
-target | --target | --targe | --targ | --tar | --ta | --t | -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
conf_incompatible_crosscompile="$conf_incompatible_crosscompile $conf_option" ;;
-host | --host | --hos | --ho | -host=* | --host=* | --hos=* | --ho=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
conf_incompatible_crosscompile="$conf_incompatible_crosscompile $conf_option" ;;
-help | --help | --hel | --he | -h)
conf_print_help=true ;;
esac
@@ -287,23 +287,30 @@ done
# Save the quoted command line
CONFIGURE_COMMAND_LINE="${conf_quoted_arguments[@]}"
if test "x$conf_legacy_crosscompile" != "x"; then
if test "x$conf_incompatible_crosscompile" != "x"; then
if test "x$conf_openjdk_target" != "x"; then
echo "Error: Specifying --openjdk-target together with autoconf"
echo "legacy cross-compilation flags is not supported."
echo "You specified: --openjdk-target=$conf_openjdk_target and $conf_legacy_crosscompile."
echo "The recommended use is just --openjdk-target."
echo "Error: --openjdk-target was specified together with"
echo "incompatible autoconf cross-compilation flags."
echo "You specified: --openjdk-target=$conf_openjdk_target and $conf_incompatible_crosscompile."
echo "It is recommended that you only use --openjdk-target."
exit 1
else
echo "Warning: You are using legacy autoconf cross-compilation flags."
echo "It is recommended that you use --openjdk-target instead."
echo "Warning: You are using misleading autoconf cross-compilation flag(s)."
echo "This is not encouraged as use of such flags during building can"
echo "quickly become confusing."
echo "It is highly recommended that you use --openjdk-target instead."
echo ""
fi
fi
if test "x$conf_openjdk_target" != "x"; then
conf_build_platform=`sh $conf_script_dir/build-aux/config.guess`
conf_processed_arguments=("--build=$conf_build_platform" "--host=$conf_openjdk_target" "--target=$conf_openjdk_target" "${conf_processed_arguments[@]}")
conf_processed_arguments=("--host=$conf_openjdk_target" "--target=$conf_openjdk_target" "${conf_processed_arguments[@]}")
# If --build has been explicitly set don't override that flag with our own
if test "x$conf_build_set" != xtrue; then
conf_build_platform=`sh $conf_script_dir/build-aux/config.guess`
conf_processed_arguments=("--build=$conf_build_platform" "${conf_processed_arguments[@]}")
fi
fi
# Make configure exit with error on invalid options as default.
@@ -341,7 +348,9 @@ Additional (non-autoconf) OpenJDK Options:
--openjdk-target=TARGET cross-compile with TARGET as target platform
(i.e. the one you will run the resulting binary on).
Equivalent to --host=TARGET --target=TARGET
--build=<current platform>
--build=<current platform>, or the platform you
have provided if you have explicitly passed
--build to configure
--debug-configure Run the configure script with additional debug
logging enabled.

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -152,6 +152,7 @@ BOOTJDK_SETUP_DOCS_REFERENCE_JDK
#
###############################################################################
JDKOPT_SETUP_REPRODUCIBLE_BUILD
JDKOPT_SETUP_JDK_OPTIONS
###############################################################################
@@ -207,7 +208,6 @@ PLATFORM_SETUP_OPENJDK_TARGET_BITS
PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS
# Configure flags for the tools. Need to know if we should build reproducible.
JDKOPT_SETUP_REPRODUCIBLE_BUILD
FLAGS_SETUP_FLAGS
# Setup debug symbols (need objcopy from the toolchain for that)
@@ -249,7 +249,6 @@ JDKOPT_EXCLUDE_TRANSLATIONS
JDKOPT_ENABLE_DISABLE_MANPAGES
JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE
JDKOPT_ENABLE_DISABLE_COMPATIBLE_CDS_ALIGNMENT
JDKOPT_SETUP_HSDIS
###############################################################################
#

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -496,8 +496,8 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
TOOLCHAIN_CFLAGS_JVM="-qtbtable=full -qtune=balanced \
-qalias=noansi -qstrict -qtls=default -qnortti -qnoeh -qignerrno -qstackprotect"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
TOOLCHAIN_CFLAGS_JVM="-nologo -MD -MP"
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:wchar_t-"
TOOLCHAIN_CFLAGS_JVM="-nologo -MD -Zc:strictStrings -MP"
TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:strictStrings -Zc:wchar_t-"
fi
# CFLAGS C language level for JDK sources (hotspot only uses C++)
@@ -782,10 +782,8 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
test "x$ENABLE_REPRODUCIBLE_BUILD" = xtrue; then
# There is a known issue with the pathmap if the mapping is made to the
# empty string. Add a minimal string "s" as prefix to work around this.
workspace_root_win=`$FIXPATH_BASE print "${WORKSPACE_ROOT%/}"`
# PATHMAP_FLAGS is also added to LDFLAGS in flags-ldflags.m4.
PATHMAP_FLAGS="-pathmap:${workspace_root_win//\//\\\\}=s \
-pathmap:${workspace_root_win}=s"
PATHMAP_FLAGS="-pathmap:${WORKSPACE_ROOT}=s"
FILE_MACRO_CFLAGS="$PATHMAP_FLAGS"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${FILE_MACRO_CFLAGS}],
PREFIX: $3,
@@ -805,17 +803,19 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
fi
AC_SUBST(FILE_MACRO_CFLAGS)
FLAGS_SETUP_BRANCH_PROTECTION
# EXPORT to API
CFLAGS_JVM_COMMON="$ALWAYS_CFLAGS_JVM $ALWAYS_DEFINES_JVM \
$TOOLCHAIN_CFLAGS_JVM ${$1_TOOLCHAIN_CFLAGS_JVM} \
$OS_CFLAGS $OS_CFLAGS_JVM $CFLAGS_OS_DEF_JVM $DEBUG_CFLAGS_JVM \
$WARNING_CFLAGS $WARNING_CFLAGS_JVM $JVM_PICFLAG $FILE_MACRO_CFLAGS \
$REPRODUCIBLE_CFLAGS"
$REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
CFLAGS_JDK_COMMON="$ALWAYS_CFLAGS_JDK $ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
$OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
$WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK \
$FILE_MACRO_CFLAGS $REPRODUCIBLE_CFLAGS"
$FILE_MACRO_CFLAGS $REPRODUCIBLE_CFLAGS $BRANCH_PROTECTION_CFLAGS"
# Use ${$2EXTRA_CFLAGS} to block EXTRA_CFLAGS to be added to build flags.
# (Currently we don't have any OPENJDK_BUILD_EXTRA_CFLAGS, but that might
@@ -881,3 +881,24 @@ AC_DEFUN([FLAGS_SETUP_GCC6_COMPILER_FLAGS],
PREFIX: $2, IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""])
$1_GCC6_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}"
])
AC_DEFUN_ONCE([FLAGS_SETUP_BRANCH_PROTECTION],
[
# Is branch protection available?
BRANCH_PROTECTION_AVAILABLE=false
BRANCH_PROTECTION_FLAG="-mbranch-protection=standard"
if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${BRANCH_PROTECTION_FLAG}],
IF_TRUE: [BRANCH_PROTECTION_AVAILABLE=true])
fi
fi
BRANCH_PROTECTION_CFLAGS=""
UTIL_ARG_ENABLE(NAME: branch-protection, DEFAULT: false,
RESULT: USE_BRANCH_PROTECTION, AVAILABLE: $BRANCH_PROTECTION_AVAILABLE,
DESC: [enable branch protection when compiling C/C++],
IF_ENABLED: [ BRANCH_PROTECTION_CFLAGS=${BRANCH_PROTECTION_FLAG}])
AC_SUBST(BRANCH_PROTECTION_CFLAGS)
])

View File

@@ -215,8 +215,21 @@ AC_DEFUN([FLAGS_SETUP_SYSROOT_FLAGS],
$1SYSROOT_CFLAGS="--sysroot=[$]$1SYSROOT"
$1SYSROOT_LDFLAGS="--sysroot=[$]$1SYSROOT"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
$1SYSROOT_CFLAGS="-isysroot [$]$1SYSROOT"
$1SYSROOT_LDFLAGS="-isysroot [$]$1SYSROOT"
if test "x$OPENJDK_TARGET_OS" = "xlinux"; then
# -isysroot has no effect on linux
# https://bugs.llvm.org/show_bug.cgi?id=11503
$1SYSROOT_CFLAGS="--sysroot=[$]$1SYSROOT"
$1SYSROOT_LDFLAGS="--sysroot=[$]$1SYSROOT"
if test -d "$DEVKIT_TOOLCHAIN_PATH"; then
# In devkits, gcc is not located in the sysroot.
# use --gcc-toolchain to let clang find the gcc installation.
$1SYSROOT_CFLAGS="[$]$1SYSROOT_CFLAGS --gcc-toolchain=$DEVKIT_TOOLCHAIN_PATH/.."
$1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS --gcc-toolchain=$DEVKIT_TOOLCHAIN_PATH/.."
fi
else
$1SYSROOT_CFLAGS="-isysroot [$]$1SYSROOT"
$1SYSROOT_LDFLAGS="-isysroot [$]$1SYSROOT"
fi
fi
fi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -25,7 +25,7 @@
AC_DEFUN_ONCE([HELP_SETUP_DEPENDENCY_HELP],
[
UTIL_LOOKUP_PROGS(PKGHANDLER, zypper apt-get yum brew port pkgutil pkgadd pacman)
UTIL_LOOKUP_PROGS(PKGHANDLER, zypper apt-get yum brew port pkgutil pkgadd pacman apk)
])
AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
@@ -58,6 +58,8 @@ AC_DEFUN([HELP_MSG_MISSING_DEPENDENCY],
zypper_help $MISSING_DEPENDENCY ;;
*pacman)
pacman_help $MISSING_DEPENDENCY ;;
*apk)
apk_help $MISSING_DEPENDENCY ;;
esac
if test "x$PKGHANDLER_COMMAND" != x; then
@@ -115,6 +117,8 @@ apt_help() {
PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
dtrace)
PKGHANDLER_COMMAND="sudo apt-get install systemtap-sdt-dev" ;;
capstone)
PKGHANDLER_COMMAND="sudo apt-get install libcapstone-dev" ;;
esac
}
@@ -166,6 +170,8 @@ brew_help() {
PKGHANDLER_COMMAND="brew install freetype" ;;
ccache)
PKGHANDLER_COMMAND="brew install ccache" ;;
capstone)
PKGHANDLER_COMMAND="brew install capstone" ;;
esac
}
@@ -192,6 +198,27 @@ pkgadd_help() {
PKGHANDLER_COMMAND=""
}
apk_help() {
case $1 in
devkit)
PKGHANDLER_COMMAND="sudo apk add alpine-sdk linux-headers" ;;
alsa)
PKGHANDLER_COMMAND="sudo apk add alsa-lib-dev" ;;
cups)
PKGHANDLER_COMMAND="sudo apk add cups-dev" ;;
fontconfig)
PKGHANDLER_COMMAND="sudo apk add fontconfig-dev" ;;
freetype)
PKGHANDLER_COMMAND="sudo apk add freetype-dev" ;;
harfbuzz)
PKGHANDLER_COMMAND="sudo apk add harfbuzz-dev" ;;
x11)
PKGHANDLER_COMMAND="sudo apk add libxtst-dev libxt-dev libxrender-dev libxrandr-dev" ;;
ccache)
PKGHANDLER_COMMAND="sudo apk add ccache" ;;
esac
}
# This function will check if we're called from the "configure" wrapper while
# printing --help. If so, we will print out additional information that can
# only be extracted within the autoconf script, and then exit. This must be
@@ -269,6 +296,13 @@ AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
printf "* OpenJDK target: OS: $OPENJDK_TARGET_OS, CPU architecture: $OPENJDK_TARGET_CPU_ARCH, address length: $OPENJDK_TARGET_CPU_BITS\n"
printf "* Version string: $VERSION_STRING ($VERSION_SHORT)\n"
if test "x$SOURCE_DATE" != xupdated; then
source_date_info="$SOURCE_DATE ($SOURCE_DATE_ISO_8601)"
else
source_date_info="Determined at build time"
fi
printf "* Source date: $source_date_info\n"
printf "\n"
printf "Tools summary:\n"
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -114,12 +114,26 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_MISC],
HOTSPOT_TARGET_CPU_ARCH=zero
fi
AC_ARG_WITH([hotspot-build-time], [AS_HELP_STRING([--with-hotspot-build-time],
[timestamp to use in hotspot version string, empty for on-the-fly @<:@empty@:>@])])
[timestamp to use in hotspot version string, empty means determined at build time @<:@source-date/empty@:>@])])
AC_MSG_CHECKING([what hotspot build time to use])
if test "x$with_hotspot_build_time" != x; then
HOTSPOT_BUILD_TIME="$with_hotspot_build_time"
AC_MSG_RESULT([$HOTSPOT_BUILD_TIME (from --with-hotspot-build-time)])
else
if test "x$SOURCE_DATE" = xupdated; then
HOTSPOT_BUILD_TIME=""
AC_MSG_RESULT([determined at build time (default)])
else
# If we have a fixed value for SOURCE_DATE, use it as default
HOTSPOT_BUILD_TIME="$SOURCE_DATE_ISO_8601"
AC_MSG_RESULT([$HOTSPOT_BUILD_TIME (from --with-source-date)])
fi
fi
AC_SUBST(HOTSPOT_BUILD_TIME)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -211,16 +211,16 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
# Setup default copyright year. Mostly overridden when building close to a new year.
AC_ARG_WITH(copyright-year, [AS_HELP_STRING([--with-copyright-year],
[Set copyright year value for build @<:@current year@:>@])])
[Set copyright year value for build @<:@current year/source-date@:>@])])
if test "x$with_copyright_year" = xyes; then
AC_MSG_ERROR([Copyright year must have a value])
elif test "x$with_copyright_year" != x; then
COPYRIGHT_YEAR="$with_copyright_year"
elif test "x$SOURCE_DATE_EPOCH" != x; then
elif test "x$SOURCE_DATE" != xupdated; then
if test "x$IS_GNU_DATE" = xyes; then
COPYRIGHT_YEAR=`date --date=@$SOURCE_DATE_EPOCH +%Y`
COPYRIGHT_YEAR=`$DATE --date=@$SOURCE_DATE +%Y`
else
COPYRIGHT_YEAR=`date -j -f %s $SOURCE_DATE_EPOCH +%Y`
COPYRIGHT_YEAR=`$DATE -j -f %s $SOURCE_DATE +%Y`
fi
else
COPYRIGHT_YEAR=`$DATE +'%Y'`
@@ -662,15 +662,28 @@ AC_DEFUN([JDKOPT_ALLOW_ABSOLUTE_PATHS_IN_OUTPUT],
AC_DEFUN_ONCE([JDKOPT_SETUP_REPRODUCIBLE_BUILD],
[
AC_ARG_WITH([source-date], [AS_HELP_STRING([--with-source-date],
[how to set SOURCE_DATE_EPOCH ('updated', 'current', 'version' a timestamp or an ISO-8601 date) @<:@updated@:>@])],
[how to set SOURCE_DATE_EPOCH ('updated', 'current', 'version' a timestamp or an ISO-8601 date) @<:@updated/value of SOURCE_DATE_EPOCH@:>@])],
[with_source_date_present=true], [with_source_date_present=false])
if test "x$SOURCE_DATE_EPOCH" != x && test "x$with_source_date" != x; then
AC_MSG_WARN([--with-source-date will override SOURCE_DATE_EPOCH])
fi
AC_MSG_CHECKING([what source date to use])
if test "x$with_source_date" = xyes; then
AC_MSG_ERROR([--with-source-date must have a value])
elif test "x$with_source_date" = xupdated || test "x$with_source_date" = x; then
# Tell the makefiles to update at each build
elif test "x$with_source_date" = x; then
if test "x$SOURCE_DATE_EPOCH" != x; then
SOURCE_DATE=$SOURCE_DATE_EPOCH
with_source_date_present=true
AC_MSG_RESULT([$SOURCE_DATE, from SOURCE_DATE_EPOCH])
else
# Tell the makefiles to update at each build
SOURCE_DATE=updated
AC_MSG_RESULT([determined at build time (default)])
fi
elif test "x$with_source_date" = xupdated; then
SOURCE_DATE=updated
AC_MSG_RESULT([determined at build time, from 'updated'])
elif test "x$with_source_date" = xcurrent; then
@@ -702,6 +715,18 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_REPRODUCIBLE_BUILD],
fi
fi
ISO_8601_FORMAT_STRING="%Y-%m-%dT%H:%M:%SZ"
if test "x$SOURCE_DATE" != xupdated; then
# If we have a fixed value for SOURCE_DATE, we need to set SOURCE_DATE_EPOCH
# for the rest of configure.
SOURCE_DATE_EPOCH="$SOURCE_DATE"
if test "x$IS_GNU_DATE" = xyes; then
SOURCE_DATE_ISO_8601=`$DATE --utc --date="@$SOURCE_DATE" +"$ISO_8601_FORMAT_STRING" 2> /dev/null`
else
SOURCE_DATE_ISO_8601=`$DATE -u -j -f "%s" "$SOURCE_DATE" +"$ISO_8601_FORMAT_STRING" 2> /dev/null`
fi
fi
REPRODUCIBLE_BUILD_DEFAULT=$with_source_date_present
if test "x$OPENJDK_BUILD_OS" = xwindows && \
@@ -726,173 +751,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_REPRODUCIBLE_BUILD],
AC_SUBST(SOURCE_DATE)
AC_SUBST(ENABLE_REPRODUCIBLE_BUILD)
])
################################################################################
#
# Helper function to build binutils from source.
#
AC_DEFUN([JDKOPT_BUILD_BINUTILS],
[
BINUTILS_SRC="$with_binutils_src"
UTIL_FIXUP_PATH(BINUTILS_SRC)
if ! test -d $BINUTILS_SRC; then
AC_MSG_ERROR([--with-binutils-src is not pointing to a directory])
fi
if ! test -x $BINUTILS_SRC/configure; then
AC_MSG_ERROR([--with-binutils-src does not look like a binutils source directory])
fi
if test -e $BINUTILS_SRC/bfd/libbfd.a && \
test -e $BINUTILS_SRC/opcodes/libopcodes.a && \
test -e $BINUTILS_SRC/libiberty/libiberty.a && \
test -e $BINUTILS_SRC/zlib/libz.a; then
AC_MSG_NOTICE([Found binutils binaries in binutils source directory -- not building])
else
# On Windows, we cannot build with the normal Microsoft CL, but must instead use
# a separate mingw toolchain.
if test "x$OPENJDK_BUILD_OS" = xwindows; then
if test "x$OPENJDK_TARGET_CPU" = "xx86"; then
target_base="i686-w64-mingw32"
else
target_base="$OPENJDK_TARGET_CPU-w64-mingw32"
fi
binutils_cc="$target_base-gcc"
binutils_target="--host=$target_base --target=$target_base"
# Somehow the uint typedef is not included when building with mingw
binutils_cflags="-Duint=unsigned"
compiler_version=`$binutils_cc --version 2>&1`
if ! [ [[ "$compiler_version" =~ GCC ]] ]; then
AC_MSG_NOTICE([Could not find correct mingw compiler $binutils_cc.])
HELP_MSG_MISSING_DEPENDENCY([$binutils_cc])
AC_MSG_ERROR([Cannot continue. $HELP_MSG])
else
AC_MSG_NOTICE([Using compiler $binutils_cc with version $compiler_version])
fi
elif test "x$OPENJDK_BUILD_OS" = xmacosx; then
if test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
binutils_target="--enable-targets=aarch64-darwin"
else
binutils_target=""
fi
else
binutils_cc="$CC $SYSROOT_CFLAGS"
binutils_target=""
fi
binutils_cflags="$binutils_cflags $MACHINE_FLAG $JVM_PICFLAG $C_O_FLAG_NORM"
AC_MSG_NOTICE([Running binutils configure])
AC_MSG_NOTICE([configure command line: ./configure --disable-nls CFLAGS="$binutils_cflags" CC="$binutils_cc" $binutils_target])
saved_dir=`pwd`
cd "$BINUTILS_SRC"
./configure --disable-nls CFLAGS="$binutils_cflags" CC="$binutils_cc" $binutils_target
if test $? -ne 0 || ! test -e $BINUTILS_SRC/Makefile; then
AC_MSG_NOTICE([Automatic building of binutils failed on configure. Try building it manually])
AC_MSG_ERROR([Cannot continue])
fi
AC_MSG_NOTICE([Running binutils make])
$MAKE all-opcodes
if test $? -ne 0; then
AC_MSG_NOTICE([Automatic building of binutils failed on make. Try building it manually])
AC_MSG_ERROR([Cannot continue])
fi
cd $saved_dir
AC_MSG_NOTICE([Building of binutils done])
fi
BINUTILS_DIR="$BINUTILS_SRC"
])
################################################################################
#
# Determine if hsdis should be built, and if so, with which backend.
#
AC_DEFUN_ONCE([JDKOPT_SETUP_HSDIS],
[
AC_ARG_WITH([hsdis], [AS_HELP_STRING([--with-hsdis],
[what hsdis backend to use ('none', 'binutils') @<:@none@:>@])])
AC_ARG_WITH([binutils], [AS_HELP_STRING([--with-binutils],
[where to find the binutils files needed for hsdis/binutils])])
AC_ARG_WITH([binutils-src], [AS_HELP_STRING([--with-binutils-src],
[where to find the binutils source for building])])
AC_MSG_CHECKING([what hsdis backend to use])
if test "x$with_hsdis" = xyes; then
AC_MSG_ERROR([--with-hsdis must have a value])
elif test "x$with_hsdis" = xnone || test "x$with_hsdis" = xno || test "x$with_hsdis" = x; then
HSDIS_BACKEND=none
AC_MSG_RESULT(['none', hsdis will not be built])
elif test "x$with_hsdis" = xbinutils; then
HSDIS_BACKEND=binutils
AC_MSG_RESULT(['binutils'])
# We need the binutils static libs and includes.
if test "x$with_binutils_src" != x; then
# Try building the source first. If it succeeds, it sets $BINUTILS_DIR.
JDKOPT_BUILD_BINUTILS
fi
if test "x$with_binutils" != x; then
BINUTILS_DIR="$with_binutils"
fi
binutils_system_error=""
HSDIS_LIBS=""
if test "x$BINUTILS_DIR" = xsystem; then
AC_CHECK_LIB(bfd, bfd_openr, [ HSDIS_LIBS="-lbfd" ], [ binutils_system_error="libbfd not found" ])
AC_CHECK_LIB(opcodes, disassembler, [ HSDIS_LIBS="$HSDIS_LIBS -lopcodes" ], [ binutils_system_error="libopcodes not found" ])
AC_CHECK_LIB(iberty, xmalloc, [ HSDIS_LIBS="$HSDIS_LIBS -liberty" ], [ binutils_system_error="libiberty not found" ])
AC_CHECK_LIB(z, deflate, [ HSDIS_LIBS="$HSDIS_LIBS -lz" ], [ binutils_system_error="libz not found" ])
elif test "x$BINUTILS_DIR" != x; then
if test -e $BINUTILS_DIR/bfd/libbfd.a && \
test -e $BINUTILS_DIR/opcodes/libopcodes.a && \
test -e $BINUTILS_DIR/libiberty/libiberty.a; then
HSDIS_CFLAGS="-I$BINUTILS_DIR/include -I$BINUTILS_DIR/bfd -DLIBARCH_$OPENJDK_TARGET_CPU_LEGACY_LIB"
HSDIS_LIBS="$BINUTILS_DIR/bfd/libbfd.a $BINUTILS_DIR/opcodes/libopcodes.a $BINUTILS_DIR/libiberty/libiberty.a $BINUTILS_DIR/zlib/libz.a"
fi
fi
AC_MSG_CHECKING([for binutils to use with hsdis])
case "x$BINUTILS_DIR" in
xsystem)
if test "x$OPENJDK_TARGET_OS" != xlinux; then
AC_MSG_RESULT([invalid])
AC_MSG_ERROR([binutils on system is supported for Linux only])
elif test "x$binutils_system_error" = x; then
AC_MSG_RESULT([system])
HSDIS_CFLAGS="-DSYSTEM_BINUTILS"
else
AC_MSG_RESULT([invalid])
AC_MSG_ERROR([$binutils_system_error])
fi
;;
x)
AC_MSG_RESULT([missing])
AC_MSG_NOTICE([--with-hsdis=binutils requires specifying a binutils installation.])
AC_MSG_NOTICE([Download binutils from https://www.gnu.org/software/binutils and unpack it,])
AC_MSG_NOTICE([and point --with-binutils-src to the resulting directory, or use])
AC_MSG_NOTICE([--with-binutils to point to a pre-built binutils installation.])
AC_MSG_ERROR([Cannot continue])
;;
*)
if test "x$HSDIS_LIBS" != x; then
AC_MSG_RESULT([$BINUTILS_DIR])
else
AC_MSG_RESULT([invalid])
AC_MSG_ERROR([$BINUTILS_DIR does not contain a proper binutils installation])
fi
;;
esac
else
AC_MSG_RESULT([invalid])
AC_MSG_ERROR([Incorrect hsdis backend "$with_hsdis"])
fi
AC_SUBST(HSDIS_BACKEND)
AC_SUBST(HSDIS_CFLAGS)
AC_SUBST(HSDIS_LIBS)
AC_SUBST(ISO_8601_FORMAT_STRING)
AC_SUBST(SOURCE_DATE_ISO_8601)
])

View File

@@ -72,7 +72,9 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
# 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" != x; then
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.
@@ -84,7 +86,7 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
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; then
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])
@@ -101,7 +103,7 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
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; then
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])
@@ -115,7 +117,7 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
# 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; then
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])
@@ -129,7 +131,7 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
# 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; then
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])
@@ -143,7 +145,7 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
# 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; then
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])
@@ -160,7 +162,7 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
# 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; then
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.
@@ -199,6 +201,10 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
&& 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
@@ -250,9 +256,10 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
fi
else
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
# Default is to calculate a string like this 'adhoc.<username>.<base dir name>'
# Default is to calculate a string like this:
# 'adhoc.<username>.<base dir name>'
# Outer [ ] to quote m4.
[ basedirname=`$BASENAME "$TOPDIR" | $TR -d -c '[a-z][A-Z][0-9].-'` ]
[ basedirname=`$BASENAME "$WORKSPACE_ROOT" | $TR -d -c '[a-z][A-Z][0-9].-'` ]
VERSION_OPT="adhoc.$USERNAME.$basedirname"
fi
fi
@@ -271,13 +278,15 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
VERSION_BUILD=
else
JDKVER_CHECK_AND_SET_NUMBER(VERSION_BUILD, $with_version_build)
if test "x$VERSION_BUILD" = "x0"; then
AC_MSG_WARN([--with-version-build=0 is interpreted as --without-version-build])
VERSION_BUILD=
fi
fi
else
if test "x$NO_DEFAULT_VERSION_PARTS" != xtrue; then
# Default is to not have a build number.
VERSION_BUILD=""
# FIXME: Until all code can cope with an empty VERSION_BUILD, set it to 0.
VERSION_BUILD=0
fi
fi
@@ -286,7 +295,7 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
[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; 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)
@@ -450,21 +459,30 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
for i in 1 2 3 4 5 6 ; do stripped_version_number=${stripped_version_number%.0} ; done
VERSION_NUMBER=$stripped_version_number
# The complete version string, with additional build information
if test "x$VERSION_BUILD$VERSION_OPT" = x; then
VERSION_STRING=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}
else
# If either build or opt is set, we need a + separator
VERSION_STRING=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}+$VERSION_BUILD${VERSION_OPT:+-$VERSION_OPT}
# A build number of "0" is interpreted as "no build number".
if test "x$VERSION_BUILD" = x0; then
VERSION_BUILD=
fi
# Compute the complete version string, with additional build information
version_with_pre=$VERSION_NUMBER${VERSION_PRE:+-$VERSION_PRE}
if test "x$VERSION_BUILD" != x || \
( test "x$VERSION_OPT" != x && test "x$VERSION_PRE" = x ); then
# As per JEP 223, if build is set, or if opt is set but not pre,
# we need a + separator
version_with_build=$version_with_pre+$VERSION_BUILD
else
version_with_build=$version_with_pre
fi
VERSION_STRING=$version_with_build${VERSION_OPT:+-$VERSION_OPT}
# The short version string, just VERSION_NUMBER and PRE, if present.
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; then
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
@@ -483,7 +501,10 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
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])
else
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"
fi
@@ -491,7 +512,7 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
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; then
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])
@@ -505,7 +526,7 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
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; then
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])
@@ -526,14 +547,19 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
[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; then
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"
else
MACOSX_BUNDLE_BUILD_VERSION="$VERSION_BUILD"
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"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -45,7 +45,7 @@ m4_define(jvm_features_valid, m4_normalize( \
ifdef([custom_jvm_features_valid], custom_jvm_features_valid) \
\
cds compiler1 compiler2 dtrace epsilongc g1gc jfr jni-check \
jvmci jvmti link-time-opt management minimal nmt opt-size parallelgc \
jvmci jvmti link-time-opt management minimal opt-size parallelgc \
serialgc services shenandoahgc static-build vm-structs zero zgc \
))
@@ -68,7 +68,6 @@ m4_define(jvm_feature_desc_jvmti, [enable Java Virtual Machine Tool Interface (J
m4_define(jvm_feature_desc_link_time_opt, [enable link time optimization])
m4_define(jvm_feature_desc_management, [enable java.lang.management API support])
m4_define(jvm_feature_desc_minimal, [support building variant 'minimal'])
m4_define(jvm_feature_desc_nmt, [include native memory tracking (NMT)])
m4_define(jvm_feature_desc_opt_size, [optimize the JVM library for size])
m4_define(jvm_feature_desc_parallelgc, [include the parallel garbage collector])
m4_define(jvm_feature_desc_serialgc, [include the serial garbage collector])
@@ -265,22 +264,6 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_DTRACE],
])
])
###############################################################################
# Check if the feature 'jfr' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_JFR],
[
JVM_FEATURES_CHECK_AVAILABILITY(jfr, [
AC_MSG_CHECKING([if platform is supported by JFR])
if test "x$OPENJDK_TARGET_OS" = xaix; then
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false
else
AC_MSG_RESULT([yes])
fi
])
])
###############################################################################
# Check if the feature 'jvmci' is available on this platform.
#
@@ -400,18 +383,11 @@ AC_DEFUN_ONCE([JVM_FEATURES_PREPARE_PLATFORM],
JVM_FEATURES_CHECK_CDS
JVM_FEATURES_CHECK_DTRACE
JVM_FEATURES_CHECK_JFR
JVM_FEATURES_CHECK_JVMCI
JVM_FEATURES_CHECK_SHENANDOAHGC
JVM_FEATURES_CHECK_STATIC_BUILD
JVM_FEATURES_CHECK_ZGC
# Filter out features by default for all variants on certain platforms.
# Make sure to just add to JVM_FEATURES_PLATFORM_FILTER, since it could
# have a value already from custom extensions.
if test "x$OPENJDK_TARGET_OS" = xaix; then
JVM_FEATURES_PLATFORM_FILTER="$JVM_FEATURES_PLATFORM_FILTER jfr"
fi
])
###############################################################################
@@ -443,7 +419,7 @@ AC_DEFUN([JVM_FEATURES_PREPARE_VARIANT],
JVM_FEATURES_VARIANT_FILTER="compiler2 jvmci link-time-opt opt-size"
elif test "x$variant" = "xminimal"; then
JVM_FEATURES_VARIANT_FILTER="cds compiler2 dtrace epsilongc g1gc \
jfr jni-check jvmci jvmti management nmt parallelgc services \
jfr jni-check jvmci jvmti management parallelgc services \
shenandoahgc vm-structs zgc"
if test "x$OPENJDK_TARGET_CPU" = xarm ; then
JVM_FEATURES_VARIANT_FILTER="$JVM_FEATURES_VARIANT_FILTER opt-size"
@@ -538,10 +514,6 @@ AC_DEFUN([JVM_FEATURES_VERIFY],
AC_MSG_ERROR([Specified JVM feature 'jvmti' requires feature 'services' for variant '$variant'])
fi
if JVM_FEATURES_IS_ACTIVE(management) && ! JVM_FEATURES_IS_ACTIVE(nmt); then
AC_MSG_ERROR([Specified JVM feature 'management' requires feature 'nmt' for variant '$variant'])
fi
# For backwards compatibility, disable a feature "globally" if one variant
# is missing the feature.
if ! JVM_FEATURES_IS_ACTIVE(cds); then

336
make/autoconf/lib-hsdis.m4 Normal file
View File

@@ -0,0 +1,336 @@
#
# Copyright (c) 2021, 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.
#
################################################################################
#
# Helper function to setup hsdis using Capstone
#
AC_DEFUN([LIB_SETUP_HSDIS_CAPSTONE],
[
AC_ARG_WITH(capstone, [AS_HELP_STRING([--with-capstone],
[where to find the Capstone files needed for hsdis/capstone])])
if test "x$with_capstone" != x; then
AC_MSG_CHECKING([for capstone])
CAPSTONE="$with_capstone"
AC_MSG_RESULT([$CAPSTONE])
HSDIS_CFLAGS="-I${CAPSTONE}/include/capstone"
if test "x$OPENJDK_TARGET_OS" != xwindows; then
HSDIS_LDFLAGS="-L${CAPSTONE}/lib"
HSDIS_LIBS="-lcapstone"
else
HSDIS_LDFLAGS="-nodefaultlib:libcmt.lib"
HSDIS_LIBS="${CAPSTONE}/capstone.lib"
fi
else
if test "x$OPENJDK_TARGET_OS" = xwindows; then
# There is no way to auto-detect capstone on Windowos
AC_MSG_NOTICE([You must specify capstone location using --with-capstone=<path>])
AC_MSG_ERROR([Cannot continue])
fi
PKG_CHECK_MODULES(CAPSTONE, capstone, [CAPSTONE_FOUND=yes], [CAPSTONE_FOUND=no])
if test "x$CAPSTONE_FOUND" = xyes; then
HSDIS_CFLAGS="$CAPSTONE_CFLAGS"
HSDIS_LDFLAGS="$CAPSTONE_LDFLAGS"
HSDIS_LIBS="$CAPSTONE_LIBS"
else
HELP_MSG_MISSING_DEPENDENCY([capstone])
AC_MSG_NOTICE([Cannot locate capstone which is needed for hsdis/capstone. Try using --with-capstone=<path>. $HELP_MSG])
AC_MSG_ERROR([Cannot continue])
fi
fi
])
################################################################################
#
# Helper function to setup hsdis using LLVM
#
AC_DEFUN([LIB_SETUP_HSDIS_LLVM],
[
AC_ARG_WITH([llvm], [AS_HELP_STRING([--with-llvm],
[where to find the LLVM files needed for hsdis/llvm])])
if test "x$with_llvm" != x; then
LLVM_DIR="$with_llvm"
fi
if test "x$OPENJDK_TARGET_OS" != xwindows; then
if test "x$LLVM_DIR" = x; then
# Macs with homebrew can have llvm in different places
UTIL_LOOKUP_PROGS(LLVM_CONFIG, llvm-config, [$PATH:/usr/local/opt/llvm/bin:/opt/homebrew/opt/llvm/bin])
if test "x$LLVM_CONFIG" = x; then
AC_MSG_NOTICE([Cannot locate llvm-config which is needed for hsdis/llvm. Try using --with-llvm=<LLVM home>.])
AC_MSG_ERROR([Cannot continue])
fi
else
UTIL_LOOKUP_PROGS(LLVM_CONFIG, llvm-config, [$LLVM_DIR/bin])
if test "x$LLVM_CONFIG" = x; then
AC_MSG_NOTICE([Cannot locate llvm-config in $LLVM_DIR. Check your --with-llvm argument.])
AC_MSG_ERROR([Cannot continue])
fi
fi
# We need the LLVM flags and libs, and llvm-config provides them for us.
HSDIS_CFLAGS=`$LLVM_CONFIG --cflags`
HSDIS_LDFLAGS=`$LLVM_CONFIG --ldflags`
HSDIS_LIBS=`$LLVM_CONFIG --libs $OPENJDK_TARGET_CPU_ARCH ${OPENJDK_TARGET_CPU_ARCH}disassembler`
else
if test "x$LLVM_DIR" = x; then
AC_MSG_NOTICE([--with-llvm is needed on Windows to point out the LLVM home])
AC_MSG_ERROR([Cannot continue])
fi
# Official Windows installation of LLVM do not ship llvm-config, and self-built llvm-config
# produced unusable output, so just ignore it on Windows.
if ! test -e $LLVM_DIR/include/llvm-c/lto.h; then
AC_MSG_NOTICE([$LLVM_DIR does not seem like a valid LLVM home; include dir is missing])
AC_MSG_ERROR([Cannot continue])
fi
if ! test -e $LLVM_DIR/include/llvm-c/Disassembler.h; then
AC_MSG_NOTICE([$LLVM_DIR does not point to a complete LLVM installation. ])
AC_MSG_NOTICE([The official LLVM distribution is missing crucical files; you need to build LLVM yourself or get all include files elsewhere])
AC_MSG_ERROR([Cannot continue])
fi
if ! test -e $LLVM_DIR/lib/llvm-c.lib; then
AC_MSG_NOTICE([$LLVM_DIR does not seem like a valid LLVM home; lib dir is missing])
AC_MSG_ERROR([Cannot continue])
fi
HSDIS_CFLAGS="-I$LLVM_DIR/include"
HSDIS_LDFLAGS="-libpath:$LLVM_DIR/lib"
HSDIS_LIBS="llvm-c.lib"
fi
])
################################################################################
#
# Helper function to build binutils from source.
#
AC_DEFUN([LIB_BUILD_BINUTILS],
[
BINUTILS_SRC="$with_binutils_src"
UTIL_FIXUP_PATH(BINUTILS_SRC)
if ! test -d $BINUTILS_SRC; then
AC_MSG_ERROR([--with-binutils-src is not pointing to a directory])
fi
if ! test -x $BINUTILS_SRC/configure; then
AC_MSG_ERROR([--with-binutils-src does not look like a binutils source directory])
fi
if test -e $BINUTILS_SRC/bfd/libbfd.a && \
test -e $BINUTILS_SRC/opcodes/libopcodes.a && \
test -e $BINUTILS_SRC/libiberty/libiberty.a && \
test -e $BINUTILS_SRC/zlib/libz.a; then
AC_MSG_NOTICE([Found binutils binaries in binutils source directory -- not building])
else
# On Windows, we cannot build with the normal Microsoft CL, but must instead use
# a separate mingw toolchain.
if test "x$OPENJDK_BUILD_OS" = xwindows; then
if test "x$OPENJDK_TARGET_CPU" = "xx86"; then
target_base="i686-w64-mingw32"
else
target_base="$OPENJDK_TARGET_CPU-w64-mingw32"
fi
binutils_cc="$target_base-gcc"
binutils_target="--host=$target_base --target=$target_base"
# Somehow the uint typedef is not included when building with mingw
binutils_cflags="-Duint=unsigned"
compiler_version=`$binutils_cc --version 2>&1`
if ! [ [[ "$compiler_version" =~ GCC ]] ]; then
AC_MSG_NOTICE([Could not find correct mingw compiler $binutils_cc.])
HELP_MSG_MISSING_DEPENDENCY([$binutils_cc])
AC_MSG_ERROR([Cannot continue. $HELP_MSG])
else
AC_MSG_NOTICE([Using compiler $binutils_cc with version $compiler_version])
fi
elif test "x$OPENJDK_BUILD_OS" = xmacosx; then
if test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
binutils_target="--enable-targets=aarch64-darwin"
else
binutils_target=""
fi
else
binutils_cc="$CC $SYSROOT_CFLAGS"
binutils_target=""
fi
binutils_cflags="$binutils_cflags $MACHINE_FLAG $JVM_PICFLAG $C_O_FLAG_NORM"
AC_MSG_NOTICE([Running binutils configure])
AC_MSG_NOTICE([configure command line: ./configure --disable-nls CFLAGS="$binutils_cflags" CC="$binutils_cc" $binutils_target])
saved_dir=`pwd`
cd "$BINUTILS_SRC"
./configure --disable-nls CFLAGS="$binutils_cflags" CC="$binutils_cc" $binutils_target
if test $? -ne 0 || ! test -e $BINUTILS_SRC/Makefile; then
AC_MSG_NOTICE([Automatic building of binutils failed on configure. Try building it manually])
AC_MSG_ERROR([Cannot continue])
fi
AC_MSG_NOTICE([Running binutils make])
$MAKE all-opcodes
if test $? -ne 0; then
AC_MSG_NOTICE([Automatic building of binutils failed on make. Try building it manually])
AC_MSG_ERROR([Cannot continue])
fi
cd $saved_dir
AC_MSG_NOTICE([Building of binutils done])
fi
BINUTILS_DIR="$BINUTILS_SRC"
])
################################################################################
#
# Helper function to setup hsdis using binutils
#
AC_DEFUN([LIB_SETUP_HSDIS_BINUTILS],
[
AC_ARG_WITH([binutils], [AS_HELP_STRING([--with-binutils],
[where to find the binutils files needed for hsdis/binutils])])
AC_ARG_WITH([binutils-src], [AS_HELP_STRING([--with-binutils-src],
[where to find the binutils source for building])])
# We need the binutils static libs and includes.
if test "x$with_binutils_src" != x; then
# Try building the source first. If it succeeds, it sets $BINUTILS_DIR.
LIB_BUILD_BINUTILS
fi
if test "x$with_binutils" != x; then
BINUTILS_DIR="$with_binutils"
fi
binutils_system_error=""
HSDIS_LIBS=""
if test "x$BINUTILS_DIR" = xsystem; then
AC_CHECK_LIB(bfd, bfd_openr, [ HSDIS_LIBS="-lbfd" ], [ binutils_system_error="libbfd not found" ])
AC_CHECK_LIB(opcodes, disassembler, [ HSDIS_LIBS="$HSDIS_LIBS -lopcodes" ], [ binutils_system_error="libopcodes not found" ])
AC_CHECK_LIB(iberty, xmalloc, [ HSDIS_LIBS="$HSDIS_LIBS -liberty" ], [ binutils_system_error="libiberty not found" ])
AC_CHECK_LIB(z, deflate, [ HSDIS_LIBS="$HSDIS_LIBS -lz" ], [ binutils_system_error="libz not found" ])
HSDIS_CFLAGS="-DLIBARCH_$OPENJDK_TARGET_CPU_LEGACY_LIB"
elif test "x$BINUTILS_DIR" != x; then
if test -e $BINUTILS_DIR/bfd/libbfd.a && \
test -e $BINUTILS_DIR/opcodes/libopcodes.a && \
test -e $BINUTILS_DIR/libiberty/libiberty.a; then
HSDIS_CFLAGS="-I$BINUTILS_DIR/include -I$BINUTILS_DIR/bfd -DLIBARCH_$OPENJDK_TARGET_CPU_LEGACY_LIB"
HSDIS_LDFLAGS=""
HSDIS_LIBS="$BINUTILS_DIR/bfd/libbfd.a $BINUTILS_DIR/opcodes/libopcodes.a $BINUTILS_DIR/libiberty/libiberty.a $BINUTILS_DIR/zlib/libz.a"
fi
fi
AC_MSG_CHECKING([for binutils to use with hsdis])
case "x$BINUTILS_DIR" in
xsystem)
if test "x$OPENJDK_TARGET_OS" != xlinux; then
AC_MSG_RESULT([invalid])
AC_MSG_ERROR([binutils on system is supported for Linux only])
elif test "x$binutils_system_error" = x; then
AC_MSG_RESULT([system])
HSDIS_CFLAGS="$HSDIS_CFLAGS -DSYSTEM_BINUTILS"
else
AC_MSG_RESULT([invalid])
AC_MSG_ERROR([$binutils_system_error])
fi
;;
x)
AC_MSG_RESULT([missing])
AC_MSG_NOTICE([--with-hsdis=binutils requires specifying a binutils installation.])
AC_MSG_NOTICE([Download binutils from https://www.gnu.org/software/binutils and unpack it,])
AC_MSG_NOTICE([and point --with-binutils-src to the resulting directory, or use])
AC_MSG_NOTICE([--with-binutils to point to a pre-built binutils installation.])
AC_MSG_ERROR([Cannot continue])
;;
*)
if test "x$HSDIS_LIBS" != x; then
AC_MSG_RESULT([$BINUTILS_DIR])
else
AC_MSG_RESULT([invalid])
AC_MSG_ERROR([$BINUTILS_DIR does not contain a proper binutils installation])
fi
;;
esac
])
################################################################################
#
# Determine if hsdis should be built, and if so, with which backend.
#
AC_DEFUN_ONCE([LIB_SETUP_HSDIS],
[
AC_ARG_WITH([hsdis], [AS_HELP_STRING([--with-hsdis],
[what hsdis backend to use ('none', 'capstone', 'llvm', 'binutils') @<:@none@:>@])])
UTIL_ARG_ENABLE(NAME: hsdis-bundling, DEFAULT: false,
RESULT: ENABLE_HSDIS_BUNDLING,
DESC: [enable bundling of hsdis to allow HotSpot disassembly out-of-the-box])
AC_MSG_CHECKING([what hsdis backend to use])
if test "x$with_hsdis" = xyes; then
AC_MSG_ERROR([--with-hsdis must have a value])
elif test "x$with_hsdis" = xnone || test "x$with_hsdis" = xno || test "x$with_hsdis" = x; then
HSDIS_BACKEND=none
AC_MSG_RESULT(['none', hsdis will not be built])
elif test "x$with_hsdis" = xcapstone; then
HSDIS_BACKEND=capstone
AC_MSG_RESULT(['capstone'])
LIB_SETUP_HSDIS_CAPSTONE
elif test "x$with_hsdis" = xllvm; then
HSDIS_BACKEND=llvm
AC_MSG_RESULT(['llvm'])
LIB_SETUP_HSDIS_LLVM
elif test "x$with_hsdis" = xbinutils; then
HSDIS_BACKEND=binutils
AC_MSG_RESULT(['binutils'])
LIB_SETUP_HSDIS_BINUTILS
else
AC_MSG_RESULT([invalid])
AC_MSG_ERROR([Incorrect hsdis backend "$with_hsdis"])
fi
AC_SUBST(HSDIS_BACKEND)
AC_SUBST(HSDIS_CFLAGS)
AC_SUBST(HSDIS_LDFLAGS)
AC_SUBST(HSDIS_LIBS)
AC_MSG_CHECKING([if hsdis should be bundled])
if test "x$ENABLE_HSDIS_BUNDLING" = "xtrue"; then
if test "x$HSDIS_BACKEND" = xnone; then
AC_MSG_RESULT([no, backend missing])
AC_MSG_ERROR([hsdis-bundling requires a hsdis backend. Please set --with-hsdis=<backend>]);
fi
AC_MSG_RESULT([yes])
if test "x$HSDIS_BACKEND" = xbinutils; then
AC_MSG_WARN([The resulting build might not be redistributable. Seek legal advice before distributing.])
fi
else
AC_MSG_RESULT([no])
fi
AC_SUBST(ENABLE_HSDIS_BUNDLING)
])

View File

@@ -28,10 +28,12 @@ m4_include([lib-alsa.m4])
m4_include([lib-bundled.m4])
m4_include([lib-cups.m4])
m4_include([lib-ffi.m4])
m4_include([lib-fontconfig.m4])
m4_include([lib-freetype.m4])
m4_include([lib-hsdis.m4])
m4_include([lib-std.m4])
m4_include([lib-x11.m4])
m4_include([lib-fontconfig.m4])
m4_include([lib-tests.m4])
################################################################################
@@ -93,14 +95,17 @@ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
[
LIB_SETUP_STD_LIBS
LIB_SETUP_X11
LIB_SETUP_ALSA
LIB_SETUP_BUNDLED_LIBS
LIB_SETUP_CUPS
LIB_SETUP_FONTCONFIG
LIB_SETUP_FREETYPE
LIB_SETUP_ALSA
LIB_SETUP_HSDIS
LIB_SETUP_LIBFFI
LIB_SETUP_BUNDLED_LIBS
LIB_SETUP_MISC_LIBS
LIB_SETUP_X11
LIB_TESTS_SETUP_GTEST
BASIC_JDKLIB_LIBS=""

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -130,6 +130,13 @@ RELEASE_FILE_LIBC:=@RELEASE_FILE_LIBC@
SOURCE_DATE := @SOURCE_DATE@
ENABLE_REPRODUCIBLE_BUILD := @ENABLE_REPRODUCIBLE_BUILD@
ISO_8601_FORMAT_STRING := @ISO_8601_FORMAT_STRING@
ifneq ($(SOURCE_DATE), updated)
# For "updated" source date value, these are set in InitSupport.gmk
export SOURCE_DATE_EPOCH := $(SOURCE_DATE)
SOURCE_DATE_ISO_8601 := @SOURCE_DATE_ISO_8601@
endif
LIBM:=@LIBM@
LIBDL:=@LIBDL@
@@ -239,7 +246,7 @@ VERSION_DOCS_API_SINCE := @VERSION_DOCS_API_SINCE@
JDK_SOURCE_TARGET_VERSION := @JDK_SOURCE_TARGET_VERSION@
# Convenience CFLAGS settings for passing version information into native programs.
VERSION_CFLAGS := \
VERSION_CFLAGS = \
-DVERSION_FEATURE=$(VERSION_FEATURE) \
-DVERSION_INTERIM=$(VERSION_INTERIM) \
-DVERSION_UPDATE=$(VERSION_UPDATE) \
@@ -360,7 +367,9 @@ ENABLE_COMPATIBLE_CDS_ALIGNMENT := @ENABLE_COMPATIBLE_CDS_ALIGNMENT@
ALLOW_ABSOLUTE_PATHS_IN_OUTPUT := @ALLOW_ABSOLUTE_PATHS_IN_OUTPUT@
HSDIS_BACKEND := @HSDIS_BACKEND@
ENABLE_HSDIS_BUNDLING := @ENABLE_HSDIS_BUNDLING@
HSDIS_CFLAGS := @HSDIS_CFLAGS@
HSDIS_LDFLAGS := @HSDIS_LDFLAGS@
HSDIS_LIBS := @HSDIS_LIBS@
# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
@@ -371,6 +380,9 @@ BUILD_JDK:=@BUILD_JDK@
CREATE_BUILDJDK:=@CREATE_BUILDJDK@
EXTERNAL_BUILDJDK:=@EXTERNAL_BUILDJDK@
# Whether the boot jdk jar supports --date=TIMESTAMP
BOOT_JDK_JAR_SUPPORTS_DATE:=@BOOT_JDK_JAR_SUPPORTS_DATE@
# When compiling Java source to be run by the boot jdk
# use these extra flags, eg -source 6 -target 6
BOOT_JDK_SOURCETARGET:=@BOOT_JDK_SOURCETARGET@
@@ -403,6 +415,7 @@ LIBFFI_CFLAGS:=@LIBFFI_CFLAGS@
ENABLE_LIBFFI_BUNDLING:=@ENABLE_LIBFFI_BUNDLING@
LIBFFI_LIB_FILE:=@LIBFFI_LIB_FILE@
FILE_MACRO_CFLAGS := @FILE_MACRO_CFLAGS@
BRANCH_PROTECTION_CFLAGS := @BRANCH_PROTECTION_CFLAGS@
STATIC_LIBS_CFLAGS := @STATIC_LIBS_CFLAGS@
@@ -416,7 +429,7 @@ GTEST_FRAMEWORK_SRC := @GTEST_FRAMEWORK_SRC@
# Source file for cacerts
CACERTS_FILE=@CACERTS_FILE@
# Source folder for user provided cacerts PEM files
# Source folder for user provided cacerts PEM files
CACERTS_SRC=@CACERTS_SRC@
# Enable unlimited crypto policy
@@ -578,7 +591,6 @@ AR := @AR@
ARFLAGS:=@ARFLAGS@
NM:=@NM@
GNM:=@GNM@
STRIP:=@STRIP@
OBJDUMP:=@OBJDUMP@
CXXFILT:=@CXXFILT@
@@ -707,6 +719,7 @@ CODESIGN:=@CODESIGN@
CP:=@CP@
CUT:=@CUT@
DATE:=@DATE@
IS_GNU_DATE:=@IS_GNU_DATE@
DIFF:=@DIFF@
DIRNAME:=@DIRNAME@
DSYMUTIL:=@DSYMUTIL@
@@ -925,7 +938,12 @@ JDK_MACOSX_CONTENTS_DIR=$(JDK_MACOSX_BUNDLE_DIR)/$(JDK_MACOSX_CONTENTS_SUBDIR)
JRE_MACOSX_CONTENTS_DIR=$(JRE_MACOSX_BUNDLE_DIR)/$(JRE_MACOSX_CONTENTS_SUBDIR)
# Bundle names
BASE_NAME := $(VERSION_SHORT)+$(VERSION_BUILD)_$(OPENJDK_TARGET_BUNDLE_PLATFORM)
ifneq ($(VERSION_BUILD), )
BASE_NAME := $(VERSION_SHORT)+$(VERSION_BUILD)_$(OPENJDK_TARGET_BUNDLE_PLATFORM)
else
BASE_NAME := $(VERSION_SHORT)_$(OPENJDK_TARGET_BUNDLE_PLATFORM)
endif
ifeq ($(DEBUG_LEVEL), fastdebug)
DEBUG_PART := -debug
else ifneq ($(DEBUG_LEVEL), release)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -234,7 +234,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
if test -n "$XCODEBUILD"; then
# On Mac OS X, default toolchain to clang after Xcode 5
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version 2>&1 | $HEAD -n 1`
XCODE_VERSION_OUTPUT=`"$XCODEBUILD" -version | $HEAD -n 1`
$ECHO "$XCODE_VERSION_OUTPUT" | $GREP "Xcode " > /dev/null
if test $? -ne 0; then
AC_MSG_NOTICE([xcodebuild output: $XCODE_VERSION_OUTPUT])
@@ -772,8 +772,6 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
else
UTIL_LOOKUP_TOOLCHAIN_PROGS(NM, nm)
fi
GNM="$NM"
AC_SUBST(GNM)
fi
# objcopy is used for moving debug symbols to separate files when

View File

@@ -103,6 +103,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
vc/auxiliary/build/vcvarsx86_amd64.bat vc/auxiliary/build/vcvars64.bat"
elif test "x$TARGET_CPU" = xaarch64; then
# for host x86-64, target aarch64
# aarch64 requires Visual Studio 16.8 or higher
VCVARSFILES="vc/auxiliary/build/vcvarsamd64_arm64.bat \
vc/auxiliary/build/vcvarsx86_arm64.bat"
fi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -230,20 +230,20 @@ AC_DEFUN([UTIL_GET_MATCHING_VALUES],
# Converts an ISO-8601 date/time string to a unix epoch timestamp. If no
# suitable conversion method was found, an empty string is returned.
#
# Sets the specified variable to the resulting list.
#
# $1: result variable name
# $2: input date/time string
AC_DEFUN([UTIL_GET_EPOCH_TIMESTAMP],
[
timestamp=$($DATE --utc --date=$2 +"%s" 2> /dev/null)
if test "x$timestamp" = x; then
# GNU date format did not work, try BSD date options
timestamp=$($DATE -j -f "%F %T" "$2" "+%s" 2> /dev/null)
if test "x$IS_GNU_DATE" = xyes; then
# GNU date
timestamp=$($DATE --utc --date=$2 +"%s" 2> /dev/null)
else
# BSD date
timestamp=$($DATE -u -j -f "%FZ %TZ" "$2" "+%s" 2> /dev/null)
if test "x$timestamp" = x; then
# Perhaps the time was missing
timestamp=$($DATE -j -f "%F %T" "$2 00:00:00" "+%s" 2> /dev/null)
# If this did not work, we give up and return the empty string
# BSD date cannot handle trailing milliseconds.
# Try again ignoring characters at end
timestamp=$($DATE -u -j -f "%Y-%m-%dT%H:%M:%S" "$2" "+%s" 2> /dev/null)
fi
fi
$1=$timestamp

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 2021, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -193,7 +193,7 @@ define SetupJarArchiveBody
$1_UPDATE_CONTENTS=\
if [ "`$(WC) -l $$($1_BIN)/_the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'`" -gt "0" ]; then \
$(ECHO) " updating" `$(WC) -l $$($1_BIN)/_the.$$($1_JARNAME)_contents | $(AWK) '{ print $$$$1 }'` files && \
$$($1_JAR_CMD) $$($1_JAR_UPDATE_OPTIONS) $$@ @$$($1_BIN)/_the.$$($1_JARNAME)_contents; \
$$($1_JAR_CMD) --update $$($1_JAR_OPTIONS) --file $$@ @$$($1_BIN)/_the.$$($1_JARNAME)_contents; \
fi $$(NEWLINE)
# The s-variants of the above macros are used when the jar is created from scratch.
# NOTICE: please leave the parentheses space separated otherwise the AIX build will break!
@@ -212,25 +212,27 @@ define SetupJarArchiveBody
| $(SED) 's|$$(src)/|-C $$(src) |g' >> \
$$($1_BIN)/_the.$$($1_JARNAME)_contents) $$(NEWLINE) )
endif
$1_SUPDATE_CONTENTS=$$($1_JAR_CMD) $$($1_JAR_UPDATE_OPTIONS) $$@ @$$($1_BIN)/_the.$$($1_JARNAME)_contents $$(NEWLINE)
$1_SUPDATE_CONTENTS=$$($1_JAR_CMD) --update $$($1_JAR_OPTIONS) --file $$@ @$$($1_BIN)/_the.$$($1_JARNAME)_contents $$(NEWLINE)
# Use a slightly shorter name for logging, but with enough path to identify this jar.
$1_NAME:=$$(subst $$(OUTPUTDIR)/,,$$($1_JAR))
ifneq (,$$($1_CHECK_COMPRESS_JAR))
$1_JAR_CREATE_OPTIONS := c0fm
$1_JAR_UPDATE_OPTIONS := u0f
ifeq ($(COMPRESS_JARS), true)
$1_JAR_CREATE_OPTIONS := cfm
$1_JAR_UPDATE_OPTIONS := uf
# If reproducible build and the boot jdk jar supports --date option
# then specify the --date using SOURCE_DATE in ISO-8601
$1_JAR_OPTIONS :=
ifeq ($$(ENABLE_REPRODUCIBLE_BUILD), true)
ifeq ($$(BOOT_JDK_JAR_SUPPORTS_DATE), true)
$1_JAR_OPTIONS += --date $(SOURCE_DATE_ISO_8601)
endif
endif
ifneq (,$$($1_CHECK_COMPRESS_JAR))
ifneq ($(COMPRESS_JARS), true)
$1_JAR_OPTIONS += --no-compress
endif
else
$1_JAR_CREATE_OPTIONS := cfm
$1_JAR_UPDATE_OPTIONS := uf
endif
# Include all variables of significance in the vardeps file
$1_VARDEPS := $$($1_JAR_CMD) $$($1_JAR_CREATE_OPTIONS) $$($1_MANIFEST) \
$1_VARDEPS := $$($1_JAR_CMD) $$($1_JAR_OPTIONS) $$($1_MANIFEST) \
$$($1_JARMAIN) $$($1_EXTRA_MANIFEST_ATTR) $$($1_ORIG_DEPS) $$($1_SRCS) \
$$($1_INCLUDES) $$($1_EXCLUDES) $$($1_EXCLUDE_FILES) $$($1_EXTRA_FILES)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$($1_BIN)/_the.$$($1_JARNAME).vardeps)
@@ -255,7 +257,7 @@ define SetupJarArchiveBody
$$(if $$($1_EXTRA_MANIFEST_ATTR), \
$(PRINTF) "$$($1_EXTRA_MANIFEST_ATTR)\n" >> $$($1_MANIFEST_FILE) $$(NEWLINE)) \
$(ECHO) Creating $$($1_NAME) $$(NEWLINE) \
$$($1_JAR_CMD) $$($1_JAR_CREATE_OPTIONS) $$@ $$($1_MANIFEST_FILE) $$(NEWLINE) \
$$($1_JAR_CMD) --create $$($1_JAR_OPTIONS) --file $$@ --manifest $$($1_MANIFEST_FILE) $$(NEWLINE) \
$$($1_SCAPTURE_CONTENTS) \
$$($1_SCAPTURE_METAINF) \
$$($1_SUPDATE_CONTENTS) \

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -258,7 +258,6 @@ var getJibProfilesCommon = function (input, data) {
common.release_profile_base = {
configure_args: [
"--enable-reproducible-build",
"--with-source-date=current",
],
};
// Extra settings for debug profiles
@@ -1165,19 +1164,12 @@ var getJibProfilesDependencies = function (input, common) {
jmh: {
organization: common.organization,
ext: "tar.gz",
revision: "1.33+1.0"
revision: "1.34+1.0"
},
jcov: {
// Use custom build of JCov
// See CODETOOLS-7902734 for more info.
// server: "jpg",
// product: "jcov",
// version: "3.0",
// build_number: "b07",
// file: "bundles/jcov-3_0.zip",
organization: common.organization,
revision: "3.0-9-jdk-asm+1.0",
revision: "3.0-12-jdk-asm+1.0",
ext: "zip",
environment_name: "JCOV_HOME",
},
@@ -1431,7 +1423,10 @@ var getVersion = function (feature, interim, update, patch, extra1, extra2, extr
* other version inputs
*/
var versionArgs = function(input, common) {
var args = ["--with-version-build=" + common.build_number];
var args = [];
if (common.build_number != 0) {
args = concat(args, "--with-version-build=" + common.build_number);
}
if (input.build_type == "promoted") {
args = concat(args,
"--with-version-pre=" + version_numbers.get("DEFAULT_PROMOTED_VERSION_PRE"),
@@ -1451,6 +1446,14 @@ var versionArgs = function(input, common) {
} else {
args = concat(args, "--with-version-opt=" + common.build_id);
}
var sourceDate
if (input.build_id_data && input.build_id_data.creationTime) {
sourceDate = Math.floor(Date.parse(input.build_id_data.creationTime)/1000);
} else {
sourceDate = "current";
}
args = concat(args, "--with-source-date=" + sourceDate);
return args;
}

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 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
@@ -158,6 +158,7 @@ JVM_IsSupportedJNIVersion
JVM_IsThreadAlive
JVM_IsVMGeneratedMethodIx
JVM_LatestUserDefinedLoader
JVM_LoadZipLibrary
JVM_LoadLibrary
JVM_LookupDefineClass
JVM_LookupLambdaProxyClassFromArchive

View File

@@ -1,2 +1,2 @@
Github: https://raw.githubusercontent.com/publicsuffix/list/cbbba1d234670453df9c930dfbf510c0474d4301/public_suffix_list.dat
Date: 2020-04-24
Github: https://raw.githubusercontent.com/publicsuffix/list/3c213aab32b3c014f171b1673d4ce9b5cd72bf1c/public_suffix_list.dat
Date: 2021-11-27

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2021, 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
@@ -284,6 +284,10 @@ innerclass innerClass java/security/KeyStore$Entry outerClass java/security/KeyS
innerclass innerClass java/security/KeyStore$Entry$Attribute outerClass java/security/KeyStore$Entry innerClassName Attribute flags 609
method name engineGetAttributes descriptor (Ljava/lang/String;)Ljava/util/Set; flags 1 signature (Ljava/lang/String;)Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;
class name java/security/Provider
-method name getServices descriptor ()Ljava/util/Set;
method name getServices descriptor ()Ljava/util/Set; flags 1 signature ()Ljava/util/Set<Ljava/security/Provider$Service;>;
class name java/security/SecureRandomParameters
header extends java/lang/Object flags 601
@@ -389,6 +393,16 @@ header extends java/util/AbstractSet implements java/util/Set,java/lang/Cloneabl
innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
class name java/util/Hashtable
header extends java/util/Dictionary implements java/util/Map,java/lang/Cloneable,java/io/Serializable flags 21 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/Dictionary<TK;TV;>;Ljava/util/Map<TK;TV;>;Ljava/lang/Cloneable;Ljava/io/Serializable;
innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
class name java/util/IdentityHashMap
header extends java/util/AbstractMap implements java/util/Map,java/io/Serializable,java/lang/Cloneable flags 21 signature <K:Ljava/lang/Object;V:Ljava/lang/Object;>Ljava/util/AbstractMap<TK;TV;>;Ljava/util/Map<TK;TV;>;Ljava/io/Serializable;Ljava/lang/Cloneable;
innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
innerclass innerClass java/io/ObjectInputStream$GetField outerClass java/io/ObjectInputStream innerClassName GetField flags 409
class name java/util/Locale$IsoCountryCode
header extends java/lang/Enum nestHost java/util/Locale sealed true flags 4421 signature Ljava/lang/Enum<Ljava/util/Locale$IsoCountryCode;>;
innerclass innerClass java/util/Locale$IsoCountryCode outerClass java/util/Locale innerClassName IsoCountryCode flags 4409

View File

@@ -1,6 +1,6 @@
# Blocks-13.0.0.txt
# Date: 2019-07-10, 19:06:00 GMT [KW]
# Copyright (c) 2019 Unicode, Inc.
# Blocks-14.0.0.txt
# Date: 2021-01-22, 23:29:00 GMT [KW]
# Copyright (c) 2021 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Unicode Character Database
@@ -52,6 +52,7 @@
0800..083F; Samaritan
0840..085F; Mandaic
0860..086F; Syriac Supplement
0870..089F; Arabic Extended-B
08A0..08FF; Arabic Extended-A
0900..097F; Devanagari
0980..09FF; Bengali
@@ -215,7 +216,9 @@ FFF0..FFFF; Specials
104B0..104FF; Osage
10500..1052F; Elbasan
10530..1056F; Caucasian Albanian
10570..105BF; Vithkuqi
10600..1077F; Linear A
10780..107BF; Latin Extended-F
10800..1083F; Cypriot Syllabary
10840..1085F; Imperial Aramaic
10860..1087F; Palmyrene
@@ -240,6 +243,7 @@ FFF0..FFFF; Specials
10E80..10EBF; Yezidi
10F00..10F2F; Old Sogdian
10F30..10F6F; Sogdian
10F70..10FAF; Old Uyghur
10FB0..10FDF; Chorasmian
10FE0..10FFF; Elymaic
11000..1107F; Brahmi
@@ -259,13 +263,14 @@ FFF0..FFFF; Specials
11600..1165F; Modi
11660..1167F; Mongolian Supplement
11680..116CF; Takri
11700..1173F; Ahom
11700..1174F; Ahom
11800..1184F; Dogra
118A0..118FF; Warang Citi
11900..1195F; Dives Akuru
119A0..119FF; Nandinagari
11A00..11A4F; Zanabazar Square
11A50..11AAF; Soyombo
11AB0..11ABF; Unified Canadian Aboriginal Syllabics Extended-A
11AC0..11AFF; Pau Cin Hau
11C00..11C6F; Bhaiksuki
11C70..11CBF; Marchen
@@ -277,11 +282,13 @@ FFF0..FFFF; Specials
12000..123FF; Cuneiform
12400..1247F; Cuneiform Numbers and Punctuation
12480..1254F; Early Dynastic Cuneiform
12F90..12FFF; Cypro-Minoan
13000..1342F; Egyptian Hieroglyphs
13430..1343F; Egyptian Hieroglyph Format Controls
14400..1467F; Anatolian Hieroglyphs
16800..16A3F; Bamum Supplement
16A40..16A6F; Mro
16A70..16ACF; Tangsa
16AD0..16AFF; Bassa Vah
16B00..16B8F; Pahawh Hmong
16E40..16E9F; Medefaidrin
@@ -290,13 +297,15 @@ FFF0..FFFF; Specials
17000..187FF; Tangut
18800..18AFF; Tangut Components
18B00..18CFF; Khitan Small Script
18D00..18D8F; Tangut Supplement
18D00..18D7F; Tangut Supplement
1AFF0..1AFFF; Kana Extended-B
1B000..1B0FF; Kana Supplement
1B100..1B12F; Kana Extended-A
1B130..1B16F; Small Kana Extension
1B170..1B2FF; Nushu
1BC00..1BC9F; Duployan
1BCA0..1BCAF; Shorthand Format Controls
1CF00..1CFCF; Znamenny Musical Notation
1D000..1D0FF; Byzantine Musical Symbols
1D100..1D1FF; Musical Symbols
1D200..1D24F; Ancient Greek Musical Notation
@@ -305,9 +314,12 @@ FFF0..FFFF; Specials
1D360..1D37F; Counting Rod Numerals
1D400..1D7FF; Mathematical Alphanumeric Symbols
1D800..1DAAF; Sutton SignWriting
1DF00..1DFFF; Latin Extended-G
1E000..1E02F; Glagolitic Supplement
1E100..1E14F; Nyiakeng Puachue Hmong
1E290..1E2BF; Toto
1E2C0..1E2FF; Wancho
1E7E0..1E7FF; Ethiopic Extended-B
1E800..1E8DF; Mende Kikakui
1E900..1E95F; Adlam
1EC70..1ECBF; Indic Siyaq Numbers

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 @@
# PropList-13.0.0.txt
# Date: 2019-11-27, 03:13:28 GMT
# Copyright (c) 2019 Unicode, Inc.
# PropList-14.0.0.txt
# Date: 2021-08-12, 23:13:05 GMT
# Copyright (c) 2021 Unicode, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
@@ -54,6 +54,7 @@
2E1A ; Dash # Pd HYPHEN WITH DIAERESIS
2E3A..2E3B ; Dash # Pd [2] TWO-EM DASH..THREE-EM DASH
2E40 ; Dash # Pd DOUBLE HYPHEN
2E5D ; Dash # Pd OBLIQUE HYPHEN
301C ; Dash # Pd WAVE DASH
3030 ; Dash # Pd WAVY DASH
30A0 ; Dash # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN
@@ -63,7 +64,7 @@ FE63 ; Dash # Pd SMALL HYPHEN-MINUS
FF0D ; Dash # Pd FULLWIDTH HYPHEN-MINUS
10EAD ; Dash # Pd YEZIDI HYPHENATION MARK
# Total code points: 29
# Total code points: 30
# ================================================
@@ -126,7 +127,7 @@ FF63 ; Quotation_Mark # Pe HALFWIDTH RIGHT CORNER BRACKET
05C3 ; Terminal_Punctuation # Po HEBREW PUNCTUATION SOF PASUQ
060C ; Terminal_Punctuation # Po ARABIC COMMA
061B ; Terminal_Punctuation # Po ARABIC SEMICOLON
061E..061F ; Terminal_Punctuation # Po [2] ARABIC TRIPLE DOT PUNCTUATION MARK..ARABIC QUESTION MARK
061D..061F ; Terminal_Punctuation # Po [3] ARABIC END OF TEXT MARK..ARABIC QUESTION MARK
06D4 ; Terminal_Punctuation # Po ARABIC FULL STOP
0700..070A ; Terminal_Punctuation # Po [11] SYRIAC END OF PARAGRAPH..SYRIAC CONTRACTION
070C ; Terminal_Punctuation # Po SYRIAC HARKLEAN METOBELUS
@@ -150,6 +151,7 @@ FF63 ; Quotation_Mark # Pe HALFWIDTH RIGHT CORNER BRACKET
1AA8..1AAB ; Terminal_Punctuation # Po [4] TAI THAM SIGN KAAN..TAI THAM SIGN SATKAANKUU
1B5A..1B5B ; Terminal_Punctuation # Po [2] BALINESE PANTI..BALINESE PAMADA
1B5D..1B5F ; Terminal_Punctuation # Po [3] BALINESE CARIK PAMUNGKAH..BALINESE CARIK PAREREN
1B7D..1B7E ; Terminal_Punctuation # Po [2] BALINESE PANTI LANTANG..BALINESE PAMADA LANTANG
1C3B..1C3F ; Terminal_Punctuation # Po [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK
1C7E..1C7F ; Terminal_Punctuation # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
203C..203D ; Terminal_Punctuation # Po [2] DOUBLE EXCLAMATION MARK..INTERROBANG
@@ -159,6 +161,7 @@ FF63 ; Quotation_Mark # Pe HALFWIDTH RIGHT CORNER BRACKET
2E41 ; Terminal_Punctuation # Po REVERSED COMMA
2E4C ; Terminal_Punctuation # Po MEDIEVAL COMMA
2E4E..2E4F ; Terminal_Punctuation # Po [2] PUNCTUS ELEVATUS MARK..CORNISH VERSE DIVIDER
2E53..2E54 ; Terminal_Punctuation # Po [2] MEDIEVAL EXCLAMATION MARK..MEDIEVAL QUESTION MARK
3001..3002 ; Terminal_Punctuation # Po [2] IDEOGRAPHIC COMMA..IDEOGRAPHIC FULL STOP
A4FE..A4FF ; Terminal_Punctuation # Po [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
A60D..A60F ; Terminal_Punctuation # Po [3] VAI COMMA..VAI QUESTION MARK
@@ -189,6 +192,7 @@ FF64 ; Terminal_Punctuation # Po HALFWIDTH IDEOGRAPHIC COMMA
10B3A..10B3F ; Terminal_Punctuation # Po [6] TINY TWO DOTS OVER ONE DOT PUNCTUATION..LARGE ONE RING OVER TWO RINGS PUNCTUATION
10B99..10B9C ; Terminal_Punctuation # Po [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT
10F55..10F59 ; Terminal_Punctuation # Po [5] SOGDIAN PUNCTUATION TWO VERTICAL BARS..SOGDIAN PUNCTUATION HALF CIRCLE WITH DOT
10F86..10F89 ; Terminal_Punctuation # Po [4] OLD UYGHUR PUNCTUATION BAR..OLD UYGHUR PUNCTUATION FOUR DOTS
11047..1104D ; Terminal_Punctuation # Po [7] BRAHMI DANDA..BRAHMI PUNCTUATION LOTUS
110BE..110C1 ; Terminal_Punctuation # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
11141..11143 ; Terminal_Punctuation # Po [3] CHAKMA DANDA..CHAKMA QUESTION MARK
@@ -220,7 +224,7 @@ FF64 ; Terminal_Punctuation # Po HALFWIDTH IDEOGRAPHIC COMMA
1BC9F ; Terminal_Punctuation # Po DUPLOYAN PUNCTUATION CHINOOK FULL STOP
1DA87..1DA8A ; Terminal_Punctuation # Po [4] SIGNWRITING COMMA..SIGNWRITING COLON
# Total code points: 267
# Total code points: 276
# ================================================
@@ -600,6 +604,7 @@ FF41..FF46 ; Hex_Digit # L& [6] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH L
1A6D..1A72 ; Other_Alphabetic # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
1A73..1A74 ; Other_Alphabetic # Mn [2] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN MAI KANG
1ABF..1AC0 ; Other_Alphabetic # Mn [2] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER TURNED W BELOW
1ACC..1ACE ; Other_Alphabetic # Mn [3] COMBINING LATIN SMALL LETTER INSULAR G..COMBINING LATIN SMALL LETTER INSULAR T
1B00..1B03 ; Other_Alphabetic # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
1B04 ; Other_Alphabetic # Mc BALINESE SIGN BISAH
1B35 ; Other_Alphabetic # Mc BALINESE VOWEL SIGN TEDUNG
@@ -686,10 +691,12 @@ FB1E ; Other_Alphabetic # Mn HEBREW POINT JUDEO-SPANISH VARIKA
11001 ; Other_Alphabetic # Mn BRAHMI SIGN ANUSVARA
11002 ; Other_Alphabetic # Mc BRAHMI SIGN VISARGA
11038..11045 ; Other_Alphabetic # Mn [14] BRAHMI VOWEL SIGN AA..BRAHMI VOWEL SIGN AU
11073..11074 ; Other_Alphabetic # Mn [2] BRAHMI VOWEL SIGN OLD TAMIL SHORT E..BRAHMI VOWEL SIGN OLD TAMIL SHORT O
11082 ; Other_Alphabetic # Mc KAITHI SIGN VISARGA
110B0..110B2 ; Other_Alphabetic # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
110B3..110B6 ; Other_Alphabetic # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
110B7..110B8 ; Other_Alphabetic # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
110C2 ; Other_Alphabetic # Mn KAITHI VOWEL SIGN VOCALIC R
11100..11102 ; Other_Alphabetic # Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
11127..1112B ; Other_Alphabetic # Mn [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
1112C ; Other_Alphabetic # Mc CHAKMA VOWEL SIGN E
@@ -815,7 +822,7 @@ FB1E ; Other_Alphabetic # Mn HEBREW POINT JUDEO-SPANISH VARIKA
1F150..1F169 ; Other_Alphabetic # So [26] NEGATIVE CIRCLED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
1F170..1F189 ; Other_Alphabetic # So [26] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED LATIN CAPITAL LETTER Z
# Total code points: 1398
# Total code points: 1404
# ================================================
@@ -824,7 +831,7 @@ FB1E ; Other_Alphabetic # Mn HEBREW POINT JUDEO-SPANISH VARIKA
3021..3029 ; Ideographic # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
3038..303A ; Ideographic # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
3400..4DBF ; Ideographic # Lo [6592] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DBF
4E00..9FFC ; Ideographic # Lo [20989] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FFC
4E00..9FFF ; Ideographic # Lo [20992] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FFF
F900..FA6D ; Ideographic # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
FA70..FAD9 ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
16FE4 ; Ideographic # Mn KHITAN SMALL SCRIPT FILLER
@@ -832,15 +839,15 @@ FA70..FAD9 ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COM
18800..18CD5 ; Ideographic # Lo [1238] TANGUT COMPONENT-001..KHITAN SMALL SCRIPT CHARACTER-18CD5
18D00..18D08 ; Ideographic # Lo [9] TANGUT IDEOGRAPH-18D00..TANGUT IDEOGRAPH-18D08
1B170..1B2FB ; Ideographic # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB
20000..2A6DD ; Ideographic # Lo [42718] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DD
2A700..2B734 ; Ideographic # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
20000..2A6DF ; Ideographic # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
2A700..2B738 ; Ideographic # Lo [4153] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B738
2B740..2B81D ; Ideographic # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
2B820..2CEA1 ; Ideographic # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
2CEB0..2EBE0 ; Ideographic # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
2F800..2FA1D ; Ideographic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
30000..3134A ; Ideographic # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
# Total code points: 101652
# Total code points: 101661
# ================================================
@@ -885,6 +892,9 @@ FA70..FAD9 ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COM
07EB..07F3 ; Diacritic # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
07F4..07F5 ; Diacritic # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE
0818..0819 ; Diacritic # Mn [2] SAMARITAN MARK OCCLUSION..SAMARITAN MARK DAGESH
0898..089F ; Diacritic # Mn [8] ARABIC SMALL HIGH WORD AL-JUZ..ARABIC HALF MADDA OVER MADDA
08C9 ; Diacritic # Lm ARABIC SMALL FARSI YEH
08CA..08D2 ; Diacritic # Mn [9] ARABIC SMALL HIGH FARSI YEH..ARABIC LARGE ROUND DOT INSIDE CIRCLE BELOW
08E3..08FE ; Diacritic # Mn [28] ARABIC TURNED DAMMA BELOW..ARABIC DAMMA WITH DOT
093C ; Diacritic # Mn DEVANAGARI SIGN NUKTA
094D ; Diacritic # Mn DEVANAGARI SIGN VIRAMA
@@ -901,6 +911,7 @@ FA70..FAD9 ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COM
0B4D ; Diacritic # Mn ORIYA SIGN VIRAMA
0B55 ; Diacritic # Mn ORIYA SIGN OVERLINE
0BCD ; Diacritic # Mn TAMIL SIGN VIRAMA
0C3C ; Diacritic # Mn TELUGU SIGN NUKTA
0C4D ; Diacritic # Mn TELUGU SIGN VIRAMA
0CBC ; Diacritic # Mn KANNADA SIGN NUKTA
0CCD ; Diacritic # Mn KANNADA SIGN VIRAMA
@@ -928,12 +939,16 @@ FA70..FAD9 ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COM
108F ; Diacritic # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5
109A..109B ; Diacritic # Mc [2] MYANMAR SIGN KHAMTI TONE-1..MYANMAR SIGN KHAMTI TONE-3
135D..135F ; Diacritic # Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
1714 ; Diacritic # Mn TAGALOG SIGN VIRAMA
1715 ; Diacritic # Mc TAGALOG SIGN PAMUDPOD
17C9..17D3 ; Diacritic # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
17DD ; Diacritic # Mn KHMER SIGN ATTHACAN
1939..193B ; Diacritic # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
1A75..1A7C ; Diacritic # Mn [8] TAI THAM SIGN TONE-1..TAI THAM SIGN KHUEN-LUE KARAN
1A7F ; Diacritic # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
1AB0..1ABD ; Diacritic # Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
1ABE ; Diacritic # Me COMBINING PARENTHESES OVERLAY
1AC1..1ACB ; Diacritic # Mn [11] COMBINING LEFT PARENTHESIS ABOVE LEFT..COMBINING TRIPLE ACUTE ACCENT
1B34 ; Diacritic # Mn BALINESE SIGN REREKAN
1B44 ; Diacritic # Mc BALINESE ADEG ADEG
1B6B..1B73 ; Diacritic # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
@@ -952,8 +967,7 @@ FA70..FAD9 ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COM
1CF8..1CF9 ; Diacritic # Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
1D2C..1D6A ; Diacritic # Lm [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
1DC4..1DCF ; Diacritic # Mn [12] COMBINING MACRON-ACUTE..COMBINING ZIGZAG BELOW
1DF5..1DF9 ; Diacritic # Mn [5] COMBINING UP TACK ABOVE..COMBINING WIDE INVERTED BRIDGE BELOW
1DFD..1DFF ; Diacritic # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
1DF5..1DFF ; Diacritic # Mn [11] COMBINING UP TACK ABOVE..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
1FBD ; Diacritic # Sk GREEK KORONIS
1FBF..1FC1 ; Diacritic # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI
1FCD..1FCF ; Diacritic # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI
@@ -1008,10 +1022,16 @@ FF70 ; Diacritic # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND
FF9E..FF9F ; Diacritic # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
FFE3 ; Diacritic # Sk FULLWIDTH MACRON
102E0 ; Diacritic # Mn COPTIC EPACT THOUSANDS MARK
10780..10785 ; Diacritic # Lm [6] MODIFIER LETTER SMALL CAPITAL AA..MODIFIER LETTER SMALL B WITH HOOK
10787..107B0 ; Diacritic # Lm [42] MODIFIER LETTER SMALL DZ DIGRAPH..MODIFIER LETTER SMALL V WITH RIGHT HOOK
107B2..107BA ; Diacritic # Lm [9] MODIFIER LETTER SMALL CAPITAL Y..MODIFIER LETTER SMALL S WITH CURL
10AE5..10AE6 ; Diacritic # Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
10D22..10D23 ; Diacritic # Lo [2] HANIFI ROHINGYA MARK SAKIN..HANIFI ROHINGYA MARK NA KHONNA
10D24..10D27 ; Diacritic # Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI
10F46..10F50 ; Diacritic # Mn [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW
10F82..10F85 ; Diacritic # Mn [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW
11046 ; Diacritic # Mn BRAHMI VIRAMA
11070 ; Diacritic # Mn BRAHMI SIGN OLD TAMIL VIRAMA
110B9..110BA ; Diacritic # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
11133..11134 ; Diacritic # Mn [2] CHAKMA VIRAMA..CHAKMA MAAYYAA
11173 ; Diacritic # Mn MAHAJANI SIGN NUKTA
@@ -1049,18 +1069,24 @@ FFE3 ; Diacritic # Sk FULLWIDTH MACRON
16F8F..16F92 ; Diacritic # Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW
16F93..16F9F ; Diacritic # Lm [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
16FF0..16FF1 ; Diacritic # Mc [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY
1AFF0..1AFF3 ; Diacritic # Lm [4] KATAKANA LETTER MINNAN TONE-2..KATAKANA LETTER MINNAN TONE-5
1AFF5..1AFFB ; Diacritic # Lm [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
1AFFD..1AFFE ; Diacritic # Lm [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
1CF00..1CF2D ; Diacritic # Mn [46] ZNAMENNY COMBINING MARK GORAZDO NIZKO S KRYZHEM ON LEFT..ZNAMENNY COMBINING MARK KRYZH ON LEFT
1CF30..1CF46 ; Diacritic # Mn [23] ZNAMENNY COMBINING TONAL RANGE MARK MRACHNO..ZNAMENNY PRIZNAK MODIFIER ROG
1D167..1D169 ; Diacritic # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
1D16D..1D172 ; Diacritic # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
1D17B..1D182 ; Diacritic # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
1D185..1D18B ; Diacritic # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
1D1AA..1D1AD ; Diacritic # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
1E130..1E136 ; Diacritic # Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D
1E2AE ; Diacritic # Mn TOTO SIGN RISING TONE
1E2EC..1E2EF ; Diacritic # Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI
1E8D0..1E8D6 ; Diacritic # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
1E944..1E946 ; Diacritic # Mn [3] ADLAM ALIF LENGTHENER..ADLAM GEMINATION MARK
1E948..1E94A ; Diacritic # Mn [3] ADLAM CONSONANT MODIFIER..ADLAM NUKTA
# Total code points: 882
# Total code points: 1064
# ================================================
@@ -1088,6 +1114,7 @@ AA70 ; Extender # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
AADD ; Extender # Lm TAI VIET SYMBOL SAM
AAF3..AAF4 ; Extender # Lm [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
FF70 ; Extender # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
10781..10782 ; Extender # Lm [2] MODIFIER LETTER SUPERSCRIPT TRIANGULAR COLON..MODIFIER LETTER SUPERSCRIPT HALF TRIANGULAR COLON
1135D ; Extender # Lo GRANTHA SIGN PLUTA
115C6..115C8 ; Extender # Po [3] SIDDHAM REPETITION MARK-1..SIDDHAM REPETITION MARK-3
11A98 ; Extender # Mn SOYOMBO GEMINATION MARK
@@ -1097,7 +1124,7 @@ FF70 ; Extender # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND
1E13C..1E13D ; Extender # Lm [2] NYIAKENG PUACHUE HMONG SIGN XW XW..NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER
1E944..1E946 ; Extender # Mn [3] ADLAM ALIF LENGTHENER..ADLAM GEMINATION MARK
# Total code points: 48
# Total code points: 50
# ================================================
@@ -1121,8 +1148,12 @@ A69C..A69D ; Other_Lowercase # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..M
A770 ; Other_Lowercase # Lm MODIFIER LETTER US
A7F8..A7F9 ; Other_Lowercase # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
AB5C..AB5F ; Other_Lowercase # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK
10780 ; Other_Lowercase # Lm MODIFIER LETTER SMALL CAPITAL AA
10783..10785 ; Other_Lowercase # Lm [3] MODIFIER LETTER SMALL AE..MODIFIER LETTER SMALL B WITH HOOK
10787..107B0 ; Other_Lowercase # Lm [42] MODIFIER LETTER SMALL DZ DIGRAPH..MODIFIER LETTER SMALL V WITH RIGHT HOOK
107B2..107BA ; Other_Lowercase # Lm [9] MODIFIER LETTER SMALL CAPITAL Y..MODIFIER LETTER SMALL S WITH CURL
# Total code points: 189
# Total code points: 244
# ================================================
@@ -1211,7 +1242,7 @@ E0020..E007F ; Other_Grapheme_Extend # Cf [96] TAG SPACE..CANCEL TAG
# ================================================
3400..4DBF ; Unified_Ideograph # Lo [6592] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DBF
4E00..9FFC ; Unified_Ideograph # Lo [20989] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FFC
4E00..9FFF ; Unified_Ideograph # Lo [20992] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FFF
FA0E..FA0F ; Unified_Ideograph # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA0E..CJK COMPATIBILITY IDEOGRAPH-FA0F
FA11 ; Unified_Ideograph # Lo CJK COMPATIBILITY IDEOGRAPH-FA11
FA13..FA14 ; Unified_Ideograph # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA13..CJK COMPATIBILITY IDEOGRAPH-FA14
@@ -1219,14 +1250,14 @@ FA1F ; Unified_Ideograph # Lo CJK COMPATIBILITY IDEOGRAPH-FA1F
FA21 ; Unified_Ideograph # Lo CJK COMPATIBILITY IDEOGRAPH-FA21
FA23..FA24 ; Unified_Ideograph # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA23..CJK COMPATIBILITY IDEOGRAPH-FA24
FA27..FA29 ; Unified_Ideograph # Lo [3] CJK COMPATIBILITY IDEOGRAPH-FA27..CJK COMPATIBILITY IDEOGRAPH-FA29
20000..2A6DD ; Unified_Ideograph # Lo [42718] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DD
2A700..2B734 ; Unified_Ideograph # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
20000..2A6DF ; Unified_Ideograph # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
2A700..2B738 ; Unified_Ideograph # Lo [4153] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B738
2B740..2B81D ; Unified_Ideograph # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
2B820..2CEA1 ; Unified_Ideograph # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
2CEB0..2EBE0 ; Unified_Ideograph # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
30000..3134A ; Unified_Ideograph # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
# Total code points: 92856
# Total code points: 92865
# ================================================
@@ -1291,8 +1322,9 @@ E0001 ; Deprecated # Cf LANGUAGE TAG
1D62A..1D62B ; Soft_Dotted # L& [2] MATHEMATICAL SANS-SERIF ITALIC SMALL I..MATHEMATICAL SANS-SERIF ITALIC SMALL J
1D65E..1D65F ; Soft_Dotted # L& [2] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
1D692..1D693 ; Soft_Dotted # L& [2] MATHEMATICAL MONOSPACE SMALL I..MATHEMATICAL MONOSPACE SMALL J
1DF1A ; Soft_Dotted # L& LATIN SMALL LETTER I WITH STROKE AND RETROFLEX HOOK
# Total code points: 46
# Total code points: 47
# ================================================
@@ -1330,7 +1362,7 @@ AABB..AABC ; Logical_Order_Exception # Lo [2] TAI VIET VOWEL AUE..TAI VIET
002E ; Sentence_Terminal # Po FULL STOP
003F ; Sentence_Terminal # Po QUESTION MARK
0589 ; Sentence_Terminal # Po ARMENIAN FULL STOP
061E..061F ; Sentence_Terminal # Po [2] ARABIC TRIPLE DOT PUNCTUATION MARK..ARABIC QUESTION MARK
061D..061F ; Sentence_Terminal # Po [3] ARABIC END OF TEXT MARK..ARABIC QUESTION MARK
06D4 ; Sentence_Terminal # Po ARABIC FULL STOP
0700..0702 ; Sentence_Terminal # Po [3] SYRIAC END OF PARAGRAPH..SYRIAC SUBLINEAR FULL STOP
07F9 ; Sentence_Terminal # Po NKO EXCLAMATION MARK
@@ -1349,12 +1381,14 @@ AABB..AABC ; Logical_Order_Exception # Lo [2] TAI VIET VOWEL AUE..TAI VIET
1AA8..1AAB ; Sentence_Terminal # Po [4] TAI THAM SIGN KAAN..TAI THAM SIGN SATKAANKUU
1B5A..1B5B ; Sentence_Terminal # Po [2] BALINESE PANTI..BALINESE PAMADA
1B5E..1B5F ; Sentence_Terminal # Po [2] BALINESE CARIK SIKI..BALINESE CARIK PAREREN
1B7D..1B7E ; Sentence_Terminal # Po [2] BALINESE PANTI LANTANG..BALINESE PAMADA LANTANG
1C3B..1C3C ; Sentence_Terminal # Po [2] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION NYET THYOOM TA-ROL
1C7E..1C7F ; Sentence_Terminal # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
203C..203D ; Sentence_Terminal # Po [2] DOUBLE EXCLAMATION MARK..INTERROBANG
2047..2049 ; Sentence_Terminal # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK
2E2E ; Sentence_Terminal # Po REVERSED QUESTION MARK
2E3C ; Sentence_Terminal # Po STENOGRAPHIC FULL STOP
2E53..2E54 ; Sentence_Terminal # Po [2] MEDIEVAL EXCLAMATION MARK..MEDIEVAL QUESTION MARK
3002 ; Sentence_Terminal # Po IDEOGRAPHIC FULL STOP
A4FF ; Sentence_Terminal # Po LISU PUNCTUATION FULL STOP
A60E..A60F ; Sentence_Terminal # Po [2] VAI FULL STOP..VAI QUESTION MARK
@@ -1375,6 +1409,7 @@ FF1F ; Sentence_Terminal # Po FULLWIDTH QUESTION MARK
FF61 ; Sentence_Terminal # Po HALFWIDTH IDEOGRAPHIC FULL STOP
10A56..10A57 ; Sentence_Terminal # Po [2] KHAROSHTHI PUNCTUATION DANDA..KHAROSHTHI PUNCTUATION DOUBLE DANDA
10F55..10F59 ; Sentence_Terminal # Po [5] SOGDIAN PUNCTUATION TWO VERTICAL BARS..SOGDIAN PUNCTUATION HALF CIRCLE WITH DOT
10F86..10F89 ; Sentence_Terminal # Po [4] OLD UYGHUR PUNCTUATION BAR..OLD UYGHUR PUNCTUATION FOUR DOTS
11047..11048 ; Sentence_Terminal # Po [2] BRAHMI DANDA..BRAHMI DOUBLE DANDA
110BE..110C1 ; Sentence_Terminal # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
11141..11143 ; Sentence_Terminal # Po [3] CHAKMA DANDA..CHAKMA QUESTION MARK
@@ -1403,15 +1438,16 @@ FF61 ; Sentence_Terminal # Po HALFWIDTH IDEOGRAPHIC FULL STOP
1BC9F ; Sentence_Terminal # Po DUPLOYAN PUNCTUATION CHINOOK FULL STOP
1DA88 ; Sentence_Terminal # Po SIGNWRITING FULL STOP
# Total code points: 143
# Total code points: 152
# ================================================
180B..180D ; Variation_Selector # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
180F ; Variation_Selector # Mn MONGOLIAN FREE VARIATION SELECTOR FOUR
FE00..FE0F ; Variation_Selector # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
E0100..E01EF ; Variation_Selector # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
# Total code points: 259
# Total code points: 260
# ================================================
@@ -1644,8 +1680,17 @@ E0100..E01EF ; Variation_Selector # Mn [240] VARIATION SELECTOR-17..VARIATION S
2E42 ; Pattern_Syntax # Ps DOUBLE LOW-REVERSED-9 QUOTATION MARK
2E43..2E4F ; Pattern_Syntax # Po [13] DASH WITH LEFT UPTURN..CORNISH VERSE DIVIDER
2E50..2E51 ; Pattern_Syntax # So [2] CROSS PATTY WITH RIGHT CROSSBAR..CROSS PATTY WITH LEFT CROSSBAR
2E52 ; Pattern_Syntax # Po TIRONIAN SIGN CAPITAL ET
2E53..2E7F ; Pattern_Syntax # Cn [45] <reserved-2E53>..<reserved-2E7F>
2E52..2E54 ; Pattern_Syntax # Po [3] TIRONIAN SIGN CAPITAL ET..MEDIEVAL QUESTION MARK
2E55 ; Pattern_Syntax # Ps LEFT SQUARE BRACKET WITH STROKE
2E56 ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET WITH STROKE
2E57 ; Pattern_Syntax # Ps LEFT SQUARE BRACKET WITH DOUBLE STROKE
2E58 ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET WITH DOUBLE STROKE
2E59 ; Pattern_Syntax # Ps TOP HALF LEFT PARENTHESIS
2E5A ; Pattern_Syntax # Pe TOP HALF RIGHT PARENTHESIS
2E5B ; Pattern_Syntax # Ps BOTTOM HALF LEFT PARENTHESIS
2E5C ; Pattern_Syntax # Pe BOTTOM HALF RIGHT PARENTHESIS
2E5D ; Pattern_Syntax # Pd OBLIQUE HYPHEN
2E5E..2E7F ; Pattern_Syntax # Cn [34] <reserved-2E5E>..<reserved-2E7F>
3001..3003 ; Pattern_Syntax # Po [3] IDEOGRAPHIC COMMA..DITTO MARK
3008 ; Pattern_Syntax # Ps LEFT ANGLE BRACKET
3009 ; Pattern_Syntax # Pe RIGHT ANGLE BRACKET
@@ -1682,11 +1727,12 @@ FE45..FE46 ; Pattern_Syntax # Po [2] SESAME DOT..WHITE SESAME DOT
0600..0605 ; Prepended_Concatenation_Mark # Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
06DD ; Prepended_Concatenation_Mark # Cf ARABIC END OF AYAH
070F ; Prepended_Concatenation_Mark # Cf SYRIAC ABBREVIATION MARK
0890..0891 ; Prepended_Concatenation_Mark # Cf [2] ARABIC POUND MARK ABOVE..ARABIC PIASTRE MARK ABOVE
08E2 ; Prepended_Concatenation_Mark # Cf ARABIC DISPUTED END OF AYAH
110BD ; Prepended_Concatenation_Mark # Cf KAITHI NUMBER SIGN
110CD ; Prepended_Concatenation_Mark # Cf KAITHI NUMBER SIGN ABOVE
# Total code points: 11
# Total code points: 13
# ================================================

View File

@@ -1,6 +1,6 @@
# PropertyValueAliases-13.0.0.txt
# Date: 2019-11-13, 21:52:10 GMT
# Copyright (c) 2019 Unicode, Inc.
# PropertyValueAliases-14.0.0.txt
# Date: 2021-05-10, 21:08:53 GMT
# Copyright (c) 2021 Unicode, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
@@ -89,6 +89,7 @@ age; 11.0 ; V11_0
age; 12.0 ; V12_0
age; 12.1 ; V12_1
age; 13.0 ; V13_0
age; 14.0 ; V14_0
age; NA ; Unassigned
# Alphabetic (Alpha)
@@ -160,6 +161,7 @@ blk; Ancient_Greek_Numbers ; Ancient_Greek_Numbers
blk; Ancient_Symbols ; Ancient_Symbols
blk; Arabic ; Arabic
blk; Arabic_Ext_A ; Arabic_Extended_A
blk; Arabic_Ext_B ; Arabic_Extended_B
blk; Arabic_Math ; Arabic_Mathematical_Alphabetic_Symbols
blk; Arabic_PF_A ; Arabic_Presentation_Forms_A ; Arabic_Presentation_Forms-A
blk; Arabic_PF_B ; Arabic_Presentation_Forms_B
@@ -216,6 +218,7 @@ blk; Cuneiform ; Cuneiform
blk; Cuneiform_Numbers ; Cuneiform_Numbers_And_Punctuation
blk; Currency_Symbols ; Currency_Symbols
blk; Cypriot_Syllabary ; Cypriot_Syllabary
blk; Cypro_Minoan ; Cypro_Minoan
blk; Cyrillic ; Cyrillic
blk; Cyrillic_Ext_A ; Cyrillic_Extended_A
blk; Cyrillic_Ext_B ; Cyrillic_Extended_B
@@ -246,6 +249,7 @@ blk; Enclosed_Ideographic_Sup ; Enclosed_Ideographic_Supplement
blk; Ethiopic ; Ethiopic
blk; Ethiopic_Ext ; Ethiopic_Extended
blk; Ethiopic_Ext_A ; Ethiopic_Extended_A
blk; Ethiopic_Ext_B ; Ethiopic_Extended_B
blk; Ethiopic_Sup ; Ethiopic_Supplement
blk; Geometric_Shapes ; Geometric_Shapes
blk; Geometric_Shapes_Ext ; Geometric_Shapes_Extended
@@ -285,6 +289,7 @@ blk; Jamo_Ext_B ; Hangul_Jamo_Extended_B
blk; Javanese ; Javanese
blk; Kaithi ; Kaithi
blk; Kana_Ext_A ; Kana_Extended_A
blk; Kana_Ext_B ; Kana_Extended_B
blk; Kana_Sup ; Kana_Supplement
blk; Kanbun ; Kanbun
blk; Kangxi ; Kangxi_Radicals
@@ -306,6 +311,8 @@ blk; Latin_Ext_B ; Latin_Extended_B
blk; Latin_Ext_C ; Latin_Extended_C
blk; Latin_Ext_D ; Latin_Extended_D
blk; Latin_Ext_E ; Latin_Extended_E
blk; Latin_Ext_F ; Latin_Extended_F
blk; Latin_Ext_G ; Latin_Extended_G
blk; Lepcha ; Lepcha
blk; Letterlike_Symbols ; Letterlike_Symbols
blk; Limbu ; Limbu
@@ -372,6 +379,7 @@ blk; Old_Persian ; Old_Persian
blk; Old_Sogdian ; Old_Sogdian
blk; Old_South_Arabian ; Old_South_Arabian
blk; Old_Turkic ; Old_Turkic
blk; Old_Uyghur ; Old_Uyghur
blk; Oriya ; Oriya
blk; Ornamental_Dingbats ; Ornamental_Dingbats
blk; Osage ; Osage
@@ -433,6 +441,7 @@ blk; Tai_Xuan_Jing ; Tai_Xuan_Jing_Symbols
blk; Takri ; Takri
blk; Tamil ; Tamil
blk; Tamil_Sup ; Tamil_Supplement
blk; Tangsa ; Tangsa
blk; Tangut ; Tangut
blk; Tangut_Components ; Tangut_Components
blk; Tangut_Sup ; Tangut_Supplement
@@ -442,13 +451,16 @@ blk; Thai ; Thai
blk; Tibetan ; Tibetan
blk; Tifinagh ; Tifinagh
blk; Tirhuta ; Tirhuta
blk; Toto ; Toto
blk; Transport_And_Map ; Transport_And_Map_Symbols
blk; UCAS ; Unified_Canadian_Aboriginal_Syllabics; Canadian_Syllabics
blk; UCAS_Ext ; Unified_Canadian_Aboriginal_Syllabics_Extended
blk; UCAS_Ext_A ; Unified_Canadian_Aboriginal_Syllabics_Extended_A
blk; Ugaritic ; Ugaritic
blk; Vai ; Vai
blk; Vedic_Ext ; Vedic_Extensions
blk; Vertical_Forms ; Vertical_Forms
blk; Vithkuqi ; Vithkuqi
blk; VS ; Variation_Selectors
blk; VS_Sup ; Variation_Selectors_Supplement
blk; Wancho ; Wancho
@@ -458,6 +470,7 @@ blk; Yi_Radicals ; Yi_Radicals
blk; Yi_Syllables ; Yi_Syllables
blk; Yijing ; Yijing_Hexagram_Symbols
blk; Zanabazar_Square ; Zanabazar_Square
blk; Znamenny_Music ; Znamenny_Musical_Notation
# Canonical_Combining_Class (ccc)
@@ -1032,6 +1045,8 @@ jg ; Taw ; Taw
jg ; Teh_Marbuta ; Teh_Marbuta
jg ; Teh_Marbuta_Goal ; Hamza_On_Heh_Goal
jg ; Teth ; Teth
jg ; Thin_Yeh ; Thin_Yeh
jg ; Vertical_Tail ; Vertical_Tail
jg ; Waw ; Waw
jg ; Yeh ; Yeh
jg ; Yeh_Barree ; Yeh_Barree
@@ -1262,6 +1277,7 @@ sc ; Cham ; Cham
sc ; Cher ; Cherokee
sc ; Chrs ; Chorasmian
sc ; Copt ; Coptic ; Qaac
sc ; Cpmn ; Cypro_Minoan
sc ; Cprt ; Cypriot
sc ; Cyrl ; Cyrillic
sc ; Deva ; Devanagari
@@ -1341,6 +1357,7 @@ sc ; Orkh ; Old_Turkic
sc ; Orya ; Oriya
sc ; Osge ; Osage
sc ; Osma ; Osmanya
sc ; Ougr ; Old_Uyghur
sc ; Palm ; Palmyrene
sc ; Pauc ; Pau_Cin_Hau
sc ; Perm ; Old_Permic
@@ -1383,8 +1400,11 @@ sc ; Thaa ; Thaana
sc ; Thai ; Thai
sc ; Tibt ; Tibetan
sc ; Tirh ; Tirhuta
sc ; Tnsa ; Tangsa
sc ; Toto ; Toto
sc ; Ugar ; Ugaritic
sc ; Vaii ; Vai
sc ; Vith ; Vithkuqi
sc ; Wara ; Warang_Citi
sc ; Wcho ; Wancho
sc ; Xpeo ; Old_Persian

View File

@@ -0,0 +1,16 @@
# Unicode Character Database
# Date: 2021-09-10, 17:22:00 GMT [KW]
# Copyright (c) 2021 Unicode, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see https://www.unicode.org/terms_of_use.html
#
# For documentation, see the following:
# NamesList.html
# UAX #38, "Unicode Han Database (Unihan)"
# UAX #44, "Unicode Character Database"
# UTS #51, "Unicode Emoji"
#
# The UAXes and UTS #51 can be accessed at https://www.unicode.org/versions/Unicode14.0.0/
This directory contains the final data files
for the Unicode Character Database, for Version 14.0.0 of the Unicode Standard.

View File

@@ -1,16 +1,16 @@
# Scripts-13.0.0.txt
# Date: 2020-01-22, 00:07:43 GMT
# Copyright (c) 2020 Unicode, Inc.
# Scripts-14.0.0.txt
# Date: 2021-07-10, 00:35:31 GMT
# Copyright (c) 2021 Unicode, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Unicode Character Database
# For documentation, see http://www.unicode.org/reports/tr44/
# For more information, see:
# UAX #24, Unicode Script Property: http://www.unicode.org/reports/tr24/
# UAX #24, Unicode Script Property: https://www.unicode.org/reports/tr24/
# Especially the sections:
# http://www.unicode.org/reports/tr24/#Assignment_Script_Values
# http://www.unicode.org/reports/tr24/#Assignment_ScriptX_Values
# https://www.unicode.org/reports/tr24/#Assignment_Script_Values
# https://www.unicode.org/reports/tr24/#Assignment_ScriptX_Values
#
# ================================================
@@ -154,7 +154,7 @@
208A..208C ; Common # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
208D ; Common # Ps SUBSCRIPT LEFT PARENTHESIS
208E ; Common # Pe SUBSCRIPT RIGHT PARENTHESIS
20A0..20BF ; Common # Sc [32] EURO-CURRENCY SIGN..BITCOIN SIGN
20A0..20C0 ; Common # Sc [33] EURO-CURRENCY SIGN..SOM SIGN
2100..2101 ; Common # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
2102 ; Common # L& DOUBLE-STRUCK CAPITAL C
2103..2106 ; Common # So [4] DEGREE CELSIUS..CADA UNA
@@ -347,7 +347,16 @@
2E42 ; Common # Ps DOUBLE LOW-REVERSED-9 QUOTATION MARK
2E43..2E4F ; Common # Po [13] DASH WITH LEFT UPTURN..CORNISH VERSE DIVIDER
2E50..2E51 ; Common # So [2] CROSS PATTY WITH RIGHT CROSSBAR..CROSS PATTY WITH LEFT CROSSBAR
2E52 ; Common # Po TIRONIAN SIGN CAPITAL ET
2E52..2E54 ; Common # Po [3] TIRONIAN SIGN CAPITAL ET..MEDIEVAL QUESTION MARK
2E55 ; Common # Ps LEFT SQUARE BRACKET WITH STROKE
2E56 ; Common # Pe RIGHT SQUARE BRACKET WITH STROKE
2E57 ; Common # Ps LEFT SQUARE BRACKET WITH DOUBLE STROKE
2E58 ; Common # Pe RIGHT SQUARE BRACKET WITH DOUBLE STROKE
2E59 ; Common # Ps TOP HALF LEFT PARENTHESIS
2E5A ; Common # Pe TOP HALF RIGHT PARENTHESIS
2E5B ; Common # Ps BOTTOM HALF LEFT PARENTHESIS
2E5C ; Common # Pe BOTTOM HALF RIGHT PARENTHESIS
2E5D ; Common # Pd OBLIQUE HYPHEN
2FF0..2FFB ; Common # So [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
3000 ; Common # Zs IDEOGRAPHIC SPACE
3001..3003 ; Common # Po [3] IDEOGRAPHIC COMMA..DITTO MARK
@@ -511,9 +520,8 @@ FFFC..FFFD ; Common # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHAR
10190..1019C ; Common # So [13] ROMAN SEXTANS SIGN..ASCIA SYMBOL
101D0..101FC ; Common # So [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND
102E1..102FB ; Common # No [27] COPTIC EPACT DIGIT ONE..COPTIC EPACT NUMBER NINE HUNDRED
16FE2 ; Common # Po OLD CHINESE HOOK MARK
16FE3 ; Common # Lm OLD CHINESE ITERATION MARK
1BCA0..1BCA3 ; Common # Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP
1CF50..1CFC3 ; Common # So [116] ZNAMENNY NEUME KRYUK..ZNAMENNY NEUME PAUK
1D000..1D0F5 ; Common # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
1D100..1D126 ; Common # So [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
1D129..1D164 ; Common # So [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
@@ -523,7 +531,7 @@ FFFC..FFFD ; Common # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHAR
1D173..1D17A ; Common # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
1D183..1D184 ; Common # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN
1D18C..1D1A9 ; Common # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH
1D1AE..1D1E8 ; Common # So [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN
1D1AE..1D1EA ; Common # So [61] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KORON
1D2E0..1D2F3 ; Common # No [20] MAYAN NUMERAL ZERO..MAYAN NUMERAL NINETEEN
1D300..1D356 ; Common # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING
1D360..1D378 ; Common # No [25] COUNTING ROD UNIT DIGIT ONE..TALLY MARK FIVE
@@ -593,35 +601,36 @@ FFFC..FFFD ; Common # So [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHAR
1F300..1F3FA ; Common # So [251] CYCLONE..AMPHORA
1F3FB..1F3FF ; Common # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6
1F400..1F6D7 ; Common # So [728] RAT..ELEVATOR
1F6E0..1F6EC ; Common # So [13] HAMMER AND WRENCH..AIRPLANE ARRIVING
1F6DD..1F6EC ; Common # So [16] PLAYGROUND SLIDE..AIRPLANE ARRIVING
1F6F0..1F6FC ; Common # So [13] SATELLITE..ROLLER SKATE
1F700..1F773 ; Common # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
1F780..1F7D8 ; Common # So [89] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..NEGATIVE CIRCLED SQUARE
1F7E0..1F7EB ; Common # So [12] LARGE ORANGE CIRCLE..LARGE BROWN SQUARE
1F7F0 ; Common # So HEAVY EQUALS SIGN
1F800..1F80B ; Common # So [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD
1F810..1F847 ; Common # So [56] LEFTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD..DOWNWARDS HEAVY ARROW
1F850..1F859 ; Common # So [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW
1F860..1F887 ; Common # So [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW
1F890..1F8AD ; Common # So [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS
1F8B0..1F8B1 ; Common # So [2] ARROW POINTING UPWARDS THEN NORTH WEST..ARROW POINTING RIGHTWARDS THEN CURVING SOUTH WEST
1F900..1F978 ; Common # So [121] CIRCLED CROSS FORMEE WITH FOUR DOTS..DISGUISED FACE
1F97A..1F9CB ; Common # So [82] FACE WITH PLEADING EYES..BUBBLE TEA
1F9CD..1FA53 ; Common # So [135] STANDING PERSON..BLACK CHESS KNIGHT-BISHOP
1F900..1FA53 ; Common # So [340] CIRCLED CROSS FORMEE WITH FOUR DOTS..BLACK CHESS KNIGHT-BISHOP
1FA60..1FA6D ; Common # So [14] XIANGQI RED GENERAL..XIANGQI BLACK SOLDIER
1FA70..1FA74 ; Common # So [5] BALLET SHOES..THONG SANDAL
1FA78..1FA7A ; Common # So [3] DROP OF BLOOD..STETHOSCOPE
1FA78..1FA7C ; Common # So [5] DROP OF BLOOD..CRUTCH
1FA80..1FA86 ; Common # So [7] YO-YO..NESTING DOLLS
1FA90..1FAA8 ; Common # So [25] RINGED PLANET..ROCK
1FAB0..1FAB6 ; Common # So [7] FLY..FEATHER
1FAC0..1FAC2 ; Common # So [3] ANATOMICAL HEART..PEOPLE HUGGING
1FAD0..1FAD6 ; Common # So [7] BLUEBERRIES..TEAPOT
1FA90..1FAAC ; Common # So [29] RINGED PLANET..HAMSA
1FAB0..1FABA ; Common # So [11] FLY..NEST WITH EGGS
1FAC0..1FAC5 ; Common # So [6] ANATOMICAL HEART..PERSON WITH CROWN
1FAD0..1FAD9 ; Common # So [10] BLUEBERRIES..JAR
1FAE0..1FAE7 ; Common # So [8] MELTING FACE..BUBBLES
1FAF0..1FAF6 ; Common # So [7] HAND WITH INDEX FINGER AND THUMB CROSSED..HEART HANDS
1FB00..1FB92 ; Common # So [147] BLOCK SEXTANT-1..UPPER HALF INVERSE MEDIUM SHADE AND LOWER HALF BLOCK
1FB94..1FBCA ; Common # So [55] LEFT HALF INVERSE MEDIUM SHADE AND RIGHT HALF BLOCK..WHITE UP-POINTING CHEVRON
1FBF0..1FBF9 ; Common # Nd [10] SEGMENTED DIGIT ZERO..SEGMENTED DIGIT NINE
E0001 ; Common # Cf LANGUAGE TAG
E0020..E007F ; Common # Cf [96] TAG SPACE..CANCEL TAG
# Total code points: 8087
# Total code points: 8252
# ================================================
@@ -664,8 +673,11 @@ A770 ; Latin # Lm MODIFIER LETTER US
A771..A787 ; Latin # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
A78B..A78E ; Latin # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
A78F ; Latin # Lo LATIN LETTER SINOLOGICAL DOT
A790..A7BF ; Latin # L& [48] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER GLOTTAL U
A7C2..A7CA ; Latin # L& [9] LATIN CAPITAL LETTER ANGLICANA W..LATIN SMALL LETTER S WITH SHORT STROKE OVERLAY
A790..A7CA ; Latin # L& [59] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER S WITH SHORT STROKE OVERLAY
A7D0..A7D1 ; Latin # L& [2] LATIN CAPITAL LETTER CLOSED INSULAR G..LATIN SMALL LETTER CLOSED INSULAR G
A7D3 ; Latin # L& LATIN SMALL LETTER DOUBLE THORN
A7D5..A7D9 ; Latin # L& [5] LATIN SMALL LETTER DOUBLE WYNN..LATIN SMALL LETTER SIGMOID S
A7F2..A7F4 ; Latin # Lm [3] MODIFIER LETTER CAPITAL C..MODIFIER LETTER CAPITAL Q
A7F5..A7F6 ; Latin # L& [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H
A7F7 ; Latin # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I
A7F8..A7F9 ; Latin # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
@@ -679,8 +691,14 @@ AB69 ; Latin # Lm MODIFIER LETTER SMALL TURNED W
FB00..FB06 ; Latin # L& [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
FF21..FF3A ; Latin # L& [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
FF41..FF5A ; Latin # L& [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
10780..10785 ; Latin # Lm [6] MODIFIER LETTER SMALL CAPITAL AA..MODIFIER LETTER SMALL B WITH HOOK
10787..107B0 ; Latin # Lm [42] MODIFIER LETTER SMALL DZ DIGRAPH..MODIFIER LETTER SMALL V WITH RIGHT HOOK
107B2..107BA ; Latin # Lm [9] MODIFIER LETTER SMALL CAPITAL Y..MODIFIER LETTER SMALL S WITH CURL
1DF00..1DF09 ; Latin # L& [10] LATIN SMALL LETTER FENG DIGRAPH WITH TRILL..LATIN SMALL LETTER T WITH HOOK AND RETROFLEX HOOK
1DF0A ; Latin # Lo LATIN LETTER RETROFLEX CLICK WITH RETROFLEX HOOK
1DF0B..1DF1E ; Latin # L& [20] LATIN SMALL LETTER ESH WITH DOUBLE BAR..LATIN SMALL LETTER S WITH CURL
# Total code points: 1374
# Total code points: 1475
# ================================================
@@ -820,7 +838,7 @@ FB46..FB4F ; Hebrew # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATU
060E..060F ; Arabic # So [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
0610..061A ; Arabic # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
061C ; Arabic # Cf ARABIC LETTER MARK
061E ; Arabic # Po ARABIC TRIPLE DOT PUNCTUATION MARK
061D..061E ; Arabic # Po [2] ARABIC END OF TEXT MARK..ARABIC TRIPLE DOT PUNCTUATION MARK
0620..063F ; Arabic # Lo [32] ARABIC LETTER KASHMIRI YEH..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
0641..064A ; Arabic # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH
0656..065F ; Arabic # Mn [10] ARABIC SUBSCRIPT ALEF..ARABIC WAVY HAMZA BELOW
@@ -843,18 +861,25 @@ FB46..FB4F ; Hebrew # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATU
06FD..06FE ; Arabic # So [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN
06FF ; Arabic # Lo ARABIC LETTER HEH WITH INVERTED V
0750..077F ; Arabic # Lo [48] ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS ABOVE
08A0..08B4 ; Arabic # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW
08B6..08C7 ; Arabic # Lo [18] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER LAM WITH SMALL ARABIC LETTER TAH ABOVE
08D3..08E1 ; Arabic # Mn [15] ARABIC SMALL LOW WAW..ARABIC SMALL HIGH SIGN SAFHA
0870..0887 ; Arabic # Lo [24] ARABIC LETTER ALEF WITH ATTACHED FATHA..ARABIC BASELINE ROUND DOT
0888 ; Arabic # Sk ARABIC RAISED ROUND DOT
0889..088E ; Arabic # Lo [6] ARABIC LETTER NOON WITH INVERTED SMALL V..ARABIC VERTICAL TAIL
0890..0891 ; Arabic # Cf [2] ARABIC POUND MARK ABOVE..ARABIC PIASTRE MARK ABOVE
0898..089F ; Arabic # Mn [8] ARABIC SMALL HIGH WORD AL-JUZ..ARABIC HALF MADDA OVER MADDA
08A0..08C8 ; Arabic # Lo [41] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER GRAF
08C9 ; Arabic # Lm ARABIC SMALL FARSI YEH
08CA..08E1 ; Arabic # Mn [24] ARABIC SMALL HIGH FARSI YEH..ARABIC SMALL HIGH SIGN SAFHA
08E3..08FF ; Arabic # Mn [29] ARABIC TURNED DAMMA BELOW..ARABIC MARK SIDEWAYS NOON GHUNNA
FB50..FBB1 ; Arabic # Lo [98] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
FBB2..FBC1 ; Arabic # Sk [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW
FBB2..FBC2 ; Arabic # Sk [17] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL WASLA ABOVE
FBD3..FD3D ; Arabic # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
FD40..FD4F ; Arabic # So [16] ARABIC LIGATURE RAHIMAHU ALLAAH..ARABIC LIGATURE RAHIMAHUM ALLAAH
FD50..FD8F ; Arabic # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
FD92..FDC7 ; Arabic # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
FDCF ; Arabic # So ARABIC LIGATURE SALAAMUHU ALAYNAA
FDF0..FDFB ; Arabic # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU
FDFC ; Arabic # Sc RIAL SIGN
FDFD ; Arabic # So ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
FDFD..FDFF ; Arabic # So [3] ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM..ARABIC LIGATURE AZZA WA JALL
FE70..FE74 ; Arabic # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
FE76..FEFC ; Arabic # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
10E60..10E7E ; Arabic # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
@@ -893,7 +918,7 @@ FE76..FEFC ; Arabic # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LA
1EEAB..1EEBB ; Arabic # Lo [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
1EEF0..1EEF1 ; Arabic # Sm [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
# Total code points: 1291
# Total code points: 1365
# ================================================
@@ -1113,6 +1138,7 @@ A8FF ; Devanagari # Mn DEVANAGARI VOWEL SIGN AY
0C0E..0C10 ; Telugu # Lo [3] TELUGU LETTER E..TELUGU LETTER AI
0C12..0C28 ; Telugu # Lo [23] TELUGU LETTER O..TELUGU LETTER NA
0C2A..0C39 ; Telugu # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA
0C3C ; Telugu # Mn TELUGU SIGN NUKTA
0C3D ; Telugu # Lo TELUGU SIGN AVAGRAHA
0C3E..0C40 ; Telugu # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
0C41..0C44 ; Telugu # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
@@ -1120,6 +1146,7 @@ A8FF ; Devanagari # Mn DEVANAGARI VOWEL SIGN AY
0C4A..0C4D ; Telugu # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
0C55..0C56 ; Telugu # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
0C58..0C5A ; Telugu # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA
0C5D ; Telugu # Lo TELUGU LETTER NAKAARA POLLU
0C60..0C61 ; Telugu # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL
0C62..0C63 ; Telugu # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
0C66..0C6F ; Telugu # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE
@@ -1127,7 +1154,7 @@ A8FF ; Devanagari # Mn DEVANAGARI VOWEL SIGN AY
0C78..0C7E ; Telugu # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
0C7F ; Telugu # So TELUGU SIGN TUUMU
# Total code points: 98
# Total code points: 100
# ================================================
@@ -1150,13 +1177,13 @@ A8FF ; Devanagari # Mn DEVANAGARI VOWEL SIGN AY
0CCA..0CCB ; Kannada # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
0CCC..0CCD ; Kannada # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
0CD5..0CD6 ; Kannada # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
0CDE ; Kannada # Lo KANNADA LETTER FA
0CDD..0CDE ; Kannada # Lo [2] KANNADA LETTER NAKAARA POLLU..KANNADA LETTER FA
0CE0..0CE1 ; Kannada # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL
0CE2..0CE3 ; Kannada # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
0CE6..0CEF ; Kannada # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE
0CF1..0CF2 ; Kannada # Lo [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA
# Total code points: 89
# Total code points: 90
# ================================================
@@ -1411,8 +1438,12 @@ AB09..AB0E ; Ethiopic # Lo [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DD
AB11..AB16 ; Ethiopic # Lo [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
AB20..AB26 ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CCHHO
AB28..AB2E ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO
1E7E0..1E7E6 ; Ethiopic # Lo [7] ETHIOPIC SYLLABLE HHYA..ETHIOPIC SYLLABLE HHYO
1E7E8..1E7EB ; Ethiopic # Lo [4] ETHIOPIC SYLLABLE GURAGE HHWA..ETHIOPIC SYLLABLE HHWE
1E7ED..1E7EE ; Ethiopic # Lo [2] ETHIOPIC SYLLABLE GURAGE MWI..ETHIOPIC SYLLABLE GURAGE MWEE
1E7F0..1E7FE ; Ethiopic # Lo [15] ETHIOPIC SYLLABLE GURAGE QWI..ETHIOPIC SYLLABLE GURAGE PWEE
# Total code points: 495
# Total code points: 523
# ================================================
@@ -1430,8 +1461,9 @@ AB70..ABBF ; Cherokee # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETT
166E ; Canadian_Aboriginal # Po CANADIAN SYLLABICS FULL STOP
166F..167F ; Canadian_Aboriginal # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W
18B0..18F5 ; Canadian_Aboriginal # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S
11AB0..11ABF ; Canadian_Aboriginal # Lo [16] CANADIAN SYLLABICS NATTILIK HI..CANADIAN SYLLABICS SPA
# Total code points: 710
# Total code points: 726
# ================================================
@@ -1480,6 +1512,7 @@ AB70..ABBF ; Cherokee # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETT
1807..180A ; Mongolian # Po [4] MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER..MONGOLIAN NIRUGU
180B..180D ; Mongolian # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
180E ; Mongolian # Cf MONGOLIAN VOWEL SEPARATOR
180F ; Mongolian # Mn MONGOLIAN FREE VARIATION SELECTOR FOUR
1810..1819 ; Mongolian # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
1820..1842 ; Mongolian # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI
1843 ; Mongolian # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN
@@ -1491,18 +1524,18 @@ AB70..ABBF ; Cherokee # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETT
18AA ; Mongolian # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA
11660..1166C ; Mongolian # Po [13] MONGOLIAN BIRGA WITH ORNAMENT..MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT
# Total code points: 167
# Total code points: 168
# ================================================
3041..3096 ; Hiragana # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE
309D..309E ; Hiragana # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
309F ; Hiragana # Lo HIRAGANA DIGRAPH YORI
1B001..1B11E ; Hiragana # Lo [286] HIRAGANA LETTER ARCHAIC YE..HENTAIGANA LETTER N-MU-MO-2
1B001..1B11F ; Hiragana # Lo [287] HIRAGANA LETTER ARCHAIC YE..HIRAGANA LETTER ARCHAIC WU
1B150..1B152 ; Hiragana # Lo [3] HIRAGANA LETTER SMALL WI..HIRAGANA LETTER SMALL WO
1F200 ; Hiragana # So SQUARE HIRAGANA HOKA
# Total code points: 379
# Total code points: 380
# ================================================
@@ -1514,10 +1547,14 @@ AB70..ABBF ; Cherokee # L& [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETT
3300..3357 ; Katakana # So [88] SQUARE APAATO..SQUARE WATTO
FF66..FF6F ; Katakana # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU
FF71..FF9D ; Katakana # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N
1AFF0..1AFF3 ; Katakana # Lm [4] KATAKANA LETTER MINNAN TONE-2..KATAKANA LETTER MINNAN TONE-5
1AFF5..1AFFB ; Katakana # Lm [7] KATAKANA LETTER MINNAN TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-5
1AFFD..1AFFE ; Katakana # Lm [2] KATAKANA LETTER MINNAN NASALIZED TONE-7..KATAKANA LETTER MINNAN NASALIZED TONE-8
1B000 ; Katakana # Lo KATAKANA LETTER ARCHAIC E
1B120..1B122 ; Katakana # Lo [3] KATAKANA LETTER ARCHAIC YI..KATAKANA LETTER ARCHAIC WU
1B164..1B167 ; Katakana # Lo [4] KATAKANA LETTER SMALL WI..KATAKANA LETTER SMALL N
# Total code points: 304
# Total code points: 320
# ================================================
@@ -1538,19 +1575,21 @@ FF71..FF9D ; Katakana # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAK
3038..303A ; Han # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
303B ; Han # Lm VERTICAL IDEOGRAPHIC ITERATION MARK
3400..4DBF ; Han # Lo [6592] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DBF
4E00..9FFC ; Han # Lo [20989] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FFC
4E00..9FFF ; Han # Lo [20992] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FFF
F900..FA6D ; Han # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
FA70..FAD9 ; Han # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
16FE2 ; Han # Po OLD CHINESE HOOK MARK
16FE3 ; Han # Lm OLD CHINESE ITERATION MARK
16FF0..16FF1 ; Han # Mc [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY
20000..2A6DD ; Han # Lo [42718] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DD
2A700..2B734 ; Han # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
20000..2A6DF ; Han # Lo [42720] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DF
2A700..2B738 ; Han # Lo [4153] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B738
2B740..2B81D ; Han # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
2B820..2CEA1 ; Han # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1
2CEB0..2EBE0 ; Han # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0
2F800..2FA1D ; Han # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
30000..3134A ; Han # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A
# Total code points: 94204
# Total code points: 94215
# ================================================
@@ -1593,15 +1632,14 @@ A490..A4C6 ; Yi # So [55] YI RADICAL QOT..YI RADICAL KE
0951..0954 ; Inherited # Mn [4] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI ACUTE ACCENT
1AB0..1ABD ; Inherited # Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
1ABE ; Inherited # Me COMBINING PARENTHESES OVERLAY
1ABF..1AC0 ; Inherited # Mn [2] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER TURNED W BELOW
1ABF..1ACE ; Inherited # Mn [16] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER INSULAR T
1CD0..1CD2 ; Inherited # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
1CD4..1CE0 ; Inherited # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
1CE2..1CE8 ; Inherited # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
1CED ; Inherited # Mn VEDIC SIGN TIRYAK
1CF4 ; Inherited # Mn VEDIC TONE CANDRA ABOVE
1CF8..1CF9 ; Inherited # Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
1DC0..1DF9 ; Inherited # Mn [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
1DFB..1DFF ; Inherited # Mn [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
1DC0..1DFF ; Inherited # Mn [64] COMBINING DOTTED GRAVE ACCENT..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
200C..200D ; Inherited # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
20D0..20DC ; Inherited # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
20DD..20E0 ; Inherited # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
@@ -1615,26 +1653,30 @@ FE20..FE2D ; Inherited # Mn [14] COMBINING LIGATURE LEFT HALF..COMBINING CON
101FD ; Inherited # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
102E0 ; Inherited # Mn COPTIC EPACT THOUSANDS MARK
1133B ; Inherited # Mn COMBINING BINDU BELOW
1CF00..1CF2D ; Inherited # Mn [46] ZNAMENNY COMBINING MARK GORAZDO NIZKO S KRYZHEM ON LEFT..ZNAMENNY COMBINING MARK KRYZH ON LEFT
1CF30..1CF46 ; Inherited # Mn [23] ZNAMENNY COMBINING TONAL RANGE MARK MRACHNO..ZNAMENNY PRIZNAK MODIFIER ROG
1D167..1D169 ; Inherited # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
1D17B..1D182 ; Inherited # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
1D185..1D18B ; Inherited # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
1D1AA..1D1AD ; Inherited # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
E0100..E01EF ; Inherited # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
# Total code points: 573
# Total code points: 657
# ================================================
1700..170C ; Tagalog # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA
170E..1711 ; Tagalog # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA
1700..1711 ; Tagalog # Lo [18] TAGALOG LETTER A..TAGALOG LETTER HA
1712..1714 ; Tagalog # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
1715 ; Tagalog # Mc TAGALOG SIGN PAMUDPOD
171F ; Tagalog # Lo TAGALOG LETTER ARCHAIC RA
# Total code points: 20
# Total code points: 23
# ================================================
1720..1731 ; Hanunoo # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA
1732..1734 ; Hanunoo # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
1732..1733 ; Hanunoo # Mn [2] HANUNOO VOWEL SIGN I..HANUNOO VOWEL SIGN U
1734 ; Hanunoo # Mc HANUNOO SIGN PAMUDPOD
# Total code points: 21
@@ -1762,15 +1804,14 @@ E0100..E01EF ; Inherited # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-2
# ================================================
2C00..2C2E ; Glagolitic # L& [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
2C30..2C5E ; Glagolitic # L& [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
2C00..2C5F ; Glagolitic # L& [96] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC SMALL LETTER CAUDATE CHRIVI
1E000..1E006 ; Glagolitic # Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
1E008..1E018 ; Glagolitic # Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
1E01B..1E021 ; Glagolitic # Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
1E023..1E024 ; Glagolitic # Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
1E026..1E02A ; Glagolitic # Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
# Total code points: 132
# Total code points: 134
# ================================================
@@ -1836,14 +1877,15 @@ A82C ; Syloti_Nagri # Mn SYLOTI NAGRI SIGN ALTERNATE HASANTA
1B3D..1B41 ; Balinese # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
1B42 ; Balinese # Mn BALINESE VOWEL SIGN PEPET
1B43..1B44 ; Balinese # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
1B45..1B4B ; Balinese # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
1B45..1B4C ; Balinese # Lo [8] BALINESE LETTER KAF SASAK..BALINESE LETTER ARCHAIC JNYA
1B50..1B59 ; Balinese # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE
1B5A..1B60 ; Balinese # Po [7] BALINESE PANTI..BALINESE PAMENENG
1B61..1B6A ; Balinese # So [10] BALINESE MUSICAL SYMBOL DONG..BALINESE MUSICAL SYMBOL DANG GEDE
1B6B..1B73 ; Balinese # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
1B74..1B7C ; Balinese # So [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
1B7D..1B7E ; Balinese # Po [2] BALINESE PANTI LANTANG..BALINESE PAMADA LANTANG
# Total code points: 121
# Total code points: 124
# ================================================
@@ -2178,9 +2220,10 @@ ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI
110BB..110BC ; Kaithi # Po [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
110BD ; Kaithi # Cf KAITHI NUMBER SIGN
110BE..110C1 ; Kaithi # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
110C2 ; Kaithi # Mn KAITHI VOWEL SIGN VOCALIC R
110CD ; Kaithi # Cf KAITHI NUMBER SIGN ABOVE
# Total code points: 67
# Total code points: 68
# ================================================
@@ -2207,9 +2250,13 @@ ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI
11047..1104D ; Brahmi # Po [7] BRAHMI DANDA..BRAHMI PUNCTUATION LOTUS
11052..11065 ; Brahmi # No [20] BRAHMI NUMBER ONE..BRAHMI NUMBER ONE THOUSAND
11066..1106F ; Brahmi # Nd [10] BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE
11070 ; Brahmi # Mn BRAHMI SIGN OLD TAMIL VIRAMA
11071..11072 ; Brahmi # Lo [2] BRAHMI LETTER OLD TAMIL SHORT E..BRAHMI LETTER OLD TAMIL SHORT O
11073..11074 ; Brahmi # Mn [2] BRAHMI VOWEL SIGN OLD TAMIL SHORT E..BRAHMI VOWEL SIGN OLD TAMIL SHORT O
11075 ; Brahmi # Lo BRAHMI LETTER OLD TAMIL LLA
1107F ; Brahmi # Mn BRAHMI NUMBER JOINER
# Total code points: 109
# Total code points: 115
# ================================================
@@ -2301,9 +2348,10 @@ ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI
116B6 ; Takri # Mc TAKRI SIGN VIRAMA
116B7 ; Takri # Mn TAKRI SIGN NUKTA
116B8 ; Takri # Lo TAKRI LETTER ARCHAIC KHA
116B9 ; Takri # Po TAKRI ABBREVIATION SIGN
116C0..116C9 ; Takri # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
# Total code points: 67
# Total code points: 68
# ================================================
@@ -2561,8 +2609,9 @@ ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI
1173A..1173B ; Ahom # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY
1173C..1173E ; Ahom # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI
1173F ; Ahom # So AHOM SYMBOL VI
11740..11746 ; Ahom # Lo [7] AHOM LETTER CA..AHOM LETTER LLA
# Total code points: 58
# Total code points: 65
# ================================================
@@ -2897,4 +2946,46 @@ ABF0..ABF9 ; Meetei_Mayek # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DI
# Total code points: 47
# ================================================
12F90..12FF0 ; Cypro_Minoan # Lo [97] CYPRO-MINOAN SIGN CM001..CYPRO-MINOAN SIGN CM114
12FF1..12FF2 ; Cypro_Minoan # Po [2] CYPRO-MINOAN SIGN CM301..CYPRO-MINOAN SIGN CM302
# Total code points: 99
# ================================================
10F70..10F81 ; Old_Uyghur # Lo [18] OLD UYGHUR LETTER ALEPH..OLD UYGHUR LETTER LESH
10F82..10F85 ; Old_Uyghur # Mn [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW
10F86..10F89 ; Old_Uyghur # Po [4] OLD UYGHUR PUNCTUATION BAR..OLD UYGHUR PUNCTUATION FOUR DOTS
# Total code points: 26
# ================================================
16A70..16ABE ; Tangsa # Lo [79] TANGSA LETTER OZ..TANGSA LETTER ZA
16AC0..16AC9 ; Tangsa # Nd [10] TANGSA DIGIT ZERO..TANGSA DIGIT NINE
# Total code points: 89
# ================================================
1E290..1E2AD ; Toto # Lo [30] TOTO LETTER PA..TOTO LETTER A
1E2AE ; Toto # Mn TOTO SIGN RISING TONE
# Total code points: 31
# ================================================
10570..1057A ; Vithkuqi # L& [11] VITHKUQI CAPITAL LETTER A..VITHKUQI CAPITAL LETTER GA
1057C..1058A ; Vithkuqi # L& [15] VITHKUQI CAPITAL LETTER HA..VITHKUQI CAPITAL LETTER RE
1058C..10592 ; Vithkuqi # L& [7] VITHKUQI CAPITAL LETTER SE..VITHKUQI CAPITAL LETTER XE
10594..10595 ; Vithkuqi # L& [2] VITHKUQI CAPITAL LETTER Y..VITHKUQI CAPITAL LETTER ZE
10597..105A1 ; Vithkuqi # L& [11] VITHKUQI SMALL LETTER A..VITHKUQI SMALL LETTER GA
105A3..105B1 ; Vithkuqi # L& [15] VITHKUQI SMALL LETTER HA..VITHKUQI SMALL LETTER RE
105B3..105B9 ; Vithkuqi # L& [7] VITHKUQI SMALL LETTER SE..VITHKUQI SMALL LETTER XE
105BB..105BC ; Vithkuqi # L& [2] VITHKUQI SMALL LETTER Y..VITHKUQI SMALL LETTER ZE
# Total code points: 70
# EOF

View File

@@ -1,6 +1,6 @@
# SpecialCasing-13.0.0.txt
# Date: 2019-09-08, 23:31:24 GMT
# Copyright (c) 2019 Unicode, Inc.
# SpecialCasing-14.0.0.txt
# Date: 2021-03-08, 19:35:55 GMT
# Copyright (c) 2021 Unicode, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
13.0.0

View File

@@ -1,6 +1,6 @@
# GraphemeBreakProperty-13.0.0.txt
# Date: 2019-10-21, 14:30:35 GMT
# Copyright (c) 2019 Unicode, Inc.
# GraphemeBreakProperty-14.0.0.txt
# Date: 2021-08-12, 23:13:02 GMT
# Copyright (c) 2021 Unicode, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
@@ -21,6 +21,7 @@
0600..0605 ; Prepend # Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
06DD ; Prepend # Cf ARABIC END OF AYAH
070F ; Prepend # Cf SYRIAC ABBREVIATION MARK
0890..0891 ; Prepend # Cf [2] ARABIC POUND MARK ABOVE..ARABIC PIASTRE MARK ABOVE
08E2 ; Prepend # Cf ARABIC DISPUTED END OF AYAH
0D4E ; Prepend # Lo MALAYALAM LETTER DOT REPH
110BD ; Prepend # Cf KAITHI NUMBER SIGN
@@ -32,7 +33,7 @@
11A84..11A89 ; Prepend # Lo [6] SOYOMBO SIGN JIHVAMULIYA..SOYOMBO CLUSTER-INITIAL LETTER SA
11D46 ; Prepend # Lo MASARAM GONDI REPHA
# Total code points: 24
# Total code points: 26
# ================================================
@@ -104,7 +105,8 @@ E01F0..E0FFF ; Control # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
0825..0827 ; Extend # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
0829..082D ; Extend # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
0859..085B ; Extend # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
08D3..08E1 ; Extend # Mn [15] ARABIC SMALL LOW WAW..ARABIC SMALL HIGH SIGN SAFHA
0898..089F ; Extend # Mn [8] ARABIC SMALL HIGH WORD AL-JUZ..ARABIC HALF MADDA OVER MADDA
08CA..08E1 ; Extend # Mn [24] ARABIC SMALL HIGH FARSI YEH..ARABIC SMALL HIGH SIGN SAFHA
08E3..0902 ; Extend # Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
093A ; Extend # Mn DEVANAGARI VOWEL SIGN OE
093C ; Extend # Mn DEVANAGARI SIGN NUKTA
@@ -151,6 +153,7 @@ E01F0..E0FFF ; Control # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
0BD7 ; Extend # Mc TAMIL AU LENGTH MARK
0C00 ; Extend # Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE
0C04 ; Extend # Mn TELUGU SIGN COMBINING ANUSVARA ABOVE
0C3C ; Extend # Mn TELUGU SIGN NUKTA
0C3E..0C40 ; Extend # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
0C46..0C48 ; Extend # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
0C4A..0C4D ; Extend # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
@@ -206,7 +209,7 @@ E01F0..E0FFF ; Control # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
109D ; Extend # Mn MYANMAR VOWEL SIGN AITON AI
135D..135F ; Extend # Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
1712..1714 ; Extend # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
1732..1734 ; Extend # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
1732..1733 ; Extend # Mn [2] HANUNOO VOWEL SIGN I..HANUNOO VOWEL SIGN U
1752..1753 ; Extend # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
1772..1773 ; Extend # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
17B4..17B5 ; Extend # Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
@@ -215,6 +218,7 @@ E01F0..E0FFF ; Control # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
17C9..17D3 ; Extend # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
17DD ; Extend # Mn KHMER SIGN ATTHACAN
180B..180D ; Extend # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
180F ; Extend # Mn MONGOLIAN FREE VARIATION SELECTOR FOUR
1885..1886 ; Extend # Mn [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA
18A9 ; Extend # Mn MONGOLIAN LETTER ALI GALI DAGALGA
1920..1922 ; Extend # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
@@ -232,7 +236,7 @@ E01F0..E0FFF ; Control # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
1A7F ; Extend # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT
1AB0..1ABD ; Extend # Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
1ABE ; Extend # Me COMBINING PARENTHESES OVERLAY
1ABF..1AC0 ; Extend # Mn [2] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER TURNED W BELOW
1ABF..1ACE ; Extend # Mn [16] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER INSULAR T
1B00..1B03 ; Extend # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
1B34 ; Extend # Mn BALINESE SIGN REREKAN
1B35 ; Extend # Mc BALINESE VOWEL SIGN TEDUNG
@@ -256,8 +260,7 @@ E01F0..E0FFF ; Control # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
1CED ; Extend # Mn VEDIC SIGN TIRYAK
1CF4 ; Extend # Mn VEDIC TONE CANDRA ABOVE
1CF8..1CF9 ; Extend # Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
1DC0..1DF9 ; Extend # Mn [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
1DFB..1DFF ; Extend # Mn [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
1DC0..1DFF ; Extend # Mn [64] COMBINING DOTTED GRAVE ACCENT..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
200C ; Extend # Cf ZERO WIDTH NON-JOINER
20D0..20DC ; Extend # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
20DD..20E0 ; Extend # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
@@ -322,11 +325,15 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
10D24..10D27 ; Extend # Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI
10EAB..10EAC ; Extend # Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK
10F46..10F50 ; Extend # Mn [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW
10F82..10F85 ; Extend # Mn [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW
11001 ; Extend # Mn BRAHMI SIGN ANUSVARA
11038..11046 ; Extend # Mn [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA
11070 ; Extend # Mn BRAHMI SIGN OLD TAMIL VIRAMA
11073..11074 ; Extend # Mn [2] BRAHMI VOWEL SIGN OLD TAMIL SHORT E..BRAHMI VOWEL SIGN OLD TAMIL SHORT O
1107F..11081 ; Extend # Mn [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA
110B3..110B6 ; Extend # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
110B9..110BA ; Extend # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
110C2 ; Extend # Mn KAITHI VOWEL SIGN VOCALIC R
11100..11102 ; Extend # Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
11127..1112B ; Extend # Mn [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
1112D..11134 ; Extend # Mn [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
@@ -412,6 +419,8 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
16F8F..16F92 ; Extend # Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW
16FE4 ; Extend # Mn KHITAN SMALL SCRIPT FILLER
1BC9D..1BC9E ; Extend # Mn [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK
1CF00..1CF2D ; Extend # Mn [46] ZNAMENNY COMBINING MARK GORAZDO NIZKO S KRYZHEM ON LEFT..ZNAMENNY COMBINING MARK KRYZH ON LEFT
1CF30..1CF46 ; Extend # Mn [23] ZNAMENNY COMBINING TONAL RANGE MARK MRACHNO..ZNAMENNY PRIZNAK MODIFIER ROG
1D165 ; Extend # Mc MUSICAL SYMBOL COMBINING STEM
1D167..1D169 ; Extend # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
1D16E..1D172 ; Extend # Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
@@ -431,6 +440,7 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
1E023..1E024 ; Extend # Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
1E026..1E02A ; Extend # Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
1E130..1E136 ; Extend # Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D
1E2AE ; Extend # Mn TOTO SIGN RISING TONE
1E2EC..1E2EF ; Extend # Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI
1E8D0..1E8D6 ; Extend # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
1E944..1E94A ; Extend # Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
@@ -438,7 +448,7 @@ FF9E..FF9F ; Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDT
E0020..E007F ; Extend # Cf [96] TAG SPACE..CANCEL TAG
E0100..E01EF ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
# Total code points: 1984
# Total code points: 2095
# ================================================
@@ -495,6 +505,8 @@ E0100..E01EF ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
103B..103C ; SpacingMark # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
1056..1057 ; SpacingMark # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
1084 ; SpacingMark # Mc MYANMAR VOWEL SIGN SHAN E
1715 ; SpacingMark # Mc TAGALOG SIGN PAMUDPOD
1734 ; SpacingMark # Mc HANUNOO SIGN PAMUDPOD
17B6 ; SpacingMark # Mc KHMER VOWEL SIGN AA
17BE..17C5 ; SpacingMark # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
17C7..17C8 ; SpacingMark # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
@@ -579,7 +591,6 @@ ABEC ; SpacingMark # Mc MEETEI MAYEK LUM IYEK
116AC ; SpacingMark # Mc TAKRI SIGN VISARGA
116AE..116AF ; SpacingMark # Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
116B6 ; SpacingMark # Mc TAKRI SIGN VIRAMA
11720..11721 ; SpacingMark # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
11726 ; SpacingMark # Mc AHOM VOWEL SIGN E
1182C..1182E ; SpacingMark # Mc [3] DOGRA VOWEL SIGN AA..DOGRA VOWEL SIGN II
11838 ; SpacingMark # Mc DOGRA SIGN VISARGA

View File

@@ -1,6 +1,6 @@
# GraphemeBreakTest-13.0.0.txt
# Date: 2019-11-15, 19:49:10 GMT
# Copyright (c) 2019 Unicode, Inc.
# GraphemeBreakTest-14.0.0.txt
# Date: 2021-03-08, 06:22:32 GMT
# Copyright (c) 2021 Unicode, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#

View File

@@ -1,11 +1,11 @@
# emoji-data.txt
# Date: 2020-01-28, 20:52:38 GMT
# Copyright (c) 2020 Unicode, Inc.
# emoji-data-14.0.0.txt
# Date: 2021-08-26, 17:22:22 GMT
# Copyright (c) 2021 Unicode, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Emoji Data for UTS #51
# Version: 13.0
# Used with Emoji Version 14.0 and subsequent minor revisions (if any)
#
# For documentation and usage, see http://www.unicode.org/reports/tr51
#
@@ -22,7 +22,7 @@
# All omitted code points have Emoji=No
# @missing: 0000..10FFFF ; Emoji ; No
0023 ; Emoji # E0.0 [1] (#) number sign
0023 ; Emoji # E0.0 [1] (#) hash sign
002A ; Emoji # E0.0 [1] (*) asterisk
0030..0039 ; Emoji # E0.0 [10] (0..9) digit zero..digit nine
00A9 ; Emoji # E0.6 [1] (©️) copyright
@@ -119,8 +119,8 @@
2747 ; Emoji # E0.6 [1] (❇️) sparkle
274C ; Emoji # E0.6 [1] (❌) cross mark
274E ; Emoji # E0.6 [1] (❎) cross mark button
2753..2755 ; Emoji # E0.6 [3] (❓..❕) question mark..white exclamation mark
2757 ; Emoji # E0.6 [1] (❗) exclamation mark
2753..2755 ; Emoji # E0.6 [3] (❓..❕) red question mark..white exclamation mark
2757 ; Emoji # E0.6 [1] (❗) red exclamation mark
2763 ; Emoji # E1.0 [1] (❣️) heart exclamation
2764 ; Emoji # E0.6 [1] (❤️) red heart
2795..2797 ; Emoji # E0.6 [3] (..➗) plus..divide
@@ -239,7 +239,7 @@
1F509 ; Emoji # E1.0 [1] (🔉) speaker medium volume
1F50A..1F514 ; Emoji # E0.6 [11] (🔊..🔔) speaker high volume..bell
1F515 ; Emoji # E1.0 [1] (🔕) bell with slash
1F516..1F52B ; Emoji # E0.6 [22] (🔖..🔫) bookmark..pistol
1F516..1F52B ; Emoji # E0.6 [22] (🔖..🔫) bookmark..water pistol
1F52C..1F52D ; Emoji # E1.0 [2] (🔬..🔭) microscope..telescope
1F52E..1F53D ; Emoji # E0.6 [16] (🔮..🔽) crystal ball..downwards button
1F549..1F54A ; Emoji # E0.7 [2] (🕉️..🕊️) om..dove
@@ -294,7 +294,7 @@
1F62E..1F62F ; Emoji # E1.0 [2] (😮..😯) face with open mouth..hushed face
1F630..1F633 ; Emoji # E0.6 [4] (😰..😳) anxious face with sweat..flushed face
1F634 ; Emoji # E1.0 [1] (😴) sleeping face
1F635 ; Emoji # E0.6 [1] (😵) dizzy face
1F635 ; Emoji # E0.6 [1] (😵) face with crossed-out eyes
1F636 ; Emoji # E1.0 [1] (😶) face without mouth
1F637..1F640 ; Emoji # E0.6 [10] (😷..🙀) face with medical mask..weary cat
1F641..1F644 ; Emoji # E1.0 [4] (🙁..🙄) slightly frowning face..face with rolling eyes
@@ -341,6 +341,7 @@
1F6D1..1F6D2 ; Emoji # E3.0 [2] (🛑..🛒) stop sign..shopping cart
1F6D5 ; Emoji # E12.0 [1] (🛕) hindu temple
1F6D6..1F6D7 ; Emoji # E13.0 [2] (🛖..🛗) hut..elevator
1F6DD..1F6DF ; Emoji # E14.0 [3] (🛝..🛟) playground slide..ring buoy
1F6E0..1F6E5 ; Emoji # E0.7 [6] (🛠️..🛥️) hammer and wrench..motor boat
1F6E9 ; Emoji # E0.7 [1] (🛩️) small airplane
1F6EB..1F6EC ; Emoji # E1.0 [2] (🛫..🛬) airplane departure..airplane arrival
@@ -352,6 +353,7 @@
1F6FA ; Emoji # E12.0 [1] (🛺) auto rickshaw
1F6FB..1F6FC ; Emoji # E13.0 [2] (🛻..🛼) pickup truck..roller skate
1F7E0..1F7EB ; Emoji # E12.0 [12] (🟠..🟫) orange circle..brown square
1F7F0 ; Emoji # E14.0 [1] (🟰) heavy equals sign
1F90C ; Emoji # E13.0 [1] (🤌) pinched fingers
1F90D..1F90F ; Emoji # E12.0 [3] (🤍..🤏) white heart..pinching hand
1F910..1F918 ; Emoji # E1.0 [9] (🤐..🤘) zipper-mouth face..sign of the horns
@@ -375,6 +377,7 @@
1F972 ; Emoji # E13.0 [1] (🥲) smiling face with tear
1F973..1F976 ; Emoji # E11.0 [4] (🥳..🥶) partying face..cold face
1F977..1F978 ; Emoji # E13.0 [2] (🥷..🥸) ninja..disguised face
1F979 ; Emoji # E14.0 [1] (🥹) face holding back tears
1F97A ; Emoji # E11.0 [1] (🥺) pleading face
1F97B ; Emoji # E12.0 [1] (🥻) sari
1F97C..1F97F ; Emoji # E11.0 [4] (🥼..🥿) lab coat..flat shoe
@@ -392,21 +395,29 @@
1F9C1..1F9C2 ; Emoji # E11.0 [2] (🧁..🧂) cupcake..salt
1F9C3..1F9CA ; Emoji # E12.0 [8] (🧃..🧊) beverage box..ice
1F9CB ; Emoji # E13.0 [1] (🧋) bubble tea
1F9CC ; Emoji # E14.0 [1] (🧌) troll
1F9CD..1F9CF ; Emoji # E12.0 [3] (🧍..🧏) person standing..deaf person
1F9D0..1F9E6 ; Emoji # E5.0 [23] (🧐..🧦) face with monocle..socks
1F9E7..1F9FF ; Emoji # E11.0 [25] (🧧..🧿) red envelope..nazar amulet
1FA70..1FA73 ; Emoji # E12.0 [4] (🩰..🩳) ballet shoes..shorts
1FA74 ; Emoji # E13.0 [1] (🩴) thong sandal
1FA78..1FA7A ; Emoji # E12.0 [3] (🩸..🩺) drop of blood..stethoscope
1FA7B..1FA7C ; Emoji # E14.0 [2] (🩻..🩼) x-ray..crutch
1FA80..1FA82 ; Emoji # E12.0 [3] (🪀..🪂) yo-yo..parachute
1FA83..1FA86 ; Emoji # E13.0 [4] (🪃..🪆) boomerang..nesting dolls
1FA90..1FA95 ; Emoji # E12.0 [6] (🪐..🪕) ringed planet..banjo
1FA96..1FAA8 ; Emoji # E13.0 [19] (🪖..🪨) military helmet..rock
1FAA9..1FAAC ; Emoji # E14.0 [4] (🪩..🪬) mirror ball..hamsa
1FAB0..1FAB6 ; Emoji # E13.0 [7] (🪰..🪶) fly..feather
1FAB7..1FABA ; Emoji # E14.0 [4] (🪷..🪺) lotus..nest with eggs
1FAC0..1FAC2 ; Emoji # E13.0 [3] (🫀..🫂) anatomical heart..people hugging
1FAC3..1FAC5 ; Emoji # E14.0 [3] (🫃..🫅) pregnant man..person with crown
1FAD0..1FAD6 ; Emoji # E13.0 [7] (🫐..🫖) blueberries..teapot
1FAD7..1FAD9 ; Emoji # E14.0 [3] (🫗..🫙) pouring liquid..jar
1FAE0..1FAE7 ; Emoji # E14.0 [8] (🫠..🫧) melting face..bubbles
1FAF0..1FAF6 ; Emoji # E14.0 [7] (🫰..🫶) hand with index finger and thumb crossed..heart hands
# Total elements: 1367
# Total elements: 1404
# ================================================
@@ -438,8 +449,8 @@
2728 ; Emoji_Presentation # E0.6 [1] (✨) sparkles
274C ; Emoji_Presentation # E0.6 [1] (❌) cross mark
274E ; Emoji_Presentation # E0.6 [1] (❎) cross mark button
2753..2755 ; Emoji_Presentation # E0.6 [3] (❓..❕) question mark..white exclamation mark
2757 ; Emoji_Presentation # E0.6 [1] (❗) exclamation mark
2753..2755 ; Emoji_Presentation # E0.6 [3] (❓..❕) red question mark..white exclamation mark
2757 ; Emoji_Presentation # E0.6 [1] (❗) red exclamation mark
2795..2797 ; Emoji_Presentation # E0.6 [3] (..➗) plus..divide
27B0 ; Emoji_Presentation # E0.6 [1] (➰) curly loop
27BF ; Emoji_Presentation # E1.0 [1] (➿) double curly loop
@@ -533,7 +544,7 @@
1F509 ; Emoji_Presentation # E1.0 [1] (🔉) speaker medium volume
1F50A..1F514 ; Emoji_Presentation # E0.6 [11] (🔊..🔔) speaker high volume..bell
1F515 ; Emoji_Presentation # E1.0 [1] (🔕) bell with slash
1F516..1F52B ; Emoji_Presentation # E0.6 [22] (🔖..🔫) bookmark..pistol
1F516..1F52B ; Emoji_Presentation # E0.6 [22] (🔖..🔫) bookmark..water pistol
1F52C..1F52D ; Emoji_Presentation # E1.0 [2] (🔬..🔭) microscope..telescope
1F52E..1F53D ; Emoji_Presentation # E0.6 [16] (🔮..🔽) crystal ball..downwards button
1F54B..1F54E ; Emoji_Presentation # E1.0 [4] (🕋..🕎) kaaba..menorah
@@ -569,7 +580,7 @@
1F62E..1F62F ; Emoji_Presentation # E1.0 [2] (😮..😯) face with open mouth..hushed face
1F630..1F633 ; Emoji_Presentation # E0.6 [4] (😰..😳) anxious face with sweat..flushed face
1F634 ; Emoji_Presentation # E1.0 [1] (😴) sleeping face
1F635 ; Emoji_Presentation # E0.6 [1] (😵) dizzy face
1F635 ; Emoji_Presentation # E0.6 [1] (😵) face with crossed-out eyes
1F636 ; Emoji_Presentation # E1.0 [1] (😶) face without mouth
1F637..1F640 ; Emoji_Presentation # E0.6 [10] (😷..🙀) face with medical mask..weary cat
1F641..1F644 ; Emoji_Presentation # E1.0 [4] (🙁..🙄) slightly frowning face..face with rolling eyes
@@ -614,6 +625,7 @@
1F6D1..1F6D2 ; Emoji_Presentation # E3.0 [2] (🛑..🛒) stop sign..shopping cart
1F6D5 ; Emoji_Presentation # E12.0 [1] (🛕) hindu temple
1F6D6..1F6D7 ; Emoji_Presentation # E13.0 [2] (🛖..🛗) hut..elevator
1F6DD..1F6DF ; Emoji_Presentation # E14.0 [3] (🛝..🛟) playground slide..ring buoy
1F6EB..1F6EC ; Emoji_Presentation # E1.0 [2] (🛫..🛬) airplane departure..airplane arrival
1F6F4..1F6F6 ; Emoji_Presentation # E3.0 [3] (🛴..🛶) kick scooter..canoe
1F6F7..1F6F8 ; Emoji_Presentation # E5.0 [2] (🛷..🛸) sled..flying saucer
@@ -621,6 +633,7 @@
1F6FA ; Emoji_Presentation # E12.0 [1] (🛺) auto rickshaw
1F6FB..1F6FC ; Emoji_Presentation # E13.0 [2] (🛻..🛼) pickup truck..roller skate
1F7E0..1F7EB ; Emoji_Presentation # E12.0 [12] (🟠..🟫) orange circle..brown square
1F7F0 ; Emoji_Presentation # E14.0 [1] (🟰) heavy equals sign
1F90C ; Emoji_Presentation # E13.0 [1] (🤌) pinched fingers
1F90D..1F90F ; Emoji_Presentation # E12.0 [3] (🤍..🤏) white heart..pinching hand
1F910..1F918 ; Emoji_Presentation # E1.0 [9] (🤐..🤘) zipper-mouth face..sign of the horns
@@ -644,6 +657,7 @@
1F972 ; Emoji_Presentation # E13.0 [1] (🥲) smiling face with tear
1F973..1F976 ; Emoji_Presentation # E11.0 [4] (🥳..🥶) partying face..cold face
1F977..1F978 ; Emoji_Presentation # E13.0 [2] (🥷..🥸) ninja..disguised face
1F979 ; Emoji_Presentation # E14.0 [1] (🥹) face holding back tears
1F97A ; Emoji_Presentation # E11.0 [1] (🥺) pleading face
1F97B ; Emoji_Presentation # E12.0 [1] (🥻) sari
1F97C..1F97F ; Emoji_Presentation # E11.0 [4] (🥼..🥿) lab coat..flat shoe
@@ -661,21 +675,29 @@
1F9C1..1F9C2 ; Emoji_Presentation # E11.0 [2] (🧁..🧂) cupcake..salt
1F9C3..1F9CA ; Emoji_Presentation # E12.0 [8] (🧃..🧊) beverage box..ice
1F9CB ; Emoji_Presentation # E13.0 [1] (🧋) bubble tea
1F9CC ; Emoji_Presentation # E14.0 [1] (🧌) troll
1F9CD..1F9CF ; Emoji_Presentation # E12.0 [3] (🧍..🧏) person standing..deaf person
1F9D0..1F9E6 ; Emoji_Presentation # E5.0 [23] (🧐..🧦) face with monocle..socks
1F9E7..1F9FF ; Emoji_Presentation # E11.0 [25] (🧧..🧿) red envelope..nazar amulet
1FA70..1FA73 ; Emoji_Presentation # E12.0 [4] (🩰..🩳) ballet shoes..shorts
1FA74 ; Emoji_Presentation # E13.0 [1] (🩴) thong sandal
1FA78..1FA7A ; Emoji_Presentation # E12.0 [3] (🩸..🩺) drop of blood..stethoscope
1FA7B..1FA7C ; Emoji_Presentation # E14.0 [2] (🩻..🩼) x-ray..crutch
1FA80..1FA82 ; Emoji_Presentation # E12.0 [3] (🪀..🪂) yo-yo..parachute
1FA83..1FA86 ; Emoji_Presentation # E13.0 [4] (🪃..🪆) boomerang..nesting dolls
1FA90..1FA95 ; Emoji_Presentation # E12.0 [6] (🪐..🪕) ringed planet..banjo
1FA96..1FAA8 ; Emoji_Presentation # E13.0 [19] (🪖..🪨) military helmet..rock
1FAA9..1FAAC ; Emoji_Presentation # E14.0 [4] (🪩..🪬) mirror ball..hamsa
1FAB0..1FAB6 ; Emoji_Presentation # E13.0 [7] (🪰..🪶) fly..feather
1FAB7..1FABA ; Emoji_Presentation # E14.0 [4] (🪷..🪺) lotus..nest with eggs
1FAC0..1FAC2 ; Emoji_Presentation # E13.0 [3] (🫀..🫂) anatomical heart..people hugging
1FAC3..1FAC5 ; Emoji_Presentation # E14.0 [3] (🫃..🫅) pregnant man..person with crown
1FAD0..1FAD6 ; Emoji_Presentation # E13.0 [7] (🫐..🫖) blueberries..teapot
1FAD7..1FAD9 ; Emoji_Presentation # E14.0 [3] (🫗..🫙) pouring liquid..jar
1FAE0..1FAE7 ; Emoji_Presentation # E14.0 [8] (🫠..🫧) melting face..bubbles
1FAF0..1FAF6 ; Emoji_Presentation # E14.0 [7] (🫰..🫶) hand with index finger and thumb crossed..heart hands
# Total elements: 1148
# Total elements: 1185
# ================================================
@@ -738,15 +760,17 @@
1F9BB ; Emoji_Modifier_Base # E12.0 [1] (🦻) ear with hearing aid
1F9CD..1F9CF ; Emoji_Modifier_Base # E12.0 [3] (🧍..🧏) person standing..deaf person
1F9D1..1F9DD ; Emoji_Modifier_Base # E5.0 [13] (🧑..🧝) person..elf
1FAC3..1FAC5 ; Emoji_Modifier_Base # E14.0 [3] (🫃..🫅) pregnant man..person with crown
1FAF0..1FAF6 ; Emoji_Modifier_Base # E14.0 [7] (🫰..🫶) hand with index finger and thumb crossed..heart hands
# Total elements: 122
# Total elements: 132
# ================================================
# All omitted code points have Emoji_Component=No
# @missing: 0000..10FFFF ; Emoji_Component ; No
0023 ; Emoji_Component # E0.0 [1] (#) number sign
0023 ; Emoji_Component # E0.0 [1] (#) hash sign
002A ; Emoji_Component # E0.0 [1] (*) asterisk
0030..0039 ; Emoji_Component # E0.0 [10] (0..9) digit zero..digit nine
200D ; Emoji_Component # E0.0 [1] () zero width joiner
@@ -902,8 +926,8 @@ E0020..E007F ; Emoji_Component # E0.0 [96] (󠀠..󠁿) tag space..c
2747 ; Extended_Pictographic# E0.6 [1] (❇️) sparkle
274C ; Extended_Pictographic# E0.6 [1] (❌) cross mark
274E ; Extended_Pictographic# E0.6 [1] (❎) cross mark button
2753..2755 ; Extended_Pictographic# E0.6 [3] (❓..❕) question mark..white exclamation mark
2757 ; Extended_Pictographic# E0.6 [1] (❗) exclamation mark
2753..2755 ; Extended_Pictographic# E0.6 [3] (❓..❕) red question mark..white exclamation mark
2757 ; Extended_Pictographic# E0.6 [1] (❗) red exclamation mark
2763 ; Extended_Pictographic# E1.0 [1] (❣️) heart exclamation
2764 ; Extended_Pictographic# E0.6 [1] (❤️) red heart
2765..2767 ; Extended_Pictographic# E0.0 [3] (❥..❧) ROTATED HEAVY BLACK HEART BULLET..ROTATED FLORAL HEART BULLET
@@ -1041,7 +1065,7 @@ E0020..E007F ; Emoji_Component # E0.0 [96] (󠀠..󠁿) tag space..c
1F509 ; Extended_Pictographic# E1.0 [1] (🔉) speaker medium volume
1F50A..1F514 ; Extended_Pictographic# E0.6 [11] (🔊..🔔) speaker high volume..bell
1F515 ; Extended_Pictographic# E1.0 [1] (🔕) bell with slash
1F516..1F52B ; Extended_Pictographic# E0.6 [22] (🔖..🔫) bookmark..pistol
1F516..1F52B ; Extended_Pictographic# E0.6 [22] (🔖..🔫) bookmark..water pistol
1F52C..1F52D ; Extended_Pictographic# E1.0 [2] (🔬..🔭) microscope..telescope
1F52E..1F53D ; Extended_Pictographic# E0.6 [16] (🔮..🔽) crystal ball..downwards button
1F546..1F548 ; Extended_Pictographic# E0.0 [3] (🕆..🕈) WHITE LATIN CROSS..CELTIC CROSS
@@ -1117,7 +1141,7 @@ E0020..E007F ; Emoji_Component # E0.0 [96] (󠀠..󠁿) tag space..c
1F62E..1F62F ; Extended_Pictographic# E1.0 [2] (😮..😯) face with open mouth..hushed face
1F630..1F633 ; Extended_Pictographic# E0.6 [4] (😰..😳) anxious face with sweat..flushed face
1F634 ; Extended_Pictographic# E1.0 [1] (😴) sleeping face
1F635 ; Extended_Pictographic# E0.6 [1] (😵) dizzy face
1F635 ; Extended_Pictographic# E0.6 [1] (😵) face with crossed-out eyes
1F636 ; Extended_Pictographic# E1.0 [1] (😶) face without mouth
1F637..1F640 ; Extended_Pictographic# E0.6 [10] (😷..🙀) face with medical mask..weary cat
1F641..1F644 ; Extended_Pictographic# E1.0 [4] (🙁..🙄) slightly frowning face..face with rolling eyes
@@ -1166,7 +1190,8 @@ E0020..E007F ; Emoji_Component # E0.0 [96] (󠀠..󠁿) tag space..c
1F6D3..1F6D4 ; Extended_Pictographic# E0.0 [2] (🛓..🛔) STUPA..PAGODA
1F6D5 ; Extended_Pictographic# E12.0 [1] (🛕) hindu temple
1F6D6..1F6D7 ; Extended_Pictographic# E13.0 [2] (🛖..🛗) hut..elevator
1F6D8..1F6DF ; Extended_Pictographic# E0.0 [8] (🛘..🛟) <reserved-1F6D8>..<reserved-1F6DF>
1F6D8..1F6DC ; Extended_Pictographic# E0.0 [5] (🛘..🛜) <reserved-1F6D8>..<reserved-1F6DC>
1F6DD..1F6DF ; Extended_Pictographic# E14.0 [3] (🛝..🛟) playground slide..ring buoy
1F6E0..1F6E5 ; Extended_Pictographic# E0.7 [6] (🛠️..🛥️) hammer and wrench..motor boat
1F6E6..1F6E8 ; Extended_Pictographic# E0.0 [3] (🛦..🛨) UP-POINTING MILITARY AIRPLANE..UP-POINTING SMALL AIRPLANE
1F6E9 ; Extended_Pictographic# E0.7 [1] (🛩️) small airplane
@@ -1185,7 +1210,9 @@ E0020..E007F ; Emoji_Component # E0.0 [96] (󠀠..󠁿) tag space..c
1F774..1F77F ; Extended_Pictographic# E0.0 [12] (🝴..🝿) <reserved-1F774>..<reserved-1F77F>
1F7D5..1F7DF ; Extended_Pictographic# E0.0 [11] (🟕..🟟) CIRCLED TRIANGLE..<reserved-1F7DF>
1F7E0..1F7EB ; Extended_Pictographic# E12.0 [12] (🟠..🟫) orange circle..brown square
1F7EC..1F7FF ; Extended_Pictographic# E0.0 [20] (🟬..🟿) <reserved-1F7EC>..<reserved-1F7FF>
1F7EC..1F7EF ; Extended_Pictographic# E0.0 [4] (🟬..🟯) <reserved-1F7EC>..<reserved-1F7EF>
1F7F0 ; Extended_Pictographic# E14.0 [1] (🟰) heavy equals sign
1F7F1..1F7FF ; Extended_Pictographic# E0.0 [15] (🟱..🟿) <reserved-1F7F1>..<reserved-1F7FF>
1F80C..1F80F ; Extended_Pictographic# E0.0 [4] (🠌..🠏) <reserved-1F80C>..<reserved-1F80F>
1F848..1F84F ; Extended_Pictographic# E0.0 [8] (🡈..🡏) <reserved-1F848>..<reserved-1F84F>
1F85A..1F85F ; Extended_Pictographic# E0.0 [6] (🡚..🡟) <reserved-1F85A>..<reserved-1F85F>
@@ -1214,7 +1241,7 @@ E0020..E007F ; Emoji_Component # E0.0 [96] (󠀠..󠁿) tag space..c
1F972 ; Extended_Pictographic# E13.0 [1] (🥲) smiling face with tear
1F973..1F976 ; Extended_Pictographic# E11.0 [4] (🥳..🥶) partying face..cold face
1F977..1F978 ; Extended_Pictographic# E13.0 [2] (🥷..🥸) ninja..disguised face
1F979 ; Extended_Pictographic# E0.0 [1] (🥹) <reserved-1F979>
1F979 ; Extended_Pictographic# E14.0 [1] (🥹) face holding back tears
1F97A ; Extended_Pictographic# E11.0 [1] (🥺) pleading face
1F97B ; Extended_Pictographic# E12.0 [1] (🥻) sari
1F97C..1F97F ; Extended_Pictographic# E11.0 [4] (🥼..🥿) lab coat..flat shoe
@@ -1232,7 +1259,7 @@ E0020..E007F ; Emoji_Component # E0.0 [96] (󠀠..󠁿) tag space..c
1F9C1..1F9C2 ; Extended_Pictographic# E11.0 [2] (🧁..🧂) cupcake..salt
1F9C3..1F9CA ; Extended_Pictographic# E12.0 [8] (🧃..🧊) beverage box..ice
1F9CB ; Extended_Pictographic# E13.0 [1] (🧋) bubble tea
1F9CC ; Extended_Pictographic# E0.0 [1] (🧌) <reserved-1F9CC>
1F9CC ; Extended_Pictographic# E14.0 [1] (🧌) troll
1F9CD..1F9CF ; Extended_Pictographic# E12.0 [3] (🧍..🧏) person standing..deaf person
1F9D0..1F9E6 ; Extended_Pictographic# E5.0 [23] (🧐..🧦) face with monocle..socks
1F9E7..1F9FF ; Extended_Pictographic# E11.0 [25] (🧧..🧿) red envelope..nazar amulet
@@ -1241,19 +1268,28 @@ E0020..E007F ; Emoji_Component # E0.0 [96] (󠀠..󠁿) tag space..c
1FA74 ; Extended_Pictographic# E13.0 [1] (🩴) thong sandal
1FA75..1FA77 ; Extended_Pictographic# E0.0 [3] (🩵..🩷) <reserved-1FA75>..<reserved-1FA77>
1FA78..1FA7A ; Extended_Pictographic# E12.0 [3] (🩸..🩺) drop of blood..stethoscope
1FA7B..1FA7F ; Extended_Pictographic# E0.0 [5] (🩻..🩿) <reserved-1FA7B>..<reserved-1FA7F>
1FA7B..1FA7C ; Extended_Pictographic# E14.0 [2] (🩻..🩼) x-ray..crutch
1FA7D..1FA7F ; Extended_Pictographic# E0.0 [3] (🩽..🩿) <reserved-1FA7D>..<reserved-1FA7F>
1FA80..1FA82 ; Extended_Pictographic# E12.0 [3] (🪀..🪂) yo-yo..parachute
1FA83..1FA86 ; Extended_Pictographic# E13.0 [4] (🪃..🪆) boomerang..nesting dolls
1FA87..1FA8F ; Extended_Pictographic# E0.0 [9] (🪇..🪏) <reserved-1FA87>..<reserved-1FA8F>
1FA90..1FA95 ; Extended_Pictographic# E12.0 [6] (🪐..🪕) ringed planet..banjo
1FA96..1FAA8 ; Extended_Pictographic# E13.0 [19] (🪖..🪨) military helmet..rock
1FAA9..1FAAF ; Extended_Pictographic# E0.0 [7] (🪩..🪯) <reserved-1FAA9>..<reserved-1FAAF>
1FAA9..1FAAC ; Extended_Pictographic# E14.0 [4] (🪩..🪬) mirror ball..hamsa
1FAAD..1FAAF ; Extended_Pictographic# E0.0 [3] (🪭..🪯) <reserved-1FAAD>..<reserved-1FAAF>
1FAB0..1FAB6 ; Extended_Pictographic# E13.0 [7] (🪰..🪶) fly..feather
1FAB7..1FABF ; Extended_Pictographic# E0.0 [9] (🪷..🪿) <reserved-1FAB7>..<reserved-1FABF>
1FAB7..1FABA ; Extended_Pictographic# E14.0 [4] (🪷..🪺) lotus..nest with eggs
1FABB..1FABF ; Extended_Pictographic# E0.0 [5] (🪻..🪿) <reserved-1FABB>..<reserved-1FABF>
1FAC0..1FAC2 ; Extended_Pictographic# E13.0 [3] (🫀..🫂) anatomical heart..people hugging
1FAC3..1FACF ; Extended_Pictographic# E0.0 [13] (🫃..🫏) <reserved-1FAC3>..<reserved-1FACF>
1FAC3..1FAC5 ; Extended_Pictographic# E14.0 [3] (🫃..🫅) pregnant man..person with crown
1FAC6..1FACF ; Extended_Pictographic# E0.0 [10] (🫆..🫏) <reserved-1FAC6>..<reserved-1FACF>
1FAD0..1FAD6 ; Extended_Pictographic# E13.0 [7] (🫐..🫖) blueberries..teapot
1FAD7..1FAFF ; Extended_Pictographic# E0.0 [41] (🫗..🫿) <reserved-1FAD7>..<reserved-1FAFF>
1FAD7..1FAD9 ; Extended_Pictographic# E14.0 [3] (🫗..🫙) pouring liquid..jar
1FADA..1FADF ; Extended_Pictographic# E0.0 [6] (🫚..🫟) <reserved-1FADA>..<reserved-1FADF>
1FAE0..1FAE7 ; Extended_Pictographic# E14.0 [8] (🫠..🫧) melting face..bubbles
1FAE8..1FAEF ; Extended_Pictographic# E0.0 [8] (🫨..🫯) <reserved-1FAE8>..<reserved-1FAEF>
1FAF0..1FAF6 ; Extended_Pictographic# E14.0 [7] (🫰..🫶) hand with index finger and thumb crossed..heart hands
1FAF7..1FAFF ; Extended_Pictographic# E0.0 [9] (🫷..🫿) <reserved-1FAF7>..<reserved-1FAFF>
1FC00..1FFFD ; Extended_Pictographic# E0.0[1022] (🰀..🿽) <reserved-1FC00>..<reserved-1FFFD>
# Total elements: 3537

View File

@@ -26,7 +26,7 @@
# Create a bundle in the build directory, containing what's needed to
# build and run JMH microbenchmarks from the OpenJDK build.
JMH_VERSION=1.33
JMH_VERSION=1.34
COMMONS_MATH3_VERSION=3.2
JOPT_SIMPLE_VERSION=4.6

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 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
@@ -49,7 +49,7 @@ $(eval $(call SetupJdkLibrary, BUILD_GTEST_LIBGTEST, \
$(GTEST_FRAMEWORK_SRC)/googletest/src \
$(GTEST_FRAMEWORK_SRC)/googlemock/src, \
INCLUDE_FILES := gtest-all.cc gmock-all.cc, \
DISABLED_WARNINGS_gcc := undef unused-result format-nonliteral, \
DISABLED_WARNINGS_gcc := undef unused-result format-nonliteral maybe-uninitialized, \
DISABLED_WARNINGS_clang := undef unused-result format-nonliteral, \
CFLAGS := $(JVM_CFLAGS) \
-I$(GTEST_FRAMEWORK_SRC)/googletest \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 2021, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -61,6 +61,11 @@ else
OPENJDK_TARGET_CPU_VM_VERSION := $(OPENJDK_TARGET_CPU)
endif
ifeq ($(VERSION_BUILD), )
# Hotspot cannot handle an empty build number
VERSION_BUILD := 0
endif
CFLAGS_VM_VERSION := \
$(VERSION_CFLAGS) \
-DHOTSPOT_VERSION_STRING='"$(VERSION_STRING)"' \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2021, 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
@@ -130,13 +130,6 @@ ifneq ($(call check-jvm-feature, cds), true)
JVM_EXCLUDE_PATTERNS += cds/
endif
ifneq ($(call check-jvm-feature, nmt), true)
JVM_CFLAGS_FEATURES += -DINCLUDE_NMT=0
JVM_EXCLUDE_FILES += \
memBaseline.cpp memReporter.cpp mallocTracker.cpp virtualMemoryTracker.cpp nmtCommon.cpp \
memTracker.cpp nmtDCmd.cpp mallocSiteTable.cpp threadStackTracker.cpp
endif
ifneq ($(call check-jvm-feature, g1gc), true)
JVM_CFLAGS_FEATURES += -DINCLUDE_G1GC=0
JVM_EXCLUDE_PATTERNS += gc/g1

View File

@@ -29,6 +29,13 @@ default: all
include $(SPEC)
include MakeBase.gmk
################################################################################
# SedEscape
#
# Escape special characters for use in SED replacement string
################################################################################
SedEscape = $(subst !,\!,$(subst \,\\,$1))
################################################################################
# Return the full path to an indexer-specific file fragment.
#
@@ -78,15 +85,15 @@ define CreateFromTemplate
$(SED) -e '/{{INDEXER_EXTENSIONS}}/r $(call GetIndexerFragment,extensions)' \
-e '/{{INDEXER_SETTINGS}}/r $(call GetIndexerFragment,settings)' \
-e '/{{EXTRA_WORKSPACE_ROOT}}/r $(call GetExtraWorkspaceRoot)' $1 | \
$(SED) -e 's!{{TOPDIR}}!$(call FixPath,$(TOPDIR))!g' \
-e 's!{{TOPDIR_RELATIVE}}!$(call FixPath,$(strip \
$(call RelativePath,$(OUTPUTDIR),$(TOPDIR))))!g' \
-e 's!{{WORKSPACE_ROOT}}!$(call FixPath,$(WORKSPACE_ROOT))!g' \
-e 's!{{OUTPUTDIR}}!$(call FixPath,$(OUTPUTDIR))!g' \
$(SED) -e 's!{{TOPDIR}}!$(call SedEscape,$(call FixPath,$(TOPDIR)))!g' \
-e 's!{{TOPDIR_RELATIVE}}!$(call SedEscape,$(call FixPath,$(strip \
$(call RelativePath,$(OUTPUTDIR),$(TOPDIR)))))!g' \
-e 's!{{WORKSPACE_ROOT}}!$(call SedEscape,$(call FixPath,$(WORKSPACE_ROOT)))!g' \
-e 's!{{OUTPUTDIR}}!$(call SedEscape,$(call FixPath,$(OUTPUTDIR)))!g' \
-e 's!{{CONF_NAME}}!$(CONF_NAME)!g' \
-e 's!{{COMPILER}}!$(call FixPath,$(CXX)) $(SYSROOT_CFLAGS)!g' \
-e 's!{{MAKE}}!$(call FixPath,$(MAKE))!g' \
-e 's!{{PATH}}!$(call FixPath,$(PATH))!g' \
-e 's!{{COMPILER}}!$(call SedEscape,$(call FixPath,$(CXX))) $(SYSROOT_CFLAGS)!g' \
-e 's!{{MAKE}}!$(call SedEscape,$(call FixPath,$(MAKE)))!g' \
-e 's!{{PATH}}!$(call SedEscape,$(call FixPath,$(PATH)))!g' \
-e 's!{{DEBUGENGINENAME}}!$(call DebugEngineName)!g' \
-e '/{{INDEXER_EXTENSIONS}}/d' \
-e '/{{INDEXER_SETTINGS}}/d' \

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -25,6 +25,9 @@
package build.tools.cldrconverter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.EnumSet;
@@ -34,6 +37,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
class Bundle {
@@ -47,21 +51,21 @@ class Bundle {
FORMATDATA);
}
private final static Map<String, Bundle> bundles = new HashMap<>();
private static final Map<String, Bundle> bundles = new HashMap<>();
private final static String[] NUMBER_PATTERN_KEYS = {
private static final String[] NUMBER_PATTERN_KEYS = {
"NumberPatterns/decimal",
"NumberPatterns/currency",
"NumberPatterns/percent",
"NumberPatterns/accounting"
};
private final static String[] COMPACT_NUMBER_PATTERN_KEYS = {
"short.CompactNumberPatterns",
"long.CompactNumberPatterns"
private static final String[] COMPACT_NUMBER_PATTERN_KEYS = {
"short.CompactNumberPatterns",
"long.CompactNumberPatterns"
};
private final static String[] NUMBER_ELEMENT_KEYS = {
private static final String[] NUMBER_ELEMENT_KEYS = {
"NumberElements/decimal",
"NumberElements/group",
"NumberElements/list",
@@ -77,41 +81,45 @@ class Bundle {
"NumberElements/currencyGroup",
};
private final static String[] TIME_PATTERN_KEYS = {
private static final String[] TIME_PATTERN_KEYS = {
"DateTimePatterns/full-time",
"DateTimePatterns/long-time",
"DateTimePatterns/medium-time",
"DateTimePatterns/short-time",
};
private final static String[] DATE_PATTERN_KEYS = {
private static final String[] DATE_PATTERN_KEYS = {
"DateTimePatterns/full-date",
"DateTimePatterns/long-date",
"DateTimePatterns/medium-date",
"DateTimePatterns/short-date",
};
private final static String[] DATETIME_PATTERN_KEYS = {
private static final String[] DATETIME_PATTERN_KEYS = {
"DateTimePatterns/full-dateTime",
"DateTimePatterns/long-dateTime",
"DateTimePatterns/medium-dateTime",
"DateTimePatterns/short-dateTime",
};
private final static String[] ERA_KEYS = {
private static final String[] ERA_KEYS = {
"long.Eras",
"Eras",
"narrow.Eras"
};
// DateFormatItem prefix
static final String DATEFORMATITEM_KEY_PREFIX = "DateFormatItem.";
static final String DATEFORMATITEM_INPUT_REGIONS_PREFIX = "DateFormatItemInputRegions.";
// Keys for individual time zone names
private final static String TZ_GEN_LONG_KEY = "timezone.displayname.generic.long";
private final static String TZ_GEN_SHORT_KEY = "timezone.displayname.generic.short";
private final static String TZ_STD_LONG_KEY = "timezone.displayname.standard.long";
private final static String TZ_STD_SHORT_KEY = "timezone.displayname.standard.short";
private final static String TZ_DST_LONG_KEY = "timezone.displayname.daylight.long";
private final static String TZ_DST_SHORT_KEY = "timezone.displayname.daylight.short";
private final static String[] ZONE_NAME_KEYS = {
private static final String TZ_GEN_LONG_KEY = "timezone.displayname.generic.long";
private static final String TZ_GEN_SHORT_KEY = "timezone.displayname.generic.short";
private static final String TZ_STD_LONG_KEY = "timezone.displayname.standard.long";
private static final String TZ_STD_SHORT_KEY = "timezone.displayname.standard.short";
private static final String TZ_DST_LONG_KEY = "timezone.displayname.daylight.long";
private static final String TZ_DST_SHORT_KEY = "timezone.displayname.daylight.short";
private static final String[] ZONE_NAME_KEYS = {
TZ_STD_LONG_KEY,
TZ_STD_SHORT_KEY,
TZ_DST_LONG_KEY,
@@ -262,7 +270,7 @@ class Bundle {
CLDRConverter.handleAliases(myMap);
// another hack: parentsMap is not used for date-time resources.
if ("root".equals(id)) {
if (isRoot()) {
parentsMap = null;
}
@@ -287,6 +295,14 @@ class Bundle {
handleDateTimeFormatPatterns(TIME_PATTERN_KEYS, myMap, parentsMap, calendarType, "TimePatterns");
handleDateTimeFormatPatterns(DATE_PATTERN_KEYS, myMap, parentsMap, calendarType, "DatePatterns");
handleDateTimeFormatPatterns(DATETIME_PATTERN_KEYS, myMap, parentsMap, calendarType, "DateTimePatterns");
// Skeleton
handleSkeletonPatterns(myMap, calendarType);
}
// Skeleton input regions
if (isRoot()) {
skeletonInputRegions(myMap);
}
// First, weed out any empty timezone or metazone names from myMap.
@@ -647,8 +663,9 @@ class Bundle {
private void convertDateTimePatternLetter(CalendarType calendarType, char cldrLetter, int count, StringBuilder sb) {
switch (cldrLetter) {
case 'u':
// Change cldr letter 'u' to 'y', as 'u' is interpreted as
// "Extended year (numeric)" in CLDR/LDML,
case 'U':
// Change cldr letter 'u'/'U' to 'y', as 'u' is interpreted as
// "Extended year (numeric)", and 'U' as "Cyclic year" in CLDR/LDML,
// which is not supported in SimpleDateFormat and
// j.t.f.DateTimeFormatter, so it is replaced with 'y'
// as the best approximation
@@ -742,6 +759,19 @@ class Bundle {
return false;
}
private void handleSkeletonPatterns(Map<String, Object> myMap, CalendarType calendarType) {
String calendarPrefix = calendarType.keyElementName();
myMap.putAll(myMap.entrySet().stream()
.filter(e -> e.getKey().startsWith(Bundle.DATEFORMATITEM_KEY_PREFIX))
.collect(Collectors.toMap(
e -> calendarPrefix + e.getKey(),
e -> translateDateFormatLetters(calendarType,
(String)e.getValue(),
this::convertDateTimePatternLetter)
))
);
}
@FunctionalInterface
private interface ConvertDateTimeLetters {
void convert(CalendarType calendarType, char cldrLetter, int count, StringBuilder sb);
@@ -790,4 +820,14 @@ class Bundle {
}
return numArray;
}
private static void skeletonInputRegions(Map<String, Object> myMap) {
myMap.putAll(myMap.entrySet().stream()
.filter(e -> e.getKey().startsWith(Bundle.DATEFORMATITEM_INPUT_REGIONS_PREFIX))
.collect(Collectors.toMap(
e -> e.getKey(),
e -> ((String)e.getValue()).trim()
))
);
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -847,20 +847,19 @@ public class CLDRConverter {
"DateTimePatternChars",
"PluralRules",
"DayPeriodRules",
"DateFormatItem",
};
private static Map<String, Object> extractFormatData(Map<String, Object> map, String id) {
Map<String, Object> formatData = new LinkedHashMap<>();
for (CalendarType calendarType : CalendarType.values()) {
if (calendarType == CalendarType.GENERIC) {
continue;
}
String prefix = calendarType.keyElementName();
for (String element : FORMAT_DATA_ELEMENTS) {
String key = prefix + element;
copyIfPresent(map, "java.time." + key, formatData);
copyIfPresent(map, key, formatData);
}
Arrays.stream(FORMAT_DATA_ELEMENTS)
.flatMap(elem -> map.keySet().stream().filter(k -> k.startsWith(prefix + elem)))
.forEach(key -> {
copyIfPresent(map, "java.time." + key, formatData);
copyIfPresent(map, key, formatData);
});
}
for (String key : map.keySet()) {
@@ -868,9 +867,6 @@ public class CLDRConverter {
if (key.startsWith(CLDRConverter.LOCALE_TYPE_PREFIX_CA)) {
String type = key.substring(CLDRConverter.LOCALE_TYPE_PREFIX_CA.length());
for (CalendarType calendarType : CalendarType.values()) {
if (calendarType == CalendarType.GENERIC) {
continue;
}
if (type.equals(calendarType.lname())) {
Object value = map.get(key);
String dataKey = key.replace(LOCALE_TYPE_PREFIX_CA,

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -756,6 +756,14 @@ class LDMLParseHandler extends AbstractLDMLHandler<Object> {
pushStringEntry(qName, attributes, prefix + "DateTimePatterns/" + attributes.getValue("type") + "-dateTime");
}
break;
case "dateFormatItem":
{
// for FormatData
String prefix = (currentCalendarType == null) ? "" : currentCalendarType.keyElementName();
pushStringEntry(qName, attributes,
prefix + Bundle.DATEFORMATITEM_KEY_PREFIX + attributes.getValue("id"));
}
break;
case "localizedPatternChars":
{
// for FormatData
@@ -1113,7 +1121,7 @@ class LDMLParseHandler extends AbstractLDMLHandler<Object> {
if (id.equals("root") && key.startsWith("MonthNames")) {
value = new DateFormatSymbols(Locale.US).getShortMonths();
}
return put(entry.getKey(), value);
return put(key, value);
}
}
return null;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -27,8 +27,12 @@ package build.tools.cldrconverter;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.stream.Collectors;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
@@ -62,10 +66,15 @@ class SupplementDataParseHandler extends AbstractLDMLHandler<Object> {
// parentLocale.<parent_locale_id>=<child_locale_id>(" "<child_locale_id>)+
private final Map<String, String> parentLocalesMap;
// Input Skeleton map for "preferred" and "allowed"
// Map<"preferred"/"allowed", Map<"skeleton", SortedSet<"regions">>>
private final Map<String, Map<String, SortedSet<String>>> inputSkeletonMap;
SupplementDataParseHandler() {
firstDayMap = new HashMap<>();
minDaysMap = new HashMap<>();
parentLocalesMap = new HashMap<>();
inputSkeletonMap = new HashMap<>();
}
/**
@@ -76,22 +85,25 @@ class SupplementDataParseHandler extends AbstractLDMLHandler<Object> {
* It returns null when there is no firstDay and minDays for the country
* although this should not happen because supplementalData.xml includes
* default value for the world ("001") for firstDay and minDays.
*
* This method also returns Maps for "preferred" and "allowed" skeletons,
* which are grouped by regions. E.g, "h:XX YY ZZ;" which means 'h' pattern
* is "preferred"/"allowed" in "XX", "YY", and "ZZ" regions.
*/
Map<String, Object> getData(String id) {
Map<String, Object> values = new HashMap<>();
if ("root".equals(id)) {
parentLocalesMap.keySet().forEach(key -> {
values.put(CLDRConverter.PARENT_LOCALE_PREFIX+key,
parentLocalesMap.get(key));
});
firstDayMap.keySet().forEach(key -> {
values.put(CLDRConverter.CALENDAR_FIRSTDAY_PREFIX+firstDayMap.get(key),
key);
});
minDaysMap.keySet().forEach(key -> {
values.put(CLDRConverter.CALENDAR_MINDAYS_PREFIX+minDaysMap.get(key),
key);
});
parentLocalesMap.forEach((k, v) -> values.put(CLDRConverter.PARENT_LOCALE_PREFIX + k, v));
firstDayMap.forEach((k, v) -> values.put(CLDRConverter.CALENDAR_FIRSTDAY_PREFIX + v, k));
minDaysMap.forEach((k, v) -> values.put(CLDRConverter.CALENDAR_MINDAYS_PREFIX + v, k));
inputSkeletonMap.get("preferred").forEach((k, v) ->
values.merge(Bundle.DATEFORMATITEM_INPUT_REGIONS_PREFIX + "preferred",
k + ":" + v.stream().collect(Collectors.joining(" ")) + ";",
(old, newVal) -> old + (String)newVal));
inputSkeletonMap.get("allowed").forEach((k, v) ->
values.merge(Bundle.DATEFORMATITEM_INPUT_REGIONS_PREFIX + "allowed",
k + ":" + v.stream().collect(Collectors.joining(" ")) + ";",
(old, newVal) -> old + (String)newVal));
}
return values.isEmpty() ? null : values;
}
@@ -158,11 +170,23 @@ class SupplementDataParseHandler extends AbstractLDMLHandler<Object> {
attributes.getValue("locales").replaceAll("_", "-"));
}
break;
case "hours":
if (!isIgnored(attributes)) {
var preferred = attributes.getValue("preferred");
var allowed = attributes.getValue("allowed").replaceFirst(" .*", "").replaceFirst("b", "B"); // take only the first one, "b" -> "B"
var regions = Arrays.stream(attributes.getValue("regions").split(" "))
.map(r -> r.replaceAll("_", "-"))
.collect(Collectors.toSet());
var pmap = inputSkeletonMap.computeIfAbsent("preferred", k -> new HashMap<>());
var amap = inputSkeletonMap.computeIfAbsent("allowed", k -> new HashMap<>());
pmap.computeIfAbsent(preferred, k -> new TreeSet<>()).addAll(regions);
amap.computeIfAbsent(allowed, k -> new TreeSet<>()).addAll(regions);
}
break;
default:
// treat anything else as a container
pushContainer(qName, attributes);
break;
}
}
}

View File

@@ -115,7 +115,7 @@ public class CharacterScript {
for (j = 0; j < scriptSize; j++) {
for (int cp = scripts[j][0]; cp <= scripts[j][1]; cp++) {
String name = names[scripts[j][2]].toUpperCase(Locale.ENGLISH);;
String name = names[scripts[j][2]].toUpperCase(Locale.ENGLISH);
if (cp > 0xffff)
System.out.printf("%05X %s%n", cp, name);
else

View File

@@ -34,18 +34,22 @@ import java.util.zip.ZipException;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
import java.time.Instant;
import java.time.ZoneOffset;
import java.time.LocalDateTime;
/**
* Generate a zip file in a "reproducible" manner from the input zip file.
* Standard zip tools rely on OS file list querying whose ordering can vary
* by platform architecture, this class ensures the zip entries are ordered
* and also supports SOURCE_DATE_EPOCH timestamps.
* and also supports SOURCE_DATE_EPOCH timestamps which will set the ZipEntry
* local time in UTC.
*/
public class MakeZipReproducible {
String input_file = null;
String fname = null;
String zname = "";
long timestamp = -1L;
LocalDateTime timestamp = null;
boolean verbose = false;
// Keep a sorted Set of ZipEntrys to be processed, so that the zip is reproducible
@@ -117,7 +121,9 @@ public class MakeZipReproducible {
break;
case 't':
// SOURCE_DATE_EPOCH timestamp specified
timestamp = Long.parseLong(args[++count]) * 1000;
long epochSeconds = Long.parseLong(args[++count]);
Instant instant = Instant.ofEpochSecond(epochSeconds);
timestamp = LocalDateTime.ofInstant(instant, ZoneOffset.UTC);
break;
case 'v':
verbose = true;
@@ -194,8 +200,8 @@ public class MakeZipReproducible {
}
// Set to specified timestamp if set otherwise leave as original lastModified time
if (timestamp != -1L) {
entry.setTime(timestamp);
if (timestamp != null) {
entry.setTimeLocal(timestamp);
}
zos.putNextEntry(entry);

View File

@@ -213,7 +213,7 @@ public class GenStubs {
long prevClassMods = currClassMods;
currClassMods = tree.mods.flags;
try {
super.visitClassDef(tree);;
super.visitClassDef(tree);
} finally {
currClassMods = prevClassMods;
}

View File

@@ -246,6 +246,23 @@ ifeq ($(ENABLE_LIBFFI_BUNDLING), true)
TARGETS += $(COPY_LIBFFI)
endif
################################################################################
# Optionally copy hsdis into the the image
ifeq ($(ENABLE_HSDIS_BUNDLING), true)
HSDIS_NAME := hsdis-$(OPENJDK_TARGET_CPU_LEGACY_LIB)$(SHARED_LIBRARY_SUFFIX)
HSDIS_PATH := $(SUPPORT_OUTPUTDIR)/hsdis/$(HSDIS_NAME)
$(eval $(call SetupCopyFiles, COPY_HSDIS, \
FILES := $(HSDIS_PATH), \
DEST := $(call FindLibDirForModule, $(MODULE)), \
FLATTEN := true, \
MACRO := install-file-nolink, \
))
TARGETS += $(COPY_HSDIS)
endif
################################################################################
# Generate classfile_constants.h

View File

@@ -23,7 +23,7 @@
# questions.
#
DOCLINT += -Xdoclint:all/protected,-reference \
DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:java.*,javax.*'
JAVAC_FLAGS += -XDstringConcat=inline
COPY += .icu .dat .spp .nrm content-types.properties \

View File

@@ -23,6 +23,6 @@
# questions.
#
DOCLINT += -Xdoclint:all/protected,-reference \
DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:java.*,javax.*'
COPY += flavormap.properties

View File

@@ -23,5 +23,5 @@
# questions.
#
DOCLINT += -Xdoclint:all/protected,-reference \
DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:java.*,javax.*'

View File

@@ -23,5 +23,5 @@
# questions.
#
DOCLINT += -Xdoclint:all/protected,-reference \
DOCLINT += -Xdoclint:all/protected \
'-Xdoclint/package:java.*,javax.*'

View File

@@ -27,4 +27,5 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, rmiregistry, \
MAIN_CLASS := sun.rmi.registry.RegistryImpl, \
JAVA_ARGS := -Djava.security.manager=allow, \
))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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

View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright (c) 2012, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 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
@@ -324,7 +324,7 @@ compare_general_files() {
! -name "*.cpl" ! -name "*.pdb" ! -name "*.exp" ! -name "*.ilk" \
! -name "*.lib" ! -name "*.jmod" ! -name "*.exe" \
! -name "*.obj" ! -name "*.o" ! -name "jspawnhelper" ! -name "*.a" \
! -name "*.tar.gz" ! -name "*.jsa" ! -name "gtestLauncher" \
! -name "*.tar.gz" ! -name "classes_nocoops.jsa" ! -name "gtestLauncher" \
! -name "*.map" \
| $GREP -v "./bin/" | $SORT | $FILTER)

View File

@@ -1,7 +1,7 @@
#!/bin/bash -f
#
# Copyright (c) 2010, 2020, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2010, 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -23,27 +23,87 @@
# questions.
#
# Script to update the Copyright YEAR range in Mercurial sources.
# Script to update the Copyright YEAR range in Mercurial & Git sources.
# (Originally from xdono, Thanks!)
awk=awk
#------------------------------------------------------------
copyright="Copyright (c)"
company="Oracle"
#------------------------------------------------------------
awk="awk"
# Stop on any error
set -e
# To allow total changes counting
shopt -s lastpipe
# Get an absolute path to this script, since that determines the top-level directory.
this_script_dir=`dirname $0`
this_script_dir=`cd $this_script_dir > /dev/null && pwd`
# Temp area
tmp=/tmp/`basename $0`.${USER}.$$
rm -f -r ${tmp}
mkdir -p ${tmp}
total=0
# Default or supplied company name
if [ "$3" != "" ] ; then
company="$3"
fi
# This year or supplied year
if [ "$1" != "" ] ; then
year="$1"
if [ "$2" != "" ] ; then
year="$2"
else
year=`date +%Y`
fi
# VCS select
vcs="$1"
if [ -z "$vcs" ] ; then
git_found=false
hg_found=false
[ -d "${this_script_dir}/../../.git" ] && git_found=true
[ -d "${this_script_dir}/../../.hg" ] && hg_found=true
if [ "$git_found" == "true" ] && [ "$hg_found" == "false" ] ; then
vcs="git"
elif [ "$hg_found" == "true" ] && [ "$git_found" == "false" ] ; then
vcs="hg"
else
echo "Error: could not auto-detect version control system"
vcs=""
fi
fi
case "$vcs" in
"git")
echo "Using Git version control system"
vcs_status=(git ls-files -m)
vcs_list_changesets=(git log --no-merges --since="${year}-01-01T00:00:00Z" --until="${year}-12-31T23:59:59Z" --pretty=tformat:"%H")
vcs_changeset_message=(git log -1 --pretty=tformat:"%B") # followed by ${changeset}
vcs_changeset_files=(git diff-tree --no-commit-id --name-only -r) # followed by ${changeset}
;;
"hg")
echo "Using Mercurial version control system"
vcs_status=(hg status)
vcs_list_changesets=(hg log --no-merges -v -d "${year}-01-01 to ${year}-12-31" --template '{node}\n')
vcs_changeset_message=(hg log -l1 --template '{desc}\n' --rev) # followed by ${changeset}
vcs_changeset_files=(hg log -l1 -v --template '{files}\n' --rev) # followed by ${changeset}
;;
*)
echo "Usage: `basename "$0"` <git|hg> [year [company]]"
exit 1
;;
esac
# Return true if it makes sense to edit this file
saneFileToCheck()
{
@@ -68,8 +128,6 @@ updateFile() # file
{
changed="false"
if [ `saneFileToCheck "$1"` = "true" ] ; then
copyright="Copyright (c)"
company="Oracle"
rm -f $1.OLD
mv $1 $1.OLD
cat $1.OLD | \
@@ -94,12 +152,10 @@ updateChangesetFiles() # changeset
count=0
files=${tmp}/files.$1
rm -f ${files}
hg log -l1 --rev $1 -v --template '{files}\n' | expand \
"${vcs_changeset_files[@]}" "$1" | expand \
| ${awk} -F' ' '{for(i=1;i<=NF;i++)print $i}' \
> ${files}
if [ -f "${files}" -a -s "${files}" ] ; then
copyright="Copyright (c)"
company="Oracle"
fcount=`cat ${files}| wc -l`
for i in `cat ${files}` ; do
if [ `updateFile "${i}"` = "true" ] ; then
@@ -116,8 +172,8 @@ updateChangesetFiles() # changeset
printf " ERROR: No files changed in the changeset? Must be a mistake.\n"
set -x
ls -al ${files}
hg log -l1 --rev $1 -v --template '{files}\n'
hg log -l1 --rev $1 -v --template '{files}\n' | expand \
"${vcs_changeset_files[@]}" "$1"
"${vcs_changeset_files[@]}" "$1" | expand \
| ${awk} -F' ' '{for(i=1;i<=NF;i++)print $i}'
set +x
exit 1
@@ -126,16 +182,16 @@ updateChangesetFiles() # changeset
}
# Check if repository is clean
previous=`hg status|wc -l`
previous=`"${vcs_status[@]}"|wc -l`
if [ ${previous} -ne 0 ] ; then
echo "WARNING: This repository contains previously edited working set files."
echo " hg status | wc -l = `hg status | wc -l`"
echo " ${vcs_status[*]} | wc -l = `"${vcs_status[@]}" | wc -l`"
fi
# Get all changesets this year
all_changesets=${tmp}/all_changesets
rm -f ${all_changesets}
hg log --no-merges -v -d "${year}-01-01 to ${year}-12-31" --template '{node}\n' > ${all_changesets}
"${vcs_list_changesets[@]}" > ${all_changesets}
# Check changeset to see if it is Copyright only changes, filter changesets
if [ -s ${all_changesets} ] ; then
@@ -146,7 +202,7 @@ if [ -s ${all_changesets} ] ; then
desc=${tmp}/desc.${changeset}
rm -f ${desc}
echo "------------------------------------------------"
hg log -l1 --rev ${changeset} --template '{desc}\n' > ${desc}
"${vcs_changeset_message[@]}" "${changeset}" > ${desc}
printf "%d: %s\n%s\n" ${index} "${changeset}" "`cat ${desc}|head -1`"
if [ "${year}" = "2010" ] ; then
if cat ${desc} | fgrep -i "Added tag" > /dev/null ; then
@@ -175,18 +231,18 @@ if [ ${total} -gt 0 ] ; then
echo "---------------------------------------------"
echo "Updated the copyright year on a total of ${total} files."
if [ ${previous} -eq 0 ] ; then
echo "This count should match the count of modified files in the repository: hg status -m"
echo "This count should match the count of modified files in the repository: ${vcs_status[*]}"
else
echo "WARNING: This repository contained previously edited working set files."
fi
echo " hg status -m | wc -l = `hg status -m | wc -l`"
echo " ${vcs_status[*]} | wc -l = `"${vcs_status[@]}" | wc -l`"
else
echo "---------------------------------------------"
echo "No files were changed"
if [ ${previous} -ne 0 ] ; then
echo "WARNING: This repository contained previously edited working set files."
fi
echo " hg status -m | wc -l = `hg status -m | wc -l`"
echo " ${vcs_status[*]} | wc -l = `"${vcs_status[@]}" | wc -l`"
fi
# Cleanup

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2021, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2015, 2022, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -62,6 +62,9 @@ ifeq ($(call isTargetOs, windows), true)
WIN_LIB_JLI := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := $(WIN_LIB_JLI)
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeCallerAccessTest := jvm.lib
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeNullCallerClassLoaderTest := jvm.lib
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeNullCallerLookupTest := jvm.lib
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeNullCallerResourceBundle := jvm.lib
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exerevokeall := advapi32.lib
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libAsyncStackWalk := /EHsc
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libAsyncInvokers := /EHsc
@@ -80,6 +83,9 @@ else
endif
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := -ljli
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeCallerAccessTest := -ljvm
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeNullCallerClassLoaderTest := -ljvm
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeNullCallerLookupTest := -ljvm
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeNullCallerResourceBundle := -ljvm
endif
ifeq ($(call isTargetOs, macosx), true)

View File

@@ -768,4 +768,13 @@ public class TableDemo extends DemoModule {
footerTextField.setDragEnabled(dragEnabled);
}
@Override
public ImageIcon createImageIcon(String filename, String description) {
ImageIcon imageIcon = super.createImageIcon(filename, description);
AccessibleContext context = imageIcon.getAccessibleContext();
if (context!= null) {
context.setAccessibleName(description);
}
return imageIcon;
}
}

View File

@@ -1,5 +1,5 @@
//
// Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2003, 2022, 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.
//
@@ -1199,9 +1199,6 @@ reg_class gov_pr (
// P7, non-allocatable, preserved with all elements preset to TRUE.
);
reg_class p0_reg(P0);
reg_class p1_reg(P1);
// Singleton class for condition codes
reg_class int_flags(RFLAGS);
@@ -1314,6 +1311,9 @@ public:
// predicate controlling translation of CompareAndSwapX
bool needs_acquiring_load_exclusive(const Node *load);
// Assert that the given node is not a variable shift.
bool assert_not_var_shift(const Node* n);
// predicate controlling addressing modes
bool size_fits_all_mem_uses(AddPNode* addp, int shift);
%}
@@ -1728,6 +1728,12 @@ bool needs_acquiring_load_exclusive(const Node *n)
return true;
}
// Assert that the given node is not a variable shift.
bool assert_not_var_shift(const Node* n) {
assert(!n->as_ShiftV()->is_var_shift(), "illegal variable shift");
return true;
}
#define __ _masm.
// advance declarations for helper functions to convert register
@@ -1856,6 +1862,10 @@ void MachPrologNode::format(PhaseRegAlloc *ra_, outputStream *st) const {
if (C->output()->need_stack_bang(framesize))
st->print("# stack bang size=%d\n\t", framesize);
if (VM_Version::use_rop_protection()) {
st->print("ldr zr, [lr]\n\t");
st->print("pacia lr, rfp\n\t");
}
if (framesize < ((1 << 9) + 2 * wordSize)) {
st->print("sub sp, sp, #%d\n\t", framesize);
st->print("stp rfp, lr, [sp, #%d]", framesize - 2 * wordSize);
@@ -1964,6 +1974,10 @@ void MachEpilogNode::format(PhaseRegAlloc *ra_, outputStream *st) const {
st->print("add sp, sp, rscratch1\n\t");
st->print("ldp lr, rfp, [sp],#%d\n\t", (2 * wordSize));
}
if (VM_Version::use_rop_protection()) {
st->print("autia lr, rfp\n\t");
st->print("ldr zr, [lr]\n\t");
}
if (do_polling() && C->is_method_compilation()) {
st->print("# test polling word\n\t");
@@ -2732,11 +2746,8 @@ bool is_vector_arith_imm_pattern(Node* n, Node* m) {
// Should the matcher clone input 'm' of node 'n'?
bool Matcher::pd_clone_node(Node* n, Node* m, Matcher::MStack& mstack) {
// ShiftV src (ShiftCntV con)
// StoreVector (VectorStoreMask src)
// Binary src (Replicate con)
if (is_vshift_con_pattern(n, m) ||
(UseSVE > 0 && m->Opcode() == Op_VectorStoreMask && n->Opcode() == Op_StoreVector) ||
is_vector_arith_imm_pattern(n, m)) {
if (is_vshift_con_pattern(n, m) || is_vector_arith_imm_pattern(n, m)) {
mstack.push(m, Visit);
return true;
}
@@ -3207,16 +3218,30 @@ encode %{
rscratch1, stlrb);
%}
enc_class aarch64_enc_stlrb0(memory mem) %{
MOV_VOLATILE(zr, $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlrb);
%}
enc_class aarch64_enc_stlrh(iRegI src, memory mem) %{
MOV_VOLATILE(as_Register($src$$reg), $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlrh);
%}
enc_class aarch64_enc_stlrh0(memory mem) %{
MOV_VOLATILE(zr, $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlrh);
%}
enc_class aarch64_enc_stlrw(iRegI src, memory mem) %{
MOV_VOLATILE(as_Register($src$$reg), $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlrw);
%}
enc_class aarch64_enc_stlrw0(memory mem) %{
MOV_VOLATILE(zr, $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlrw);
%}
enc_class aarch64_enc_ldarsbw(iRegI dst, memory mem) %{
Register dst_reg = as_Register($dst$$reg);
@@ -3307,6 +3332,11 @@ encode %{
rscratch1, stlr);
%}
enc_class aarch64_enc_stlr0(memory mem) %{
MOV_VOLATILE(zr, $mem$$base, $mem$$index, $mem$$scale, $mem$$disp,
rscratch1, stlr);
%}
enc_class aarch64_enc_fstlrs(vRegF src, memory mem) %{
{
C2_MacroAssembler _masm(&cbuf);
@@ -5690,24 +5720,6 @@ operand pRegGov()
interface(REG_INTER);
%}
operand pRegGov_P0()
%{
constraint(ALLOC_IN_RC(p0_reg));
match(RegVectMask);
op_cost(0);
format %{ %}
interface(REG_INTER);
%}
operand pRegGov_P1()
%{
constraint(ALLOC_IN_RC(p1_reg));
match(RegVectMask);
op_cost(0);
format %{ %}
interface(REG_INTER);
%}
// Flags register, used as output of signed compare instructions
// note that on AArch64 we also use this register as the output for
@@ -8299,6 +8311,18 @@ instruct storeB_volatile(iRegIorL2I src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmB0_volatile(immI0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreB mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlrb zr, $mem\t# byte" %}
ins_encode(aarch64_enc_stlrb0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Char/Short
instruct storeC_volatile(iRegIorL2I src, /* sync_memory*/indirect mem)
%{
@@ -8312,6 +8336,18 @@ instruct storeC_volatile(iRegIorL2I src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmC0_volatile(immI0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreC mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlrh zr, $mem\t# short" %}
ins_encode(aarch64_enc_stlrh0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Integer
instruct storeI_volatile(iRegIorL2I src, /* sync_memory*/indirect mem)
@@ -8326,6 +8362,18 @@ instruct storeI_volatile(iRegIorL2I src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmI0_volatile(immI0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem(StoreI mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlrw zr, $mem\t# int" %}
ins_encode(aarch64_enc_stlrw0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Long (64 bit signed)
instruct storeL_volatile(iRegL src, /* sync_memory*/indirect mem)
%{
@@ -8339,6 +8387,18 @@ instruct storeL_volatile(iRegL src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmL0_volatile(immL0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreL mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlr zr, $mem\t# int" %}
ins_encode(aarch64_enc_stlr0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Pointer
instruct storeP_volatile(iRegP src, /* sync_memory*/indirect mem)
%{
@@ -8352,6 +8412,18 @@ instruct storeP_volatile(iRegP src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmP0_volatile(immP0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreP mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlr zr, $mem\t# ptr" %}
ins_encode(aarch64_enc_stlr0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Compressed Pointer
instruct storeN_volatile(iRegN src, /* sync_memory*/indirect mem)
%{
@@ -8365,6 +8437,18 @@ instruct storeN_volatile(iRegN src, /* sync_memory*/indirect mem)
ins_pipe(pipe_class_memory);
%}
instruct storeimmN0_volatile(immN0 zero, /* sync_memory*/indirect mem)
%{
match(Set mem (StoreN mem zero));
ins_cost(VOLATILE_REF_COST);
format %{ "stlrw zr, $mem\t# compressed ptr" %}
ins_encode(aarch64_enc_stlrw0(mem));
ins_pipe(pipe_class_memory);
%}
// Store Float
instruct storeF_volatile(vRegF src, /* sync_memory*/indirect mem)
%{
@@ -16686,7 +16770,7 @@ instruct partialSubtypeCheckVsZero(iRegP_R4 sub, iRegP_R0 super, iRegP_R2 temp,
instruct string_compareU(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 cnt2,
iRegI_R0 result, iRegP_R10 tmp1, iRegL_R11 tmp2, rFlagsReg cr)
%{
predicate((UseSVE == 0) && (((StrCompNode*)n)->encoding() == StrIntrinsicNode::UU));
predicate(((StrCompNode*)n)->encoding() == StrIntrinsicNode::UU);
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
effect(KILL tmp1, KILL tmp2, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr);
@@ -16696,7 +16780,7 @@ instruct string_compareU(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 c
__ string_compare($str1$$Register, $str2$$Register,
$cnt1$$Register, $cnt2$$Register, $result$$Register,
$tmp1$$Register, $tmp2$$Register,
fnoreg, fnoreg, fnoreg, pnoreg, pnoreg, StrIntrinsicNode::UU);
fnoreg, fnoreg, fnoreg, StrIntrinsicNode::UU);
%}
ins_pipe(pipe_class_memory);
%}
@@ -16704,7 +16788,7 @@ instruct string_compareU(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 c
instruct string_compareL(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 cnt2,
iRegI_R0 result, iRegP_R10 tmp1, iRegL_R11 tmp2, rFlagsReg cr)
%{
predicate((UseSVE == 0) && (((StrCompNode*)n)->encoding() == StrIntrinsicNode::LL));
predicate(((StrCompNode*)n)->encoding() == StrIntrinsicNode::LL);
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
effect(KILL tmp1, KILL tmp2, USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr);
@@ -16713,7 +16797,7 @@ instruct string_compareL(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 c
__ string_compare($str1$$Register, $str2$$Register,
$cnt1$$Register, $cnt2$$Register, $result$$Register,
$tmp1$$Register, $tmp2$$Register,
fnoreg, fnoreg, fnoreg, pnoreg, pnoreg, StrIntrinsicNode::LL);
fnoreg, fnoreg, fnoreg, StrIntrinsicNode::LL);
%}
ins_pipe(pipe_class_memory);
%}
@@ -16722,7 +16806,7 @@ instruct string_compareUL(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4
iRegI_R0 result, iRegP_R10 tmp1, iRegL_R11 tmp2,
vRegD_V0 vtmp1, vRegD_V1 vtmp2, vRegD_V2 vtmp3, rFlagsReg cr)
%{
predicate((UseSVE == 0) && (((StrCompNode*)n)->encoding() == StrIntrinsicNode::UL));
predicate(((StrCompNode*)n)->encoding() == StrIntrinsicNode::UL);
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
effect(KILL tmp1, KILL tmp2, KILL vtmp1, KILL vtmp2, KILL vtmp3,
USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr);
@@ -16733,7 +16817,7 @@ instruct string_compareUL(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4
$cnt1$$Register, $cnt2$$Register, $result$$Register,
$tmp1$$Register, $tmp2$$Register,
$vtmp1$$FloatRegister, $vtmp2$$FloatRegister,
$vtmp3$$FloatRegister, pnoreg, pnoreg, StrIntrinsicNode::UL);
$vtmp3$$FloatRegister, StrIntrinsicNode::UL);
%}
ins_pipe(pipe_class_memory);
%}
@@ -16742,7 +16826,7 @@ instruct string_compareLU(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4
iRegI_R0 result, iRegP_R10 tmp1, iRegL_R11 tmp2,
vRegD_V0 vtmp1, vRegD_V1 vtmp2, vRegD_V2 vtmp3, rFlagsReg cr)
%{
predicate((UseSVE == 0) && (((StrCompNode*)n)->encoding() == StrIntrinsicNode::LU));
predicate(((StrCompNode*)n)->encoding() == StrIntrinsicNode::LU);
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
effect(KILL tmp1, KILL tmp2, KILL vtmp1, KILL vtmp2, KILL vtmp3,
USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr);
@@ -16753,7 +16837,7 @@ instruct string_compareLU(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4
$cnt1$$Register, $cnt2$$Register, $result$$Register,
$tmp1$$Register, $tmp2$$Register,
$vtmp1$$FloatRegister, $vtmp2$$FloatRegister,
$vtmp3$$FloatRegister, pnoreg, pnoreg, StrIntrinsicNode::LU);
$vtmp3$$FloatRegister,StrIntrinsicNode::LU);
%}
ins_pipe(pipe_class_memory);
%}
@@ -17018,16 +17102,17 @@ instruct string_compress(iRegP_R2 src, iRegP_R1 dst, iRegI_R3 len,
iRegI_R0 result, rFlagsReg cr)
%{
match(Set result (StrCompressedCopy src (Binary dst len)));
effect(TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4, USE_KILL src, USE_KILL dst, USE_KILL len, KILL cr);
effect(TEMP tmp1, TEMP tmp2, TEMP tmp3, TEMP tmp4,
USE_KILL src, USE_KILL dst, USE len, KILL cr);
format %{ "String Compress $src,$dst -> $result // KILL R1, R2, R3, R4" %}
format %{ "String Compress $src,$dst,$len -> $result // KILL $src,$dst" %}
ins_encode %{
__ char_array_compress($src$$Register, $dst$$Register, $len$$Register,
$result$$Register,
$tmp1$$FloatRegister, $tmp2$$FloatRegister,
$tmp3$$FloatRegister, $tmp4$$FloatRegister,
$result$$Register);
$tmp3$$FloatRegister, $tmp4$$FloatRegister);
%}
ins_pipe( pipe_slow );
ins_pipe(pipe_slow);
%}
// fast byte[] to char[] inflation
@@ -17052,22 +17137,43 @@ instruct string_inflate(Universe dummy, iRegP_R0 src, iRegP_R1 dst, iRegI_R2 len
// encode char[] to byte[] in ISO_8859_1
instruct encode_iso_array(iRegP_R2 src, iRegP_R1 dst, iRegI_R3 len,
vRegD_V0 Vtmp1, vRegD_V1 Vtmp2,
vRegD_V2 Vtmp3, vRegD_V3 Vtmp4,
vRegD_V0 vtmp0, vRegD_V1 vtmp1,
vRegD_V2 vtmp2, vRegD_V3 vtmp3,
iRegI_R0 result, rFlagsReg cr)
%{
predicate(!((EncodeISOArrayNode*)n)->is_ascii());
match(Set result (EncodeISOArray src (Binary dst len)));
effect(USE_KILL src, USE_KILL dst, USE_KILL len,
KILL Vtmp1, KILL Vtmp2, KILL Vtmp3, KILL Vtmp4, KILL cr);
effect(USE_KILL src, USE_KILL dst, USE len,
KILL vtmp0, KILL vtmp1, KILL vtmp2, KILL vtmp3, KILL cr);
format %{ "Encode array $src,$dst,$len -> $result" %}
format %{ "Encode ISO array $src,$dst,$len -> $result" %}
ins_encode %{
__ encode_iso_array($src$$Register, $dst$$Register, $len$$Register,
$result$$Register, $Vtmp1$$FloatRegister, $Vtmp2$$FloatRegister,
$Vtmp3$$FloatRegister, $Vtmp4$$FloatRegister);
$result$$Register, false,
$vtmp0$$FloatRegister, $vtmp1$$FloatRegister,
$vtmp2$$FloatRegister, $vtmp3$$FloatRegister);
%}
ins_pipe( pipe_class_memory );
ins_pipe(pipe_class_memory);
%}
instruct encode_ascii_array(iRegP_R2 src, iRegP_R1 dst, iRegI_R3 len,
vRegD_V0 vtmp0, vRegD_V1 vtmp1,
vRegD_V2 vtmp2, vRegD_V3 vtmp3,
iRegI_R0 result, rFlagsReg cr)
%{
predicate(((EncodeISOArrayNode*)n)->is_ascii());
match(Set result (EncodeISOArray src (Binary dst len)));
effect(USE_KILL src, USE_KILL dst, USE len,
KILL vtmp0, KILL vtmp1, KILL vtmp2, KILL vtmp3, KILL cr);
format %{ "Encode ASCII array $src,$dst,$len -> $result" %}
ins_encode %{
__ encode_iso_array($src$$Register, $dst$$Register, $len$$Register,
$result$$Register, true,
$vtmp0$$FloatRegister, $vtmp1$$FloatRegister,
$vtmp2$$FloatRegister, $vtmp3$$FloatRegister);
%}
ins_pipe(pipe_class_memory);
%}
// ============================================================================

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
// Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2021, Arm Limited. All rights reserved.
// Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2022, 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
@@ -1972,223 +1972,277 @@ VLOGICAL(xor, eor, xor, Xor, 16, B, X)
// ------------------------------ Shift ---------------------------------------
dnl
define(`VSHIFTCNT', `
instruct vshiftcnt$3$4`'(vec$5 dst, iRegIorL2I cnt) %{
predicate(UseSVE == 0 && (ifelse($3, 8, n->as_Vector()->length_in_bytes() == 4 ||`
')n->as_Vector()->length_in_bytes() == $3));
define(`VSLCNT', `
instruct vslcnt$1$2`'(vec$3 dst, iRegIorL2I cnt) %{
predicate(UseSVE == 0 && ifelse($1, 8,
(n->as_Vector()->length_in_bytes() == 4 ||`
'n->as_Vector()->length_in_bytes() == $1),
n->as_Vector()->length_in_bytes() == $1));
match(Set dst (LShiftCntV cnt));
match(Set dst (RShiftCntV cnt));
format %{ "$1 $dst, $cnt\t# shift count vector ($3$4)" %}
ins_cost(INSN_COST);
format %{ "dup $dst, $cnt\t# shift count vector ($1$2)" %}
ins_encode %{
__ $2(as_FloatRegister($dst$$reg), __ T$3$4, as_Register($cnt$$reg));
__ dup(as_FloatRegister($dst$$reg), __ T$1$2, as_Register($cnt$$reg));
%}
ins_pipe(vdup_reg_reg`'ifelse($5, D, 64, 128));
ins_pipe(vdup_reg_reg`'ifelse($3, D, 64, 128));
%}')dnl
dnl $1 $2 $3 $4 $5
VSHIFTCNT(dup, dup, 8, B, D)
VSHIFTCNT(dup, dup, 16, B, X)
dnl
define(`VSRCNT', `
instruct vsrcnt$1$2`'(vec$3 dst, iRegIorL2I cnt) %{
predicate(UseSVE == 0 && ifelse($1, 8,
(n->as_Vector()->length_in_bytes() == 4 ||`
'n->as_Vector()->length_in_bytes() == $1),
n->as_Vector()->length_in_bytes() == $1));
match(Set dst (RShiftCntV cnt));
ins_cost(INSN_COST * 2);
format %{ "negw rscratch1, $cnt\t"
"dup $dst, rscratch1\t# shift count vector ($1$2)" %}
ins_encode %{
__ negw(rscratch1, as_Register($cnt$$reg));
__ dup(as_FloatRegister($dst$$reg), __ T$1$2, rscratch1);
%}
ins_pipe(vdup_reg_reg`'ifelse($3, D, 64, 128));
%}')dnl
dnl
// Vector shift count
// Note-1: Low 8 bits of each element are used, so it doesn't matter if we
// treat it as ints or bytes here.
// Note-2: Shift value is negated for RShiftCntV additionally. See the comments
// on vsra8B rule for more details.
dnl $1 $2 $3
VSLCNT(8, B, D)
VSLCNT(16, B, X)
VSRCNT(8, B, D)
VSRCNT(16, B, X)
dnl
define(`PREDICATE',
`ifelse($1, 8B,
ifelse($3, `', `predicate(n->as_Vector()->length() == 4 || n->as_Vector()->length() == 8);',
`predicate((n->as_Vector()->length() == 4 || n->as_Vector()->length() == 8) &&`
'$3);'),
$1, 4S,
ifelse($3, `', `predicate(n->as_Vector()->length() == 2 || n->as_Vector()->length() == 4);',
`predicate((n->as_Vector()->length() == 2 || n->as_Vector()->length() == 4) &&`
'$3);'),
ifelse($3, `', `predicate(n->as_Vector()->length() == $2);',
`predicate(n->as_Vector()->length() == $2 && $3);'))')dnl
dnl
define(`VSLL', `
instruct vsll$3$4`'(vec$6 dst, vec$6 src, vec$6 shift) %{
predicate(ifelse($3$4, 8B, n->as_Vector()->length() == 4 ||`
',
$3$4, 4S, n->as_Vector()->length() == 2 ||`
')n->as_Vector()->length() == $3);
match(Set dst (LShiftV$4 src shift));
instruct vsll$1$2`'(vec$4 dst, vec$4 src, vec$4 shift) %{
PREDICATE(`$1$2', $1, )
match(Set dst (LShiftV$2 src shift));
ins_cost(INSN_COST);
format %{ "$1 $dst,$src,$shift\t# vector ($3$5)" %}
format %{ "sshl $dst,$src,$shift\t# vector ($1$3)" %}
ins_encode %{
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
__ sshl(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg),
as_FloatRegister($shift$$reg));
%}
ins_pipe(vshift`'ifelse($6, D, 64, 128));
ins_pipe(vshift`'ifelse($4, D, 64, 128));
%}')dnl
dnl
define(`VSRA', `
instruct vsra$3$4`'(vec$6 dst, vec$6 src, vec$6 shift, vec$6 tmp) %{
predicate(ifelse($3$4, 8B, n->as_Vector()->length() == 4 ||`
',
$3$4, 4S, n->as_Vector()->length() == 2 ||`
')n->as_Vector()->length() == $3);
match(Set dst (RShiftV$4 src shift));
instruct vsra$1$2`'(vec$4 dst, vec$4 src, vec$4 shift) %{
PREDICATE(`$1$2', $1, !n->as_ShiftV()->is_var_shift())
match(Set dst (RShiftV$2 src shift));
ins_cost(INSN_COST);
effect(TEMP tmp);
format %{ "$1 $tmp,$shift\t"
"$2 $dst,$src,$tmp\t# vector ($3$5)" %}
format %{ "sshl $dst,$src,$shift\t# vector ($1$3)" %}
ins_encode %{
__ $1(as_FloatRegister($tmp$$reg), __ T`'ifelse($6, D, 8B, 16B),
as_FloatRegister($shift$$reg));
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
__ sshl(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg),
as_FloatRegister($tmp$$reg));
as_FloatRegister($shift$$reg));
%}
ins_pipe(vshift`'ifelse($6, D, 64, 128));
ins_pipe(vshift`'ifelse($4, D, 64, 128));
%}')dnl
dnl
define(`VSRA_VAR', `
instruct vsra$1$2_var`'(vec$4 dst, vec$4 src, vec$4 shift) %{
PREDICATE(`$1$2', $1, n->as_ShiftV()->is_var_shift())
match(Set dst (RShiftV$2 src shift));
ins_cost(INSN_COST * 2);
effect(TEMP_DEF dst);
format %{ "negr $dst,$shift\t"
"sshl $dst,$src,$dst\t# vector ($1$3)" %}
ins_encode %{
__ negr(as_FloatRegister($dst$$reg), __ T`'ifelse($4, D, 8B, 16B),
as_FloatRegister($shift$$reg));
__ sshl(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg),
as_FloatRegister($dst$$reg));
%}
ins_pipe(vshift`'ifelse($4, D, 64, 128));
%}')dnl
dnl
define(`VSRL', `
instruct vsrl$3$4`'(vec$6 dst, vec$6 src, vec$6 shift, vec$6 tmp) %{
predicate(ifelse($3$4, 8B, n->as_Vector()->length() == 4 ||`
',
$3$4, 4S, n->as_Vector()->length() == 2 ||`
')n->as_Vector()->length() == $3);
match(Set dst (URShiftV$4 src shift));
instruct vsrl$1$2`'(vec$4 dst, vec$4 src, vec$4 shift) %{
PREDICATE(`$1$2', $1, !n->as_ShiftV()->is_var_shift())
match(Set dst (URShiftV$2 src shift));
ins_cost(INSN_COST);
effect(TEMP tmp);
format %{ "$1 $tmp,$shift\t"
"$2 $dst,$src,$tmp\t# vector ($3$5)" %}
format %{ "ushl $dst,$src,$shift\t# vector ($1$3)" %}
ins_encode %{
__ $1(as_FloatRegister($tmp$$reg), __ T`'ifelse($6, D, 8B, 16B),
as_FloatRegister($shift$$reg));
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
__ ushl(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg),
as_FloatRegister($tmp$$reg));
as_FloatRegister($shift$$reg));
%}
ins_pipe(vshift`'ifelse($6, D, 64, 128));
ins_pipe(vshift`'ifelse($4, D, 64, 128));
%}')dnl
dnl
define(`VSRL_VAR', `
instruct vsrl$1$2_var`'(vec$4 dst, vec$4 src, vec$4 shift) %{
PREDICATE(`$1$2', $1, n->as_ShiftV()->is_var_shift())
match(Set dst (URShiftV$2 src shift));
ins_cost(INSN_COST * 2);
effect(TEMP_DEF dst);
format %{ "negr $dst,$shift\t"
"ushl $dst,$src,$dst\t# vector ($1$3)" %}
ins_encode %{
__ negr(as_FloatRegister($dst$$reg), __ T`'ifelse($4, D, 8B, 16B),
as_FloatRegister($shift$$reg));
__ ushl(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg),
as_FloatRegister($dst$$reg));
%}
ins_pipe(vshift`'ifelse($4, D, 64, 128));
%}')dnl
dnl
define(`VSLL_IMM', `
instruct vsll$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
predicate(ifelse($3$4, 8B, n->as_Vector()->length() == 4 ||`
',
$3$4, 4S, n->as_Vector()->length() == 2 ||`
')n->as_Vector()->length() == $3);
match(Set dst (LShiftV$4 src (LShiftCntV shift)));
instruct vsll$1$2_imm`'(vec$4 dst, vec$4 src, immI shift) %{
PREDICATE(`$1$2', $1, assert_not_var_shift(n))
match(Set dst (LShiftV$2 src (LShiftCntV shift)));
ins_cost(INSN_COST);
format %{ "$1 $dst, $src, $shift\t# vector ($3$5)" %}
ins_encode %{ifelse($4, B,`
format %{ "shl $dst, $src, $shift\t# vector ($1$3)" %}
ins_encode %{ifelse($2, B,`
int sh = (int)$shift$$constant;
if (sh >= 8) {
__ eor(as_FloatRegister($dst$$reg), __ ifelse($6, D, T8B, T16B),
__ eor(as_FloatRegister($dst$$reg), __ ifelse($4, D, T8B, T16B),
as_FloatRegister($src$$reg),
as_FloatRegister($src$$reg));
} else {
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
__ shl(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg), sh);
}', $4, S,`
}', $2, S,`
int sh = (int)$shift$$constant;
if (sh >= 16) {
__ eor(as_FloatRegister($dst$$reg), __ ifelse($6, D, T8B, T16B),
__ eor(as_FloatRegister($dst$$reg), __ ifelse($4, D, T8B, T16B),
as_FloatRegister($src$$reg),
as_FloatRegister($src$$reg));
} else {
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
__ shl(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg), sh);
}', `
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
__ shl(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg),
(int)$shift$$constant);')
%}
ins_pipe(vshift`'ifelse($6, D, 64, 128)_imm);
ins_pipe(vshift`'ifelse($4, D, 64, 128)_imm);
%}')dnl
dnl
define(`VSRA_IMM', `
instruct vsra$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
predicate(ifelse($3$4, 8B, n->as_Vector()->length() == 4 ||`
',
$3$4, 4S, n->as_Vector()->length() == 2 ||`
')n->as_Vector()->length() == $3);
match(Set dst (RShiftV$4 src (RShiftCntV shift)));
instruct vsra$1$2_imm`'(vec$4 dst, vec$4 src, immI shift) %{
PREDICATE(`$1$2', $1, assert_not_var_shift(n))
match(Set dst (RShiftV$2 src (RShiftCntV shift)));
ins_cost(INSN_COST);
format %{ "$1 $dst, $src, $shift\t# vector ($3$5)" %}
ins_encode %{ifelse($4, B,`
format %{ "sshr $dst, $src, $shift\t# vector ($1$3)" %}
ins_encode %{ifelse($2, B,`
int sh = (int)$shift$$constant;
if (sh >= 8) sh = 7;
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
as_FloatRegister($src$$reg), sh);', $4, S,`
__ sshr(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg), sh);', $2, S,`
int sh = (int)$shift$$constant;
if (sh >= 16) sh = 15;
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
as_FloatRegister($src$$reg), sh);', `
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
__ sshr(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg), sh);', `
__ sshr(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg),
(int)$shift$$constant);')
%}
ins_pipe(vshift`'ifelse($6, D, 64, 128)_imm);
ins_pipe(vshift`'ifelse($4, D, 64, 128)_imm);
%}')dnl
dnl
define(`VSRL_IMM', `
instruct vsrl$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
predicate(ifelse($3$4, 8B, n->as_Vector()->length() == 4 ||`
',
$3$4, 4S, n->as_Vector()->length() == 2 ||`
')n->as_Vector()->length() == $3);
match(Set dst (URShiftV$4 src (RShiftCntV shift)));
instruct vsrl$1$2_imm`'(vec$4 dst, vec$4 src, immI shift) %{
PREDICATE(`$1$2', $1, assert_not_var_shift(n))
match(Set dst (URShiftV$2 src (RShiftCntV shift)));
ins_cost(INSN_COST);
format %{ "$1 $dst, $src, $shift\t# vector ($3$5)" %}
ins_encode %{ifelse($4, B,`
format %{ "ushr $dst, $src, $shift\t# vector ($1$3)" %}
ins_encode %{ifelse($2, B,`
int sh = (int)$shift$$constant;
if (sh >= 8) {
__ eor(as_FloatRegister($dst$$reg), __ ifelse($6, D, T8B, T16B),
__ eor(as_FloatRegister($dst$$reg), __ ifelse($4, D, T8B, T16B),
as_FloatRegister($src$$reg),
as_FloatRegister($src$$reg));
} else {
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
as_FloatRegister($src$$reg), sh);
}', $4, S,`
__ ushr(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg), sh);
}', $2, S,`
int sh = (int)$shift$$constant;
if (sh >= 16) {
__ eor(as_FloatRegister($dst$$reg), __ ifelse($6, D, T8B, T16B),
__ eor(as_FloatRegister($dst$$reg), __ ifelse($4, D, T8B, T16B),
as_FloatRegister($src$$reg),
as_FloatRegister($src$$reg));
} else {
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
as_FloatRegister($src$$reg), sh);
__ ushr(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg), sh);
}', `
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
__ ushr(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg),
(int)$shift$$constant);')
%}
ins_pipe(vshift`'ifelse($6, D, 64, 128)_imm);
ins_pipe(vshift`'ifelse($4, D, 64, 128)_imm);
%}')dnl
dnl
define(`VSRLA_IMM', `
instruct vsrla$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
predicate(n->as_Vector()->length() == $3);
match(Set dst (AddV$4 dst (URShiftV$4 src (RShiftCntV shift))));
instruct vsrla$1$2_imm`'(vec$4 dst, vec$4 src, immI shift) %{
predicate(n->as_Vector()->length() == $1);
match(Set dst (AddV$2 dst (URShiftV$2 src (RShiftCntV shift))));
ins_cost(INSN_COST);
format %{ "$1 $dst, $src, $shift\t# vector ($3$5)" %}
ins_encode %{ifelse($4, B,`
format %{ "usra $dst, $src, $shift\t# vector ($1$3)" %}
ins_encode %{ifelse($2, B,`
int sh = (int)$shift$$constant;
if (sh < 8) {
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
as_FloatRegister($src$$reg), sh);
}', $4, S,`
__ usra(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg), sh);
}', $2, S,`
int sh = (int)$shift$$constant;
if (sh < 16) {
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
as_FloatRegister($src$$reg), sh);
__ usra(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg), sh);
}', `
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
__ usra(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg),
(int)$shift$$constant);')
%}
ins_pipe(vshift`'ifelse($6, D, 64, 128)_imm);
ins_pipe(vshift`'ifelse($4, D, 64, 128)_imm);
%}')dnl
dnl
define(`VSRAA_IMM', `
instruct vsraa$3$4_imm`'(vec$6 dst, vec$6 src, immI shift) %{
predicate(n->as_Vector()->length() == $3);
match(Set dst (AddV$4 dst (RShiftV$4 src (RShiftCntV shift))));
instruct vsraa$1$2_imm`'(vec$4 dst, vec$4 src, immI shift) %{
predicate(n->as_Vector()->length() == $1);
match(Set dst (AddV$2 dst (RShiftV$2 src (RShiftCntV shift))));
ins_cost(INSN_COST);
format %{ "$1 $dst, $src, $shift\t# vector ($3$5)" %}
ins_encode %{ifelse($4, B,`
format %{ "ssra $dst, $src, $shift\t# vector ($1$3)" %}
ins_encode %{ifelse($2, B,`
int sh = (int)$shift$$constant;
if (sh >= 8) sh = 7;
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
as_FloatRegister($src$$reg), sh);', $4, S,`
__ ssra(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg), sh);', $2, S,`
int sh = (int)$shift$$constant;
if (sh >= 16) sh = 15;
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
as_FloatRegister($src$$reg), sh);', `
__ $2(as_FloatRegister($dst$$reg), __ T$3$5,
__ ssra(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg), sh);', `
__ ssra(as_FloatRegister($dst$$reg), __ T$1$3,
as_FloatRegister($src$$reg),
(int)$shift$$constant);')
%}
ins_pipe(vshift`'ifelse($6, D, 64, 128)_imm);
ins_pipe(vshift`'ifelse($4, D, 64, 128)_imm);
%}')dnl
dnl $1 $2 $3 $4 $5 $6
VSLL(sshl, sshl, 8, B, B, D)
VSLL(sshl, sshl, 16, B, B, X)
dnl
undefine(PREDICATE)dnl
dnl
dnl $1 $2 $3 $4
VSLL(8, B, B, D)
VSLL(16, B, B, X)
// Right shifts with vector shift count on aarch64 SIMD are implemented
// as left shift by negative shift count.
@@ -2199,8 +2253,6 @@ VSLL(sshl, sshl, 16, B, B, X)
// LoadVector RShiftCntV
// | /
// RShiftVI
// Note: In inner loop, multiple neg instructions are used, which can be
// moved to outer loop and merge into one neg instruction.
//
// Case 2: The vector shift count is from loading.
// This case isn't supported by middle-end now. But it's supported by
@@ -2210,61 +2262,83 @@ VSLL(sshl, sshl, 16, B, B, X)
// | /
// RShiftVI
//
dnl $1 $2 $3 $4 $5 $6
VSRA(negr, sshl, 8, B, B, D)
VSRA(negr, sshl, 16, B, B, X)
VSRL(negr, ushl, 8, B, B, D)
VSRL(negr, ushl, 16, B, B, X)
VSLL_IMM(shl, shl, 8, B, B, D)
VSLL_IMM(shl, shl, 16, B, B, X)
VSRA_IMM(sshr, sshr, 8, B, B, D)
VSRA_IMM(sshr, sshr, 16, B, B, X)
VSRL_IMM(ushr, ushr, 8, B, B, D)
VSRL_IMM(ushr, ushr, 16, B, B, X)
VSLL(sshl, sshl, 4, S, H, D)
VSLL(sshl, sshl, 8, S, H, X)
VSRA(negr, sshl, 4, S, H, D)
VSRA(negr, sshl, 8, S, H, X)
VSRL(negr, ushl, 4, S, H, D)
VSRL(negr, ushl, 8, S, H, X)
VSLL_IMM(shl, shl, 4, S, H, D)
VSLL_IMM(shl, shl, 8, S, H, X)
VSRA_IMM(sshr, sshr, 4, S, H, D)
VSRA_IMM(sshr, sshr, 8, S, H, X)
VSRL_IMM(ushr, ushr, 4, S, H, D)
VSRL_IMM(ushr, ushr, 8, S, H, X)
VSLL(sshl, sshl, 2, I, S, D)
VSLL(sshl, sshl, 4, I, S, X)
VSRA(negr, sshl, 2, I, S, D)
VSRA(negr, sshl, 4, I, S, X)
VSRL(negr, ushl, 2, I, S, D)
VSRL(negr, ushl, 4, I, S, X)
VSLL_IMM(shl, shl, 2, I, S, D)
VSLL_IMM(shl, shl, 4, I, S, X)
VSRA_IMM(sshr, sshr, 2, I, S, D)
VSRA_IMM(sshr, sshr, 4, I, S, X)
VSRL_IMM(ushr, ushr, 2, I, S, D)
VSRL_IMM(ushr, ushr, 4, I, S, X)
VSLL(sshl, sshl, 2, L, D, X)
VSRA(negr, sshl, 2, L, D, X)
VSRL(negr, ushl, 2, L, D, X)
VSLL_IMM(shl, shl, 2, L, D, X)
VSRA_IMM(sshr, sshr, 2, L, D, X)
VSRL_IMM(ushr, ushr, 2, L, D, X)
VSRAA_IMM(ssra, ssra, 8, B, B, D)
VSRAA_IMM(ssra, ssra, 16, B, B, X)
VSRAA_IMM(ssra, ssra, 4, S, H, D)
VSRAA_IMM(ssra, ssra, 8, S, H, X)
VSRAA_IMM(ssra, ssra, 2, I, S, D)
VSRAA_IMM(ssra, ssra, 4, I, S, X)
VSRAA_IMM(ssra, ssra, 2, L, D, X)
VSRLA_IMM(usra, usra, 8, B, B, D)
VSRLA_IMM(usra, usra, 16, B, B, X)
VSRLA_IMM(usra, usra, 4, S, H, D)
VSRLA_IMM(usra, usra, 8, S, H, X)
VSRLA_IMM(usra, usra, 2, I, S, D)
VSRLA_IMM(usra, usra, 4, I, S, X)
VSRLA_IMM(usra, usra, 2, L, D, X)
// The negate is conducted in RShiftCntV rule for case 1, whereas it's done in
// RShiftV* rules for case 2. Because there exists an optimization opportunity
// for case 1, that is, multiple neg instructions in inner loop can be hoisted
// to outer loop and merged into one neg instruction.
//
// Note that ShiftVNode::is_var_shift() indicates whether the vector shift
// count is a variable vector(case 2) or not(a vector generated by RShiftCntV,
// i.e. case 1).
dnl $1 $2 $3 $4
VSRA(8, B, B, D)
VSRA_VAR(8, B, B, D)
VSRA(16, B, B, X)
VSRA_VAR(16, B, B, X)
VSRL(8, B, B, D)
VSRL_VAR(8, B, B, D)
VSRL(16, B, B, X)
VSRL_VAR(16, B, B, X)
VSLL_IMM(8, B, B, D)
VSLL_IMM(16, B, B, X)
VSRA_IMM(8, B, B, D)
VSRA_IMM(16, B, B, X)
VSRL_IMM(8, B, B, D)
VSRL_IMM(16, B, B, X)
VSLL(4, S, H, D)
VSLL(8, S, H, X)
VSRA(4, S, H, D)
VSRA_VAR(4, S, H, D)
VSRA(8, S, H, X)
VSRA_VAR(8, S, H, X)
VSRL(4, S, H, D)
VSRL_VAR(4, S, H, D)
VSRL(8, S, H, X)
VSRL_VAR(8, S, H, X)
VSLL_IMM(4, S, H, D)
VSLL_IMM(8, S, H, X)
VSRA_IMM(4, S, H, D)
VSRA_IMM(8, S, H, X)
VSRL_IMM(4, S, H, D)
VSRL_IMM(8, S, H, X)
VSLL(2, I, S, D)
VSLL(4, I, S, X)
VSRA(2, I, S, D)
VSRA_VAR(2, I, S, D)
VSRA(4, I, S, X)
VSRA_VAR(4, I, S, X)
VSRL(2, I, S, D)
VSRL_VAR(2, I, S, D)
VSRL(4, I, S, X)
VSRL_VAR(4, I, S, X)
VSLL_IMM(2, I, S, D)
VSLL_IMM(4, I, S, X)
VSRA_IMM(2, I, S, D)
VSRA_IMM(4, I, S, X)
VSRL_IMM(2, I, S, D)
VSRL_IMM(4, I, S, X)
VSLL(2, L, D, X)
VSRA(2, L, D, X)
VSRA_VAR(2, L, D, X)
VSRL(2, L, D, X)
VSRL_VAR(2, L, D, X)
VSLL_IMM(2, L, D, X)
VSRA_IMM(2, L, D, X)
VSRL_IMM(2, L, D, X)
VSRAA_IMM(8, B, B, D)
VSRAA_IMM(16, B, B, X)
VSRAA_IMM(4, S, H, D)
VSRAA_IMM(8, S, H, X)
VSRAA_IMM(2, I, S, D)
VSRAA_IMM(4, I, S, X)
VSRAA_IMM(2, L, D, X)
VSRLA_IMM(8, B, B, D)
VSRLA_IMM(16, B, B, X)
VSRLA_IMM(4, S, H, D)
VSRLA_IMM(8, S, H, X)
VSRLA_IMM(2, I, S, D)
VSRLA_IMM(4, I, S, X)
VSRLA_IMM(2, L, D, X)
dnl
define(`VMINMAX', `
instruct v$1$3`'ifelse($5, S, F, D)`'(vec$6 dst, vec$6 src1, vec$6 src2)

View File

@@ -1,6 +1,6 @@
//
// Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2021, Arm Limited. All rights reserved.
// Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2022, 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
@@ -411,13 +411,13 @@ instruct storeV_masked_partial(vReg src, vmemA mem, pRegGov pg, pRegGov pgtmp, r
ins_pipe(pipe_slow);
%}
// maskAll
// maskAll (full or partial predicate size)
instruct vmaskAll_immI(pRegGov dst, immI src) %{
predicate(UseSVE > 0);
match(Set dst (MaskAll src));
ins_cost(SVE_COST);
format %{ "sve_ptrue/sve_pfalse $dst\t# mask all (sve) (B/H/S)" %}
format %{ "sve_ptrue_lanecnt/sve_pfalse $dst\t# mask all (sve) (B/H/S)" %}
ins_encode %{
int con = (int)$src$$constant;
if (con == 0) {
@@ -425,7 +425,8 @@ instruct vmaskAll_immI(pRegGov dst, immI src) %{
} else {
assert(con == -1, "invalid constant value for mask");
BasicType bt = Matcher::vector_element_basic_type(this);
__ sve_ptrue(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt));
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt),
Matcher::vector_length(this));
}
%}
ins_pipe(pipe_slow);
@@ -435,14 +436,22 @@ instruct vmaskAllI(pRegGov dst, iRegIorL2I src, vReg tmp, rFlagsReg cr) %{
predicate(UseSVE > 0);
match(Set dst (MaskAll src));
effect(TEMP tmp, KILL cr);
ins_cost(2 * SVE_COST);
ins_cost(3 * SVE_COST);
format %{ "sve_dup $tmp, $src\n\t"
"sve_cmpne $dst, $tmp, 0\t# mask all (sve) (B/H/S)" %}
"sve_ptrue_lanecnt $dst\n\t"
"sve_cmpne $dst, $dst, $tmp, 0\t# mask all (sve) (B/H/S)" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this);
Assembler::SIMD_RegVariant size = __ elemType_to_regVariant(bt);
uint length_in_bytes = Matcher::vector_length_in_bytes(this);
__ sve_dup(as_FloatRegister($tmp$$reg), size, as_Register($src$$reg));
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
if (length_in_bytes < MaxVectorSize) {
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), size, Matcher::vector_length(this));
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size,
as_PRegister($dst$$reg), as_FloatRegister($tmp$$reg), 0);
} else {
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
}
%}
ins_pipe(pipe_slow);
%}
@@ -451,7 +460,7 @@ instruct vmaskAll_immL(pRegGov dst, immL src) %{
predicate(UseSVE > 0);
match(Set dst (MaskAll src));
ins_cost(SVE_COST);
format %{ "sve_ptrue/sve_pfalse $dst\t# mask all (sve) (D)" %}
format %{ "sve_ptrue_lanecnt/sve_pfalse $dst\t# mask all (sve) (D)" %}
ins_encode %{
long con = (long)$src$$constant;
if (con == 0) {
@@ -459,7 +468,8 @@ instruct vmaskAll_immL(pRegGov dst, immL src) %{
} else {
assert(con == -1, "invalid constant value for mask");
BasicType bt = Matcher::vector_element_basic_type(this);
__ sve_ptrue(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt));
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt),
Matcher::vector_length(this));
}
%}
ins_pipe(pipe_slow);
@@ -469,14 +479,22 @@ instruct vmaskAllL(pRegGov dst, iRegL src, vReg tmp, rFlagsReg cr) %{
predicate(UseSVE > 0);
match(Set dst (MaskAll src));
effect(TEMP tmp, KILL cr);
ins_cost(2 * SVE_COST);
ins_cost(3 * SVE_COST);
format %{ "sve_dup $tmp, $src\n\t"
"sve_cmpne $dst, $tmp, 0\t# mask all (sve) (D)" %}
"sve_ptrue_lanecnt $dst\n\t"
"sve_cmpne $dst, $dst, $tmp, 0\t# mask all (sve) (D)" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this);
Assembler::SIMD_RegVariant size = __ elemType_to_regVariant(bt);
uint length_in_bytes = Matcher::vector_length_in_bytes(this);
__ sve_dup(as_FloatRegister($tmp$$reg), size, as_Register($src$$reg));
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
if (length_in_bytes < MaxVectorSize) {
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), size, Matcher::vector_length(this));
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size,
as_PRegister($dst$$reg), as_FloatRegister($tmp$$reg), 0);
} else {
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
}
%}
ins_pipe(pipe_slow);
%}
@@ -1270,6 +1288,36 @@ instruct vnotL(vReg dst, vReg src, immL_M1 m1) %{
ins_pipe(pipe_slow);
%}
// vector not - predicated
instruct vnotI_masked(vReg dst, vReg src, immI_M1 m1, pRegGov pg) %{
predicate(UseSVE > 0);
match(Set dst (XorV (Binary src (ReplicateB m1)) pg));
match(Set dst (XorV (Binary src (ReplicateS m1)) pg));
match(Set dst (XorV (Binary src (ReplicateI m1)) pg));
ins_cost(SVE_COST);
format %{ "sve_not $dst, $pg, $src\t# vector (sve) B/H/S" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this);
__ sve_not(as_FloatRegister($dst$$reg), __ elemType_to_regVariant(bt),
as_PRegister($pg$$reg), as_FloatRegister($src$$reg));
%}
ins_pipe(pipe_slow);
%}
instruct vnotL_masked(vReg dst, vReg src, immL_M1 m1, pRegGov pg) %{
predicate(UseSVE > 0);
match(Set dst (XorV (Binary src (ReplicateL m1)) pg));
ins_cost(SVE_COST);
format %{ "sve_not $dst, $pg, $src\t# vector (sve) D" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this);
__ sve_not(as_FloatRegister($dst$$reg), __ elemType_to_regVariant(bt),
as_PRegister($pg$$reg), as_FloatRegister($src$$reg));
%}
ins_pipe(pipe_slow);
%}
// vector and_not
instruct vand_notI(vReg dst, vReg src1, vReg src2, immI_M1 m1) %{
@@ -1300,6 +1348,36 @@ instruct vand_notL(vReg dst, vReg src1, vReg src2, immL_M1 m1) %{
ins_pipe(pipe_slow);
%}
// vector and_not - predicated
instruct vand_notI_masked(vReg dst_src1, vReg src2, immI_M1 m1, pRegGov pg) %{
predicate(UseSVE > 0);
match(Set dst_src1 (AndV (Binary dst_src1 (XorV src2 (ReplicateB m1))) pg));
match(Set dst_src1 (AndV (Binary dst_src1 (XorV src2 (ReplicateS m1))) pg));
match(Set dst_src1 (AndV (Binary dst_src1 (XorV src2 (ReplicateI m1))) pg));
ins_cost(SVE_COST);
format %{ "sve_bic $dst_src1, $pg, $dst_src1, $src2\t# vector (sve) B/H/S" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this);
__ sve_bic(as_FloatRegister($dst_src1$$reg), __ elemType_to_regVariant(bt),
as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
%}
ins_pipe(pipe_slow);
%}
instruct vand_notL_masked(vReg dst_src1, vReg src2, immL_M1 m1, pRegGov pg) %{
predicate(UseSVE > 0);
match(Set dst_src1 (AndV (Binary dst_src1 (XorV src2 (ReplicateL m1))) pg));
ins_cost(SVE_COST);
format %{ "sve_bic $dst_src1, $pg, $dst_src1, $src2\t# vector (sve) D" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this);
__ sve_bic(as_FloatRegister($dst_src1$$reg), __ elemType_to_regVariant(bt),
as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
%}
ins_pipe(pipe_slow);
%}
// vector float div
instruct vdivF(vReg dst_src1, vReg src2) %{
@@ -3084,6 +3162,7 @@ instruct reduce_maxF_masked(vRegF dst, vRegF src1, vReg src2, pRegGov pg) %{
n->in(1)->in(2)->bottom_type()->is_vect()->length_in_bytes() == MaxVectorSize);
match(Set dst (MaxReductionV (Binary src1 src2) pg));
ins_cost(SVE_COST);
effect(TEMP_DEF dst);
format %{ "sve_reduce_maxF $dst, $src1, $pg, $src2\t# maxF reduction predicated (sve)" %}
ins_encode %{
__ sve_fmaxv(as_FloatRegister($dst$$reg), __ S, as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
@@ -3098,6 +3177,7 @@ instruct reduce_maxD_masked(vRegD dst, vRegD src1, vReg src2, pRegGov pg) %{
n->in(1)->in(2)->bottom_type()->is_vect()->length_in_bytes() == MaxVectorSize);
match(Set dst (MaxReductionV (Binary src1 src2) pg));
ins_cost(SVE_COST);
effect(TEMP_DEF dst);
format %{ "sve_reduce_maxD $dst, $src1, $pg, $src2\t# maxD reduction predicated (sve)" %}
ins_encode %{
__ sve_fmaxv(as_FloatRegister($dst$$reg), __ D, as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
@@ -3380,6 +3460,7 @@ instruct reduce_minF_masked(vRegF dst, vRegF src1, vReg src2, pRegGov pg) %{
n->in(1)->in(2)->bottom_type()->is_vect()->length_in_bytes() == MaxVectorSize);
match(Set dst (MinReductionV (Binary src1 src2) pg));
ins_cost(SVE_COST);
effect(TEMP_DEF dst);
format %{ "sve_reduce_minF $dst, $src1, $pg, $src2\t# minF reduction predicated (sve)" %}
ins_encode %{
__ sve_fminv(as_FloatRegister($dst$$reg), __ S, as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
@@ -3394,6 +3475,7 @@ instruct reduce_minD_masked(vRegD dst, vRegD src1, vReg src2, pRegGov pg) %{
n->in(1)->in(2)->bottom_type()->is_vect()->length_in_bytes() == MaxVectorSize);
match(Set dst (MinReductionV (Binary src1 src2) pg));
ins_cost(SVE_COST);
effect(TEMP_DEF dst);
format %{ "sve_reduce_minD $dst, $src1, $pg, $src2\t# minD reduction predicated (sve)" %}
ins_encode %{
__ sve_fminv(as_FloatRegister($dst$$reg), __ D, as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
@@ -5551,105 +5633,6 @@ instruct stringU_indexof_char_sve(iRegP_R1 str1, iRegI_R2 cnt1, iRegI_R3 ch,
ins_pipe(pipe_class_memory);
%}
// Intrisics for String.compareTo()
// Note that Z registers alias the corresponding NEON registers, we declare the vector operands of
// these string_compare variants as NEON register type for convenience so that the prototype of
// string_compare can be shared with all variants.
instruct string_compareLL_sve(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 cnt2,
iRegI_R0 result, iRegP_R10 tmp1, iRegL_R11 tmp2,
vRegD_V0 vtmp1, vRegD_V1 vtmp2, pRegGov_P0 pgtmp1,
pRegGov_P1 pgtmp2, rFlagsReg cr)
%{
predicate((UseSVE > 0) && (((StrCompNode*)n)->encoding() == StrIntrinsicNode::LL));
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
effect(TEMP tmp1, TEMP tmp2, TEMP vtmp1, TEMP vtmp2, TEMP pgtmp1, TEMP pgtmp2,
USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr);
format %{ "String Compare $str1,$cnt1,$str2,$cnt2 -> $result # USE sve" %}
ins_encode %{
// Count is in 8-bit bytes; non-Compact chars are 16 bits.
__ string_compare($str1$$Register, $str2$$Register,
$cnt1$$Register, $cnt2$$Register, $result$$Register,
$tmp1$$Register, $tmp2$$Register,
$vtmp1$$FloatRegister, $vtmp2$$FloatRegister, fnoreg,
as_PRegister($pgtmp1$$reg), as_PRegister($pgtmp2$$reg),
StrIntrinsicNode::LL);
%}
ins_pipe(pipe_class_memory);
%}
instruct string_compareLU_sve(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 cnt2,
iRegI_R0 result, iRegP_R10 tmp1, iRegL_R11 tmp2,
vRegD_V0 vtmp1, vRegD_V1 vtmp2, pRegGov_P0 pgtmp1,
pRegGov_P1 pgtmp2, rFlagsReg cr)
%{
predicate((UseSVE > 0) && (((StrCompNode*)n)->encoding() == StrIntrinsicNode::LU));
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
effect(TEMP tmp1, TEMP tmp2, TEMP vtmp1, TEMP vtmp2, TEMP pgtmp1, TEMP pgtmp2,
USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr);
format %{ "String Compare $str1,$cnt1,$str2,$cnt2 -> $result # USE sve" %}
ins_encode %{
// Count is in 8-bit bytes; non-Compact chars are 16 bits.
__ string_compare($str1$$Register, $str2$$Register,
$cnt1$$Register, $cnt2$$Register, $result$$Register,
$tmp1$$Register, $tmp2$$Register,
$vtmp1$$FloatRegister, $vtmp2$$FloatRegister, fnoreg,
as_PRegister($pgtmp1$$reg), as_PRegister($pgtmp2$$reg),
StrIntrinsicNode::LU);
%}
ins_pipe(pipe_class_memory);
%}
instruct string_compareUL_sve(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 cnt2,
iRegI_R0 result, iRegP_R10 tmp1, iRegL_R11 tmp2,
vRegD_V0 vtmp1, vRegD_V1 vtmp2, pRegGov_P0 pgtmp1,
pRegGov_P1 pgtmp2, rFlagsReg cr)
%{
predicate((UseSVE > 0) && (((StrCompNode*)n)->encoding() == StrIntrinsicNode::UL));
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
effect(TEMP tmp1, TEMP tmp2, TEMP vtmp1, TEMP vtmp2, TEMP pgtmp1, TEMP pgtmp2,
USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr);
format %{ "String Compare $str1,$cnt1,$str2,$cnt2 -> $result # USE sve" %}
ins_encode %{
// Count is in 8-bit bytes; non-Compact chars are 16 bits.
__ string_compare($str1$$Register, $str2$$Register,
$cnt1$$Register, $cnt2$$Register, $result$$Register,
$tmp1$$Register, $tmp2$$Register,
$vtmp1$$FloatRegister, $vtmp2$$FloatRegister, fnoreg,
as_PRegister($pgtmp1$$reg), as_PRegister($pgtmp2$$reg),
StrIntrinsicNode::UL);
%}
ins_pipe(pipe_class_memory);
%}
instruct string_compareUU_sve(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 cnt2,
iRegI_R0 result, iRegP_R10 tmp1, iRegL_R11 tmp2,
vRegD_V0 vtmp1, vRegD_V1 vtmp2, pRegGov_P0 pgtmp1,
pRegGov_P1 pgtmp2, rFlagsReg cr)
%{
predicate((UseSVE > 0) && (((StrCompNode*)n)->encoding() == StrIntrinsicNode::UU));
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
effect(TEMP tmp1, TEMP tmp2, TEMP vtmp1, TEMP vtmp2, TEMP pgtmp1, TEMP pgtmp2,
USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr);
format %{ "String Compare $str1,$cnt1,$str2,$cnt2 -> $result # USE sve" %}
ins_encode %{
// Count is in 8-bit bytes; non-Compact chars are 16 bits.
__ string_compare($str1$$Register, $str2$$Register,
$cnt1$$Register, $cnt2$$Register, $result$$Register,
$tmp1$$Register, $tmp2$$Register,
$vtmp1$$FloatRegister, $vtmp2$$FloatRegister, fnoreg,
as_PRegister($pgtmp1$$reg), as_PRegister($pgtmp2$$reg),
StrIntrinsicNode::UU);
%}
ins_pipe(pipe_class_memory);
%}
// ---------------------------- Vector mask reductions ---------------------------
instruct vmask_truecount(iRegINoSp dst, pReg src) %{
predicate(UseSVE > 0 &&

View File

@@ -1,6 +1,6 @@
//
// Copyright (c) 2020, 2021, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2021, Arm Limited. All rights reserved.
// Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved.
// Copyright (c) 2020, 2022, 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
@@ -356,7 +356,7 @@ instruct vmaskAll_imm$1(pRegGov dst, imm$1 src) %{
predicate(UseSVE > 0);
match(Set dst (MaskAll src));
ins_cost(SVE_COST);
format %{ "sve_ptrue/sve_pfalse $dst\t# mask all (sve) ($2)" %}
format %{ "sve_ptrue_lanecnt/sve_pfalse $dst\t# mask all (sve) ($2)" %}
ins_encode %{
ifelse($1, `I', int, long) con = (ifelse($1, `I', int, long))$src$$constant;
if (con == 0) {
@@ -364,7 +364,8 @@ instruct vmaskAll_imm$1(pRegGov dst, imm$1 src) %{
} else {
assert(con == -1, "invalid constant value for mask");
BasicType bt = Matcher::vector_element_basic_type(this);
__ sve_ptrue(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt));
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), __ elemType_to_regVariant(bt),
Matcher::vector_length(this));
}
%}
ins_pipe(pipe_slow);
@@ -377,19 +378,27 @@ instruct vmaskAll$1(pRegGov dst, ifelse($1, `I', iRegIorL2I, iRegL) src, vReg tm
predicate(UseSVE > 0);
match(Set dst (MaskAll src));
effect(TEMP tmp, KILL cr);
ins_cost(2 * SVE_COST);
ins_cost(3 * SVE_COST);
format %{ "sve_dup $tmp, $src\n\t"
"sve_cmpne $dst, $tmp, 0\t# mask all (sve) ($2)" %}
"sve_ptrue_lanecnt $dst\n\t"
"sve_cmpne $dst, $dst, $tmp, 0\t# mask all (sve) ($2)" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this);
Assembler::SIMD_RegVariant size = __ elemType_to_regVariant(bt);
uint length_in_bytes = Matcher::vector_length_in_bytes(this);
__ sve_dup(as_FloatRegister($tmp$$reg), size, as_Register($src$$reg));
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
if (length_in_bytes < MaxVectorSize) {
__ sve_ptrue_lanecnt(as_PRegister($dst$$reg), size, Matcher::vector_length(this));
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size,
as_PRegister($dst$$reg), as_FloatRegister($tmp$$reg), 0);
} else {
__ sve_cmp(Assembler::NE, as_PRegister($dst$$reg), size, ptrue, as_FloatRegister($tmp$$reg), 0);
}
%}
ins_pipe(pipe_slow);
%}')dnl
dnl
// maskAll
// maskAll (full or partial predicate size)
MASKALL_IMM(I, B/H/S)
MASKALL(I, B/H/S)
MASKALL_IMM(L, D)
@@ -736,6 +745,32 @@ VECTOR_NOT(I, B/H/S)
VECTOR_NOT(L, D)
undefine(MATCH_RULE)
dnl
// vector not - predicated
dnl
define(`MATCH_RULE', `ifelse($1, I,
`match(Set dst (XorV (Binary src (ReplicateB m1)) pg));
match(Set dst (XorV (Binary src (ReplicateS m1)) pg));
match(Set dst (XorV (Binary src (ReplicateI m1)) pg));',
`match(Set dst (XorV (Binary src (ReplicateL m1)) pg));')')dnl
dnl
define(`VECTOR_NOT_PREDICATE', `
instruct vnot$1_masked`'(vReg dst, vReg src, imm$1_M1 m1, pRegGov pg) %{
predicate(UseSVE > 0);
MATCH_RULE($1)
ins_cost(SVE_COST);
format %{ "sve_not $dst, $pg, $src\t# vector (sve) $2" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this);
__ sve_not(as_FloatRegister($dst$$reg), __ elemType_to_regVariant(bt),
as_PRegister($pg$$reg), as_FloatRegister($src$$reg));
%}
ins_pipe(pipe_slow);
%}')dnl
dnl $1, $2
VECTOR_NOT_PREDICATE(I, B/H/S)
VECTOR_NOT_PREDICATE(L, D)
undefine(MATCH_RULE)
dnl
// vector and_not
dnl
define(`MATCH_RULE', `ifelse($1, I,
@@ -762,6 +797,32 @@ VECTOR_AND_NOT(I, B/H/S)
VECTOR_AND_NOT(L, D)
undefine(MATCH_RULE)
dnl
// vector and_not - predicated
dnl
define(`MATCH_RULE', `ifelse($1, I,
`match(Set dst_src1 (AndV (Binary dst_src1 (XorV src2 (ReplicateB m1))) pg));
match(Set dst_src1 (AndV (Binary dst_src1 (XorV src2 (ReplicateS m1))) pg));
match(Set dst_src1 (AndV (Binary dst_src1 (XorV src2 (ReplicateI m1))) pg));',
`match(Set dst_src1 (AndV (Binary dst_src1 (XorV src2 (ReplicateL m1))) pg));')')dnl
dnl
define(`VECTOR_AND_NOT_PREDICATE', `
instruct vand_not$1_masked`'(vReg dst_src1, vReg src2, imm$1_M1 m1, pRegGov pg) %{
predicate(UseSVE > 0);
MATCH_RULE($1)
ins_cost(SVE_COST);
format %{ "sve_bic $dst_src1, $pg, $dst_src1, $src2\t# vector (sve) $2" %}
ins_encode %{
BasicType bt = Matcher::vector_element_basic_type(this);
__ sve_bic(as_FloatRegister($dst_src1$$reg), __ elemType_to_regVariant(bt),
as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
%}
ins_pipe(pipe_slow);
%}')dnl
dnl $1, $2
VECTOR_AND_NOT_PREDICATE(I, B/H/S)
VECTOR_AND_NOT_PREDICATE(L, D)
undefine(MATCH_RULE)
dnl
dnl VDIVF($1, $2 , $3 )
dnl VDIVF(name_suffix, size, min_vec_len)
define(`VDIVF', `
@@ -1807,6 +1868,7 @@ instruct reduce_$1$2_masked($5 dst, $5 src1, vReg src2, pRegGov pg) %{
n->in(1)->in(2)->bottom_type()->is_vect()->length_in_bytes() == MaxVectorSize);
match(Set dst (translit($1, `m', `M')ReductionV (Binary src1 src2) pg));
ins_cost(SVE_COST);
effect(TEMP_DEF dst);
format %{ "sve_reduce_$1$2 $dst, $src1, $pg, $src2\t# $1$2 reduction predicated (sve)" %}
ins_encode %{
__ sve_f$1v(as_FloatRegister($dst$$reg), __ $4, as_PRegister($pg$$reg), as_FloatRegister($src2$$reg));
@@ -3044,42 +3106,6 @@ dnl $1 $2 $3
STRING_INDEXOF_CHAR(L, Latin1, true)
STRING_INDEXOF_CHAR(U, UTF16, false)
// Intrisics for String.compareTo()
// Note that Z registers alias the corresponding NEON registers, we declare the vector operands of
// these string_compare variants as NEON register type for convenience so that the prototype of
// string_compare can be shared with all variants.
dnl
define(`STRING_COMPARETO', `
instruct string_compare$1_sve(iRegP_R1 str1, iRegI_R2 cnt1, iRegP_R3 str2, iRegI_R4 cnt2,
iRegI_R0 result, iRegP_R10 tmp1, iRegL_R11 tmp2,
vRegD_V0 vtmp1, vRegD_V1 vtmp2, pRegGov_P0 pgtmp1,
pRegGov_P1 pgtmp2, rFlagsReg cr)
%{
predicate((UseSVE > 0) && (((StrCompNode*)n)->encoding() == StrIntrinsicNode::$1));
match(Set result (StrComp (Binary str1 cnt1) (Binary str2 cnt2)));
effect(TEMP tmp1, TEMP tmp2, TEMP vtmp1, TEMP vtmp2, TEMP pgtmp1, TEMP pgtmp2,
USE_KILL str1, USE_KILL str2, USE_KILL cnt1, USE_KILL cnt2, KILL cr);
format %{ "String Compare $str1,$cnt1,$str2,$cnt2 -> $result # USE sve" %}
ins_encode %{
// Count is in 8-bit bytes; non-Compact chars are 16 bits.
__ string_compare($str1$$Register, $str2$$Register,
$cnt1$$Register, $cnt2$$Register, $result$$Register,
$tmp1$$Register, $tmp2$$Register,
$vtmp1$$FloatRegister, $vtmp2$$FloatRegister, fnoreg,
as_PRegister($pgtmp1$$reg), as_PRegister($pgtmp2$$reg),
StrIntrinsicNode::$1);
%}
ins_pipe(pipe_class_memory);
%}')dnl
dnl $1
STRING_COMPARETO(LL)
STRING_COMPARETO(LU)
STRING_COMPARETO(UL)
STRING_COMPARETO(UU)
// ---------------------------- Vector mask reductions ---------------------------
instruct vmask_truecount(iRegINoSp dst, pReg src) %{
predicate(UseSVE > 0 &&

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2022, 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.
*
@@ -27,6 +27,7 @@
#define CPU_AARCH64_ASSEMBLER_AARCH64_HPP
#include "asm/register.hpp"
#include "metaprogramming/enableIf.hpp"
#ifdef __GNUC__
@@ -404,18 +405,11 @@ class Address {
: _mode(no_mode) { }
Address(Register r)
: _base(r), _index(noreg), _offset(0), _mode(base_plus_offset), _target(0) { }
Address(Register r, int o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, long o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, long long o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, unsigned int o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, unsigned long o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
Address(Register r, unsigned long long o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) { }
template<typename T, ENABLE_IF(std::is_integral<T>::value)>
Address(Register r, T o)
: _base(r), _index(noreg), _offset(o), _mode(base_plus_offset), _target(0) {}
Address(Register r, ByteSize disp)
: Address(r, in_bytes(disp)) { }
Address(Register r, Register r1, extend ext = lsl())
@@ -993,33 +987,35 @@ public:
rf(rt, 0);
}
void hint(int imm) {
system(0b00, 0b011, 0b0010, 0b0000, imm);
// Hint instructions
#define INSN(NAME, crm, op2) \
void NAME() { \
system(0b00, 0b011, 0b0010, crm, op2); \
}
void nop() {
hint(0);
}
INSN(nop, 0b000, 0b0000);
INSN(yield, 0b000, 0b0001);
INSN(wfe, 0b000, 0b0010);
INSN(wfi, 0b000, 0b0011);
INSN(sev, 0b000, 0b0100);
INSN(sevl, 0b000, 0b0101);
void yield() {
hint(1);
}
INSN(autia1716, 0b0001, 0b100);
INSN(autiasp, 0b0011, 0b101);
INSN(autiaz, 0b0011, 0b100);
INSN(autib1716, 0b0001, 0b110);
INSN(autibsp, 0b0011, 0b111);
INSN(autibz, 0b0011, 0b110);
INSN(pacia1716, 0b0001, 0b000);
INSN(paciasp, 0b0011, 0b001);
INSN(paciaz, 0b0011, 0b000);
INSN(pacib1716, 0b0001, 0b010);
INSN(pacibsp, 0b0011, 0b011);
INSN(pacibz, 0b0011, 0b010);
INSN(xpaclri, 0b0000, 0b111);
void wfe() {
hint(2);
}
void wfi() {
hint(3);
}
void sev() {
hint(4);
}
void sevl() {
hint(5);
}
#undef INSN
// we only provide mrs and msr for the special purpose system
// registers where op1 (instr[20:19]) == 11 and, (currently) only
@@ -1105,18 +1101,21 @@ public:
}
// Unconditional branch (register)
void branch_reg(Register R, int opc) {
void branch_reg(int OP, int A, int M, Register RN, Register RM) {
starti;
f(0b1101011, 31, 25);
f(opc, 24, 21);
f(0b11111000000, 20, 10);
rf(R, 5);
f(0b00000, 4, 0);
f(OP, 24, 21);
f(0b111110000, 20, 12);
f(A, 11, 11);
f(M, 10, 10);
rf(RN, 5);
rf(RM, 0);
}
#define INSN(NAME, opc) \
void NAME(Register R) { \
branch_reg(R, opc); \
#define INSN(NAME, opc) \
void NAME(Register RN) { \
branch_reg(opc, 0, 0, RN, r0); \
}
INSN(br, 0b0000);
@@ -1127,14 +1126,48 @@ public:
#undef INSN
#define INSN(NAME, opc) \
void NAME() { \
branch_reg(dummy_reg, opc); \
#define INSN(NAME, opc) \
void NAME() { \
branch_reg(opc, 0, 0, dummy_reg, r0); \
}
INSN(eret, 0b0100);
INSN(drps, 0b0101);
#undef INSN
#define INSN(NAME, M) \
void NAME() { \
branch_reg(0b0010, 1, M, dummy_reg, dummy_reg); \
}
INSN(retaa, 0);
INSN(retab, 1);
#undef INSN
#define INSN(NAME, OP, M) \
void NAME(Register rn) { \
branch_reg(OP, 1, M, rn, dummy_reg); \
}
INSN(braaz, 0b0000, 0);
INSN(brabz, 0b0000, 1);
INSN(blraaz, 0b0001, 0);
INSN(blrabz, 0b0001, 1);
#undef INSN
#define INSN(NAME, OP, M) \
void NAME(Register rn, Register rm) { \
branch_reg(OP, 1, M, rn, rm); \
}
INSN(braa, 0b1000, 0);
INSN(brab, 0b1000, 1);
INSN(blraa, 0b1001, 0);
INSN(blrab, 0b1001, 1);
#undef INSN
// Load/store exclusive
@@ -1726,7 +1759,7 @@ void mvnw(Register Rd, Register Rm,
#define INSN(NAME, op) \
void NAME(Register Rn, Register Rm, int imm, Condition cond) { \
int regNumber = (Rm == zr ? 31 : (uintptr_t)Rm); \
int regNumber = (Rm == zr ? 31 : Rm->encoding()); \
conditional_compare(op, 0, 0, 0, Rn, regNumber, imm, cond); \
} \
\
@@ -1798,6 +1831,37 @@ void mvnw(Register Rd, Register Rm,
INSN(clz, 0b110, 0b00000, 0b00100);
INSN(cls, 0b110, 0b00000, 0b00101);
// PAC instructions
INSN(pacia, 0b110, 0b00001, 0b00000);
INSN(pacib, 0b110, 0b00001, 0b00001);
INSN(pacda, 0b110, 0b00001, 0b00010);
INSN(pacdb, 0b110, 0b00001, 0b00011);
INSN(autia, 0b110, 0b00001, 0b00100);
INSN(autib, 0b110, 0b00001, 0b00101);
INSN(autda, 0b110, 0b00001, 0b00110);
INSN(autdb, 0b110, 0b00001, 0b00111);
#undef INSN
#define INSN(NAME, op29, opcode2, opcode) \
void NAME(Register Rd) { \
starti; \
f(opcode2, 20, 16); \
data_processing(current_insn, op29, opcode, Rd, dummy_reg); \
}
// PAC instructions (with zero modifier)
INSN(paciza, 0b110, 0b00001, 0b01000);
INSN(pacizb, 0b110, 0b00001, 0b01001);
INSN(pacdza, 0b110, 0b00001, 0b01010);
INSN(pacdzb, 0b110, 0b00001, 0b01011);
INSN(autiza, 0b110, 0b00001, 0b01100);
INSN(autizb, 0b110, 0b00001, 0b01101);
INSN(autdza, 0b110, 0b00001, 0b01110);
INSN(autdzb, 0b110, 0b00001, 0b01111);
INSN(xpaci, 0b110, 0b00001, 0b10000);
INSN(xpacd, 0b110, 0b00001, 0b10001);
#undef INSN
// (2 sources)
@@ -2424,6 +2488,12 @@ public:
INSN(cnt, 0, 0b100000010110, 0); // accepted arrangements: T8B, T16B
INSN(uaddlp, 1, 0b100000001010, 2); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S
INSN(uaddlv, 1, 0b110000001110, 1); // accepted arrangements: T8B, T16B, T4H, T8H, T4S
// Zero compare.
INSN(cmeq, 0, 0b100000100110, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
INSN(cmge, 1, 0b100000100010, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
INSN(cmgt, 0, 0b100000100010, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
INSN(cmle, 1, 0b100000100110, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
INSN(cmlt, 0, 0b100000101010, 3); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D
#undef INSN
@@ -3045,6 +3115,7 @@ public:
INSN(sve_and, 0b00000100, 0b011010000); // vector and
INSN(sve_andv, 0b00000100, 0b011010001); // bitwise and reduction to scalar
INSN(sve_asr, 0b00000100, 0b010000100); // vector arithmetic shift right
INSN(sve_bic, 0b00000100, 0b011011000); // vector bitwise clear
INSN(sve_cnt, 0b00000100, 0b011010101); // count non-zero bits
INSN(sve_cpy, 0b00000101, 0b100000100); // copy scalar to each active vector element
INSN(sve_eor, 0b00000100, 0b011001000); // vector eor

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 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.
*
@@ -26,7 +26,7 @@
#ifndef CPU_AARCH64_BYTES_AARCH64_HPP
#define CPU_AARCH64_BYTES_AARCH64_HPP
#include "memory/allocation.hpp"
#include "memory/allStatic.hpp"
class Bytes: AllStatic {
public:

View File

@@ -148,7 +148,7 @@ LIR_Address* LIRGenerator::generate_address(LIR_Opr base, LIR_Opr index,
if (index->is_constant()) {
LIR_Const *constant = index->as_constant_ptr();
if (constant->type() == T_INT) {
large_disp += index->as_jint() << shift;
large_disp += ((intx)index->as_jint()) << shift;
} else {
assert(constant->type() == T_LONG, "should be");
jlong c = index->as_jlong() << shift;
@@ -194,7 +194,7 @@ LIR_Address* LIRGenerator::generate_address(LIR_Opr base, LIR_Opr index,
if (large_disp == 0 && index->is_register()) {
return new LIR_Address(base, index, type);
} else {
assert(Address::offset_ok_for_immed(large_disp, 0), "must be");
assert(Address::offset_ok_for_immed(large_disp, shift), "failed for large_disp: " INTPTR_FORMAT " and shift %d", large_disp, shift);
return new LIR_Address(base, large_disp, type);
}
}
@@ -204,24 +204,7 @@ LIR_Address* LIRGenerator::emit_array_address(LIR_Opr array_opr, LIR_Opr index_o
int offset_in_bytes = arrayOopDesc::base_offset_in_bytes(type);
int elem_size = type2aelembytes(type);
int shift = exact_log2(elem_size);
LIR_Address* addr;
if (index_opr->is_constant()) {
addr = new LIR_Address(array_opr,
offset_in_bytes + (intx)(index_opr->as_jint()) * elem_size, type);
} else {
if (offset_in_bytes) {
LIR_Opr tmp = new_pointer_register();
__ add(array_opr, LIR_OprFact::intConst(offset_in_bytes), tmp);
array_opr = tmp;
offset_in_bytes = 0;
}
addr = new LIR_Address(array_opr,
index_opr,
LIR_Address::scale(type),
offset_in_bytes, type);
}
return addr;
return generate_address(array_opr, index_opr, shift, offset_in_bytes, type);
}
LIR_Opr LIRGenerator::load_immediate(int x, BasicType type) {

View File

@@ -304,7 +304,7 @@ void C1_MacroAssembler::remove_frame(int framesize) {
}
void C1_MacroAssembler::verified_entry() {
void C1_MacroAssembler::verified_entry(bool breakAtEntry) {
// If we have to make this method not-entrant we'll overwrite its
// first instruction with a jump. For this action to be legal we
// must ensure that this first instruction is a B, BL, NOP, BKPT,

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 2022, 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.
*
@@ -385,6 +385,7 @@ OopMapSet* Runtime1::generate_handle_exception(StubID id, StubAssembler *sasm) {
// load issuing PC (the return address for this stub) into r3
__ ldr(exception_pc, Address(rfp, 1*BytesPerWord));
__ authenticate_return_address(exception_pc, rscratch1);
// make sure that the vm_results are cleared (may be unnecessary)
__ str(zr, Address(rthread, JavaThread::vm_result_offset()));
@@ -433,6 +434,7 @@ OopMapSet* Runtime1::generate_handle_exception(StubID id, StubAssembler *sasm) {
__ str(exception_pc, Address(rthread, JavaThread::exception_pc_offset()));
// patch throwing pc into return address (has bci & oop map)
__ protect_return_address(exception_pc, rscratch1);
__ str(exception_pc, Address(rfp, 1*BytesPerWord));
// compute the exception handler.
@@ -448,6 +450,7 @@ OopMapSet* Runtime1::generate_handle_exception(StubID id, StubAssembler *sasm) {
__ invalidate_registers(false, true, true, true, true, true);
// patch the return address, this stub will directly return to the exception handler
__ protect_return_address(r0, rscratch1);
__ str(r0, Address(rfp, 1*BytesPerWord));
switch (id) {
@@ -496,10 +499,12 @@ void Runtime1::generate_unwind_exception(StubAssembler *sasm) {
// Save our return address because
// exception_handler_for_return_address will destroy it. We also
// save exception_oop
__ mov(r3, lr);
__ protect_return_address();
__ stp(lr, exception_oop, Address(__ pre(sp, -2 * wordSize)));
// search the exception handler address of the caller (using the return address)
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), rthread, lr);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), rthread, r3);
// r0: exception handler address of the caller
// Only R0 is valid at this time; all other registers have been
@@ -512,6 +517,7 @@ void Runtime1::generate_unwind_exception(StubAssembler *sasm) {
// get throwing pc (= return address).
// lr has been destroyed by the call
__ ldp(lr, exception_oop, Address(__ post(sp, 2 * wordSize)));
__ authenticate_return_address();
__ mov(r3, lr);
__ verify_not_null_oop(exception_oop);

View File

@@ -676,8 +676,7 @@ void C2_MacroAssembler::stringL_indexof_char(Register str1, Register cnt1,
// Compare strings.
void C2_MacroAssembler::string_compare(Register str1, Register str2,
Register cnt1, Register cnt2, Register result, Register tmp1, Register tmp2,
FloatRegister vtmp1, FloatRegister vtmp2, FloatRegister vtmp3,
PRegister pgtmp1, PRegister pgtmp2, int ae) {
FloatRegister vtmp1, FloatRegister vtmp2, FloatRegister vtmp3, int ae) {
Label DONE, SHORT_LOOP, SHORT_STRING, SHORT_LAST, TAIL, STUB,
DIFF, NEXT_WORD, SHORT_LOOP_TAIL, SHORT_LAST2, SHORT_LAST_INIT,
SHORT_LOOP_START, TAIL_CHECK;
@@ -1232,3 +1231,39 @@ void C2_MacroAssembler::sve_reduce_integral(int opc, Register dst, BasicType bt,
}
}
}
// Set elements of the dst predicate to true if the element number is
// in the range of [0, lane_cnt), or to false otherwise.
void C2_MacroAssembler::sve_ptrue_lanecnt(PRegister dst, SIMD_RegVariant size, int lane_cnt) {
assert(size != Q, "invalid size");
switch(lane_cnt) {
case 1: /* VL1 */
case 2: /* VL2 */
case 3: /* VL3 */
case 4: /* VL4 */
case 5: /* VL5 */
case 6: /* VL6 */
case 7: /* VL7 */
case 8: /* VL8 */
sve_ptrue(dst, size, lane_cnt);
break;
case 16:
sve_ptrue(dst, size, /* VL16 */ 0b01001);
break;
case 32:
sve_ptrue(dst, size, /* VL32 */ 0b01010);
break;
case 64:
sve_ptrue(dst, size, /* VL64 */ 0b01011);
break;
case 128:
sve_ptrue(dst, size, /* VL128 */ 0b01100);
break;
case 256:
sve_ptrue(dst, size, /* VL256 */ 0b01101);
break;
default:
assert(false, "unsupported");
ShouldNotReachHere();
}
}

View File

@@ -32,8 +32,7 @@
void string_compare(Register str1, Register str2,
Register cnt1, Register cnt2, Register result,
Register tmp1, Register tmp2, FloatRegister vtmp1,
FloatRegister vtmp2, FloatRegister vtmp3,
PRegister pgtmp1, PRegister pgtmp2, int ae);
FloatRegister vtmp2, FloatRegister vtmp3, int ae);
void string_indexof(Register str1, Register str2,
Register cnt1, Register cnt2,
@@ -88,6 +87,10 @@
void sve_reduce_integral(int opc, Register dst, BasicType bt, Register src1,
FloatRegister src2, PRegister pg, FloatRegister tmp);
// Set elements of the dst predicate to true if the element number is
// in the range of [0, lane_cnt), or to false otherwise.
void sve_ptrue_lanecnt(PRegister dst, SIMD_RegVariant size, int lane_cnt);
// Generate predicate through whilelo, by comparing ZR with an unsigned
// immediate. rscratch1 will be clobbered.
inline void sve_whilelo_zr_imm(PRegister pd, SIMD_RegVariant size, uint imm) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 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.
*
@@ -52,4 +52,166 @@ static void pd_zero_to_bytes(void* to, size_t count) {
(void)memset(to, 0, count);
}
#ifndef _WINDOWS
#define COPY_SMALL(from, to, count) \
{ \
long tmp0, tmp1, tmp2, tmp3; \
long tmp4, tmp5, tmp6, tmp7; \
__asm volatile( \
" adr %[t0], 0f;\n" \
" add %[t0], %[t0], %[cnt], lsl #5;\n" \
" br %[t0];\n" \
" .align 5;\n" \
"0:" \
" b 1f;\n" \
" .align 5;\n" \
" ldr %[t0], [%[s], #0];\n" \
" str %[t0], [%[d], #0];\n" \
" b 1f;\n" \
" .align 5;\n" \
" ldp %[t0], %[t1], [%[s], #0];\n" \
" stp %[t0], %[t1], [%[d], #0];\n" \
" b 1f;\n" \
" .align 5;\n" \
" ldp %[t0], %[t1], [%[s], #0];\n" \
" ldr %[t2], [%[s], #16];\n" \
" stp %[t0], %[t1], [%[d], #0];\n" \
" str %[t2], [%[d], #16];\n" \
" b 1f;\n" \
" .align 5;\n" \
" ldp %[t0], %[t1], [%[s], #0];\n" \
" ldp %[t2], %[t3], [%[s], #16];\n" \
" stp %[t0], %[t1], [%[d], #0];\n" \
" stp %[t2], %[t3], [%[d], #16];\n" \
" b 1f;\n" \
" .align 5;\n" \
" ldp %[t0], %[t1], [%[s], #0];\n" \
" ldp %[t2], %[t3], [%[s], #16];\n" \
" ldr %[t4], [%[s], #32];\n" \
" stp %[t0], %[t1], [%[d], #0];\n" \
" stp %[t2], %[t3], [%[d], #16];\n" \
" str %[t4], [%[d], #32];\n" \
" b 1f;\n" \
" .align 5;\n" \
" ldp %[t0], %[t1], [%[s], #0];\n" \
" ldp %[t2], %[t3], [%[s], #16];\n" \
" ldp %[t4], %[t5], [%[s], #32];\n" \
"2:" \
" stp %[t0], %[t1], [%[d], #0];\n" \
" stp %[t2], %[t3], [%[d], #16];\n" \
" stp %[t4], %[t5], [%[d], #32];\n" \
" b 1f;\n" \
" .align 5;\n" \
" ldr %[t6], [%[s], #0];\n" \
" ldp %[t0], %[t1], [%[s], #8];\n" \
" ldp %[t2], %[t3], [%[s], #24];\n" \
" ldp %[t4], %[t5], [%[s], #40];\n" \
" str %[t6], [%[d]], #8;\n" \
" b 2b;\n" \
" .align 5;\n" \
" ldp %[t0], %[t1], [%[s], #0];\n" \
" ldp %[t2], %[t3], [%[s], #16];\n" \
" ldp %[t4], %[t5], [%[s], #32];\n" \
" ldp %[t6], %[t7], [%[s], #48];\n" \
" stp %[t0], %[t1], [%[d], #0];\n" \
" stp %[t2], %[t3], [%[d], #16];\n" \
" stp %[t4], %[t5], [%[d], #32];\n" \
" stp %[t6], %[t7], [%[d], #48];\n" \
"1:" \
\
: [s]"+r"(from), [d]"+r"(to), [cnt]"+r"(count), \
[t0]"=&r"(tmp0), [t1]"=&r"(tmp1), [t2]"=&r"(tmp2), [t3]"=&r"(tmp3), \
[t4]"=&r"(tmp4), [t5]"=&r"(tmp5), [t6]"=&r"(tmp6), [t7]"=&r"(tmp7) \
: \
: "memory", "cc"); \
}
static void pd_conjoint_words(const HeapWord* from, HeapWord* to, size_t count) {
__asm volatile( "prfm pldl1strm, [%[s], #0];" :: [s]"r"(from) : "memory");
if (__builtin_expect(count <= 8, 1)) {
COPY_SMALL(from, to, count);
return;
}
_Copy_conjoint_words(from, to, count);
}
static void pd_disjoint_words(const HeapWord* from, HeapWord* to, size_t count) {
if (__builtin_constant_p(count)) {
memcpy(to, from, count * sizeof(HeapWord));
return;
}
__asm volatile( "prfm pldl1strm, [%[s], #0];" :: [s]"r"(from) : "memory");
if (__builtin_expect(count <= 8, 1)) {
COPY_SMALL(from, to, count);
return;
}
_Copy_disjoint_words(from, to, count);
}
static void pd_disjoint_words_atomic(const HeapWord* from, HeapWord* to, size_t count) {
__asm volatile( "prfm pldl1strm, [%[s], #0];" :: [s]"r"(from) : "memory");
if (__builtin_expect(count <= 8, 1)) {
COPY_SMALL(from, to, count);
return;
}
_Copy_disjoint_words(from, to, count);
}
static void pd_aligned_conjoint_words(const HeapWord* from, HeapWord* to, size_t count) {
pd_conjoint_words(from, to, count);
}
static void pd_aligned_disjoint_words(const HeapWord* from, HeapWord* to, size_t count) {
pd_disjoint_words(from, to, count);
}
static void pd_conjoint_bytes(const void* from, void* to, size_t count) {
(void)memmove(to, from, count);
}
static void pd_conjoint_bytes_atomic(const void* from, void* to, size_t count) {
pd_conjoint_bytes(from, to, count);
}
static void pd_conjoint_jshorts_atomic(const jshort* from, jshort* to, size_t count) {
_Copy_conjoint_jshorts_atomic(from, to, count);
}
static void pd_conjoint_jints_atomic(const jint* from, jint* to, size_t count) {
_Copy_conjoint_jints_atomic(from, to, count);
}
static void pd_conjoint_jlongs_atomic(const jlong* from, jlong* to, size_t count) {
_Copy_conjoint_jlongs_atomic(from, to, count);
}
static void pd_conjoint_oops_atomic(const oop* from, oop* to, size_t count) {
assert(BytesPerLong == BytesPerOop, "jlongs and oops must be the same size");
_Copy_conjoint_jlongs_atomic((const jlong*)from, (jlong*)to, count);
}
static void pd_arrayof_conjoint_bytes(const HeapWord* from, HeapWord* to, size_t count) {
_Copy_arrayof_conjoint_bytes(from, to, count);
}
static void pd_arrayof_conjoint_jshorts(const HeapWord* from, HeapWord* to, size_t count) {
_Copy_arrayof_conjoint_jshorts(from, to, count);
}
static void pd_arrayof_conjoint_jints(const HeapWord* from, HeapWord* to, size_t count) {
_Copy_arrayof_conjoint_jints(from, to, count);
}
static void pd_arrayof_conjoint_jlongs(const HeapWord* from, HeapWord* to, size_t count) {
_Copy_arrayof_conjoint_jlongs(from, to, count);
}
static void pd_arrayof_conjoint_oops(const HeapWord* from, HeapWord* to, size_t count) {
assert(!UseCompressedOops, "foo!");
assert(BytesPerLong == BytesPerOop, "jlongs and oops must be the same size");
_Copy_arrayof_conjoint_jlongs(from, to, count);
}
#endif // _WINDOWS
#endif // CPU_AARCH64_COPY_AARCH64_HPP

View File

@@ -45,7 +45,7 @@ bool ABIDescriptor::is_volatile_reg(FloatRegister reg) const {
const ABIDescriptor ForeignGlobals::parse_abi_descriptor_impl(jobject jabi) const {
oop abi_oop = JNIHandles::resolve_non_null(jabi);
ABIDescriptor abi;
const Register (*to_Register)(int) = as_Register;
constexpr Register (*to_Register)(int) = as_Register;
objArrayOop inputStorage = cast<objArrayOop>(abi_oop->obj_field(ABI.inputStorage_offset));
loadArray(inputStorage, INTEGER_TYPE, abi._integer_argument_registers, to_Register);

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2022, 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.
*
@@ -128,13 +128,13 @@ bool frame::safe_for_sender(JavaThread *thread) {
return false;
}
sender_pc = (address) this->fp()[return_addr_offset];
// for interpreted frames, the value below is the sender "raw" sp,
// which can be different from the sender unextended sp (the sp seen
// by the sender) because of current frame local variables
sender_sp = (intptr_t*) addr_at(sender_sp_offset);
sender_unextended_sp = (intptr_t*) this->fp()[interpreter_frame_sender_sp_offset];
saved_fp = (intptr_t*) this->fp()[link_offset];
sender_pc = pauth_strip_verifiable((address) this->fp()[return_addr_offset], (address)saved_fp);
} else {
// must be some sort of compiled/runtime frame
@@ -151,9 +151,9 @@ bool frame::safe_for_sender(JavaThread *thread) {
return false;
}
sender_unextended_sp = sender_sp;
sender_pc = (address) *(sender_sp-1);
// Note: frame::sender_sp_offset is only valid for compiled frame
saved_fp = (intptr_t*) *(sender_sp - frame::sender_sp_offset);
sender_pc = pauth_strip_verifiable((address) *(sender_sp-1), (address)saved_fp);
}
@@ -268,17 +268,22 @@ bool frame::safe_for_sender(JavaThread *thread) {
void frame::patch_pc(Thread* thread, address pc) {
assert(_cb == CodeCache::find_blob(pc), "unexpected pc");
address* pc_addr = &(((address*) sp())[-1]);
address signing_sp = (((address*) sp())[-2]);
address signed_pc = pauth_sign_return_address(pc, (address)signing_sp);
address pc_old = pauth_strip_verifiable(*pc_addr, (address)signing_sp);
if (TracePcPatching) {
tty->print_cr("patch_pc at address " INTPTR_FORMAT " [" INTPTR_FORMAT " -> " INTPTR_FORMAT "]",
p2i(pc_addr), p2i(*pc_addr), p2i(pc));
tty->print("patch_pc at address " INTPTR_FORMAT " [" INTPTR_FORMAT " -> " INTPTR_FORMAT "]",
p2i(pc_addr), p2i(pc_old), p2i(pc));
if (VM_Version::use_rop_protection()) {
tty->print(" [signed " INTPTR_FORMAT " -> " INTPTR_FORMAT "]", p2i(*pc_addr), p2i(signed_pc));
}
tty->print_cr("");
}
// Only generated code frames should be patched, therefore the return address will not be signed.
assert(pauth_ptr_is_raw(*pc_addr), "cannot be signed");
// Either the return address is the original one or we are going to
// patch in the same address that's already there.
assert(_pc == *pc_addr || pc == *pc_addr, "must be");
*pc_addr = pc;
assert(_pc == pc_old || pc == pc_old, "must be");
*pc_addr = signed_pc;
address original_pc = CompiledMethod::get_deopt_original_pc(this);
if (original_pc != NULL) {
assert(original_pc == _pc, "expected original PC to be stored before patching");
@@ -358,6 +363,7 @@ frame frame::sender_for_entry_frame(RegisterMap* map) const {
assert(map->include_argument_oops(), "should be set by clear");
vmassert(jfa->last_Java_pc() != NULL, "not walkable");
frame fr(jfa->last_Java_sp(), jfa->last_Java_fp(), jfa->last_Java_pc());
fr.set_sp_is_trusted();
return fr;
}
@@ -454,25 +460,36 @@ frame frame::sender_for_interpreter_frame(RegisterMap* map) const {
}
#endif // COMPILER2_OR_JVMCI
// Use the raw version of pc - the interpreter should not have signed it.
// For ROP protection, Interpreter will have signed the sender_pc, but there is no requirement to authenticate it here.
address sender_pc = pauth_strip_verifiable(sender_pc_maybe_signed(), (address)link());
return frame(sender_sp, unextended_sp, link(), sender_pc_maybe_signed());
return frame(sender_sp, unextended_sp, link(), sender_pc);
}
//------------------------------------------------------------------------------
// frame::sender_for_compiled_frame
frame frame::sender_for_compiled_frame(RegisterMap* map) const {
// we cannot rely upon the last fp having been saved to the thread
// in C2 code but it will have been pushed onto the stack. so we
// have to find it relative to the unextended sp
// When the sp of a compiled frame is correct, we can get the correct sender sp
// by unextended sp + frame size.
// For the following two scenarios, the sp of a compiled frame is correct:
// a) This compiled frame is built from the anchor.
// b) This compiled frame is built from a callee frame, and the callee frame can
// calculate its sp correctly.
//
// For b), if the callee frame is a native code frame (such as leaf call), the sp of
// the compiled frame cannot be calculated correctly. There is currently no suitable
// solution to solve this problem perfectly. But when PreserveFramePointer is enabled,
// we can get the correct sender sp by fp + 2 (that is sender_sp()).
assert(_cb->frame_size() >= 0, "must have non-zero frame size");
intptr_t* l_sender_sp = unextended_sp() + _cb->frame_size();
intptr_t* l_sender_sp = (!PreserveFramePointer || _sp_is_trusted) ? unextended_sp() + _cb->frame_size()
: sender_sp();
intptr_t* unextended_sp = l_sender_sp;
// the return_address is always the word on the stack
address sender_pc = (address) *(l_sender_sp-1);
// For ROP protection, C1/C2 will have signed the sender_pc, but there is no requirement to authenticate it here.
address sender_pc = pauth_strip_verifiable((address) *(l_sender_sp-1), (address) *(l_sender_sp-2));
intptr_t** saved_fp_addr = (intptr_t**) (l_sender_sp - frame::sender_sp_offset);
@@ -520,6 +537,9 @@ frame frame::sender_raw(RegisterMap* map) const {
// Must be native-compiled frame, i.e. the marshaling code for native
// methods that exists in the core system.
// Native code may or may not have signed the return address, we have no way to be sure or what
// signing methods they used. Instead, just ensure the stripped value is used.
return frame(sender_sp(), link(), sender_pc());
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 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.
*
@@ -124,6 +124,11 @@
intptr_t* _unextended_sp;
void adjust_unextended_sp();
// true means _sp value is correct and we can use it to get the sender's sp
// of the compiled frame, otherwise, _sp value may be invalid and we can use
// _fp to get the sender's sp if PreserveFramePointer is enabled.
bool _sp_is_trusted;
intptr_t* ptr_at_addr(int offset) const {
return (intptr_t*) addr_at(offset);
}
@@ -165,4 +170,6 @@
// returns the sending frame, without applying any barriers
frame sender_raw(RegisterMap* map) const;
void set_sp_is_trusted() { _sp_is_trusted = true; }
#endif // CPU_AARCH64_FRAME_AARCH64_HPP

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 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.
*
@@ -41,6 +41,7 @@ inline frame::frame() {
_fp = NULL;
_cb = NULL;
_deopt_state = unknown;
_sp_is_trusted = false;
}
static int spin;
@@ -64,6 +65,7 @@ inline void frame::init(intptr_t* sp, intptr_t* fp, address pc) {
} else {
_deopt_state = not_deoptimized;
}
_sp_is_trusted = false;
}
inline frame::frame(intptr_t* sp, intptr_t* fp, address pc) {
@@ -91,6 +93,7 @@ inline frame::frame(intptr_t* sp, intptr_t* unextended_sp, intptr_t* fp, address
} else {
_deopt_state = not_deoptimized;
}
_sp_is_trusted = false;
}
inline frame::frame(intptr_t* sp, intptr_t* fp) {
@@ -122,6 +125,7 @@ inline frame::frame(intptr_t* sp, intptr_t* fp) {
} else {
_deopt_state = not_deoptimized;
}
_sp_is_trusted = false;
}
// Accessors

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 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
@@ -271,7 +271,7 @@ void G1BarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet decorator
ModRefBarrierSetAssembler::load_at(masm, decorators, type, dst, src, tmp1, tmp_thread);
if (on_oop && on_reference) {
// LR is live. It must be saved around calls.
__ enter(); // barrier may call runtime
__ enter(/*strip_ret_addr*/true); // barrier may call runtime
// Generate the G1 pre-barrier code to log the value of
// the referent field in an SATB buffer.
g1_write_barrier_pre(masm /* masm */,

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2021, Red Hat, Inc. All rights reserved.
* Copyright (c) 2018, 2022, Red Hat, Inc. 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
@@ -237,7 +237,7 @@ void ShenandoahBarrierSetAssembler::load_reference_barrier(MacroAssembler* masm,
bool is_narrow = UseCompressedOops && !is_native;
Label heap_stable, not_cset;
__ enter();
__ enter(/*strip_ret_addr*/true);
Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset()));
__ ldrb(rscratch2, gc_state);
@@ -359,7 +359,7 @@ void ShenandoahBarrierSetAssembler::load_at(MacroAssembler* masm, DecoratorSet d
// 3: apply keep-alive barrier if needed
if (ShenandoahBarrierSet::need_keep_alive_barrier(decorators, type)) {
__ enter();
__ enter(/*strip_ret_addr*/true);
__ push_call_clobbered_registers();
satb_write_barrier_pre(masm /* masm */,
noreg /* obj */,

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2019, 2021, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2019, 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
@@ -78,7 +78,7 @@ void ZBarrierSetAssembler::load_at(MacroAssembler* masm,
__ tst(dst, rscratch1);
__ br(Assembler::EQ, done);
__ enter();
__ enter(/*strip_ret_addr*/true);
__ push_call_clobbered_registers_except(RegSet::of(dst));

View File

@@ -67,4 +67,6 @@ const bool CCallingConventionRequiresIntsAsLongs = false;
#define NOT_R18_RESERVED(code) code
#endif
#define USE_POINTERS_TO_REGISTER_IMPL_ARRAY
#endif // CPU_AARCH64_GLOBALDEFINITIONS_AARCH64_HPP

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) 2015, 2019, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -118,7 +118,9 @@ define_pd_global(intx, InlineSmallCode, 1000);
product(uint, OnSpinWaitInstCount, 1, DIAGNOSTIC, \
"The number of OnSpinWaitInst instructions to generate." \
"It cannot be used with OnSpinWaitInst=none.") \
range(1, 99)
range(1, 99) \
product(ccstr, UseBranchProtection, "none", \
"Branch Protection to use: none, standard, pac-ret") \
// end of ARCH_FLAGS

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