Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge master HEAD into openj9-staging #608

Merged
merged 501 commits into from
Jun 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
501 commits
Select commit Hold shift + click to select a range
1f1ebfc
8307083: Open source some drag and drop tests 3
May 18, 2023
5239722
8308245: Add -proc:full to describe current default annotation proces…
jddarcy May 18, 2023
0c5fb97
8307779: Relax the java.awt.Robot specification
May 18, 2023
d0ab3ee
8308370: Fix build failures related to the java.awt.Robot documentation
May 18, 2023
120552a
8308010: X509Key and PKCS8Key allows garbage bytes at the end
wangweij May 18, 2023
bc0aefa
8308187: jdi/EventSet/resume/resume008 failed with "EventHandler> Une…
plummercj May 18, 2023
7c85834
8307865: Invalid is_in_any_VTMS_transition() check in post_dynamic_co…
lmesnik May 18, 2023
635710b
Merge latest openjdk
j9build May 19, 2023
e9fb883
8308118: Avoid multiarray allocations in AESCrypt.makeSessionKey
shipilev May 19, 2023
053d3c9
8132995: Matcher$ImmutableMatchResult should be optimized to reduce s…
rgiulietti May 19, 2023
ad7320c
8303669: SelectVersion indexes past the end of the argv array
asotona May 19, 2023
ccc91c8
8308408: Build failure with -Werror=maybe-uninitialized in libjli/jav…
DamonFool May 19, 2023
5104c67
8308410: broken compilation of test\jdk\tools\launcher\exeJliLaunchTe…
asotona May 19, 2023
2d96863
8308248: Revisit alignment of layout constants on 32-bit platforms
mcimadamore May 19, 2023
719ed4e
8281149: (fs) java/nio/file/FileStore/Basic.java fails with java.lang…
May 19, 2023
0d7d79e
8308396: Fix offset_of conversion warnings in runtime code
coleenp May 19, 2023
b4cb731
8305972: Update XML Security for Java to 3.0.2
wangweij May 19, 2023
e6001ae
8308021: Update IANA Language Subtag Registry to Version 2023-05-11
May 19, 2023
821a254
8307962: Exclude gc/g1/TestSkipRebuildRemsetPhase.java fails with vir…
lmesnik May 19, 2023
0bd9f89
8304685: Fix whitespace parsing in libjdwp
kevinjwalls May 19, 2023
eb17963
Merge latest openjdk
j9build May 20, 2023
5e10669
8307783: runtime/reflect/ReflectOutOfMemoryError.java timed out
May 20, 2023
52f92a0
Merge latest openjdk
j9build May 21, 2023
dc55cfe
8300543: Compiler Implementation for Pattern Matching for switch
lahodaj May 22, 2023
176b029
8308000: add PopFrame support for virtual threads
May 22, 2023
99eeba8
8307804: Reorganize ArrayJuggle test cases
lkorinth May 22, 2023
d66f587
8302344: Compiler Implementation for Unnamed patterns and variables (…
biboudis May 22, 2023
4dfeb78
8305785: Avoid redundant HashMap.containsKey call in java.util.regex
May 22, 2023
b33577f
8306983: Do not invoke external programs when switch terminal to raw …
lahodaj May 22, 2023
4b138ba
7065228: To interpret case-insensitive string locale independently
DarraghClarke May 22, 2023
0406168
8280993: [XWayland] Popup is not closed on click outside of area cont…
May 22, 2023
e5fbbe3
8307311: Timeouts on one macOS 12.6.1 host of two Swing JTableHeader …
prsadhuk May 22, 2023
6812287
8301381: Verify DTLS 1.0 cannot be negotiated
May 22, 2023
8279e36
8307908: [ppc] Add failing RTM tests to ProblemList until 8307907 is …
TOatGithub May 22, 2023
30a5792
8287834: Add SymbolLookup::or method
mcimadamore May 22, 2023
9c741d8
8308276: Change layout API to work with bytes, not bits
mcimadamore May 22, 2023
2ac68fd
8307573: Implementation of JEP 449: Deprecate the Windows 32-bit x86 …
gdams May 22, 2023
db8386b
8308034: Some CDS tests need to use @requires vm.flagless
calvinccheung May 22, 2023
69e7166
8307190: Refactor ref_at methods in Constant Pool
May 22, 2023
18045cc
8308388: Update description of SourceVersion.RELEASE_21
jddarcy May 22, 2023
a806f78
Merge latest openjdk
j9build May 23, 2023
bc20b1b
8308046: Move Solaris related charsets from java.base to jdk.charsets…
May 23, 2023
f31843f
8308235: ThreadContainer registry accumulates weak refs
May 23, 2023
f2650c9
8308038: java/util/concurrent/ThreadPerTaskExecutor/ThreadPerTaskExec…
May 23, 2023
004b34e
8306992: [JVMCI] mitigate more against JVMCI related OOME causing VM …
May 23, 2023
87eeaca
8308093: Disable language preview features use in JDK
asotona May 23, 2023
4f3d0c1
8308300: enhance exceptions in MappedMemoryUtils.c
MBaesken May 23, 2023
59f464e
8302652: [SuperWord] Reduction should happen after loop, when possible
eme64 May 23, 2023
0a28b20
8305582: Compiler crash when compiling record patterns with var
biboudis May 23, 2023
1c4e850
8305073: Fix VerifyLoopOptimizations - step 2 - verify idom
eme64 May 23, 2023
15f3b10
8308281: Java snippets in the FFM API need to be updated
minborg May 23, 2023
2501cd8
8307814: In the case of two methods with Record Patterns, the second …
lahodaj May 23, 2023
efa5659
8308545: java/net/httpclient/ShutdownNow.java fails with "stream 1 ca…
dfuch May 23, 2023
ec5342f
8308565: HttpClient: Sanitize logging while stopping
dfuch May 23, 2023
1e45fbd
8308544: Fix compilation regression from JDK-8306983 on musl libc
May 23, 2023
623ef2c
8305091: Change ChaCha20 cipher init behavior to match AES-GCM
May 23, 2023
98122f1
8307523: [vectorapi] Optimize MaskFromLongBenchmark.java
changpeng1997 May 23, 2023
782adc9
8308116: jdk.test.lib.compiler.InMemoryJavaCompiler.compile does not …
xmas92 May 23, 2023
a8fa986
8308016: Use snippets in java.io package
May 23, 2023
973b373
8306706: Support out-of-line code generation for MachNodes
May 23, 2023
20e22fc
8308716: ProblemList java/util/concurrent/ScheduledThreadPoolExecutor…
May 23, 2023
0dc635b
8301154: SunPKCS11 KeyStore deleteEntry results in dangling PrivateKe…
slumericanB May 23, 2023
bb9813b
8306698: Add overloads to MethodTypeDesc::of
liach May 23, 2023
6b10e7b
8179502: Enhance OCSP, CRL and Certificate Fetch Timeouts
May 23, 2023
eaeb71e
Merge latest openjdk
j9build May 24, 2023
29da1ac
8306302: C2 Superword fix: use VectorMaskCmp and VectorBlend instead …
eme64 May 24, 2023
6c28d6c
8308151: [JVMCI] capture JVMCI exceptions in hs-err
May 24, 2023
6a3d97d
8303040: linux PPC64le: Implementation of Foreign Function & Memory A…
TheRealMDoerr May 24, 2023
8d445c5
8308758: Problemlist compiler/c2/irTests/TestVectorConditionalMove.java
eme64 May 24, 2023
048a15d
8171221: Remove -XX:+CheckMemoryInitialization
May 24, 2023
7e25d3f
8298066: java/util/concurrent/locks/Lock/OOMEInAQS.java timed out
viktorklang-ora May 24, 2023
60bf468
8305578: X11GraphicsDevice.pGetBounds() is slow in remote X11 sessions
May 24, 2023
8420cf1
8308761: New test TestHFA needs adaptation for JDK-8308276
TheRealMDoerr May 24, 2023
b6f63e6
8308310: HttpClient: Avoid logging or locking from within synchronize…
dfuch May 24, 2023
b6640ab
8307738: JFR: EventStream.openRepository() drops events
egahlin May 24, 2023
3c4cab9
8308237: add JDWP and JDI virtual thread support for ThreadReference.…
plummercj May 24, 2023
b2d024d
8308291: compiler/jvmci/meta/ProfilingInfoTest.java fails with -XX:Ti…
May 24, 2023
1bb8446
8308040: Evaluate new public types in non-public classes
May 24, 2023
3aa6a5d
8299414: JVMTI FollowReferences should support references from Virtua…
May 24, 2023
9965d90
8307652: sealed class hierarchy graph doesn't distinguish non-sealed …
liach May 24, 2023
01ecddd
Merge latest openjdk
j9build May 25, 2023
557f977
8308400: add ForceEarlyReturn support for virtual threads
May 25, 2023
35b5f09
8288619: Unexpected parsing for @see
lgxbslgx May 25, 2023
0a20efa
8308549: Classfile API should fail to generate over-sized Code attribute
asotona May 25, 2023
c7da8ef
8305958: Use links instead of buttons for auto-generated header links
hns May 25, 2023
472aed7
8305710: Line breaks in search tags cause invalid JSON in index file
hns May 25, 2023
ea4f615
8308727: Compiler should accept final unnamed variables in try-with-r…
biboudis May 25, 2023
8590ed2
8308506: Reduce testing time by removing combinations tested
lkorinth May 25, 2023
ff3eb32
8144891: ToolBox should use java.nio.file.Path internally, instead of…
sormuras May 25, 2023
6869f97
8307958: Metaspace verification is slow causing extreme class unloadi…
xmas92 May 25, 2023
f7e52bc
8308475: Make the thread dump files generated by jcmd Thread.dump_to_…
jaikiran May 25, 2023
0a98f96
8307132: Cleanup the code of sun.java2d.cmm.lcms package
mrserb May 25, 2023
407f5c9
8308735: Typos in parameter names
May 25, 2023
feec548
8308746: C2 IR test failures for TestFpMinMaxReductions.java with SSE2
robcasloz May 25, 2023
4f87690
8308335: JFR: Remove @Experimental from Virtual Threads events
egahlin May 25, 2023
bb0514c
8300038: Make new version of JNU_GetStringPlatformChars which checks …
Michael-Mc-Mahon May 25, 2023
96d92dd
8286597: Implement PollerProvider on AIX
May 25, 2023
b2c8273
8300491: SymbolLookup::libraryLookup accepts strings with terminators
mcimadamore May 25, 2023
fa33e0b
8306703: JFR: Summary views
egahlin May 25, 2023
48dda69
8307125: compiler/jvmci/compilerToVM/MaterializeVirtualObjectTest.jav…
May 25, 2023
25d758e
8308108: Support Unicode extension for collation settings
naotoj May 25, 2023
3e17c15
8304375: jdk/jfr/api/consumer/filestream/TestOrdered.java failed with…
egahlin May 25, 2023
aeb8be8
8308073: ClassLoaderExt::append_boot_classpath should handle dynamic …
calvinccheung May 25, 2023
4084f38
8308907: ProblemList java/awt/Toolkit/GetScreenInsetsCustomGC/GetScre…
May 25, 2023
eb56361
8159023: Engineering notation of DecimalFormat does not work as docum…
May 25, 2023
1a82c2f
Merge latest openjdk
j9build May 26, 2023
16f3caa
8308583: SIGSEGV in GraphKit::gen_checkcast
rwestrel May 26, 2023
50cbed8
8306137: Open source several AWT ScrollPane related tests
May 26, 2023
cbfa571
8308844: ProblemList gc/z/TestHighUsage.java with Generational ZGC on…
stefank May 26, 2023
9d2c602
8308931: Problemlist compiler/jvmci/TestUncaughtErrorInCompileMethod.…
May 26, 2023
a1d415c
8305189: C2 failed "assert(_outcnt==1) failed: not unique"
rwestrel May 26, 2023
2ad6e9b
8306812: Open source several AWT Miscellaneous tests
May 26, 2023
00572f0
8299665: /proc/self/stat parsing in libmanagement broken by execname …
kevinjwalls May 26, 2023
631b396
8308589: gc/cslocker/TestCSLocker.java timed out
stefank May 26, 2023
d3eeca5
8308935: jdk.management.jfr.RecordingInfo.toString() lacks test coverage
egahlin May 26, 2023
fa925bf
8308801: update for deprecated sprintf for libnet in java.base
XueleiFan May 26, 2023
aa5bf57
8286470: Support searching for sections in class/package javadoc
hns May 26, 2023
78a6e82
Merge latest openjdk
j9build May 27, 2023
afa29ac
8308876: JFR: Deserialization of EventTypeInfo uses incorrect attribu…
egahlin May 27, 2023
301f701
Merge latest openjdk
j9build May 28, 2023
b0f06bb
8306560: Add TOOLING.jsh load file
sormuras May 28, 2023
d130f42
Merge latest openjdk
j9build May 29, 2023
b4258dd
8306119: Many components respond to a mouse event by requesting focus…
prsadhuk May 29, 2023
df55040
8308930: [JVMCI] TestUncaughtErrorInCompileMethod times out
May 29, 2023
64a4cac
8289547: Update javax/swing/Popup/TaskbarPositionTest.java
Renjithkannath May 29, 2023
cdaf60f
8309060: Compilation Error in javax/swing/event/FocusEventCauseTest.java
prsadhuk May 29, 2023
0d57a71
Merge latest openjdk
j9build May 30, 2023
b0b3011
8309077: Problemlist compiler/jvmci/TestUncaughtErrorInCompileMethod.…
TobiHartmann May 30, 2023
0a8c1d6
8309042: MemorySegment::reinterpret cleanup action is not called for …
mcimadamore May 30, 2023
cbcd21b
8309095: Remove UTF-8 character from TaskbarPositionTest.java
Renjithkannath May 30, 2023
7c1fd26
8307795: AArch64: Optimize VectorMask.truecount() on Neon
changpeng1997 May 30, 2023
6bec32e
8308977: gtest:codestrings fails on riscv
gctony May 30, 2023
8d1c495
8309110: Build failure after JDK-8307795 due to warnings in micro-ben…
DamonFool May 30, 2023
816469a
8304074: [JMX] Add an approximation of total bytes allocated on the J…
May 30, 2023
6dd145b
8051725: Improve expansion of Conv2B nodes in the middle-end
jaskarth May 30, 2023
d5ea6d5
8308992: New test TestHFA fails with zero
JornVernee May 30, 2023
3bd3b74
8290499: new File(parent, "/") breaks normalization – creates File wi…
May 30, 2023
4b0da28
8297878: KEM: Implementation
wangweij May 30, 2023
c5b49cb
8307648: java/net/httpclient/ExpectContinueTest.java timed out
dfuch May 30, 2023
a94535d
8308987: Update java.lang.Class to use javadoc snippets
jddarcy May 30, 2023
daec305
8308960: Decouple internal Version and OperatingSystem classes
May 30, 2023
9b657d3
8297885: misc sun/security/pkcs11 tests timed out
slumericanB May 30, 2023
0d97f74
8307944: ClassFileDumper should only load java.nio.file.Path if enabled
May 30, 2023
3bf3069
8309134: Augment test/langtools/tools/javac/versions/Versions.java fo…
jddarcy May 30, 2023
57383e4
8308341: JNI_GetCreatedJavaVMs returns a partially initialized JVM
May 30, 2023
5836dec
8308986: Disable svc tests failing with virtual thread factory
lmesnik May 31, 2023
f6b639b
Merge latest openjdk
j9build May 31, 2023
99afe2b
8309048: Remove malloc locker test case
lkorinth May 31, 2023
bf5e943
8309054: Parsing of erroneous patterns succeeds
biboudis May 31, 2023
da45163
8309120: java/net/httpclient/AsyncShutdownNow.java fails intermittently
dfuch May 31, 2023
e5de3cd
8308910: Allow executeAndLog to accept running process
May 31, 2023
cc51547
8308872: enhance logging and some exception in krb5/Config.java
MBaesken May 31, 2023
e8c2088
8308316: Default decomposition mode in Collator
naotoj May 31, 2023
4d484fd
8308022: update for deprecated sprintf for java.base
XueleiFan May 31, 2023
c8297ac
8299505: findVirtual on array classes incorrectly restricts the recei…
liach May 31, 2023
50d193a
8309230: ProblemList jdk/incubator/vector/Float64VectorTests.java on …
May 31, 2023
7a1867b
8309159: Some minor comment and code cleanup in jdk/com/sun/jdi/PopFr…
plummercj May 31, 2023
5d4c6f0
8304914: Use OperatingSystem, Architecture, and Version in jpackage
May 31, 2023
cd47569
8308678: (fs) UnixPath::toRealPath needs additional permissions when …
May 31, 2023
33bd8f6
8309236: ProblemList java/util/concurrent/locks/Lock/OOMEInAQS.java w…
May 31, 2023
35caa0e
Use native OpenSSL library for XDH key generation and agreement
KostasTsiounis May 31, 2023
5376a79
8308819: add JDWP and JDI virtual thread support for ThreadReference.…
plummercj May 31, 2023
656155a
8309171: Test vmTestbase/nsk/jvmti/scenarios/jni_interception/JI05/ji…
May 31, 2023
4fb6c55
8309150: Need to escape " inside attribute values
jonathan-gibbons May 31, 2023
d3196c3
8300865: C2: product reduction in ProdRed_Double is not vectorized
May 31, 2023
d993805
Merge latest openjdk
j9build Jun 1, 2023
4285e85
8307683: Loop Predication should not hoist range checks with trap on …
chhagedorn Jun 1, 2023
8edcad8
8308803: Improve java/util/UUID/UUIDTest.java
shipilev Jun 1, 2023
6c97b18
8307990: jspawnhelper must close its writing side of a pipe before re…
simonis Jun 1, 2023
2dd5c35
8308943: jdk.internal.le build fails on AIX
lahodaj Jun 1, 2023
91625e7
8308856: jdk.internal.classfile.impl.EntryMap::nextPowerOfTwo math pr…
asotona Jun 1, 2023
d61259c
8298127: HSS/LMS Signature Verification
ferakocz Jun 1, 2023
a637180
8307794: Test for HSS/LMS Signature Verification
Jun 1, 2023
872f2b7
8308232: nsk/jdb tests don't pass -verbose flag to the debuggee
plummercj Jun 1, 2023
84535a4
8302822: Method/Field/Constructor/RecordComponent::getGenericInfo() i…
liach Jun 1, 2023
9ee8097
8309146: extend JDI StackFrame.setValue() and JDWP StackFrame.setValu…
plummercj Jun 1, 2023
b1e15e0
Merge pull request #600 from KostasTsiounis/xdh
keithc-ca Jun 1, 2023
7b38974
8309138: Fix container tests for jdks with symlinked conf dir
zzambers Jun 1, 2023
6c4fbf7
8308891: TestCDSVMCrash.java needs @requires vm.cds
Jun 1, 2023
95eb6c0
Merge latest openjdk
j9build Jun 2, 2023
7a1ca28
8307105: JFileChooser InvalidPathException when selecting some system…
Jun 2, 2023
8ba81d1
8307478: Implementation of Prepare to Restrict The Dynamic Loading of…
Jun 2, 2023
754c0bd
8309093: Underscore with brackets
biboudis Jun 2, 2023
4063e68
8309224: Fix xlc17 clang 15 warnings in java.desktop
JoKern65 Jun 2, 2023
474339f
8308711: Develop additional Tests for KEM implementation
Jun 2, 2023
b099e98
8309287: Add fontconfig requirement to building.md for Debian
Jun 2, 2023
b4528cd
8308090: Add container tests for on-the-fly resource quota updates
jerboaa Jun 2, 2023
ecb4dee
8308892: Bad graph detected in build_loop_late after JDK-8305635
chhagedorn Jun 2, 2023
ff14cad
8296411: AArch64: Accelerated Poly1305 intrinsics
Jun 2, 2023
cad6bef
8309200: java/net/httpclient/ExecutorShutdown fails intermittently, i…
dfuch Jun 2, 2023
b35c49e
Revert "Add -Xdump to investigate the LFSingleThreadCachingTest failure"
babsingh Jun 2, 2023
a8172be
8309241: ClassForNameLeak fails intermittently as the class loader ha…
Jun 2, 2023
f825393
8309329: com/sun/jdi/DeferredStepTest.java fails with virtual threads…
plummercj Jun 2, 2023
fcee6a1
8303530: Redefine JAXP Configuration File
JoeWang-Java Jun 2, 2023
a3c5821
8308978: regression with a deadlock involving FollowReferences
Jun 2, 2023
f3f7424
Merge pull request #609 from ibmruntimes/revert-607-extra_options_lfc…
pshipton Jun 2, 2023
086a328
Merge latest openjdk
j9build Jun 3, 2023
96b90cc
8309391: Remove non-failing tests from test/jdk/ProblemList-Virtual.txt
plummercj Jun 3, 2023
ec2cbad
Merge latest openjdk
j9build Jun 4, 2023
700ede7
8309409: Update HttpInputStreamTest and BodyProcessorInputStreamTest …
jaikiran Jun 4, 2023
0fbb2e7
8309334: ProcessTools.main() does not properly set thread names when …
plummercj Jun 4, 2023
7cb7aa1
Merge latest openjdk
j9build Jun 5, 2023
e5980ee
8309336: Incorrect switch in enum not reported properly
lahodaj Jun 5, 2023
8862fb6
8305225: A service broken error despite annotation processor generati…
lahodaj Jun 5, 2023
f8b795f
8309268: C2: "assert(in_bb(n)) failed: must be" after JDK-8306302
eme64 Jun 5, 2023
c54b22e
8302673: [SuperWord] MaxReduction and MinReduction should vectorize f…
robcasloz Jun 5, 2023
dd3dc66
8309104: [JVMCI] compiler/unsafe/UnsafeGetStableArrayElement test ass…
Jun 5, 2023
da64d62
8303465: KeyStore of type KeychainStore, provider Apple does not show…
RealCLanger Jun 5, 2023
a3c9311
8296920: Regression Test DialogOrient.java fails on MacOS
prsadhuk Jun 5, 2023
d7ae2b2
8306578: Report error if no label given in @see and {@link} when no d…
hns Jun 5, 2023
9f978b4
8291966: SwitchBootstrap.typeSwitch could be faster
lahodaj Jun 5, 2023
f78adfe
8309129: AArch64: guarantee(T != T2S) failed: "incorrect arrangement"…
changpeng1997 Jun 5, 2023
841dfbf
8308969: make test-prebuilt doesn't return the correct exit code
gctony Jun 5, 2023
e86be53
8280994: [XWayland] Drag and Drop does not work in java -> wayland ap…
Jun 5, 2023
ca1f388
8309416: Misstatement in semantics of methods in javax.lang.model.Ele…
jddarcy Jun 5, 2023
046fd02
Remove unused imports and restricted services
WilburZjh May 29, 2023
718e62a
8308842: Consolidate exceptions thrown from Class-File API
asotona Jun 5, 2023
50e3efe
8306112: Implementation of JEP 445: Unnamed Classes and Instance Main…
Jun 5, 2023
509718f
Merge pull request #606 from WilburZjh/pkcs12patch
keithc-ca Jun 5, 2023
75bc0dc
8309136: [JVMCI] add -XX:+UseGraalJIT flag
Jun 5, 2023
2512ee6
8304438: jcmd JVMTI.agent_load should obey EnableDynamicAgentLoading
Jun 6, 2023
797a5c8
8308167: SequencedMap::firstEntry throws NPE when first entry has nul…
Jun 6, 2023
0f22fb2
Merge latest openjdk
j9build Jun 6, 2023
aae06b4
8309406: Change jdk.trackAllThreads to default to true
Jun 6, 2023
fa1948b
8309340: Provide sctpHandleSocketErrorWithMessage
MBaesken Jun 6, 2023
09a78e1
8308875: java/awt/Toolkit/GetScreenInsetsCustomGC/GetScreenInsetsCust…
Jun 6, 2023
f83a0a8
8304878: ConcurrentModificationException in javadoc tool
Jun 6, 2023
b9c5a0a
8308748: JNU_GetStringPlatformChars may write to String's internal me…
rudihorn Jun 6, 2023
7ac0f2f
8309534: @JEP(number=430, title="String Templates") should use defaul…
Jun 6, 2023
87e6e13
8307887: (fs) Files.createSymbolicLink throws less specific exception…
Jun 6, 2023
e6db004
8309216: Cast from jchar* to char* in test java/io/GetXSpace.java
Jun 6, 2023
1ed78c5
8309501: Remove workaround in bin/idea.sh for non standard JVMCI file…
Jun 6, 2023
bde945b
8309413: Improve the performance of MethodTypeDesc::descriptorString
liach Jun 6, 2023
129ab38
8309542: compiler/jvmci/TestEnableJVMCIProduct.java fails with "JVMCI…
Jun 6, 2023
6440efa
8301721: lookup.findSpecial fails on Object method call from interface
Jun 6, 2023
33bd015
Remove unused method ECPublicKeyImpl.isECFieldF2m()
keithc-ca Jun 6, 2023
b968ae5
8307840: SequencedMap view method specification and implementation ad…
Jun 6, 2023
d33f8b1
8309554: Update descriptions in SourceVersion
jddarcy Jun 6, 2023
727fa6d
8309506: com/sun/jdi/MultiBreakpointsTest.java fails with virtual tes…
plummercj Jun 6, 2023
c633bf1
8295071: Spec Clarification : ClassFileFormatVersion: System property…
jddarcy Jun 6, 2023
30621ee
8309505: com/sun/jdi/MethodEntryExitEvents.java due to finding wrong …
plummercj Jun 6, 2023
4ecf296
Merge pull request #611 from keithc-ca/isECFieldF2m
pshipton Jun 6, 2023
690ef47
8292157: Incorrect error: "block element not allowed within inline el…
hns Jun 6, 2023
26d80d1
8301553: Support Password-Based Cryptography in SunPKCS11
martinuy Jun 6, 2023
aa2fb99
8309396: com/sun/jdi/JdbMethodExitTest.java fails with virtual thread…
plummercj Jun 6, 2023
94ed602
8309570: ProblemList sun/security/pkcs11/Signature/TestRSAKeyLength.java
Jun 6, 2023
a33462a
8307953: [AIX] C locale's font setting was changed by JEP 400
Jun 6, 2023
31c58a9
Merge latest openjdk
j9build Jun 7, 2023
50b37c6
Merge master HEAD into openj9-staging
JasonFengJ9 Jun 20, 2023
90cd34c
Update OPENJDK_TAG to merged level jdk-21+25
JasonFengJ9 Jun 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ jobs:
apt-architecture: 'i386'
# Some multilib libraries do not have proper inter-dependencies, so we have to
# install their dependencies manually.
apt-extra-packages: 'libfreetype6-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libc6-i386'
apt-extra-packages: 'libfreetype6-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libc6-i386 libgcc-s1:i386 libstdc++6:i386'
extra-conf-options: '--with-target-bits=32'
configure-arguments: ${{ github.event.inputs.configure-arguments }}
make-arguments: ${{ github.event.inputs.make-arguments }}
Expand Down
14 changes: 2 additions & 12 deletions bin/idea.sh
Original file line number Diff line number Diff line change
Expand Up @@ -193,17 +193,7 @@ for root in $MODULE_ROOTS; do
root=`wslpath -am $root`
fi

VM_CI="jdk.internal.vm.ci/share/classes"
VM_COMPILER="src/jdk.internal.vm.compiler/share/classes"
if test "${root#*$VM_CI}" != "$root" || test "${root#*$VM_COMPILER}" != "$root"; then
for subdir in "$root"/*; do
if [ -d "$subdir" ]; then
SOURCES=$SOURCES" $SOURCE_PREFIX""$subdir"/src"$SOURCE_POSTFIX"
fi
done
else
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
fi
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
done

add_replacement "###SOURCE_ROOTS###" "$SOURCES"
Expand Down Expand Up @@ -274,4 +264,4 @@ $BOOT_JDK/bin/$JAVAC -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC

if [ "x$WSL_DISTRO_NAME" != "x" ]; then
rm -rf $ANT_TEMP
fi
fi
2 changes: 1 addition & 1 deletion closed/openjdk-tag.gmk
Original file line number Diff line number Diff line change
@@ -1 +1 @@
OPENJDK_TAG := jdk-21+20
OPENJDK_TAG := jdk-21+25
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,13 @@ public class NativeCrypto {
public static final int ECField_Fp = 0;
public static final int ECField_F2m = 1;

/* Define XDH curve constants used by OpenSSL. */
public static final int X25519 = 1034;
public static final int X448 = 1035;

public static final long OPENSSL_VERSION_1_0_0 = 0x1_00_00_000L;
public static final long OPENSSL_VERSION_1_1_0 = 0x1_01_00_000L;
public static final long OPENSSL_VERSION_1_1_1 = 0x1_01_01_000L;
public static final long OPENSSL_VERSION_3_0_0 = 0x3_00_00_000L;

private static final Cleaner ECKeyCleaner = CleanerFactory.cleaner();
Expand Down Expand Up @@ -399,4 +404,18 @@ public final native int PBEDerive(byte[] password,
int id,
int hashAlgorithm);

/* Native XDH (X25519, X448) interfaces. */
public final native int XDHCreateKeys(byte[] privateKey,
int privateKeyLength,
byte[] publicKey,
int publicKeyLength,
int curveType);

public final native int XDHGenerateSecret(byte[] privateKey,
int privateKeyLength,
byte[] publicKey,
int publicKeyLength,
byte[] computedSecret,
int computedSecretLength,
int curveType);
}
245 changes: 241 additions & 4 deletions closed/src/java.base/share/native/libjncrypto/NativeCrypto.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@

#define OPENSSL_VERSION_1_0_0 OPENSSL_VERSION_CODE(1, 0, 0, 0)
#define OPENSSL_VERSION_1_1_0 OPENSSL_VERSION_CODE(1, 1, 0, 0)
#define OPENSSL_VERSION_1_1_1 OPENSSL_VERSION_CODE(1, 1, 1, 0)
#define OPENSSL_VERSION_2_0_0 OPENSSL_VERSION_CODE(2, 0, 0, 0)
/* Per new OpenSSL naming convention starting from OpenSSL 3, all major versions are ABI and API compatible. */
#define OPENSSL_VERSION_3_0_0 OPENSSL_VERSION_CODE(3, 0, 0, 0)
Expand Down Expand Up @@ -149,6 +150,20 @@ typedef int OSSL_EC_KEY_check_key_t(const EC_KEY *);
typedef int EC_set_public_key_t(EC_KEY *, BIGNUM *, BIGNUM *, int);
typedef const BIGNUM *OSSL_EC_KEY_get0_private_key_t(const EC_KEY *);

typedef EVP_PKEY_CTX *OSSL_EVP_PKEY_CTX_new_t(EVP_PKEY *, ENGINE *);
typedef EVP_PKEY_CTX *OSSL_EVP_PKEY_CTX_new_id_t(int, ENGINE *);
typedef int OSSL_EVP_PKEY_keygen_init_t(EVP_PKEY_CTX *);
typedef int OSSL_EVP_PKEY_keygen_t(EVP_PKEY_CTX *, EVP_PKEY **);
typedef void OSSL_EVP_PKEY_CTX_free_t(EVP_PKEY_CTX *);
typedef int OSSL_EVP_PKEY_get_raw_private_key_t(const EVP_PKEY *, unsigned char *, size_t *);
typedef int OSSL_EVP_PKEY_get_raw_public_key_t(const EVP_PKEY *, unsigned char *, size_t *);
typedef EVP_PKEY *OSSL_EVP_PKEY_new_raw_private_key_t(int, ENGINE *, const unsigned char *, size_t);
typedef EVP_PKEY *OSSL_EVP_PKEY_new_raw_public_key_t(int, ENGINE *, const unsigned char *, size_t);
typedef int OSSL_EVP_PKEY_derive_init_t(EVP_PKEY_CTX *);
typedef int OSSL_EVP_PKEY_derive_set_peer_t(EVP_PKEY_CTX *, EVP_PKEY *);
typedef int OSSL_EVP_PKEY_derive_t(EVP_PKEY_CTX *, unsigned char *, size_t *);
typedef void OSSL_EVP_PKEY_free_t(EVP_PKEY *);

typedef int OSSL_PKCS12_key_gen_t(const char *, int, unsigned char *, int, int, int, int, unsigned char *, const EVP_MD *);

typedef int OSSL_CRYPTO_num_locks_t();
Expand Down Expand Up @@ -261,6 +276,21 @@ OSSL_EC_KEY_check_key_t* OSSL_EC_KEY_check_key;
EC_set_public_key_t* EC_set_public_key;
OSSL_EC_KEY_get0_private_key_t *OSSL_EC_KEY_get0_private_key;

/* Define pointers for OpenSSL functions to handle XDH algorithm. */
OSSL_EVP_PKEY_CTX_new_t *OSSL_EVP_PKEY_CTX_new;
OSSL_EVP_PKEY_CTX_new_id_t *OSSL_EVP_PKEY_CTX_new_id;
OSSL_EVP_PKEY_keygen_init_t *OSSL_EVP_PKEY_keygen_init;
OSSL_EVP_PKEY_keygen_t *OSSL_EVP_PKEY_keygen;
OSSL_EVP_PKEY_CTX_free_t *OSSL_EVP_PKEY_CTX_free;
OSSL_EVP_PKEY_get_raw_private_key_t *OSSL_EVP_PKEY_get_raw_private_key;
OSSL_EVP_PKEY_get_raw_public_key_t *OSSL_EVP_PKEY_get_raw_public_key;
OSSL_EVP_PKEY_new_raw_private_key_t *OSSL_EVP_PKEY_new_raw_private_key;
OSSL_EVP_PKEY_new_raw_public_key_t *OSSL_EVP_PKEY_new_raw_public_key;
OSSL_EVP_PKEY_derive_init_t *OSSL_EVP_PKEY_derive_init;
OSSL_EVP_PKEY_derive_set_peer_t *OSSL_EVP_PKEY_derive_set_peer;
OSSL_EVP_PKEY_derive_t *OSSL_EVP_PKEY_derive;
OSSL_EVP_PKEY_free_t *OSSL_EVP_PKEY_free;

/* Define pointers for OpenSSL functions to handle PBE algorithm. */
OSSL_PKCS12_key_gen_t* OSSL_PKCS12_key_gen;

Expand Down Expand Up @@ -528,6 +558,37 @@ JNIEXPORT jlong JNICALL Java_jdk_crypto_jniprovider_NativeCrypto_loadCrypto
OSSL_ECGF2M = JNI_TRUE;
}

/* Load the functions symbols for OpenSSL XDH algorithm. (Need OpenSSL 1.1.x or above). */
if (ossl_ver >= OPENSSL_VERSION_1_1_1) {
OSSL_EVP_PKEY_CTX_new = (OSSL_EVP_PKEY_CTX_new_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_CTX_new");
OSSL_EVP_PKEY_CTX_new_id = (OSSL_EVP_PKEY_CTX_new_id_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_CTX_new_id");
OSSL_EVP_PKEY_keygen_init = (OSSL_EVP_PKEY_keygen_init_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_keygen_init");
OSSL_EVP_PKEY_keygen = (OSSL_EVP_PKEY_keygen_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_keygen");
OSSL_EVP_PKEY_CTX_free = (OSSL_EVP_PKEY_CTX_free_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_CTX_free");
OSSL_EVP_PKEY_get_raw_private_key = (OSSL_EVP_PKEY_get_raw_private_key_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_get_raw_private_key");
OSSL_EVP_PKEY_get_raw_public_key = (OSSL_EVP_PKEY_get_raw_public_key_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_get_raw_public_key");
OSSL_EVP_PKEY_new_raw_private_key = (OSSL_EVP_PKEY_new_raw_private_key_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_new_raw_private_key");
OSSL_EVP_PKEY_new_raw_public_key = (OSSL_EVP_PKEY_new_raw_public_key_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_new_raw_public_key");
OSSL_EVP_PKEY_derive_init = (OSSL_EVP_PKEY_derive_init_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_derive_init");
OSSL_EVP_PKEY_derive_set_peer = (OSSL_EVP_PKEY_derive_set_peer_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_derive_set_peer");
OSSL_EVP_PKEY_derive = (OSSL_EVP_PKEY_derive_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_derive");
OSSL_EVP_PKEY_free = (OSSL_EVP_PKEY_free_t *)find_crypto_symbol(crypto_library, "EVP_PKEY_free");
} else {
OSSL_EVP_PKEY_CTX_new = NULL;
OSSL_EVP_PKEY_CTX_new_id = NULL;
OSSL_EVP_PKEY_keygen_init = NULL;
OSSL_EVP_PKEY_keygen = NULL;
OSSL_EVP_PKEY_CTX_free = NULL;
OSSL_EVP_PKEY_get_raw_private_key = NULL;
OSSL_EVP_PKEY_get_raw_public_key = NULL;
OSSL_EVP_PKEY_new_raw_private_key = NULL;
OSSL_EVP_PKEY_new_raw_public_key = NULL;
OSSL_EVP_PKEY_derive_init = NULL;
OSSL_EVP_PKEY_derive_set_peer = NULL;
OSSL_EVP_PKEY_derive = NULL;
OSSL_EVP_PKEY_free = NULL;
}

/* Load the functions symbols for OpenSSL PBE algorithm. */
OSSL_PKCS12_key_gen = (OSSL_PKCS12_key_gen_t*)find_crypto_symbol(crypto_library, "PKCS12_key_gen_uni");

Expand Down Expand Up @@ -596,6 +657,21 @@ JNIEXPORT jlong JNICALL Java_jdk_crypto_jniprovider_NativeCrypto_loadCrypto
(NULL == OSSL_EC_KEY_set_public_key) ||
(NULL == OSSL_EC_KEY_check_key) ||
(NULL == OSSL_PKCS12_key_gen) ||
/* Check symbols that are only available in OpenSSL 1.1.1 and above. */
((ossl_ver >= OPENSSL_VERSION_1_1_1) &&
((NULL == OSSL_EVP_PKEY_get_raw_private_key) ||
(NULL == OSSL_EVP_PKEY_get_raw_public_key) ||
(NULL == OSSL_EVP_PKEY_new_raw_private_key) ||
(NULL == OSSL_EVP_PKEY_new_raw_public_key) ||
(NULL == OSSL_EVP_PKEY_CTX_new) ||
(NULL == OSSL_EVP_PKEY_CTX_new_id) ||
(NULL == OSSL_EVP_PKEY_keygen_init) ||
(NULL == OSSL_EVP_PKEY_keygen) ||
(NULL == OSSL_EVP_PKEY_CTX_free) ||
(NULL == OSSL_EVP_PKEY_derive_init) ||
(NULL == OSSL_EVP_PKEY_derive_set_peer) ||
(NULL == OSSL_EVP_PKEY_derive) ||
(NULL == OSSL_EVP_PKEY_free))) ||
/* Check symbols that are only available in OpenSSL 1.1.x and above */
((ossl_ver >= OPENSSL_VERSION_1_1_0) && ((NULL == OSSL_chacha20) || (NULL == OSSL_chacha20_poly1305))) ||
/* Check symbols that are only available in OpenSSL 1.0.x and above */
Expand All @@ -604,10 +680,11 @@ JNIEXPORT jlong JNICALL Java_jdk_crypto_jniprovider_NativeCrypto_loadCrypto
((NULL == OSSL_OPENSSL_malloc) && (ossl_ver < OPENSSL_VERSION_1_1_0)) ||
((NULL == OSSL_OPENSSL_free) && (ossl_ver < OPENSSL_VERSION_1_1_0)) ||
((NULL == OSSL_CRYPTO_THREADID_set_callback) && (ossl_ver < OPENSSL_VERSION_1_1_0)) ||
((NULL == OSSL_CRYPTO_set_locking_callback) && (ossl_ver < OPENSSL_VERSION_1_1_0))) {
if (trace) {
fprintf(stderr, "Error loading OpenSSL: One or more of the required symbols are missing in the crypto library: %s\n", openssl_version);
}
((NULL == OSSL_CRYPTO_set_locking_callback) && (ossl_ver < OPENSSL_VERSION_1_1_0))
) {
if (trace) {
fprintf(stderr, "Error loading OpenSSL: One or more of the required symbols are missing in the crypto library: %s\n", openssl_version);
}
unload_crypto_library(crypto_library);
crypto_library = NULL;
return -1;
Expand Down Expand Up @@ -3054,3 +3131,163 @@ Java_jdk_crypto_jniprovider_NativeCrypto_PBEDerive

return ret;
}

/* Create a pair of private and public keys for XDH Key Agreement.
*
* Class: jdk_crypto_jniprovider_NativeCrypto
* Method: XDHCreateKeys
* Signature: ([BI[BII)I
*/
JNIEXPORT jint JNICALL
Java_jdk_crypto_jniprovider_NativeCrypto_XDHCreateKeys
(JNIEnv *env, jclass obj, jbyteArray privateKey, jint privateKeyLength, jbyteArray publicKey, jint publicKeyLength, jint curveType)
{
jint ret = -1;

EVP_PKEY *pkey = NULL;
EVP_PKEY_CTX *pctx = NULL;

size_t priv_len = (size_t)privateKeyLength;
size_t pub_len = (size_t)publicKeyLength;

unsigned char *privateKeyArray = NULL;
unsigned char *publicKeyArray = NULL;

// Create PKEY (public/private pair) based on curve type (X25519 or X448)
pctx = (*OSSL_EVP_PKEY_CTX_new_id)(curveType, NULL);

if (NULL == pctx) {
goto cleanup;
}

(*OSSL_EVP_PKEY_keygen_init)(pctx);
(*OSSL_EVP_PKEY_keygen)(pctx, &pkey);

if (NULL == pkey) {
goto cleanup;
}

// Separate private and public and store into arrays
privateKeyArray = (unsigned char *)((*env)->GetPrimitiveArrayCritical(env, privateKey, 0));
if (NULL == privateKeyArray) {
goto cleanup;
}
publicKeyArray = (unsigned char *)((*env)->GetPrimitiveArrayCritical(env, publicKey, 0));
if (NULL == publicKeyArray) {
goto cleanup;
}

if (0 >= (*OSSL_EVP_PKEY_get_raw_private_key)(pkey, privateKeyArray, &priv_len)) {
goto cleanup;
}
if (0 >= (*OSSL_EVP_PKEY_get_raw_public_key)(pkey, publicKeyArray, &pub_len)) {
goto cleanup;
}

ret = 0;

cleanup:
if (NULL != publicKeyArray) {
(*env)->ReleasePrimitiveArrayCritical(env, publicKey, publicKeyArray, 0);
}
if (NULL != privateKeyArray) {
(*env)->ReleasePrimitiveArrayCritical(env, privateKey, privateKeyArray, 0);
}
if (NULL != pkey) {
(*OSSL_EVP_PKEY_free)(pkey);
}
if (NULL != pctx) {
(*OSSL_EVP_PKEY_CTX_free)(pctx);
}
return ret;
}

/* XDH key agreement, derive shared secret key.
*
* Class: jdk_crypto_jniprovider_NativeCrypto
* Method: XDHGenerateSecret
* Signature: ([BI[BI[BII)I
*/
JNIEXPORT jint JNICALL
Java_jdk_crypto_jniprovider_NativeCrypto_XDHGenerateSecret
(JNIEnv *env, jclass obj, jbyteArray privateKey, jint privateKeyLength, jbyteArray publicKey, jint publicKeyLength, jbyteArray sharedKey, jint sharedKeyLength, jint curveType)
{
jint ret = -1;

EVP_PKEY_CTX *pctx = NULL;

EVP_PKEY *pkey = NULL;
EVP_PKEY *peerkey = NULL;

size_t skeylen = (size_t)sharedKeyLength;
size_t privateKey_len = (size_t)privateKeyLength;
size_t publicKey_len = (size_t)publicKeyLength;

unsigned char *privateKeyArray = NULL;
unsigned char *publicKeyArray = NULL;
unsigned char *sharedKeyArray = NULL;

privateKeyArray = (unsigned char *)((*env)->GetPrimitiveArrayCritical(env, privateKey, 0));
if (NULL == privateKeyArray) {
goto cleanup;
}
publicKeyArray = (unsigned char *)((*env)->GetPrimitiveArrayCritical(env, publicKey, 0));
if (NULL == publicKeyArray) {
goto cleanup;
}

// Setup EVP_PKEY instances for user private and peer public keys
pkey = (*OSSL_EVP_PKEY_new_raw_private_key)(curveType, NULL, privateKeyArray, privateKey_len);
peerkey = (*OSSL_EVP_PKEY_new_raw_public_key)(curveType, NULL, publicKeyArray, publicKey_len);

if ((NULL == pkey) || (NULL == peerkey)) {
goto cleanup;
}

// Create key agreement context
pctx = (*OSSL_EVP_PKEY_CTX_new)(pkey, NULL);
if (NULL == pctx) {
goto cleanup;
}

// Initialize with user private key
if (0 >= (*OSSL_EVP_PKEY_derive_init)(pctx)) {
goto cleanup;
}

// Set peer's public key
if (0 >= (*OSSL_EVP_PKEY_derive_set_peer)(pctx, peerkey)) {
goto cleanup;
}

// Derive shared secret and save in sharedKeyArray
sharedKeyArray = (unsigned char *)((*env)->GetPrimitiveArrayCritical(env, sharedKey, 0));
if (NULL == sharedKeyArray) {
goto cleanup;
}
if (0 >= (*OSSL_EVP_PKEY_derive)(pctx, sharedKeyArray, &skeylen)) {
goto cleanup;
}

ret = 0;
cleanup:
if (NULL != sharedKeyArray) {
(*env)->ReleasePrimitiveArrayCritical(env, sharedKey, sharedKeyArray, 0);
}
if (NULL != pctx) {
(*OSSL_EVP_PKEY_CTX_free)(pctx);
}
if (NULL != peerkey) {
(*OSSL_EVP_PKEY_free)(peerkey);
}
if (NULL != pkey) {
(*OSSL_EVP_PKEY_free)(pkey);
}
if (NULL != publicKeyArray) {
(*env)->ReleasePrimitiveArrayCritical(env, publicKey, publicKeyArray, 0);
}
if (NULL != privateKeyArray) {
(*env)->ReleasePrimitiveArrayCritical(env, privateKey, privateKeyArray, 0);
}
return ret;
}
Loading