From sebastian.stenzel at gmail.com Mon May 3 05:35:07 2021 From: sebastian.stenzel at gmail.com (Sebastian Stenzel) Date: Mon, 3 May 2021 07:35:07 +0200 Subject: ClassCastException in jextract Message-ID: <6E6CE155-D248-467E-953E-8EAD1F295677@gmail.com> Hi, I'm currently attempting to jextract a library on macOS Big Sur but I run into exceptions, both with the latest EA build as well as a locally built snapshot (commit 204518d): class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') I guess that `TypeImpl$1` refers to `TypeImpl.DelegatedBase`, so the cast should be allowed. Is there anything I can do to get a more detailed output logged by jextract? Cheers! Sebastian From sundar at openjdk.java.net Mon May 3 05:41:14 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 3 May 2021 05:41:14 GMT Subject: [foreign-jextract] RFR: 8266414: jextract should not generate NativeScope Message-ID: removed NativeScope and adjusted tests ------------- Commit messages: - 8266414: jextract should not generate NativeScope Changes: https://git.openjdk.java.net/panama-foreign/pull/525/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=525&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266414 Stats: 91 lines in 9 files changed: 12 ins; 66 del; 13 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/525.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/525/head:pull/525 PR: https://git.openjdk.java.net/panama-foreign/pull/525 From jvernee at openjdk.java.net Mon May 3 11:05:30 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 3 May 2021 11:05:30 GMT Subject: [foreign-jextract] RFR: 8266414: jextract should not generate NativeScope In-Reply-To: References: Message-ID: On Mon, 3 May 2021 05:36:43 GMT, Athijegannathan Sundararajan wrote: > removed NativeScope and adjusted tests Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/525 From sundar at openjdk.java.net Mon May 3 11:35:10 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 3 May 2021 11:35:10 GMT Subject: [foreign-jextract] Integrated: 8266414: jextract should not generate NativeScope In-Reply-To: References: Message-ID: On Mon, 3 May 2021 05:36:43 GMT, Athijegannathan Sundararajan wrote: > removed NativeScope and adjusted tests This pull request has now been integrated. Changeset: 388bcc7e Author: Athijegannathan Sundararajan URL: https://git.openjdk.java.net/panama-foreign/commit/388bcc7e4ccf36c73aa2667595c9b98b0fb39653 Stats: 91 lines in 9 files changed: 12 ins; 66 del; 13 mod 8266414: jextract should not generate NativeScope Reviewed-by: jvernee ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/525 From psandoz at openjdk.java.net Mon May 3 19:36:17 2021 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Mon, 3 May 2021 19:36:17 GMT Subject: [vectorIntrinsics] RFR: Correct specification for length-invariance. Message-ID: Minor clarifications to the specification. ------------- Commit messages: - Correct specification for length-invariance. Changes: https://git.openjdk.java.net/panama-vector/pull/76/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=76&range=00 Stats: 7 lines in 1 file changed: 1 ins; 0 del; 6 mod Patch: https://git.openjdk.java.net/panama-vector/pull/76.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/76/head:pull/76 PR: https://git.openjdk.java.net/panama-vector/pull/76 From github.com+168222+mgkwill at openjdk.java.net Mon May 3 21:00:32 2021 From: github.com+168222+mgkwill at openjdk.java.net (Marcus G K Williams) Date: Mon, 3 May 2021 21:00:32 GMT Subject: [vectorIntrinsics] RFR: 8244490: [vector] Move Vector API micro benchmarks under test/micro Message-ID: Vector API micro benchmarks are currently located under test/jdk/jdk/incubator/vector/benchmark which makes them rather as "dead" code without possibility to built and run. The proper location for micro benchmarks is actually test/micro/ directory. It would be nice to move Vector API benchmarks there so they can be built automatically as part 'test-image' make target. Once they are built they can be run as make run-test TEST=micro:BENCHMARK_TEST_NAME ------------- Commit messages: - add missing readme pom.xml - Vector Micro Tests Draft Move Changes: https://git.openjdk.java.net/panama-vector/pull/77/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=77&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8244490 Stats: 461 lines in 97 files changed: 281 ins; 128 del; 52 mod Patch: https://git.openjdk.java.net/panama-vector/pull/77.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/77/head:pull/77 PR: https://git.openjdk.java.net/panama-vector/pull/77 From github.com+168222+mgkwill at openjdk.java.net Mon May 3 21:03:56 2021 From: github.com+168222+mgkwill at openjdk.java.net (Marcus G K Williams) Date: Mon, 3 May 2021 21:03:56 GMT Subject: [vectorIntrinsics] RFR: 8244490: [vector] Move Vector API micro benchmarks under test/micro In-Reply-To: References: Message-ID: On Mon, 3 May 2021 20:52:50 GMT, Marcus G K Williams wrote: > Vector API micro benchmarks are currently located under test/jdk/jdk/incubator/vector/benchmark which makes them rather as "dead" code without possibility to built and run. > > The proper location for micro benchmarks is actually test/micro/ directory. > It would be nice to move Vector API benchmarks there so they can be built automatically as part 'test-image' make target. > Once they are built they can be run as > make run-test TEST=micro:BENCHMARK_TEST_NAME @PaulSandoz @katyapav Tried my hand at a draft of https://bugs.openjdk.java.net/browse/JDK-8244490. If I am on the right track, any feedback or suggestions would be helpful. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/77 From github.com+168222+mgkwill at openjdk.java.net Mon May 3 21:17:56 2021 From: github.com+168222+mgkwill at openjdk.java.net (Marcus G K Williams) Date: Mon, 3 May 2021 21:17:56 GMT Subject: [vectorIntrinsics] RFR: 8244490: [vector] Move Vector API micro benchmarks under test/micro In-Reply-To: References: Message-ID: On Mon, 3 May 2021 21:01:08 GMT, Marcus G K Williams wrote: > @PaulSandoz @katyapav Tried my hand at a draft of https://bugs.openjdk.java.net/browse/JDK-8244490. > > If I am on the right track, any feedback or suggestions would be helpful. I was able to run using `make test TEST="micro:Int64Vector" MICRO="FORK=2;WARMUP_ITER=5;" CONF=linux-x86_64-server-release` with this patch. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/77 From psandoz at openjdk.java.net Mon May 3 21:17:56 2021 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Mon, 3 May 2021 21:17:56 GMT Subject: [vectorIntrinsics] RFR: 8244490: [vector] Move Vector API micro benchmarks under test/micro In-Reply-To: References: Message-ID: On Mon, 3 May 2021 21:12:59 GMT, Marcus G K Williams wrote: >> @PaulSandoz @katyapav Tried my hand at a draft of https://bugs.openjdk.java.net/browse/JDK-8244490. >> >> If I am on the right track, any feedback or suggestions would be helpful. > >> @PaulSandoz @katyapav Tried my hand at a draft of https://bugs.openjdk.java.net/browse/JDK-8244490. >> >> If I am on the right track, any feedback or suggestions would be helpful. > > I was able to run using `make test TEST="micro:Int64Vector" MICRO="FORK=2;WARMUP_ITER=5;" CONF=linux-x86_64-server-release` with this patch. @mgkwill thank you for doing this. I need to check out the PR locally and give it a test drive, but eyeballing it looks like you are on track. It unfortunately means there is some duplication in generation logic, but that seems unavoidable. Moving to this area is a prerequisit for integration into the mainline. Separate from moving the location, but related to mainline integration, I have concerns as to the number of benchmarks generated. It may be we have to curate a default smaller set, but enable the ability for someone to generate more for local testing. We could consider that later on. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/77 From github.com+168222+mgkwill at openjdk.java.net Mon May 3 21:24:59 2021 From: github.com+168222+mgkwill at openjdk.java.net (Marcus G K Williams) Date: Mon, 3 May 2021 21:24:59 GMT Subject: [vectorIntrinsics] RFR: 8244490: [vector] Move Vector API micro benchmarks under test/micro In-Reply-To: References: Message-ID: On Mon, 3 May 2021 21:12:59 GMT, Marcus G K Williams wrote: >> @PaulSandoz @katyapav Tried my hand at a draft of https://bugs.openjdk.java.net/browse/JDK-8244490. >> >> If I am on the right track, any feedback or suggestions would be helpful. > >> @PaulSandoz @katyapav Tried my hand at a draft of https://bugs.openjdk.java.net/browse/JDK-8244490. >> >> If I am on the right track, any feedback or suggestions would be helpful. > > I was able to run using `make test TEST="micro:Int64Vector" MICRO="FORK=2;WARMUP_ITER=5;" CONF=linux-x86_64-server-release` with this patch. > @mgkwill thank you for doing this. I need to check out the PR locally and give it a test drive, but eyeballing it looks like you are on track. It unfortunately means there is some duplication in generation logic, but that seems unavoidable. Moving to this area is a prerequisit for integration into the mainline. Happy to do it. I stumbled upon the issue when I needed to run some of the tests. It seemed like something helpful and I thought it would be nice to get benchmarks into mainline. Let me know how the local test works. > > Separate from moving the location, but related to mainline integration, I have concerns as to the number of benchmarks generated. It may be we have to curate a default smaller set, but enable the ability for someone to generate more for local testing. We could consider that later on. Sounds reasonable to me. More guidance here and I'm happy to help there also. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/77 From sundararajan.athijegannathan at oracle.com Tue May 4 10:35:05 2021 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Tue, 4 May 2021 10:35:05 +0000 Subject: ClassCastException in jextract In-Reply-To: <6E6CE155-D248-467E-953E-8EAD1F295677@gmail.com> References: <6E6CE155-D248-467E-953E-8EAD1F295677@gmail.com> Message-ID: Hi, Will you please run jextract with -J-Djextract.debug=true? This should print stack trace on crash. Also, if possible please post header (assuming open source project) or code snippet from there that cases the mentioned failure. Thanks -Sundar ________________________________ From: panama-dev on behalf of Sebastian Stenzel Sent: 03 May 2021 11:05 To: panama-dev at openjdk.java.net Subject: ClassCastException in jextract Hi, I'm currently attempting to jextract a library on macOS Big Sur but I run into exceptions, both with the latest EA build as well as a locally built snapshot (commit 204518d): class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') I guess that `TypeImpl$1` refers to `TypeImpl.DelegatedBase`, so the cast should be allowed. Is there anything I can do to get a more detailed output logged by jextract? Cheers! Sebastian From sebastian.stenzel at gmail.com Tue May 4 10:56:17 2021 From: sebastian.stenzel at gmail.com (Sebastian Stenzel) Date: Tue, 4 May 2021 12:56:17 +0200 Subject: ClassCastException in jextract In-Reply-To: References: <6E6CE155-D248-467E-953E-8EAD1F295677@gmail.com> Message-ID: <6138A810-BD2D-4766-A05C-BE81C489F932@gmail.com> Hi, I need to correct my previous theory. TypeImpl$1 is obviously an anonymous class, most likely TypeImpl.ERROR. Here is the full stack trace: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') java.lang.ClassCastException: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTypedef(TreeMaker.java:246) at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTreeInternal(TreeMaker.java:103) at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTree(TreeMaker.java:81) at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$2(Parser.java:86) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:67) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.parse(JextractTool.java:112) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.run(JextractTool.java:245) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.main(JextractTool.java:157) I attempted to jextract a macOS lib using the following command: jextract --source \ -d /Users/sebastian/Desktop/SRC \ -lFileProvider \ -t org.cryptomator.fileprovider \ -I /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ \ -C"-F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" \ -C"-ObjC" \ -C"-v" \ -J-Djextract.debug=true \ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FileProvider.framework/Versions/A/Headers/FileProvider.h Just out of curiosity I attempted the same for different ObjC libs (such as Foundation.h), the stack trace is always the same. Maybe it is some ObjC language feature that results in an AST that isn't yet supported by jextract? My setup: - on macOS 11.3 - Xcode 12.5 - clang version 9.0.0 installed via homebrew I built the JDK (commit 204518d) using these flags: --with-boot-jdk=/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home/ --with-native-debug-symbols=none --with-debug-level=release --with-libclang=/usr/local/opt/llvm at 9 Thank you! > On 4. May 2021, at 12:35, Sundararajan Athijegannathan wrote: > > Hi, > > Will you please run jextract with -J-Djextract.debug=true? This should print stack trace on crash. Also, if possible please post header (assuming open source project) or code snippet from there that cases the mentioned failure. > > Thanks > -Sundar > From: panama-dev on behalf of Sebastian Stenzel > Sent: 03 May 2021 11:05 > To: panama-dev at openjdk.java.net > Subject: ClassCastException in jextract > > Hi, > > I'm currently attempting to jextract a library on macOS Big Sur but I run into exceptions, both with the latest EA build as well as a locally built snapshot (commit 204518d): > > class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') > > I guess that `TypeImpl$1` refers to `TypeImpl.DelegatedBase`, so the cast should be allowed. > > Is there anything I can do to get a more detailed output logged by jextract? > > Cheers! > Sebastian From sundararajan.athijegannathan at oracle.com Tue May 4 14:20:55 2021 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Tue, 4 May 2021 14:20:55 +0000 Subject: [External] : Re: ClassCastException in jextract In-Reply-To: <6138A810-BD2D-4766-A05C-BE81C489F932@gmail.com> References: <6E6CE155-D248-467E-953E-8EAD1F295677@gmail.com> , <6138A810-BD2D-4766-A05C-BE81C489F932@gmail.com> Message-ID: Thanks. I just checked line 246 of TreeMaker.java line 246 now has if (canonicalType instanceof Type.Declared) { which cannot throw ClassCastException. Most likely you've some dated version. Will you please try the latest code? Thanks, -Sundar ________________________________ From: Sebastian Stenzel on behalf of Sebastian Stenzel Sent: 04 May 2021 16:26 To: Sundararajan Athijegannathan Cc: panama-dev at openjdk.java.net Subject: [External] : Re: ClassCastException in jextract Hi, I need to correct my previous theory. TypeImpl$1 is obviously an anonymous class, most likely TypeImpl.ERROR. Here is the full stack trace: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') java.lang.ClassCastException: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTypedef(TreeMaker.java:246) at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTreeInternal(TreeMaker.java:103) at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTree(TreeMaker.java:81) at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$2(Parser.java:86) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:67) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.parse(JextractTool.java:112) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.run(JextractTool.java:245) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.main(JextractTool.java:157) I attempted to jextract a macOS lib using the following command: jextract --source \ -d /Users/sebastian/Desktop/SRC \ -lFileProvider \ -t org.cryptomator.fileprovider \ -I /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ \ -C"-F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" \ -C"-ObjC" \ -C"-v" \ -J-Djextract.debug=true \ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FileProvider.framework/Versions/A/Headers/FileProvider.h Just out of curiosity I attempted the same for different ObjC libs (such as Foundation.h), the stack trace is always the same. Maybe it is some ObjC language feature that results in an AST that isn't yet supported by jextract? My setup: - on macOS 11.3 - Xcode 12.5 - clang version 9.0.0 installed via homebrew I built the JDK (commit 204518d) using these flags: --with-boot-jdk=/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home/ --with-native-debug-symbols=none --with-debug-level=release --with-libclang=/usr/local/opt/llvm at 9 Thank you! On 4. May 2021, at 12:35, Sundararajan Athijegannathan > wrote: Hi, Will you please run jextract with -J-Djextract.debug=true? This should print stack trace on crash. Also, if possible please post header (assuming open source project) or code snippet from there that cases the mentioned failure. Thanks -Sundar ________________________________ From: panama-dev > on behalf of Sebastian Stenzel > Sent: 03 May 2021 11:05 To: panama-dev at openjdk.java.net > Subject: ClassCastException in jextract Hi, I'm currently attempting to jextract a library on macOS Big Sur but I run into exceptions, both with the latest EA build as well as a locally built snapshot (commit 204518d): class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') I guess that `TypeImpl$1` refers to `TypeImpl.DelegatedBase`, so the cast should be allowed. Is there anything I can do to get a more detailed output logged by jextract? Cheers! Sebastian From sebastian.stenzel at gmail.com Tue May 4 14:50:14 2021 From: sebastian.stenzel at gmail.com (Sebastian Stenzel) Date: Tue, 4 May 2021 16:50:14 +0200 Subject: [External] : Re: ClassCastException in jextract In-Reply-To: References: <6E6CE155-D248-467E-953E-8EAD1F295677@gmail.com> <6138A810-BD2D-4766-A05C-BE81C489F932@gmail.com> Message-ID: <94042A0D-9627-42AF-8BDB-A48B54AEE856@gmail.com> Sorry, this is the correct one: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') java.lang.ClassCastException: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTypedef(TreeMaker.java:245) at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTreeInternal(TreeMaker.java:102) at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTree(TreeMaker.java:80) at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$2(Parser.java:86) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:67) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.parse(JextractTool.java:111) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.run(JextractTool.java:274) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.main(JextractTool.java:170) > On 4. May 2021, at 16:20, Sundararajan Athijegannathan wrote: > > Thanks. > > I just checked line 246 of TreeMaker.java > > line 246 now has > > if (canonicalType instanceof Type.Declared) { > > > which cannot throw ClassCastException. Most likely you've some dated version. Will you please try the latest code? > > Thanks, > -Sundar > > From: Sebastian Stenzel on behalf of Sebastian Stenzel > Sent: 04 May 2021 16:26 > To: Sundararajan Athijegannathan > Cc: panama-dev at openjdk.java.net > Subject: [External] : Re: ClassCastException in jextract > > Hi, > > I need to correct my previous theory. TypeImpl$1 is obviously an anonymous class, most likely TypeImpl.ERROR. Here is the full stack trace: > > class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') > java.lang.ClassCastException: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') > at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTypedef(TreeMaker.java:246) > at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTreeInternal(TreeMaker.java:103) > at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTree(TreeMaker.java:81) > at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$2(Parser.java:86) > at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) > at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) > at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:67) > at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.parse(JextractTool.java:112) > at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.run(JextractTool.java:245) > at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.main(JextractTool.java:157) > > I attempted to jextract a macOS lib using the following command: > > jextract --source \ > -d /Users/sebastian/Desktop/SRC \ > -lFileProvider \ > -t org.cryptomator.fileprovider \ > -I /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ \ > -C"-F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" \ > -C"-ObjC" \ > -C"-v" \ > -J-Djextract.debug=true \ > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FileProvider.framework/Versions/A/Headers/FileProvider.h > > Just out of curiosity I attempted the same for different ObjC libs (such as Foundation.h), the stack trace is always the same. Maybe it is some ObjC language feature that results in an AST that isn't yet supported by jextract? > > My setup: > - on macOS 11.3 > - Xcode 12.5 > - clang version 9.0.0 installed via homebrew > > I built the JDK (commit 204518d) using these flags: > > --with-boot-jdk=/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home/ > --with-native-debug-symbols=none > --with-debug-level=release > --with-libclang=/usr/local/opt/llvm at 9 > > Thank you! > > >> On 4. May 2021, at 12:35, Sundararajan Athijegannathan > wrote: >> >> Hi, >> >> Will you please run jextract with -J-Djextract.debug=true? This should print stack trace on crash. Also, if possible please post header (assuming open source project) or code snippet from there that cases the mentioned failure. >> >> Thanks >> -Sundar >> From: panama-dev > on behalf of Sebastian Stenzel > >> Sent: 03 May 2021 11:05 >> To: panama-dev at openjdk.java.net > >> Subject: ClassCastException in jextract >> >> Hi, >> >> I'm currently attempting to jextract a library on macOS Big Sur but I run into exceptions, both with the latest EA build as well as a locally built snapshot (commit 204518d): >> >> class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') >> >> I guess that `TypeImpl$1` refers to `TypeImpl.DelegatedBase`, so the cast should be allowed. >> >> Is there anything I can do to get a more detailed output logged by jextract? >> >> Cheers! >> Sebastian From sundararajan.athijegannathan at oracle.com Tue May 4 14:53:17 2021 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Tue, 4 May 2021 14:53:17 +0000 Subject: [External] : Re: ClassCastException in jextract In-Reply-To: <94042A0D-9627-42AF-8BDB-A48B54AEE856@gmail.com> References: <6E6CE155-D248-467E-953E-8EAD1F295677@gmail.com> <6138A810-BD2D-4766-A05C-BE81C489F932@gmail.com> , <94042A0D-9627-42AF-8BDB-A48B54AEE856@gmail.com> Message-ID: Btw are you trying to extract Objective C header? jextract as of now supports only C declarations. C++, Objective C declarations are not handled. That -C flag exists to pass other arguments/options to clang directly (say preprocessor defines). Thanks, -Sundar ________________________________ From: Sebastian Stenzel on behalf of Sebastian Stenzel Sent: 04 May 2021 20:20 To: Sundararajan Athijegannathan Cc: panama-dev at openjdk.java.net Subject: Re: [External] : Re: ClassCastException in jextract Sorry, this is the correct one: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') java.lang.ClassCastException: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTypedef(TreeMaker.java:245) at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTreeInternal(TreeMaker.java:102) at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTree(TreeMaker.java:80) at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$2(Parser.java:86) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:67) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.parse(JextractTool.java:111) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.run(JextractTool.java:274) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.main(JextractTool.java:170) On 4. May 2021, at 16:20, Sundararajan Athijegannathan > wrote: Thanks. I just checked line 246 of TreeMaker.java line 246 now has if (canonicalType instanceof Type.Declared) { which cannot throw ClassCastException. Most likely you've some dated version. Will you please try the latest code? Thanks, -Sundar ________________________________ From: Sebastian Stenzel > on behalf of Sebastian Stenzel > Sent: 04 May 2021 16:26 To: Sundararajan Athijegannathan > Cc: panama-dev at openjdk.java.net > Subject: [External] : Re: ClassCastException in jextract Hi, I need to correct my previous theory. TypeImpl$1 is obviously an anonymous class, most likely TypeImpl.ERROR. Here is the full stack trace: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') java.lang.ClassCastException: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTypedef(TreeMaker.java:246) at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTreeInternal(TreeMaker.java:103) at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTree(TreeMaker.java:81) at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$2(Parser.java:86) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:67) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.parse(JextractTool.java:112) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.run(JextractTool.java:245) at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.main(JextractTool.java:157) I attempted to jextract a macOS lib using the following command: jextract --source \ -d /Users/sebastian/Desktop/SRC \ -lFileProvider \ -t org.cryptomator.fileprovider \ -I /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ \ -C"-F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" \ -C"-ObjC" \ -C"-v" \ -J-Djextract.debug=true \ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FileProvider.framework/Versions/A/Headers/FileProvider.h Just out of curiosity I attempted the same for different ObjC libs (such as Foundation.h), the stack trace is always the same. Maybe it is some ObjC language feature that results in an AST that isn't yet supported by jextract? My setup: - on macOS 11.3 - Xcode 12.5 - clang version 9.0.0 installed via homebrew I built the JDK (commit 204518d) using these flags: --with-boot-jdk=/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home/ --with-native-debug-symbols=none --with-debug-level=release --with-libclang=/usr/local/opt/llvm at 9 Thank you! On 4. May 2021, at 12:35, Sundararajan Athijegannathan > wrote: Hi, Will you please run jextract with -J-Djextract.debug=true? This should print stack trace on crash. Also, if possible please post header (assuming open source project) or code snippet from there that cases the mentioned failure. Thanks -Sundar ________________________________ From: panama-dev > on behalf of Sebastian Stenzel > Sent: 03 May 2021 11:05 To: panama-dev at openjdk.java.net > Subject: ClassCastException in jextract Hi, I'm currently attempting to jextract a library on macOS Big Sur but I run into exceptions, both with the latest EA build as well as a locally built snapshot (commit 204518d): class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') I guess that `TypeImpl$1` refers to `TypeImpl.DelegatedBase`, so the cast should be allowed. Is there anything I can do to get a more detailed output logged by jextract? Cheers! Sebastian From sebastian.stenzel at gmail.com Tue May 4 14:57:17 2021 From: sebastian.stenzel at gmail.com (Sebastian Stenzel) Date: Tue, 4 May 2021 16:57:17 +0200 Subject: [External] : Re: ClassCastException in jextract In-Reply-To: References: <6E6CE155-D248-467E-953E-8EAD1F295677@gmail.com> <6138A810-BD2D-4766-A05C-BE81C489F932@gmail.com> <94042A0D-9627-42AF-8BDB-A48B54AEE856@gmail.com> Message-ID: Yup. I assumed that jextract itself is language-agnostic as long as clang supports the language. Then I'll give up this idea. I had hoped to use Mac system libraries from within Java this way. > On 4. May 2021, at 16:53, Sundararajan Athijegannathan wrote: > > Btw are you trying to extract Objective C header? jextract as of now supports only C declarations. C++, Objective C declarations are not handled. That -C flag exists to pass other arguments/options to clang directly (say preprocessor defines). > > Thanks, > -Sundar > From: Sebastian Stenzel on behalf of Sebastian Stenzel > Sent: 04 May 2021 20:20 > To: Sundararajan Athijegannathan > Cc: panama-dev at openjdk.java.net > Subject: Re: [External] : Re: ClassCastException in jextract > > Sorry, this is the correct one: > > class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') > java.lang.ClassCastException: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') > at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTypedef(TreeMaker.java:245) > at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTreeInternal(TreeMaker.java:102) > at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTree(TreeMaker.java:80) > at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$2(Parser.java:86) > at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) > at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) > at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:67) > at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.parse(JextractTool.java:111) > at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.run(JextractTool.java:274) > at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.main(JextractTool.java:170) > >> On 4. May 2021, at 16:20, Sundararajan Athijegannathan > wrote: >> >> Thanks. >> >> I just checked line 246 of TreeMaker.java >> >> line 246 now has >> >> if (canonicalType instanceof Type.Declared) { >> >> >> which cannot throw ClassCastException. Most likely you've some dated version. Will you please try the latest code? >> >> Thanks, >> -Sundar >> >> From: Sebastian Stenzel > on behalf of Sebastian Stenzel > >> Sent: 04 May 2021 16:26 >> To: Sundararajan Athijegannathan > >> Cc: panama-dev at openjdk.java.net > >> Subject: [External] : Re: ClassCastException in jextract >> >> Hi, >> >> I need to correct my previous theory. TypeImpl$1 is obviously an anonymous class, most likely TypeImpl.ERROR. Here is the full stack trace: >> >> class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') >> java.lang.ClassCastException: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') >> at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTypedef(TreeMaker.java:246) >> at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTreeInternal(TreeMaker.java:103) >> at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTree(TreeMaker.java:81) >> at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$2(Parser.java:86) >> at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) >> at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) >> at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:67) >> at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.parse(JextractTool.java:112) >> at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.run(JextractTool.java:245) >> at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.main(JextractTool.java:157) >> >> I attempted to jextract a macOS lib using the following command: >> >> jextract --source \ >> -d /Users/sebastian/Desktop/SRC \ >> -lFileProvider \ >> -t org.cryptomator.fileprovider \ >> -I /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ \ >> -C"-F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" \ >> -C"-ObjC" \ >> -C"-v" \ >> -J-Djextract.debug=true \ >> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FileProvider.framework/Versions/A/Headers/FileProvider.h >> >> Just out of curiosity I attempted the same for different ObjC libs (such as Foundation.h), the stack trace is always the same. Maybe it is some ObjC language feature that results in an AST that isn't yet supported by jextract? >> >> My setup: >> - on macOS 11.3 >> - Xcode 12.5 >> - clang version 9.0.0 installed via homebrew >> >> I built the JDK (commit 204518d) using these flags: >> >> --with-boot-jdk=/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home/ >> --with-native-debug-symbols=none >> --with-debug-level=release >> --with-libclang=/usr/local/opt/llvm at 9 >> >> Thank you! >> >> >>> On 4. May 2021, at 12:35, Sundararajan Athijegannathan > wrote: >>> >>> Hi, >>> >>> Will you please run jextract with -J-Djextract.debug=true? This should print stack trace on crash. Also, if possible please post header (assuming open source project) or code snippet from there that cases the mentioned failure. >>> >>> Thanks >>> -Sundar >>> From: panama-dev > on behalf of Sebastian Stenzel > >>> Sent: 03 May 2021 11:05 >>> To: panama-dev at openjdk.java.net > >>> Subject: ClassCastException in jextract >>> >>> Hi, >>> >>> I'm currently attempting to jextract a library on macOS Big Sur but I run into exceptions, both with the latest EA build as well as a locally built snapshot (commit 204518d): >>> >>> class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') >>> >>> I guess that `TypeImpl$1` refers to `TypeImpl.DelegatedBase`, so the cast should be allowed. >>> >>> Is there anything I can do to get a more detailed output logged by jextract? >>> >>> Cheers! >>> Sebastian From maurizio.cimadamore at oracle.com Tue May 4 15:06:24 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 4 May 2021 16:06:24 +0100 Subject: [External] : Re: ClassCastException in jextract In-Reply-To: References: <6E6CE155-D248-467E-953E-8EAD1F295677@gmail.com> <6138A810-BD2D-4766-A05C-BE81C489F932@gmail.com> <94042A0D-9627-42AF-8BDB-A48B54AEE856@gmail.com> Message-ID: Thanks for the confirmation. In general there's a question as to what the behavior of jextract is when a feature in a language other than C is encountered. We could fail fast when we detect that a language level we do not support is used; or we could try to extract whatever we understand and skip the rest. Doing the latter is more convoluted, so I guess the question is if this was a case where the objective C dependency is "accidental" (in which case the skip semantics would have added value), or if it was a case (as I suspect) of a true objective C API (in which case skipping doesn't make much sense). Cheers Maurizio On 04/05/2021 15:57, Sebastian Stenzel wrote: > Yup. I assumed that jextract itself is language-agnostic as long as clang supports the language. > > Then I'll give up this idea. I had hoped to use Mac system libraries from within Java this way. > >> On 4. May 2021, at 16:53, Sundararajan Athijegannathan wrote: >> >> Btw are you trying to extract Objective C header? jextract as of now supports only C declarations. C++, Objective C declarations are not handled. That -C flag exists to pass other arguments/options to clang directly (say preprocessor defines). >> >> Thanks, >> -Sundar >> From: Sebastian Stenzel on behalf of Sebastian Stenzel >> Sent: 04 May 2021 20:20 >> To: Sundararajan Athijegannathan >> Cc: panama-dev at openjdk.java.net >> Subject: Re: [External] : Re: ClassCastException in jextract >> >> Sorry, this is the correct one: >> >> class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') >> java.lang.ClassCastException: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') >> at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTypedef(TreeMaker.java:245) >> at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTreeInternal(TreeMaker.java:102) >> at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTree(TreeMaker.java:80) >> at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$2(Parser.java:86) >> at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) >> at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) >> at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:67) >> at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.parse(JextractTool.java:111) >> at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.run(JextractTool.java:274) >> at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.main(JextractTool.java:170) >> >>> On 4. May 2021, at 16:20, Sundararajan Athijegannathan > wrote: >>> >>> Thanks. >>> >>> I just checked line 246 of TreeMaker.java >>> >>> line 246 now has >>> >>> if (canonicalType instanceof Type.Declared) { >>> >>> >>> which cannot throw ClassCastException. Most likely you've some dated version. Will you please try the latest code? >>> >>> Thanks, >>> -Sundar >>> >>> From: Sebastian Stenzel > on behalf of Sebastian Stenzel > >>> Sent: 04 May 2021 16:26 >>> To: Sundararajan Athijegannathan > >>> Cc: panama-dev at openjdk.java.net > >>> Subject: [External] : Re: ClassCastException in jextract >>> >>> Hi, >>> >>> I need to correct my previous theory. TypeImpl$1 is obviously an anonymous class, most likely TypeImpl.ERROR. Here is the full stack trace: >>> >>> class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') >>> java.lang.ClassCastException: class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') >>> at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTypedef(TreeMaker.java:246) >>> at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTreeInternal(TreeMaker.java:103) >>> at jdk.incubator.jextract/jdk.internal.jextract.impl.TreeMaker.createTree(TreeMaker.java:81) >>> at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.lambda$parse$2(Parser.java:86) >>> at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) >>> at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) >>> at jdk.incubator.jextract/jdk.internal.jextract.impl.Parser.parse(Parser.java:67) >>> at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.parse(JextractTool.java:112) >>> at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.run(JextractTool.java:245) >>> at jdk.incubator.jextract/jdk.incubator.jextract.JextractTool.main(JextractTool.java:157) >>> >>> I attempted to jextract a macOS lib using the following command: >>> >>> jextract --source \ >>> -d /Users/sebastian/Desktop/SRC \ >>> -lFileProvider \ >>> -t org.cryptomator.fileprovider \ >>> -I /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ \ >>> -C"-F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" \ >>> -C"-ObjC" \ >>> -C"-v" \ >>> -J-Djextract.debug=true \ >>> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/FileProvider.framework/Versions/A/Headers/FileProvider.h >>> >>> Just out of curiosity I attempted the same for different ObjC libs (such as Foundation.h), the stack trace is always the same. Maybe it is some ObjC language feature that results in an AST that isn't yet supported by jextract? >>> >>> My setup: >>> - on macOS 11.3 >>> - Xcode 12.5 >>> - clang version 9.0.0 installed via homebrew >>> >>> I built the JDK (commit 204518d) using these flags: >>> >>> --with-boot-jdk=/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home/ >>> --with-native-debug-symbols=none >>> --with-debug-level=release >>> --with-libclang=/usr/local/opt/llvm at 9 >>> >>> Thank you! >>> >>> >>>> On 4. May 2021, at 12:35, Sundararajan Athijegannathan > wrote: >>>> >>>> Hi, >>>> >>>> Will you please run jextract with -J-Djextract.debug=true? This should print stack trace on crash. Also, if possible please post header (assuming open source project) or code snippet from there that cases the mentioned failure. >>>> >>>> Thanks >>>> -Sundar >>>> From: panama-dev > on behalf of Sebastian Stenzel > >>>> Sent: 03 May 2021 11:05 >>>> To: panama-dev at openjdk.java.net > >>>> Subject: ClassCastException in jextract >>>> >>>> Hi, >>>> >>>> I'm currently attempting to jextract a library on macOS Big Sur but I run into exceptions, both with the latest EA build as well as a locally built snapshot (commit 204518d): >>>> >>>> class jdk.internal.jextract.impl.TypeImpl$1 cannot be cast to class jdk.incubator.jextract.Type$Delegated (jdk.internal.jextract.impl.TypeImpl$1 and jdk.incubator.jextract.Type$Delegated are in module jdk.incubator.jextract of loader 'app') >>>> >>>> I guess that `TypeImpl$1` refers to `TypeImpl.DelegatedBase`, so the cast should be allowed. >>>> >>>> Is there anything I can do to get a more detailed output logged by jextract? >>>> >>>> Cheers! >>>> Sebastian From sviswanathan at openjdk.java.net Tue May 4 16:02:58 2021 From: sviswanathan at openjdk.java.net (Sandhya Viswanathan) Date: Tue, 4 May 2021 16:02:58 GMT Subject: [vectorIntrinsics] RFR: Correct specification for length-invariance. In-Reply-To: References: Message-ID: On Mon, 3 May 2021 19:31:12 GMT, Paul Sandoz wrote: > Minor clarifications to the specification. Marked as reviewed by sviswanathan (Committer). Looks good to me. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/76 From psandoz at openjdk.java.net Tue May 4 16:07:12 2021 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Tue, 4 May 2021 16:07:12 GMT Subject: [vectorIntrinsics] Integrated: Correct specification for length-invariance. In-Reply-To: References: Message-ID: On Mon, 3 May 2021 19:31:12 GMT, Paul Sandoz wrote: > Minor clarifications to the specification. This pull request has now been integrated. Changeset: 106b69ab Author: Paul Sandoz URL: https://git.openjdk.java.net/panama-vector/commit/106b69abb150ed3fb1a43791cbd45c5e2e623744 Stats: 7 lines in 1 file changed: 1 ins; 0 del; 6 mod Correct specification for length-invariance. Reviewed-by: sviswanathan ------------- PR: https://git.openjdk.java.net/panama-vector/pull/76 From sundar at openjdk.java.net Wed May 5 16:22:36 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Wed, 5 May 2021 16:22:36 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading Message-ID: LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library ------------- Commit messages: - CLinker lookup method renamed CLinker.findNative and static. - 8265222: revisit foreign library loading Changes: https://git.openjdk.java.net/panama-foreign/pull/526/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=526&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8265222 Stats: 741 lines in 27 files changed: 151 ins; 541 del; 49 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/526.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/526/head:pull/526 PR: https://git.openjdk.java.net/panama-foreign/pull/526 From jvernee at openjdk.java.net Wed May 5 16:36:12 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Wed, 5 May 2021 16:36:12 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading In-Reply-To: References: Message-ID: On Wed, 5 May 2021 16:16:50 GMT, Athijegannathan Sundararajan wrote: > LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library src/java.base/windows/native/libjava/jni_util_md.c line 44: > 42: * default library behaviour. > 43: */ > 44: void* findEntryInProcess(const char* name) { I think removing this also allows the removal of `#include ` from the includes. I'll give it a try here as well. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From mcimadamore at openjdk.java.net Wed May 5 16:52:08 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 5 May 2021 16:52:08 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading In-Reply-To: References: Message-ID: <5Py1IpGr8oFmEAFMJdmF13k_57PFdD0qunz_DArAsCA=.62fb895b-2997-464a-9c1f-058cf80caff3@github.com> On Wed, 5 May 2021 16:16:50 GMT, Athijegannathan Sundararajan wrote: > LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library Looks like a good simplification! Some comments added. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 133: > 131: > 132: @CallerSensitive > 133: public static Optional findNative(String name) { Security manager checks should be removed here. Also, the method is missing javadoc. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From jvernee at openjdk.java.net Wed May 5 16:52:09 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Wed, 5 May 2021 16:52:09 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading In-Reply-To: References: Message-ID: <_foSw-H0aW5hvB-qktfWG6LPYMz_w6m-S3DEzTzRuK4=.87ce5b9b-fac5-4079-8d3a-11231351d6ff@github.com> On Wed, 5 May 2021 16:16:50 GMT, Athijegannathan Sundararajan wrote: > LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 422: > 420: FunctionDescriptor.of(C_POINTER, C_LONG_LONG)); > 421: > 422: static final MethodHandle MH_FREE = linker.downcallHandle(CLinker.findNative("free").get(), These symbol lookups fail on Windows. test/jdk/java/foreign/libStdLibTest.h line 43: > 41: EXPORT void libc_qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)); > 42: EXPORT int libc_rand(void); > 43: EXPORT int vprintf(const char *format, va_list arg); This declaration of `vprintf` gives an error on Windows, is it needed? The test passes without as well. (should came of stdio.h I'd think) test\jdk\java\foreign\libStdLibTest.h(43): error C2375: 'vprintf': redefinition; different linkage c:\progra~2\wi3cf2~1\10\include\100183~1.0\ucrt\stdio.h(738): note: see declaration of 'vprintf' ... (rest of output omitted) ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From sundar at openjdk.java.net Wed May 5 17:05:14 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Wed, 5 May 2021 17:05:14 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading In-Reply-To: <5Py1IpGr8oFmEAFMJdmF13k_57PFdD0qunz_DArAsCA=.62fb895b-2997-464a-9c1f-058cf80caff3@github.com> References: <5Py1IpGr8oFmEAFMJdmF13k_57PFdD0qunz_DArAsCA=.62fb895b-2997-464a-9c1f-058cf80caff3@github.com> Message-ID: On Wed, 5 May 2021 16:48:08 GMT, Maurizio Cimadamore wrote: >> LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 133: > >> 131: >> 132: @CallerSensitive >> 133: public static Optional findNative(String name) { > > Security manager checks should be removed here. Also, the method is missing javadoc. Will remove security manager checks and add javadoc comment ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From jvernee at openjdk.java.net Wed May 5 17:08:58 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Wed, 5 May 2021 17:08:58 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading In-Reply-To: References: Message-ID: On Wed, 5 May 2021 16:33:37 GMT, Jorn Vernee wrote: >> LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library > > src/java.base/windows/native/libjava/jni_util_md.c line 44: > >> 42: * default library behaviour. >> 43: */ >> 44: void* findEntryInProcess(const char* name) { > > I think removing this also allows the removal of `#include ` from the includes. I'll give it a try here as well. Confirmed, removing the include is safe. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From mcimadamore at openjdk.java.net Wed May 5 17:27:59 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 5 May 2021 17:27:59 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading In-Reply-To: References: Message-ID: On Wed, 5 May 2021 16:16:50 GMT, Athijegannathan Sundararajan wrote: > LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library Microbenchmarks also need updating - otherwise build fails here: test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverheadHelper.java:28: error: cannot find symbol import jdk.incubator.foreign.LibraryLookup; ^ symbol: class LibraryLookup location: package jdk.incubator.foreign test/micro/org/openjdk/bench/jdk/incubator/foreign/StrLenTest.java:30: error: cannot find symbol import jdk.incubator.foreign.LibraryLookup; ^ symbol: class LibraryLookup location: package jdk.incubator.foreign test/micro/org/openjdk/bench/jdk/incubator/foreign/Upcalls.java:26: error: cannot find symbol import jdk.incubator.foreign.LibraryLookup; ^ symbol: class LibraryLookup location: package jdk.incubator.foreign ... (rest of output omitted) ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From jvernee at openjdk.java.net Wed May 5 18:27:11 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Wed, 5 May 2021 18:27:11 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading In-Reply-To: <_foSw-H0aW5hvB-qktfWG6LPYMz_w6m-S3DEzTzRuK4=.87ce5b9b-fac5-4079-8d3a-11231351d6ff@github.com> References: <_foSw-H0aW5hvB-qktfWG6LPYMz_w6m-S3DEzTzRuK4=.87ce5b9b-fac5-4079-8d3a-11231351d6ff@github.com> Message-ID: On Wed, 5 May 2021 16:49:04 GMT, Jorn Vernee wrote: >> LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library > > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 422: > >> 420: FunctionDescriptor.of(C_POINTER, C_LONG_LONG)); >> 421: >> 422: static final MethodHandle MH_FREE = linker.downcallHandle(CLinker.findNative("free").get(), > > These symbol lookups fail on Windows. Following fix works: diff --git a/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java b/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java index d705d414c0d..708c005d1d9 100644 --- a/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java +++ b/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java @@ -50,6 +50,7 @@ import java.lang.invoke.MethodType; import java.lang.invoke.VarHandle; import java.lang.ref.Reference; import java.nio.charset.Charset; +import java.nio.file.Path; import java.util.List; import java.util.Map; import java.util.function.Consumer; @@ -415,6 +416,9 @@ public class SharedUtils { private static class AllocHolder { private static final CLinker linker = getSystemLinker(); + static { + System.load(Path.of(System.getenv("SystemRoot"), "System32", "msvcrt.dll").toAbsolutePath().toString()); + } static final MethodHandle MH_MALLOC = linker.downcallHandle(CLinker.findNative("malloc").get(), MethodType.methodType(MemoryAddress.class, long.class), FunctionDescriptor.of(C_POINTER, C_LONG_LONG)); ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From xgong at openjdk.java.net Thu May 6 10:18:31 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Thu, 6 May 2021 10:18:31 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support Message-ID: Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains: 1) Generation of the mask IRs for vector mask, including: - Mask generations, e.g. load/compare/maskAll - Mask operations, e.g. and/or/xor 2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory 3) Generation of the vector IRs which need the mask value as the control - The mask value is appended to the original vector node's input list With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added. Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the followed-up patches. [1] https://github.com/openjdk/panama-vector/pull/57 ------------- Commit messages: - 8266287: Basic mask IR implementation for the Vector API masking feature support Changes: https://git.openjdk.java.net/panama-vector/pull/78/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=78&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266287 Stats: 500 lines in 13 files changed: 416 ins; 44 del; 40 mod Patch: https://git.openjdk.java.net/panama-vector/pull/78.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/78/head:pull/78 PR: https://git.openjdk.java.net/panama-vector/pull/78 From sundar at openjdk.java.net Thu May 6 11:00:10 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 6 May 2021 11:00:10 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading In-Reply-To: References: Message-ID: <5c-z3k579sSpYc-xr5i9PtvHQw6DIopB6ULvKXilywA=.f5c8db93-3e1a-45bb-84e5-7c39af8fc063@github.com> On Wed, 5 May 2021 17:06:25 GMT, Jorn Vernee wrote: >> src/java.base/windows/native/libjava/jni_util_md.c line 44: >> >>> 42: * default library behaviour. >>> 43: */ >>> 44: void* findEntryInProcess(const char* name) { >> >> I think removing this also allows the removal of `#include ` from the includes. I'll give it a try here as well. > > Confirmed, removing the include is safe. Thanks. Will remove that include. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From sundar at openjdk.java.net Thu May 6 11:05:25 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 6 May 2021 11:05:25 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading In-Reply-To: References: <_foSw-H0aW5hvB-qktfWG6LPYMz_w6m-S3DEzTzRuK4=.87ce5b9b-fac5-4079-8d3a-11231351d6ff@github.com> Message-ID: On Wed, 5 May 2021 18:24:11 GMT, Jorn Vernee wrote: >> src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 422: >> >>> 420: FunctionDescriptor.of(C_POINTER, C_LONG_LONG)); >>> 421: >>> 422: static final MethodHandle MH_FREE = linker.downcallHandle(CLinker.findNative("free").get(), >> >> These symbol lookups fail on Windows. > > Following fix works: > > > diff --git a/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java b/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java > index d705d414c0d..708c005d1d9 100644 > --- a/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java > +++ b/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java > @@ -50,6 +50,7 @@ import java.lang.invoke.MethodType; > import java.lang.invoke.VarHandle; > import java.lang.ref.Reference; > import java.nio.charset.Charset; > +import java.nio.file.Path; > import java.util.List; > import java.util.Map; > import java.util.function.Consumer; > @@ -415,6 +416,9 @@ public class SharedUtils { > private static class AllocHolder { > > private static final CLinker linker = getSystemLinker(); > + static { > + System.load(Path.of(System.getenv("SystemRoot"), "System32", "msvcrt.dll").toAbsolutePath().toString()); > + } > static final MethodHandle MH_MALLOC = linker.downcallHandle(CLinker.findNative("malloc").get(), > MethodType.methodType(MemoryAddress.class, long.class), > FunctionDescriptor.of(C_POINTER, C_LONG_LONG)); Yes, will add this as temporary hack for Windows. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From sundar at openjdk.java.net Thu May 6 13:25:41 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 6 May 2021 13:25:41 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading [v2] In-Reply-To: References: Message-ID: > LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: Windows hack for malloc/free. fixed javadoc comments. benchmarks use new APIs. removed psapi.h header include. ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/526/files - new: https://git.openjdk.java.net/panama-foreign/pull/526/files/f9104fa2..d79b4f9e Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=526&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=526&range=00-01 Stats: 93 lines in 12 files changed: 43 ins; 12 del; 38 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/526.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/526/head:pull/526 PR: https://git.openjdk.java.net/panama-foreign/pull/526 From mcimadamore at openjdk.java.net Thu May 6 13:40:13 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 6 May 2021 13:40:13 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading [v2] In-Reply-To: References: Message-ID: <34A8mLkSvtLnvrXIwlt_T4DEa7cgkzBn_R6K6Nwd01Y=.cd4f362e-19f8-418b-9e1c-bbf574ebdca9@github.com> On Thu, 6 May 2021 13:25:41 GMT, Athijegannathan Sundararajan wrote: >> LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library > > Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: > > Windows hack for malloc/free. fixed javadoc comments. benchmarks use new APIs. removed psapi.h header include. Looks good - added some javadoc suggestions src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 134: > 132: > 133: /** > 134: * Looks up a symbol with the given name in the native libraries loaded by the caller's classloader. Suggestion: * Finds the address of a symbol with given name in one of the native libraries associated with the caller's classloader (that is, libraries loaded using {@link System#loadLibrary} or {@link System#load}). src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 142: > 140: * restricted methods, and use safe and supported functionalities, where possible. > 141: * > 142: * @param name the symbol name. Suggestion: * @param the name of the symbol to be searched. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 143: > 141: * > 142: * @param name the symbol name. > 143: * @return the memory address associated with the library symbol (if any). Suggestion: * @return the address of a symbol with given name in one of the native libraries associated with the caller's classloader (if any). src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java line 120: > 118: * } > 119: * > 120: * Here, we lookup the {@code strlen} symbol. C runtime library should have been loaded earlier using {@link System#loadLibrary(String)}. Suggestion: * Here, we lookup the {@code strlen} symbol; this assumes that a library containing the `strlen` symbol has been loaded earlier, e.g. using {@link System#loadLibrary(String)}. src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 419: > 417: > 418: private static final CLinker linker = getSystemLinker(); > 419: // FIXME: This should go away. This is temporary hack to get testing on Windows going. Move the fixme closer to the hack, right before the `if` in the static block ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From sundar at openjdk.java.net Thu May 6 14:07:01 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 6 May 2021 14:07:01 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading [v2] In-Reply-To: <34A8mLkSvtLnvrXIwlt_T4DEa7cgkzBn_R6K6Nwd01Y=.cd4f362e-19f8-418b-9e1c-bbf574ebdca9@github.com> References: <34A8mLkSvtLnvrXIwlt_T4DEa7cgkzBn_R6K6Nwd01Y=.cd4f362e-19f8-418b-9e1c-bbf574ebdca9@github.com> Message-ID: On Thu, 6 May 2021 13:34:55 GMT, Maurizio Cimadamore wrote: >> Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: >> >> Windows hack for malloc/free. fixed javadoc comments. benchmarks use new APIs. removed psapi.h header include. > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 142: > >> 140: * restricted methods, and use safe and supported functionalities, where possible. >> 141: * >> 142: * @param name the symbol name. > > Suggestion: > > * @param the name of the symbol to be searched. will do > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 143: > >> 141: * >> 142: * @param name the symbol name. >> 143: * @return the memory address associated with the library symbol (if any). > > Suggestion: > > * @return the address of a symbol with given name in one of the native libraries associated with the caller's classloader (if any). will do ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From duke at openjdk.java.net Thu May 6 14:25:06 2021 From: duke at openjdk.java.net (duke) Date: Thu, 6 May 2021 14:25:06 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <946b8636-b926-4a48-935d-dfe70b629b94@openjdk.org> Changeset: e8043ed7 Author: Athijegannathan Sundararajan Date: 2021-05-06 14:23:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e8043ed7982e8609bcf0e5104cc37b5148caa40d 8265222: revisit foreign library loading Reviewed-by: mcimadamore ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java ! src/java.base/share/native/libjava/NativeLibraries.c ! src/java.base/share/native/libjava/jni_util.h ! src/java.base/unix/native/libjava/jni_util_md.c ! src/java.base/windows/native/libjava/jni_util_md.c ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/LibraryLookup.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LibrariesHelper.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java ! test/jdk/java/foreign/SafeFunctionAccessTest.java ! test/jdk/java/foreign/StdLibTest.java ! test/jdk/java/foreign/TestDowncall.java ! test/jdk/java/foreign/TestIntrinsics.java ! test/jdk/java/foreign/TestLibraryLookup.java ! test/jdk/java/foreign/TestNulls.java ! test/jdk/java/foreign/TestUpcall.java ! test/jdk/java/foreign/TestUpcallHighArity.java ! test/jdk/java/foreign/TestUpcallStructScope.java ! test/jdk/java/foreign/TestVarArgs.java + test/jdk/java/foreign/libStdLibTest.c + test/jdk/java/foreign/libStdLibTest.h ! test/jdk/java/foreign/stackwalk/TestStackWalk.java ! test/jdk/java/foreign/valist/VaListTest.java ! test/jdk/java/foreign/virtual/TestVirtualCalls.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverheadConstant.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverheadHelper.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverheadVirtual.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/StrLenTest.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/Upcalls.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/VaList.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/libStrLen.c ! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/PanamaPoint.java Changeset: c96f62c0 Author: duke Date: 2021-05-06 14:24:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c96f62c0586ad60518a6512dae40df1bcedb6984 Automatic merge of foreign-memaccess+abi into foreign-jextract From sundar at openjdk.java.net Thu May 6 14:26:42 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 6 May 2021 14:26:42 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading [v3] In-Reply-To: References: Message-ID: > LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library Athijegannathan Sundararajan has updated the pull request incrementally with three additional commits since the last revision: - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java Co-authored-by: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java Co-authored-by: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com> - code review changes for javadoc and code comments. ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/526/files - new: https://git.openjdk.java.net/panama-foreign/pull/526/files/d79b4f9e..197db28d Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=526&range=02 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=526&range=01-02 Stats: 12 lines in 3 files changed: 6 ins; 2 del; 4 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/526.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/526/head:pull/526 PR: https://git.openjdk.java.net/panama-foreign/pull/526 From mcimadamore at openjdk.java.net Thu May 6 14:26:44 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 6 May 2021 14:26:44 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading [v3] In-Reply-To: References: Message-ID: On Thu, 6 May 2021 14:23:31 GMT, Athijegannathan Sundararajan wrote: >> LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library > > Athijegannathan Sundararajan has updated the pull request incrementally with three additional commits since the last revision: > > - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java > > Co-authored-by: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com> > - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java > > Co-authored-by: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com> > - code review changes for javadoc and code comments. Some more javadoc comments Marked as reviewed by mcimadamore (Committer). src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 143: > 141: * restricted methods, and use safe and supported functionalities, where possible. > 142: * > 143: * @param name of the symbol to be searched. Suggestion: * @param name the name of the symbol to be searched. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java line 120: > 118: * } > 119: * > 120: * Here, we lookup the {@code strlen} symbol; this assumes that a library containing the `strlen` symbol has been loaded Suggestion: * Here, we lookup the {@code strlen} symbol; this assumes that a library containing the {@code strlen} symbol has been loaded ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From sundar at openjdk.java.net Thu May 6 14:26:49 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 6 May 2021 14:26:49 GMT Subject: [foreign-memaccess+abi] RFR: 8265222: revisit foreign library loading [v2] In-Reply-To: <34A8mLkSvtLnvrXIwlt_T4DEa7cgkzBn_R6K6Nwd01Y=.cd4f362e-19f8-418b-9e1c-bbf574ebdca9@github.com> References: <34A8mLkSvtLnvrXIwlt_T4DEa7cgkzBn_R6K6Nwd01Y=.cd4f362e-19f8-418b-9e1c-bbf574ebdca9@github.com> Message-ID: On Thu, 6 May 2021 13:29:20 GMT, Maurizio Cimadamore wrote: >> Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: >> >> Windows hack for malloc/free. fixed javadoc comments. benchmarks use new APIs. removed psapi.h header include. > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 134: > >> 132: >> 133: /** >> 134: * Looks up a symbol with the given name in the native libraries loaded by the caller's classloader. > > Suggestion: > > * Finds the address of a symbol with given name in one of the native libraries associated with the caller's classloader (that is, libraries loaded using {@link System#loadLibrary} or {@link System#load}). will change > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java line 120: > >> 118: * } >> 119: * >> 120: * Here, we lookup the {@code strlen} symbol. C runtime library should have been loaded earlier using {@link System#loadLibrary(String)}. > > Suggestion: > > * Here, we lookup the {@code strlen} symbol; this assumes that a library containing the `strlen` symbol has been loaded earlier, e.g. using {@link System#loadLibrary(String)}. will fix > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 419: > >> 417: >> 418: private static final CLinker linker = getSystemLinker(); >> 419: // FIXME: This should go away. This is temporary hack to get testing on Windows going. > > Move the fixme closer to the hack, right before the `if` in the static block will do ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From sundar at openjdk.java.net Thu May 6 14:26:54 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 6 May 2021 14:26:54 GMT Subject: [foreign-memaccess+abi] Integrated: 8265222: revisit foreign library loading In-Reply-To: References: Message-ID: <-wgjUQ1a1ziMsvTngr1XUmC7FE5d776RQqh3i_jyHHs=.50b83445-d1a4-4b94-9aab-c4e0c11b8367@github.com> On Wed, 5 May 2021 16:16:50 GMT, Athijegannathan Sundararajan wrote: > LibraryLookup removed. CLinker.findNative added. System.loadLibrary has to be used to load library This pull request has now been integrated. Changeset: e8043ed7 Author: Athijegannathan Sundararajan URL: https://git.openjdk.java.net/panama-foreign/commit/e8043ed7982e8609bcf0e5104cc37b5148caa40d Stats: 828 lines in 36 files changed: 193 ins; 548 del; 87 mod 8265222: revisit foreign library loading Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/526 From mcimadamore at openjdk.java.net Thu May 6 16:54:43 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 6 May 2021 16:54:43 GMT Subject: [foreign-memaccess+abi] RFR: 8266627: CLinker allocateMemory, freeMemory implementation should not use default lookup Message-ID: <8RxYV9mU-39ahqcghXoCWMa843qUx_wfOBPs-seYKfE=.f337eac1-e7e7-4437-8ea7-ba9853633b5d@github.com> This patch removes the workaround on Windows which requires loading msvcrt.dll. The solution is to create (Java side) a memory segment and fill it with function pointers on the VM side. This way, Java code can look up VM functions easily. I've moved this support onto a different class, as the approach might, in the future, be required for other VM functions. ------------- Commit messages: - Initial push Changes: https://git.openjdk.java.net/panama-foreign/pull/527/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=527&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266627 Stats: 147 lines in 3 files changed: 122 ins; 23 del; 2 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/527.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/527/head:pull/527 PR: https://git.openjdk.java.net/panama-foreign/pull/527 From psandoz at openjdk.java.net Thu May 6 17:58:06 2021 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Thu, 6 May 2021 17:58:06 GMT Subject: [vectorIntrinsics] RFR: 8244490: [vector] Move Vector API micro benchmarks under test/micro In-Reply-To: References: Message-ID: On Mon, 3 May 2021 20:52:50 GMT, Marcus G K Williams wrote: > Vector API micro benchmarks are currently located under test/jdk/jdk/incubator/vector/benchmark which makes them rather as "dead" code without possibility to built and run. > > The proper location for micro benchmarks is actually test/micro/ directory. > It would be nice to move Vector API benchmarks there so they can be built automatically as part 'test-image' make target. > Once they are built they can be run as > make run-test TEST=micro:BENCHMARK_TEST_NAME I looked more in detail, there are some immediate issues, and i think an architectural issue with the split. The more immediate issues are: 1. Some benchmark tests fail to build via `make`. Some are related to bad ASCII characters in comments, some due to compiler warnings, and others due to external dependencies in the `pom.xml` (namely `org.junit.jupiter:junit-jupiter-api`). I think all those are fixable. (See https://openjdk.java.net/groups/build/doc/testing.html for configuring, compiling, and executing JMH tests.) 2. The structure under `test/micro` is misleading, and does not follow directory to package name convention. This is also fixable. I think we need to remove the maven project and merge in under `test/micro/org/openjdk/bench/jdk/incubator/vector`. We remove the maven project and place the non-generated benchmark files directly under the aforementioned directory (and fix the ones that fail to compile). Generated benchmarks could be placed under, say, `operation`. Initially I thought it was fine that generation scripts were split between unit tests and performance tests, but architecturally, i now think it better to keep one set of bash scripts for generated code, maintained under the `vector` module. These are complex and splitting will cause divergence. These scripts can generate the `operation` performance tests under the `test/micro` directory at the appropriate location. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/77 From mgkwill at openjdk.java.net Thu May 6 18:05:00 2021 From: mgkwill at openjdk.java.net (Marcus G K Williams) Date: Thu, 6 May 2021 18:05:00 GMT Subject: [vectorIntrinsics] RFR: 8244490: [vector] Move Vector API micro benchmarks under test/micro In-Reply-To: References: Message-ID: On Thu, 6 May 2021 17:54:37 GMT, Paul Sandoz wrote: > I looked more in detail, there are some immediate issues, and i think an architectural issue with the split. > Thanks for the taking a look @PaulSandoz. > The more immediate issues are: > > 1. Some benchmark tests fail to build via `make`. Some are related to bad ASCII characters in comments, some due to compiler warnings, and others due to external dependencies in the `pom.xml` (namely `org.junit.jupiter:junit-jupiter-api`). I think all those are fixable. (See https://openjdk.java.net/groups/build/doc/testing.html for configuring, compiling, and executing JMH tests.) Noted. I'll take a look and fix. > 2. The structure under `test/micro` is misleading, and does not follow directory to package name convention. This is also fixable. I think we need to remove the maven project and merge in under `test/micro/org/openjdk/bench/jdk/incubator/vector`. We remove the maven project and place the non-generated benchmark files directly under the aforementioned directory (and fix the ones that fail to compile). Generated benchmarks could be placed under, say, `operation`. > +1 > Initially I thought it was fine that generation scripts were split between unit tests and performance tests, but architecturally, i now think it better to keep one set of bash scripts for generated code, maintained under the `vector` module. These are complex and splitting will cause divergence. These scripts can generate the `operation` performance tests under the `test/micro` directory at the appropriate location. Agreed. I was a bit worried about maintenance and divergence also. I'll revert that portion and instead generate under `test/micro` ... `operation`. Updated patch coming in a few days. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/77 From jvernee at openjdk.java.net Thu May 6 18:12:58 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 6 May 2021 18:12:58 GMT Subject: [foreign-memaccess+abi] RFR: 8266627: CLinker allocateMemory, freeMemory implementation should not use default lookup In-Reply-To: <8RxYV9mU-39ahqcghXoCWMa843qUx_wfOBPs-seYKfE=.f337eac1-e7e7-4437-8ea7-ba9853633b5d@github.com> References: <8RxYV9mU-39ahqcghXoCWMa843qUx_wfOBPs-seYKfE=.f337eac1-e7e7-4437-8ea7-ba9853633b5d@github.com> Message-ID: On Thu, 6 May 2021 16:48:39 GMT, Maurizio Cimadamore wrote: > This patch removes the workaround on Windows which requires loading msvcrt.dll. > > The solution is to create (Java side) a memory segment and fill it with function pointers on the VM side. > This way, Java code can look up VM functions easily. I've moved this support onto a different class, as the approach might, in the future, be required for other VM functions. LGTM src/java.base/share/native/libjava/VMFunctions.c line 27: > 25: > 26: #include > 27: #include Curious; why is this assert.h include needed? (usually assert.h conflicts with hotspot's own assert) ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/527 From mcimadamore at openjdk.java.net Thu May 6 18:27:11 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 6 May 2021 18:27:11 GMT Subject: [foreign-memaccess+abi] RFR: 8266627: CLinker allocateMemory, freeMemory implementation should not use default lookup In-Reply-To: References: <8RxYV9mU-39ahqcghXoCWMa843qUx_wfOBPs-seYKfE=.f337eac1-e7e7-4437-8ea7-ba9853633b5d@github.com> Message-ID: <8w3PQ02mCQg37LbNmpZqrmrqWU27zEc-PgJ_veIG0sc=.4f2cc894-8f8c-45dd-a801-432b839a869f@github.com> On Thu, 6 May 2021 18:07:32 GMT, Jorn Vernee wrote: >> This patch removes the workaround on Windows which requires loading msvcrt.dll. >> >> The solution is to create (Java side) a memory segment and fill it with function pointers on the VM side. >> This way, Java code can look up VM functions easily. I've moved this support onto a different class, as the approach might, in the future, be required for other VM functions. > > src/java.base/share/native/libjava/VMFunctions.c line 27: > >> 25: >> 26: #include >> 27: #include > > Curious; why is this assert.h include needed? (usually assert.h conflicts with hotspot's own assert) No reason, I realized that I had it at some point but then cleaned up code... it's a leftover ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/527 From jvernee at openjdk.java.net Thu May 6 19:07:48 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 6 May 2021 19:07:48 GMT Subject: [foreign-memaccess+abi] RFR: Minor Windows build fixes Message-ID: Some minor changes to fix build errors/warnings on Windows: - Remove spurious `vprintf` declaration in libStdLibTest.h (it is already included as part of stdio.h). This was causing an error due to a conflicting declaration. - Remove `return` before free in benchmark lib. This was causing a warning that was then treated as an error. Thanks, Jorn ------------- Commit messages: - - Remove spurious vprintf declaration Changes: https://git.openjdk.java.net/panama-foreign/pull/528/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=528&range=00 Stats: 2 lines in 2 files changed: 0 ins; 1 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/528.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/528/head:pull/528 PR: https://git.openjdk.java.net/panama-foreign/pull/528 From mcimadamore at openjdk.java.net Thu May 6 20:16:43 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 6 May 2021 20:16:43 GMT Subject: [foreign-memaccess+abi] RFR: 8266627: CLinker allocateMemory, freeMemory implementation should not use default lookup [v2] In-Reply-To: <8RxYV9mU-39ahqcghXoCWMa843qUx_wfOBPs-seYKfE=.f337eac1-e7e7-4437-8ea7-ba9853633b5d@github.com> References: <8RxYV9mU-39ahqcghXoCWMa843qUx_wfOBPs-seYKfE=.f337eac1-e7e7-4437-8ea7-ba9853633b5d@github.com> Message-ID: > This patch removes the workaround on Windows which requires loading msvcrt.dll. > > The solution is to create (Java side) a memory segment and fill it with function pointers on the VM side. > This way, Java code can look up VM functions easily. I've moved this support onto a different class, as the approach might, in the future, be required for other VM functions. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Remove spurious #include ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/527/files - new: https://git.openjdk.java.net/panama-foreign/pull/527/files/20d183b6..a433c699 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=527&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=527&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/527.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/527/head:pull/527 PR: https://git.openjdk.java.net/panama-foreign/pull/527 From mcimadamore at openjdk.java.net Thu May 6 20:20:00 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 6 May 2021 20:20:00 GMT Subject: [foreign-memaccess+abi] RFR: Minor Windows build fixes In-Reply-To: References: Message-ID: On Thu, 6 May 2021 19:01:45 GMT, Jorn Vernee wrote: > Some minor changes to fix build errors/warnings on Windows: > > - Remove spurious `vprintf` declaration in libStdLibTest.h (it is already included as part of stdio.h). This was causing an error due to a conflicting declaration. > - Remove `return` before free in benchmark lib. This was causing a warning that was then treated as an error. > > Thanks, > Jorn test/jdk/java/foreign/libStdLibTest.h line 43: > 41: EXPORT void libc_qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)); > 42: EXPORT int libc_rand(void); > 43: EXPORT int vprintf(const char *format, va_list arg); Something odd here - I note that the header has vprintf - but the impl has libc_vprintf - should we maybe add `libc_vprintf` in the header instead of just remove (and than make sure right symbol is used in test) ? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/528 From mcimadamore at openjdk.java.net Thu May 6 20:20:00 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 6 May 2021 20:20:00 GMT Subject: [foreign-memaccess+abi] RFR: Minor Windows build fixes In-Reply-To: References: Message-ID: On Thu, 6 May 2021 20:15:07 GMT, Maurizio Cimadamore wrote: >> Some minor changes to fix build errors/warnings on Windows: >> >> - Remove spurious `vprintf` declaration in libStdLibTest.h (it is already included as part of stdio.h). This was causing an error due to a conflicting declaration. >> - Remove `return` before free in benchmark lib. This was causing a warning that was then treated as an error. >> >> Thanks, >> Jorn > > test/jdk/java/foreign/libStdLibTest.h line 43: > >> 41: EXPORT void libc_qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)); >> 42: EXPORT int libc_rand(void); >> 43: EXPORT int vprintf(const char *format, va_list arg); > > Something odd here - I note that the header has vprintf - but the impl has libc_vprintf - should we maybe add `libc_vprintf` in the header instead of just remove (and than make sure right symbol is used in test) ? Btw - do we really need an header for the test library? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/528 From mcimadamore at openjdk.java.net Thu May 6 20:56:05 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 6 May 2021 20:56:05 GMT Subject: [foreign-memaccess+abi] Integrated: 8266627: CLinker allocateMemory, freeMemory implementation should not use default lookup In-Reply-To: <8RxYV9mU-39ahqcghXoCWMa843qUx_wfOBPs-seYKfE=.f337eac1-e7e7-4437-8ea7-ba9853633b5d@github.com> References: <8RxYV9mU-39ahqcghXoCWMa843qUx_wfOBPs-seYKfE=.f337eac1-e7e7-4437-8ea7-ba9853633b5d@github.com> Message-ID: On Thu, 6 May 2021 16:48:39 GMT, Maurizio Cimadamore wrote: > This patch removes the workaround on Windows which requires loading msvcrt.dll. > > The solution is to create (Java side) a memory segment and fill it with function pointers on the VM side. > This way, Java code can look up VM functions easily. I've moved this support onto a different class, as the approach might, in the future, be required for other VM functions. This pull request has now been integrated. Changeset: d0a7098c Author: Maurizio Cimadamore URL: https://git.openjdk.java.net/panama-foreign/commit/d0a7098c48af49e67879aa6d3fcef6300df6f180 Stats: 146 lines in 3 files changed: 121 ins; 23 del; 2 mod 8266627: CLinker allocateMemory, freeMemory implementation should not use default lookup Reviewed-by: jvernee ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/527 From jvernee at openjdk.java.net Thu May 6 21:08:32 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 6 May 2021 21:08:32 GMT Subject: [foreign-memaccess+abi] RFR: Minor Windows build fixes [v2] In-Reply-To: References: Message-ID: > Some minor changes to fix build errors/warnings on Windows: > > - Remove spurious `vprintf` declaration in libStdLibTest.h (it is already included as part of stdio.h). This was causing an error due to a conflicting declaration. > - Remove `return` before free in benchmark lib. This was causing a warning that was then treated as an error. > > Thanks, > Jorn Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: Remove libStdLibTest.h ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/528/files - new: https://git.openjdk.java.net/panama-foreign/pull/528/files/edca6059..49ea9ce0 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=528&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=528&range=00-01 Stats: 54 lines in 2 files changed: 10 ins; 43 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/528.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/528/head:pull/528 PR: https://git.openjdk.java.net/panama-foreign/pull/528 From jvernee at openjdk.java.net Thu May 6 21:08:33 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 6 May 2021 21:08:33 GMT Subject: [foreign-memaccess+abi] RFR: Minor Windows build fixes [v2] In-Reply-To: References: Message-ID: On Thu, 6 May 2021 20:17:02 GMT, Maurizio Cimadamore wrote: >> test/jdk/java/foreign/libStdLibTest.h line 43: >> >>> 41: EXPORT void libc_qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)); >>> 42: EXPORT int libc_rand(void); >>> 43: EXPORT int vprintf(const char *format, va_list arg); >> >> Something odd here - I note that the header has vprintf - but the impl has libc_vprintf - should we maybe add `libc_vprintf` in the header instead of just remove (and than make sure right symbol is used in test) ? > > Btw - do we really need an header for the test library? Oh, ok. I misread and though vprintf was only use to forward arguments from libc_printf, and didn't see libc_vprintf is also defined. You're right that a header file is not really needed. I'll just remove it, and move the relevant stuff to the .c file instead. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/528 From mcimadamore at openjdk.java.net Thu May 6 21:15:02 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 6 May 2021 21:15:02 GMT Subject: [foreign-memaccess+abi] RFR: Minor Windows build fixes [v2] In-Reply-To: References: Message-ID: On Thu, 6 May 2021 21:08:32 GMT, Jorn Vernee wrote: >> Some minor changes to fix build errors/warnings on Windows: >> >> - Remove spurious `vprintf` declaration in libStdLibTest.h (it is already included as part of stdio.h). This was causing an error due to a conflicting declaration. >> - Remove `return` before free in benchmark lib. This was causing a warning that was then treated as an error. >> >> Thanks, >> Jorn > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > Remove libStdLibTest.h Looks good! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/528 From duke at openjdk.java.net Thu May 6 20:54:00 2021 From: duke at openjdk.java.net (duke) Date: Thu, 6 May 2021 20:54:00 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <27f30323-c0cd-4083-bd5a-e530d18bf685@openjdk.org> Changeset: d0a7098c Author: Maurizio Cimadamore Date: 2021-05-06 20:51:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d0a7098c48af49e67879aa6d3fcef6300df6f180 8266627: CLinker allocateMemory, freeMemory implementation should not use default lookup Reviewed-by: jvernee + src/java.base/share/native/libjava/VMFunctions.c ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/VMFunctions.java Changeset: aea7699d Author: duke Date: 2021-05-06 20:53:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aea7699d83b1b69a56d29b7183680e688e74348d Automatic merge of foreign-memaccess+abi into foreign-jextract From sundar at openjdk.java.net Fri May 7 06:32:40 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 7 May 2021 06:32:40 GMT Subject: [foreign-jextract] RFR: 8266682: sync jextract for LibraryLookup removal Message-ID: Using System.load/.loadLibrary in generated code and jextract code. Class initialisation dummy method to take sure constants classes initialise header-class before looking up names. ------------- Commit messages: - 8266682: sync jextract for LibraryLookup removal Changes: https://git.openjdk.java.net/panama-foreign/pull/529/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=529&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266682 Stats: 420 lines in 7 files changed: 32 ins; 21 del; 367 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/529.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/529/head:pull/529 PR: https://git.openjdk.java.net/panama-foreign/pull/529 From jvernee at openjdk.java.net Fri May 7 10:21:09 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 7 May 2021 10:21:09 GMT Subject: [foreign-memaccess+abi] Integrated: Minor Windows build fixes In-Reply-To: References: Message-ID: <9WiAfcW8tbd7T1JMdqS0rF2Q3SXklzsFCrGgVNEzyyk=.f8c70422-793d-4c29-aa0e-33bd5a228f45@github.com> On Thu, 6 May 2021 19:01:45 GMT, Jorn Vernee wrote: > Some minor changes to fix build errors/warnings on Windows: > > - Remove spurious `vprintf` declaration in libStdLibTest.h (it is already included as part of stdio.h). This was causing an error due to a conflicting declaration. > - Remove `return` before free in benchmark lib. This was causing a warning that was then treated as an error. > > Thanks, > Jorn This pull request has now been integrated. Changeset: 9472dff2 Author: Jorn Vernee URL: https://git.openjdk.java.net/panama-foreign/commit/9472dff21fbf41cca7e934d28019891b3d8f6131 Stats: 56 lines in 3 files changed: 10 ins; 44 del; 2 mod Minor Windows build fixes Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/528 From mcimadamore at openjdk.java.net Fri May 7 10:26:19 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 7 May 2021 10:26:19 GMT Subject: [foreign-jextract] RFR: 8266682: sync jextract for LibraryLookup removal In-Reply-To: References: Message-ID: On Fri, 7 May 2021 06:25:50 GMT, Athijegannathan Sundararajan wrote: > Using System.load/.loadLibrary in generated code and jextract code. Class initialisation dummy method to take sure constants classes initialise header-class before looking up names. src/jdk.incubator.jextract/share/classes/jdk/internal/clang/LibClang.java line 49: > 47: if (!CRASH_RECOVERY) { > 48: //this is an hack - needed because clang_toggleCrashRecovery only takes effect _after_ the > 49: //first call to createIndex. Maybe add a link to: https://reviews.llvm.org/D23662 This should really get fixed upstream. src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/RuntimeHelper.java line 65: > 63: private final static SegmentAllocator THROWING_ALLOCATOR = (x, y) -> { throw new AssertionError("should not reach here"); }; > 64: > 65: static final void loadLibraries(String... libNames) { Perhaps this can be removed? E.g. can't we just emit a static block wherever we call `loadLibraries` ? It seems like we can do the analysis of whether to call load/loadLibrary at jextract time. src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/ToplevelBuilder.java line 223: > 221: } > 222: > 223: private void emitInit() { Following offline discussion, I think we can simplify this by removing library loading logic from header classes and sticking it in runtime helper. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/529 From sundar at openjdk.java.net Fri May 7 11:03:23 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 7 May 2021 11:03:23 GMT Subject: [foreign-jextract] RFR: 8266682: sync jextract for LibraryLookup removal [v2] In-Reply-To: References: Message-ID: > Using System.load/.loadLibrary in generated code and jextract code. Class initialisation dummy method to take sure constants classes initialise header-class before looking up names. Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: loadLibraries from RuntimeHelper.java ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/529/files - new: https://git.openjdk.java.net/panama-foreign/pull/529/files/c4059090..49a432dc Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=529&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=529&range=00-01 Stats: 85 lines in 5 files changed: 23 ins; 56 del; 6 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/529.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/529/head:pull/529 PR: https://git.openjdk.java.net/panama-foreign/pull/529 From mcimadamore at openjdk.java.net Fri May 7 11:18:06 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 7 May 2021 11:18:06 GMT Subject: [foreign-jextract] RFR: 8266682: sync jextract for LibraryLookup removal [v2] In-Reply-To: References: Message-ID: On Fri, 7 May 2021 11:03:23 GMT, Athijegannathan Sundararajan wrote: >> Using System.load/.loadLibrary in generated code and jextract code. Class initialisation dummy method to take sure constants classes initialise header-class before looking up names. > > Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: > > loadLibraries from RuntimeHelper.java src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/OutputFactory.java line 157: > 155: private String generateLoadLibraries() { > 156: StringBuilder buf = new StringBuilder(); > 157: buf.append("RuntimeHelper.loadLibraries(new String[] {"); Instead of calling load libraries, we can just emit calls to System.load/loadLibraries here src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/resources/RuntimeHelper.java.template line 42: > 40: private final static SegmentAllocator THROWING_ALLOCATOR = (x, y) -> { throw new AssertionError("should not reach here"); }; > 41: > 42: static final void loadLibraries(String... libNames) { We should be able to remove this ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/529 From sundar at openjdk.java.net Fri May 7 11:27:12 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 7 May 2021 11:27:12 GMT Subject: [foreign-jextract] RFR: 8266682: sync jextract for LibraryLookup removal [v3] In-Reply-To: References: Message-ID: > Using System.load/.loadLibrary in generated code and jextract code. Class initialisation dummy method to take sure constants classes initialise header-class before looking up names. Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: simplified loadLibrary generation ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/529/files - new: https://git.openjdk.java.net/panama-foreign/pull/529/files/49a432dc..7bc40d67 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=529&range=02 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=529&range=01-02 Stats: 11 lines in 2 files changed: 0 ins; 4 del; 7 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/529.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/529/head:pull/529 PR: https://git.openjdk.java.net/panama-foreign/pull/529 From sundar at openjdk.java.net Fri May 7 11:38:40 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 7 May 2021 11:38:40 GMT Subject: [foreign-jextract] RFR: 8266682: sync jextract for LibraryLookup removal [v4] In-Reply-To: References: Message-ID: <6IS9fTEokYEGvkJoV5eYwu0E9x9MYWALgVQjPFFgslQ=.654ddf13-f5ad-41f3-8059-ed38efccf7e6@github.com> > Using System.load/.loadLibrary in generated code and jextract code. Class initialisation dummy method to take sure constants classes initialise header-class before looking up names. Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: simplified loading ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/529/files - new: https://git.openjdk.java.net/panama-foreign/pull/529/files/7bc40d67..9890eda0 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=529&range=03 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=529&range=02-03 Stats: 19 lines in 2 files changed: 8 ins; 8 del; 3 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/529.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/529/head:pull/529 PR: https://git.openjdk.java.net/panama-foreign/pull/529 From mcimadamore at openjdk.java.net Fri May 7 11:49:10 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 7 May 2021 11:49:10 GMT Subject: [foreign-jextract] RFR: 8266682: sync jextract for LibraryLookup removal [v4] In-Reply-To: <6IS9fTEokYEGvkJoV5eYwu0E9x9MYWALgVQjPFFgslQ=.654ddf13-f5ad-41f3-8059-ed38efccf7e6@github.com> References: <6IS9fTEokYEGvkJoV5eYwu0E9x9MYWALgVQjPFFgslQ=.654ddf13-f5ad-41f3-8059-ed38efccf7e6@github.com> Message-ID: On Fri, 7 May 2021 11:38:40 GMT, Athijegannathan Sundararajan wrote: >> Using System.load/.loadLibrary in generated code and jextract code. Class initialisation dummy method to take sure constants classes initialise header-class before looking up names. > > Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: > > simplified loading Looks good - I've tested it on a couple of samples on linux and performance numbers seems good. Tests all pass here. ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/529 From jvernee at openjdk.java.net Fri May 7 12:11:07 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 7 May 2021 12:11:07 GMT Subject: [foreign-jextract] RFR: 8266682: sync jextract for LibraryLookup removal [v4] In-Reply-To: <6IS9fTEokYEGvkJoV5eYwu0E9x9MYWALgVQjPFFgslQ=.654ddf13-f5ad-41f3-8059-ed38efccf7e6@github.com> References: <6IS9fTEokYEGvkJoV5eYwu0E9x9MYWALgVQjPFFgslQ=.654ddf13-f5ad-41f3-8059-ed38efccf7e6@github.com> Message-ID: On Fri, 7 May 2021 11:38:40 GMT, Athijegannathan Sundararajan wrote: >> Using System.load/.loadLibrary in generated code and jextract code. Class initialisation dummy method to take sure constants classes initialise header-class before looking up names. > > Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: > > simplified loading Works on Windows as well. ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/529 From sundar at openjdk.java.net Fri May 7 12:14:58 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 7 May 2021 12:14:58 GMT Subject: [foreign-jextract] Integrated: 8266682: sync jextract for LibraryLookup removal In-Reply-To: References: Message-ID: On Fri, 7 May 2021 06:25:50 GMT, Athijegannathan Sundararajan wrote: > Using System.load/.loadLibrary in generated code and jextract code. Class initialisation dummy method to take sure constants classes initialise header-class before looking up names. This pull request has now been integrated. Changeset: 990758e3 Author: Athijegannathan Sundararajan URL: https://git.openjdk.java.net/panama-foreign/commit/990758e3a69808abd451bd72b56604160d8899b4 Stats: 454 lines in 9 files changed: 33 ins; 59 del; 362 mod 8266682: sync jextract for LibraryLookup removal Reviewed-by: mcimadamore, jvernee ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/529 From duke at openjdk.java.net Fri May 7 13:30:01 2021 From: duke at openjdk.java.net (duke) Date: Fri, 7 May 2021 13:30:01 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 104 new changesets Message-ID: <9e3310d7-8552-4de2-865e-9cd2c118e5c8@openjdk.org> Changeset: 9472dff2 Author: Jorn Vernee Date: 2021-05-07 10:17:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9472dff21fbf41cca7e934d28019891b3d8f6131 Minor Windows build fixes Reviewed-by: mcimadamore ! test/jdk/java/foreign/libStdLibTest.c - test/jdk/java/foreign/libStdLibTest.h ! test/micro/org/openjdk/bench/jdk/incubator/foreign/libStrLen.c Changeset: 534d2122 Author: duke Date: 2021-05-07 10:19:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/534d2122e11280d80db377fcd814cba2a9a94736 Automatic merge of foreign-memaccess+abi into foreign-jextract Changeset: eb8db12c Author: Aleksei Voitylov Committer: David Holmes Date: 2021-04-30 12:34:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eb8db12ce67b10957fa94fbf61d9a30db34ec01a 8263396: Atomic::CmpxchgByteUsingInt::set_byte_in_int needs an explicit cast Reviewed-by: dholmes ! src/hotspot/share/runtime/atomic.hpp Changeset: 87de5b75 Author: Alexey Ushakov Committer: Jayathirth D V Date: 2021-04-30 13:53:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/87de5b750d2289512f002ecd307117734781f862 8266040: Lanai: Incorrect calculations of clipping boundaries Reviewed-by: jdv ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLClip.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderer.m Changeset: 48bb996a Author: Weijun Wang Date: 2021-04-30 14:04:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/48bb996ac9098fc33f6d52e2af15448b12a19572 8266220: keytool still prompt for store password on a password-less pkcs12 file if -storetype pkcs12 is specified Reviewed-by: coffeys, hchao ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! test/jdk/sun/security/tools/keytool/PKCS12Passwd.java Changeset: 0544a732 Author: Daniel Fuchs Date: 2021-04-30 17:21:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0544a732a44309bf7cbb44846dd9320c6096de17 8255227: java/net/httpclient/FlowAdapterPublisherTest.java intermittently failing with TestServer: start exception: java.io.IOException: Invalid preface Reviewed-by: chegar ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! test/jdk/java/net/httpclient/http2/server/Http2TestServerConnection.java Changeset: 096e9e5d Author: Mikael Vidstedt Date: 2021-04-30 19:05:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/096e9e5d13183f947089b5c7923890591490a2ce 8266318: Switch to macos prefix for macOS bundles Reviewed-by: prr, erikj, iris ! .github/workflows/submit.yml ! make/autoconf/platform.m4 ! make/conf/jib-profiles.js Changeset: c36c63a0 Author: Ian Graves Committer: Pavel Rappo Date: 2021-04-30 19:51:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c36c63a008fa5e8b00dfc36c887cd9497fb91ab5 8260560: convert jdeps and jdeprscan tools to use Stream.toList() Reviewed-by: alanb, mchung, iris ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/Main.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/Scan.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ClassFileReader.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleInfoBuilder.java Changeset: dd05158b Author: Ian Graves Committer: Pavel Rappo Date: 2021-04-30 19:52:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dd05158b24e8b399052a170ea9fe9ee6f65c0432 8266155: Convert java.base to use Stream.toList() Reviewed-by: bpb, naoto, iris, chegar ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/jdk/internal/module/IllegalAccessLogger.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java ! src/java.base/share/classes/jdk/internal/module/ModuleReferences.java ! src/java.base/share/classes/sun/net/util/IPAddressUtil.java ! src/java.base/share/classes/sun/util/locale/LocaleMatcher.java Changeset: 50fa1623 Author: Daniel D. Daugherty Date: 2021-04-30 19:55:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/50fa1623adca74f79413fd127d4338901da4678d 8266389: ProblemList java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java on generic-all Reviewed-by: mikael, prr ! test/jdk/ProblemList.txt Changeset: 928d6324 Author: Rahul Raghavan Date: 2021-04-30 20:15:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/928d63242e614676f96bd3e6bfdee499779d0d4f 8252237: C2: Call to compute_separating_interferences has wrong argument order Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/coalesce.cpp Changeset: f86b70c3 Author: Vladimir Ivanov Date: 2021-04-30 22:17:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f86b70c391c2909676a7d9821b7367269aa85206 8266328: C2: Remove InlineWarmCalls Reviewed-by: kvn, iveresov ! src/hotspot/share/opto/bytecodeInfo.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/callGenerator.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/parse.hpp Changeset: 3e667cc4 Author: Tagir F. Valeev Date: 2021-05-01 07:30:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3e667cc40521dfb6d07dda07c2f33e37086ee64b 8265356: need code example for getting canonical constructor of a Record Reviewed-by: smarks ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/Record.java Changeset: 5c083e85 Author: Andy Herrick Date: 2021-05-01 12:03:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5c083e8560ce9cc78615e3149a558206724cff53 8266129: tools/jpackage/windows/WinInstallerIconTest.java hangs with fastdebug Reviewed-by: asemenyuk, almatvee ! test/jdk/tools/jpackage/windows/WinInstallerIconTest.java Changeset: dedddd5a Author: Sergey Bylokhov Date: 2021-05-02 05:29:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dedddd5ab2e39a30a039d24f629a7974048b0923 8266248: Compilation failure in PLATFORM_API_MacOSX_MidiUtils.c with Xcode 12.5 Reviewed-by: prr, azvegint ! src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_MidiUtils.c Changeset: 7e30130e Author: Jie Fu Date: 2021-05-02 23:13:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7e30130e354ebfed14617effd2a517ab2f4140a5 8266401: mark hotspot compiler/intrinsics/sha/cli tests which ignore VM flags Reviewed-by: iignatyev, kvn ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java Changeset: 8fa50ebd Author: Ajit Ghaisas Date: 2021-05-03 04:37:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8fa50ebdf2c0e44316d8e4b64b3e8ef90a2cc1bb 8263363: Minor cleanup of Lanai code - unused code removal and comments correction Reviewed-by: serb ! src/java.desktop/macosx/classes/sun/awt/CGraphicsConfig.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLContext.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLGraphicsConfig.java ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderQueue.m Changeset: c5dc657f Author: Per Liden Date: 2021-05-03 07:28:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c5dc657f0be90bd594663dcc612f40a930c2bbe7 8266056: runtime/stringtable/StringTableCleaningTest.java failed with "RuntimeException: Missing Callback in [10, 11]" Reviewed-by: coleenp, dholmes ! test/hotspot/jtreg/ProblemList-zgc.txt ! test/hotspot/jtreg/runtime/stringtable/StringTableCleaningTest.java Changeset: 05cfac9f Author: Claes Redestad Date: 2021-05-03 09:22:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05cfac9f5bf07c3c4422f797a61b6e1b8410ce1b 8266412: Remove redundant TemplateInterpreter entries Reviewed-by: jiefu, dholmes ! src/hotspot/share/interpreter/templateInterpreterGenerator.cpp Changeset: b42d4969 Author: Vladimir Ivanov Date: 2021-05-03 09:46:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b42d4969b1753e717a66218fd465243dfeccd455 8266388: C2: Improve constant ShiftCntV on x86 Reviewed-by: kvn ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp Changeset: ac760c7f Author: Albert Mingkun Yang Date: 2021-05-03 10:06:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac760c7f9fca2cad3f2ae8a3da80d3f3a91163fb 8266295: Remove unused _concurrent_iteration_safe_limit Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp Changeset: 80941f47 Author: Albert Mingkun Yang Date: 2021-05-03 11:45:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80941f475f7f3bd479f1ab75287f0ffe7935ad05 8234446: Post-CMS workgroup hierarchy cleanup Reviewed-by: tschatzl, rkennke ! src/hotspot/share/gc/shared/workerManager.hpp ! src/hotspot/share/gc/shared/workgroup.cpp ! src/hotspot/share/gc/shared/workgroup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.hpp Changeset: 1d9ea3ae Author: Zhengyu Gu Date: 2021-05-03 12:35:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1d9ea3ae0ff6e5283781c8e088578c2e8df63aaa 8266083: Shenandoah: Consolidate dedup/no dedup oop closures Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp Changeset: 194bceca Author: Per Liden Date: 2021-05-03 13:34:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/194bceca3a4d13d4528b86359ee9d5eead3ce7ac 8265984: Concurrent GC: Some tests fail "assert(is_frame_safe(f)) failed: Frame must be safe" Reviewed-by: eosterlund, stefank, zgu ! src/hotspot/share/gc/z/zBarrierSetNMethod.cpp ! src/hotspot/share/opto/runtime.cpp Changeset: 001c5142 Author: Yi Yang Committer: Nils Eliasson Date: 2021-05-03 14:22:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/001c5142a6ff4c4073e651ebae9d6d7a8533eb42 8265322: C2: Simplify control inputs for BarrierSetC2::obj_allocate Reviewed-by: kvn, neliasso ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/opto/macro.cpp Changeset: 880c138b Author: Evgeny Nikitin Committer: Igor Ignatyev Date: 2021-05-03 14:32:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/880c138b587e0902cd19c27a02baf41b57ac0bb0 8265349: vmTestbase/../stress/compiler/deoptimize/Test.java fails with OOME due to CodeCache exhaustion. Reviewed-by: iignatyev ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/MHTransformationGen.java Changeset: 55cc0af4 Author: Yude Lin Committer: Aleksey Shipilev Date: 2021-05-03 15:23:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/55cc0af40444262d0ba0f7dc01da44f1a431dc48 8266185: Shenandoah: Fix incorrect comment/assertion messages Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: ff65920c Author: Marcus G K Williams Committer: Sandhya Viswanathan Date: 2021-05-03 16:28:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff65920cd17e7e862b182524e2151784e26a079c 8265491: Math Signum optimization for x86 Reviewed-by: jiefu, jbhateja, neliasso ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/library_call.cpp ! test/hotspot/jtreg/compiler/intrinsics/math/TestSignumIntrinsic.java + test/micro/org/openjdk/bench/vm/compiler/Signum.java Changeset: 45760d4b Author: Philippe Marschall Committer: Brian Burkhalter Date: 2021-05-03 17:28:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/45760d4baf5da7537e1bae70796e869309d4aeff 8266320: (bf) ReadOnlyBufferException in heap buffer put(String,int,int) should not be conditional Reviewed-by: alanb, bpb ! src/java.base/share/classes/java/nio/Heap-X-Buffer.java.template Changeset: 020236cb Author: Sergey Bylokhov Date: 2021-05-03 20:53:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/020236cb9825bf4fa91a495a179623e3fcdc0149 8264786: [macos] All Swing/AWT apps cause Allow Notifications prompt to appear when app is launched Reviewed-by: azvegint, kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m ! src/java.desktop/macosx/native/libosxapp/NSApplicationAWT.h ! src/java.desktop/macosx/native/libosxapp/NSApplicationAWT.m Changeset: 3544a9d0 Author: Mandy Chung Date: 2021-05-03 21:58:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3544a9d0e4a071ad9c82aa17ab113e0101b4020b 8266391: Replace use of reflection in jdk.internal.platform.Metrics Reviewed-by: redestad + src/java.base/linux/classes/jdk/internal/platform/SystemMetrics.java ! src/java.base/share/classes/jdk/internal/platform/Metrics.java + src/java.base/unix/classes/jdk/internal/platform/SystemMetrics.java + src/java.base/windows/classes/jdk/internal/platform/SystemMetrics.java Changeset: cfdf4a7d Author: Igor Ignatyev Date: 2021-05-04 04:47:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cfdf4a7de77ea662201a876551f52fc558bfdf84 8266449: cleanup jtreg tags in compiler/intrinsics/sha/cli tests Reviewed-by: kvn ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java Changeset: 30ccd808 Author: Tejpal Rebari Date: 2021-05-04 04:53:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/30ccd8081b3b82c04203a72c59d12a8c0a24b0c0 8264950: Set opaque for JTooltip in config file of NimbusLookAndFeel Reviewed-by: serb, pbansal ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/skin.laf ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java ! test/jdk/javax/swing/JList/TestOpaqueListTable.java Changeset: ce1bc9d8 Author: Stefan Karlsson Date: 2021-05-04 07:27:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ce1bc9d8bc7e6acb189a13fdadb573fa08b5c2f2 8266432: ZGC: GC allocation stalls can trigger deadlocks Reviewed-by: pliden, ayang ! src/hotspot/share/gc/z/zForwarding.cpp Changeset: 8e071c4b Author: Martin Doerr Date: 2021-05-04 07:56:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8e071c4b52e84fed5503271f051429c9740b34dd 8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind Reviewed-by: kvn, goetz ! src/hotspot/share/opto/lcm.cpp Changeset: 141cc2f2 Author: Stefan Johansson Date: 2021-05-04 09:00:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/141cc2f2a35abdce48397071e2ce7ea862cf5755 8261527: Record page size used for underlying mapping in ReservedSpace Reviewed-by: rkennke, iwalulya ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.cpp ! src/hotspot/share/memory/heap.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/testHelpers.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/memory/virtualspace.hpp ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/gtest/memory/test_virtualspace.cpp Changeset: b6519048 Author: Tobias Hartmann Date: 2021-05-04 09:42:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b65190483c824234b86e2e43cf85009d926713bf 8266438: Compile::remove_useless_nodes does not remove opaque nodes Reviewed-by: vlivanov, chagedorn ! src/hotspot/share/opto/compile.cpp Changeset: aa90df6f Author: Wang Huang Committer: Kevin Walls Date: 2021-05-04 10:02:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa90df6f51940a73f9aa078a32768855c8568034 8266187: Memory leak in appendBootClassPath() Co-authored-by: Wang Huang Co-authored-by: Sun Jianye Reviewed-by: kevinw, mli, alanb ! src/java.instrument/share/native/libinstrument/InvocationAdapter.c Changeset: 05e60174 Author: Jim Laskey Date: 2021-05-04 11:53:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05e601748a35de02a33721199a00a3d6c335c6d9 8265137: java.util.Random suddenly has new public methods nowhere documented Reviewed-by: uschindler, darcy, smarks ! src/java.base/share/classes/java/util/Random.java ! src/java.base/share/classes/java/util/SplittableRandom.java ! src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java ! src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java Changeset: ee5bba0d Author: Hui Shi Committer: Tobias Hartmann Date: 2021-05-04 12:58:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ee5bba0dc4cc7c2bfe633c5a3fe731c6c37adb1d 8265767: compiler/eliminateAutobox/TestIntBoxing.java crashes on arm32 after 8264649 in debug VMs Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp Changeset: 770dfc1e Author: Jim Laskey Date: 2021-05-04 13:26:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/770dfc1ec4fe28bc73612c8b0dd8423dd49e1597 8265279: Remove unused RandomGeneratorFactory.all(Class category) Reviewed-by: rriggs ! src/java.base/share/classes/java/util/random/RandomGeneratorFactory.java Changeset: 8b37d487 Author: Yumin Qi Date: 2021-05-04 17:18:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8b37d4877087052e2ce721b795217feea24802b3 8255493: Support for pre-generated java.lang.invoke classes in CDS dynamic archive Reviewed-by: iklam, ccheung ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/lambdaFormInvokers.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/java.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java Changeset: 4e96b310 Author: Naoto Sato Date: 2021-05-04 17:30:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4e96b310425de541675b28493fdbe195780623c3 8265989: System property for the native character encoding name Reviewed-by: iris, joehw, rriggs ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/util/StaticProperty.java ! src/java.base/share/classes/jdk/internal/util/SystemProps.java ! test/jdk/java/lang/System/PropertyTest.java Changeset: 9c4efddb Author: Phil Race Date: 2021-05-04 18:03:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c4efddb4aa724d9297947423320f1a7bbe15dd0 8263124: Missed initialization of baselineY in sun.font.StrikeMetrics Reviewed-by: azvegint, kizune, pbansal ! src/java.desktop/share/classes/sun/font/StrikeMetrics.java Changeset: 80323b7f Author: Phil Race Date: 2021-05-04 18:23:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80323b7f66541e24177d02cc668a2eb9267962b9 8261169: Upgrade HarfBuzz to the latest 2.8.0 Reviewed-by: serb ! make/modules/java.desktop/lib/Awt2dLibraries.gmk ! src/java.desktop/share/legal/harfbuzz.md ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-morx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.h ! src/java.desktop/share/native/libharfbuzz/hb-algs.hh ! src/java.desktop/share/native/libharfbuzz/hb-array.hh ! src/java.desktop/share/native/libharfbuzz/hb-atomic.hh ! src/java.desktop/share/native/libharfbuzz/hb-blob.cc ! src/java.desktop/share/native/libharfbuzz/hb-blob.h ! src/java.desktop/share/native/libharfbuzz/hb-blob.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-serialize.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.h ! src/java.desktop/share/native/libharfbuzz/hb-buffer.hh ! src/java.desktop/share/native/libharfbuzz/hb-common.cc ! src/java.desktop/share/native/libharfbuzz/hb-common.h ! src/java.desktop/share/native/libharfbuzz/hb-coretext.cc ! src/java.desktop/share/native/libharfbuzz/hb-deprecated.h ! src/java.desktop/share/native/libharfbuzz/hb-dispatch.hh ! src/java.desktop/share/native/libharfbuzz/hb-draw.h ! src/java.desktop/share/native/libharfbuzz/hb-face.cc ! src/java.desktop/share/native/libharfbuzz/hb-face.h ! src/java.desktop/share/native/libharfbuzz/hb-face.hh ! src/java.desktop/share/native/libharfbuzz/hb-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-font.h ! src/java.desktop/share/native/libharfbuzz/hb-ft.cc ! src/java.desktop/share/native/libharfbuzz/hb-iter.hh ! src/java.desktop/share/native/libharfbuzz/hb-machinery.hh ! src/java.desktop/share/native/libharfbuzz/hb-map.cc ! src/java.desktop/share/native/libharfbuzz/hb-map.h ! src/java.desktop/share/native/libharfbuzz/hb-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-meta.hh ! src/java.desktop/share/native/libharfbuzz/hb-mutex.hh ! src/java.desktop/share/native/libharfbuzz/hb-null.hh ! src/java.desktop/share/native/libharfbuzz/hb-object.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-file.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-type.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-color-cbdt-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-color-colr-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-color.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-color.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-deprecated.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-font.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-glyf-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-head-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gpos-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsub-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-math.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-math.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-meta.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-meta.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-name.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-name.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-arabic-win1256.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-arabic.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-hangul.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-khmer-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-khmer.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-khmer.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-myanmar-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-myanmar.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-myanmar.hh + src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-syllabic.cc + src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-syllabic.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-thai.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use-machine.hh - src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use-table.cc + src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use.cc - src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-vowel-constraints.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-fallback.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-tag-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-var.h ! src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh ! src/java.desktop/share/native/libharfbuzz/hb-serialize.hh ! src/java.desktop/share/native/libharfbuzz/hb-set.cc ! src/java.desktop/share/native/libharfbuzz/hb-set.h ! src/java.desktop/share/native/libharfbuzz/hb-set.hh ! src/java.desktop/share/native/libharfbuzz/hb-shape-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-shape-plan.h ! src/java.desktop/share/native/libharfbuzz/hb-shape.cc ! src/java.desktop/share/native/libharfbuzz/hb-shape.h ! src/java.desktop/share/native/libharfbuzz/hb-style.cc ! src/java.desktop/share/native/libharfbuzz/hb-style.h ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh ! src/java.desktop/share/native/libharfbuzz/hb-unicode.cc ! src/java.desktop/share/native/libharfbuzz/hb-unicode.h ! src/java.desktop/share/native/libharfbuzz/hb-vector.hh ! src/java.desktop/share/native/libharfbuzz/hb-version.h ! src/java.desktop/share/native/libharfbuzz/hb.hh Changeset: c53dee74 Author: Andy Herrick Date: 2021-05-04 20:10:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c53dee7480858811c32ac718f5a27a00e3483a38 8266227: Fix help text for --mac-signing-keychain Reviewed-by: almatvee, asemenyuk ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties Changeset: f00b70e2 Author: Jim Laskey Date: 2021-05-04 21:18:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f00b70e2caaa9c2bb49bb9eae49a29ffbbf87af8 8266527: RandomTestCoverage.java failing due to API removal Reviewed-by: rriggs ! test/jdk/java/util/Random/RandomTestCoverage.java Changeset: 61365d5f Author: David Holmes Date: 2021-05-04 22:07:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/61365d5f58dae2dbc2aac20e62c656f931e63b66 8266465: Add wildcard to JTwork/JTreport exclude in jib-profiles.js Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: d2827994 Author: David Holmes Date: 2021-05-04 22:24:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d2827994f8a55f5af300baeb1e588ee140f4e78f 8255566: Add size validation when parsing values from VersionProps Reviewed-by: rehn, iklam ! src/hotspot/share/runtime/java.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: 2c53654b Author: Alexander Matveev Date: 2021-05-04 23:35:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2c53654bf1140c7cd243598ebdbff9ca4b9c54ba 8266179: [macos] jpackage should specify architecture for produced pkg files Reviewed-by: herrick, kcr, asemenyuk ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/Platform.java + test/jdk/tools/jpackage/macosx/HostArchPkgTest.java Changeset: b88785d2 Author: Yasumasa Suenaga Date: 2021-05-05 00:22:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b88785d2c6945c3063ad264d27609980c359cd77 8266038: Move newAddress() to JVMDebugger Reviewed-by: kevinw, amenkov ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/JVMDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebugger.java Changeset: 8bcebe73 Author: Yasumasa Suenaga Date: 2021-05-05 00:26:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8bcebe73d283bd651a0e2d30133e40cca655f335 8265505: findsym does not work on remote debug server Reviewed-by: cjplummer, kevinw ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/Debugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/DebuggerBase.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java = test/hotspot/jtreg/serviceability/sa/sadebugd/RunCommandOnServerTest.java Changeset: b1725550 Author: Yasumasa Suenaga Date: 2021-05-05 00:34:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b1725550a265c3ffb280969e1b8eabd12aa5bd65 8266171: -Warray-bounds happens in imageioJPEG.c Reviewed-by: prr ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: b71f85ad Author: Prasanta Sadhukhan Date: 2021-05-05 06:19:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b71f85ad9d5dbd59b1d279148bc65ac26309a942 8264398: BevelBorderUIResource?(int, Color, Color) and BevelBoder(int, Color, Color) spec should clarify about usage of highlight and shadow color Reviewed-by: serb ! src/java.desktop/share/classes/javax/swing/border/BevelBorder.java ! src/java.desktop/share/classes/javax/swing/plaf/BorderUIResource.java Changeset: 82768d9a Author: Fairoz Matte Committer: Serguei Spitsyn Date: 2021-05-05 07:11:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/82768d9a31edcfe5b27e75d681d3592c8f4a2ece 8221503: vmTestbase/nsk/jdb/eval/eval001/eval001.java fails with: com.sun.jdi.InvalidTypeException: Can't assign double[][][] to double[][][] Reviewed-by: cjplummer, sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ArrayReferenceImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java ! test/hotspot/jtreg/ProblemList.txt Changeset: c9873c41 Author: Athijegannathan Sundararajan Date: 2021-05-05 10:10:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c9873c416d047ec97c12f77abad3ece407530063 8260621: (jrtfs) ThreadLocal memory leak in ImageBufferCache when using jrtfs Reviewed-by: jlaskey, vtewari ! src/java.base/share/classes/jdk/internal/jimage/ImageBufferCache.java Changeset: a8046c91 Author: Jan Lahoda Date: 2021-05-05 10:31:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a8046c9157c4dca601843c953ce67f7372a87a52 8266436: Synthetic constructor trees have non-null return type Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: 65ce4d20 Author: Roman Kennke Date: 2021-05-05 10:42:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65ce4d20565b7152bc6c5ea18813ec62e638f7c6 8266491: Remove resolve and obj_equals leftovers from BarrierSetAssembler Reviewed-by: tschatzl ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.hpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: 250b45a5 Author: Thomas Stuefe Date: 2021-05-05 11:49:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/250b45a510114d00059199701e626e3a63fc1fe7 8266222: [aix] In mmap-mode, partial releases with os::release_memory may trash internal bookkeeping Reviewed-by: mdoerr ! src/hotspot/os/aix/os_aix.cpp Changeset: 02cdd6eb Author: Thomas Stuefe Date: 2021-05-05 11:54:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02cdd6eb6d1e4bc99f8f34786e92c33123e50482 8266419: [aix] in mmap mode, os::attempt_reserve_memory_at() fails to handle wrong mapping address Reviewed-by: mdoerr ! src/hotspot/os/aix/os_aix.cpp Changeset: 0ac84d18 Author: Thomas Stuefe Date: 2021-05-05 11:57:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ac84d18133857a75769e2bb3ac2c2d2f9508191 8266506: [aix] Treat mapping attempt too close to BRK as a mapping error Reviewed-by: mdoerr ! src/hotspot/os/aix/os_aix.cpp Changeset: 71d0858b Author: Zhengyu Gu Date: 2021-05-05 12:14:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/71d0858b3216e6996e217707678680c602b4404d 8266522: Shenandoah: Shenandoah LRB calls wrong runtime barrier on aarch64 Reviewed-by: rkennke ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: ef0f6930 Author: Andrew Haley Date: 2021-05-05 12:17:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ef0f693065eddd5c86b9e0fc52d57eafb0b1dc50 8266499: Delete dead code in aarch64.ad Reviewed-by: kvn ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/ad_encode.m4 Changeset: 6ba911d6 Author: Coleen Phillimore Date: 2021-05-05 12:44:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ba911d64ea05a6507bcf88a8ca656088a30ba5a 8266498: Make debug ps() call print_stack Reviewed-by: stuefe, lfoltan ! src/hotspot/share/utilities/debug.cpp Changeset: a05e8e24 Author: Coleen Phillimore Date: 2021-05-05 12:59:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a05e8e24224b047584c3a273fa7b4fef66798dd6 8266497: Remove unnecessary EMCP liveness indication Reviewed-by: iklam, dholmes, sspitsyn ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/prims/jvmtiImpl.cpp Changeset: 61bb6eca Author: Zhengyu Gu Date: 2021-05-05 13:00:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/61bb6eca3e34b3f8382614edccd167f7ecefba65 8266453: Shenandoah: Disable write protections before patching nmethod in nmethod_barrier on MacOSX/AArch64 Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetNMethod.cpp Changeset: f07bb2f4 Author: Hannes Walln?fer Date: 2021-05-05 14:01:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f07bb2f4b986103bba975de29324c7219c14628d 8250766: javadoc adds redundant spaces when @see program element is wrapped Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/pkg/Test.java Changeset: 6018336f Author: Aleksey Shipilev Date: 2021-05-05 14:27:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6018336fc5e93675482b92df76594712c238adda 8259316: [REDO] C1/C2 compiler support for blackholes Reviewed-by: vlivanov, kvn, iignatyev ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/regmask.cpp ! src/hotspot/share/opto/regmask.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/compiler/blackhole/BlackholeExistingIntrinsicWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeExperimentalUnlockTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeIntrinsicTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNonEmptyWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNonStaticWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNonVoidWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeTarget.java Changeset: 1885c83a Author: Roman Kennke Date: 2021-05-05 19:17:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1885c83aca4f7bae43c5dfb9de185a4253d9fe2b 8266504: Remove leftovers from BarrierSetAssemblerC1 Reviewed-by: thartmann ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp Changeset: 9de62a45 Author: Roman Kennke Date: 2021-05-05 19:18:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9de62a454f2ff7da62ce13e8ea9009645af72c14 8266505: Cleanup LibraryCallKit::make_unsafe_address() Reviewed-by: roland, kvn ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp Changeset: 138d573c Author: Phil Race Date: 2021-05-05 19:39:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/138d573c3567e9a51b1ac2b1de89b41c4b51ae93 8262392: Update Mesa 3-D Headers to version 21.0.3 Reviewed-by: serb, jdv, kcr ! src/java.desktop/share/legal/mesa3d.md ! src/java.desktop/share/native/common/java2d/opengl/J2D_GL/gl.h ! src/java.desktop/share/native/common/java2d/opengl/J2D_GL/glext.h ! src/java.desktop/unix/native/common/java2d/opengl/J2D_GL/glx.h ! src/java.desktop/unix/native/common/java2d/opengl/J2D_GL/glxext.h ! src/java.desktop/windows/native/libawt/java2d/opengl/J2D_GL/wglext.h Changeset: 20ad4289 Author: Sibabrata Sahoo Date: 2021-05-06 05:50:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/20ad42897427483a4a62e1de7e78d4620eb9e240 8180568: Refactor javax/crypto shell tests to plain java tests Reviewed-by: wetmore ! test/jdk/javax/crypto/CryptoPermissions/TestExemption.java - test/jdk/javax/crypto/CryptoPermissions/TestExemption.sh - test/jdk/javax/crypto/SecretKeyFactory/FailOverTest.sh + test/jdk/javax/crypto/SecretKeyFactory/TestFailOver.java Changeset: 7835cdbe Author: miao zheng Committer: John Jiang Date: 2021-05-06 07:10:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7835cdbef4992bca3227a001bc58aa56dd72c3a5 8265915: adjust state_unloading_cycle compuation order in nmethod::is_unloading Reviewed-by: thartmann ! src/hotspot/share/code/nmethod.cpp Changeset: 22ca62c2 Author: Tobias Hartmann Date: 2021-05-06 07:36:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/22ca62c2cb61940dd7b1028925cd651ffdf80690 8266542: Remove broken -XX:-UseLoopSafepoints flag Reviewed-by: tschatzl, kvn ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/runtime/globals.hpp - test/hotspot/jtreg/compiler/arguments/TestDisableUseLoopSafepoints.java Changeset: 2dd56676 Author: wattsun Committer: Roman Kennke Date: 2021-05-06 09:16:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2dd56676fb564072f73f5fd9e591bda7922523ac 8266018: Shenandoah: fix an incorrect assert Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: a86ee9b3 Author: Thomas Stuefe Date: 2021-05-06 09:22:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a86ee9b3f370b59caea2ae78169d13498560cd8e 8266545: 8261169 broke Harfbuzz build with gcc 7 and 8 Reviewed-by: mbaesken, rrich ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: 0f9852c6 Author: Yasumasa Suenaga Date: 2021-05-06 11:54:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0f9852c63b12c43b52615ea003a4fc1d69ad3ada 8266168: -Wmaybe-uninitialized happens in check_code.c Reviewed-by: stuefe ! src/java.base/share/native/libverify/check_code.c Changeset: ea30bd66 Author: Matthias Baesken Date: 2021-05-06 11:57:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea30bd6684fa3003889062a129a5aee1bc9b0024 8263362: Avoid division by 0 in java/awt/font/TextJustifier.java justify Reviewed-by: psadhukhan ! src/java.desktop/share/classes/java/awt/font/TextJustifier.java Changeset: 51f5adfc Author: Koichi Sakata Committer: Thomas Stuefe Date: 2021-05-06 12:07:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/51f5adfca3854b1556bb73e08e0b3e733ab6161b 8265047: Inconsistent warning message in jcmd VM.log Reviewed-by: dholmes, stuefe, sspitsyn ! src/hotspot/share/logging/logConfiguration.cpp Changeset: eb3b96d8 Author: Harold Seigel Date: 2021-05-06 12:25:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eb3b96d86b7fd21d444bb09c032b424e61bc5d6f 8266496: WBIsKlassAliveClosure.do_klass() fails for hidden classes Reviewed-by: dholmes, coleenp, mseledtsov, lfoltan ! src/hotspot/share/prims/whitebox.cpp + test/hotspot/jtreg/runtime/whitebox/TestHiddenClassIsAlive.java Changeset: 2438498a Author: Jayathirth D V Date: 2021-05-06 12:35:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2438498a3f6dfa53966a0f5b28af28617ca00e6b 8252758: Lanai: Optimize index calculation while copying glyphs Reviewed-by: aghaisas, pbansal ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLTextRenderer.m Changeset: 47d4438e Author: Albert Mingkun Yang Date: 2021-05-06 12:52:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/47d4438e75eca6f6f2aef9c0f88cab78996f7f80 8266426: ZHeapIteratorOopClosure does not handle native access properly Co-authored-by: Per Liden Co-authored-by: Erik ?sterlund Co-authored-by: Stefan Karlsson Reviewed-by: stefank, pliden ! src/hotspot/share/gc/z/zHeapIterator.cpp Changeset: c665dba5 Author: Claes Redestad Date: 2021-05-06 12:57:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c665dba591ae5c15c9ca49e14d1aaa4eea38e7ae 8266561: Remove Compile::_save_argument_registers Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: fcedfc8a Author: Lance Andersen Date: 2021-05-06 14:13:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fcedfc8a3b4299372f195cae036129dcd7b740ea 8266579: Update test/jdk/java/lang/ProcessHandle/PermissionTest.java & test/jdk/java/sql/testng/util/TestPolicy.java Reviewed-by: joehw, naoto, bpb ! test/jdk/java/lang/ProcessHandle/PermissionTest.java ! test/jdk/java/sql/testng/util/TestPolicy.java Changeset: e8405970 Author: Lance Andersen Date: 2021-05-06 14:18:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e8405970b9998ff8f77bcf196f1456713a98c47f 8266460: java.io tests fail on null stream with upgraded jtreg/TestNG Reviewed-by: bpb ! test/jdk/java/io/InputStream/NullInputStream.java ! test/jdk/java/io/OutputStream/NullOutputStream.java ! test/jdk/java/io/Reader/NullReader.java ! test/jdk/java/io/Writer/NullWriter.java Changeset: 2dcbedf9 Author: Hannes Walln?fer Date: 2021-05-06 14:55:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2dcbedf92a31da55299607c006821f22cc72ac0a 8266044: Nested class summary should show kind of class or interface Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java Changeset: a90b33a9 Author: Aleksey Shipilev Date: 2021-05-06 16:42:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a90b33a95510a040fbb9a093ef5f3b6d4675dc9e 8266573: Make sure blackholes are tagged for all JVMCI paths Reviewed-by: never ! src/hotspot/share/jvmci/jvmciEnv.cpp Changeset: 04f71126 Author: Weijun Wang Date: 2021-05-06 18:00:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/04f71126479f9c39aa71e8aebe7196d72fc16796 8266293: Key protection using PBEWithMD5AndDES fails with "java.security.InvalidAlgorithmParameterException: Salt must be 8 bytes long" Reviewed-by: valeriep ! src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/jdk/sun/security/pkcs12/ParamsPreferences.java Changeset: 52f1db6b Author: Alex Menkov Date: 2021-05-06 18:34:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/52f1db6b6f7f5e5823ee84fc31edddf89ed21df4 8262002: java/lang/instrument/VerifyLocalVariableTableOnRetransformTest.sh failed with "TestCaseScaffoldException: DummyClassWithLVT did not match .class file" Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! test/jdk/java/lang/instrument/ATransformerManagementTestCase.java ! test/jdk/java/lang/instrument/VerifyLocalVariableTableOnRetransformTest.java - test/jdk/java/lang/instrument/VerifyLocalVariableTableOnRetransformTest.sh Changeset: 0ca86da0 Author: Alex Menkov Date: 2021-05-06 18:38:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ca86da0e3563a8328f6ff2a3bc4d4c5b8a82e69 8266002: vmTestbase/nsk/jvmti/ClassPrepare/classprep001 should skip events for unexpected classes Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001/classprep001.cpp Changeset: 36e5ad61 Author: Aleksey Shipilev Date: 2021-05-06 20:34:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/36e5ad61e63e2f1da9cf565c607db28f23622ea9 8263236: runtime/os/TestTracePageSizes.java fails on old kernels Reviewed-by: dholmes, sjohanss, stuefe ! test/hotspot/jtreg/runtime/os/TestTracePageSizes.java Changeset: 66191ff4 Author: buddyliao Committer: Serguei Spitsyn Date: 2021-05-07 02:57:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/66191ff4b04f03172e8b7b28184a7f39ce3804bd 8266193: BasicJMapTest does not include testHistoParallel methods Reviewed-by: sspitsyn, amenkov ! test/jdk/sun/tools/jmap/BasicJMapTest.java Changeset: 43ad24fe Author: Yumin Qi Date: 2021-05-07 03:01:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/43ad24feb20ed2007922472a15873e1094147b0d 8265465: jcmd VM.cds should keep already dumped archive when exception happens Reviewed-by: iklam, ccheung ! src/java.base/share/classes/jdk/internal/misc/CDS.java ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/appcds/jcmd/JCmdTestDumpBase.java + test/hotspot/jtreg/runtime/cds/appcds/jcmd/JCmdTestFileSafety.java Changeset: c97f56cd Author: Yasumasa Suenaga Date: 2021-05-07 03:21:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c97f56cdafe26dfafcfbc6bb42fa5617641c1a59 8266172: -Wstringop-overflow happens in vmError.cpp Reviewed-by: dholmes, stuefe ! src/hotspot/share/utilities/vmError.cpp Changeset: 3a474d95 Author: Lin Zang Committer: Serguei Spitsyn Date: 2021-05-07 04:40:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3a474d953a608a0e4b40a4d0b53ec3e98d73f406 8265612: revise the help info for jmap histo command Reviewed-by: cjplummer, sspitsyn ! src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java Changeset: ebb68d2b Author: Tejpal Rebari Date: 2021-05-07 05:12:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebb68d2b8652328b80780f6a39c78ff19f24136a 8049700: Deprecate obsolete classes and methods in javax/swing/plaf/basic Reviewed-by: psadhukhan, prr, serb, azvegint, iris ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java Changeset: 71b8ad45 Author: Nick Gasson Date: 2021-05-07 09:20:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/71b8ad45b4de6836e3bb2716ebf136f3f8ea2198 8266609: AArch64: include FP/LR space in LIR_Assembler::initial_frame_size_in_bytes() Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: 94c6177f Author: Thomas Stuefe Date: 2021-05-07 09:47:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/94c6177f246fc569b416f85f1411f7fe031f7aaf 8266536: Provide a variant of os::iso8601_time which works with arbitrary timestamps Reviewed-by: xliu, simonis, ysuenaga ! src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/gtest/runtime/test_os.cpp Changeset: a65021e3 Author: Tobias Hartmann Date: 2021-05-07 09:55:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a65021e38c8f2be67be08475da67956a5a47e408 8266618: Remove broken -XX:-OptoRemoveUseless Reviewed-by: kvn, neliasso ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/phaseX.cpp Changeset: d2b53509 Author: Hannes Walln?fer Date: 2021-05-07 10:44:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d2b53509c0f6b8c6fd0a34ccdd7ad630af0db93a 8263507: Improve structure of package summary pages Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllPackagesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/WriterFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/PackageSummaryWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/PackageSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java ! test/langtools/jdk/javadoc/doclet/testPackageSummary/TestPackageSummary.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Annotation0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Class0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Enum0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Error0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Exception0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Interface0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Record0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/package.html + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/sub/Sub0.java ! test/langtools/jdk/javadoc/doclet/testRelatedPackages/TestRelatedPackages.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSingletonLists/TestSingletonLists.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java Changeset: e0c86884 Author: Hannes Walln?fer Date: 2021-05-07 10:45:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e0c86884e56c0f826f7c1626abdcbb9926b297fb 8262992: Improve `@see` output Reviewed-by: jjg ! src/java.base/share/classes/java/net/URI.java ! src/java.base/share/classes/java/security/cert/PKIXRevocationChecker.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/testConstructors/TestConstructors.java ! test/langtools/jdk/javadoc/doclet/testGenericTypeLink/TestGenericTypeLink.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestOptionOrder.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/pkg/B.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTagWithModule.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/pkg/Test2.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSingletonLists/TestSingletonLists.java ! test/langtools/jdk/javadoc/doclet/testTagOrder/TestTagOrder.java Changeset: bc8589e9 Author: duke Date: 2021-05-07 11:00:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bc8589e97371e75946c6b3acdc9efb8f1f341b9d Automatic merge of jdk:master into master Changeset: bb6156f3 Author: duke Date: 2021-05-07 11:01:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bb6156f3c0e51caa4d8658ca982c6ded69a8de4f Automatic merge of master into foreign-memaccess+abi ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/classes/java/lang/System.java ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/classes/java/lang/System.java Changeset: 1198e1bb Author: duke Date: 2021-05-07 11:01:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1198e1bb8a1e24247ba81f5998e9f14e760f0fd2 Automatic merge of foreign-memaccess+abi into foreign-jextract ! make/conf/jib-profiles.js ! make/conf/jib-profiles.js From duke at openjdk.java.net Fri May 7 13:36:20 2021 From: duke at openjdk.java.net (duke) Date: Fri, 7 May 2021 13:36:20 GMT Subject: git: openjdk/panama-foreign: foreign-memaccess+abi: 101 new changesets Message-ID: <17a551c7-4a8c-4413-a596-e1f36d75e44e@openjdk.org> Changeset: eb8db12c Author: Aleksei Voitylov Committer: David Holmes Date: 2021-04-30 12:34:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eb8db12ce67b10957fa94fbf61d9a30db34ec01a 8263396: Atomic::CmpxchgByteUsingInt::set_byte_in_int needs an explicit cast Reviewed-by: dholmes ! src/hotspot/share/runtime/atomic.hpp Changeset: 87de5b75 Author: Alexey Ushakov Committer: Jayathirth D V Date: 2021-04-30 13:53:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/87de5b750d2289512f002ecd307117734781f862 8266040: Lanai: Incorrect calculations of clipping boundaries Reviewed-by: jdv ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLClip.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderer.m Changeset: 48bb996a Author: Weijun Wang Date: 2021-04-30 14:04:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/48bb996ac9098fc33f6d52e2af15448b12a19572 8266220: keytool still prompt for store password on a password-less pkcs12 file if -storetype pkcs12 is specified Reviewed-by: coffeys, hchao ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! test/jdk/sun/security/tools/keytool/PKCS12Passwd.java Changeset: 0544a732 Author: Daniel Fuchs Date: 2021-04-30 17:21:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0544a732a44309bf7cbb44846dd9320c6096de17 8255227: java/net/httpclient/FlowAdapterPublisherTest.java intermittently failing with TestServer: start exception: java.io.IOException: Invalid preface Reviewed-by: chegar ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! test/jdk/java/net/httpclient/http2/server/Http2TestServerConnection.java Changeset: 096e9e5d Author: Mikael Vidstedt Date: 2021-04-30 19:05:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/096e9e5d13183f947089b5c7923890591490a2ce 8266318: Switch to macos prefix for macOS bundles Reviewed-by: prr, erikj, iris ! .github/workflows/submit.yml ! make/autoconf/platform.m4 ! make/conf/jib-profiles.js Changeset: c36c63a0 Author: Ian Graves Committer: Pavel Rappo Date: 2021-04-30 19:51:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c36c63a008fa5e8b00dfc36c887cd9497fb91ab5 8260560: convert jdeps and jdeprscan tools to use Stream.toList() Reviewed-by: alanb, mchung, iris ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/Main.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/Scan.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ClassFileReader.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleInfoBuilder.java Changeset: dd05158b Author: Ian Graves Committer: Pavel Rappo Date: 2021-04-30 19:52:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dd05158b24e8b399052a170ea9fe9ee6f65c0432 8266155: Convert java.base to use Stream.toList() Reviewed-by: bpb, naoto, iris, chegar ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/jdk/internal/module/IllegalAccessLogger.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java ! src/java.base/share/classes/jdk/internal/module/ModuleReferences.java ! src/java.base/share/classes/sun/net/util/IPAddressUtil.java ! src/java.base/share/classes/sun/util/locale/LocaleMatcher.java Changeset: 50fa1623 Author: Daniel D. Daugherty Date: 2021-04-30 19:55:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/50fa1623adca74f79413fd127d4338901da4678d 8266389: ProblemList java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java on generic-all Reviewed-by: mikael, prr ! test/jdk/ProblemList.txt Changeset: 928d6324 Author: Rahul Raghavan Date: 2021-04-30 20:15:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/928d63242e614676f96bd3e6bfdee499779d0d4f 8252237: C2: Call to compute_separating_interferences has wrong argument order Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/coalesce.cpp Changeset: f86b70c3 Author: Vladimir Ivanov Date: 2021-04-30 22:17:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f86b70c391c2909676a7d9821b7367269aa85206 8266328: C2: Remove InlineWarmCalls Reviewed-by: kvn, iveresov ! src/hotspot/share/opto/bytecodeInfo.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/callGenerator.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/parse.hpp Changeset: 3e667cc4 Author: Tagir F. Valeev Date: 2021-05-01 07:30:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3e667cc40521dfb6d07dda07c2f33e37086ee64b 8265356: need code example for getting canonical constructor of a Record Reviewed-by: smarks ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/Record.java Changeset: 5c083e85 Author: Andy Herrick Date: 2021-05-01 12:03:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5c083e8560ce9cc78615e3149a558206724cff53 8266129: tools/jpackage/windows/WinInstallerIconTest.java hangs with fastdebug Reviewed-by: asemenyuk, almatvee ! test/jdk/tools/jpackage/windows/WinInstallerIconTest.java Changeset: dedddd5a Author: Sergey Bylokhov Date: 2021-05-02 05:29:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dedddd5ab2e39a30a039d24f629a7974048b0923 8266248: Compilation failure in PLATFORM_API_MacOSX_MidiUtils.c with Xcode 12.5 Reviewed-by: prr, azvegint ! src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_MidiUtils.c Changeset: 7e30130e Author: Jie Fu Date: 2021-05-02 23:13:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7e30130e354ebfed14617effd2a517ab2f4140a5 8266401: mark hotspot compiler/intrinsics/sha/cli tests which ignore VM flags Reviewed-by: iignatyev, kvn ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java Changeset: 8fa50ebd Author: Ajit Ghaisas Date: 2021-05-03 04:37:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8fa50ebdf2c0e44316d8e4b64b3e8ef90a2cc1bb 8263363: Minor cleanup of Lanai code - unused code removal and comments correction Reviewed-by: serb ! src/java.desktop/macosx/classes/sun/awt/CGraphicsConfig.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLContext.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLGraphicsConfig.java ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderQueue.m Changeset: c5dc657f Author: Per Liden Date: 2021-05-03 07:28:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c5dc657f0be90bd594663dcc612f40a930c2bbe7 8266056: runtime/stringtable/StringTableCleaningTest.java failed with "RuntimeException: Missing Callback in [10, 11]" Reviewed-by: coleenp, dholmes ! test/hotspot/jtreg/ProblemList-zgc.txt ! test/hotspot/jtreg/runtime/stringtable/StringTableCleaningTest.java Changeset: 05cfac9f Author: Claes Redestad Date: 2021-05-03 09:22:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05cfac9f5bf07c3c4422f797a61b6e1b8410ce1b 8266412: Remove redundant TemplateInterpreter entries Reviewed-by: jiefu, dholmes ! src/hotspot/share/interpreter/templateInterpreterGenerator.cpp Changeset: b42d4969 Author: Vladimir Ivanov Date: 2021-05-03 09:46:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b42d4969b1753e717a66218fd465243dfeccd455 8266388: C2: Improve constant ShiftCntV on x86 Reviewed-by: kvn ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp Changeset: ac760c7f Author: Albert Mingkun Yang Date: 2021-05-03 10:06:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac760c7f9fca2cad3f2ae8a3da80d3f3a91163fb 8266295: Remove unused _concurrent_iteration_safe_limit Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp Changeset: 80941f47 Author: Albert Mingkun Yang Date: 2021-05-03 11:45:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80941f475f7f3bd479f1ab75287f0ffe7935ad05 8234446: Post-CMS workgroup hierarchy cleanup Reviewed-by: tschatzl, rkennke ! src/hotspot/share/gc/shared/workerManager.hpp ! src/hotspot/share/gc/shared/workgroup.cpp ! src/hotspot/share/gc/shared/workgroup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.hpp Changeset: 1d9ea3ae Author: Zhengyu Gu Date: 2021-05-03 12:35:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1d9ea3ae0ff6e5283781c8e088578c2e8df63aaa 8266083: Shenandoah: Consolidate dedup/no dedup oop closures Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp Changeset: 194bceca Author: Per Liden Date: 2021-05-03 13:34:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/194bceca3a4d13d4528b86359ee9d5eead3ce7ac 8265984: Concurrent GC: Some tests fail "assert(is_frame_safe(f)) failed: Frame must be safe" Reviewed-by: eosterlund, stefank, zgu ! src/hotspot/share/gc/z/zBarrierSetNMethod.cpp ! src/hotspot/share/opto/runtime.cpp Changeset: 001c5142 Author: Yi Yang Committer: Nils Eliasson Date: 2021-05-03 14:22:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/001c5142a6ff4c4073e651ebae9d6d7a8533eb42 8265322: C2: Simplify control inputs for BarrierSetC2::obj_allocate Reviewed-by: kvn, neliasso ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/opto/macro.cpp Changeset: 880c138b Author: Evgeny Nikitin Committer: Igor Ignatyev Date: 2021-05-03 14:32:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/880c138b587e0902cd19c27a02baf41b57ac0bb0 8265349: vmTestbase/../stress/compiler/deoptimize/Test.java fails with OOME due to CodeCache exhaustion. Reviewed-by: iignatyev ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/MHTransformationGen.java Changeset: 55cc0af4 Author: Yude Lin Committer: Aleksey Shipilev Date: 2021-05-03 15:23:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/55cc0af40444262d0ba0f7dc01da44f1a431dc48 8266185: Shenandoah: Fix incorrect comment/assertion messages Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: ff65920c Author: Marcus G K Williams Committer: Sandhya Viswanathan Date: 2021-05-03 16:28:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff65920cd17e7e862b182524e2151784e26a079c 8265491: Math Signum optimization for x86 Reviewed-by: jiefu, jbhateja, neliasso ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/library_call.cpp ! test/hotspot/jtreg/compiler/intrinsics/math/TestSignumIntrinsic.java + test/micro/org/openjdk/bench/vm/compiler/Signum.java Changeset: 45760d4b Author: Philippe Marschall Committer: Brian Burkhalter Date: 2021-05-03 17:28:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/45760d4baf5da7537e1bae70796e869309d4aeff 8266320: (bf) ReadOnlyBufferException in heap buffer put(String,int,int) should not be conditional Reviewed-by: alanb, bpb ! src/java.base/share/classes/java/nio/Heap-X-Buffer.java.template Changeset: 020236cb Author: Sergey Bylokhov Date: 2021-05-03 20:53:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/020236cb9825bf4fa91a495a179623e3fcdc0149 8264786: [macos] All Swing/AWT apps cause Allow Notifications prompt to appear when app is launched Reviewed-by: azvegint, kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m ! src/java.desktop/macosx/native/libosxapp/NSApplicationAWT.h ! src/java.desktop/macosx/native/libosxapp/NSApplicationAWT.m Changeset: 3544a9d0 Author: Mandy Chung Date: 2021-05-03 21:58:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3544a9d0e4a071ad9c82aa17ab113e0101b4020b 8266391: Replace use of reflection in jdk.internal.platform.Metrics Reviewed-by: redestad + src/java.base/linux/classes/jdk/internal/platform/SystemMetrics.java ! src/java.base/share/classes/jdk/internal/platform/Metrics.java + src/java.base/unix/classes/jdk/internal/platform/SystemMetrics.java + src/java.base/windows/classes/jdk/internal/platform/SystemMetrics.java Changeset: cfdf4a7d Author: Igor Ignatyev Date: 2021-05-04 04:47:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cfdf4a7de77ea662201a876551f52fc558bfdf84 8266449: cleanup jtreg tags in compiler/intrinsics/sha/cli tests Reviewed-by: kvn ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java Changeset: 30ccd808 Author: Tejpal Rebari Date: 2021-05-04 04:53:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/30ccd8081b3b82c04203a72c59d12a8c0a24b0c0 8264950: Set opaque for JTooltip in config file of NimbusLookAndFeel Reviewed-by: serb, pbansal ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/skin.laf ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java ! test/jdk/javax/swing/JList/TestOpaqueListTable.java Changeset: ce1bc9d8 Author: Stefan Karlsson Date: 2021-05-04 07:27:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ce1bc9d8bc7e6acb189a13fdadb573fa08b5c2f2 8266432: ZGC: GC allocation stalls can trigger deadlocks Reviewed-by: pliden, ayang ! src/hotspot/share/gc/z/zForwarding.cpp Changeset: 8e071c4b Author: Martin Doerr Date: 2021-05-04 07:56:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8e071c4b52e84fed5503271f051429c9740b34dd 8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind Reviewed-by: kvn, goetz ! src/hotspot/share/opto/lcm.cpp Changeset: 141cc2f2 Author: Stefan Johansson Date: 2021-05-04 09:00:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/141cc2f2a35abdce48397071e2ce7ea862cf5755 8261527: Record page size used for underlying mapping in ReservedSpace Reviewed-by: rkennke, iwalulya ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.cpp ! src/hotspot/share/memory/heap.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/testHelpers.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/memory/virtualspace.hpp ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/gtest/memory/test_virtualspace.cpp Changeset: b6519048 Author: Tobias Hartmann Date: 2021-05-04 09:42:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b65190483c824234b86e2e43cf85009d926713bf 8266438: Compile::remove_useless_nodes does not remove opaque nodes Reviewed-by: vlivanov, chagedorn ! src/hotspot/share/opto/compile.cpp Changeset: aa90df6f Author: Wang Huang Committer: Kevin Walls Date: 2021-05-04 10:02:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa90df6f51940a73f9aa078a32768855c8568034 8266187: Memory leak in appendBootClassPath() Co-authored-by: Wang Huang Co-authored-by: Sun Jianye Reviewed-by: kevinw, mli, alanb ! src/java.instrument/share/native/libinstrument/InvocationAdapter.c Changeset: 05e60174 Author: Jim Laskey Date: 2021-05-04 11:53:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05e601748a35de02a33721199a00a3d6c335c6d9 8265137: java.util.Random suddenly has new public methods nowhere documented Reviewed-by: uschindler, darcy, smarks ! src/java.base/share/classes/java/util/Random.java ! src/java.base/share/classes/java/util/SplittableRandom.java ! src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java ! src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java Changeset: ee5bba0d Author: Hui Shi Committer: Tobias Hartmann Date: 2021-05-04 12:58:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ee5bba0dc4cc7c2bfe633c5a3fe731c6c37adb1d 8265767: compiler/eliminateAutobox/TestIntBoxing.java crashes on arm32 after 8264649 in debug VMs Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp Changeset: 770dfc1e Author: Jim Laskey Date: 2021-05-04 13:26:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/770dfc1ec4fe28bc73612c8b0dd8423dd49e1597 8265279: Remove unused RandomGeneratorFactory.all(Class category) Reviewed-by: rriggs ! src/java.base/share/classes/java/util/random/RandomGeneratorFactory.java Changeset: 8b37d487 Author: Yumin Qi Date: 2021-05-04 17:18:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8b37d4877087052e2ce721b795217feea24802b3 8255493: Support for pre-generated java.lang.invoke classes in CDS dynamic archive Reviewed-by: iklam, ccheung ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/lambdaFormInvokers.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/java.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java Changeset: 4e96b310 Author: Naoto Sato Date: 2021-05-04 17:30:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4e96b310425de541675b28493fdbe195780623c3 8265989: System property for the native character encoding name Reviewed-by: iris, joehw, rriggs ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/util/StaticProperty.java ! src/java.base/share/classes/jdk/internal/util/SystemProps.java ! test/jdk/java/lang/System/PropertyTest.java Changeset: 9c4efddb Author: Phil Race Date: 2021-05-04 18:03:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c4efddb4aa724d9297947423320f1a7bbe15dd0 8263124: Missed initialization of baselineY in sun.font.StrikeMetrics Reviewed-by: azvegint, kizune, pbansal ! src/java.desktop/share/classes/sun/font/StrikeMetrics.java Changeset: 80323b7f Author: Phil Race Date: 2021-05-04 18:23:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80323b7f66541e24177d02cc668a2eb9267962b9 8261169: Upgrade HarfBuzz to the latest 2.8.0 Reviewed-by: serb ! make/modules/java.desktop/lib/Awt2dLibraries.gmk ! src/java.desktop/share/legal/harfbuzz.md ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-morx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.h ! src/java.desktop/share/native/libharfbuzz/hb-algs.hh ! src/java.desktop/share/native/libharfbuzz/hb-array.hh ! src/java.desktop/share/native/libharfbuzz/hb-atomic.hh ! src/java.desktop/share/native/libharfbuzz/hb-blob.cc ! src/java.desktop/share/native/libharfbuzz/hb-blob.h ! src/java.desktop/share/native/libharfbuzz/hb-blob.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-serialize.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.h ! src/java.desktop/share/native/libharfbuzz/hb-buffer.hh ! src/java.desktop/share/native/libharfbuzz/hb-common.cc ! src/java.desktop/share/native/libharfbuzz/hb-common.h ! src/java.desktop/share/native/libharfbuzz/hb-coretext.cc ! src/java.desktop/share/native/libharfbuzz/hb-deprecated.h ! src/java.desktop/share/native/libharfbuzz/hb-dispatch.hh ! src/java.desktop/share/native/libharfbuzz/hb-draw.h ! src/java.desktop/share/native/libharfbuzz/hb-face.cc ! src/java.desktop/share/native/libharfbuzz/hb-face.h ! src/java.desktop/share/native/libharfbuzz/hb-face.hh ! src/java.desktop/share/native/libharfbuzz/hb-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-font.h ! src/java.desktop/share/native/libharfbuzz/hb-ft.cc ! src/java.desktop/share/native/libharfbuzz/hb-iter.hh ! src/java.desktop/share/native/libharfbuzz/hb-machinery.hh ! src/java.desktop/share/native/libharfbuzz/hb-map.cc ! src/java.desktop/share/native/libharfbuzz/hb-map.h ! src/java.desktop/share/native/libharfbuzz/hb-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-meta.hh ! src/java.desktop/share/native/libharfbuzz/hb-mutex.hh ! src/java.desktop/share/native/libharfbuzz/hb-null.hh ! src/java.desktop/share/native/libharfbuzz/hb-object.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-file.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-type.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-color-cbdt-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-color-colr-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-color.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-color.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-deprecated.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-font.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-glyf-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-head-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gpos-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsub-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-math.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-math.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-meta.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-meta.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-name.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-name.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-arabic-win1256.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-arabic.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-hangul.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-khmer-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-khmer.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-khmer.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-myanmar-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-myanmar.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-myanmar.hh + src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-syllabic.cc + src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-syllabic.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-thai.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use-machine.hh - src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use-table.cc + src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use.cc - src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-vowel-constraints.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-fallback.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-tag-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-var.h ! src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh ! src/java.desktop/share/native/libharfbuzz/hb-serialize.hh ! src/java.desktop/share/native/libharfbuzz/hb-set.cc ! src/java.desktop/share/native/libharfbuzz/hb-set.h ! src/java.desktop/share/native/libharfbuzz/hb-set.hh ! src/java.desktop/share/native/libharfbuzz/hb-shape-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-shape-plan.h ! src/java.desktop/share/native/libharfbuzz/hb-shape.cc ! src/java.desktop/share/native/libharfbuzz/hb-shape.h ! src/java.desktop/share/native/libharfbuzz/hb-style.cc ! src/java.desktop/share/native/libharfbuzz/hb-style.h ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh ! src/java.desktop/share/native/libharfbuzz/hb-unicode.cc ! src/java.desktop/share/native/libharfbuzz/hb-unicode.h ! src/java.desktop/share/native/libharfbuzz/hb-vector.hh ! src/java.desktop/share/native/libharfbuzz/hb-version.h ! src/java.desktop/share/native/libharfbuzz/hb.hh Changeset: c53dee74 Author: Andy Herrick Date: 2021-05-04 20:10:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c53dee7480858811c32ac718f5a27a00e3483a38 8266227: Fix help text for --mac-signing-keychain Reviewed-by: almatvee, asemenyuk ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties Changeset: f00b70e2 Author: Jim Laskey Date: 2021-05-04 21:18:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f00b70e2caaa9c2bb49bb9eae49a29ffbbf87af8 8266527: RandomTestCoverage.java failing due to API removal Reviewed-by: rriggs ! test/jdk/java/util/Random/RandomTestCoverage.java Changeset: 61365d5f Author: David Holmes Date: 2021-05-04 22:07:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/61365d5f58dae2dbc2aac20e62c656f931e63b66 8266465: Add wildcard to JTwork/JTreport exclude in jib-profiles.js Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: d2827994 Author: David Holmes Date: 2021-05-04 22:24:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d2827994f8a55f5af300baeb1e588ee140f4e78f 8255566: Add size validation when parsing values from VersionProps Reviewed-by: rehn, iklam ! src/hotspot/share/runtime/java.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: 2c53654b Author: Alexander Matveev Date: 2021-05-04 23:35:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2c53654bf1140c7cd243598ebdbff9ca4b9c54ba 8266179: [macos] jpackage should specify architecture for produced pkg files Reviewed-by: herrick, kcr, asemenyuk ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/Platform.java + test/jdk/tools/jpackage/macosx/HostArchPkgTest.java Changeset: b88785d2 Author: Yasumasa Suenaga Date: 2021-05-05 00:22:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b88785d2c6945c3063ad264d27609980c359cd77 8266038: Move newAddress() to JVMDebugger Reviewed-by: kevinw, amenkov ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/JVMDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebugger.java Changeset: 8bcebe73 Author: Yasumasa Suenaga Date: 2021-05-05 00:26:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8bcebe73d283bd651a0e2d30133e40cca655f335 8265505: findsym does not work on remote debug server Reviewed-by: cjplummer, kevinw ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/Debugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/DebuggerBase.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java = test/hotspot/jtreg/serviceability/sa/sadebugd/RunCommandOnServerTest.java Changeset: b1725550 Author: Yasumasa Suenaga Date: 2021-05-05 00:34:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b1725550a265c3ffb280969e1b8eabd12aa5bd65 8266171: -Warray-bounds happens in imageioJPEG.c Reviewed-by: prr ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: b71f85ad Author: Prasanta Sadhukhan Date: 2021-05-05 06:19:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b71f85ad9d5dbd59b1d279148bc65ac26309a942 8264398: BevelBorderUIResource?(int, Color, Color) and BevelBoder(int, Color, Color) spec should clarify about usage of highlight and shadow color Reviewed-by: serb ! src/java.desktop/share/classes/javax/swing/border/BevelBorder.java ! src/java.desktop/share/classes/javax/swing/plaf/BorderUIResource.java Changeset: 82768d9a Author: Fairoz Matte Committer: Serguei Spitsyn Date: 2021-05-05 07:11:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/82768d9a31edcfe5b27e75d681d3592c8f4a2ece 8221503: vmTestbase/nsk/jdb/eval/eval001/eval001.java fails with: com.sun.jdi.InvalidTypeException: Can't assign double[][][] to double[][][] Reviewed-by: cjplummer, sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ArrayReferenceImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java ! test/hotspot/jtreg/ProblemList.txt Changeset: c9873c41 Author: Athijegannathan Sundararajan Date: 2021-05-05 10:10:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c9873c416d047ec97c12f77abad3ece407530063 8260621: (jrtfs) ThreadLocal memory leak in ImageBufferCache when using jrtfs Reviewed-by: jlaskey, vtewari ! src/java.base/share/classes/jdk/internal/jimage/ImageBufferCache.java Changeset: a8046c91 Author: Jan Lahoda Date: 2021-05-05 10:31:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a8046c9157c4dca601843c953ce67f7372a87a52 8266436: Synthetic constructor trees have non-null return type Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: 65ce4d20 Author: Roman Kennke Date: 2021-05-05 10:42:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65ce4d20565b7152bc6c5ea18813ec62e638f7c6 8266491: Remove resolve and obj_equals leftovers from BarrierSetAssembler Reviewed-by: tschatzl ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.hpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: 250b45a5 Author: Thomas Stuefe Date: 2021-05-05 11:49:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/250b45a510114d00059199701e626e3a63fc1fe7 8266222: [aix] In mmap-mode, partial releases with os::release_memory may trash internal bookkeeping Reviewed-by: mdoerr ! src/hotspot/os/aix/os_aix.cpp Changeset: 02cdd6eb Author: Thomas Stuefe Date: 2021-05-05 11:54:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02cdd6eb6d1e4bc99f8f34786e92c33123e50482 8266419: [aix] in mmap mode, os::attempt_reserve_memory_at() fails to handle wrong mapping address Reviewed-by: mdoerr ! src/hotspot/os/aix/os_aix.cpp Changeset: 0ac84d18 Author: Thomas Stuefe Date: 2021-05-05 11:57:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ac84d18133857a75769e2bb3ac2c2d2f9508191 8266506: [aix] Treat mapping attempt too close to BRK as a mapping error Reviewed-by: mdoerr ! src/hotspot/os/aix/os_aix.cpp Changeset: 71d0858b Author: Zhengyu Gu Date: 2021-05-05 12:14:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/71d0858b3216e6996e217707678680c602b4404d 8266522: Shenandoah: Shenandoah LRB calls wrong runtime barrier on aarch64 Reviewed-by: rkennke ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: ef0f6930 Author: Andrew Haley Date: 2021-05-05 12:17:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ef0f693065eddd5c86b9e0fc52d57eafb0b1dc50 8266499: Delete dead code in aarch64.ad Reviewed-by: kvn ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/ad_encode.m4 Changeset: 6ba911d6 Author: Coleen Phillimore Date: 2021-05-05 12:44:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ba911d64ea05a6507bcf88a8ca656088a30ba5a 8266498: Make debug ps() call print_stack Reviewed-by: stuefe, lfoltan ! src/hotspot/share/utilities/debug.cpp Changeset: a05e8e24 Author: Coleen Phillimore Date: 2021-05-05 12:59:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a05e8e24224b047584c3a273fa7b4fef66798dd6 8266497: Remove unnecessary EMCP liveness indication Reviewed-by: iklam, dholmes, sspitsyn ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/prims/jvmtiImpl.cpp Changeset: 61bb6eca Author: Zhengyu Gu Date: 2021-05-05 13:00:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/61bb6eca3e34b3f8382614edccd167f7ecefba65 8266453: Shenandoah: Disable write protections before patching nmethod in nmethod_barrier on MacOSX/AArch64 Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetNMethod.cpp Changeset: f07bb2f4 Author: Hannes Walln?fer Date: 2021-05-05 14:01:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f07bb2f4b986103bba975de29324c7219c14628d 8250766: javadoc adds redundant spaces when @see program element is wrapped Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/pkg/Test.java Changeset: 6018336f Author: Aleksey Shipilev Date: 2021-05-05 14:27:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6018336fc5e93675482b92df76594712c238adda 8259316: [REDO] C1/C2 compiler support for blackholes Reviewed-by: vlivanov, kvn, iignatyev ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/regmask.cpp ! src/hotspot/share/opto/regmask.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/compiler/blackhole/BlackholeExistingIntrinsicWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeExperimentalUnlockTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeIntrinsicTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNonEmptyWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNonStaticWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNonVoidWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeTarget.java Changeset: 1885c83a Author: Roman Kennke Date: 2021-05-05 19:17:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1885c83aca4f7bae43c5dfb9de185a4253d9fe2b 8266504: Remove leftovers from BarrierSetAssemblerC1 Reviewed-by: thartmann ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp Changeset: 9de62a45 Author: Roman Kennke Date: 2021-05-05 19:18:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9de62a454f2ff7da62ce13e8ea9009645af72c14 8266505: Cleanup LibraryCallKit::make_unsafe_address() Reviewed-by: roland, kvn ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp Changeset: 138d573c Author: Phil Race Date: 2021-05-05 19:39:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/138d573c3567e9a51b1ac2b1de89b41c4b51ae93 8262392: Update Mesa 3-D Headers to version 21.0.3 Reviewed-by: serb, jdv, kcr ! src/java.desktop/share/legal/mesa3d.md ! src/java.desktop/share/native/common/java2d/opengl/J2D_GL/gl.h ! src/java.desktop/share/native/common/java2d/opengl/J2D_GL/glext.h ! src/java.desktop/unix/native/common/java2d/opengl/J2D_GL/glx.h ! src/java.desktop/unix/native/common/java2d/opengl/J2D_GL/glxext.h ! src/java.desktop/windows/native/libawt/java2d/opengl/J2D_GL/wglext.h Changeset: 20ad4289 Author: Sibabrata Sahoo Date: 2021-05-06 05:50:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/20ad42897427483a4a62e1de7e78d4620eb9e240 8180568: Refactor javax/crypto shell tests to plain java tests Reviewed-by: wetmore ! test/jdk/javax/crypto/CryptoPermissions/TestExemption.java - test/jdk/javax/crypto/CryptoPermissions/TestExemption.sh - test/jdk/javax/crypto/SecretKeyFactory/FailOverTest.sh + test/jdk/javax/crypto/SecretKeyFactory/TestFailOver.java Changeset: 7835cdbe Author: miao zheng Committer: John Jiang Date: 2021-05-06 07:10:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7835cdbef4992bca3227a001bc58aa56dd72c3a5 8265915: adjust state_unloading_cycle compuation order in nmethod::is_unloading Reviewed-by: thartmann ! src/hotspot/share/code/nmethod.cpp Changeset: 22ca62c2 Author: Tobias Hartmann Date: 2021-05-06 07:36:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/22ca62c2cb61940dd7b1028925cd651ffdf80690 8266542: Remove broken -XX:-UseLoopSafepoints flag Reviewed-by: tschatzl, kvn ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/runtime/globals.hpp - test/hotspot/jtreg/compiler/arguments/TestDisableUseLoopSafepoints.java Changeset: 2dd56676 Author: wattsun Committer: Roman Kennke Date: 2021-05-06 09:16:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2dd56676fb564072f73f5fd9e591bda7922523ac 8266018: Shenandoah: fix an incorrect assert Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: a86ee9b3 Author: Thomas Stuefe Date: 2021-05-06 09:22:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a86ee9b3f370b59caea2ae78169d13498560cd8e 8266545: 8261169 broke Harfbuzz build with gcc 7 and 8 Reviewed-by: mbaesken, rrich ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: 0f9852c6 Author: Yasumasa Suenaga Date: 2021-05-06 11:54:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0f9852c63b12c43b52615ea003a4fc1d69ad3ada 8266168: -Wmaybe-uninitialized happens in check_code.c Reviewed-by: stuefe ! src/java.base/share/native/libverify/check_code.c Changeset: ea30bd66 Author: Matthias Baesken Date: 2021-05-06 11:57:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea30bd6684fa3003889062a129a5aee1bc9b0024 8263362: Avoid division by 0 in java/awt/font/TextJustifier.java justify Reviewed-by: psadhukhan ! src/java.desktop/share/classes/java/awt/font/TextJustifier.java Changeset: 51f5adfc Author: Koichi Sakata Committer: Thomas Stuefe Date: 2021-05-06 12:07:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/51f5adfca3854b1556bb73e08e0b3e733ab6161b 8265047: Inconsistent warning message in jcmd VM.log Reviewed-by: dholmes, stuefe, sspitsyn ! src/hotspot/share/logging/logConfiguration.cpp Changeset: eb3b96d8 Author: Harold Seigel Date: 2021-05-06 12:25:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eb3b96d86b7fd21d444bb09c032b424e61bc5d6f 8266496: WBIsKlassAliveClosure.do_klass() fails for hidden classes Reviewed-by: dholmes, coleenp, mseledtsov, lfoltan ! src/hotspot/share/prims/whitebox.cpp + test/hotspot/jtreg/runtime/whitebox/TestHiddenClassIsAlive.java Changeset: 2438498a Author: Jayathirth D V Date: 2021-05-06 12:35:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2438498a3f6dfa53966a0f5b28af28617ca00e6b 8252758: Lanai: Optimize index calculation while copying glyphs Reviewed-by: aghaisas, pbansal ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLTextRenderer.m Changeset: 47d4438e Author: Albert Mingkun Yang Date: 2021-05-06 12:52:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/47d4438e75eca6f6f2aef9c0f88cab78996f7f80 8266426: ZHeapIteratorOopClosure does not handle native access properly Co-authored-by: Per Liden Co-authored-by: Erik ?sterlund Co-authored-by: Stefan Karlsson Reviewed-by: stefank, pliden ! src/hotspot/share/gc/z/zHeapIterator.cpp Changeset: c665dba5 Author: Claes Redestad Date: 2021-05-06 12:57:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c665dba591ae5c15c9ca49e14d1aaa4eea38e7ae 8266561: Remove Compile::_save_argument_registers Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: fcedfc8a Author: Lance Andersen Date: 2021-05-06 14:13:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fcedfc8a3b4299372f195cae036129dcd7b740ea 8266579: Update test/jdk/java/lang/ProcessHandle/PermissionTest.java & test/jdk/java/sql/testng/util/TestPolicy.java Reviewed-by: joehw, naoto, bpb ! test/jdk/java/lang/ProcessHandle/PermissionTest.java ! test/jdk/java/sql/testng/util/TestPolicy.java Changeset: e8405970 Author: Lance Andersen Date: 2021-05-06 14:18:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e8405970b9998ff8f77bcf196f1456713a98c47f 8266460: java.io tests fail on null stream with upgraded jtreg/TestNG Reviewed-by: bpb ! test/jdk/java/io/InputStream/NullInputStream.java ! test/jdk/java/io/OutputStream/NullOutputStream.java ! test/jdk/java/io/Reader/NullReader.java ! test/jdk/java/io/Writer/NullWriter.java Changeset: 2dcbedf9 Author: Hannes Walln?fer Date: 2021-05-06 14:55:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2dcbedf92a31da55299607c006821f22cc72ac0a 8266044: Nested class summary should show kind of class or interface Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java Changeset: a90b33a9 Author: Aleksey Shipilev Date: 2021-05-06 16:42:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a90b33a95510a040fbb9a093ef5f3b6d4675dc9e 8266573: Make sure blackholes are tagged for all JVMCI paths Reviewed-by: never ! src/hotspot/share/jvmci/jvmciEnv.cpp Changeset: 04f71126 Author: Weijun Wang Date: 2021-05-06 18:00:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/04f71126479f9c39aa71e8aebe7196d72fc16796 8266293: Key protection using PBEWithMD5AndDES fails with "java.security.InvalidAlgorithmParameterException: Salt must be 8 bytes long" Reviewed-by: valeriep ! src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/jdk/sun/security/pkcs12/ParamsPreferences.java Changeset: 52f1db6b Author: Alex Menkov Date: 2021-05-06 18:34:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/52f1db6b6f7f5e5823ee84fc31edddf89ed21df4 8262002: java/lang/instrument/VerifyLocalVariableTableOnRetransformTest.sh failed with "TestCaseScaffoldException: DummyClassWithLVT did not match .class file" Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! test/jdk/java/lang/instrument/ATransformerManagementTestCase.java ! test/jdk/java/lang/instrument/VerifyLocalVariableTableOnRetransformTest.java - test/jdk/java/lang/instrument/VerifyLocalVariableTableOnRetransformTest.sh Changeset: 0ca86da0 Author: Alex Menkov Date: 2021-05-06 18:38:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ca86da0e3563a8328f6ff2a3bc4d4c5b8a82e69 8266002: vmTestbase/nsk/jvmti/ClassPrepare/classprep001 should skip events for unexpected classes Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001/classprep001.cpp Changeset: 36e5ad61 Author: Aleksey Shipilev Date: 2021-05-06 20:34:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/36e5ad61e63e2f1da9cf565c607db28f23622ea9 8263236: runtime/os/TestTracePageSizes.java fails on old kernels Reviewed-by: dholmes, sjohanss, stuefe ! test/hotspot/jtreg/runtime/os/TestTracePageSizes.java Changeset: 66191ff4 Author: buddyliao Committer: Serguei Spitsyn Date: 2021-05-07 02:57:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/66191ff4b04f03172e8b7b28184a7f39ce3804bd 8266193: BasicJMapTest does not include testHistoParallel methods Reviewed-by: sspitsyn, amenkov ! test/jdk/sun/tools/jmap/BasicJMapTest.java Changeset: 43ad24fe Author: Yumin Qi Date: 2021-05-07 03:01:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/43ad24feb20ed2007922472a15873e1094147b0d 8265465: jcmd VM.cds should keep already dumped archive when exception happens Reviewed-by: iklam, ccheung ! src/java.base/share/classes/jdk/internal/misc/CDS.java ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/appcds/jcmd/JCmdTestDumpBase.java + test/hotspot/jtreg/runtime/cds/appcds/jcmd/JCmdTestFileSafety.java Changeset: c97f56cd Author: Yasumasa Suenaga Date: 2021-05-07 03:21:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c97f56cdafe26dfafcfbc6bb42fa5617641c1a59 8266172: -Wstringop-overflow happens in vmError.cpp Reviewed-by: dholmes, stuefe ! src/hotspot/share/utilities/vmError.cpp Changeset: 3a474d95 Author: Lin Zang Committer: Serguei Spitsyn Date: 2021-05-07 04:40:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3a474d953a608a0e4b40a4d0b53ec3e98d73f406 8265612: revise the help info for jmap histo command Reviewed-by: cjplummer, sspitsyn ! src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java Changeset: ebb68d2b Author: Tejpal Rebari Date: 2021-05-07 05:12:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebb68d2b8652328b80780f6a39c78ff19f24136a 8049700: Deprecate obsolete classes and methods in javax/swing/plaf/basic Reviewed-by: psadhukhan, prr, serb, azvegint, iris ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java Changeset: 71b8ad45 Author: Nick Gasson Date: 2021-05-07 09:20:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/71b8ad45b4de6836e3bb2716ebf136f3f8ea2198 8266609: AArch64: include FP/LR space in LIR_Assembler::initial_frame_size_in_bytes() Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: 94c6177f Author: Thomas Stuefe Date: 2021-05-07 09:47:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/94c6177f246fc569b416f85f1411f7fe031f7aaf 8266536: Provide a variant of os::iso8601_time which works with arbitrary timestamps Reviewed-by: xliu, simonis, ysuenaga ! src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/gtest/runtime/test_os.cpp Changeset: a65021e3 Author: Tobias Hartmann Date: 2021-05-07 09:55:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a65021e38c8f2be67be08475da67956a5a47e408 8266618: Remove broken -XX:-OptoRemoveUseless Reviewed-by: kvn, neliasso ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/phaseX.cpp Changeset: d2b53509 Author: Hannes Walln?fer Date: 2021-05-07 10:44:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d2b53509c0f6b8c6fd0a34ccdd7ad630af0db93a 8263507: Improve structure of package summary pages Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllPackagesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/WriterFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/PackageSummaryWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/PackageSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java ! test/langtools/jdk/javadoc/doclet/testPackageSummary/TestPackageSummary.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Annotation0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Class0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Enum0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Error0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Exception0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Interface0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Record0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/package.html + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/sub/Sub0.java ! test/langtools/jdk/javadoc/doclet/testRelatedPackages/TestRelatedPackages.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSingletonLists/TestSingletonLists.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java Changeset: e0c86884 Author: Hannes Walln?fer Date: 2021-05-07 10:45:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e0c86884e56c0f826f7c1626abdcbb9926b297fb 8262992: Improve `@see` output Reviewed-by: jjg ! src/java.base/share/classes/java/net/URI.java ! src/java.base/share/classes/java/security/cert/PKIXRevocationChecker.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/testConstructors/TestConstructors.java ! test/langtools/jdk/javadoc/doclet/testGenericTypeLink/TestGenericTypeLink.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestOptionOrder.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/pkg/B.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTagWithModule.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/pkg/Test2.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSingletonLists/TestSingletonLists.java ! test/langtools/jdk/javadoc/doclet/testTagOrder/TestTagOrder.java Changeset: bc8589e9 Author: duke Date: 2021-05-07 11:00:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bc8589e97371e75946c6b3acdc9efb8f1f341b9d Automatic merge of jdk:master into master Changeset: bb6156f3 Author: duke Date: 2021-05-07 11:01:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bb6156f3c0e51caa4d8658ca982c6ded69a8de4f Automatic merge of master into foreign-memaccess+abi ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/classes/java/lang/System.java ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/globals.hpp ! src/java.base/share/classes/java/lang/System.java From duke at openjdk.java.net Fri May 7 13:42:22 2021 From: duke at openjdk.java.net (duke) Date: Fri, 7 May 2021 13:42:22 GMT Subject: git: openjdk/panama-foreign: master: 100 new changesets Message-ID: Changeset: eb8db12c Author: Aleksei Voitylov Committer: David Holmes Date: 2021-04-30 12:34:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eb8db12ce67b10957fa94fbf61d9a30db34ec01a 8263396: Atomic::CmpxchgByteUsingInt::set_byte_in_int needs an explicit cast Reviewed-by: dholmes ! src/hotspot/share/runtime/atomic.hpp Changeset: 87de5b75 Author: Alexey Ushakov Committer: Jayathirth D V Date: 2021-04-30 13:53:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/87de5b750d2289512f002ecd307117734781f862 8266040: Lanai: Incorrect calculations of clipping boundaries Reviewed-by: jdv ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLClip.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderer.m Changeset: 48bb996a Author: Weijun Wang Date: 2021-04-30 14:04:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/48bb996ac9098fc33f6d52e2af15448b12a19572 8266220: keytool still prompt for store password on a password-less pkcs12 file if -storetype pkcs12 is specified Reviewed-by: coffeys, hchao ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! test/jdk/sun/security/tools/keytool/PKCS12Passwd.java Changeset: 0544a732 Author: Daniel Fuchs Date: 2021-04-30 17:21:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0544a732a44309bf7cbb44846dd9320c6096de17 8255227: java/net/httpclient/FlowAdapterPublisherTest.java intermittently failing with TestServer: start exception: java.io.IOException: Invalid preface Reviewed-by: chegar ! src/java.net.http/share/classes/jdk/internal/net/http/Stream.java ! test/jdk/java/net/httpclient/http2/server/Http2TestServerConnection.java Changeset: 096e9e5d Author: Mikael Vidstedt Date: 2021-04-30 19:05:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/096e9e5d13183f947089b5c7923890591490a2ce 8266318: Switch to macos prefix for macOS bundles Reviewed-by: prr, erikj, iris ! .github/workflows/submit.yml ! make/autoconf/platform.m4 ! make/conf/jib-profiles.js Changeset: c36c63a0 Author: Ian Graves Committer: Pavel Rappo Date: 2021-04-30 19:51:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c36c63a008fa5e8b00dfc36c887cd9497fb91ab5 8260560: convert jdeps and jdeprscan tools to use Stream.toList() Reviewed-by: alanb, mchung, iris ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/Main.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/scan/Scan.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ClassFileReader.java ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/ModuleInfoBuilder.java Changeset: dd05158b Author: Ian Graves Committer: Pavel Rappo Date: 2021-04-30 19:52:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dd05158b24e8b399052a170ea9fe9ee6f65c0432 8266155: Convert java.base to use Stream.toList() Reviewed-by: bpb, naoto, iris, chegar ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/jdk/internal/module/IllegalAccessLogger.java ! src/java.base/share/classes/jdk/internal/module/ModulePatcher.java ! src/java.base/share/classes/jdk/internal/module/ModuleReferences.java ! src/java.base/share/classes/sun/net/util/IPAddressUtil.java ! src/java.base/share/classes/sun/util/locale/LocaleMatcher.java Changeset: 50fa1623 Author: Daniel D. Daugherty Date: 2021-04-30 19:55:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/50fa1623adca74f79413fd127d4338901da4678d 8266389: ProblemList java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java on generic-all Reviewed-by: mikael, prr ! test/jdk/ProblemList.txt Changeset: 928d6324 Author: Rahul Raghavan Date: 2021-04-30 20:15:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/928d63242e614676f96bd3e6bfdee499779d0d4f 8252237: C2: Call to compute_separating_interferences has wrong argument order Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/coalesce.cpp Changeset: f86b70c3 Author: Vladimir Ivanov Date: 2021-04-30 22:17:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f86b70c391c2909676a7d9821b7367269aa85206 8266328: C2: Remove InlineWarmCalls Reviewed-by: kvn, iveresov ! src/hotspot/share/opto/bytecodeInfo.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/callGenerator.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/parse.hpp Changeset: 3e667cc4 Author: Tagir F. Valeev Date: 2021-05-01 07:30:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3e667cc40521dfb6d07dda07c2f33e37086ee64b 8265356: need code example for getting canonical constructor of a Record Reviewed-by: smarks ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/lang/Record.java Changeset: 5c083e85 Author: Andy Herrick Date: 2021-05-01 12:03:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5c083e8560ce9cc78615e3149a558206724cff53 8266129: tools/jpackage/windows/WinInstallerIconTest.java hangs with fastdebug Reviewed-by: asemenyuk, almatvee ! test/jdk/tools/jpackage/windows/WinInstallerIconTest.java Changeset: dedddd5a Author: Sergey Bylokhov Date: 2021-05-02 05:29:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dedddd5ab2e39a30a039d24f629a7974048b0923 8266248: Compilation failure in PLATFORM_API_MacOSX_MidiUtils.c with Xcode 12.5 Reviewed-by: prr, azvegint ! src/java.desktop/macosx/native/libjsound/PLATFORM_API_MacOSX_MidiUtils.c Changeset: 7e30130e Author: Jie Fu Date: 2021-05-02 23:13:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7e30130e354ebfed14617effd2a517ab2f4140a5 8266401: mark hotspot compiler/intrinsics/sha/cli tests which ignore VM flags Reviewed-by: iignatyev, kvn ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java Changeset: 8fa50ebd Author: Ajit Ghaisas Date: 2021-05-03 04:37:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8fa50ebdf2c0e44316d8e4b64b3e8ef90a2cc1bb 8263363: Minor cleanup of Lanai code - unused code removal and comments correction Reviewed-by: serb ! src/java.desktop/macosx/classes/sun/awt/CGraphicsConfig.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLContext.java ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLGraphicsConfig.java ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderQueue.m Changeset: c5dc657f Author: Per Liden Date: 2021-05-03 07:28:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c5dc657f0be90bd594663dcc612f40a930c2bbe7 8266056: runtime/stringtable/StringTableCleaningTest.java failed with "RuntimeException: Missing Callback in [10, 11]" Reviewed-by: coleenp, dholmes ! test/hotspot/jtreg/ProblemList-zgc.txt ! test/hotspot/jtreg/runtime/stringtable/StringTableCleaningTest.java Changeset: 05cfac9f Author: Claes Redestad Date: 2021-05-03 09:22:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05cfac9f5bf07c3c4422f797a61b6e1b8410ce1b 8266412: Remove redundant TemplateInterpreter entries Reviewed-by: jiefu, dholmes ! src/hotspot/share/interpreter/templateInterpreterGenerator.cpp Changeset: b42d4969 Author: Vladimir Ivanov Date: 2021-05-03 09:46:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b42d4969b1753e717a66218fd465243dfeccd455 8266388: C2: Improve constant ShiftCntV on x86 Reviewed-by: kvn ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp Changeset: ac760c7f Author: Albert Mingkun Yang Date: 2021-05-03 10:06:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac760c7f9fca2cad3f2ae8a3da80d3f3a91163fb 8266295: Remove unused _concurrent_iteration_safe_limit Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/shared/space.cpp ! src/hotspot/share/gc/shared/space.hpp ! src/hotspot/share/gc/shared/vmStructs_gc.hpp Changeset: 80941f47 Author: Albert Mingkun Yang Date: 2021-05-03 11:45:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80941f475f7f3bd479f1ab75287f0ffe7935ad05 8234446: Post-CMS workgroup hierarchy cleanup Reviewed-by: tschatzl, rkennke ! src/hotspot/share/gc/shared/workerManager.hpp ! src/hotspot/share/gc/shared/workgroup.cpp ! src/hotspot/share/gc/shared/workgroup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahWorkGroup.hpp Changeset: 1d9ea3ae Author: Zhengyu Gu Date: 2021-05-03 12:35:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1d9ea3ae0ff6e5283781c8e088578c2e8df63aaa 8266083: Shenandoah: Consolidate dedup/no dedup oop closures Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp Changeset: 194bceca Author: Per Liden Date: 2021-05-03 13:34:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/194bceca3a4d13d4528b86359ee9d5eead3ce7ac 8265984: Concurrent GC: Some tests fail "assert(is_frame_safe(f)) failed: Frame must be safe" Reviewed-by: eosterlund, stefank, zgu ! src/hotspot/share/gc/z/zBarrierSetNMethod.cpp ! src/hotspot/share/opto/runtime.cpp Changeset: 001c5142 Author: Yi Yang Committer: Nils Eliasson Date: 2021-05-03 14:22:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/001c5142a6ff4c4073e651ebae9d6d7a8533eb42 8265322: C2: Simplify control inputs for BarrierSetC2::obj_allocate Reviewed-by: kvn, neliasso ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shared/c2/barrierSetC2.hpp ! src/hotspot/share/opto/macro.cpp Changeset: 880c138b Author: Evgeny Nikitin Committer: Igor Ignatyev Date: 2021-05-03 14:32:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/880c138b587e0902cd19c27a02baf41b57ac0bb0 8265349: vmTestbase/../stress/compiler/deoptimize/Test.java fails with OOME due to CodeCache exhaustion. Reviewed-by: iignatyev ! test/hotspot/jtreg/ProblemList-Xcomp.txt ! test/hotspot/jtreg/vmTestbase/vm/mlvm/meth/share/MHTransformationGen.java Changeset: 55cc0af4 Author: Yude Lin Committer: Aleksey Shipilev Date: 2021-05-03 15:23:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/55cc0af40444262d0ba0f7dc01da44f1a431dc48 8266185: Shenandoah: Fix incorrect comment/assertion messages Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: ff65920c Author: Marcus G K Williams Committer: Sandhya Viswanathan Date: 2021-05-03 16:28:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff65920cd17e7e862b182524e2151784e26a079c 8265491: Math Signum optimization for x86 Reviewed-by: jiefu, jbhateja, neliasso ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/library_call.cpp ! test/hotspot/jtreg/compiler/intrinsics/math/TestSignumIntrinsic.java + test/micro/org/openjdk/bench/vm/compiler/Signum.java Changeset: 45760d4b Author: Philippe Marschall Committer: Brian Burkhalter Date: 2021-05-03 17:28:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/45760d4baf5da7537e1bae70796e869309d4aeff 8266320: (bf) ReadOnlyBufferException in heap buffer put(String,int,int) should not be conditional Reviewed-by: alanb, bpb ! src/java.base/share/classes/java/nio/Heap-X-Buffer.java.template Changeset: 020236cb Author: Sergey Bylokhov Date: 2021-05-03 20:53:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/020236cb9825bf4fa91a495a179623e3fcdc0149 8264786: [macos] All Swing/AWT apps cause Allow Notifications prompt to appear when app is launched Reviewed-by: azvegint, kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m ! src/java.desktop/macosx/native/libosxapp/NSApplicationAWT.h ! src/java.desktop/macosx/native/libosxapp/NSApplicationAWT.m Changeset: 3544a9d0 Author: Mandy Chung Date: 2021-05-03 21:58:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3544a9d0e4a071ad9c82aa17ab113e0101b4020b 8266391: Replace use of reflection in jdk.internal.platform.Metrics Reviewed-by: redestad + src/java.base/linux/classes/jdk/internal/platform/SystemMetrics.java ! src/java.base/share/classes/jdk/internal/platform/Metrics.java + src/java.base/unix/classes/jdk/internal/platform/SystemMetrics.java + src/java.base/windows/classes/jdk/internal/platform/SystemMetrics.java Changeset: cfdf4a7d Author: Igor Ignatyev Date: 2021-05-04 04:47:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cfdf4a7de77ea662201a876551f52fc558bfdf84 8266449: cleanup jtreg tags in compiler/intrinsics/sha/cli tests Reviewed-by: kvn ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA3IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java ! test/hotspot/jtreg/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java Changeset: 30ccd808 Author: Tejpal Rebari Date: 2021-05-04 04:53:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/30ccd8081b3b82c04203a72c59d12a8c0a24b0c0 8264950: Set opaque for JTooltip in config file of NimbusLookAndFeel Reviewed-by: serb, pbansal ! src/java.desktop/share/classes/javax/swing/plaf/nimbus/skin.laf ! src/java.desktop/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java ! test/jdk/javax/swing/JList/TestOpaqueListTable.java Changeset: ce1bc9d8 Author: Stefan Karlsson Date: 2021-05-04 07:27:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ce1bc9d8bc7e6acb189a13fdadb573fa08b5c2f2 8266432: ZGC: GC allocation stalls can trigger deadlocks Reviewed-by: pliden, ayang ! src/hotspot/share/gc/z/zForwarding.cpp Changeset: 8e071c4b Author: Martin Doerr Date: 2021-05-04 07:56:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8e071c4b52e84fed5503271f051429c9740b34dd 8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind Reviewed-by: kvn, goetz ! src/hotspot/share/opto/lcm.cpp Changeset: 141cc2f2 Author: Stefan Johansson Date: 2021-05-04 09:00:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/141cc2f2a35abdce48397071e2ce7ea862cf5755 8261527: Record page size used for underlying mapping in ReservedSpace Reviewed-by: rkennke, iwalulya ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/parallel/parMarkBitMap.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.cpp ! src/hotspot/share/memory/heap.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace/testHelpers.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/memory/virtualspace.hpp ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/gtest/memory/test_virtualspace.cpp Changeset: b6519048 Author: Tobias Hartmann Date: 2021-05-04 09:42:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b65190483c824234b86e2e43cf85009d926713bf 8266438: Compile::remove_useless_nodes does not remove opaque nodes Reviewed-by: vlivanov, chagedorn ! src/hotspot/share/opto/compile.cpp Changeset: aa90df6f Author: Wang Huang Committer: Kevin Walls Date: 2021-05-04 10:02:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa90df6f51940a73f9aa078a32768855c8568034 8266187: Memory leak in appendBootClassPath() Co-authored-by: Wang Huang Co-authored-by: Sun Jianye Reviewed-by: kevinw, mli, alanb ! src/java.instrument/share/native/libinstrument/InvocationAdapter.c Changeset: 05e60174 Author: Jim Laskey Date: 2021-05-04 11:53:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05e601748a35de02a33721199a00a3d6c335c6d9 8265137: java.util.Random suddenly has new public methods nowhere documented Reviewed-by: uschindler, darcy, smarks ! src/java.base/share/classes/java/util/Random.java ! src/java.base/share/classes/java/util/SplittableRandom.java ! src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java ! src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java Changeset: ee5bba0d Author: Hui Shi Committer: Tobias Hartmann Date: 2021-05-04 12:58:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ee5bba0dc4cc7c2bfe633c5a3fe731c6c37adb1d 8265767: compiler/eliminateAutobox/TestIntBoxing.java crashes on arm32 after 8264649 in debug VMs Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp Changeset: 770dfc1e Author: Jim Laskey Date: 2021-05-04 13:26:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/770dfc1ec4fe28bc73612c8b0dd8423dd49e1597 8265279: Remove unused RandomGeneratorFactory.all(Class category) Reviewed-by: rriggs ! src/java.base/share/classes/java/util/random/RandomGeneratorFactory.java Changeset: 8b37d487 Author: Yumin Qi Date: 2021-05-04 17:18:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8b37d4877087052e2ce721b795217feea24802b3 8255493: Support for pre-generated java.lang.invoke classes in CDS dynamic archive Reviewed-by: iklam, ccheung ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/lambdaFormInvokers.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/java.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java Changeset: 4e96b310 Author: Naoto Sato Date: 2021-05-04 17:30:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4e96b310425de541675b28493fdbe195780623c3 8265989: System property for the native character encoding name Reviewed-by: iris, joehw, rriggs ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/util/StaticProperty.java ! src/java.base/share/classes/jdk/internal/util/SystemProps.java ! test/jdk/java/lang/System/PropertyTest.java Changeset: 9c4efddb Author: Phil Race Date: 2021-05-04 18:03:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c4efddb4aa724d9297947423320f1a7bbe15dd0 8263124: Missed initialization of baselineY in sun.font.StrikeMetrics Reviewed-by: azvegint, kizune, pbansal ! src/java.desktop/share/classes/sun/font/StrikeMetrics.java Changeset: 80323b7f Author: Phil Race Date: 2021-05-04 18:23:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80323b7f66541e24177d02cc668a2eb9267962b9 8261169: Upgrade HarfBuzz to the latest 2.8.0 Reviewed-by: serb ! make/modules/java.desktop/lib/Awt2dLibraries.gmk ! src/java.desktop/share/legal/harfbuzz.md ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout-morx-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-aat-layout.h ! src/java.desktop/share/native/libharfbuzz/hb-algs.hh ! src/java.desktop/share/native/libharfbuzz/hb-array.hh ! src/java.desktop/share/native/libharfbuzz/hb-atomic.hh ! src/java.desktop/share/native/libharfbuzz/hb-blob.cc ! src/java.desktop/share/native/libharfbuzz/hb-blob.h ! src/java.desktop/share/native/libharfbuzz/hb-blob.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-json.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-deserialize-text.hh ! src/java.desktop/share/native/libharfbuzz/hb-buffer-serialize.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.cc ! src/java.desktop/share/native/libharfbuzz/hb-buffer.h ! src/java.desktop/share/native/libharfbuzz/hb-buffer.hh ! src/java.desktop/share/native/libharfbuzz/hb-common.cc ! src/java.desktop/share/native/libharfbuzz/hb-common.h ! src/java.desktop/share/native/libharfbuzz/hb-coretext.cc ! src/java.desktop/share/native/libharfbuzz/hb-deprecated.h ! src/java.desktop/share/native/libharfbuzz/hb-dispatch.hh ! src/java.desktop/share/native/libharfbuzz/hb-draw.h ! src/java.desktop/share/native/libharfbuzz/hb-face.cc ! src/java.desktop/share/native/libharfbuzz/hb-face.h ! src/java.desktop/share/native/libharfbuzz/hb-face.hh ! src/java.desktop/share/native/libharfbuzz/hb-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-font.h ! src/java.desktop/share/native/libharfbuzz/hb-ft.cc ! src/java.desktop/share/native/libharfbuzz/hb-iter.hh ! src/java.desktop/share/native/libharfbuzz/hb-machinery.hh ! src/java.desktop/share/native/libharfbuzz/hb-map.cc ! src/java.desktop/share/native/libharfbuzz/hb-map.h ! src/java.desktop/share/native/libharfbuzz/hb-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-meta.hh ! src/java.desktop/share/native/libharfbuzz/hb-mutex.hh ! src/java.desktop/share/native/libharfbuzz/hb-null.hh ! src/java.desktop/share/native/libharfbuzz/hb-object.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-file.hh ! src/java.desktop/share/native/libharfbuzz/hb-open-type.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff1-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cff2-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-cmap-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-color-cbdt-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-color-colr-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-color.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-color.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-deprecated.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-font.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-font.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-glyf-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-head-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-base-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-common.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gpos-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsub-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout-gsubgpos.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-layout.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-map.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-math.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-math.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-meta.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-meta.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-metrics.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-name.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-name.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-os2-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-post-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-arabic-win1256.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-arabic.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-hangul.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic-table.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-indic.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-khmer-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-khmer.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-khmer.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-myanmar-machine.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-myanmar.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-myanmar.hh + src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-syllabic.cc + src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-syllabic.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-thai.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use-machine.hh - src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use-table.cc + src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use.cc - src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-vowel-constraints.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-fallback.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape-normalize.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-shape.h ! src/java.desktop/share/native/libharfbuzz/hb-ot-tag-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-tag.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-var-gvar-table.hh ! src/java.desktop/share/native/libharfbuzz/hb-ot-var.cc ! src/java.desktop/share/native/libharfbuzz/hb-ot-var.h ! src/java.desktop/share/native/libharfbuzz/hb-sanitize.hh ! src/java.desktop/share/native/libharfbuzz/hb-serialize.hh ! src/java.desktop/share/native/libharfbuzz/hb-set.cc ! src/java.desktop/share/native/libharfbuzz/hb-set.h ! src/java.desktop/share/native/libharfbuzz/hb-set.hh ! src/java.desktop/share/native/libharfbuzz/hb-shape-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-shape-plan.h ! src/java.desktop/share/native/libharfbuzz/hb-shape.cc ! src/java.desktop/share/native/libharfbuzz/hb-shape.h ! src/java.desktop/share/native/libharfbuzz/hb-style.cc ! src/java.desktop/share/native/libharfbuzz/hb-style.h ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.cc ! src/java.desktop/share/native/libharfbuzz/hb-subset-plan.hh ! src/java.desktop/share/native/libharfbuzz/hb-unicode.cc ! src/java.desktop/share/native/libharfbuzz/hb-unicode.h ! src/java.desktop/share/native/libharfbuzz/hb-vector.hh ! src/java.desktop/share/native/libharfbuzz/hb-version.h ! src/java.desktop/share/native/libharfbuzz/hb.hh Changeset: c53dee74 Author: Andy Herrick Date: 2021-05-04 20:10:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c53dee7480858811c32ac718f5a27a00e3483a38 8266227: Fix help text for --mac-signing-keychain Reviewed-by: almatvee, asemenyuk ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties Changeset: f00b70e2 Author: Jim Laskey Date: 2021-05-04 21:18:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f00b70e2caaa9c2bb49bb9eae49a29ffbbf87af8 8266527: RandomTestCoverage.java failing due to API removal Reviewed-by: rriggs ! test/jdk/java/util/Random/RandomTestCoverage.java Changeset: 61365d5f Author: David Holmes Date: 2021-05-04 22:07:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/61365d5f58dae2dbc2aac20e62c656f931e63b66 8266465: Add wildcard to JTwork/JTreport exclude in jib-profiles.js Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: d2827994 Author: David Holmes Date: 2021-05-04 22:24:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d2827994f8a55f5af300baeb1e588ee140f4e78f 8255566: Add size validation when parsing values from VersionProps Reviewed-by: rehn, iklam ! src/hotspot/share/runtime/java.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: 2c53654b Author: Alexander Matveev Date: 2021-05-04 23:35:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2c53654bf1140c7cd243598ebdbff9ca4b9c54ba 8266179: [macos] jpackage should specify architecture for produced pkg files Reviewed-by: herrick, kcr, asemenyuk ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/Platform.java + test/jdk/tools/jpackage/macosx/HostArchPkgTest.java Changeset: b88785d2 Author: Yasumasa Suenaga Date: 2021-05-05 00:22:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b88785d2c6945c3063ad264d27609980c359cd77 8266038: Move newAddress() to JVMDebugger Reviewed-by: kevinw, amenkov ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/JVMDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/ProcDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebugger.java Changeset: 8bcebe73 Author: Yasumasa Suenaga Date: 2021-05-05 00:26:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8bcebe73d283bd651a0e2d30133e40cca655f335 8265505: findsym does not work on remote debug server Reviewed-by: cjplummer, kevinw ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CommandProcessor.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/Debugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/DebuggerBase.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java = test/hotspot/jtreg/serviceability/sa/sadebugd/RunCommandOnServerTest.java Changeset: b1725550 Author: Yasumasa Suenaga Date: 2021-05-05 00:34:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b1725550a265c3ffb280969e1b8eabd12aa5bd65 8266171: -Warray-bounds happens in imageioJPEG.c Reviewed-by: prr ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: b71f85ad Author: Prasanta Sadhukhan Date: 2021-05-05 06:19:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b71f85ad9d5dbd59b1d279148bc65ac26309a942 8264398: BevelBorderUIResource?(int, Color, Color) and BevelBoder(int, Color, Color) spec should clarify about usage of highlight and shadow color Reviewed-by: serb ! src/java.desktop/share/classes/javax/swing/border/BevelBorder.java ! src/java.desktop/share/classes/javax/swing/plaf/BorderUIResource.java Changeset: 82768d9a Author: Fairoz Matte Committer: Serguei Spitsyn Date: 2021-05-05 07:11:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/82768d9a31edcfe5b27e75d681d3592c8f4a2ece 8221503: vmTestbase/nsk/jdb/eval/eval001/eval001.java fails with: com.sun.jdi.InvalidTypeException: Can't assign double[][][] to double[][][] Reviewed-by: cjplummer, sspitsyn ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ArrayReferenceImpl.java ! src/jdk.jdi/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java ! test/hotspot/jtreg/ProblemList.txt Changeset: c9873c41 Author: Athijegannathan Sundararajan Date: 2021-05-05 10:10:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c9873c416d047ec97c12f77abad3ece407530063 8260621: (jrtfs) ThreadLocal memory leak in ImageBufferCache when using jrtfs Reviewed-by: jlaskey, vtewari ! src/java.base/share/classes/jdk/internal/jimage/ImageBufferCache.java Changeset: a8046c91 Author: Jan Lahoda Date: 2021-05-05 10:31:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a8046c9157c4dca601843c953ce67f7372a87a52 8266436: Synthetic constructor trees have non-null return type Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: 65ce4d20 Author: Roman Kennke Date: 2021-05-05 10:42:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65ce4d20565b7152bc6c5ea18813ec62e638f7c6 8266491: Remove resolve and obj_equals leftovers from BarrierSetAssembler Reviewed-by: tschatzl ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/templateInterpreterGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/templateTable_aarch64.cpp ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.cpp ! src/hotspot/cpu/arm/gc/shared/barrierSetAssembler_arm.hpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/arm/templateInterpreterGenerator_arm.cpp ! src/hotspot/cpu/arm/templateTable_arm.cpp ! src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shared/barrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp ! src/hotspot/cpu/x86/templateInterpreterGenerator_x86_64.cpp ! src/hotspot/cpu/x86/templateTable_x86.cpp Changeset: 250b45a5 Author: Thomas Stuefe Date: 2021-05-05 11:49:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/250b45a510114d00059199701e626e3a63fc1fe7 8266222: [aix] In mmap-mode, partial releases with os::release_memory may trash internal bookkeeping Reviewed-by: mdoerr ! src/hotspot/os/aix/os_aix.cpp Changeset: 02cdd6eb Author: Thomas Stuefe Date: 2021-05-05 11:54:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02cdd6eb6d1e4bc99f8f34786e92c33123e50482 8266419: [aix] in mmap mode, os::attempt_reserve_memory_at() fails to handle wrong mapping address Reviewed-by: mdoerr ! src/hotspot/os/aix/os_aix.cpp Changeset: 0ac84d18 Author: Thomas Stuefe Date: 2021-05-05 11:57:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ac84d18133857a75769e2bb3ac2c2d2f9508191 8266506: [aix] Treat mapping attempt too close to BRK as a mapping error Reviewed-by: mdoerr ! src/hotspot/os/aix/os_aix.cpp Changeset: 71d0858b Author: Zhengyu Gu Date: 2021-05-05 12:14:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/71d0858b3216e6996e217707678680c602b4404d 8266522: Shenandoah: Shenandoah LRB calls wrong runtime barrier on aarch64 Reviewed-by: rkennke ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: ef0f6930 Author: Andrew Haley Date: 2021-05-05 12:17:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ef0f693065eddd5c86b9e0fc52d57eafb0b1dc50 8266499: Delete dead code in aarch64.ad Reviewed-by: kvn ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/ad_encode.m4 Changeset: 6ba911d6 Author: Coleen Phillimore Date: 2021-05-05 12:44:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ba911d64ea05a6507bcf88a8ca656088a30ba5a 8266498: Make debug ps() call print_stack Reviewed-by: stuefe, lfoltan ! src/hotspot/share/utilities/debug.cpp Changeset: a05e8e24 Author: Coleen Phillimore Date: 2021-05-05 12:59:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a05e8e24224b047584c3a273fa7b4fef66798dd6 8266497: Remove unnecessary EMCP liveness indication Reviewed-by: iklam, dholmes, sspitsyn ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/prims/jvmtiImpl.cpp Changeset: 61bb6eca Author: Zhengyu Gu Date: 2021-05-05 13:00:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/61bb6eca3e34b3f8382614edccd167f7ecefba65 8266453: Shenandoah: Disable write protections before patching nmethod in nmethod_barrier on MacOSX/AArch64 Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetNMethod.cpp Changeset: f07bb2f4 Author: Hannes Walln?fer Date: 2021-05-05 14:01:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f07bb2f4b986103bba975de29324c7219c14628d 8250766: javadoc adds redundant spaces when @see program element is wrapped Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/CommentHelper.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/pkg/Test.java Changeset: 6018336f Author: Aleksey Shipilev Date: 2021-05-05 14:27:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6018336fc5e93675482b92df76594712c238adda 8259316: [REDO] C1/C2 compiler support for blackholes Reviewed-by: vlivanov, kvn, iignatyev ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/regmask.cpp ! src/hotspot/share/opto/regmask.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/compiler/blackhole/BlackholeExistingIntrinsicWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeExperimentalUnlockTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeIntrinsicTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNonEmptyWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNonStaticWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeNonVoidWarningTest.java + test/hotspot/jtreg/compiler/blackhole/BlackholeTarget.java Changeset: 1885c83a Author: Roman Kennke Date: 2021-05-05 19:17:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1885c83aca4f7bae43c5dfb9de185a4253d9fe2b 8266504: Remove leftovers from BarrierSetAssemblerC1 Reviewed-by: thartmann ! src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/c1/c1_Runtime1.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.cpp ! src/hotspot/share/gc/shared/c1/barrierSetC1.hpp Changeset: 9de62a45 Author: Roman Kennke Date: 2021-05-05 19:18:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9de62a454f2ff7da62ce13e8ea9009645af72c14 8266505: Cleanup LibraryCallKit::make_unsafe_address() Reviewed-by: roland, kvn ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp Changeset: 138d573c Author: Phil Race Date: 2021-05-05 19:39:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/138d573c3567e9a51b1ac2b1de89b41c4b51ae93 8262392: Update Mesa 3-D Headers to version 21.0.3 Reviewed-by: serb, jdv, kcr ! src/java.desktop/share/legal/mesa3d.md ! src/java.desktop/share/native/common/java2d/opengl/J2D_GL/gl.h ! src/java.desktop/share/native/common/java2d/opengl/J2D_GL/glext.h ! src/java.desktop/unix/native/common/java2d/opengl/J2D_GL/glx.h ! src/java.desktop/unix/native/common/java2d/opengl/J2D_GL/glxext.h ! src/java.desktop/windows/native/libawt/java2d/opengl/J2D_GL/wglext.h Changeset: 20ad4289 Author: Sibabrata Sahoo Date: 2021-05-06 05:50:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/20ad42897427483a4a62e1de7e78d4620eb9e240 8180568: Refactor javax/crypto shell tests to plain java tests Reviewed-by: wetmore ! test/jdk/javax/crypto/CryptoPermissions/TestExemption.java - test/jdk/javax/crypto/CryptoPermissions/TestExemption.sh - test/jdk/javax/crypto/SecretKeyFactory/FailOverTest.sh + test/jdk/javax/crypto/SecretKeyFactory/TestFailOver.java Changeset: 7835cdbe Author: miao zheng Committer: John Jiang Date: 2021-05-06 07:10:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7835cdbef4992bca3227a001bc58aa56dd72c3a5 8265915: adjust state_unloading_cycle compuation order in nmethod::is_unloading Reviewed-by: thartmann ! src/hotspot/share/code/nmethod.cpp Changeset: 22ca62c2 Author: Tobias Hartmann Date: 2021-05-06 07:36:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/22ca62c2cb61940dd7b1028925cd651ffdf80690 8266542: Remove broken -XX:-UseLoopSafepoints flag Reviewed-by: tschatzl, kvn ! src/hotspot/share/opto/parse.hpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.cpp ! src/hotspot/share/runtime/globals.hpp - test/hotspot/jtreg/compiler/arguments/TestDisableUseLoopSafepoints.java Changeset: 2dd56676 Author: wattsun Committer: Roman Kennke Date: 2021-05-06 09:16:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2dd56676fb564072f73f5fd9e591bda7922523ac 8266018: Shenandoah: fix an incorrect assert Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: a86ee9b3 Author: Thomas Stuefe Date: 2021-05-06 09:22:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a86ee9b3f370b59caea2ae78169d13498560cd8e 8266545: 8261169 broke Harfbuzz build with gcc 7 and 8 Reviewed-by: mbaesken, rrich ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: 0f9852c6 Author: Yasumasa Suenaga Date: 2021-05-06 11:54:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0f9852c63b12c43b52615ea003a4fc1d69ad3ada 8266168: -Wmaybe-uninitialized happens in check_code.c Reviewed-by: stuefe ! src/java.base/share/native/libverify/check_code.c Changeset: ea30bd66 Author: Matthias Baesken Date: 2021-05-06 11:57:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea30bd6684fa3003889062a129a5aee1bc9b0024 8263362: Avoid division by 0 in java/awt/font/TextJustifier.java justify Reviewed-by: psadhukhan ! src/java.desktop/share/classes/java/awt/font/TextJustifier.java Changeset: 51f5adfc Author: Koichi Sakata Committer: Thomas Stuefe Date: 2021-05-06 12:07:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/51f5adfca3854b1556bb73e08e0b3e733ab6161b 8265047: Inconsistent warning message in jcmd VM.log Reviewed-by: dholmes, stuefe, sspitsyn ! src/hotspot/share/logging/logConfiguration.cpp Changeset: eb3b96d8 Author: Harold Seigel Date: 2021-05-06 12:25:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eb3b96d86b7fd21d444bb09c032b424e61bc5d6f 8266496: WBIsKlassAliveClosure.do_klass() fails for hidden classes Reviewed-by: dholmes, coleenp, mseledtsov, lfoltan ! src/hotspot/share/prims/whitebox.cpp + test/hotspot/jtreg/runtime/whitebox/TestHiddenClassIsAlive.java Changeset: 2438498a Author: Jayathirth D V Date: 2021-05-06 12:35:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2438498a3f6dfa53966a0f5b28af28617ca00e6b 8252758: Lanai: Optimize index calculation while copying glyphs Reviewed-by: aghaisas, pbansal ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLTextRenderer.m Changeset: 47d4438e Author: Albert Mingkun Yang Date: 2021-05-06 12:52:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/47d4438e75eca6f6f2aef9c0f88cab78996f7f80 8266426: ZHeapIteratorOopClosure does not handle native access properly Co-authored-by: Per Liden Co-authored-by: Erik ?sterlund Co-authored-by: Stefan Karlsson Reviewed-by: stefank, pliden ! src/hotspot/share/gc/z/zHeapIterator.cpp Changeset: c665dba5 Author: Claes Redestad Date: 2021-05-06 12:57:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c665dba591ae5c15c9ca49e14d1aaa4eea38e7ae 8266561: Remove Compile::_save_argument_registers Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: fcedfc8a Author: Lance Andersen Date: 2021-05-06 14:13:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fcedfc8a3b4299372f195cae036129dcd7b740ea 8266579: Update test/jdk/java/lang/ProcessHandle/PermissionTest.java & test/jdk/java/sql/testng/util/TestPolicy.java Reviewed-by: joehw, naoto, bpb ! test/jdk/java/lang/ProcessHandle/PermissionTest.java ! test/jdk/java/sql/testng/util/TestPolicy.java Changeset: e8405970 Author: Lance Andersen Date: 2021-05-06 14:18:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e8405970b9998ff8f77bcf196f1456713a98c47f 8266460: java.io tests fail on null stream with upgraded jtreg/TestNG Reviewed-by: bpb ! test/jdk/java/io/InputStream/NullInputStream.java ! test/jdk/java/io/OutputStream/NullOutputStream.java ! test/jdk/java/io/Reader/NullReader.java ! test/jdk/java/io/Writer/NullWriter.java Changeset: 2dcbedf9 Author: Hannes Walln?fer Date: 2021-05-06 14:55:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2dcbedf92a31da55299607c006821f22cc72ac0a 8266044: Nested class summary should show kind of class or interface Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java Changeset: a90b33a9 Author: Aleksey Shipilev Date: 2021-05-06 16:42:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a90b33a95510a040fbb9a093ef5f3b6d4675dc9e 8266573: Make sure blackholes are tagged for all JVMCI paths Reviewed-by: never ! src/hotspot/share/jvmci/jvmciEnv.cpp Changeset: 04f71126 Author: Weijun Wang Date: 2021-05-06 18:00:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/04f71126479f9c39aa71e8aebe7196d72fc16796 8266293: Key protection using PBEWithMD5AndDES fails with "java.security.InvalidAlgorithmParameterException: Salt must be 8 bytes long" Reviewed-by: valeriep ! src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/jdk/sun/security/pkcs12/ParamsPreferences.java Changeset: 52f1db6b Author: Alex Menkov Date: 2021-05-06 18:34:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/52f1db6b6f7f5e5823ee84fc31edddf89ed21df4 8262002: java/lang/instrument/VerifyLocalVariableTableOnRetransformTest.sh failed with "TestCaseScaffoldException: DummyClassWithLVT did not match .class file" Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/prims/jvmtiClassFileReconstituter.cpp ! test/jdk/java/lang/instrument/ATransformerManagementTestCase.java ! test/jdk/java/lang/instrument/VerifyLocalVariableTableOnRetransformTest.java - test/jdk/java/lang/instrument/VerifyLocalVariableTableOnRetransformTest.sh Changeset: 0ca86da0 Author: Alex Menkov Date: 2021-05-06 18:38:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ca86da0e3563a8328f6ff2a3bc4d4c5b8a82e69 8266002: vmTestbase/nsk/jvmti/ClassPrepare/classprep001 should skip events for unexpected classes Reviewed-by: cjplummer, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001.java ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/ClassPrepare/classprep001/classprep001.cpp Changeset: 36e5ad61 Author: Aleksey Shipilev Date: 2021-05-06 20:34:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/36e5ad61e63e2f1da9cf565c607db28f23622ea9 8263236: runtime/os/TestTracePageSizes.java fails on old kernels Reviewed-by: dholmes, sjohanss, stuefe ! test/hotspot/jtreg/runtime/os/TestTracePageSizes.java Changeset: 66191ff4 Author: buddyliao Committer: Serguei Spitsyn Date: 2021-05-07 02:57:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/66191ff4b04f03172e8b7b28184a7f39ce3804bd 8266193: BasicJMapTest does not include testHistoParallel methods Reviewed-by: sspitsyn, amenkov ! test/jdk/sun/tools/jmap/BasicJMapTest.java Changeset: 43ad24fe Author: Yumin Qi Date: 2021-05-07 03:01:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/43ad24feb20ed2007922472a15873e1094147b0d 8265465: jcmd VM.cds should keep already dumped archive when exception happens Reviewed-by: iklam, ccheung ! src/java.base/share/classes/jdk/internal/misc/CDS.java ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/cds/appcds/jcmd/JCmdTestDumpBase.java + test/hotspot/jtreg/runtime/cds/appcds/jcmd/JCmdTestFileSafety.java Changeset: c97f56cd Author: Yasumasa Suenaga Date: 2021-05-07 03:21:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c97f56cdafe26dfafcfbc6bb42fa5617641c1a59 8266172: -Wstringop-overflow happens in vmError.cpp Reviewed-by: dholmes, stuefe ! src/hotspot/share/utilities/vmError.cpp Changeset: 3a474d95 Author: Lin Zang Committer: Serguei Spitsyn Date: 2021-05-07 04:40:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3a474d953a608a0e4b40a4d0b53ec3e98d73f406 8265612: revise the help info for jmap histo command Reviewed-by: cjplummer, sspitsyn ! src/jdk.jcmd/share/classes/sun/tools/jmap/JMap.java Changeset: ebb68d2b Author: Tejpal Rebari Date: 2021-05-07 05:12:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebb68d2b8652328b80780f6a39c78ff19f24136a 8049700: Deprecate obsolete classes and methods in javax/swing/plaf/basic Reviewed-by: psadhukhan, prr, serb, azvegint, iris ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java Changeset: 71b8ad45 Author: Nick Gasson Date: 2021-05-07 09:20:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/71b8ad45b4de6836e3bb2716ebf136f3f8ea2198 8266609: AArch64: include FP/LR space in LIR_Assembler::initial_frame_size_in_bytes() Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: 94c6177f Author: Thomas Stuefe Date: 2021-05-07 09:47:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/94c6177f246fc569b416f85f1411f7fe031f7aaf 8266536: Provide a variant of os::iso8601_time which works with arbitrary timestamps Reviewed-by: xliu, simonis, ysuenaga ! src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/gtest/runtime/test_os.cpp Changeset: a65021e3 Author: Tobias Hartmann Date: 2021-05-07 09:55:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a65021e38c8f2be67be08475da67956a5a47e408 8266618: Remove broken -XX:-OptoRemoveUseless Reviewed-by: kvn, neliasso ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/phaseX.cpp Changeset: d2b53509 Author: Hannes Walln?fer Date: 2021-05-07 10:44:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d2b53509c0f6b8c6fd0a34ccdd7ad630af0db93a 8263507: Improve structure of package summary pages Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllPackagesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HelpWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlIds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/WriterFactoryImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Links.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/PackageSummaryWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/PackageSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java ! test/langtools/jdk/javadoc/doclet/testPackageSummary/TestPackageSummary.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Annotation0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Class0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Enum0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Error0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Exception0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Interface0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/Record0.java + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/package.html + test/langtools/jdk/javadoc/doclet/testPackageSummary/pkg1/sub/Sub0.java ! test/langtools/jdk/javadoc/doclet/testRelatedPackages/TestRelatedPackages.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSingletonLists/TestSingletonLists.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java Changeset: e0c86884 Author: Hannes Walln?fer Date: 2021-05-07 10:45:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e0c86884e56c0f826f7c1626abdcbb9926b297fb 8262992: Improve `@see` output Reviewed-by: jjg ! src/java.base/share/classes/java/net/URI.java ! src/java.base/share/classes/java/security/cert/PKIXRevocationChecker.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/testConstructors/TestConstructors.java ! test/langtools/jdk/javadoc/doclet/testGenericTypeLink/TestGenericTypeLink.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestOptionOrder.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/pkg/B.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTagWithModule.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/pkg/Test2.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSingletonLists/TestSingletonLists.java ! test/langtools/jdk/javadoc/doclet/testTagOrder/TestTagOrder.java Changeset: bc8589e9 Author: duke Date: 2021-05-07 11:00:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bc8589e97371e75946c6b3acdc9efb8f1f341b9d Automatic merge of jdk:master into master From jvernee at openjdk.java.net Fri May 7 13:48:03 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 7 May 2021 13:48:03 GMT Subject: [foreign-memaccess+abi] RFR: 8266626: Check that the target address of a native call is not NULL Message-ID: This patch adds a check when unboxing the target address of a native call to check that the address is not `NULL`. Additionally, it adds checks earlier when an address is specified with a linking request, to check that that address is not `NULL`. I didn't see any regressions on the CallOverhead* benchmarks. Thanks, Jorn ------------- Commit messages: - Add tests - WIP - Add NULL checks for target addresses (need tests) Changes: https://git.openjdk.java.net/panama-foreign/pull/530/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=530&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266626 Stats: 86 lines in 4 files changed: 79 ins; 4 del; 3 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/530.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/530/head:pull/530 PR: https://git.openjdk.java.net/panama-foreign/pull/530 From mcimadamore at openjdk.java.net Fri May 7 13:58:42 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 7 May 2021 13:58:42 GMT Subject: [foreign-memaccess+abi] RFR: 8266626: Check that the target address of a native call is not NULL In-Reply-To: References: Message-ID: On Fri, 7 May 2021 13:40:10 GMT, Jorn Vernee wrote: > This patch adds a check when unboxing the target address of a native call to check that the address is not `NULL`. Additionally, it adds checks earlier when an address is specified with a linking request, to check that that address is not `NULL`. > > I didn't see any regressions on the CallOverhead* benchmarks. > > Thanks, > Jorn Added some comments src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractCLinker.java line 46: > 44: private static void checkSymbol(Addressable symbol) { > 45: MemoryAddress symbolAddr = symbol.address(); > 46: if (symbolAddr.equals(MemoryAddress.NULL)) Do we already NPE for `null` ? src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractCLinker.java line 47: > 45: MemoryAddress symbolAddr = symbol.address(); > 46: if (symbolAddr.equals(MemoryAddress.NULL)) > 47: throw new IllegalArgumentException("Symbol is NULL: " + symbolAddr); IAE or NPE? src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ProgrammableInvoker.java line 177: > 175: private static long unboxTargetAddress(Addressable addr) { > 176: MemoryAddress ma = addr.address(); > 177: if (ma.equals(MemoryAddress.NULL)) { Why not reusing checkSymbol? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/530 From jvernee at openjdk.java.net Fri May 7 14:06:01 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 7 May 2021 14:06:01 GMT Subject: [foreign-memaccess+abi] RFR: 8266626: Check that the target address of a native call is not NULL In-Reply-To: References: Message-ID: On Fri, 7 May 2021 13:54:02 GMT, Maurizio Cimadamore wrote: >> This patch adds a check when unboxing the target address of a native call to check that the address is not `NULL`. Additionally, it adds checks earlier when an address is specified with a linking request, to check that that address is not `NULL`. >> >> I didn't see any regressions on the CallOverhead* benchmarks. >> >> Thanks, >> Jorn > > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractCLinker.java line 46: > >> 44: private static void checkSymbol(Addressable symbol) { >> 45: MemoryAddress symbolAddr = symbol.address(); >> 46: if (symbolAddr.equals(MemoryAddress.NULL)) > > Do we already NPE for `null` ? Yes, callsites of checkSymbol already do requireNonNull on the symbol (see below that) > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractCLinker.java line 47: > >> 45: MemoryAddress symbolAddr = symbol.address(); >> 46: if (symbolAddr.equals(MemoryAddress.NULL)) >> 47: throw new IllegalArgumentException("Symbol is NULL: " + symbolAddr); > > IAE or NPE? I think IAE, in order to avoid confusion with the case where `symbol` is `null` (This is also why I added the MA instance to the error message). NPE seems more appropriate for the `null` case I think. > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ProgrammableInvoker.java line 177: > >> 175: private static long unboxTargetAddress(Addressable addr) { >> 176: MemoryAddress ma = addr.address(); >> 177: if (ma.equals(MemoryAddress.NULL)) { > > Why not reusing checkSymbol? Yes, that's a good point. Will do ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/530 From xgong at openjdk.java.net Sat May 8 02:41:22 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Sat, 8 May 2021 02:41:22 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: References: Message-ID: On Thu, 6 May 2021 10:12:08 GMT, Xiaohong Gong wrote: > Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains: > 1) Generation of the mask IRs for vector mask, including: > - Mask generations, e.g. load/compare/maskAll > - Mask operations, e.g. and/or/xor > 2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory > 3) Generation of the vector IRs which need the mask value as the control > - The mask value is appended to the original vector node's input list > > With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added. > > Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the > followed-up patches. > > [1] https://github.com/openjdk/panama-vector/pull/57 Hi @sviswa7 @PaulSandoz @iwanowww @jatin-bhateja, this is the C2 compiler change side for the masking feature support. Could you please take a look at this PR? Thanks so much! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From whuang at openjdk.java.net Sat May 8 09:00:21 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Sat, 8 May 2021 09:00:21 GMT Subject: [vectorIntrinsics] RFR: 8266775: Add VectorLoadConst node implementation for Arm SVE Message-ID: * add VectorLoadConst node implementation for Arm SVE by * add new data in `generate_iota_indices` * `sve_ld1b` these data Thank you for your review. Any suggestion is welcome. ------------- Commit messages: - 8266775: Add VectorLoadConst node implementation for Arm SVE Changes: https://git.openjdk.java.net/panama-vector/pull/79/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=79&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266775 Stats: 52 lines in 3 files changed: 48 ins; 4 del; 0 mod Patch: https://git.openjdk.java.net/panama-vector/pull/79.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/79/head:pull/79 PR: https://git.openjdk.java.net/panama-vector/pull/79 From whuang at openjdk.java.net Sat May 8 09:14:13 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Sat, 8 May 2021 09:14:13 GMT Subject: [vectorIntrinsics] RFR: 8266775: Add VectorLoadConst node implementation for Arm SVE [v2] In-Reply-To: References: Message-ID: <9JBXQ8Adl94xbgN4n8ygjcSEodDZX8pRvDxNoRjAMEk=.feb06a3e-7e0e-4e64-9630-0dda4f650897@github.com> > * add VectorLoadConst node implementation for Arm SVE by > * add new data in `generate_iota_indices` > * `sve_ld1b` these data > > Thank you for your review. Any suggestion is welcome. Wang Huang has updated the pull request incrementally with one additional commit since the last revision: fix cost ------------- Changes: - all: https://git.openjdk.java.net/panama-vector/pull/79/files - new: https://git.openjdk.java.net/panama-vector/pull/79/files/b8b662dc..ad86b7a2 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=79&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=79&range=00-01 Stats: 2 lines in 2 files changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/panama-vector/pull/79.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/79/head:pull/79 PR: https://git.openjdk.java.net/panama-vector/pull/79 From xgong at openjdk.java.net Mon May 10 09:59:23 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 10 May 2021 09:59:23 GMT Subject: [vectorIntrinsics] RFR: 8266775: Add VectorLoadConst node implementation for Arm SVE [v2] In-Reply-To: <9JBXQ8Adl94xbgN4n8ygjcSEodDZX8pRvDxNoRjAMEk=.feb06a3e-7e0e-4e64-9630-0dda4f650897@github.com> References: <9JBXQ8Adl94xbgN4n8ygjcSEodDZX8pRvDxNoRjAMEk=.feb06a3e-7e0e-4e64-9630-0dda4f650897@github.com> Message-ID: On Sat, 8 May 2021 09:14:13 GMT, Wang Huang wrote: >> * add VectorLoadConst node implementation for Arm SVE by >> * add new data in `generate_iota_indices` >> * `sve_ld1b` these data >> >> Thank you for your review. Any suggestion is welcome. > > Wang Huang has updated the pull request incrementally with one additional commit since the last revision: > > fix cost src/hotspot/cpu/aarch64/aarch64_sve.ad line 4233: > 4231: ins_encode %{ > 4232: __ lea(rscratch1, ExternalAddress(StubRoutines::aarch64::vector_iota_indices())); > 4233: __ sve_ld1b(as_FloatRegister($dst$$reg), __ B, ptrue, Address(rscratch1, 0)); Could it use `INDEX ., #, #` (Create index starting from and incremented by immediate) here? ------------- PR: https://git.openjdk.java.net/panama-vector/pull/79 From jvernee at openjdk.java.net Mon May 10 11:40:08 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 10 May 2021 11:40:08 GMT Subject: [foreign-memaccess+abi] RFR: 8266626: Check that the target address of a native call is not NULL [v2] In-Reply-To: References: Message-ID: <-WHjtm_FDaFpEVJIC4363P_TIPkkk2vLSUCbY4K_TU4=.1a1c66c0-8bfd-4733-9883-134121ff9c5c@github.com> > This patch adds a check when unboxing the target address of a native call to check that the address is not `NULL`. Additionally, it adds checks earlier when an address is specified with a linking request, to check that that address is not `NULL`. > > I didn't see any regressions on the CallOverhead* benchmarks. > > Thanks, > Jorn Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: - Merge check symbol code - add missing documentation ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/530/files - new: https://git.openjdk.java.net/panama-foreign/pull/530/files/8bc89f32..4e871492 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=530&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=530&range=00-01 Stats: 36 lines in 6 files changed: 19 ins; 12 del; 5 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/530.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/530/head:pull/530 PR: https://git.openjdk.java.net/panama-foreign/pull/530 From jvernee at openjdk.java.net Mon May 10 11:41:28 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 10 May 2021 11:41:28 GMT Subject: [foreign-memaccess+abi] RFR: 8266626: Check that the target address of a native call is not NULL [v3] In-Reply-To: References: Message-ID: > This patch adds a check when unboxing the target address of a native call to check that the address is not `NULL`. Additionally, it adds checks earlier when an address is specified with a linking request, to check that that address is not `NULL`. > > I didn't see any regressions on the CallOverhead* benchmarks. > > Thanks, > Jorn Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits: - Merge branch 'foreign-memaccess+abi' into Check_NULL - - Merge check symbol code - add missing documentation - Add tests - WIP - Add NULL checks for target addresses (need tests) ------------- Changes: https://git.openjdk.java.net/panama-foreign/pull/530/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=530&range=02 Stats: 97 lines in 8 files changed: 86 ins; 4 del; 7 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/530.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/530/head:pull/530 PR: https://git.openjdk.java.net/panama-foreign/pull/530 From jvernee at openjdk.java.net Mon May 10 11:46:50 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 10 May 2021 11:46:50 GMT Subject: [foreign-memaccess+abi] RFR: 8266626: Check that the target address of a native call is not NULL [v2] In-Reply-To: <-WHjtm_FDaFpEVJIC4363P_TIPkkk2vLSUCbY4K_TU4=.1a1c66c0-8bfd-4733-9883-134121ff9c5c@github.com> References: <-WHjtm_FDaFpEVJIC4363P_TIPkkk2vLSUCbY4K_TU4=.1a1c66c0-8bfd-4733-9883-134121ff9c5c@github.com> Message-ID: On Mon, 10 May 2021 11:40:08 GMT, Jorn Vernee wrote: >> This patch adds a check when unboxing the target address of a native call to check that the address is not `NULL`. Additionally, it adds checks earlier when an address is specified with a linking request, to check that that address is not `NULL`. >> >> I didn't see any regressions on the CallOverhead* benchmarks. >> >> Thanks, >> Jorn > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > - Merge check symbol code > - add missing documentation I've addressed review comments: - Move symbol check into shared code, this also makes sure we do a more explicit `null` check in the virtual case. - added some documentation about the thrown exceptions. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/530 From mcimadamore at openjdk.java.net Mon May 10 12:13:32 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 10 May 2021 12:13:32 GMT Subject: [foreign-memaccess+abi] RFR: 8266626: Check that the target address of a native call is not NULL [v3] In-Reply-To: References: Message-ID: <_rsD_OJZoy0Yr2TyUMzDfCKYKCH4gf0VZJVjMwomegw=.5c10cfbf-c967-4791-9c2c-4bc88cd13803@github.com> On Mon, 10 May 2021 11:41:28 GMT, Jorn Vernee wrote: >> This patch adds a check when unboxing the target address of a native call to check that the address is not `NULL`. Additionally, it adds checks earlier when an address is specified with a linking request, to check that that address is not `NULL`. >> >> I didn't see any regressions on the CallOverhead* benchmarks. >> >> Thanks, >> Jorn > > Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits: > > - Merge branch 'foreign-memaccess+abi' into Check_NULL > - - Merge check symbol code > - add missing documentation > - Add tests > - WIP - Add NULL checks for target addresses (need tests) Looks good - some minor quibbles over javadoc src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 200: > 198: * @return the downcall method handle. > 199: * @throws IllegalArgumentException in the case of a method type and function descriptor mismatch, or if the symbol > 200: * is {@link MemoryAddress#NULL} Is the indentation deliberate? What about NPE? ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/530 From maurizio.cimadamore at oracle.com Mon May 10 12:49:27 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 10 May 2021 13:49:27 +0100 Subject: library loading - continued Message-ID: <37730db1-5a84-3edd-5d5b-1f094a150a70@oracle.com> Hi, in my email [1] I described a plan to simplify the library loading mechanism based on the `LibraryLookup` abstraction. The motivations behind the restructuring were three-fold: * Semantics of `LibraryLookup::ofDefault` is unstable; on some platforms, default lookup leaks other loaded library symbols; on other platforms (e.g. Windows) implementing it required use of debugging APIs. * `LibraryLookup` has its own concept of lifecycle which is incompatible with `ResourceScope`, and also with that typically associated with JNI loaded libraries (whose lifecycle is associated with that of the owning classloader) * `LibraryLookup` does not offer a migration path for JNI-based frameworks. That is, many frameworks are written with the assumption that `System::loadLibrary` will affect the set of available symbols _everywhere_ else (at least within the same classloader context) For these reasons, we decided to remove `LibraryLookup` and to provide a more basic lookup capability instead, as a static method (`CLinker::findNative`). This method would lookup symbols in libraries loaded by the classloader used by the caller; in doing so, the new method addresses the migration issues which affected `LibraryLookup`. When writing this patch [2, 3] we have realized that this new scheme was not without its own issues: * Loading symbols in the standard C library is now incredibly difficult, sometimes requiring surprising workarounds [4, 5] * There is no way to e.g. implement a lookup which filters the set of symbols available to users After staring at these issues, we realized that having a lookup abstraction was not, in itself, the root cause of the problems we were seeing in [1]. These problems were, rather, caused by the fact that the lookup abstraction we had was introducing its own concept of library loading which had nothing to do with JNI library loading. In other words, `LibraryLookup`, despite its name, wasn't a *pure* lookup abstraction, it was attempting to do a little more (e.g. keeping libraries loaded using GC reachability), without too much success. Having realized that, we now believe we can safely reintroduce some kind of lookup abstraction, in the form of `SymbolLookup`: a simple functional interface which, given a symbol name, gives us the address of that symbol (if available). The use or a more neutral name here (`SymbolLookup` instead of `LibraryLookup`) is deliberate: not always a lookup is a result of library loading; lookup objects might in fact be created (or composed) by users, using existing resources. How do developers obtain a `SymbolLookup` ? Two ways: * They can obtain a `SymbolLookup` for a given class loader - which allows to search symbols in all the libraries loaded by that class loader * They can ask `CLinker` a so called *system lookup* - a lookup which allows to search for basic C symbols (such as `strlen` and `qsort`) Note that the first mechanism allows us to solve the migration problem, by exposing the lookup abstraction associated with a specific class loader. This means frameworks will still be able to call `System::loadLibrary` to *side-effect* the results of a class loader-based symbol lookup. Note that, since `SymbolLookup` is a simple functional interface, it would be possible for developers to set up symbol lookup chains e.g. where lookup for parent class loader is consulted first (e.g. following classloader delegation). This flexibility will certainly come in handy in real world use cases. The second mechanism gives us something similar to the previous concept of *default lookup* - but without the messy bits: the system lookup is simply a system-dependent symbol lookup object, which might help in retrieving common C symbols. The API makes no promises as to *which* libraries will be consulted by this lookup (this is an implementation detail). That said, the implementation (unlike before) will not make use of `RTLD_DEFAULT` whose semantics is brittle and not implementable across all OSs. It is possible that, in the future, we might add more ways to obtain a symbol lookup - for instance: ``` SymbolLookup.ofLibrary(String libName, ResourceScope scope) ``` This is not too different from what we had in the original `LibraryLookup` abstraction, and would allow developers to load a library and associate its lifecycle with a `ResourceScope` (rather than a class loader). That is, when the scope is closed, the library will be unloaded. However, adding these new mode will require some additional foundational work on the `CLinker` support - as we need to make sure that the memory address used by a downcall method handle cannot be unloaded while the downcall method handle is being invoked. This means that, at the very minimum, the linker will need to acquire/release the scope associated with the address of the native function, to prevent premature closing of said scope. Summing up, we believe that while investigating for a more minimal library lookup mechanism we have found a way to provide most (all?) of the functionalities available before, in a more disciplined and compositional manner. Cheers Maurizio [1] - https://mail.openjdk.java.net/pipermail/panama-dev/2021-April/013577.html [2] - https://git.openjdk.java.net/panama-foreign/pull/526 [3] - https://git.openjdk.java.net/panama-foreign/pull/529 [4] - https://github.com/sundararajana/panama-foreign/blob/197db28d5097b1689b4befcd7129eb7af13f41c2/test/jdk/java/foreign/libStdLibTest.c [5] - https://github.com/openjdk/panama-foreign/pull/527 From jvernee at openjdk.java.net Mon May 10 13:15:09 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 10 May 2021 13:15:09 GMT Subject: [foreign-memaccess+abi] RFR: 8266626: Check that the target address of a native call is not NULL [v3] In-Reply-To: <_rsD_OJZoy0Yr2TyUMzDfCKYKCH4gf0VZJVjMwomegw=.5c10cfbf-c967-4791-9c2c-4bc88cd13803@github.com> References: <_rsD_OJZoy0Yr2TyUMzDfCKYKCH4gf0VZJVjMwomegw=.5c10cfbf-c967-4791-9c2c-4bc88cd13803@github.com> Message-ID: On Mon, 10 May 2021 12:08:54 GMT, Maurizio Cimadamore wrote: >> Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits: >> >> - Merge branch 'foreign-memaccess+abi' into Check_NULL >> - - Merge check symbol code >> - add missing documentation >> - Add tests >> - WIP - Add NULL checks for target addresses (need tests) > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 200: > >> 198: * @return the downcall method handle. >> 199: * @throws IllegalArgumentException in the case of a method type and function descriptor mismatch, or if the symbol >> 200: * is {@link MemoryAddress#NULL} > > Is the indentation deliberate? What about NPE? Yes, the indentation is deliberate. I'll add the NPE as well, looks like that was missing from before. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/530 From xgong at openjdk.java.net Mon May 10 13:15:40 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 10 May 2021 13:15:40 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics Message-ID: Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. [1] https://bugs.openjdk.java.net/browse/JDK-8264563 ------------- Commit messages: - 8266621: Add masking support for unary/ternary vector intrinsics Changes: https://git.openjdk.java.net/panama-vector/pull/80/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=80&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266621 Stats: 1952 lines in 45 files changed: 1057 ins; 422 del; 473 mod Patch: https://git.openjdk.java.net/panama-vector/pull/80.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/80/head:pull/80 PR: https://git.openjdk.java.net/panama-vector/pull/80 From jvernee at openjdk.java.net Mon May 10 13:22:40 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 10 May 2021 13:22:40 GMT Subject: [foreign-memaccess+abi] RFR: 8266626: Check that the target address of a native call is not NULL [v3] In-Reply-To: References: <_rsD_OJZoy0Yr2TyUMzDfCKYKCH4gf0VZJVjMwomegw=.5c10cfbf-c967-4791-9c2c-4bc88cd13803@github.com> Message-ID: On Mon, 10 May 2021 13:09:10 GMT, Jorn Vernee wrote: >> src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 200: >> >>> 198: * @return the downcall method handle. >>> 199: * @throws IllegalArgumentException in the case of a method type and function descriptor mismatch, or if the symbol >>> 200: * is {@link MemoryAddress#NULL} >> >> Is the indentation deliberate? What about NPE? > > Yes, the indentation is deliberate. > > I'll add the NPE as well, looks like that was missing from before. Actually, I think the NPE is covered by this comment on the class *

Unless otherwise specified, passing a {@code null} argument, or an array argument containing one or more {@code null} * elements to a method in this class causes a {@link NullPointerException NullPointerException} to be thrown.

``` ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/530 From mcimadamore at openjdk.java.net Mon May 10 13:33:33 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 10 May 2021 13:33:33 GMT Subject: [foreign-memaccess+abi] RFR: 8266626: Check that the target address of a native call is not NULL [v3] In-Reply-To: References: <_rsD_OJZoy0Yr2TyUMzDfCKYKCH4gf0VZJVjMwomegw=.5c10cfbf-c967-4791-9c2c-4bc88cd13803@github.com> Message-ID: On Mon, 10 May 2021 13:19:22 GMT, Jorn Vernee wrote: >> Yes, the indentation is deliberate. >> >> I'll add the NPE as well, looks like that was missing from before. > > Actually, I think the NPE is covered by this comment on the class > > > *

Unless otherwise specified, passing a {@code null} argument, or an array argument containing one or more {@code null} > * elements to a method in this class causes a {@link NullPointerException NullPointerException} to be thrown.

> ``` ah true ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/530 From duke at openjdk.java.net Mon May 10 13:54:15 2021 From: duke at openjdk.java.net (duke) Date: Mon, 10 May 2021 13:54:15 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <033b630f-8731-457a-9c3c-9fd427fd201c@openjdk.org> Changeset: 872b126f Author: Jorn Vernee Date: 2021-05-10 13:52:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/872b126f9cf17b87832eb979d301d92d36e78351 8266626: Check that the target address of a native call is not NULL Reviewed-by: mcimadamore ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/AbstractCLinker.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ProgrammableInvoker.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java ! test/jdk/java/foreign/TestIllegalLink.java + test/jdk/java/foreign/TestNULLTarget.java ! test/jdk/java/foreign/TestNulls.java ! test/jdk/java/foreign/virtual/TestVirtualCalls.java Changeset: d3377abe Author: duke Date: 2021-05-10 13:53:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d3377abe63b57d8c7b8675e77e1f317a71a40801 Automatic merge of foreign-memaccess+abi into foreign-jextract From jvernee at openjdk.java.net Mon May 10 13:54:56 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 10 May 2021 13:54:56 GMT Subject: [foreign-memaccess+abi] Integrated: 8266626: Check that the target address of a native call is not NULL In-Reply-To: References: Message-ID: On Fri, 7 May 2021 13:40:10 GMT, Jorn Vernee wrote: > This patch adds a check when unboxing the target address of a native call to check that the address is not `NULL`. Additionally, it adds checks earlier when an address is specified with a linking request, to check that that address is not `NULL`. > > I didn't see any regressions on the CallOverhead* benchmarks. > > Thanks, > Jorn This pull request has now been integrated. Changeset: 872b126f Author: Jorn Vernee URL: https://git.openjdk.java.net/panama-foreign/commit/872b126f9cf17b87832eb979d301d92d36e78351 Stats: 97 lines in 8 files changed: 86 ins; 4 del; 7 mod 8266626: Check that the target address of a native call is not NULL Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/530 From mcimadamore at openjdk.java.net Mon May 10 14:29:18 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 10 May 2021 14:29:18 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction Message-ID: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> This patch implements the library loading abstraction described in: https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013684.html That is, a functional interface called `SymbolLookup`, and a couple of factories to get a lookup for a given classloader, and to get a *system* lookup, useful to lookup C symbols. To implement the system lookup, we load `msvcrt.dll` on Windows, while we build and load an empty library (which depends on libc) on Mac/Linux. This approach is better than relying on RTLD_DEFAULT (which can sometimes leak symbols from libraries loaded independently). Also, doing this bypasses the problem of figuring out the location of libc, which, on Linux system is particularly gnarly, because of the multi-arch support. ------------- Commit messages: - Javadoc fixes - Fix whitespaces - Merge branch 'foreign-memaccess+abi' into symbol_lookup - Add CallerSensitive method for getting lookup for current class loader - Rename c library for suporting system lookup - Initial push Changes: https://git.openjdk.java.net/panama-foreign/pull/531/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=531&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266814 Stats: 744 lines in 30 files changed: 390 ins; 293 del; 61 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/531.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/531/head:pull/531 PR: https://git.openjdk.java.net/panama-foreign/pull/531 From sundar at openjdk.java.net Mon May 10 14:29:19 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 10 May 2021 14:29:19 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction In-Reply-To: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: On Mon, 10 May 2021 13:55:44 GMT, Maurizio Cimadamore wrote: > This patch implements the library loading abstraction described in: > > https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013684.html > > That is, a functional interface called `SymbolLookup`, and a couple of factories to get a lookup for a given classloader, and to get a *system* lookup, useful to lookup C symbols. > > To implement the system lookup, we load `msvcrt.dll` on Windows, while we build and load an empty library (which depends on libc) on Mac/Linux. This approach is better than relying on RTLD_DEFAULT (which can sometimes leak symbols from libraries loaded independently). Also, doing this bypasses the problem of figuring out the location of libc, which, on Linux system is particularly gnarly, because of the multi-arch support. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SymbolLookup.java line 60: > 58: * restricted methods, and use safe and supported functionalities, where possible. > 59: * > 60: * @return a symbol lookup suitable to find symbols in libraries loaded by given classloader. "by given classloader" should be "by the caller's class loader" src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SymbolLookup.java line 85: > 83: static SymbolLookup loaderLookup(ClassLoader loader) { > 84: Reflection.ensureNativeAccess(Reflection.getCallerClass()); > 85: Objects.requireNonNull(loader); why do we filter null (bootstrap) loader? src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java line 100: > 98: *

Foreign function access

> 99: * The key abstractions introduced to support foreign function access are {@link jdk.incubator.foreign.SymbolLookup} and {@link jdk.incubator.foreign.CLinker}. > 100: * The former is used to load foreign libraries, as well as to lookup symbols inside said libraries; the latter "is used to load foreign libraries" should be removed? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/531 From mcimadamore at openjdk.java.net Mon May 10 14:29:20 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 10 May 2021 14:29:20 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction In-Reply-To: References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: <9IBm3llWr-ewHJU3KIGP5e4PY0HcuCvA6QURoiQ1SFw=.b2b3e93b-d003-423d-aa75-c8cf94527737@github.com> On Mon, 10 May 2021 14:05:53 GMT, Athijegannathan Sundararajan wrote: >> This patch implements the library loading abstraction described in: >> >> https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013684.html >> >> That is, a functional interface called `SymbolLookup`, and a couple of factories to get a lookup for a given classloader, and to get a *system* lookup, useful to lookup C symbols. >> >> To implement the system lookup, we load `msvcrt.dll` on Windows, while we build and load an empty library (which depends on libc) on Mac/Linux. This approach is better than relying on RTLD_DEFAULT (which can sometimes leak symbols from libraries loaded independently). Also, doing this bypasses the problem of figuring out the location of libc, which, on Linux system is particularly gnarly, because of the multi-arch support. > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SymbolLookup.java line 85: > >> 83: static SymbolLookup loaderLookup(ClassLoader loader) { >> 84: Reflection.ensureNativeAccess(Reflection.getCallerClass()); >> 85: Objects.requireNonNull(loader); > > why do we filter null (bootstrap) loader? Because boot loader is under control of the JDK, not the user. I don't think it's desirable to introduce coupling between user code and set of libraries which happen to be loaded by boot loader. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/531 From jvernee at openjdk.java.net Mon May 10 15:45:19 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 10 May 2021 15:45:19 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction In-Reply-To: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: On Mon, 10 May 2021 13:55:44 GMT, Maurizio Cimadamore wrote: > This patch implements the library loading abstraction described in: > > https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013684.html > > That is, a functional interface called `SymbolLookup`, and a couple of factories to get a lookup for a given classloader, and to get a *system* lookup, useful to lookup C symbols. > > To implement the system lookup, we load `msvcrt.dll` on Windows, while we build and load an empty library (which depends on libc) on Mac/Linux. This approach is better than relying on RTLD_DEFAULT (which can sometimes leak symbols from libraries loaded independently). Also, doing this bypasses the problem of figuring out the location of libc, which, on Linux system is particularly gnarly, because of the multi-arch support. make/modules/jdk.incubator.foreign/Lib.gmk line 41: > 39: )) > 40: > 41: else ifeq ($(call isTargetOs, windows), false) I feel like this code, and maybe also the associated code in SystemLookup that loads msvcrt.dll could do with a comment that explains why the same strategy is not used on Windows; namely that symbol lookup on Windows does not search a library's dependencies, as opposed to dlsym, so it's not as easy to re-export the symbols in msvcrt by creating a shim library. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SymbolLookup.java line 47: > 45: * > 46: * @param name the symbol name. > 47: * @return the memory address associated with the library symbol (if any). I think we want to remove library-centric text here? Suggestion: * @return the memory address associated with the symbol (if any). src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SymbolLookup.java line 60: > 58: * restricted methods, and use safe and supported functionalities, where possible. > 59: * > 60: * @return a symbol lookup suitable to find symbols in libraries loaded by the caller's classloader. Should this include an `@throws` for the ICE that can be thrown the native access check? src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SystemLookup.java line 45: > 43: final NativeLibrary syslookup = switch (CABI.current()) { > 44: case SysV, AArch64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false).loadLibrary("syslookup"); > 45: case Win64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false) e.g. a short comment here that explains why Windows is different. src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SystemLookup.java line 46: > 44: case SysV, AArch64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false).loadLibrary("syslookup"); > 45: case Win64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false) > 46: .loadLibrary(Path.of(System.getenv("SystemRoot"), "System32", "msvcrt.dll").toString()); Looks like this loadLibrary call does not except paths: assert name.indexOf(File.separatorChar) < 0; So this is causing an assertion error on Windows. I'll try to find a fix. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/531 From mcimadamore at openjdk.java.net Mon May 10 15:54:30 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 10 May 2021 15:54:30 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v2] In-Reply-To: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: > This patch implements the library loading abstraction described in: > > https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013684.html > > That is, a functional interface called `SymbolLookup`, and a couple of factories to get a lookup for a given classloader, and to get a *system* lookup, useful to lookup C symbols. > > To implement the system lookup, we load `msvcrt.dll` on Windows, while we build and load an empty library (which depends on libc) on Mac/Linux. This approach is better than relying on RTLD_DEFAULT (which can sometimes leak symbols from libraries loaded independently). Also, doing this bypasses the problem of figuring out the location of libc, which, on Linux system is particularly gnarly, because of the multi-arch support. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SymbolLookup.java Co-authored-by: Jorn Vernee ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/531/files - new: https://git.openjdk.java.net/panama-foreign/pull/531/files/59e794be..0a051573 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=531&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=531&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/531.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/531/head:pull/531 PR: https://git.openjdk.java.net/panama-foreign/pull/531 From mcimadamore at openjdk.java.net Mon May 10 15:54:35 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 10 May 2021 15:54:35 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v2] In-Reply-To: References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: On Mon, 10 May 2021 15:36:01 GMT, Jorn Vernee wrote: >> Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: >> >> Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SymbolLookup.java >> >> Co-authored-by: Jorn Vernee > > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SystemLookup.java line 45: > >> 43: final NativeLibrary syslookup = switch (CABI.current()) { >> 44: case SysV, AArch64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false).loadLibrary("syslookup"); >> 45: case Win64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false) > > e.g. a short comment here that explains why Windows is different. I'll add a comment here > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SystemLookup.java line 46: > >> 44: case SysV, AArch64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false).loadLibrary("syslookup"); >> 45: case Win64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false) >> 46: .loadLibrary(Path.of(System.getenv("SystemRoot"), "System32", "msvcrt.dll").toString()); > > Looks like this loadLibrary call does not except paths: > > > assert name.indexOf(File.separatorChar) < 0; > > > So this is causing an assertion error on Windows. I'll try to find a fix. That's a bug - we should use `System::load` with a full path ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/531 From jvernee at openjdk.java.net Mon May 10 16:22:28 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 10 May 2021 16:22:28 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v2] In-Reply-To: References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: On Mon, 10 May 2021 15:48:28 GMT, Maurizio Cimadamore wrote: >> src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SystemLookup.java line 46: >> >>> 44: case SysV, AArch64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false).loadLibrary("syslookup"); >>> 45: case Win64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false) >>> 46: .loadLibrary(Path.of(System.getenv("SystemRoot"), "System32", "msvcrt.dll").toString()); >> >> Looks like this loadLibrary call does not except paths: >> >> >> assert name.indexOf(File.separatorChar) < 0; >> >> >> So this is causing an assertion error on Windows. I'll try to find a fix. > > That's a bug - we should use `System::load` with a full path This patch fixes the problem: Suggestion: .loadLibrary(null, Path.of(System.getenv("SystemRoot"), "System32", "msvcrt.dll").toFile()); ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/531 From sundar at openjdk.java.net Mon May 10 16:22:28 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 10 May 2021 16:22:28 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v2] In-Reply-To: References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: On Mon, 10 May 2021 15:48:28 GMT, Maurizio Cimadamore wrote: >> src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SystemLookup.java line 46: >> >>> 44: case SysV, AArch64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false).loadLibrary("syslookup"); >>> 45: case Win64 -> NativeLibraries.rawNativeLibraries(SystemLookup.class, false) >>> 46: .loadLibrary(Path.of(System.getenv("SystemRoot"), "System32", "msvcrt.dll").toString()); >> >> Looks like this loadLibrary call does not except paths: >> >> >> assert name.indexOf(File.separatorChar) < 0; >> >> >> So this is causing an assertion error on Windows. I'll try to find a fix. > > That's a bug - we should use `System::load` with a full path does this work?! Path load has to use System::load as @mcimadamore mentioned... ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/531 From mcimadamore at openjdk.java.net Mon May 10 16:57:31 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 10 May 2021 16:57:31 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v3] In-Reply-To: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: > This patch implements the library loading abstraction described in: > > https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013684.html > > That is, a functional interface called `SymbolLookup`, and a couple of factories to get a lookup for a given classloader, and to get a *system* lookup, useful to lookup C symbols. > > To implement the system lookup, we load `msvcrt.dll` on Windows, while we build and load an empty library (which depends on libc) on Mac/Linux. This approach is better than relying on RTLD_DEFAULT (which can sometimes leak symbols from libraries loaded independently). Also, doing this bypasses the problem of figuring out the location of libc, which, on Linux system is particularly gnarly, because of the multi-arch support. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Address review comments ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/531/files - new: https://git.openjdk.java.net/panama-foreign/pull/531/files/0a051573..1b5f0871 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=531&range=02 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=531&range=01-02 Stats: 31 lines in 2 files changed: 7 ins; 23 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/531.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/531/head:pull/531 PR: https://git.openjdk.java.net/panama-foreign/pull/531 From jvernee at openjdk.java.net Mon May 10 16:57:33 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 10 May 2021 16:57:33 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v3] In-Reply-To: References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: On Mon, 10 May 2021 16:17:22 GMT, Athijegannathan Sundararajan wrote: >> That's a bug - we should use `System::load` with a full path > > does this work?! Path load has to use System::load as @mcimadamore mentioned... As far as I can tell there's no `load` on NativeLibraries, but this method loads from the supplied file. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/531 From mcimadamore at openjdk.java.net Mon May 10 17:05:26 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 10 May 2021 17:05:26 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v3] In-Reply-To: References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: On Mon, 10 May 2021 16:52:48 GMT, Jorn Vernee wrote: > As far as I can tell there's no `load` on NativeLibraries, but this method loads from the supplied file. Right - note that this code was NOT using System::loadLibrary, but NativeLibraries::loadLibrary - hence the confusion. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/531 From youngty1997 at gmail.com Mon May 10 22:25:42 2021 From: youngty1997 at gmail.com (Ty Young) Date: Mon, 10 May 2021 17:25:42 -0500 Subject: library loading - continued In-Reply-To: <37730db1-5a84-3edd-5d5b-1f094a150a70@oracle.com> References: <37730db1-5a84-3edd-5d5b-1f094a150a70@oracle.com> Message-ID: <55f0a32b-09f6-8a14-cd7b-cca943fc9112@gmail.com> It's not possible to create bindings for dlfcn, the header that provides the function declarations dlopen, dlclose, dlsym, etc, it seems. CLinker.systemLookup() fails to provide the symbol, anyway, and attempting to load libc fails. The header says that it's part of the GNU C library but maybe I'm barking up the wrong tree or something. Is System.load()/System.loadLibrary() really the best approach? Not only does it have issues loading libc(and others?) but it isn't exactly all that primitive of a API either. Both dlopen(Linux) and LoadLibrary(Windows) both return pointers(which can be user managed) when loading libraries and dlopen has modes that can be set, but System.load()/System.loadLibrary() both register the loaded libraries with a ClassLoader, a JVM construct. How does one get a pointer of a loaded library from a ClassLoader and then use that pointer to unload a library? In addition to all that, it's no longer clear(compared to the old way Panama did things) where a particular symbol is coming from. Yes, we know it's from a ClassLoader(if you bother reading javadoc, which doesn't work on Netbeans) but there isn't a visual representation of this in code. On 5/10/21 7:49 AM, Maurizio Cimadamore wrote: > Hi, > in my email [1] I described a plan to simplify the library loading > mechanism based on the `LibraryLookup` abstraction. The motivations > behind the restructuring were three-fold: > > * Semantics of `LibraryLookup::ofDefault` is unstable; on some > platforms, default lookup leaks other loaded library symbols; on other > platforms (e.g. Windows) implementing it required use of debugging APIs. > * `LibraryLookup` has its own concept of lifecycle which is > incompatible with `ResourceScope`, and also with that typically > associated with JNI loaded libraries (whose lifecycle is associated > with that of the owning classloader) > * `LibraryLookup` does not offer a migration path for JNI-based > frameworks. That is, many frameworks are written with the assumption > that `System::loadLibrary` will affect the set of available symbols > _everywhere_ else (at least within the same classloader context) > > For these reasons, we decided to remove `LibraryLookup` and to provide > a more basic lookup capability instead, as a static method > (`CLinker::findNative`). This method would lookup symbols in libraries > loaded by the classloader used by the caller; in doing so, the new > method addresses the migration issues which affected `LibraryLookup`. > > When writing this patch [2, 3] we have realized that this new scheme > was not without its own issues: > > * Loading symbols in the standard C library is now incredibly > difficult, sometimes requiring surprising workarounds [4, 5] > * There is no way to e.g. implement a lookup which filters the set of > symbols available to users > > After staring at these issues, we realized that having a lookup > abstraction was not, in itself, the root cause of the problems we were > seeing in [1]. These problems were, rather, caused by the fact that > the lookup abstraction we had was introducing its own concept of > library loading which had nothing to do with JNI library loading. In > other words, `LibraryLookup`, despite its name, wasn't a *pure* lookup > abstraction, it was attempting to do a little more (e.g. keeping > libraries loaded using GC reachability), without too much success. > > Having realized that, we now believe we can safely reintroduce some > kind of lookup abstraction, in the form of `SymbolLookup`: a simple > functional interface which, given a symbol name, gives us the address > of that symbol (if available). The use or a more neutral name here > (`SymbolLookup` instead of `LibraryLookup`) is deliberate: not always > a lookup is a result of library loading; lookup objects might in fact > be created (or composed) by users, using existing resources. > > How do developers obtain a `SymbolLookup` ? Two ways: > > * They can obtain a `SymbolLookup` for a given class loader - which > allows to search symbols in all the libraries loaded by that class loader > * They can ask `CLinker` a so called *system lookup* - a lookup which > allows to search for basic C symbols (such as `strlen` and `qsort`) > > Note that the first mechanism allows us to solve the migration > problem, by exposing the lookup abstraction associated with a specific > class loader. This means frameworks will still be able to call > `System::loadLibrary` to *side-effect* the results of a class > loader-based symbol lookup. Note that, since `SymbolLookup` is a > simple functional interface, it would be possible for developers to > set up symbol lookup chains e.g. where lookup for parent class loader > is consulted first (e.g. following classloader delegation). This > flexibility will certainly come in handy in real world use cases. > > The second mechanism gives us something similar to the previous > concept of *default lookup* - but without the messy bits: the system > lookup is simply a system-dependent symbol lookup object, which might > help in retrieving common C symbols. The API makes no promises as to > *which* libraries will be consulted by this lookup (this is an > implementation detail). That said, the implementation (unlike before) > will not make use of `RTLD_DEFAULT` whose semantics is brittle and not > implementable across all OSs. > > It is possible that, in the future, we might add more ways to obtain a > symbol lookup - for instance: > > ``` > SymbolLookup.ofLibrary(String libName, ResourceScope scope) > > ``` > > This is not too different from what we had in the original > `LibraryLookup` abstraction, and would allow developers to load a > library and associate its lifecycle with a `ResourceScope` (rather > than a class loader). That is, when the scope is closed, the library > will be unloaded. However, adding these new mode will require some > additional foundational work on the `CLinker` support - as we need to > make sure that the memory address used by a downcall method handle > cannot be unloaded while the downcall method handle is being invoked. > This means that, at the very minimum, the linker will need to > acquire/release the scope associated with the address of the native > function, to prevent premature closing of said scope. > > Summing up, we believe that while investigating for a more minimal > library lookup mechanism we have found a way to provide most (all?) of > the functionalities available before, in a more disciplined and > compositional manner. > > Cheers > Maurizio > > [1] - > https://mail.openjdk.java.net/pipermail/panama-dev/2021-April/013577.html > [2] - https://git.openjdk.java.net/panama-foreign/pull/526 > [3] - https://git.openjdk.java.net/panama-foreign/pull/529 > [4] - > https://github.com/sundararajana/panama-foreign/blob/197db28d5097b1689b4befcd7129eb7af13f41c2/test/jdk/java/foreign/libStdLibTest.c > [5] - https://github.com/openjdk/panama-foreign/pull/527 > > > From youngty1997 at gmail.com Tue May 11 01:08:35 2021 From: youngty1997 at gmail.com (Ty Young) Date: Mon, 10 May 2021 20:08:35 -0500 Subject: library loading - continued In-Reply-To: <55f0a32b-09f6-8a14-cd7b-cca943fc9112@gmail.com> References: <37730db1-5a84-3edd-5d5b-1f094a150a70@oracle.com> <55f0a32b-09f6-8a14-cd7b-cca943fc9112@gmail.com> Message-ID: <2099edd3-cbe2-5b7f-169e-635af955f4b9@gmail.com> Someone off-list pointed out that dl* functions are provided by a different library than libc: dl. Also, does System.load()/System.loadLibrary() affect CLinker.systemLookup()? Just noticed that CLinker.systemLookup()'s name is rather problematic if it doesn't. On 5/10/21 5:25 PM, Ty Young wrote: > It's not possible to create bindings for dlfcn, the header that > provides the function declarations dlopen, dlclose, dlsym, etc, it > seems. CLinker.systemLookup() fails to provide the symbol, anyway, and > attempting to load libc fails. The header says that it's part of the > GNU C library but maybe I'm barking up the wrong tree or something. > > > Is System.load()/System.loadLibrary() really the best approach? Not > only does it have issues loading libc(and others?) but it isn't > exactly all that primitive of a API either. Both dlopen(Linux) and > LoadLibrary(Windows) both return pointers(which can be user managed) > when loading libraries and dlopen has modes that can be set, but > System.load()/System.loadLibrary() both register the loaded libraries > with a ClassLoader, a JVM construct. How does one get a pointer of a > loaded library from a ClassLoader and then use that pointer to unload > a library? > > > In addition to all that, it's no longer clear(compared to the old way > Panama did things) where a particular symbol is coming from. Yes, we > know it's from a ClassLoader(if you bother reading javadoc, which > doesn't work on Netbeans) but there isn't a visual representation of > this in code. > > > On 5/10/21 7:49 AM, Maurizio Cimadamore wrote: >> Hi, >> in my email [1] I described a plan to simplify the library loading >> mechanism based on the `LibraryLookup` abstraction. The motivations >> behind the restructuring were three-fold: >> >> * Semantics of `LibraryLookup::ofDefault` is unstable; on some >> platforms, default lookup leaks other loaded library symbols; on >> other platforms (e.g. Windows) implementing it required use of >> debugging APIs. >> * `LibraryLookup` has its own concept of lifecycle which is >> incompatible with `ResourceScope`, and also with that typically >> associated with JNI loaded libraries (whose lifecycle is associated >> with that of the owning classloader) >> * `LibraryLookup` does not offer a migration path for JNI-based >> frameworks. That is, many frameworks are written with the assumption >> that `System::loadLibrary` will affect the set of available symbols >> _everywhere_ else (at least within the same classloader context) >> >> For these reasons, we decided to remove `LibraryLookup` and to >> provide a more basic lookup capability instead, as a static method >> (`CLinker::findNative`). This method would lookup symbols in >> libraries loaded by the classloader used by the caller; in doing so, >> the new method addresses the migration issues which affected >> `LibraryLookup`. >> >> When writing this patch [2, 3] we have realized that this new scheme >> was not without its own issues: >> >> * Loading symbols in the standard C library is now incredibly >> difficult, sometimes requiring surprising workarounds [4, 5] >> * There is no way to e.g. implement a lookup which filters the set of >> symbols available to users >> >> After staring at these issues, we realized that having a lookup >> abstraction was not, in itself, the root cause of the problems we >> were seeing in [1]. These problems were, rather, caused by the fact >> that the lookup abstraction we had was introducing its own concept of >> library loading which had nothing to do with JNI library loading. In >> other words, `LibraryLookup`, despite its name, wasn't a *pure* >> lookup abstraction, it was attempting to do a little more (e.g. >> keeping libraries loaded using GC reachability), without too much >> success. >> >> Having realized that, we now believe we can safely reintroduce some >> kind of lookup abstraction, in the form of `SymbolLookup`: a simple >> functional interface which, given a symbol name, gives us the address >> of that symbol (if available). The use or a more neutral name here >> (`SymbolLookup` instead of `LibraryLookup`) is deliberate: not always >> a lookup is a result of library loading; lookup objects might in fact >> be created (or composed) by users, using existing resources. >> >> How do developers obtain a `SymbolLookup` ? Two ways: >> >> * They can obtain a `SymbolLookup` for a given class loader - which >> allows to search symbols in all the libraries loaded by that class >> loader >> * They can ask `CLinker` a so called *system lookup* - a lookup which >> allows to search for basic C symbols (such as `strlen` and `qsort`) >> >> Note that the first mechanism allows us to solve the migration >> problem, by exposing the lookup abstraction associated with a >> specific class loader. This means frameworks will still be able to >> call `System::loadLibrary` to *side-effect* the results of a class >> loader-based symbol lookup. Note that, since `SymbolLookup` is a >> simple functional interface, it would be possible for developers to >> set up symbol lookup chains e.g. where lookup for parent class loader >> is consulted first (e.g. following classloader delegation). This >> flexibility will certainly come in handy in real world use cases. >> >> The second mechanism gives us something similar to the previous >> concept of *default lookup* - but without the messy bits: the system >> lookup is simply a system-dependent symbol lookup object, which might >> help in retrieving common C symbols. The API makes no promises as to >> *which* libraries will be consulted by this lookup (this is an >> implementation detail). That said, the implementation (unlike before) >> will not make use of `RTLD_DEFAULT` whose semantics is brittle and >> not implementable across all OSs. >> >> It is possible that, in the future, we might add more ways to obtain >> a symbol lookup - for instance: >> >> ``` >> SymbolLookup.ofLibrary(String libName, ResourceScope scope) >> >> ``` >> >> This is not too different from what we had in the original >> `LibraryLookup` abstraction, and would allow developers to load a >> library and associate its lifecycle with a `ResourceScope` (rather >> than a class loader). That is, when the scope is closed, the library >> will be unloaded. However, adding these new mode will require some >> additional foundational work on the `CLinker` support - as we need to >> make sure that the memory address used by a downcall method handle >> cannot be unloaded while the downcall method handle is being invoked. >> This means that, at the very minimum, the linker will need to >> acquire/release the scope associated with the address of the native >> function, to prevent premature closing of said scope. >> >> Summing up, we believe that while investigating for a more minimal >> library lookup mechanism we have found a way to provide most (all?) >> of the functionalities available before, in a more disciplined and >> compositional manner. >> >> Cheers >> Maurizio >> >> [1] - >> https://mail.openjdk.java.net/pipermail/panama-dev/2021-April/013577.html >> [2] - https://git.openjdk.java.net/panama-foreign/pull/526 >> [3] - https://git.openjdk.java.net/panama-foreign/pull/529 >> [4] - >> https://github.com/sundararajana/panama-foreign/blob/197db28d5097b1689b4befcd7129eb7af13f41c2/test/jdk/java/foreign/libStdLibTest.c >> [5] - https://github.com/openjdk/panama-foreign/pull/527 >> >> >> From notzed at gmail.com Tue May 11 02:06:45 2021 From: notzed at gmail.com (Michael Zucchi) Date: Tue, 11 May 2021 11:36:45 +0930 Subject: library loading - continued In-Reply-To: <55f0a32b-09f6-8a14-cd7b-cca943fc9112@gmail.com> References: <37730db1-5a84-3edd-5d5b-1f094a150a70@oracle.com> <55f0a32b-09f6-8a14-cd7b-cca943fc9112@gmail.com> Message-ID: <53e6e5c8-d1f5-43a1-0d50-65e171350c7e@gmail.com> On 11/5/21 10:38 am, Ty Young wrote: > Someone off-list pointed out that dl* functions are provided by a > different library than libc: dl. Oops, hit the wrong button.? As below: On 11/5/21 7:55 am, Ty Young wrote: > It's not possible to create bindings for dlfcn, the header that > provides the function declarations dlopen, dlclose, dlsym, etc, it > seems. CLinker.systemLookup() fails to provide the symbol, anyway, and > attempting to load libc fails. The header says that it's part of the > GNU C library but maybe I'm barking up the wrong tree or something. > For glibc they're in libdl not libc (as per man page), is that the problem? > > Is System.load()/System.loadLibrary() really the best approach? Not > only does it have issues loading libc(and others?) but it isn't > exactly all that primitive of a API either. Both dlopen(Linux) and > LoadLibrary(Windows) both return pointers(which can be user managed) > when loading libraries and dlopen has modes that can be set, but > System.load()/System.loadLibrary() both register the loaded libraries > with a ClassLoader, a JVM construct. How does one get a pointer of a > loaded library from a ClassLoader and then use that pointer to unload > a library? > > It does seem overly complicated when all the supported operating systems have a pretty basic and very similar abstraction. On that last point should one ever explicitly unload a library though?? Presumably tying it to a (specific) classloader does the same thing in a "safe" way. ?Z From whuang at openjdk.java.net Tue May 11 03:13:35 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Tue, 11 May 2021 03:13:35 GMT Subject: [vectorIntrinsics] RFR: 8266775: Add VectorLoadConst node implementation for Arm SVE [v3] In-Reply-To: References: Message-ID: > * add VectorLoadConst node implementation for Arm SVE by > * ~~add new data in `generate_iota_indices`~~ > * ~~`sve_ld1b` these data~~ > * `sve_index` > > Thank you for your review. Any suggestion is welcome. Wang Huang has updated the pull request incrementally with one additional commit since the last revision: use sve_index ------------- Changes: - all: https://git.openjdk.java.net/panama-vector/pull/79/files - new: https://git.openjdk.java.net/panama-vector/pull/79/files/ad86b7a2..06f3b97f Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=79&range=02 - incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=79&range=01-02 Stats: 22 lines in 3 files changed: 0 ins; 16 del; 6 mod Patch: https://git.openjdk.java.net/panama-vector/pull/79.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/79/head:pull/79 PR: https://git.openjdk.java.net/panama-vector/pull/79 From whuang at openjdk.java.net Tue May 11 03:13:37 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Tue, 11 May 2021 03:13:37 GMT Subject: [vectorIntrinsics] RFR: 8266775: Add VectorLoadConst node implementation for Arm SVE [v3] In-Reply-To: References: <9JBXQ8Adl94xbgN4n8ygjcSEodDZX8pRvDxNoRjAMEk=.feb06a3e-7e0e-4e64-9630-0dda4f650897@github.com> Message-ID: On Mon, 10 May 2021 09:55:43 GMT, Xiaohong Gong wrote: >> Wang Huang has updated the pull request incrementally with one additional commit since the last revision: >> >> use sve_index > > src/hotspot/cpu/aarch64/aarch64_sve.ad line 4233: > >> 4231: ins_encode %{ >> 4232: __ lea(rscratch1, ExternalAddress(StubRoutines::aarch64::vector_iota_indices())); >> 4233: __ sve_ld1b(as_FloatRegister($dst$$reg), __ B, ptrue, Address(rscratch1, 0)); > > Could it use `INDEX ., #, #` (Create index starting from and incremented by immediate) here? Great suggestion. I will change that. Thank you. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/79 From mr.chrisvest at gmail.com Tue May 11 09:22:55 2021 From: mr.chrisvest at gmail.com (Chris Vest) Date: Tue, 11 May 2021 11:22:55 +0200 Subject: FMA-17 MemorySegment needs a isNative() In-Reply-To: References: Message-ID: For what it's worth we have a similar try-catch in the Netty integration. We have a method on our Buffer interface for querying a buffers native address, which returns 0 as a special value for heap buffers. We use this information to decide how to do certain IO calls. On Tue, 20 Apr 2021 at 11:58, Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > We'll consider this. > > In the meantime, you can emulate the check with this: > > try { > segment.address().toRawLongValue() > return true; > } catch (UnsupportedOperationException ex) { > return false; > } > > Not great, but works :-) > > Maurizio > > > On 20/04/2021 00:29, leerho wrote: > > It would be very useful to be able to determine from just a given > > MemorySegment if it is off-heap or on-heap. If a custom allocator gets a > > request from a child process for a new segment, the allocator needs to > know > > whether that segment should be allocated on-heap or off-heap. > > > > A simple *boolean isNative() would do the trick.* > > > > Lee. > From maurizio.cimadamore at oracle.com Tue May 11 09:44:57 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 11 May 2021 10:44:57 +0100 Subject: FMA-17 MemorySegment needs a isNative() In-Reply-To: References: Message-ID: <08fa9174-ff88-0f3b-67e5-c6d5b5cc68fa@oracle.com> Hi, the method has been added in the latest API iteration and is slated for integration here: https://git.openjdk.java.net/jdk/pull/3699 Thanks Maurizio On 11/05/2021 10:22, Chris Vest wrote: > For what it's worth we have a similar try-catch in the Netty integration. > We have a method on our Buffer interface for querying a buffers native > address, which returns 0 as a special value for heap buffers. > We use this information to decide how to do certain IO calls. > > On Tue, 20 Apr 2021 at 11:58, Maurizio Cimadamore > > wrote: > > We'll consider this. > > In the meantime, you can emulate the check with this: > > try { > ??? segment.address().toRawLongValue() > ??? return true; > } catch (UnsupportedOperationException ex) { > ??? return false; > } > > Not great, but works :-) > > Maurizio > > > On 20/04/2021 00:29, leerho wrote: > > It would be very useful to be able to determine from just a given > > MemorySegment if it is off-heap or on-heap.? If a custom > allocator gets a > > request from a child process for a new segment, the allocator > needs to know > > whether that segment should be allocated on-heap or off-heap. > > > > A simple *boolean isNative() would do the trick.* > > > > Lee. > From maurizio.cimadamore at oracle.com Tue May 11 10:07:29 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 11 May 2021 11:07:29 +0100 Subject: library loading - continued In-Reply-To: <55f0a32b-09f6-8a14-cd7b-cca943fc9112@gmail.com> References: <37730db1-5a84-3edd-5d5b-1f094a150a70@oracle.com> <55f0a32b-09f6-8a14-cd7b-cca943fc9112@gmail.com> Message-ID: <89fcfca2-327c-59d2-7f55-1f6a951c6744@oracle.com> On 10/05/2021 23:25, Ty Young wrote: > It's not possible to create bindings for dlfcn, the header that > provides the function declarations dlopen, dlclose, dlsym, etc, it > seems. CLinker.systemLookup() fails to provide the symbol, anyway, and > attempting to load libc fails. The header says that it's part of the > GNU C library but maybe I'm barking up the wrong tree or something. dlopen/dlclose, at least on my linux system are in the dl library, as you later discovered. The good thing about the system lookup approach is that we can expand the set of "system" symbols to e.g. include POSIX (on Linux). After all, msvcrt.dll also contains more stuff than just standard C library. > > > Is System.load()/System.loadLibrary() really the best approach? Not > only does it have issues loading libc(and others?) but it isn't > exactly all that primitive of a API either. Both dlopen(Linux) and > LoadLibrary(Windows) both return pointers(which can be user managed) > when loading libraries and dlopen has modes that can be set, but > System.load()/System.loadLibrary() both register the loaded libraries > with a ClassLoader, a JVM construct. How does one get a pointer of a > loaded library from a ClassLoader and then use that pointer to unload > a library? Let's sort through the arguments a bit here: * System.load doesn't have any issue loading the C library - _assuming you can find where it is_ :-) While the location of such library is relatively stable on Windows and MacOS, on Linux is completely distro dependent. Most distributions nowadays embrace the "multiarch" philosophy, so they have a different libc for different archs. For instance, in my machine, libc is here: /usr/lib/x86_64-linux-gnu/libc.so Well, it *seems* to be there - if you look at that file you discover it's a text file (!!), used by ldconfig: ``` $ cat /usr/lib/x86_64-linux-gnu/libc.so /* GNU ld script ?? Use the shared library, but some functions are only in ?? the static library, so try that secondarily.? */ OUTPUT_FORMAT(elf64-x86-64) GROUP ( /lib/x86_64-linux-gnu/libc.so.6 /usr/lib/x86_64-linux-gnu/libc_nonshared.a? AS_NEEDED ( /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ) ) ``` Which gives away the real location of the library: /lib/x86_64-linux-gnu/libc.so.6 We've been looking around for a "standard" way to discover the location of these system libraries and came up pretty empty handed. The best way seems to be to run: ldconfig -p And then filter the output in some way. Is the output format stable? Of course not - see [1]. So, while there's nothing wrong with System.loadLibrary in terms of "library loading" ability, on linux there is simply no great way to tell where libc is. * Registering a library with a classloader is a pretty pragmatic way to make sure the library doesn't get unloaded when you don't want to (e.g. _while_ a native method is being executed, or just before it is called). If you drop that dependency, you will probably have to reinvent something similar (which we did in our LibraryLookup construct). As I write in my email, we do want a ResourceScope-based library loading - but to get there there's other stuff that needs to be done first. In other words, calling dlopen/LoadLibrary is the "easy" part of the problem - the hard part is to guarantee that library is not unloaded prematurely - System.loadLibrary, for better or worse, already has guarantees in that direction. * System.loadLibrary is side-effecting. That is, you can have a big static initializer which does a bunch of stuff - e.g. extracts native libraries from a jar, copy the library in a temp folder and then loads it from there. All the symbols will be visible from the rest of the program (if the initializer is ran early enough). These tricks no longer works when working with libraries whose loading is fully encapsulated in a LibraryLookup instance - and these tricks are pretty universal in Maven-land. We'd like to offer something that offers a gentle migration path for those developers too. > > > In addition to all that, it's no longer clear(compared to the old way > Panama did things) where a particular symbol is coming from. Yes, we > know it's from a ClassLoader(if you bother reading javadoc, which > doesn't work on Netbeans) but there isn't a visual representation of > this in code. True - this is because of the side-effecting described above. Turns out, a lot of real code depends on that, for better or worse. To me the important question is this: does providing a classloader-based lookup _now_ prevents us from adding better library loading _in the future_ ? As discussed in my email, the answer is no, and in fact we already have plans to offer a more minimal wrapper around dlopen/dlsym/LoadLibrary (and ResourceScope). For code that is rewritten from scratch, that more minimal wrapper might well be the preferred solution - but for some code, esp. that distributed via maven/gradle, it might still be preferrable to go through the class loader lookup. Maurizio > > > On 5/10/21 7:49 AM, Maurizio Cimadamore wrote: >> Hi, >> in my email [1] I described a plan to simplify the library loading >> mechanism based on the `LibraryLookup` abstraction. The motivations >> behind the restructuring were three-fold: >> >> * Semantics of `LibraryLookup::ofDefault` is unstable; on some >> platforms, default lookup leaks other loaded library symbols; on >> other platforms (e.g. Windows) implementing it required use of >> debugging APIs. >> * `LibraryLookup` has its own concept of lifecycle which is >> incompatible with `ResourceScope`, and also with that typically >> associated with JNI loaded libraries (whose lifecycle is associated >> with that of the owning classloader) >> * `LibraryLookup` does not offer a migration path for JNI-based >> frameworks. That is, many frameworks are written with the assumption >> that `System::loadLibrary` will affect the set of available symbols >> _everywhere_ else (at least within the same classloader context) >> >> For these reasons, we decided to remove `LibraryLookup` and to >> provide a more basic lookup capability instead, as a static method >> (`CLinker::findNative`). This method would lookup symbols in >> libraries loaded by the classloader used by the caller; in doing so, >> the new method addresses the migration issues which affected >> `LibraryLookup`. >> >> When writing this patch [2, 3] we have realized that this new scheme >> was not without its own issues: >> >> * Loading symbols in the standard C library is now incredibly >> difficult, sometimes requiring surprising workarounds [4, 5] >> * There is no way to e.g. implement a lookup which filters the set of >> symbols available to users >> >> After staring at these issues, we realized that having a lookup >> abstraction was not, in itself, the root cause of the problems we >> were seeing in [1]. These problems were, rather, caused by the fact >> that the lookup abstraction we had was introducing its own concept of >> library loading which had nothing to do with JNI library loading. In >> other words, `LibraryLookup`, despite its name, wasn't a *pure* >> lookup abstraction, it was attempting to do a little more (e.g. >> keeping libraries loaded using GC reachability), without too much >> success. >> >> Having realized that, we now believe we can safely reintroduce some >> kind of lookup abstraction, in the form of `SymbolLookup`: a simple >> functional interface which, given a symbol name, gives us the address >> of that symbol (if available). The use or a more neutral name here >> (`SymbolLookup` instead of `LibraryLookup`) is deliberate: not always >> a lookup is a result of library loading; lookup objects might in fact >> be created (or composed) by users, using existing resources. >> >> How do developers obtain a `SymbolLookup` ? Two ways: >> >> * They can obtain a `SymbolLookup` for a given class loader - which >> allows to search symbols in all the libraries loaded by that class >> loader >> * They can ask `CLinker` a so called *system lookup* - a lookup which >> allows to search for basic C symbols (such as `strlen` and `qsort`) >> >> Note that the first mechanism allows us to solve the migration >> problem, by exposing the lookup abstraction associated with a >> specific class loader. This means frameworks will still be able to >> call `System::loadLibrary` to *side-effect* the results of a class >> loader-based symbol lookup. Note that, since `SymbolLookup` is a >> simple functional interface, it would be possible for developers to >> set up symbol lookup chains e.g. where lookup for parent class loader >> is consulted first (e.g. following classloader delegation). This >> flexibility will certainly come in handy in real world use cases. >> >> The second mechanism gives us something similar to the previous >> concept of *default lookup* - but without the messy bits: the system >> lookup is simply a system-dependent symbol lookup object, which might >> help in retrieving common C symbols. The API makes no promises as to >> *which* libraries will be consulted by this lookup (this is an >> implementation detail). That said, the implementation (unlike before) >> will not make use of `RTLD_DEFAULT` whose semantics is brittle and >> not implementable across all OSs. >> >> It is possible that, in the future, we might add more ways to obtain >> a symbol lookup - for instance: >> >> ``` >> SymbolLookup.ofLibrary(String libName, ResourceScope scope) >> >> ``` >> >> This is not too different from what we had in the original >> `LibraryLookup` abstraction, and would allow developers to load a >> library and associate its lifecycle with a `ResourceScope` (rather >> than a class loader). That is, when the scope is closed, the library >> will be unloaded. However, adding these new mode will require some >> additional foundational work on the `CLinker` support - as we need to >> make sure that the memory address used by a downcall method handle >> cannot be unloaded while the downcall method handle is being invoked. >> This means that, at the very minimum, the linker will need to >> acquire/release the scope associated with the address of the native >> function, to prevent premature closing of said scope. >> >> Summing up, we believe that while investigating for a more minimal >> library lookup mechanism we have found a way to provide most (all?) >> of the functionalities available before, in a more disciplined and >> compositional manner. >> >> Cheers >> Maurizio >> >> [1] - >> https://mail.openjdk.java.net/pipermail/panama-dev/2021-April/013577.html >> [2] - https://git.openjdk.java.net/panama-foreign/pull/526 >> [3] - https://git.openjdk.java.net/panama-foreign/pull/529 >> [4] - >> https://github.com/sundararajana/panama-foreign/blob/197db28d5097b1689b4befcd7129eb7af13f41c2/test/jdk/java/foreign/libStdLibTest.c >> [5] - https://github.com/openjdk/panama-foreign/pull/527 >> >> >> From jvernee at openjdk.java.net Tue May 11 10:13:36 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 11 May 2021 10:13:36 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v3] In-Reply-To: References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: On Mon, 10 May 2021 16:57:31 GMT, Maurizio Cimadamore wrote: >> This patch implements the library loading abstraction described in: >> >> https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013684.html >> >> That is, a functional interface called `SymbolLookup`, and a couple of factories to get a lookup for a given classloader, and to get a *system* lookup, useful to lookup C symbols. >> >> To implement the system lookup, we load `msvcrt.dll` on Windows, while we build and load an empty library (which depends on libc) on Mac/Linux. This approach is better than relying on RTLD_DEFAULT (which can sometimes leak symbols from libraries loaded independently). Also, doing this bypasses the problem of figuring out the location of libc, which, on Linux system is particularly gnarly, because of the multi-arch support. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Address review comments Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/531 From sundar at openjdk.java.net Tue May 11 10:13:38 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 11 May 2021 10:13:38 GMT Subject: [foreign-memaccess+abi] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v3] In-Reply-To: References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: <09FUbwus3rM1sf5VVCYYWRtqenNxVmNh7x7WLz1baaI=.154268b9-1b77-492d-bdc9-4ecfa45861f2@github.com> On Mon, 10 May 2021 16:57:31 GMT, Maurizio Cimadamore wrote: >> This patch implements the library loading abstraction described in: >> >> https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013684.html >> >> That is, a functional interface called `SymbolLookup`, and a couple of factories to get a lookup for a given classloader, and to get a *system* lookup, useful to lookup C symbols. >> >> To implement the system lookup, we load `msvcrt.dll` on Windows, while we build and load an empty library (which depends on libc) on Mac/Linux. This approach is better than relying on RTLD_DEFAULT (which can sometimes leak symbols from libraries loaded independently). Also, doing this bypasses the problem of figuring out the location of libc, which, on Linux system is particularly gnarly, because of the multi-arch support. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Address review comments LGTM ------------- Marked as reviewed by sundar (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/531 From duke at openjdk.java.net Tue May 11 10:22:34 2021 From: duke at openjdk.java.net (duke) Date: Tue, 11 May 2021 10:22:34 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <1e2fd5c5-c712-4b80-9e46-d504370ceae4@openjdk.org> Changeset: 9d22e434 Author: Maurizio Cimadamore Date: 2021-05-11 10:21:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d22e4349cc38cdfdaeb21c259114316e81ec0f7 8266814: Improve library loading with SymbolLookup abstraction Reviewed-by: jvernee, sundar + make/modules/jdk.incubator.foreign/Lib.gmk - src/java.base/share/native/libjava/VMFunctions.c ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java + src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SymbolLookup.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SystemLookup.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/VMFunctions.java + src/jdk.incubator.foreign/share/native/libsyslookup/syslookup.c ! test/jdk/java/foreign/SafeFunctionAccessTest.java ! test/jdk/java/foreign/StdLibTest.java ! test/jdk/java/foreign/TestDowncall.java ! test/jdk/java/foreign/TestIntrinsics.java - test/jdk/java/foreign/TestLibraryLookup.java ! test/jdk/java/foreign/TestNulls.java + test/jdk/java/foreign/TestSymbolLookup.java ! test/jdk/java/foreign/TestUpcall.java ! test/jdk/java/foreign/TestUpcallHighArity.java ! test/jdk/java/foreign/TestUpcallStructScope.java ! test/jdk/java/foreign/TestVarArgs.java - test/jdk/java/foreign/libStdLibTest.c ! test/jdk/java/foreign/stackwalk/TestStackWalk.java ! test/jdk/java/foreign/valist/VaListTest.java ! test/jdk/java/foreign/virtual/TestVirtualCalls.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverheadHelper.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/StrLenTest.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/Upcalls.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/VaList.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/libStrLen.c ! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/PanamaPoint.java Changeset: 91e4ad81 Author: duke Date: 2021-05-11 10:22:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/91e4ad811ba0c7210084d88734c4ef2479fe9748 Automatic merge of foreign-memaccess+abi into foreign-jextract From mcimadamore at openjdk.java.net Tue May 11 10:24:36 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 11 May 2021 10:24:36 GMT Subject: [foreign-memaccess+abi] Integrated: 8266814: Improve library loading with SymbolLookup abstraction In-Reply-To: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> References: <1im-3YLGFfGocHewR6fLquXqw0xGCfHdsMOWW_bN9f4=.94b73a4f-966d-45e2-8528-ad3ac275ff40@github.com> Message-ID: <-iYrhMfpU1yhXG1elqJdhtXbGD_PWbMaijUqZj5zhvs=.eb33d87a-26e3-4b3f-bfb2-9f9cb9e47ea8@github.com> On Mon, 10 May 2021 13:55:44 GMT, Maurizio Cimadamore wrote: > This patch implements the library loading abstraction described in: > > https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013684.html > > That is, a functional interface called `SymbolLookup`, and a couple of factories to get a lookup for a given classloader, and to get a *system* lookup, useful to lookup C symbols. > > To implement the system lookup, we load `msvcrt.dll` on Windows, while we build and load an empty library (which depends on libc) on Mac/Linux. This approach is better than relying on RTLD_DEFAULT (which can sometimes leak symbols from libraries loaded independently). Also, doing this bypasses the problem of figuring out the location of libc, which, on Linux system is particularly gnarly, because of the multi-arch support. This pull request has now been integrated. Changeset: 9d22e434 Author: Maurizio Cimadamore URL: https://git.openjdk.java.net/panama-foreign/commit/9d22e4349cc38cdfdaeb21c259114316e81ec0f7 Stats: 728 lines in 30 files changed: 374 ins; 293 del; 61 mod 8266814: Improve library loading with SymbolLookup abstraction Reviewed-by: jvernee, sundar ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/531 From mcimadamore at openjdk.java.net Tue May 11 10:53:08 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 11 May 2021 10:53:08 GMT Subject: [foreign-jextract] RFR: 8266814: Improve library loading with SymbolLookup abstraction Message-ID: This patch add jextract support for the newly added `SymbolLookup` abstraction. Note that the symbol lookup used by jextract classes is a *chained* lookup. That is, first the loader lookup is searched, and, when that fails, the system lookup is also searched. ------------- Commit messages: - Add support for chained lookups - Merge branch 'foreign-jextract' into symbol_lookup+jextract - Merge branch 'foreign-memaccess+abi' into symbol_lookup+jextract - Add jextract changes - Merge branch 'symbol_lookup' into symbol_lookup+jextract - Rename c library for suporting system lookup - Initial push - Revert "8266682: sync jextract for LibraryLookup removal" Changes: https://git.openjdk.java.net/panama-foreign/pull/532/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=532&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266814 Stats: 437 lines in 9 files changed: 42 ins; 43 del; 352 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/532.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/532/head:pull/532 PR: https://git.openjdk.java.net/panama-foreign/pull/532 From jvernee at openjdk.java.net Tue May 11 11:10:02 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 11 May 2021 11:10:02 GMT Subject: [foreign-jextract] RFR: 8266814: Improve library loading with SymbolLookup abstraction In-Reply-To: References: Message-ID: On Tue, 11 May 2021 10:46:48 GMT, Maurizio Cimadamore wrote: > This patch add jextract support for the newly added `SymbolLookup` abstraction. > > Note that the symbol lookup used by jextract classes is a *chained* lookup. That is, first the loader lookup is searched, and, when that fails, the system lookup is also searched. LGTM. Small comment inline src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/OutputFactory.java line 151: > 149: return (pkgName.isEmpty()? "" : "package " + pkgName + ";\n") + > 150: String.join("\n", Files.readAllLines(Paths.get(runtimeHelper.toURI()))) > 151: .replace("${C_LANG}", C_LANG_CONSTANTS_HOLDER); I don't think this is actually doing anything? I don't see `${C_LANG}` being used in RuntimeHelper Not sure the accompanying change in ClassSourceBuilder is needed either. ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/532 From sundar at openjdk.java.net Tue May 11 11:20:23 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 11 May 2021 11:20:23 GMT Subject: [foreign-jextract] RFR: 8266814: Improve library loading with SymbolLookup abstraction In-Reply-To: References: Message-ID: On Tue, 11 May 2021 11:04:38 GMT, Jorn Vernee wrote: >> This patch add jextract support for the newly added `SymbolLookup` abstraction. >> >> Note that the symbol lookup used by jextract classes is a *chained* lookup. That is, first the loader lookup is searched, and, when that fails, the system lookup is also searched. > > src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/OutputFactory.java line 151: > >> 149: return (pkgName.isEmpty()? "" : "package " + pkgName + ";\n") + >> 150: String.join("\n", Files.readAllLines(Paths.get(runtimeHelper.toURI()))) >> 151: .replace("${C_LANG}", C_LANG_CONSTANTS_HOLDER); > > I don't think this is actually doing anything? I don't see `${C_LANG}` being used in RuntimeHelper Not sure the accompanying change in ClassSourceBuilder is needed either. I thought I removed it. Hmm.. Yes, this C_LANG is not used anymore ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/532 From mcimadamore at openjdk.java.net Tue May 11 11:39:26 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 11 May 2021 11:39:26 GMT Subject: [foreign-jextract] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v2] In-Reply-To: References: Message-ID: > This patch add jextract support for the newly added `SymbolLookup` abstraction. > > Note that the symbol lookup used by jextract classes is a *chained* lookup. That is, first the loader lookup is searched, and, when that fails, the system lookup is also searched. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Address review comments ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/532/files - new: https://git.openjdk.java.net/panama-foreign/pull/532/files/6b8d8c56..c13a5e0a Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=532&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=532&range=00-01 Stats: 7 lines in 2 files changed: 0 ins; 5 del; 2 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/532.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/532/head:pull/532 PR: https://git.openjdk.java.net/panama-foreign/pull/532 From maurizio.cimadamore at oracle.com Tue May 11 12:10:06 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 11 May 2021 13:10:06 +0100 Subject: library loading - continued In-Reply-To: <89fcfca2-327c-59d2-7f55-1f6a951c6744@oracle.com> References: <37730db1-5a84-3edd-5d5b-1f094a150a70@oracle.com> <55f0a32b-09f6-8a14-cd7b-cca943fc9112@gmail.com> <89fcfca2-327c-59d2-7f55-1f6a951c6744@oracle.com> Message-ID: On 11/05/2021 11:07, Maurizio Cimadamore wrote: > ldconfig -p > > And then filter the output in some way. Is the output format stable? > Of course not - see [1] Forgot the link: https://github.com/pyinstaller/pyinstaller/commit/ce61bfcfcaf263ee71c89f26db074fc139b2d3a9 Maurizio From sundar at openjdk.java.net Tue May 11 12:17:14 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 11 May 2021 12:17:14 GMT Subject: [foreign-jextract] RFR: 8266814: Improve library loading with SymbolLookup abstraction [v2] In-Reply-To: References: Message-ID: On Tue, 11 May 2021 11:39:26 GMT, Maurizio Cimadamore wrote: >> This patch add jextract support for the newly added `SymbolLookup` abstraction. >> >> Note that the symbol lookup used by jextract classes is a *chained* lookup. That is, first the loader lookup is searched, and, when that fails, the system lookup is also searched. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Address review comments LGTM Tests fine on Mac. Samples jextract and run fine. libproc and time samples no longer need -l libSystem.B.dylib option ------------- Marked as reviewed by sundar (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/532 From mcimadamore at openjdk.java.net Tue May 11 12:17:15 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 11 May 2021 12:17:15 GMT Subject: [foreign-jextract] Integrated: 8266814: Improve library loading with SymbolLookup abstraction In-Reply-To: References: Message-ID: On Tue, 11 May 2021 10:46:48 GMT, Maurizio Cimadamore wrote: > This patch add jextract support for the newly added `SymbolLookup` abstraction. > > Note that the symbol lookup used by jextract classes is a *chained* lookup. That is, first the loader lookup is searched, and, when that fails, the system lookup is also searched. This pull request has now been integrated. Changeset: 30ff6cd5 Author: Maurizio Cimadamore URL: https://git.openjdk.java.net/panama-foreign/commit/30ff6cd5c3b799a353af9aaa3b6839cf48f1d1e2 Stats: 433 lines in 8 files changed: 38 ins; 44 del; 351 mod 8266814: Improve library loading with SymbolLookup abstraction Reviewed-by: jvernee, sundar ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/532 From mcimadamore at openjdk.java.net Tue May 11 13:07:22 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 11 May 2021 13:07:22 GMT Subject: [foreign-memaccess+abi] RFR: 8266916: Simplify logic for creating libSysLookup Message-ID: On Linux/Mac, the makefile for generating libSysLookup contains some unnecessary flags (given that the sources contain no code). Moreover, it is not necessary to have a list of all headers - we can just include a single header (to make the build/toolchain happy) and rely on linker to pull in dependencies. On Linux, also add `libdl` as a dependency (the VM also depends on that, so we can depend on that). ------------- Commit messages: - Initial push Changes: https://git.openjdk.java.net/panama-foreign/pull/533/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=533&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266916 Stats: 36 lines in 2 files changed: 0 ins; 33 del; 3 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/533.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/533/head:pull/533 PR: https://git.openjdk.java.net/panama-foreign/pull/533 From sundar at openjdk.java.net Tue May 11 13:16:23 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 11 May 2021 13:16:23 GMT Subject: [foreign-memaccess+abi] RFR: 8266916: Simplify logic for creating libSysLookup In-Reply-To: References: Message-ID: On Tue, 11 May 2021 13:00:07 GMT, Maurizio Cimadamore wrote: > On Linux/Mac, the makefile for generating libSysLookup contains some unnecessary flags (given that the sources contain no code). > Moreover, it is not necessary to have a list of all headers - we can just include a single header (to make the build/toolchain happy) and rely on linker to pull in dependencies. > On Linux, also add `libdl` as a dependency (the VM also depends on that, so we can depend on that). Marked as reviewed by sundar (Committer). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/533 From mr.chrisvest at gmail.com Tue May 11 13:20:38 2021 From: mr.chrisvest at gmail.com (Chris Vest) Date: Tue, 11 May 2021 15:20:38 +0200 Subject: FMA-17 MemorySegment needs a isNative() In-Reply-To: <08fa9174-ff88-0f3b-67e5-c6d5b5cc68fa@oracle.com> References: <08fa9174-ff88-0f3b-67e5-c6d5b5cc68fa@oracle.com> Message-ID: Thanks, I had missed that it had already been added to panama-foreign. ?? On Tue, 11 May 2021 at 11:45, Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi, > the method has been added in the latest API iteration and is slated for > integration here: > > https://git.openjdk.java.net/jdk/pull/3699 > > Thanks > Maurizio > On 11/05/2021 10:22, Chris Vest wrote: > > For what it's worth we have a similar try-catch in the Netty integration. > We have a method on our Buffer interface for querying a buffers native > address, which returns 0 as a special value for heap buffers. > We use this information to decide how to do certain IO calls. > > On Tue, 20 Apr 2021 at 11:58, Maurizio Cimadamore < > maurizio.cimadamore at oracle.com> wrote: > >> We'll consider this. >> >> In the meantime, you can emulate the check with this: >> >> try { >> segment.address().toRawLongValue() >> return true; >> } catch (UnsupportedOperationException ex) { >> return false; >> } >> >> Not great, but works :-) >> >> Maurizio >> >> >> On 20/04/2021 00:29, leerho wrote: >> > It would be very useful to be able to determine from just a given >> > MemorySegment if it is off-heap or on-heap. If a custom allocator gets >> a >> > request from a child process for a new segment, the allocator needs to >> know >> > whether that segment should be allocated on-heap or off-heap. >> > >> > A simple *boolean isNative() would do the trick.* >> > >> > Lee. >> > From duke at openjdk.java.net Tue May 11 13:26:54 2021 From: duke at openjdk.java.net (duke) Date: Tue, 11 May 2021 13:26:54 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <6e91344b-0134-4893-bf15-12902d5d9167@openjdk.org> Changeset: 669eb876 Author: Maurizio Cimadamore Date: 2021-05-11 13:25:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/669eb8764b0d1db1f6719e51080414ea549ed37f 8266916: Simplify logic for creating libSysLookup Reviewed-by: sundar ! make/modules/jdk.incubator.foreign/Lib.gmk ! src/jdk.incubator.foreign/share/native/libsyslookup/syslookup.c Changeset: a92e566f Author: duke Date: 2021-05-11 13:26:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a92e566f2e1cc7a9b1f5045883eed48cff751948 Automatic merge of foreign-memaccess+abi into foreign-jextract From mcimadamore at openjdk.java.net Tue May 11 13:28:02 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 11 May 2021 13:28:02 GMT Subject: [foreign-memaccess+abi] Integrated: 8266916: Simplify logic for creating libSysLookup In-Reply-To: References: Message-ID: On Tue, 11 May 2021 13:00:07 GMT, Maurizio Cimadamore wrote: > On Linux/Mac, the makefile for generating libSysLookup contains some unnecessary flags (given that the sources contain no code). > Moreover, it is not necessary to have a list of all headers - we can just include a single header (to make the build/toolchain happy) and rely on linker to pull in dependencies. > On Linux, also add `libdl` as a dependency (the VM also depends on that, so we can depend on that). This pull request has now been integrated. Changeset: 669eb876 Author: Maurizio Cimadamore URL: https://git.openjdk.java.net/panama-foreign/commit/669eb8764b0d1db1f6719e51080414ea549ed37f Stats: 36 lines in 2 files changed: 0 ins; 33 del; 3 mod 8266916: Simplify logic for creating libSysLookup Reviewed-by: sundar ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/533 From psandoz at openjdk.java.net Tue May 11 15:53:20 2021 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Tue, 11 May 2021 15:53:20 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Mon, 10 May 2021 06:15:24 GMT, Xiaohong Gong wrote: > Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. > > Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. > > Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. > > [1] https://bugs.openjdk.java.net/browse/JDK-8264563 Java changes look good. ------------- Marked as reviewed by psandoz (Committer). PR: https://git.openjdk.java.net/panama-vector/pull/80 From jvernee at openjdk.java.net Tue May 11 17:10:53 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 11 May 2021 17:10:53 GMT Subject: [foreign-memaccess+abi] RFR: 8266911: On Windows the system lookup should load ucrtbase if possible Message-ID: <2mH91VptD7wucq9CMeclVHGCxFV6lIYIMxv21OYkgVY=.360f732f-98a0-4e6c-bc1f-56483201a367@github.com> The current system lookup on Windows is always backed by msvcrt.dll, but since Windows 10 the core runtime is located in ucrtbase.dll (though the legacy msvcrt.dll is still available). We should try to load ucrtbase first if it's available, as it's more up to date. ------------- Commit messages: - Prefer loading ucrtbase.dll as system library if it exists Changes: https://git.openjdk.java.net/panama-foreign/pull/534/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=534&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266911 Stats: 116 lines in 3 files changed: 114 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/534.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/534/head:pull/534 PR: https://git.openjdk.java.net/panama-foreign/pull/534 From mcimadamore at openjdk.java.net Tue May 11 17:17:26 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 11 May 2021 17:17:26 GMT Subject: [foreign-memaccess+abi] RFR: 8266911: On Windows the system lookup should load ucrtbase if possible In-Reply-To: <2mH91VptD7wucq9CMeclVHGCxFV6lIYIMxv21OYkgVY=.360f732f-98a0-4e6c-bc1f-56483201a367@github.com> References: <2mH91VptD7wucq9CMeclVHGCxFV6lIYIMxv21OYkgVY=.360f732f-98a0-4e6c-bc1f-56483201a367@github.com> Message-ID: On Tue, 11 May 2021 17:02:32 GMT, Jorn Vernee wrote: > The current system lookup on Windows is always backed by msvcrt.dll, but since Windows 10 the core runtime is located in ucrtbase.dll (though the legacy msvcrt.dll is still available). > > We should try to load ucrtbase first if it's available, as it's more up to date. Very good ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/534 From duke at openjdk.java.net Tue May 11 17:22:01 2021 From: duke at openjdk.java.net (duke) Date: Tue, 11 May 2021 17:22:01 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <060e8b60-96e2-4ec1-a611-01fe3b2141fa@openjdk.org> Changeset: f7874145 Author: Jorn Vernee Date: 2021-05-11 17:20:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f7874145711b52f8c86183db8109a9ae62ab881c 8266911: On Windows the system lookup should load ucrtbase if possible Reviewed-by: mcimadamore ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/SystemLookup.java + test/jdk/java/foreign/malloc/TestMixedMallocFree.java + test/jdk/java/foreign/malloc/libMalloc.c Changeset: b068d7d4 Author: duke Date: 2021-05-11 17:21:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b068d7d4041bb66ddef1f0a53a35f3cebf009026 Automatic merge of foreign-memaccess+abi into foreign-jextract From jvernee at openjdk.java.net Tue May 11 17:24:23 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 11 May 2021 17:24:23 GMT Subject: [foreign-memaccess+abi] Integrated: 8266911: On Windows the system lookup should load ucrtbase if possible In-Reply-To: <2mH91VptD7wucq9CMeclVHGCxFV6lIYIMxv21OYkgVY=.360f732f-98a0-4e6c-bc1f-56483201a367@github.com> References: <2mH91VptD7wucq9CMeclVHGCxFV6lIYIMxv21OYkgVY=.360f732f-98a0-4e6c-bc1f-56483201a367@github.com> Message-ID: On Tue, 11 May 2021 17:02:32 GMT, Jorn Vernee wrote: > The current system lookup on Windows is always backed by msvcrt.dll, but since Windows 10 the core runtime is located in ucrtbase.dll (though the legacy msvcrt.dll is still available). > > We should try to load ucrtbase first if it's available, as it's more up to date. This pull request has now been integrated. Changeset: f7874145 Author: Jorn Vernee URL: https://git.openjdk.java.net/panama-foreign/commit/f7874145711b52f8c86183db8109a9ae62ab881c Stats: 116 lines in 3 files changed: 114 ins; 0 del; 2 mod 8266911: On Windows the system lookup should load ucrtbase if possible Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/534 From notzed at gmail.com Wed May 12 00:07:35 2021 From: notzed at gmail.com (Michael Zucchi) Date: Wed, 12 May 2021 09:37:35 +0930 Subject: library loading - continued In-Reply-To: <89fcfca2-327c-59d2-7f55-1f6a951c6744@oracle.com> References: <37730db1-5a84-3edd-5d5b-1f094a150a70@oracle.com> <55f0a32b-09f6-8a14-cd7b-cca943fc9112@gmail.com> <89fcfca2-327c-59d2-7f55-1f6a951c6744@oracle.com> Message-ID: <98963a2f-6a22-0f21-cdad-ab35ef79825c@gmail.com> Morning, On 11/5/21 7:37 pm, Maurizio Cimadamore wrote: > > > Which gives away the real location of the library: > > /lib/x86_64-linux-gnu/libc.so.6 > As an example non-multilib systems just put it in /lib64, probably. But where it's found is really up to ld-linux(8) (at least with glibc). > We've been looking around for a "standard" way to discover the > location of these system libraries and came up pretty empty handed. > The best way seems to be to run: > > ldconfig -p > > And then filter the output in some way. Is the output format stable? > Of course not - see [1]. So, while there's nothing wrong with > System.loadLibrary in terms of "library loading" ability, on linux > there is simply no great way to tell where libc is. > Well dlopen finds it ok as it's on the system path, assuming you know the actual libc name to use (which is in the elf program headers or known at compile time for the java executable).? The requirement of an absolute path for System.load() as well as support for 'system libraries' is perhaps conflicting here because the "system libraries" can be changed on a per-process basis via elf headers and environmental variables. *ldconfig -p wouldn't even be correct regardless* since that just prints the ld.so.cache contents.? It wont take into account LD_LIBRARY_PATH or -rpath nor the fact that a given binary can use an alternative interpreter (ld-linux.so.x) and any libc which that given ld-linux is compatible with, discovered via the load path. The only hard-coded absolute path is the interpreter name, and that is what determines the search paths to use. Presumably what you need is the libc actually bound to the current java process?? For the latter "pldd" walks the auxiliary table for the runtime ELF program headers which includes the full paths to the libraries loaded. Seems overly complicated to duplicate when dlopen("" or actually "" - as per the example in the dlopen man page) should already do this.? And as already seen in this thread 'glibc' is actually a somewhat large collection of libraries so you're already bound to a platform /and/ (g)libc specific bunch of "system" names (i.e. /usr/include/gnu/lib-names-64.h) ?Z From xgong at openjdk.java.net Wed May 12 00:58:59 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Wed, 12 May 2021 00:58:59 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Tue, 11 May 2021 15:50:18 GMT, Paul Sandoz wrote: >> Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. >> >> Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. >> >> Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8264563 > > Java changes look good. Thanks for your review @PaulSandoz ! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From njian at openjdk.java.net Wed May 12 06:05:26 2021 From: njian at openjdk.java.net (Ningsheng Jian) Date: Wed, 12 May 2021 06:05:26 GMT Subject: [vectorIntrinsics] RFR: 8266775: Add VectorLoadConst node implementation for Arm SVE [v3] In-Reply-To: References: Message-ID: On Tue, 11 May 2021 03:13:35 GMT, Wang Huang wrote: >> * add VectorLoadConst node implementation for Arm SVE by >> * ~~add new data in `generate_iota_indices`~~ >> * ~~`sve_ld1b` these data~~ >> * `sve_index` >> >> Thank you for your review. Any suggestion is welcome. > > Wang Huang has updated the pull request incrementally with one additional commit since the last revision: > > use sve_index src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 line 2496: > 2494: > 2495: // ------------------------------ Vector Load Const ------------------------------- > 2496: instruct loadconB(vReg dst, immI0 src) Add a blank line between them? src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 line 2499: > 2497: %{ > 2498: predicate(UseSVE > 0 && > 2499: n->bottom_type()->is_vect()->element_basic_type() == T_BYTE); When the size is 16, the neon pattern will also be matched. Can you please add "UseSVE == 0" for NEON VectorLoadConst patterns? ------------- PR: https://git.openjdk.java.net/panama-vector/pull/79 From whuang at openjdk.java.net Wed May 12 07:12:52 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Wed, 12 May 2021 07:12:52 GMT Subject: [vectorIntrinsics] RFR: 8266775: Add VectorLoadConst node implementation for Arm SVE [v4] In-Reply-To: References: Message-ID: > * add VectorLoadConst node implementation for Arm SVE by > * ~~add new data in `generate_iota_indices`~~ > * ~~`sve_ld1b` these data~~ > * `sve_index` > > Thank you for your review. Any suggestion is welcome. Wang Huang has updated the pull request incrementally with one additional commit since the last revision: trivial fix ------------- Changes: - all: https://git.openjdk.java.net/panama-vector/pull/79/files - new: https://git.openjdk.java.net/panama-vector/pull/79/files/06f3b97f..9c7f9305 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=79&range=03 - incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=79&range=02-03 Stats: 14 lines in 4 files changed: 2 ins; 2 del; 10 mod Patch: https://git.openjdk.java.net/panama-vector/pull/79.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/79/head:pull/79 PR: https://git.openjdk.java.net/panama-vector/pull/79 From whuang at openjdk.java.net Wed May 12 07:12:54 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Wed, 12 May 2021 07:12:54 GMT Subject: [vectorIntrinsics] RFR: 8266775: Add VectorLoadConst node implementation for Arm SVE [v3] In-Reply-To: References: Message-ID: On Wed, 12 May 2021 05:59:40 GMT, Ningsheng Jian wrote: >> Wang Huang has updated the pull request incrementally with one additional commit since the last revision: >> >> use sve_index > > src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 line 2496: > >> 2494: >> 2495: // ------------------------------ Vector Load Const ------------------------------- >> 2496: instruct loadconB(vReg dst, immI0 src) > > Add a blank line between them? Sure. > src/hotspot/cpu/aarch64/aarch64_sve_ad.m4 line 2499: > >> 2497: %{ >> 2498: predicate(UseSVE > 0 && >> 2499: n->bottom_type()->is_vect()->element_basic_type() == T_BYTE); > > When the size is 16, the neon pattern will also be matched. Can you please add "UseSVE == 0" for NEON VectorLoadConst patterns? Thank you for your review. I have changed that. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/79 From maurizio.cimadamore at oracle.com Wed May 12 09:21:22 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 12 May 2021 10:21:22 +0100 Subject: library loading - continued In-Reply-To: <98963a2f-6a22-0f21-cdad-ab35ef79825c@gmail.com> References: <37730db1-5a84-3edd-5d5b-1f094a150a70@oracle.com> <55f0a32b-09f6-8a14-cd7b-cca943fc9112@gmail.com> <89fcfca2-327c-59d2-7f55-1f6a951c6744@oracle.com> <98963a2f-6a22-0f21-cdad-ab35ef79825c@gmail.com> Message-ID: <0a959158-9435-0743-98de-6a9f1dfbdcbc@oracle.com> On 12/05/2021 01:07, Michael Zucchi wrote: > Well dlopen finds it ok as it's on the system path, assuming you know > the actual libc name to use (which is in the elf program headers or > known at compile time for the java executable).? The requirement of an > absolute path for System.load() as well as support for 'system > libraries' is perhaps conflicting here because the "system libraries" > can be changed on a per-process basis via elf headers and > environmental variables. > > *ldconfig -p wouldn't even be correct regardless* since that just > prints the ld.so.cache contents.? It wont take into account > LD_LIBRARY_PATH or -rpath nor the fact that a given binary can use an > alternative interpreter (ld-linux.so.x) and any libc which that given > ld-linux is compatible with, discovered via the load path. The only > hard-coded absolute path is the interpreter name, and that is what > determines the search paths to use. Yes. Many tools out there do just that - but I'm aware that even the ldconfig solution isn't bullet proof. > > Presumably what you need is the libc actually bound to the current > java process?? For the latter "pldd" walks the auxiliary table for the > runtime ELF program headers which includes the full paths to the > libraries loaded. We had something like this on Windows, before this change. While walking ELF headers is always an option, it also seems a brittle one, as it still involves some parsing logic which might break. > > Seems overly complicated to duplicate when dlopen(" program header>" or actually " against>" - as per the example in the dlopen man page) should already > do this.? And as already seen in this thread 'glibc' is actually a > somewhat large collection of libraries so you're already bound to a > platform /and/ (g)libc specific bunch of "system" names (i.e. > /usr/include/gnu/lib-names-64.h) Using dlopen + lib-names is, IMHO, the best approach, in the sense that the macros in there would give away the full name of the libraries used when building the JVM, and then dlopen would do the rest, in terms of finding where these libraries actually are. But note that what we ended up doing is not very different: we just create a shim library which depends on libc/libm/libdl and dlopen that. I don't think there will be any material difference for the user? The advantage of the solution we used is that it is pretty straightforward, and works on MacOS too. But I mean, these are all implementation details - we could, in the future, switch to some other implementation strategy which allows us to create a "system" lookup... as long as we agree on the fact that some kind of system lookup is desirable. Maurizio From whuang at openjdk.java.net Wed May 12 09:37:31 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Wed, 12 May 2021 09:37:31 GMT Subject: [vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota Message-ID: Because JDK-8266317 has not been merged into jdk/jdk. So I fix this bug here. * This comparsion should be a unsigned cmp * `x86` is not wrong because `x86` does not have 1024-bits vl here. ```c++ ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ge)); // should BoolTest::ugt Node * lane_cnt = gvn().makecon(TypeInt::make(num_elem)); Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt, num_elem, type_bt)); // should BoolTest::ugt Node* mask = gvn().transform(new VectorMaskCmpNode(BoolTest::ge, bcast_lane_cnt, res, pred_node, vt)); ------------- Commit messages: - fix format - 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota Changes: https://git.openjdk.java.net/panama-vector/pull/81/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=81&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266720 Stats: 136 lines in 7 files changed: 102 ins; 0 del; 34 mod Patch: https://git.openjdk.java.net/panama-vector/pull/81.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/81/head:pull/81 PR: https://git.openjdk.java.net/panama-vector/pull/81 From jbhateja at openjdk.java.net Wed May 12 10:09:58 2021 From: jbhateja at openjdk.java.net (Jatin Bhateja) Date: Wed, 12 May 2021 10:09:58 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: References: Message-ID: On Thu, 6 May 2021 10:12:08 GMT, Xiaohong Gong wrote: > Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains: > 1) Generation of the mask IRs for vector mask, including: > - Mask generations, e.g. load/compare/maskAll > - Mask operations, e.g. and/or/xor > 2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory > 3) Generation of the vector IRs which need the mask value as the control > - The mask value is appended to the original vector node's input list > > With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added. > > Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the > followed-up patches. > > [1] https://github.com/openjdk/panama-vector/pull/57 src/hotspot/share/opto/classes.hpp line 475: > 473: macro(AndVMask) > 474: macro(OrVMask) > 475: macro(XorVMask) Since you have used existing IR nodes for other commutative vector operations like Add/Sub/Mul, why specialized masked IR for OrV/AndV/XorV ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From jbhateja at openjdk.java.net Wed May 12 10:40:21 2021 From: jbhateja at openjdk.java.net (Jatin Bhateja) Date: Wed, 12 May 2021 10:40:21 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: References: Message-ID: On Thu, 6 May 2021 10:12:08 GMT, Xiaohong Gong wrote: > Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains: > 1) Generation of the mask IRs for vector mask, including: > - Mask generations, e.g. load/compare/maskAll > - Mask operations, e.g. and/or/xor > 2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory > 3) Generation of the vector IRs which need the mask value as the control > - The mask value is appended to the original vector node's input list > > With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added. > > Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the > followed-up patches. > > [1] https://github.com/openjdk/panama-vector/pull/57 src/hotspot/share/adlc/formssel.cpp line 3888: > 3886: if (_rChild) > 3887: _rChild->count_commutative_op(count); > 3888: } Matcher rules based on proposed masked IR shall look like following match(Set dst AddVI (Binary vsrc1 vsrc2) mask) AddVI is still commutative and generated DFA will check for appropriate child states i.e. kid[0]->state == _Binary_vec_vec && kid[1]->state == _mask So even if matcher generates additional check by swapping the states of the two child nodes it should still be ok. Can you kindly elaborate the need for this change. src/hotspot/share/opto/matcher.cpp line 2332: > 2330: return; > 2331: } > 2332: If we add a new flag for masked nodes, it may simplify the checking logic for masking operations. e.g. node.hpp: class Node { // Flags are sorted by usage frequency. enum NodeFlags { Flag_is_Copy = 1 << 0, // should be first bit to avoid shift Flag_rematerialize = 1 << 1, Flag_needs_anti_dependence_check = 1 << 2, Flag_is_macro = 1 << 3, Flag_is_Con = 1 << 4, Flag_is_cisc_alternate = 1 << 5, Flag_is_dead_loop_safe = 1 << 6, Flag_may_be_short_branch = 1 << 7, Flag_avoid_back_to_back_before = 1 << 8, Flag_avoid_back_to_back_after = 1 << 9, Flag_has_call = 1 << 10, Flag_is_reduction = 1 << 11, Flag_is_scheduled = 1 << 12, **Flag_has_vector_mask_set** = 1 << 13, ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From jbhateja at openjdk.java.net Wed May 12 10:58:11 2021 From: jbhateja at openjdk.java.net (Jatin Bhateja) Date: Wed, 12 May 2021 10:58:11 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: References: Message-ID: On Thu, 6 May 2021 10:12:08 GMT, Xiaohong Gong wrote: > Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains: > 1) Generation of the mask IRs for vector mask, including: > - Mask generations, e.g. load/compare/maskAll > - Mask operations, e.g. and/or/xor > 2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory > 3) Generation of the vector IRs which need the mask value as the control > - The mask value is appended to the original vector node's input list > > With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added. > > Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the > followed-up patches. > > [1] https://github.com/openjdk/panama-vector/pull/57 src/hotspot/share/opto/vectorIntrinsics.cpp line 84: > 82: assert(check_vbox(vbox_type), ""); > 83: const TypeVect* vt = is_vector_mask(vbox_type->klass()) ? > 84: TypeVect::makemask(elem_bt, num_elem) : TypeVect::make(elem_bt, num_elem); Box type which is an envelope type should still be the same e.g. Int256VectorMask. Value contained in the Masked Box should be of type vectmask. src/hotspot/share/opto/vectorIntrinsics.cpp line 102: > 100: TypeVect::makemask(elem_bt, num_elem) : TypeVect::make(elem_bt, num_elem); > 101: Node* unbox = gvn().transform(new VectorUnboxNode(C, vt, v, merged_memory(), shuffle_to_vector)); > 102: return unbox; Same as above. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From mcimadamore at openjdk.java.net Wed May 12 12:23:37 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 12 May 2021 12:23:37 GMT Subject: [foreign-jextract] RFR: Refresh panama documents to reflect API changes Message-ID: This patch tweaks the foreign memory access/linker documents to reflect the various changes in the API. Most notable changes are: * The name of many static factories (e.g. layouts) has changed * We dropped `MemorySegment::allocate` variants which do not accept a scope I've also dropped the html version of said documents - since I believe the github rendering to be good enough (and, we refer to the github pages hosting these docs from other places anyway). ------------- Commit messages: - Fix minor spacing issue - * Fix issues with SegmentAllocator section - Update panama_memaccess.md - Update foreign documents Changes: https://git.openjdk.java.net/panama-foreign/pull/535/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=535&range=00 Stats: 1393 lines in 4 files changed: 13 ins; 1291 del; 89 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/535.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/535/head:pull/535 PR: https://git.openjdk.java.net/panama-foreign/pull/535 From mcimadamore at openjdk.java.net Wed May 12 13:15:07 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 12 May 2021 13:15:07 GMT Subject: [foreign-jextract] RFR: Refresh panama documents to reflect API changes [v2] In-Reply-To: References: Message-ID: <7tQSwqrMfzhExw0k-Pg1UE7WWrGdJ_4vTJeqBT1Gwbg=.e8b9b1b6-06b3-4997-8d5b-4f77c8daa780@github.com> > This patch tweaks the foreign memory access/linker documents to reflect the various changes in the API. Most notable changes are: > > * The name of many static factories (e.g. layouts) has changed > * We dropped `MemorySegment::allocate` variants which do not accept a scope > > I've also dropped the html version of said documents - since I believe the github rendering to be good enough (and, we refer to the github pages hosting these docs from other places anyway). Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Fix minor typos in the foreign memaccess doc ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/535/files - new: https://git.openjdk.java.net/panama-foreign/pull/535/files/7b440e4d..96f44d59 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=535&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=535&range=00-01 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/535.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/535/head:pull/535 PR: https://git.openjdk.java.net/panama-foreign/pull/535 From jvernee at openjdk.java.net Wed May 12 13:19:13 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Wed, 12 May 2021 13:19:13 GMT Subject: [foreign-jextract] RFR: Refresh panama documents to reflect API changes [v2] In-Reply-To: <7tQSwqrMfzhExw0k-Pg1UE7WWrGdJ_4vTJeqBT1Gwbg=.e8b9b1b6-06b3-4997-8d5b-4f77c8daa780@github.com> References: <7tQSwqrMfzhExw0k-Pg1UE7WWrGdJ_4vTJeqBT1Gwbg=.e8b9b1b6-06b3-4997-8d5b-4f77c8daa780@github.com> Message-ID: On Wed, 12 May 2021 13:15:07 GMT, Maurizio Cimadamore wrote: >> This patch tweaks the foreign memory access/linker documents to reflect the various changes in the API. Most notable changes are: >> >> * The name of many static factories (e.g. layouts) has changed >> * We dropped `MemorySegment::allocate` variants which do not accept a scope >> >> I've also dropped the html version of said documents - since I believe the github rendering to be good enough (and, we refer to the github pages hosting these docs from other places anyway). > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Fix minor typos in the foreign memaccess doc LGTM ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/535 From mcimadamore at openjdk.java.net Wed May 12 13:31:59 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 12 May 2021 13:31:59 GMT Subject: [foreign-jextract] RFR: Refresh panama documents to reflect API changes [v3] In-Reply-To: References: Message-ID: > This patch tweaks the foreign memory access/linker documents to reflect the various changes in the API. Most notable changes are: > > * The name of many static factories (e.g. layouts) has changed > * We dropped `MemorySegment::allocate` variants which do not accept a scope > > I've also dropped the html version of said documents - since I believe the github rendering to be good enough (and, we refer to the github pages hosting these docs from other places anyway). Maurizio Cimadamore has updated the pull request incrementally with two additional commits since the last revision: - Fix hyperlink - Fix minor typos in ffi doc Adjust link to appendix in ffi doc ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/535/files - new: https://git.openjdk.java.net/panama-foreign/pull/535/files/96f44d59..0f581efd Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=535&range=02 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=535&range=01-02 Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/535.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/535/head:pull/535 PR: https://git.openjdk.java.net/panama-foreign/pull/535 From mcimadamore at openjdk.java.net Wed May 12 13:40:12 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 12 May 2021 13:40:12 GMT Subject: [foreign-jextract] RFR: Refresh panama documents to reflect API changes [v4] In-Reply-To: References: Message-ID: <4l5tiXFN5GE_RVAiAVFfQlJfsTWyQnpFPKwjBHrfGQI=.f6fb8fb3-94dc-4fab-8bca-e9d5b0ce8cae@github.com> > This patch tweaks the foreign memory access/linker documents to reflect the various changes in the API. Most notable changes are: > > * The name of many static factories (e.g. layouts) has changed > * We dropped `MemorySegment::allocate` variants which do not accept a scope > > I've also dropped the html version of said documents - since I believe the github rendering to be good enough (and, we refer to the github pages hosting these docs from other places anyway). Maurizio Cimadamore has updated the pull request incrementally with two additional commits since the last revision: - Fix hyperlink (third time lucky?) - Tweak hyperlink (again) ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/535/files - new: https://git.openjdk.java.net/panama-foreign/pull/535/files/0f581efd..b1efce97 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=535&range=03 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=535&range=02-03 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/535.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/535/head:pull/535 PR: https://git.openjdk.java.net/panama-foreign/pull/535 From mcimadamore at openjdk.java.net Wed May 12 14:20:53 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 12 May 2021 14:20:53 GMT Subject: [foreign-jextract] RFR: Refresh panama documents to reflect API changes [v5] In-Reply-To: References: Message-ID: <8OGly6JH9BIaInaQDzYQYoLkfqGWvnuu-DOhrwb7enk=.ee2dd271-2fcc-4345-9348-46d60c04006c@github.com> > This patch tweaks the foreign memory access/linker documents to reflect the various changes in the API. Most notable changes are: > > * The name of many static factories (e.g. layouts) has changed > * We dropped `MemorySegment::allocate` variants which do not accept a scope > > I've also dropped the html version of said documents - since I believe the github rendering to be good enough (and, we refer to the github pages hosting these docs from other places anyway). Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Minor tweaks to ffi doc ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/535/files - new: https://git.openjdk.java.net/panama-foreign/pull/535/files/b1efce97..7da9399a Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=535&range=04 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=535&range=03-04 Stats: 2 lines in 1 file changed: 0 ins; 1 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/535.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/535/head:pull/535 PR: https://git.openjdk.java.net/panama-foreign/pull/535 From mcimadamore at openjdk.java.net Wed May 12 14:23:01 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 12 May 2021 14:23:01 GMT Subject: [foreign-jextract] Integrated: Refresh panama documents to reflect API changes In-Reply-To: References: Message-ID: On Wed, 12 May 2021 12:17:54 GMT, Maurizio Cimadamore wrote: > This patch tweaks the foreign memory access/linker documents to reflect the various changes in the API. Most notable changes are: > > * The name of many static factories (e.g. layouts) has changed > * We dropped `MemorySegment::allocate` variants which do not accept a scope > > I've also dropped the html version of said documents - since I believe the github rendering to be good enough (and, we refer to the github pages hosting these docs from other places anyway). This pull request has now been integrated. Changeset: 0d3f2f57 Author: Maurizio Cimadamore URL: https://git.openjdk.java.net/panama-foreign/commit/0d3f2f5713181e8022bd342fa5038bd5b35677e1 Stats: 1400 lines in 4 files changed: 13 ins; 1292 del; 95 mod Refresh panama documents to reflect API changes Reviewed-by: jvernee ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/535 From psandoz at openjdk.java.net Wed May 12 15:21:38 2021 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Wed, 12 May 2021 15:21:38 GMT Subject: [vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota In-Reply-To: References: Message-ID: On Wed, 12 May 2021 09:20:47 GMT, Wang Huang wrote: > Because JDK-8266317 has not been merged into jdk/jdk. So I fix this bug here. > * This comparsion should be a unsigned cmp > * `x86` is not wrong because `x86` does not have 1024-bits vl here. > ```c++ > > ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ge)); // should BoolTest::ugt > Node * lane_cnt = gvn().makecon(TypeInt::make(num_elem)); > Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt, num_elem, type_bt)); > // should BoolTest::ugt > Node* mask = gvn().transform(new VectorMaskCmpNode(BoolTest::ge, bcast_lane_cnt, res, pred_node, vt)); test/hotspot/jtreg/compiler/vectorapi/TestVectorShuffleIota1024.java line 38: > 36: * @bug 8266720 > 37: * @modules jdk.incubator.vector > 38: * @run testng/othervm compiler.vectorapi.TestVectorShuffleIotaByte1024 Perhaps the test can be annotated, declaring it should only execute on ARM/SVE platforms. See the use of the `@requires` clause used in other JDK tests. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/81 From whuang at openjdk.java.net Thu May 13 01:48:02 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Thu, 13 May 2021 01:48:02 GMT Subject: [vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota In-Reply-To: References: Message-ID: On Wed, 12 May 2021 15:17:45 GMT, Paul Sandoz wrote: >> Because JDK-8266317 has not been merged into jdk/jdk. So I fix this bug here. >> * This comparsion should be a unsigned cmp >> * `x86` is not wrong because `x86` does not have 1024-bits vl here. >> ```c++ >> >> ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ge)); // should BoolTest::ugt >> Node * lane_cnt = gvn().makecon(TypeInt::make(num_elem)); >> Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt, num_elem, type_bt)); >> // should BoolTest::ugt >> Node* mask = gvn().transform(new VectorMaskCmpNode(BoolTest::ge, bcast_lane_cnt, res, pred_node, vt)); > > test/hotspot/jtreg/compiler/vectorapi/TestVectorShuffleIota1024.java line 38: > >> 36: * @bug 8266720 >> 37: * @modules jdk.incubator.vector >> 38: * @run testng/othervm compiler.vectorapi.TestVectorShuffleIotaByte1024 > > Perhaps the test can be annotated, declaring it should only execute on ARM/SVE platforms. See the use of the `@requires` clause used in other JDK tests. Thank you for you review. I think this test is used for any arch which has `ByteVector.SPECIES_MAX == 1024`. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/81 From xgong at openjdk.java.net Thu May 13 01:58:22 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Thu, 13 May 2021 01:58:22 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: References: Message-ID: On Wed, 12 May 2021 10:27:11 GMT, Jatin Bhateja wrote: >> Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains: >> 1) Generation of the mask IRs for vector mask, including: >> - Mask generations, e.g. load/compare/maskAll >> - Mask operations, e.g. and/or/xor >> 2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory >> 3) Generation of the vector IRs which need the mask value as the control >> - The mask value is appended to the original vector node's input list >> >> With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added. >> >> Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the >> followed-up patches. >> >> [1] https://github.com/openjdk/panama-vector/pull/57 > > src/hotspot/share/adlc/formssel.cpp line 3888: > >> 3886: if (_rChild) >> 3887: _rChild->count_commutative_op(count); >> 3888: } > > Matcher rules based on proposed masked IR shall look like following > match(Set dst AddVI (Binary vsrc1 vsrc2) mask) > > AddVI is still commutative and generated DFA will check for appropriate child states i.e. > kid[0]->state == _Binary_vec_vec && kid[1]->state == _mask > > So even if matcher generates additional check by swapping the states of the two child nodes it should still be ok. Can you kindly elaborate the need for this change. Yes, actually that's ok if matcher swaps the two operands. Avoiding the swapping could avoid generating unneeded rules which could reduce the whole code size. > src/hotspot/share/opto/classes.hpp line 475: > >> 473: macro(AndVMask) >> 474: macro(OrVMask) >> 475: macro(XorVMask) > > Since you have used existing IR nodes for other commutative vector operations like Add/Sub/Mul, why specialized masked IR for OrV/AndV/XorV These three nodes are used for the vector mask logical operations while not for the masked vector logics. E.g `mask.and()/mask.or()/mask.xor()`. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From whuang at openjdk.java.net Thu May 13 02:00:00 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Thu, 13 May 2021 02:00:00 GMT Subject: RFR: 8263532: C2: Improve vector box elimination for Phi nodes In-Reply-To: References: Message-ID: On Fri, 12 Mar 2021 16:12:58 GMT, Vladimir Ivanov wrote: > Enhance vector box elimination when merging VectorBox nodes through Phis. Marked as reviewed by whuang (Author). Looks good to me. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/50 From xgong at openjdk.java.net Thu May 13 02:03:59 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Thu, 13 May 2021 02:03:59 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: References: Message-ID: <6247v7NxNbj6BciIHb9qQQ6dAwy1abjgQ1pfghnUcoI=.288ae3de-6c89-45ed-b6f2-7c17feb7209c@github.com> On Wed, 12 May 2021 10:33:50 GMT, Jatin Bhateja wrote: >> Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains: >> 1) Generation of the mask IRs for vector mask, including: >> - Mask generations, e.g. load/compare/maskAll >> - Mask operations, e.g. and/or/xor >> 2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory >> 3) Generation of the vector IRs which need the mask value as the control >> - The mask value is appended to the original vector node's input list >> >> With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added. >> >> Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the >> followed-up patches. >> >> [1] https://github.com/openjdk/panama-vector/pull/57 > > src/hotspot/share/opto/matcher.cpp line 2332: > >> 2330: return; >> 2331: } >> 2332: > > If we add a new flag for masked nodes, it may simplify the checking logic for masking operations. e.g. > node.hpp: > class Node { > // Flags are sorted by usage frequency. > enum NodeFlags { > Flag_is_Copy = 1 << 0, // should be first bit to avoid shift > Flag_rematerialize = 1 << 1, > Flag_needs_anti_dependence_check = 1 << 2, > Flag_is_macro = 1 << 3, > Flag_is_Con = 1 << 4, > Flag_is_cisc_alternate = 1 << 5, > Flag_is_dead_loop_safe = 1 << 6, > Flag_may_be_short_branch = 1 << 7, > Flag_avoid_back_to_back_before = 1 << 8, > Flag_avoid_back_to_back_after = 1 << 9, > Flag_has_call = 1 << 10, > Flag_is_reduction = 1 << 11, > Flag_is_scheduled = 1 << 12, > **Flag_has_vector_mask_set** = 1 << 13, Good suggestion! Thanks! So do you mean using the new flag instead of `"n->in(3)->is_VectorMask()" ` ? I'm not very clarified about what the checking logic for masking operations you mean. Could you please elaborate more about this? Thanks so much! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From xgong at openjdk.java.net Thu May 13 02:19:26 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Thu, 13 May 2021 02:19:26 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: References: Message-ID: On Wed, 12 May 2021 10:50:30 GMT, Jatin Bhateja wrote: >> Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains: >> 1) Generation of the mask IRs for vector mask, including: >> - Mask generations, e.g. load/compare/maskAll >> - Mask operations, e.g. and/or/xor >> 2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory >> 3) Generation of the vector IRs which need the mask value as the control >> - The mask value is appended to the original vector node's input list >> >> With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added. >> >> Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the >> followed-up patches. >> >> [1] https://github.com/openjdk/panama-vector/pull/57 > > src/hotspot/share/opto/vectorIntrinsics.cpp line 84: > >> 82: assert(check_vbox(vbox_type), ""); >> 83: const TypeVect* vt = is_vector_mask(vbox_type->klass()) ? >> 84: TypeVect::makemask(elem_bt, num_elem) : TypeVect::make(elem_bt, num_elem); > > Box type which is an envelope type should still be the same e.g. Int256VectorMask. Value contained in the Masked Box should be of type vectmask. OK, I don't remember what exactly the issue I met for this part. But one reason of this change is to make it easy for the `VectorUnboxNode::Identity`, which could directly return the boxed value if the unbox type and the boxed value type is exactly matched: Node* VectorUnboxNode::Identity(PhaseGVN* phase) { Node* n = obj()->uncast(); if (EnableVectorReboxing && n->Opcode() == Op_VectorBox) { if (Type::cmp(bottom_type(), n->in(VectorBoxNode::Value)->bottom_type()) == 0) { return n->in(VectorBoxNode::Value); // VectorUnbox (VectorBox v) ==> v } else { // Handled by VectorUnboxNode::Ideal(). } } return this; } Using `TypeVect` for `VectorBox/Unbox` while `TypeVectMask` for the boxed value will make the type mismatched. But I think it's not the main problem, we could add some logics to make them matched. @iwanowww do you have any ideas about this part? Thanks! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From xgong at openjdk.java.net Thu May 13 03:24:20 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Thu, 13 May 2021 03:24:20 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Mon, 10 May 2021 06:15:24 GMT, Xiaohong Gong wrote: > Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. > > Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. > > Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. > > [1] https://bugs.openjdk.java.net/browse/JDK-8264563 @iwanowww , could you please take a look at this PR? Thanks so much! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From xgong at openjdk.java.net Thu May 13 06:59:09 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Thu, 13 May 2021 06:59:09 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Tue, 11 May 2021 15:50:18 GMT, Paul Sandoz wrote: >> Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. >> >> Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. >> >> Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8264563 > > Java changes look good. Since all the `naryOp ` are totally replaced with `naryMaskedOp` (e.g. `binaryOp -> binaryMaskedOp`), does it make sense that we still use the name `naryOp` for both masked and non-masked operations? @PaulSandoz which do you think is better `binaryOp` or `binaryMaskedOp` ? ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From psandoz at openjdk.java.net Thu May 13 15:51:24 2021 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Thu, 13 May 2021 15:51:24 GMT Subject: [vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota In-Reply-To: References: Message-ID: On Thu, 13 May 2021 01:45:11 GMT, Wang Huang wrote: >> test/hotspot/jtreg/compiler/vectorapi/TestVectorShuffleIota1024.java line 38: >> >>> 36: * @bug 8266720 >>> 37: * @modules jdk.incubator.vector >>> 38: * @run testng/othervm compiler.vectorapi.TestVectorShuffleIotaByte1024 >> >> Perhaps the test can be annotated, declaring it should only execute on ARM/SVE platforms. See the use of the `@requires` clause used in other JDK tests. > > Thank you for you review. I think this test is used for any arch which has `ByteVector.SPECIES_MAX == 1024`. But we know which arches don't support, x86, PPC etc. I am unsure why existing shuffle tests do not catch this problem. In fact i would prefer we focus on that if we can rather than adding a specific test. Would you mind looking to see if see if we can expand on the existing `shuffleTest`? ------------- PR: https://git.openjdk.java.net/panama-vector/pull/81 From psandoz at openjdk.java.net Thu May 13 16:33:38 2021 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Thu, 13 May 2021 16:33:38 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Mon, 10 May 2021 06:15:24 GMT, Xiaohong Gong wrote: > Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. > > Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. > > Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. > > [1] https://bugs.openjdk.java.net/browse/JDK-8264563 I think what you have is fine, lets get the code in the branch and iterate. It's easy to revisit naming decisions like this later. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From sviswanathan at openjdk.java.net Thu May 13 18:00:14 2021 From: sviswanathan at openjdk.java.net (Sandhya Viswanathan) Date: Thu, 13 May 2021 18:00:14 GMT Subject: [vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota In-Reply-To: References: Message-ID: <8vg1-gXZ4VeXK0yICdmVtsAUgdWidGFvSLruXaAdCS8=.1cce8d2e-5162-423c-b171-497ee4b49a4f@github.com> On Wed, 12 May 2021 09:20:47 GMT, Wang Huang wrote: > Because JDK-8266317 has not been merged into jdk/jdk. So I fix this bug here. > * This comparsion should be a unsigned cmp > * `x86` is not wrong because `x86` does not have 1024-bits vl here. > ```c++ > > ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ge)); // should BoolTest::ugt > Node * lane_cnt = gvn().makecon(TypeInt::make(num_elem)); > Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt, num_elem, type_bt)); > // should BoolTest::ugt > Node* mask = gvn().transform(new VectorMaskCmpNode(BoolTest::ge, bcast_lane_cnt, res, pred_node, vt)); src/hotspot/share/opto/vectorIntrinsics.cpp line 456: > 454: res = gvn().transform(VectorNode::make(Op_AndI, res, bcast_mod, num_elem, elem_bt)); > 455: } else { > 456: ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ugt)); Unsigned comparison adds overhead and is not supported on all architectures. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/81 From whuang at openjdk.java.net Fri May 14 01:41:06 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Fri, 14 May 2021 01:41:06 GMT Subject: [vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota In-Reply-To: <8vg1-gXZ4VeXK0yICdmVtsAUgdWidGFvSLruXaAdCS8=.1cce8d2e-5162-423c-b171-497ee4b49a4f@github.com> References: <8vg1-gXZ4VeXK0yICdmVtsAUgdWidGFvSLruXaAdCS8=.1cce8d2e-5162-423c-b171-497ee4b49a4f@github.com> Message-ID: On Thu, 13 May 2021 17:57:20 GMT, Sandhya Viswanathan wrote: >> Because JDK-8266317 has not been merged into jdk/jdk. So I fix this bug here. >> * This comparsion should be a unsigned cmp >> * `x86` is not wrong because `x86` does not have 1024-bits vl here. >> ```c++ >> >> ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ge)); // should BoolTest::ugt >> Node * lane_cnt = gvn().makecon(TypeInt::make(num_elem)); >> Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt, num_elem, type_bt)); >> // should BoolTest::ugt >> Node* mask = gvn().transform(new VectorMaskCmpNode(BoolTest::ge, bcast_lane_cnt, res, pred_node, vt)); > > src/hotspot/share/opto/vectorIntrinsics.cpp line 456: > >> 454: res = gvn().transform(VectorNode::make(Op_AndI, res, bcast_mod, num_elem, elem_bt)); >> 455: } else { >> 456: ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ugt)); > > Unsigned comparison adds overhead and is not supported on all architectures. After changing notes with @XiaohongGong , I think we can also fix like this: ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ge)); Node * lane_cnt_tmp = gvn().makecon(TypeInt::make(num_elem - 1)); Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt_tmp, num_elem, type_bt)); Node* mask = gvn().transform(new VectorMaskCmpNode(BoolTest::ge, bcast_lane_cnt, res, pred_node, vt)); // Make the indices greater than lane count as -ve values. This matches the java side implementation. res = gvn().transform(VectorNode::make(Op_AndI, res, bcast_mod, num_elem, elem_bt)); Node * lane_cnt = gvn().makecon(TypeInt::make(num_elem)); // Add a mov & bcast here Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt, num_elem, type_bt)); Node * biased_val = gvn().transform(VectorNode::make(Op_SubI, res, bcast_lane_cnt, num_elem, elem_bt)); res = gvn().transform(new VectorBlendNode(biased_val, res, mask)); ------------- PR: https://git.openjdk.java.net/panama-vector/pull/81 From xgong at openjdk.java.net Fri May 14 01:47:06 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Fri, 14 May 2021 01:47:06 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Thu, 13 May 2021 16:29:40 GMT, Paul Sandoz wrote: > I think what you have is fine, lets get the code in the branch and iterate. It's easy to revisit naming decisions like this later. OK, agree! Thanks so much for your advice! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From whuang at openjdk.java.net Fri May 14 01:48:45 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Fri, 14 May 2021 01:48:45 GMT Subject: [vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota In-Reply-To: References: <8vg1-gXZ4VeXK0yICdmVtsAUgdWidGFvSLruXaAdCS8=.1cce8d2e-5162-423c-b171-497ee4b49a4f@github.com> Message-ID: On Fri, 14 May 2021 01:37:57 GMT, Wang Huang wrote: >> src/hotspot/share/opto/vectorIntrinsics.cpp line 456: >> >>> 454: res = gvn().transform(VectorNode::make(Op_AndI, res, bcast_mod, num_elem, elem_bt)); >>> 455: } else { >>> 456: ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ugt)); >> >> Unsigned comparison adds overhead and is not supported on all architectures. > > After changing notes with @XiaohongGong , I think we can also fix like this: > > ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ge)); > Node * lane_cnt_tmp = gvn().makecon(TypeInt::make(num_elem - 1)); > Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt_tmp, num_elem, type_bt)); > Node* mask = gvn().transform(new VectorMaskCmpNode(BoolTest::ge, bcast_lane_cnt, res, pred_node, vt)); > > // Make the indices greater than lane count as -ve values. This matches the java side implementation. > res = gvn().transform(VectorNode::make(Op_AndI, res, bcast_mod, num_elem, elem_bt)); > Node * lane_cnt = gvn().makecon(TypeInt::make(num_elem)); // Add a mov & bcast here > Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt, num_elem, type_bt)); > Node * biased_val = gvn().transform(VectorNode::make(Op_SubI, res, bcast_lane_cnt, num_elem, elem_bt)); > res = gvn().transform(new VectorBlendNode(biased_val, res, mask)); > Unsigned comparison adds overhead and is not supported on all architectures. However, if we don't use ugt ,we will encounter problem if length > 1024 in future. Changing `< num_elem` to `<= 128` is just a solution to `1024` itself. If `num_elem > 128`, it will be invalid. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/81 From whuang at openjdk.java.net Fri May 14 03:08:33 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Fri, 14 May 2021 03:08:33 GMT Subject: [vectorIntrinsics] RFR: 8266775: Add VectorLoadConst node implementation for Arm SVE [v5] In-Reply-To: References: Message-ID: <0UlGYvl7SCuXzfpHM4OSVymmU0eUg-estqpXk9TdTgE=.11e155f5-aadd-4971-baf0-0371e7e449ec@github.com> > * add VectorLoadConst node implementation for Arm SVE by > * ~~add new data in `generate_iota_indices`~~ > * ~~`sve_ld1b` these data~~ > * `sve_index` > > Thank you for your review. Any suggestion is welcome. Wang Huang has updated the pull request incrementally with one additional commit since the last revision: add blank line ------------- Changes: - all: https://git.openjdk.java.net/panama-vector/pull/79/files - new: https://git.openjdk.java.net/panama-vector/pull/79/files/9c7f9305..c26e5ddd Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=79&range=04 - incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=79&range=03-04 Stats: 2 lines in 2 files changed: 2 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/panama-vector/pull/79.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/79/head:pull/79 PR: https://git.openjdk.java.net/panama-vector/pull/79 From xgong at openjdk.java.net Fri May 14 03:12:42 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Fri, 14 May 2021 03:12:42 GMT Subject: [vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota In-Reply-To: References: <8vg1-gXZ4VeXK0yICdmVtsAUgdWidGFvSLruXaAdCS8=.1cce8d2e-5162-423c-b171-497ee4b49a4f@github.com> Message-ID: <2INH3ogPxtRHuStMvz2y1HEbe__y121dHWwqce1rgx0=.cbf9224a-942f-48d4-9130-fbada18bf606@github.com> On Fri, 14 May 2021 01:45:30 GMT, Wang Huang wrote: >> After changing notes with @XiaohongGong , I think we can also fix like this: >> >> ConINode* pred_node = (ConINode*)gvn().makecon(TypeInt::make(BoolTest::ge)); >> Node * lane_cnt_tmp = gvn().makecon(TypeInt::make(num_elem - 1)); >> Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt_tmp, num_elem, type_bt)); >> Node* mask = gvn().transform(new VectorMaskCmpNode(BoolTest::ge, bcast_lane_cnt, res, pred_node, vt)); >> >> // Make the indices greater than lane count as -ve values. This matches the java side implementation. >> res = gvn().transform(VectorNode::make(Op_AndI, res, bcast_mod, num_elem, elem_bt)); >> Node * lane_cnt = gvn().makecon(TypeInt::make(num_elem)); // Add a mov & bcast here >> Node * bcast_lane_cnt = gvn().transform(VectorNode::scalar2vector(lane_cnt, num_elem, type_bt)); >> Node * biased_val = gvn().transform(VectorNode::make(Op_SubI, res, bcast_lane_cnt, num_elem, elem_bt)); >> res = gvn().transform(new VectorBlendNode(biased_val, res, mask)); > >> Unsigned comparison adds overhead and is not supported on all architectures. > > However, if we don't use ugt ,we will encounter problem if length > 1024 in future. Changing `< num_elem` to `<= 128` is just a solution to `1024` itself. If `num_elem > 128`, it will be invalid. Currently making it work well for <= 1024-bits makes sense to me. We can revisit this issue after the API issues for vector length > 1024-bits are fixed in future. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/81 From xgong at openjdk.java.net Fri May 14 03:17:41 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Fri, 14 May 2021 03:17:41 GMT Subject: [vectorIntrinsics] RFR: 8266775: Add VectorLoadConst node implementation for Arm SVE [v5] In-Reply-To: <0UlGYvl7SCuXzfpHM4OSVymmU0eUg-estqpXk9TdTgE=.11e155f5-aadd-4971-baf0-0371e7e449ec@github.com> References: <0UlGYvl7SCuXzfpHM4OSVymmU0eUg-estqpXk9TdTgE=.11e155f5-aadd-4971-baf0-0371e7e449ec@github.com> Message-ID: On Fri, 14 May 2021 03:08:33 GMT, Wang Huang wrote: >> * add VectorLoadConst node implementation for Arm SVE by >> * ~~add new data in `generate_iota_indices`~~ >> * ~~`sve_ld1b` these data~~ >> * `sve_index` >> >> Thank you for your review. Any suggestion is welcome. > > Wang Huang has updated the pull request incrementally with one additional commit since the last revision: > > add blank line Marked as reviewed by xgong (Committer). Looks good to me! I think it's better to also get approved by @nsjian . Thanks! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/79 From njian at openjdk.java.net Fri May 14 03:49:06 2021 From: njian at openjdk.java.net (Ningsheng Jian) Date: Fri, 14 May 2021 03:49:06 GMT Subject: [vectorIntrinsics] RFR: 8266775: Add VectorLoadConst node implementation for Arm SVE [v5] In-Reply-To: <0UlGYvl7SCuXzfpHM4OSVymmU0eUg-estqpXk9TdTgE=.11e155f5-aadd-4971-baf0-0371e7e449ec@github.com> References: <0UlGYvl7SCuXzfpHM4OSVymmU0eUg-estqpXk9TdTgE=.11e155f5-aadd-4971-baf0-0371e7e449ec@github.com> Message-ID: On Fri, 14 May 2021 03:08:33 GMT, Wang Huang wrote: >> * add VectorLoadConst node implementation for Arm SVE by >> * ~~add new data in `generate_iota_indices`~~ >> * ~~`sve_ld1b` these data~~ >> * `sve_index` >> >> Thank you for your review. Any suggestion is welcome. > > Wang Huang has updated the pull request incrementally with one additional commit since the last revision: > > add blank line Looks good to me. Thanks! ------------- Marked as reviewed by njian (Committer). PR: https://git.openjdk.java.net/panama-vector/pull/79 From njian at openjdk.java.net Fri May 14 03:55:43 2021 From: njian at openjdk.java.net (Ningsheng Jian) Date: Fri, 14 May 2021 03:55:43 GMT Subject: [vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota In-Reply-To: <2INH3ogPxtRHuStMvz2y1HEbe__y121dHWwqce1rgx0=.cbf9224a-942f-48d4-9130-fbada18bf606@github.com> References: <8vg1-gXZ4VeXK0yICdmVtsAUgdWidGFvSLruXaAdCS8=.1cce8d2e-5162-423c-b171-497ee4b49a4f@github.com> <2INH3ogPxtRHuStMvz2y1HEbe__y121dHWwqce1rgx0=.cbf9224a-942f-48d4-9130-fbada18bf606@github.com> Message-ID: On Fri, 14 May 2021 03:10:17 GMT, Xiaohong Gong wrote: > Currently making it work well for <= 1024-bits makes sense to me. We can revisit this issue after the API issues for vector length > 1024-bits are fixed in future. If so, we need at least some comments or even length check to not inline for unsupported vector lengths? ------------- PR: https://git.openjdk.java.net/panama-vector/pull/81 From xgong at openjdk.java.net Fri May 14 03:55:43 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Fri, 14 May 2021 03:55:43 GMT Subject: [vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota In-Reply-To: References: <8vg1-gXZ4VeXK0yICdmVtsAUgdWidGFvSLruXaAdCS8=.1cce8d2e-5162-423c-b171-497ee4b49a4f@github.com> <2INH3ogPxtRHuStMvz2y1HEbe__y121dHWwqce1rgx0=.cbf9224a-942f-48d4-9130-fbada18bf606@github.com> Message-ID: On Fri, 14 May 2021 03:50:52 GMT, Ningsheng Jian wrote: >> Currently making it work well for <= 1024-bits makes sense to me. We can revisit this issue after the API issues for vector length > 1024-bits are fixed in future. > >> Currently making it work well for <= 1024-bits makes sense to me. We can revisit this issue after the API issues for vector length > 1024-bits are fixed in future. > > If so, we need at least some comments or even length check to not inline for unsupported vector lengths? Agree with @nsjian ! Thanks! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/81 From jbhateja at openjdk.java.net Fri May 14 07:54:04 2021 From: jbhateja at openjdk.java.net (Jatin Bhateja) Date: Fri, 14 May 2021 07:54:04 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: <6247v7NxNbj6BciIHb9qQQ6dAwy1abjgQ1pfghnUcoI=.288ae3de-6c89-45ed-b6f2-7c17feb7209c@github.com> References: <6247v7NxNbj6BciIHb9qQQ6dAwy1abjgQ1pfghnUcoI=.288ae3de-6c89-45ed-b6f2-7c17feb7209c@github.com> Message-ID: On Thu, 13 May 2021 02:00:44 GMT, Xiaohong Gong wrote: >> src/hotspot/share/opto/matcher.cpp line 2332: >> >>> 2330: return; >>> 2331: } >>> 2332: >> >> If we add a new flag for masked nodes, it may simplify the checking logic for masking operations. e.g. >> node.hpp: >> class Node { >> // Flags are sorted by usage frequency. >> enum NodeFlags { >> Flag_is_Copy = 1 << 0, // should be first bit to avoid shift >> Flag_rematerialize = 1 << 1, >> Flag_needs_anti_dependence_check = 1 << 2, >> Flag_is_macro = 1 << 3, >> Flag_is_Con = 1 << 4, >> Flag_is_cisc_alternate = 1 << 5, >> Flag_is_dead_loop_safe = 1 << 6, >> Flag_may_be_short_branch = 1 << 7, >> Flag_avoid_back_to_back_before = 1 << 8, >> Flag_avoid_back_to_back_after = 1 << 9, >> Flag_has_call = 1 << 10, >> Flag_is_reduction = 1 << 11, >> Flag_is_scheduled = 1 << 12, >> **Flag_has_vector_mask_set** = 1 << 13, > > Good suggestion! Thanks! So do you mean using the new flag instead of `"n->in(3)->is_VectorMask()" ` ? I'm not very clarified about what the checking logic for masking operations you mean. Could you please elaborate more about this? Thanks so much! Yes, setting a new flag over IR node could simplify the checks , and could be used in matcher patterns also. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From xgong at openjdk.java.net Fri May 14 09:04:57 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Fri, 14 May 2021 09:04:57 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: References: <6247v7NxNbj6BciIHb9qQQ6dAwy1abjgQ1pfghnUcoI=.288ae3de-6c89-45ed-b6f2-7c17feb7209c@github.com> Message-ID: On Fri, 14 May 2021 07:50:55 GMT, Jatin Bhateja wrote: >> Good suggestion! Thanks! So do you mean using the new flag instead of `"n->in(3)->is_VectorMask()" ` ? I'm not very clarified about what the checking logic for masking operations you mean. Could you please elaborate more about this? Thanks so much! > > Yes, setting a new flag over IR node could simplify the checks , and could be used in matcher patterns also. OK, I will try to use it. Thanks for your advice! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From jvernee at openjdk.java.net Fri May 14 10:18:59 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 14 May 2021 10:18:59 GMT Subject: [foreign-memaccess+abi] RFR: Remove printf and vprintf tests Message-ID: This patch removes the printf and vprintf tests, since the symbols are not available on Windows in the UCRT. gmtime is similarly an inline function that maps to something else, but in that case there is a drop-in replacement symbol name _gmtime64 we can call instead. This fixes the missing symbol errors in StdLibTest. ------------- Commit messages: - Remove printf and vprintf tests since those functions are not available in ucrt on Windows. Changes: https://git.openjdk.java.net/panama-foreign/pull/536/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=536&range=00 Stats: 122 lines in 2 files changed: 3 ins; 118 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/536.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/536/head:pull/536 PR: https://git.openjdk.java.net/panama-foreign/pull/536 From mcimadamore at openjdk.java.net Fri May 14 10:39:07 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 14 May 2021 10:39:07 GMT Subject: [foreign-memaccess+abi] RFR: Remove printf and vprintf tests In-Reply-To: References: Message-ID: On Fri, 14 May 2021 10:12:01 GMT, Jorn Vernee wrote: > This patch removes the printf and vprintf tests, since the symbols are not available on Windows in the UCRT. > > gmtime is similarly an inline function that maps to something else, but in that case there is a drop-in replacement symbol name _gmtime64 we can call instead. > > This fixes the missing symbol errors in StdLibTest. Rather than removing could we disable them on windows? On other platforms they give valuable feedback. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/536 From duke at openjdk.java.net Fri May 14 11:07:42 2021 From: duke at openjdk.java.net (duke) Date: Fri, 14 May 2021 11:07:42 GMT Subject: git: openjdk/panama-foreign: foreign-memaccess+abi: 99 new changesets Message-ID: <31866a41-6a74-43b4-ad1c-44f0a8e37655@openjdk.org> Changeset: 2798b0d9 Author: Stefan Johansson Date: 2021-05-07 11:33:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2798b0d98ab4191fc94e210d57422854cf13f11e 8266349: Pass down requested page size to reserve_memory_special Reviewed-by: stuefe, mgkwill ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/gtest/runtime/test_os_linux.cpp ! test/hotspot/gtest/runtime/test_os_windows.cpp Changeset: 14f0afe8 Author: Thomas Schatzl Date: 2021-05-07 11:38:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14f0afe8118092be530aac0c4cc5d1d5d4fe982a 8214237: Join parallel phases post evacuation Reviewed-by: iwalulya, sjohanss ! src/hotspot/share/gc/g1/g1BatchedGangTask.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1HotCardCache.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp + src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp + src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.hpp ! src/hotspot/share/gc/g1/heapRegionManager.cpp ! src/hotspot/share/gc/g1/heapRegionManager.hpp ! src/hotspot/share/gc/shared/preservedMarks.cpp ! src/hotspot/share/gc/shared/preservedMarks.hpp ! src/hotspot/share/gc/shared/workerDataArray.cpp ! src/hotspot/share/gc/shared/workerDataArray.inline.hpp ! src/hotspot/share/gc/shared/workgroup.hpp ! test/hotspot/gtest/gc/shared/test_workerDataArray.cpp ! test/hotspot/jtreg/gc/g1/TestEagerReclaimHumongousRegionsLog.java ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java ! test/hotspot/jtreg/gc/g1/plab/TestPLABEvacuationFailure.java ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: 9a19a0cc Author: Wang Huang Committer: Harold Seigel Date: 2021-05-07 12:55:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9a19a0cc1087311b01c5c15432c4451f1ea24fad 8264760: JVM crashes when two threads encounter the same resolution error Co-authored-by: Wang Huang Co-authored-by: Wu Yan Reviewed-by: dholmes, hseigel ! src/hotspot/share/classfile/systemDictionary.cpp + test/hotspot/jtreg/runtime/Nestmates/membership/HostNoNestMember.java + test/hotspot/jtreg/runtime/Nestmates/membership/HostNoNestMember.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/TestNestHostErrorWithMultiThread.java Changeset: 3fcdc50e Author: Daniel Fuchs Date: 2021-05-07 12:56:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3fcdc50e4425b10181a2a3d82718994597dc8364 8266646: Add more diagnostic to java/lang/System/LoggerFinder/modules Reviewed-by: naoto, iris, bpb, lancea ! test/jdk/java/lang/System/LoggerFinder/modules/boot_client/BootClient.java ! test/jdk/java/lang/System/LoggerFinder/modules/named_client/m.t.a/pkg/a/t/TestA.java ! test/jdk/java/lang/System/LoggerFinder/modules/patched_client/PatchedClient.java ! test/jdk/java/lang/System/LoggerFinder/modules/unnamed_client/pkg/b/t/TestB.java Changeset: 86b8dc9f Author: Patrick Concannon Date: 2021-05-07 13:42:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86b8dc9f5b3729e22e9cd31aba7b920fa39aa5c1 8265426: Update java.security to use instanceof pattern variable Reviewed-by: rriggs, weijun, dfuchs ! src/java.base/share/classes/java/security/AccessControlContext.java ! src/java.base/share/classes/java/security/BasicPermission.java ! src/java.base/share/classes/java/security/CodeSigner.java ! src/java.base/share/classes/java/security/CodeSource.java ! src/java.base/share/classes/java/security/Identity.java ! src/java.base/share/classes/java/security/KeyFactory.java ! src/java.base/share/classes/java/security/KeyPairGenerator.java ! src/java.base/share/classes/java/security/KeyStore.java ! src/java.base/share/classes/java/security/MessageDigest.java ! src/java.base/share/classes/java/security/Provider.java ! src/java.base/share/classes/java/security/SecureClassLoader.java ! src/java.base/share/classes/java/security/Signature.java ! src/java.base/share/classes/java/security/Timestamp.java ! src/java.base/share/classes/java/security/UnresolvedPermission.java ! src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java ! src/java.base/share/classes/java/security/cert/CertPath.java ! src/java.base/share/classes/java/security/cert/URICertStoreParameters.java ! src/java.base/share/classes/java/security/cert/X509CRLSelector.java ! src/java.base/share/classes/java/security/cert/X509CertSelector.java ! src/java.base/share/classes/java/security/spec/ECFieldF2m.java ! src/java.base/share/classes/java/security/spec/ECFieldFp.java ! src/java.base/share/classes/java/security/spec/ECPoint.java ! src/java.base/share/classes/java/security/spec/EllipticCurve.java Changeset: 74fecc07 Author: Thomas Stuefe Date: 2021-05-07 14:04:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/74fecc070a6462e6a2d061525b53a63de15339f9 8266503: [UL] Make Decorations safely copy-able and reduce their size Reviewed-by: simonis, ysuenaga ! src/hotspot/share/logging/logDecorations.cpp ! src/hotspot/share/logging/logDecorations.hpp ! src/hotspot/share/logging/logFileStreamOutput.cpp ! src/hotspot/share/logging/logTagSet.cpp ! src/hotspot/share/logging/logTagSet.hpp ! test/hotspot/gtest/logging/test_logDecorations.cpp ! test/hotspot/gtest/logging/test_logTagSet.cpp Changeset: 946b0fe1 Author: Vicente Romero Date: 2021-05-07 14:38:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/946b0fe19a8af88a0f0451c86ce4d4790360bb83 8266645: javac should not check for sealed supertypes in intersection types Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/tools/javac/sealed/SealedCompilationTests.java Changeset: 947d69df Author: Jonathan Gibbons Date: 2021-05-07 14:51:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/947d69df045fa97f56f4eeb5de7f338e169441fc 8265042: javadoc HTML files not generated for types nested in records Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java + test/langtools/jdk/javadoc/doclet/testNestedClasses/TestNestedClasses.java Changeset: b5b31197 Author: Brian Burkhalter Date: 2021-05-07 15:23:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5b31197e5ab9fda8b9f09367aba280f865d2320 8266589: (fs) Improve performance of Files.copy() on macOS using copyfile(3) Reviewed-by: alanb ! src/java.base/unix/native/libnio/fs/UnixCopyFile.c Changeset: c6aa8f19 Author: Hannes Walln?fer Date: 2021-05-07 15:34:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6aa8f19aca13d30c7a0340dc64da1214b76550f 8232644: bugs in serialized-form.html Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/SerializedFormWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSuperclassInSerialForm/TestSuperClassInSerialForm.java Changeset: 0790e601 Author: Kevin Walls Date: 2021-05-07 15:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0790e6016e153b4fa4df5d80737f90aa555c7ba9 8196743: jstatd doesn't see new Java processes inside Docker container Reviewed-by: sspitsyn, ysuenaga ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalVmManager.java Changeset: 04fad704 Author: Yumin Qi Date: 2021-05-07 23:49:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/04fad70437a43c0f38fd53414b8eace2eac93509 8266765: [BACKOUT] JDK-8255493 Support for pre-generated java.lang.invoke classes in CDS dynamic archive Reviewed-by: ccheung ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/lambdaFormInvokers.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/java.cpp - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java Changeset: ff77ca8b Author: Guoxiong Li Committer: Vicente Romero Date: 2021-05-08 03:09:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff77ca8bd41ece778cf6f1af6dd1b7a7dfc50eab 8266675: Optimize IntHashTable for encapsulation and ease of use Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/IntHashTable.java Changeset: be4f25b0 Author: Alan Bateman Date: 2021-05-08 07:14:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/be4f25b0c885a6405b484e4035b30005311a2802 8266369: (se) Add wepoll based Selector Reviewed-by: chegar, michaelm, vtewari, dfuchs, bpb ! src/java.base/share/classes/sun/nio/ch/Net.java ! src/java.base/share/classes/sun/nio/ch/SelectionKeyImpl.java ! src/java.base/windows/classes/sun/nio/ch/DefaultSelectorProvider.java ! src/java.base/windows/classes/sun/nio/ch/PipeImpl.java + src/java.base/windows/classes/sun/nio/ch/WEPoll.java + src/java.base/windows/classes/sun/nio/ch/WEPollSelectorImpl.java + src/java.base/windows/classes/sun/nio/ch/WEPollSelectorProvider.java ! src/java.base/windows/classes/sun/nio/ch/WindowsSelectorImpl.java + src/java.base/windows/legal/wepoll.md ! src/java.base/windows/native/libnio/ch/IOUtil.c ! src/java.base/windows/native/libnio/ch/Net.c + src/java.base/windows/native/libnio/ch/WEPollNatives.c ! src/java.base/windows/native/libnio/ch/WindowsSelectorImpl.c ! src/java.base/windows/native/libnio/ch/nio_util.h + src/java.base/windows/native/libnio/ch/wepoll.c + src/java.base/windows/native/libnio/ch/wepoll.h ! test/jdk/java/nio/channels/Selector/ChangingInterests.java ! test/jdk/java/nio/channels/Selector/LotsOfChannels.java ! test/jdk/java/nio/channels/Selector/OutOfBand.java ! test/jdk/java/nio/channels/Selector/RacyDeregister.java ! test/jdk/java/nio/channels/Selector/SelectWithConsumer.java + test/micro/org/openjdk/bench/java/nio/channels/SelectOne.java = test/micro/org/openjdk/bench/java/nio/channels/SelectorWakeup.java Changeset: 3af4efdf Author: Pankaj Bansal Date: 2021-05-08 10:56:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3af4efdfcfbbb52d38415374083c66c9e7b22604 8265291: Error in Javadoc for doAccessibleAction API in AccessibleJSlider class Reviewed-by: azvegint, jdv ! src/java.desktop/share/classes/javax/swing/JSlider.java Changeset: 9b769550 Author: Alexander Zuev Date: 2021-05-10 03:21:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9b769550242e8bf6f9e783bf0d6f4a87d0c6376d 8266249: javax/swing/JPopupMenu/7156657/bug7156657.java fails on macOS Reviewed-by: jdv, pbansal, azvegint ! test/jdk/javax/swing/JPopupMenu/7156657/bug7156657.java Changeset: 69b96f9a Author: Vyom Tewari Date: 2021-05-10 03:51:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/69b96f9a1b4a959c6b86f41c2259d9e4d47c8ede 8266610: Method RandomAccessFile#length() returns 0 for block devices on linux. Reviewed-by: alanb, bpb ! src/java.base/unix/native/libjava/io_util_md.c Changeset: 0f925d1f Author: Claes Redestad Date: 2021-05-10 08:02:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0f925d1f58ffc0c56ae85a189798f8d99d90d443 8266015: Implement AdapterHandlerLibrary lookup fast-path for common adapters Reviewed-by: iklam, coleenp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp Changeset: 1603ca23 Author: Alexey Bakhtin Committer: Vladimir Kempik Date: 2021-05-10 09:45:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1603ca23422b03157afb2bd1050524465474b60e 8241248: NullPointerException in sun.security.ssl.HKDF.extract(HKDF.java:93) Reviewed-by: jnimeh, xuelei ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionContextImpl.java ! src/java.base/share/classes/sun/security/ssl/ServerHello.java ! src/java.base/share/classes/sun/security/util/Cache.java Changeset: 53db2a0a Author: Jayathirth D V Date: 2021-05-10 10:36:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/53db2a0acd4e208fb5cfb7108206ec667c7c4131 8226384: Implement a better logic to switch between OpenGL and Metal pipeline Reviewed-by: prr ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLLayer.java ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLLayer.java + src/java.desktop/macosx/classes/sun/lwawt/macosx/CFLayer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformView.java Changeset: b823b3ef Author: Vyom Tewari Date: 2021-05-10 13:40:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b823b3ef2912c4c3b8412dff6ff4e9af81c5b910 8266797: Fix for 8266610 breaks the build on macos Reviewed-by: dholmes, jdv ! src/java.base/unix/native/libjava/io_util_md.c Changeset: e41fd735 Author: Claes Redestad Date: 2021-05-10 13:51:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e41fd735296e6ad32c422d266a685f7b775be5c2 8266252: Streamline AbstractInterpreter::method_kind Reviewed-by: iklam, coleenp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.inline.hpp Changeset: 5d761fcf Author: Guoxiong Li Committer: Maurizio Cimadamore Date: 2021-05-10 14:27:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5d761fcffd6eea1c5be35d2ddec1479eccb85750 8266796: Clean up the unnecessary code in the method UnsharedNameTable#fromUtf Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java Changeset: 25d99e52 Author: Calvin Cheung Date: 2021-05-10 16:24:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/25d99e52679bdf4601058e10e5679ca3780f8ec3 8266330: itableMethodEntry::initialize() asserts with archived old classes Reviewed-by: iklam, minqi ! src/hotspot/share/oops/klassVtable.cpp ! src/hotspot/share/oops/klassVtable.hpp + test/hotspot/jtreg/runtime/cds/appcds/OldSuperInfIndirect.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/IndirectImpInf.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/IndirectImpInfApp.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/InfMethod.java Changeset: c494efc5 Author: Naoto Sato Date: 2021-05-10 16:25:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c494efc5b5d9a142fceff600285fd4c8c883e795 8266774: System property values for stdout/err on Windows UTF-8 Reviewed-by: bpb, alanb ! src/java.base/windows/native/libjava/java_props_md.c Changeset: c8b74474 Author: Alexey Semenyuk Date: 2021-05-10 16:39:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c8b744743bd54a00a4f7bf1e852d454fcd942abd 8266603: jpackage: Add missing copyright file in Java runtime .deb installers Reviewed-by: almatvee, herrick ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java ! test/jdk/tools/jpackage/share/RuntimePackageTest.java Changeset: de784312 Author: Cesar Committer: Vladimir Kozlov Date: 2021-05-10 17:09:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/de784312c340b4a4f4c4d11854bfbe9e9e826ea3 8241502: C2: Migrate x86_64.ad to MacroAssembler Reviewed-by: vlivanov, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/x86_64.ad Changeset: f78440ad Author: Zhengyu Gu Date: 2021-05-10 17:59:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f78440ad438bca2a8929475fbecfbd3c920d48df 8266440: Shenandoah: TestReferenceShortcutCycle.java test failed on AArch64 Reviewed-by: aph ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: 0cc7833f Author: Jim Laskey Date: 2021-05-10 18:52:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0cc7833f3d84971dd03a9a620585152a6debb40e 8265208: [JEP-356] : SplittableRandom and SplittableGenerators - splits() methods does not throw NullPointerException when source is null Reviewed-by: rriggs ! src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java Changeset: 8851cb65 Author: Hannes Walln?fer Date: 2021-05-10 20:25:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8851cb653ff932758ef6408ff010b67200954eff 8266779: Use instead of ZERO_WIDTH_SPACE Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Entity.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! test/langtools/jdk/javadoc/doclet/testConstructors/TestConstructors.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testEnumConstructor/TestEnumConstructor.java ! test/langtools/jdk/javadoc/doclet/testGenericTypeLink/TestGenericTypeLink.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testIndentation/TestIndentation.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testMethodId/TestMethodId.java ! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormWithClassFile/TestSerializedFormWithClassFile.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java Changeset: e5d3ee39 Author: Aleksey Shipilev Date: 2021-05-10 20:28:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e5d3ee394ae940ee0111489e6e072f327ec29c3b 8266802: Shenandoah: Round up region size to page size unconditionally Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp + test/hotspot/jtreg/gc/shenandoah/options/TestLargePages.java Changeset: 23446f1f Author: Sandhya Viswanathan Date: 2021-05-10 21:49:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/23446f1f5ee087376bc1ab89413a011fc52bde1f 8265128: [REDO] Optimize Vector API slice and unslice operations Reviewed-by: psandoz, vlivanov ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template ! test/jdk/jdk/incubator/vector/AbstractVectorConversionTest.java ! test/jdk/jdk/incubator/vector/Vector128ConversionTests.java ! test/jdk/jdk/incubator/vector/Vector256ConversionTests.java ! test/jdk/jdk/incubator/vector/Vector512ConversionTests.java ! test/jdk/jdk/incubator/vector/Vector64ConversionTests.java Changeset: 9713152e Author: Alex Menkov Date: 2021-05-10 22:48:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9713152eae660f83b8a681c3168b7eb2285c05bc 8262092: vmTestbase/nsk/jvmti/scenarios/hotswap/HS102/hs102t001/TestDescription.java SIGSEGV in memmove_ssse3 Reviewed-by: lmesnik, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/hotswap/HotSwap.cpp Changeset: 10a049e1 Author: Wang Huang Committer: Jie Fu Date: 2021-05-11 03:20:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10a049e1714bfe64f895177f4de7a31ad65f407a 8265956: JVM crashes when matching LShiftVB Node Co-authored-by: Wang Huang Co-authored-by: Ai Jiaming Reviewed-by: kvn, jiefu ! src/hotspot/share/opto/vectorIntrinsics.cpp + test/hotspot/jtreg/compiler/vectorapi/TestVectorShuffleIotaByte.java Changeset: 0e7bdae0 Author: Denis Konoplev Committer: Sergey Bylokhov Date: 2021-05-11 03:24:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0e7bdae0f6d2824deaa8b17e15553e421e6dbc7f 8265062: Remove duplication constant MaxTextureSize Reviewed-by: prr, serb ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceData.m Changeset: 18e9d28e Author: Hamlin Li Date: 2021-05-11 04:28:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/18e9d28e8af02650ba30e4816404df48b1062162 8266676: G1: Remove dead code init_node_id_to_index_map() Reviewed-by: sangheki, whuang ! src/hotspot/share/gc/g1/g1NUMA.hpp Changeset: 67cb22af Author: Cesar Committer: Tobias Hartmann Date: 2021-05-11 09:28:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/67cb22af58c649e67f0b9f707a65389bcb39a205 8266601: Fix bugs in AddLNode::Ideal transformations Reviewed-by: kvn, vlivanov, thartmann ! src/hotspot/share/opto/addnode.cpp Changeset: 8468001f Author: Jan Lahoda Date: 2021-05-11 10:06:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8468001f8885c0cb2e7db2254eacca857eff2378 8263452: Javac slow compilation due to algorithmic complexity Reviewed-by: vromero, jfranck ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java + test/langtools/tools/javac/perf/SuperClassAndNesting.java Changeset: 6575566d Author: Albert Mingkun Yang Date: 2021-05-11 10:34:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6575566d830c59bce3e77102e06eca574218f37e 8266787: Potential overflow of pointer arithmetic in G1ArchiveAllocator Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1Allocator.cpp Changeset: 9e6e2228 Author: Matthias Baesken Date: 2021-05-11 10:49:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e6e2228cba05ff2ee3a4014a0a92bdd08d016d9 8266892: avoid maybe-uninitialized gcc warnings on linux s390x Reviewed-by: shade, lucy ! src/hotspot/cpu/s390/assembler_s390.inline.hpp Changeset: 0344e751 Author: Hamlin Li Date: 2021-05-11 11:35:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0344e751e2bfd2c6238fc1cea3db19015ce0db88 8266794: Remove dead code notify_allocation_jvmti_allocation_event Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/shared/memAllocator.cpp Changeset: 9c9c47e4 Author: Zhengyu Gu Date: 2021-05-11 12:48:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c9c47e403c6d38afd1ce89f46a1887a01964796 8266813: Shenandoah: Use shorter instruction sequence for checking if marking in progress Reviewed-by: shade ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: 2d2cd78b Author: Daniel Fuchs Date: 2021-05-11 14:48:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2d2cd78bde7bb9101614a1ba2285d1e37d5d3249 8266761: AssertionError in sun.net.httpserver.ServerImpl.responseCompleted Reviewed-by: chegar ! src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java + test/jdk/com/sun/net/httpserver/InputNotRead.java Changeset: 381de0c1 Author: Weijun Wang Date: 2021-05-11 15:22:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/381de0c1d024f7e0711fadf384d8625cf7ab8178 8266753: jdk/test/lib/process/ProcTest.java failed with "Exception: Proc abnormal end" Reviewed-by: dfuchs ! test/lib-test/jdk/test/lib/process/ProcTest.java Changeset: d0daa725 Author: Liam Miller-Cushon Date: 2021-05-11 15:47:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d0daa72592815fcdd9d550b9cc7dd70a06ae0968 8266857: PipedOutputStream.sink should be volatile Reviewed-by: dfuchs ! src/java.base/share/classes/java/io/PipedOutputStream.java Changeset: 7a0a57cd Author: Brian Burkhalter Date: 2021-05-11 16:12:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7a0a57cd56a11e4b9e42ac3426f2e0c505da0987 8266820: micro java/nio/SelectorWakeup.java has wrong copyright header Reviewed-by: chegar, alanb, michaelm, iris ! test/micro/org/openjdk/bench/java/nio/channels/SelectorWakeup.java Changeset: ac0287fd Author: Yumin Qi Date: 2021-05-11 16:57:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac0287fd73997c510ee41c9a42dc48261e7d5ee7 8266770: Clean pending exception before running dynamic CDS dump Reviewed-by: ccheung, iklam ! src/hotspot/share/runtime/thread.cpp Changeset: acf02ed5 Author: Vladimir Ivanov Date: 2021-05-11 17:14:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/acf02ed5533e25ec572d18ff874a241860c66bed 8208237: Re-examine defmeth tests and update as needed Reviewed-by: hseigel, lfoltan, dholmes ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/BasicTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/ConflictingDefaultsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/DefaultVsAbstractTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/MethodResolutionTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/PrivateMethodsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/RedefineTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/StaticMethodsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/StressTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/SuperCallTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/ClassFileGenerator.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/TestContext.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/Crash.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/KnownFailure.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/NotTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/TesterBuilder.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/Method.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/body/CallMethod.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/executor/MHInvokeWithArgsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/executor/ReflectionTest.java Changeset: 0a12605d Author: Jason Zaugg Committer: Lance Andersen Date: 2021-05-11 18:06:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0a12605df893d782867529812b1d8c10380f603c 8265448: (zipfs): Reduce read contention in ZipFileSystem Reviewed-by: alanb, lancea ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java ! test/jdk/jdk/nio/zipfs/ZipFSTester.java + test/micro/org/openjdk/bench/jdk/nio/zipfs/ZipFileSystemBenchmark.java Changeset: 995e9560 Author: Hai-May Chao Date: 2021-05-11 19:37:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/995e95603089f2571bb6778a2ff1691b147fd0ce 8266225: jarsigner is using incorrect security property to show weakness of certs Reviewed-by: weijun, mullan ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java ! test/jdk/sun/security/tools/jarsigner/CheckSignerCertChain.java Changeset: dfe8833f Author: Mandy Chung Date: 2021-05-11 20:22:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dfe8833f5d9a9ac59857143a86d07f85769b8eae 8266783: java/lang/reflect/Proxy/DefaultMethods.java fails with jtreg 6 Reviewed-by: iris ! test/jdk/java/lang/reflect/Proxy/DefaultMethods.java Changeset: 1356116d Author: Alexander Matveev Date: 2021-05-11 21:59:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1356116d3fb0cf9bee6796862e8015adc36590fb 8266456: Replace direct TKit.run() calls with jdk.jpackage.test.Annotations.Test annotation Reviewed-by: asemenyuk, herrick ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/Functional.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TKit.java ! test/jdk/tools/jpackage/linux/AppCategoryTest.java ! test/jdk/tools/jpackage/linux/LicenseTypeTest.java ! test/jdk/tools/jpackage/linux/LinuxBundleNameTest.java ! test/jdk/tools/jpackage/linux/MaintainerTest.java ! test/jdk/tools/jpackage/linux/ReleaseTest.java ! test/jdk/tools/jpackage/macosx/MacFileAssociationsTest.java ! test/jdk/tools/jpackage/macosx/SigningAppImageTest.java ! test/jdk/tools/jpackage/macosx/SigningPackageTest.java ! test/jdk/tools/jpackage/share/EmptyFolderPackageTest.java ! test/jdk/tools/jpackage/share/EmptyFolderTest.java ! test/jdk/tools/jpackage/windows/WinDirChooserTest.java Changeset: f6c5a6bb Author: Naoto Sato Date: 2021-05-11 22:42:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f6c5a6bbf14603c0f4832e5793c48ae1308a7414 8266784: java/text/Collator/RuleBasedCollatorTest.java fails with jtreg 6 Reviewed-by: joehw ! test/jdk/java/text/Collator/RuleBasedCollatorTest.java Changeset: 974b9f70 Author: Jie Fu Date: 2021-05-11 22:44:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/974b9f700423590ccb59a566bd0b383c405d4af2 8266773: Release VM is broken with GCC 9 after 8214237 Reviewed-by: stuefe, lkorinth ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp Changeset: 616244f4 Author: Claes Redestad Date: 2021-05-11 22:45:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/616244f43aa68543e20f1eefedd67ca8c81669e1 8266937: Remove Compile::reshape_address Reviewed-by: kvn ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp Changeset: 57c6ba6e Author: Calvin Cheung Date: 2021-05-11 23:53:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/57c6ba6e6b1c1bf30dcfffee873790dfc4fa511a 8266822: Rename MetaspaceShared::is_old_class to be more explicit about what "old" means Reviewed-by: iklam, minqi, coleenp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/metaspaceShared.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/interpreter/rewriter.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klassVtable.cpp Changeset: 1a0ff28e Author: Joe Wang Date: 2021-05-11 23:54:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1a0ff28ea10aaba53c5fbeb59800d3bcb1d228bc 8255035: Update BCEL to Version 6.5.0 Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Const.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/ExceptionConst.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationDefault.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Annotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ArrayElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Attribute.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethods.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassParser.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Code.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/CodeException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Constant.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInvokeDynamic.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantModule.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantNameAndType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPackage.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPool.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantString.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EnumElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ExceptionTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClasses.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/JavaClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumber.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumberTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameter.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameters.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Module.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleExports.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleMainClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleOpens.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModulePackages.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleProvides.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleRequires.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/NestHost.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/PMGClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotationEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Signature.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SimpleElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SourceFile.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMap.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Unknown.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Utility.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AnnotationElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPoolGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValuePairGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/EnumElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGenOrMethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEDYNAMIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEINTERFACE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESPECIAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEVIRTUAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionList.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JsrInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC2_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ObjectType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Select.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SimpleElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Type.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/CodeHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ConstantHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/InstructionFinder.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/MethodHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/SyntheticRepository.java ! src/java.xml/share/legal/bcel.md Changeset: 271a0c71 Author: Sergey Bylokhov Date: 2021-05-11 23:55:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/271a0c713322bef3c78b04665c333c5e3068f8a9 8047218: [TEST_BUG] java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java fails with exception Reviewed-by: azvegint, kizune, pbansal ! test/jdk/ProblemList.txt ! test/jdk/java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java Changeset: cc03734b Author: Mandy Chung Date: 2021-05-12 00:53:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc03734b996c41c93efadf22e73685164bfe6b46 8266925: Add a test to verify that hidden class's members are not statically invocable Reviewed-by: alanb + test/jdk/java/lang/invoke/defineHiddenClass/StaticInvocableTest.java + test/jdk/java/lang/invoke/defineHiddenClass/java.base/java/lang/invoke/LookupHelper.java Changeset: ed32e02c Author: Guoxiong Li Committer: Jonathan Gibbons Date: 2021-05-12 01:01:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ed32e02c05affbc7d8d1b628fef7e7c32d54c735 8241187: ToolBox::grep should allow for negative filtering Reviewed-by: vromero + test/langtools/tools/javac/toolbox/TestGrepOfToolBox.java ! test/langtools/tools/lib/toolbox/ToolBox.java Changeset: 3c47cab6 Author: Hamlin Li Date: 2021-05-12 01:06:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3c47cab6db949b19cfd300139cbdbf81fb521e68 8261034: improve jcmd GC.class_histogram to support parallel Reviewed-by: cjplummer, sspitsyn ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp - test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramAllTest.java ! test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramTest.java Changeset: e828a939 Author: David Holmes Date: 2021-05-12 05:21:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e828a939a8155a3b4ab26811a405bb4e4b2b99e8 8261395: C1 crash "cannot make java calls from the native compiler" Co-authored-by: Ioi Lam Co-authored-by: Coleen Phillimore Reviewed-by: iklam, hseigel, coleenp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp + test/hotspot/jtreg/runtime/Nestmates/protectionDomain/Host.java + test/hotspot/jtreg/runtime/Nestmates/protectionDomain/TestDifferentProtectionDomains.java Changeset: 476994aa Author: Yasumasa Suenaga Date: 2021-05-12 05:27:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/476994aa373ac95e73e672b7cc463c95e96509dc 8266531: ZAddress::address() should be removed from SA Reviewed-by: cjplummer, stefank ! src/hotspot/share/gc/z/vmStructs_z.cpp ! src/hotspot/share/gc/z/vmStructs_z.hpp ! src/hotspot/share/gc/z/zAddress.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZExternalBitMap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGlobals.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGlobalsForVMStructs.java ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: 06d76028 Author: Tobias Hartmann Date: 2021-05-12 07:21:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/06d760283344a1d0fd510aed306e0efb76b51617 8261158: JVMState should not be shared between SafePointNodes Reviewed-by: vlivanov, kvn ! src/hotspot/share/adlc/archDesc.cpp ! src/hotspot/share/adlc/archDesc.hpp ! src/hotspot/share/adlc/main.cpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.cpp Changeset: 97367c01 Author: Hannes Walln?fer Date: 2021-05-12 08:32:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/97367c01c13261ccf9b6f3032213bbf3e342fbae 8266808: Search label still uses old search field id Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java Changeset: b46086d7 Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-12 08:35:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b46086d777d6d051b6c599e040706efcd66d422c 8266874: Clean up C1 canonicalizer for TableSwitch/LookupSwitch Reviewed-by: thartmann ! src/hotspot/share/c1/c1_Canonicalizer.cpp Changeset: 548899d4 Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-12 08:36:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/548899d40e10728cef2f9e5fa2e2f2b51a37ae35 8266189: Remove C1 "IfInstanceOf" instruction Reviewed-by: thartmann ! src/hotspot/share/c1/c1_Canonicalizer.cpp ! src/hotspot/share/c1/c1_Canonicalizer.hpp ! src/hotspot/share/c1/c1_Instruction.hpp ! src/hotspot/share/c1/c1_InstructionPrinter.cpp ! src/hotspot/share/c1/c1_InstructionPrinter.hpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/c1/c1_Optimizer.cpp ! src/hotspot/share/c1/c1_RangeCheckElimination.hpp ! src/hotspot/share/c1/c1_ValueMap.hpp Changeset: f3b510b9 Author: Doug Simon Date: 2021-05-12 08:47:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f3b510b9aa540ae5fbda687d545e995c5622f971 8266923: [JVMCI] expose StackOverflow::_stack_overflow_limit to JVMCI Reviewed-by: kvn ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: dcf250d5 Author: Ivan Walulya Date: 2021-05-12 09:07:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dcf250d5d41a05d0f3213fb9a807e89e1c198ce5 8233378: CHT: Fast reset Reviewed-by: tschatzl, rehn ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: 11759bfb Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-12 09:08:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/11759bfb2d8e0208ad56f9ad5a425067e66c2bc0 8266798: C1: More types of instruction can also apply LoopInvariantCodeMotion Reviewed-by: thartmann, neliasso ! src/hotspot/share/c1/c1_ValueMap.cpp Changeset: 4727187f Author: Pavel Rappo Date: 2021-05-12 10:57:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4727187f86d18d34bd79cf93a74ff4a6515c662e 8266567: Fix javadoc tag references in sun.management.jmxremote.ConnectorBootstrap Reviewed-by: dfuchs, sspitsyn ! src/jdk.management.agent/share/classes/sun/management/jmxremote/ConnectorBootstrap.java Changeset: 74338219 Author: Alexey Ushakov Committer: Ajit Ghaisas Date: 2021-05-12 12:33:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7433821910cc292b0022ba5ed77235b4b71d242c 8250658: Performance of ClipFlatOval Renderperf test is very low Reviewed-by: jdv, aghaisas ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/EncoderManager.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLClip.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLClip.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLStencilManager.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLStencilManager.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceDataBase.h Changeset: 69daedfd Author: Zhengyu Gu Date: 2021-05-12 12:34:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/69daedfd2316815f63d7f3c6ba79d2bb77b427ec 8266845: Shenandoah: Simplify SBS::load_reference_barrier implementation Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Changeset: accbfeaf Author: Guoxiong Li Committer: Jan Lahoda Date: 2021-05-12 14:32:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/accbfeaf22ea5374292a657ddabb67b22eada6bc 8226216: parameter modifiers are not visible to javac plugins across compilation boundaries Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java + test/langtools/tools/javac/classreader/ParameterModifiersAcrossCompilationBoundaries.java Changeset: 2568d181 Author: Chris Plummer Date: 2021-05-12 21:01:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2568d181a778add4837bb0eada8c5f4a137d4560 8267047: Put serviceability/sa/TestJmapCoreMetaspace.java back on ZGC problem list due to JDK-8267045 Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: ab17be28 Author: Philippe Marschall Committer: David Holmes Date: 2021-05-12 23:14:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ab17be283559ba0477bc0dcbd11dbfccf155a57f 8252530: Fix inconsistencies in hotspot whitebox Reviewed-by: dholmes, amenkov ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagCombo.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/sun/hotspot/WhiteBox.java ! test/lib/sun/hotspot/code/Compiler.java Changeset: d215743a Author: David Holmes Date: 2021-05-13 01:14:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d215743a91555c4edabd116b1899765d5a283dc7 8231031: runtime/ReservedStack/ReservedStackTest.java fails after jsr166 refresh Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTest.java Changeset: b50fc5f9 Author: Prasanta Sadhukhan Date: 2021-05-13 04:42:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b50fc5f992c2a1bdcdc8cae4aacf2a16598d5d05 8265528: Specification of BasicSplitPaneDivider::getMinimumSize,getPreferredSize doesn't match with its behavior. Reviewed-by: kizune ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSplitPaneDivider.java Changeset: 08a5a5c6 Author: Daniel Fuchs Date: 2021-05-13 08:54:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/08a5a5c6d64db51700d058954d115aa89dbe73be 8263382: java/util/logging/ParentLoggersTest.java failed with "checkLoggers: getLoggerNames() returned unexpected loggers" Reviewed-by: bpb, mchung ! test/jdk/java/util/logging/ParentLoggersTest.java Changeset: a270cbe2 Author: Maurizio Cimadamore Date: 2021-05-13 09:32:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a270cbe2ebfe28465b8257f19ff66cf653d21bf4 8267043: IntelliJ project doesn't handle generated sources correctly Reviewed-by: chegar, erikj ! make/ide/idea/jdk/template/misc.xml Changeset: 17ceef97 Author: Guoxiong Li Committer: Maurizio Cimadamore Date: 2021-05-13 10:22:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/17ceef97c3df2326d585b2a298e5daa5dcfe3d99 8266819: Separate the stop policies from the compile policies completely Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! test/langtools/tools/javac/6199662/Tree.java ! test/langtools/tools/javac/failover/CheckAttributedTree.java ! test/langtools/tools/javac/importscope/T8193717.java ! test/langtools/tools/javac/lambda/MostSpecific09.java ! test/langtools/tools/javac/modules/AnnotationProcessing.java ! test/langtools/tools/javac/resolve/ResolveHarness.java ! test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.java Changeset: 347d41df Author: Fernando Guallini Committer: Julia Boes Date: 2021-05-13 10:50:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/347d41df909f5762c5e066ab70d0fe7ea500ffaf 8164804: sun/security/ssl/SSLSocketImpl/CloseSocket.java makes not reliable time assumption Reviewed-by: dfuchs, rhalade ! test/jdk/sun/security/ssl/SSLSocketImpl/CloseSocket.java Changeset: 127bfe44 Author: Vladimir Ivanov Date: 2021-05-13 10:58:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/127bfe44f7d09f272a08f97bfc5d168eb22474a2 8266074: Vtable-based CHA implementation Reviewed-by: kvn, jrose, dlong ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/cha/StrengthReduceInterfaceCall.java Changeset: a564f2cb Author: Thomas Schatzl Date: 2021-05-13 11:22:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a564f2cbd59d40df21278c5f0d785e2375b310e4 8266821: G1: Prefetch cards during merge heap roots phase Reviewed-by: kbarrett, iwalulya + src/hotspot/cpu/aarch64/gc/g1/g1Globals_aarch64.hpp + src/hotspot/cpu/arm/gc/g1/g1Globals_arm.hpp + src/hotspot/cpu/ppc/gc/g1/g1Globals_ppc.hpp + src/hotspot/cpu/s390/gc/g1/g1Globals_s390.hpp + src/hotspot/cpu/x86/gc/g1/g1Globals_x86.hpp + src/hotspot/cpu/zero/gc/g1/g1Globals_zero.hpp ! src/hotspot/share/gc/g1/g1CardTable.hpp ! src/hotspot/share/gc/g1/g1CardTable.inline.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp Changeset: e14b0268 Author: Harold Seigel Date: 2021-05-13 12:46:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e14b0268411bba8eb01bf6c477cc8743a53ffd1c 8243287: Removal of Unsafe::defineAnonymousClass Reviewed-by: iklam, mchung, alanb, dholmes ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/classfile/classLoadInfo.hpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.hpp ! src/hotspot/share/classfile/classLoaderDataShared.cpp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp ! src/hotspot/share/classfile/classLoaderStats.cpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/constantPool.hpp ! src/hotspot/share/oops/constantPool.inline.hpp ! src/hotspot/share/oops/instanceClassLoaderKlass.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceKlass.inline.hpp ! src/hotspot/share/oops/instanceMirrorKlass.inline.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.inline.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/methodComparator.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java ! src/java.base/share/classes/jdk/internal/reflect/NativeConstructorAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/NativeMethodAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java ! src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ResolvedJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/Value.java ! src/jdk.unsupported/share/classes/sun/misc/Unsafe.java - test/hotspot/jtreg/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java ! test/hotspot/jtreg/compiler/jsr292/CallSiteDepContextTest.java - test/hotspot/jtreg/compiler/jsr292/VMAnonymousClasses.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java - test/hotspot/jtreg/runtime/8026365/InvokeSpecialAnonTest.java ! test/hotspot/jtreg/runtime/HiddenClasses/CastToParentTest.java ! test/hotspot/jtreg/runtime/HiddenClasses/GCHiddenClass.java ! test/hotspot/jtreg/runtime/HiddenClasses/HiddenClassStack.java ! test/hotspot/jtreg/runtime/HiddenClasses/StressHiddenClasses.java ! test/hotspot/jtreg/runtime/HiddenClasses/TestHiddenClassUnloading.java - test/hotspot/jtreg/runtime/Unsafe/NestedUnsafe.java - test/hotspot/jtreg/runtime/Unsafe/PrimitiveHostClass.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UnsafeAndLambda.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UnsafeAnonymous.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/UnsafeAndLambdaApp.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/UnsafeAnonymousApp.java - test/hotspot/jtreg/runtime/defineAnonClass/AnonSymbolLeak.java - test/hotspot/jtreg/runtime/defineAnonClass/DefineAnon.java - test/hotspot/jtreg/runtime/defineAnonClass/NestedUnsafe.java - test/hotspot/jtreg/runtime/defineAnonClass/NestedUnsafe2.java - test/hotspot/jtreg/runtime/defineAnonClass/TestAnonSymbolLeak.java - test/hotspot/jtreg/runtime/defineAnonClass/UnsafeDefMeths.java ! test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderStatsTest.java ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/README ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/configuration/ClassloadingMethod.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/loading/ClassLoadingHelper.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_inMemoryCompilation_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_inMemoryCompilation_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/staticReferences/OneUsageClassloader.java ! test/hotspot/jtreg/vmTestbase/metaspace/staticReferences/StaticReferences.java ! test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/share/HotspotInstructionsExecutor.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/castToGrandparent/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/castToParent/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/classNameInStackTrace/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/finalSuperclass/TestDescription.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/findByName/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/invalidSuperclass/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/isGarbageCollected/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/uniqueClassAndObject/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/share/ReplaceClassParentTest.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/share/StressClassLoadingTest.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/byteMutation/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/parallelLoad/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/randomBytecodes/Test.java ! test/jdk/java/lang/Class/GetModuleTest.java ! test/jdk/java/lang/Class/attributes/ClassAttributesTest.java - test/jdk/java/lang/invoke/VMAnonymousClass.java - test/jdk/jdk/internal/misc/Unsafe/TestBadHostClass.java - test/jdk/jdk/internal/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java ! test/jdk/jdk/jfr/event/runtime/TestClassLoaderStatsEvent.java ! test/jdk/jdk/jfr/event/runtime/TestClasses.java ! test/micro/org/openjdk/bench/java/lang/invoke/LookupDefineClass.java Changeset: b4371e9b Author: Jim Laskey Date: 2021-05-13 13:42:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4371e9bcaa1c8aa394b5eca409c5afc669cc146 8266552: Technical corrections to java/util/random/package-info.java Reviewed-by: darcy ! src/java.base/share/classes/java/util/random/package-info.java ! src/jdk.random/share/classes/jdk/random/L128X1024MixRandom.java ! src/jdk.random/share/classes/jdk/random/L128X128MixRandom.java ! src/jdk.random/share/classes/jdk/random/L128X256MixRandom.java ! src/jdk.random/share/classes/jdk/random/L32X64MixRandom.java ! src/jdk.random/share/classes/jdk/random/L64X1024MixRandom.java ! src/jdk.random/share/classes/jdk/random/L64X128MixRandom.java ! src/jdk.random/share/classes/jdk/random/L64X128StarStarRandom.java ! src/jdk.random/share/classes/jdk/random/L64X256MixRandom.java ! src/jdk.random/share/classes/jdk/random/Xoroshiro128PlusPlus.java ! src/jdk.random/share/classes/jdk/random/Xoshiro256PlusPlus.java Changeset: a259ab4a Author: Naoto Sato Date: 2021-05-13 16:20:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a259ab4a8d163ff924ba56c5da5395cec0d8c350 8258795: Update IANA Language Subtag Registry to Version 2021-05-11 Reviewed-by: joehw ! make/data/lsrdata/language-subtag-registry.txt = test/jdk/java/util/Locale/LanguageSubtagRegistryTest.java Changeset: f3c6cda4 Author: Alexey Semenyuk Date: 2021-05-13 16:30:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f3c6cda47631cc123dbcddbfb627dc05cf7bc13b 8266162: Remove JPackage duplicate tests Reviewed-by: almatvee, herrick ! test/jdk/tools/jpackage/windows/WinInstallerUiTest.java ! test/jdk/tools/jpackage/windows/WinShortcutPromptTest.java Changeset: 853ffdb2 Author: Patricio Chilano Mateo Date: 2021-05-13 18:04:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/853ffdb25c76637555fa732f5e05024243747a70 8265934: Cleanup _suspend_flags and _special_runtime_exit_condition Reviewed-by: rehn, dcubed, dholmes ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/thread.inline.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Thread.java Changeset: 6c107fdf Author: Pankaj Bansal Date: 2021-05-13 18:45:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6c107fdff289cc553df12ee10b0c8002b84059b2 8264299: Create implementation of native accessibility peer for ScrollPane and ScrollBar Java Accessibility roles Reviewed-by: kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollAreaAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollAreaAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollBarAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollBarAccessibility.m Changeset: 26670245 Author: Xue-Lei Andrew Fan Date: 2021-05-13 18:53:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/266702451db57c4f006f22601288174cc0613339 8266881: Enable debug log for SSLEngineExplorerMatchedSNI.java Reviewed-by: hchao, mullan ! test/jdk/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java Changeset: 2a2f105a Author: Vladimir Ivanov Date: 2021-05-13 23:26:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a2f105a56bba3a180658f0b0151240676478ba4 8267117: sun/hotspot/whitebox/CPUInfoTest.java fails on Ice Lake Reviewed-by: kvn ! test/lib-test/sun/hotspot/whitebox/CPUInfoTest.java Changeset: 40860813 Author: Sergey Bylokhov Date: 2021-05-13 23:41:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/408608130621b340151276dceeaf52cf6d037d53 8264846: Regression ~5% in J2dBench.bimg_misc on Linux after JDK-8263142 Reviewed-by: erikj, azvegint ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: 1e0ecd6d Author: Ioi Lam Date: 2021-05-14 06:26:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1e0ecd6d56541c948e0d120295f5008d3248598f 8265605: Cannot call BootLoader::loadClassOrNull before initPhase2 Reviewed-by: alanb, mchung ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/loader/ArchivedClassLoaders.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java ! src/java.base/share/native/libjava/ClassLoader.c ! test/hotspot/jtreg/runtime/cds/appcds/test-classes/EmptyClassHelper.java Changeset: 301095c8 Author: Hamlin Li Date: 2021-05-14 06:52:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/301095c8beb2c95207636f0f61c02e0fc4d5a0a4 8266795: Remove dead code LowMemoryDetectorDisabler Reviewed-by: dholmes ! src/hotspot/share/services/lowMemoryDetector.cpp ! src/hotspot/share/services/lowMemoryDetector.hpp Changeset: 88907bb8 Author: Stefan Karlsson Date: 2021-05-14 07:55:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/88907bb81a5a67a51f32c36f6cd821c2488117eb 8266904: Use function pointer typedefs in OopOopIterateDispatch Reviewed-by: tschatzl, iklam ! src/hotspot/share/memory/iterator.inline.hpp Changeset: 644f28c0 Author: Claes Redestad Date: 2021-05-14 10:36:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/644f28c0ead18a37d7996ec30b49718a2f6aa189 8266810: Move trivial Matcher code to cpu-specific header files Reviewed-by: kvn, thartmann ! src/hotspot/cpu/aarch64/aarch64.ad + src/hotspot/cpu/aarch64/matcher_aarch64.hpp ! src/hotspot/cpu/arm/arm.ad + src/hotspot/cpu/arm/matcher_arm.hpp + src/hotspot/cpu/ppc/matcher_ppc.hpp ! src/hotspot/cpu/ppc/ppc.ad + src/hotspot/cpu/s390/matcher_s390.hpp ! src/hotspot/cpu/s390/s390.ad + src/hotspot/cpu/x86/matcher_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/opto/chaitin.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/matcher.hpp Changeset: 6ef9a90f Author: duke Date: 2021-05-14 11:01:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ef9a90fe58761f65956450e6d637060a6840ab3 Automatic merge of jdk:master into master Changeset: 91ce7fde Author: duke Date: 2021-05-14 11:01:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/91ce7fdeee760d62c4df1e60c34025e5b17ff625 Automatic merge of master into foreign-memaccess+abi ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! test/lib/sun/hotspot/WhiteBox.java ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! test/lib/sun/hotspot/WhiteBox.java From duke at openjdk.java.net Fri May 14 11:13:36 2021 From: duke at openjdk.java.net (duke) Date: Fri, 14 May 2021 11:13:36 GMT Subject: git: openjdk/panama-foreign: master: 98 new changesets Message-ID: Changeset: 2798b0d9 Author: Stefan Johansson Date: 2021-05-07 11:33:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2798b0d98ab4191fc94e210d57422854cf13f11e 8266349: Pass down requested page size to reserve_memory_special Reviewed-by: stuefe, mgkwill ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/gtest/runtime/test_os_linux.cpp ! test/hotspot/gtest/runtime/test_os_windows.cpp Changeset: 14f0afe8 Author: Thomas Schatzl Date: 2021-05-07 11:38:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14f0afe8118092be530aac0c4cc5d1d5d4fe982a 8214237: Join parallel phases post evacuation Reviewed-by: iwalulya, sjohanss ! src/hotspot/share/gc/g1/g1BatchedGangTask.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1HotCardCache.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp + src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp + src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.hpp ! src/hotspot/share/gc/g1/heapRegionManager.cpp ! src/hotspot/share/gc/g1/heapRegionManager.hpp ! src/hotspot/share/gc/shared/preservedMarks.cpp ! src/hotspot/share/gc/shared/preservedMarks.hpp ! src/hotspot/share/gc/shared/workerDataArray.cpp ! src/hotspot/share/gc/shared/workerDataArray.inline.hpp ! src/hotspot/share/gc/shared/workgroup.hpp ! test/hotspot/gtest/gc/shared/test_workerDataArray.cpp ! test/hotspot/jtreg/gc/g1/TestEagerReclaimHumongousRegionsLog.java ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java ! test/hotspot/jtreg/gc/g1/plab/TestPLABEvacuationFailure.java ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: 9a19a0cc Author: Wang Huang Committer: Harold Seigel Date: 2021-05-07 12:55:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9a19a0cc1087311b01c5c15432c4451f1ea24fad 8264760: JVM crashes when two threads encounter the same resolution error Co-authored-by: Wang Huang Co-authored-by: Wu Yan Reviewed-by: dholmes, hseigel ! src/hotspot/share/classfile/systemDictionary.cpp + test/hotspot/jtreg/runtime/Nestmates/membership/HostNoNestMember.java + test/hotspot/jtreg/runtime/Nestmates/membership/HostNoNestMember.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/TestNestHostErrorWithMultiThread.java Changeset: 3fcdc50e Author: Daniel Fuchs Date: 2021-05-07 12:56:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3fcdc50e4425b10181a2a3d82718994597dc8364 8266646: Add more diagnostic to java/lang/System/LoggerFinder/modules Reviewed-by: naoto, iris, bpb, lancea ! test/jdk/java/lang/System/LoggerFinder/modules/boot_client/BootClient.java ! test/jdk/java/lang/System/LoggerFinder/modules/named_client/m.t.a/pkg/a/t/TestA.java ! test/jdk/java/lang/System/LoggerFinder/modules/patched_client/PatchedClient.java ! test/jdk/java/lang/System/LoggerFinder/modules/unnamed_client/pkg/b/t/TestB.java Changeset: 86b8dc9f Author: Patrick Concannon Date: 2021-05-07 13:42:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86b8dc9f5b3729e22e9cd31aba7b920fa39aa5c1 8265426: Update java.security to use instanceof pattern variable Reviewed-by: rriggs, weijun, dfuchs ! src/java.base/share/classes/java/security/AccessControlContext.java ! src/java.base/share/classes/java/security/BasicPermission.java ! src/java.base/share/classes/java/security/CodeSigner.java ! src/java.base/share/classes/java/security/CodeSource.java ! src/java.base/share/classes/java/security/Identity.java ! src/java.base/share/classes/java/security/KeyFactory.java ! src/java.base/share/classes/java/security/KeyPairGenerator.java ! src/java.base/share/classes/java/security/KeyStore.java ! src/java.base/share/classes/java/security/MessageDigest.java ! src/java.base/share/classes/java/security/Provider.java ! src/java.base/share/classes/java/security/SecureClassLoader.java ! src/java.base/share/classes/java/security/Signature.java ! src/java.base/share/classes/java/security/Timestamp.java ! src/java.base/share/classes/java/security/UnresolvedPermission.java ! src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java ! src/java.base/share/classes/java/security/cert/CertPath.java ! src/java.base/share/classes/java/security/cert/URICertStoreParameters.java ! src/java.base/share/classes/java/security/cert/X509CRLSelector.java ! src/java.base/share/classes/java/security/cert/X509CertSelector.java ! src/java.base/share/classes/java/security/spec/ECFieldF2m.java ! src/java.base/share/classes/java/security/spec/ECFieldFp.java ! src/java.base/share/classes/java/security/spec/ECPoint.java ! src/java.base/share/classes/java/security/spec/EllipticCurve.java Changeset: 74fecc07 Author: Thomas Stuefe Date: 2021-05-07 14:04:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/74fecc070a6462e6a2d061525b53a63de15339f9 8266503: [UL] Make Decorations safely copy-able and reduce their size Reviewed-by: simonis, ysuenaga ! src/hotspot/share/logging/logDecorations.cpp ! src/hotspot/share/logging/logDecorations.hpp ! src/hotspot/share/logging/logFileStreamOutput.cpp ! src/hotspot/share/logging/logTagSet.cpp ! src/hotspot/share/logging/logTagSet.hpp ! test/hotspot/gtest/logging/test_logDecorations.cpp ! test/hotspot/gtest/logging/test_logTagSet.cpp Changeset: 946b0fe1 Author: Vicente Romero Date: 2021-05-07 14:38:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/946b0fe19a8af88a0f0451c86ce4d4790360bb83 8266645: javac should not check for sealed supertypes in intersection types Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/tools/javac/sealed/SealedCompilationTests.java Changeset: 947d69df Author: Jonathan Gibbons Date: 2021-05-07 14:51:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/947d69df045fa97f56f4eeb5de7f338e169441fc 8265042: javadoc HTML files not generated for types nested in records Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java + test/langtools/jdk/javadoc/doclet/testNestedClasses/TestNestedClasses.java Changeset: b5b31197 Author: Brian Burkhalter Date: 2021-05-07 15:23:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5b31197e5ab9fda8b9f09367aba280f865d2320 8266589: (fs) Improve performance of Files.copy() on macOS using copyfile(3) Reviewed-by: alanb ! src/java.base/unix/native/libnio/fs/UnixCopyFile.c Changeset: c6aa8f19 Author: Hannes Walln?fer Date: 2021-05-07 15:34:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6aa8f19aca13d30c7a0340dc64da1214b76550f 8232644: bugs in serialized-form.html Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/SerializedFormWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSuperclassInSerialForm/TestSuperClassInSerialForm.java Changeset: 0790e601 Author: Kevin Walls Date: 2021-05-07 15:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0790e6016e153b4fa4df5d80737f90aa555c7ba9 8196743: jstatd doesn't see new Java processes inside Docker container Reviewed-by: sspitsyn, ysuenaga ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalVmManager.java Changeset: 04fad704 Author: Yumin Qi Date: 2021-05-07 23:49:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/04fad70437a43c0f38fd53414b8eace2eac93509 8266765: [BACKOUT] JDK-8255493 Support for pre-generated java.lang.invoke classes in CDS dynamic archive Reviewed-by: ccheung ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/lambdaFormInvokers.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/java.cpp - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java Changeset: ff77ca8b Author: Guoxiong Li Committer: Vicente Romero Date: 2021-05-08 03:09:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff77ca8bd41ece778cf6f1af6dd1b7a7dfc50eab 8266675: Optimize IntHashTable for encapsulation and ease of use Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/IntHashTable.java Changeset: be4f25b0 Author: Alan Bateman Date: 2021-05-08 07:14:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/be4f25b0c885a6405b484e4035b30005311a2802 8266369: (se) Add wepoll based Selector Reviewed-by: chegar, michaelm, vtewari, dfuchs, bpb ! src/java.base/share/classes/sun/nio/ch/Net.java ! src/java.base/share/classes/sun/nio/ch/SelectionKeyImpl.java ! src/java.base/windows/classes/sun/nio/ch/DefaultSelectorProvider.java ! src/java.base/windows/classes/sun/nio/ch/PipeImpl.java + src/java.base/windows/classes/sun/nio/ch/WEPoll.java + src/java.base/windows/classes/sun/nio/ch/WEPollSelectorImpl.java + src/java.base/windows/classes/sun/nio/ch/WEPollSelectorProvider.java ! src/java.base/windows/classes/sun/nio/ch/WindowsSelectorImpl.java + src/java.base/windows/legal/wepoll.md ! src/java.base/windows/native/libnio/ch/IOUtil.c ! src/java.base/windows/native/libnio/ch/Net.c + src/java.base/windows/native/libnio/ch/WEPollNatives.c ! src/java.base/windows/native/libnio/ch/WindowsSelectorImpl.c ! src/java.base/windows/native/libnio/ch/nio_util.h + src/java.base/windows/native/libnio/ch/wepoll.c + src/java.base/windows/native/libnio/ch/wepoll.h ! test/jdk/java/nio/channels/Selector/ChangingInterests.java ! test/jdk/java/nio/channels/Selector/LotsOfChannels.java ! test/jdk/java/nio/channels/Selector/OutOfBand.java ! test/jdk/java/nio/channels/Selector/RacyDeregister.java ! test/jdk/java/nio/channels/Selector/SelectWithConsumer.java + test/micro/org/openjdk/bench/java/nio/channels/SelectOne.java = test/micro/org/openjdk/bench/java/nio/channels/SelectorWakeup.java Changeset: 3af4efdf Author: Pankaj Bansal Date: 2021-05-08 10:56:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3af4efdfcfbbb52d38415374083c66c9e7b22604 8265291: Error in Javadoc for doAccessibleAction API in AccessibleJSlider class Reviewed-by: azvegint, jdv ! src/java.desktop/share/classes/javax/swing/JSlider.java Changeset: 9b769550 Author: Alexander Zuev Date: 2021-05-10 03:21:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9b769550242e8bf6f9e783bf0d6f4a87d0c6376d 8266249: javax/swing/JPopupMenu/7156657/bug7156657.java fails on macOS Reviewed-by: jdv, pbansal, azvegint ! test/jdk/javax/swing/JPopupMenu/7156657/bug7156657.java Changeset: 69b96f9a Author: Vyom Tewari Date: 2021-05-10 03:51:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/69b96f9a1b4a959c6b86f41c2259d9e4d47c8ede 8266610: Method RandomAccessFile#length() returns 0 for block devices on linux. Reviewed-by: alanb, bpb ! src/java.base/unix/native/libjava/io_util_md.c Changeset: 0f925d1f Author: Claes Redestad Date: 2021-05-10 08:02:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0f925d1f58ffc0c56ae85a189798f8d99d90d443 8266015: Implement AdapterHandlerLibrary lookup fast-path for common adapters Reviewed-by: iklam, coleenp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp Changeset: 1603ca23 Author: Alexey Bakhtin Committer: Vladimir Kempik Date: 2021-05-10 09:45:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1603ca23422b03157afb2bd1050524465474b60e 8241248: NullPointerException in sun.security.ssl.HKDF.extract(HKDF.java:93) Reviewed-by: jnimeh, xuelei ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionContextImpl.java ! src/java.base/share/classes/sun/security/ssl/ServerHello.java ! src/java.base/share/classes/sun/security/util/Cache.java Changeset: 53db2a0a Author: Jayathirth D V Date: 2021-05-10 10:36:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/53db2a0acd4e208fb5cfb7108206ec667c7c4131 8226384: Implement a better logic to switch between OpenGL and Metal pipeline Reviewed-by: prr ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLLayer.java ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLLayer.java + src/java.desktop/macosx/classes/sun/lwawt/macosx/CFLayer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformView.java Changeset: b823b3ef Author: Vyom Tewari Date: 2021-05-10 13:40:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b823b3ef2912c4c3b8412dff6ff4e9af81c5b910 8266797: Fix for 8266610 breaks the build on macos Reviewed-by: dholmes, jdv ! src/java.base/unix/native/libjava/io_util_md.c Changeset: e41fd735 Author: Claes Redestad Date: 2021-05-10 13:51:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e41fd735296e6ad32c422d266a685f7b775be5c2 8266252: Streamline AbstractInterpreter::method_kind Reviewed-by: iklam, coleenp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.inline.hpp Changeset: 5d761fcf Author: Guoxiong Li Committer: Maurizio Cimadamore Date: 2021-05-10 14:27:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5d761fcffd6eea1c5be35d2ddec1479eccb85750 8266796: Clean up the unnecessary code in the method UnsharedNameTable#fromUtf Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java Changeset: 25d99e52 Author: Calvin Cheung Date: 2021-05-10 16:24:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/25d99e52679bdf4601058e10e5679ca3780f8ec3 8266330: itableMethodEntry::initialize() asserts with archived old classes Reviewed-by: iklam, minqi ! src/hotspot/share/oops/klassVtable.cpp ! src/hotspot/share/oops/klassVtable.hpp + test/hotspot/jtreg/runtime/cds/appcds/OldSuperInfIndirect.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/IndirectImpInf.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/IndirectImpInfApp.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/InfMethod.java Changeset: c494efc5 Author: Naoto Sato Date: 2021-05-10 16:25:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c494efc5b5d9a142fceff600285fd4c8c883e795 8266774: System property values for stdout/err on Windows UTF-8 Reviewed-by: bpb, alanb ! src/java.base/windows/native/libjava/java_props_md.c Changeset: c8b74474 Author: Alexey Semenyuk Date: 2021-05-10 16:39:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c8b744743bd54a00a4f7bf1e852d454fcd942abd 8266603: jpackage: Add missing copyright file in Java runtime .deb installers Reviewed-by: almatvee, herrick ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java ! test/jdk/tools/jpackage/share/RuntimePackageTest.java Changeset: de784312 Author: Cesar Committer: Vladimir Kozlov Date: 2021-05-10 17:09:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/de784312c340b4a4f4c4d11854bfbe9e9e826ea3 8241502: C2: Migrate x86_64.ad to MacroAssembler Reviewed-by: vlivanov, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/x86_64.ad Changeset: f78440ad Author: Zhengyu Gu Date: 2021-05-10 17:59:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f78440ad438bca2a8929475fbecfbd3c920d48df 8266440: Shenandoah: TestReferenceShortcutCycle.java test failed on AArch64 Reviewed-by: aph ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: 0cc7833f Author: Jim Laskey Date: 2021-05-10 18:52:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0cc7833f3d84971dd03a9a620585152a6debb40e 8265208: [JEP-356] : SplittableRandom and SplittableGenerators - splits() methods does not throw NullPointerException when source is null Reviewed-by: rriggs ! src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java Changeset: 8851cb65 Author: Hannes Walln?fer Date: 2021-05-10 20:25:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8851cb653ff932758ef6408ff010b67200954eff 8266779: Use instead of ZERO_WIDTH_SPACE Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Entity.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! test/langtools/jdk/javadoc/doclet/testConstructors/TestConstructors.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testEnumConstructor/TestEnumConstructor.java ! test/langtools/jdk/javadoc/doclet/testGenericTypeLink/TestGenericTypeLink.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testIndentation/TestIndentation.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testMethodId/TestMethodId.java ! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormWithClassFile/TestSerializedFormWithClassFile.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java Changeset: e5d3ee39 Author: Aleksey Shipilev Date: 2021-05-10 20:28:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e5d3ee394ae940ee0111489e6e072f327ec29c3b 8266802: Shenandoah: Round up region size to page size unconditionally Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp + test/hotspot/jtreg/gc/shenandoah/options/TestLargePages.java Changeset: 23446f1f Author: Sandhya Viswanathan Date: 2021-05-10 21:49:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/23446f1f5ee087376bc1ab89413a011fc52bde1f 8265128: [REDO] Optimize Vector API slice and unslice operations Reviewed-by: psandoz, vlivanov ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template ! test/jdk/jdk/incubator/vector/AbstractVectorConversionTest.java ! test/jdk/jdk/incubator/vector/Vector128ConversionTests.java ! test/jdk/jdk/incubator/vector/Vector256ConversionTests.java ! test/jdk/jdk/incubator/vector/Vector512ConversionTests.java ! test/jdk/jdk/incubator/vector/Vector64ConversionTests.java Changeset: 9713152e Author: Alex Menkov Date: 2021-05-10 22:48:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9713152eae660f83b8a681c3168b7eb2285c05bc 8262092: vmTestbase/nsk/jvmti/scenarios/hotswap/HS102/hs102t001/TestDescription.java SIGSEGV in memmove_ssse3 Reviewed-by: lmesnik, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/hotswap/HotSwap.cpp Changeset: 10a049e1 Author: Wang Huang Committer: Jie Fu Date: 2021-05-11 03:20:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10a049e1714bfe64f895177f4de7a31ad65f407a 8265956: JVM crashes when matching LShiftVB Node Co-authored-by: Wang Huang Co-authored-by: Ai Jiaming Reviewed-by: kvn, jiefu ! src/hotspot/share/opto/vectorIntrinsics.cpp + test/hotspot/jtreg/compiler/vectorapi/TestVectorShuffleIotaByte.java Changeset: 0e7bdae0 Author: Denis Konoplev Committer: Sergey Bylokhov Date: 2021-05-11 03:24:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0e7bdae0f6d2824deaa8b17e15553e421e6dbc7f 8265062: Remove duplication constant MaxTextureSize Reviewed-by: prr, serb ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceData.m Changeset: 18e9d28e Author: Hamlin Li Date: 2021-05-11 04:28:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/18e9d28e8af02650ba30e4816404df48b1062162 8266676: G1: Remove dead code init_node_id_to_index_map() Reviewed-by: sangheki, whuang ! src/hotspot/share/gc/g1/g1NUMA.hpp Changeset: 67cb22af Author: Cesar Committer: Tobias Hartmann Date: 2021-05-11 09:28:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/67cb22af58c649e67f0b9f707a65389bcb39a205 8266601: Fix bugs in AddLNode::Ideal transformations Reviewed-by: kvn, vlivanov, thartmann ! src/hotspot/share/opto/addnode.cpp Changeset: 8468001f Author: Jan Lahoda Date: 2021-05-11 10:06:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8468001f8885c0cb2e7db2254eacca857eff2378 8263452: Javac slow compilation due to algorithmic complexity Reviewed-by: vromero, jfranck ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java + test/langtools/tools/javac/perf/SuperClassAndNesting.java Changeset: 6575566d Author: Albert Mingkun Yang Date: 2021-05-11 10:34:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6575566d830c59bce3e77102e06eca574218f37e 8266787: Potential overflow of pointer arithmetic in G1ArchiveAllocator Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1Allocator.cpp Changeset: 9e6e2228 Author: Matthias Baesken Date: 2021-05-11 10:49:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e6e2228cba05ff2ee3a4014a0a92bdd08d016d9 8266892: avoid maybe-uninitialized gcc warnings on linux s390x Reviewed-by: shade, lucy ! src/hotspot/cpu/s390/assembler_s390.inline.hpp Changeset: 0344e751 Author: Hamlin Li Date: 2021-05-11 11:35:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0344e751e2bfd2c6238fc1cea3db19015ce0db88 8266794: Remove dead code notify_allocation_jvmti_allocation_event Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/shared/memAllocator.cpp Changeset: 9c9c47e4 Author: Zhengyu Gu Date: 2021-05-11 12:48:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c9c47e403c6d38afd1ce89f46a1887a01964796 8266813: Shenandoah: Use shorter instruction sequence for checking if marking in progress Reviewed-by: shade ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: 2d2cd78b Author: Daniel Fuchs Date: 2021-05-11 14:48:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2d2cd78bde7bb9101614a1ba2285d1e37d5d3249 8266761: AssertionError in sun.net.httpserver.ServerImpl.responseCompleted Reviewed-by: chegar ! src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java + test/jdk/com/sun/net/httpserver/InputNotRead.java Changeset: 381de0c1 Author: Weijun Wang Date: 2021-05-11 15:22:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/381de0c1d024f7e0711fadf384d8625cf7ab8178 8266753: jdk/test/lib/process/ProcTest.java failed with "Exception: Proc abnormal end" Reviewed-by: dfuchs ! test/lib-test/jdk/test/lib/process/ProcTest.java Changeset: d0daa725 Author: Liam Miller-Cushon Date: 2021-05-11 15:47:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d0daa72592815fcdd9d550b9cc7dd70a06ae0968 8266857: PipedOutputStream.sink should be volatile Reviewed-by: dfuchs ! src/java.base/share/classes/java/io/PipedOutputStream.java Changeset: 7a0a57cd Author: Brian Burkhalter Date: 2021-05-11 16:12:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7a0a57cd56a11e4b9e42ac3426f2e0c505da0987 8266820: micro java/nio/SelectorWakeup.java has wrong copyright header Reviewed-by: chegar, alanb, michaelm, iris ! test/micro/org/openjdk/bench/java/nio/channels/SelectorWakeup.java Changeset: ac0287fd Author: Yumin Qi Date: 2021-05-11 16:57:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac0287fd73997c510ee41c9a42dc48261e7d5ee7 8266770: Clean pending exception before running dynamic CDS dump Reviewed-by: ccheung, iklam ! src/hotspot/share/runtime/thread.cpp Changeset: acf02ed5 Author: Vladimir Ivanov Date: 2021-05-11 17:14:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/acf02ed5533e25ec572d18ff874a241860c66bed 8208237: Re-examine defmeth tests and update as needed Reviewed-by: hseigel, lfoltan, dholmes ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/BasicTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/ConflictingDefaultsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/DefaultVsAbstractTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/MethodResolutionTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/PrivateMethodsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/RedefineTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/StaticMethodsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/StressTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/SuperCallTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/ClassFileGenerator.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/TestContext.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/Crash.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/KnownFailure.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/NotTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/TesterBuilder.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/Method.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/body/CallMethod.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/executor/MHInvokeWithArgsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/executor/ReflectionTest.java Changeset: 0a12605d Author: Jason Zaugg Committer: Lance Andersen Date: 2021-05-11 18:06:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0a12605df893d782867529812b1d8c10380f603c 8265448: (zipfs): Reduce read contention in ZipFileSystem Reviewed-by: alanb, lancea ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java ! test/jdk/jdk/nio/zipfs/ZipFSTester.java + test/micro/org/openjdk/bench/jdk/nio/zipfs/ZipFileSystemBenchmark.java Changeset: 995e9560 Author: Hai-May Chao Date: 2021-05-11 19:37:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/995e95603089f2571bb6778a2ff1691b147fd0ce 8266225: jarsigner is using incorrect security property to show weakness of certs Reviewed-by: weijun, mullan ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java ! test/jdk/sun/security/tools/jarsigner/CheckSignerCertChain.java Changeset: dfe8833f Author: Mandy Chung Date: 2021-05-11 20:22:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dfe8833f5d9a9ac59857143a86d07f85769b8eae 8266783: java/lang/reflect/Proxy/DefaultMethods.java fails with jtreg 6 Reviewed-by: iris ! test/jdk/java/lang/reflect/Proxy/DefaultMethods.java Changeset: 1356116d Author: Alexander Matveev Date: 2021-05-11 21:59:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1356116d3fb0cf9bee6796862e8015adc36590fb 8266456: Replace direct TKit.run() calls with jdk.jpackage.test.Annotations.Test annotation Reviewed-by: asemenyuk, herrick ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/Functional.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TKit.java ! test/jdk/tools/jpackage/linux/AppCategoryTest.java ! test/jdk/tools/jpackage/linux/LicenseTypeTest.java ! test/jdk/tools/jpackage/linux/LinuxBundleNameTest.java ! test/jdk/tools/jpackage/linux/MaintainerTest.java ! test/jdk/tools/jpackage/linux/ReleaseTest.java ! test/jdk/tools/jpackage/macosx/MacFileAssociationsTest.java ! test/jdk/tools/jpackage/macosx/SigningAppImageTest.java ! test/jdk/tools/jpackage/macosx/SigningPackageTest.java ! test/jdk/tools/jpackage/share/EmptyFolderPackageTest.java ! test/jdk/tools/jpackage/share/EmptyFolderTest.java ! test/jdk/tools/jpackage/windows/WinDirChooserTest.java Changeset: f6c5a6bb Author: Naoto Sato Date: 2021-05-11 22:42:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f6c5a6bbf14603c0f4832e5793c48ae1308a7414 8266784: java/text/Collator/RuleBasedCollatorTest.java fails with jtreg 6 Reviewed-by: joehw ! test/jdk/java/text/Collator/RuleBasedCollatorTest.java Changeset: 974b9f70 Author: Jie Fu Date: 2021-05-11 22:44:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/974b9f700423590ccb59a566bd0b383c405d4af2 8266773: Release VM is broken with GCC 9 after 8214237 Reviewed-by: stuefe, lkorinth ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp Changeset: 616244f4 Author: Claes Redestad Date: 2021-05-11 22:45:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/616244f43aa68543e20f1eefedd67ca8c81669e1 8266937: Remove Compile::reshape_address Reviewed-by: kvn ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp Changeset: 57c6ba6e Author: Calvin Cheung Date: 2021-05-11 23:53:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/57c6ba6e6b1c1bf30dcfffee873790dfc4fa511a 8266822: Rename MetaspaceShared::is_old_class to be more explicit about what "old" means Reviewed-by: iklam, minqi, coleenp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/metaspaceShared.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/interpreter/rewriter.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klassVtable.cpp Changeset: 1a0ff28e Author: Joe Wang Date: 2021-05-11 23:54:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1a0ff28ea10aaba53c5fbeb59800d3bcb1d228bc 8255035: Update BCEL to Version 6.5.0 Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Const.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/ExceptionConst.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationDefault.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Annotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ArrayElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Attribute.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethods.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassParser.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Code.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/CodeException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Constant.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInvokeDynamic.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantModule.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantNameAndType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPackage.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPool.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantString.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EnumElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ExceptionTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClasses.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/JavaClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumber.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumberTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameter.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameters.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Module.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleExports.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleMainClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleOpens.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModulePackages.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleProvides.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleRequires.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/NestHost.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/PMGClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotationEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Signature.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SimpleElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SourceFile.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMap.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Unknown.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Utility.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AnnotationElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPoolGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValuePairGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/EnumElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGenOrMethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEDYNAMIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEINTERFACE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESPECIAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEVIRTUAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionList.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JsrInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC2_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ObjectType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Select.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SimpleElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Type.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/CodeHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ConstantHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/InstructionFinder.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/MethodHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/SyntheticRepository.java ! src/java.xml/share/legal/bcel.md Changeset: 271a0c71 Author: Sergey Bylokhov Date: 2021-05-11 23:55:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/271a0c713322bef3c78b04665c333c5e3068f8a9 8047218: [TEST_BUG] java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java fails with exception Reviewed-by: azvegint, kizune, pbansal ! test/jdk/ProblemList.txt ! test/jdk/java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java Changeset: cc03734b Author: Mandy Chung Date: 2021-05-12 00:53:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc03734b996c41c93efadf22e73685164bfe6b46 8266925: Add a test to verify that hidden class's members are not statically invocable Reviewed-by: alanb + test/jdk/java/lang/invoke/defineHiddenClass/StaticInvocableTest.java + test/jdk/java/lang/invoke/defineHiddenClass/java.base/java/lang/invoke/LookupHelper.java Changeset: ed32e02c Author: Guoxiong Li Committer: Jonathan Gibbons Date: 2021-05-12 01:01:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ed32e02c05affbc7d8d1b628fef7e7c32d54c735 8241187: ToolBox::grep should allow for negative filtering Reviewed-by: vromero + test/langtools/tools/javac/toolbox/TestGrepOfToolBox.java ! test/langtools/tools/lib/toolbox/ToolBox.java Changeset: 3c47cab6 Author: Hamlin Li Date: 2021-05-12 01:06:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3c47cab6db949b19cfd300139cbdbf81fb521e68 8261034: improve jcmd GC.class_histogram to support parallel Reviewed-by: cjplummer, sspitsyn ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp - test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramAllTest.java ! test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramTest.java Changeset: e828a939 Author: David Holmes Date: 2021-05-12 05:21:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e828a939a8155a3b4ab26811a405bb4e4b2b99e8 8261395: C1 crash "cannot make java calls from the native compiler" Co-authored-by: Ioi Lam Co-authored-by: Coleen Phillimore Reviewed-by: iklam, hseigel, coleenp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp + test/hotspot/jtreg/runtime/Nestmates/protectionDomain/Host.java + test/hotspot/jtreg/runtime/Nestmates/protectionDomain/TestDifferentProtectionDomains.java Changeset: 476994aa Author: Yasumasa Suenaga Date: 2021-05-12 05:27:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/476994aa373ac95e73e672b7cc463c95e96509dc 8266531: ZAddress::address() should be removed from SA Reviewed-by: cjplummer, stefank ! src/hotspot/share/gc/z/vmStructs_z.cpp ! src/hotspot/share/gc/z/vmStructs_z.hpp ! src/hotspot/share/gc/z/zAddress.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZExternalBitMap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGlobals.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGlobalsForVMStructs.java ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: 06d76028 Author: Tobias Hartmann Date: 2021-05-12 07:21:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/06d760283344a1d0fd510aed306e0efb76b51617 8261158: JVMState should not be shared between SafePointNodes Reviewed-by: vlivanov, kvn ! src/hotspot/share/adlc/archDesc.cpp ! src/hotspot/share/adlc/archDesc.hpp ! src/hotspot/share/adlc/main.cpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.cpp Changeset: 97367c01 Author: Hannes Walln?fer Date: 2021-05-12 08:32:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/97367c01c13261ccf9b6f3032213bbf3e342fbae 8266808: Search label still uses old search field id Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java Changeset: b46086d7 Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-12 08:35:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b46086d777d6d051b6c599e040706efcd66d422c 8266874: Clean up C1 canonicalizer for TableSwitch/LookupSwitch Reviewed-by: thartmann ! src/hotspot/share/c1/c1_Canonicalizer.cpp Changeset: 548899d4 Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-12 08:36:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/548899d40e10728cef2f9e5fa2e2f2b51a37ae35 8266189: Remove C1 "IfInstanceOf" instruction Reviewed-by: thartmann ! src/hotspot/share/c1/c1_Canonicalizer.cpp ! src/hotspot/share/c1/c1_Canonicalizer.hpp ! src/hotspot/share/c1/c1_Instruction.hpp ! src/hotspot/share/c1/c1_InstructionPrinter.cpp ! src/hotspot/share/c1/c1_InstructionPrinter.hpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/c1/c1_Optimizer.cpp ! src/hotspot/share/c1/c1_RangeCheckElimination.hpp ! src/hotspot/share/c1/c1_ValueMap.hpp Changeset: f3b510b9 Author: Doug Simon Date: 2021-05-12 08:47:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f3b510b9aa540ae5fbda687d545e995c5622f971 8266923: [JVMCI] expose StackOverflow::_stack_overflow_limit to JVMCI Reviewed-by: kvn ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: dcf250d5 Author: Ivan Walulya Date: 2021-05-12 09:07:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dcf250d5d41a05d0f3213fb9a807e89e1c198ce5 8233378: CHT: Fast reset Reviewed-by: tschatzl, rehn ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: 11759bfb Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-12 09:08:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/11759bfb2d8e0208ad56f9ad5a425067e66c2bc0 8266798: C1: More types of instruction can also apply LoopInvariantCodeMotion Reviewed-by: thartmann, neliasso ! src/hotspot/share/c1/c1_ValueMap.cpp Changeset: 4727187f Author: Pavel Rappo Date: 2021-05-12 10:57:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4727187f86d18d34bd79cf93a74ff4a6515c662e 8266567: Fix javadoc tag references in sun.management.jmxremote.ConnectorBootstrap Reviewed-by: dfuchs, sspitsyn ! src/jdk.management.agent/share/classes/sun/management/jmxremote/ConnectorBootstrap.java Changeset: 74338219 Author: Alexey Ushakov Committer: Ajit Ghaisas Date: 2021-05-12 12:33:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7433821910cc292b0022ba5ed77235b4b71d242c 8250658: Performance of ClipFlatOval Renderperf test is very low Reviewed-by: jdv, aghaisas ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/EncoderManager.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLClip.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLClip.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLStencilManager.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLStencilManager.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceDataBase.h Changeset: 69daedfd Author: Zhengyu Gu Date: 2021-05-12 12:34:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/69daedfd2316815f63d7f3c6ba79d2bb77b427ec 8266845: Shenandoah: Simplify SBS::load_reference_barrier implementation Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Changeset: accbfeaf Author: Guoxiong Li Committer: Jan Lahoda Date: 2021-05-12 14:32:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/accbfeaf22ea5374292a657ddabb67b22eada6bc 8226216: parameter modifiers are not visible to javac plugins across compilation boundaries Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java + test/langtools/tools/javac/classreader/ParameterModifiersAcrossCompilationBoundaries.java Changeset: 2568d181 Author: Chris Plummer Date: 2021-05-12 21:01:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2568d181a778add4837bb0eada8c5f4a137d4560 8267047: Put serviceability/sa/TestJmapCoreMetaspace.java back on ZGC problem list due to JDK-8267045 Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: ab17be28 Author: Philippe Marschall Committer: David Holmes Date: 2021-05-12 23:14:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ab17be283559ba0477bc0dcbd11dbfccf155a57f 8252530: Fix inconsistencies in hotspot whitebox Reviewed-by: dholmes, amenkov ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagCombo.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/sun/hotspot/WhiteBox.java ! test/lib/sun/hotspot/code/Compiler.java Changeset: d215743a Author: David Holmes Date: 2021-05-13 01:14:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d215743a91555c4edabd116b1899765d5a283dc7 8231031: runtime/ReservedStack/ReservedStackTest.java fails after jsr166 refresh Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTest.java Changeset: b50fc5f9 Author: Prasanta Sadhukhan Date: 2021-05-13 04:42:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b50fc5f992c2a1bdcdc8cae4aacf2a16598d5d05 8265528: Specification of BasicSplitPaneDivider::getMinimumSize,getPreferredSize doesn't match with its behavior. Reviewed-by: kizune ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSplitPaneDivider.java Changeset: 08a5a5c6 Author: Daniel Fuchs Date: 2021-05-13 08:54:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/08a5a5c6d64db51700d058954d115aa89dbe73be 8263382: java/util/logging/ParentLoggersTest.java failed with "checkLoggers: getLoggerNames() returned unexpected loggers" Reviewed-by: bpb, mchung ! test/jdk/java/util/logging/ParentLoggersTest.java Changeset: a270cbe2 Author: Maurizio Cimadamore Date: 2021-05-13 09:32:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a270cbe2ebfe28465b8257f19ff66cf653d21bf4 8267043: IntelliJ project doesn't handle generated sources correctly Reviewed-by: chegar, erikj ! make/ide/idea/jdk/template/misc.xml Changeset: 17ceef97 Author: Guoxiong Li Committer: Maurizio Cimadamore Date: 2021-05-13 10:22:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/17ceef97c3df2326d585b2a298e5daa5dcfe3d99 8266819: Separate the stop policies from the compile policies completely Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! test/langtools/tools/javac/6199662/Tree.java ! test/langtools/tools/javac/failover/CheckAttributedTree.java ! test/langtools/tools/javac/importscope/T8193717.java ! test/langtools/tools/javac/lambda/MostSpecific09.java ! test/langtools/tools/javac/modules/AnnotationProcessing.java ! test/langtools/tools/javac/resolve/ResolveHarness.java ! test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.java Changeset: 347d41df Author: Fernando Guallini Committer: Julia Boes Date: 2021-05-13 10:50:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/347d41df909f5762c5e066ab70d0fe7ea500ffaf 8164804: sun/security/ssl/SSLSocketImpl/CloseSocket.java makes not reliable time assumption Reviewed-by: dfuchs, rhalade ! test/jdk/sun/security/ssl/SSLSocketImpl/CloseSocket.java Changeset: 127bfe44 Author: Vladimir Ivanov Date: 2021-05-13 10:58:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/127bfe44f7d09f272a08f97bfc5d168eb22474a2 8266074: Vtable-based CHA implementation Reviewed-by: kvn, jrose, dlong ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/cha/StrengthReduceInterfaceCall.java Changeset: a564f2cb Author: Thomas Schatzl Date: 2021-05-13 11:22:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a564f2cbd59d40df21278c5f0d785e2375b310e4 8266821: G1: Prefetch cards during merge heap roots phase Reviewed-by: kbarrett, iwalulya + src/hotspot/cpu/aarch64/gc/g1/g1Globals_aarch64.hpp + src/hotspot/cpu/arm/gc/g1/g1Globals_arm.hpp + src/hotspot/cpu/ppc/gc/g1/g1Globals_ppc.hpp + src/hotspot/cpu/s390/gc/g1/g1Globals_s390.hpp + src/hotspot/cpu/x86/gc/g1/g1Globals_x86.hpp + src/hotspot/cpu/zero/gc/g1/g1Globals_zero.hpp ! src/hotspot/share/gc/g1/g1CardTable.hpp ! src/hotspot/share/gc/g1/g1CardTable.inline.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp Changeset: e14b0268 Author: Harold Seigel Date: 2021-05-13 12:46:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e14b0268411bba8eb01bf6c477cc8743a53ffd1c 8243287: Removal of Unsafe::defineAnonymousClass Reviewed-by: iklam, mchung, alanb, dholmes ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/classfile/classLoadInfo.hpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.hpp ! src/hotspot/share/classfile/classLoaderDataShared.cpp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp ! src/hotspot/share/classfile/classLoaderStats.cpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/constantPool.hpp ! src/hotspot/share/oops/constantPool.inline.hpp ! src/hotspot/share/oops/instanceClassLoaderKlass.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceKlass.inline.hpp ! src/hotspot/share/oops/instanceMirrorKlass.inline.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.inline.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/methodComparator.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java ! src/java.base/share/classes/jdk/internal/reflect/NativeConstructorAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/NativeMethodAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java ! src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ResolvedJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/Value.java ! src/jdk.unsupported/share/classes/sun/misc/Unsafe.java - test/hotspot/jtreg/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java ! test/hotspot/jtreg/compiler/jsr292/CallSiteDepContextTest.java - test/hotspot/jtreg/compiler/jsr292/VMAnonymousClasses.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java - test/hotspot/jtreg/runtime/8026365/InvokeSpecialAnonTest.java ! test/hotspot/jtreg/runtime/HiddenClasses/CastToParentTest.java ! test/hotspot/jtreg/runtime/HiddenClasses/GCHiddenClass.java ! test/hotspot/jtreg/runtime/HiddenClasses/HiddenClassStack.java ! test/hotspot/jtreg/runtime/HiddenClasses/StressHiddenClasses.java ! test/hotspot/jtreg/runtime/HiddenClasses/TestHiddenClassUnloading.java - test/hotspot/jtreg/runtime/Unsafe/NestedUnsafe.java - test/hotspot/jtreg/runtime/Unsafe/PrimitiveHostClass.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UnsafeAndLambda.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UnsafeAnonymous.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/UnsafeAndLambdaApp.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/UnsafeAnonymousApp.java - test/hotspot/jtreg/runtime/defineAnonClass/AnonSymbolLeak.java - test/hotspot/jtreg/runtime/defineAnonClass/DefineAnon.java - test/hotspot/jtreg/runtime/defineAnonClass/NestedUnsafe.java - test/hotspot/jtreg/runtime/defineAnonClass/NestedUnsafe2.java - test/hotspot/jtreg/runtime/defineAnonClass/TestAnonSymbolLeak.java - test/hotspot/jtreg/runtime/defineAnonClass/UnsafeDefMeths.java ! test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderStatsTest.java ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/README ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/configuration/ClassloadingMethod.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/loading/ClassLoadingHelper.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_inMemoryCompilation_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_inMemoryCompilation_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/staticReferences/OneUsageClassloader.java ! test/hotspot/jtreg/vmTestbase/metaspace/staticReferences/StaticReferences.java ! test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/share/HotspotInstructionsExecutor.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/castToGrandparent/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/castToParent/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/classNameInStackTrace/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/finalSuperclass/TestDescription.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/findByName/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/invalidSuperclass/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/isGarbageCollected/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/uniqueClassAndObject/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/share/ReplaceClassParentTest.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/share/StressClassLoadingTest.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/byteMutation/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/parallelLoad/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/randomBytecodes/Test.java ! test/jdk/java/lang/Class/GetModuleTest.java ! test/jdk/java/lang/Class/attributes/ClassAttributesTest.java - test/jdk/java/lang/invoke/VMAnonymousClass.java - test/jdk/jdk/internal/misc/Unsafe/TestBadHostClass.java - test/jdk/jdk/internal/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java ! test/jdk/jdk/jfr/event/runtime/TestClassLoaderStatsEvent.java ! test/jdk/jdk/jfr/event/runtime/TestClasses.java ! test/micro/org/openjdk/bench/java/lang/invoke/LookupDefineClass.java Changeset: b4371e9b Author: Jim Laskey Date: 2021-05-13 13:42:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4371e9bcaa1c8aa394b5eca409c5afc669cc146 8266552: Technical corrections to java/util/random/package-info.java Reviewed-by: darcy ! src/java.base/share/classes/java/util/random/package-info.java ! src/jdk.random/share/classes/jdk/random/L128X1024MixRandom.java ! src/jdk.random/share/classes/jdk/random/L128X128MixRandom.java ! src/jdk.random/share/classes/jdk/random/L128X256MixRandom.java ! src/jdk.random/share/classes/jdk/random/L32X64MixRandom.java ! src/jdk.random/share/classes/jdk/random/L64X1024MixRandom.java ! src/jdk.random/share/classes/jdk/random/L64X128MixRandom.java ! src/jdk.random/share/classes/jdk/random/L64X128StarStarRandom.java ! src/jdk.random/share/classes/jdk/random/L64X256MixRandom.java ! src/jdk.random/share/classes/jdk/random/Xoroshiro128PlusPlus.java ! src/jdk.random/share/classes/jdk/random/Xoshiro256PlusPlus.java Changeset: a259ab4a Author: Naoto Sato Date: 2021-05-13 16:20:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a259ab4a8d163ff924ba56c5da5395cec0d8c350 8258795: Update IANA Language Subtag Registry to Version 2021-05-11 Reviewed-by: joehw ! make/data/lsrdata/language-subtag-registry.txt = test/jdk/java/util/Locale/LanguageSubtagRegistryTest.java Changeset: f3c6cda4 Author: Alexey Semenyuk Date: 2021-05-13 16:30:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f3c6cda47631cc123dbcddbfb627dc05cf7bc13b 8266162: Remove JPackage duplicate tests Reviewed-by: almatvee, herrick ! test/jdk/tools/jpackage/windows/WinInstallerUiTest.java ! test/jdk/tools/jpackage/windows/WinShortcutPromptTest.java Changeset: 853ffdb2 Author: Patricio Chilano Mateo Date: 2021-05-13 18:04:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/853ffdb25c76637555fa732f5e05024243747a70 8265934: Cleanup _suspend_flags and _special_runtime_exit_condition Reviewed-by: rehn, dcubed, dholmes ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/thread.inline.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Thread.java Changeset: 6c107fdf Author: Pankaj Bansal Date: 2021-05-13 18:45:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6c107fdff289cc553df12ee10b0c8002b84059b2 8264299: Create implementation of native accessibility peer for ScrollPane and ScrollBar Java Accessibility roles Reviewed-by: kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollAreaAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollAreaAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollBarAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollBarAccessibility.m Changeset: 26670245 Author: Xue-Lei Andrew Fan Date: 2021-05-13 18:53:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/266702451db57c4f006f22601288174cc0613339 8266881: Enable debug log for SSLEngineExplorerMatchedSNI.java Reviewed-by: hchao, mullan ! test/jdk/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java Changeset: 2a2f105a Author: Vladimir Ivanov Date: 2021-05-13 23:26:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a2f105a56bba3a180658f0b0151240676478ba4 8267117: sun/hotspot/whitebox/CPUInfoTest.java fails on Ice Lake Reviewed-by: kvn ! test/lib-test/sun/hotspot/whitebox/CPUInfoTest.java Changeset: 40860813 Author: Sergey Bylokhov Date: 2021-05-13 23:41:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/408608130621b340151276dceeaf52cf6d037d53 8264846: Regression ~5% in J2dBench.bimg_misc on Linux after JDK-8263142 Reviewed-by: erikj, azvegint ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: 1e0ecd6d Author: Ioi Lam Date: 2021-05-14 06:26:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1e0ecd6d56541c948e0d120295f5008d3248598f 8265605: Cannot call BootLoader::loadClassOrNull before initPhase2 Reviewed-by: alanb, mchung ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/loader/ArchivedClassLoaders.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java ! src/java.base/share/native/libjava/ClassLoader.c ! test/hotspot/jtreg/runtime/cds/appcds/test-classes/EmptyClassHelper.java Changeset: 301095c8 Author: Hamlin Li Date: 2021-05-14 06:52:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/301095c8beb2c95207636f0f61c02e0fc4d5a0a4 8266795: Remove dead code LowMemoryDetectorDisabler Reviewed-by: dholmes ! src/hotspot/share/services/lowMemoryDetector.cpp ! src/hotspot/share/services/lowMemoryDetector.hpp Changeset: 88907bb8 Author: Stefan Karlsson Date: 2021-05-14 07:55:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/88907bb81a5a67a51f32c36f6cd821c2488117eb 8266904: Use function pointer typedefs in OopOopIterateDispatch Reviewed-by: tschatzl, iklam ! src/hotspot/share/memory/iterator.inline.hpp Changeset: 644f28c0 Author: Claes Redestad Date: 2021-05-14 10:36:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/644f28c0ead18a37d7996ec30b49718a2f6aa189 8266810: Move trivial Matcher code to cpu-specific header files Reviewed-by: kvn, thartmann ! src/hotspot/cpu/aarch64/aarch64.ad + src/hotspot/cpu/aarch64/matcher_aarch64.hpp ! src/hotspot/cpu/arm/arm.ad + src/hotspot/cpu/arm/matcher_arm.hpp + src/hotspot/cpu/ppc/matcher_ppc.hpp ! src/hotspot/cpu/ppc/ppc.ad + src/hotspot/cpu/s390/matcher_s390.hpp ! src/hotspot/cpu/s390/s390.ad + src/hotspot/cpu/x86/matcher_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/opto/chaitin.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/matcher.hpp Changeset: 6ef9a90f Author: duke Date: 2021-05-14 11:01:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ef9a90fe58761f65956450e6d637060a6840ab3 Automatic merge of jdk:master into master From duke at openjdk.java.net Fri May 14 11:19:53 2021 From: duke at openjdk.java.net (duke) Date: Fri, 14 May 2021 11:19:53 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 100 new changesets Message-ID: <32d88c41-bf5d-4013-a303-2f8c0a3db523@openjdk.org> Changeset: 2798b0d9 Author: Stefan Johansson Date: 2021-05-07 11:33:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2798b0d98ab4191fc94e210d57422854cf13f11e 8266349: Pass down requested page size to reserve_memory_special Reviewed-by: stuefe, mgkwill ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/memory/virtualspace.cpp ! src/hotspot/share/runtime/os.cpp ! src/hotspot/share/runtime/os.hpp ! test/hotspot/gtest/runtime/test_os_linux.cpp ! test/hotspot/gtest/runtime/test_os_windows.cpp Changeset: 14f0afe8 Author: Thomas Schatzl Date: 2021-05-07 11:38:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14f0afe8118092be530aac0c4cc5d1d5d4fe982a 8214237: Join parallel phases post evacuation Reviewed-by: iwalulya, sjohanss ! src/hotspot/share/gc/g1/g1BatchedGangTask.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.inline.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1HotCardCache.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp + src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.cpp + src/hotspot/share/gc/g1/g1YoungGCPostEvacuateTasks.hpp ! src/hotspot/share/gc/g1/heapRegionManager.cpp ! src/hotspot/share/gc/g1/heapRegionManager.hpp ! src/hotspot/share/gc/shared/preservedMarks.cpp ! src/hotspot/share/gc/shared/preservedMarks.hpp ! src/hotspot/share/gc/shared/workerDataArray.cpp ! src/hotspot/share/gc/shared/workerDataArray.inline.hpp ! src/hotspot/share/gc/shared/workgroup.hpp ! test/hotspot/gtest/gc/shared/test_workerDataArray.cpp ! test/hotspot/jtreg/gc/g1/TestEagerReclaimHumongousRegionsLog.java ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java ! test/hotspot/jtreg/gc/g1/plab/TestPLABEvacuationFailure.java ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: 9a19a0cc Author: Wang Huang Committer: Harold Seigel Date: 2021-05-07 12:55:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9a19a0cc1087311b01c5c15432c4451f1ea24fad 8264760: JVM crashes when two threads encounter the same resolution error Co-authored-by: Wang Huang Co-authored-by: Wu Yan Reviewed-by: dholmes, hseigel ! src/hotspot/share/classfile/systemDictionary.cpp + test/hotspot/jtreg/runtime/Nestmates/membership/HostNoNestMember.java + test/hotspot/jtreg/runtime/Nestmates/membership/HostNoNestMember.jcod + test/hotspot/jtreg/runtime/Nestmates/membership/TestNestHostErrorWithMultiThread.java Changeset: 3fcdc50e Author: Daniel Fuchs Date: 2021-05-07 12:56:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3fcdc50e4425b10181a2a3d82718994597dc8364 8266646: Add more diagnostic to java/lang/System/LoggerFinder/modules Reviewed-by: naoto, iris, bpb, lancea ! test/jdk/java/lang/System/LoggerFinder/modules/boot_client/BootClient.java ! test/jdk/java/lang/System/LoggerFinder/modules/named_client/m.t.a/pkg/a/t/TestA.java ! test/jdk/java/lang/System/LoggerFinder/modules/patched_client/PatchedClient.java ! test/jdk/java/lang/System/LoggerFinder/modules/unnamed_client/pkg/b/t/TestB.java Changeset: 86b8dc9f Author: Patrick Concannon Date: 2021-05-07 13:42:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86b8dc9f5b3729e22e9cd31aba7b920fa39aa5c1 8265426: Update java.security to use instanceof pattern variable Reviewed-by: rriggs, weijun, dfuchs ! src/java.base/share/classes/java/security/AccessControlContext.java ! src/java.base/share/classes/java/security/BasicPermission.java ! src/java.base/share/classes/java/security/CodeSigner.java ! src/java.base/share/classes/java/security/CodeSource.java ! src/java.base/share/classes/java/security/Identity.java ! src/java.base/share/classes/java/security/KeyFactory.java ! src/java.base/share/classes/java/security/KeyPairGenerator.java ! src/java.base/share/classes/java/security/KeyStore.java ! src/java.base/share/classes/java/security/MessageDigest.java ! src/java.base/share/classes/java/security/Provider.java ! src/java.base/share/classes/java/security/SecureClassLoader.java ! src/java.base/share/classes/java/security/Signature.java ! src/java.base/share/classes/java/security/Timestamp.java ! src/java.base/share/classes/java/security/UnresolvedPermission.java ! src/java.base/share/classes/java/security/UnresolvedPermissionCollection.java ! src/java.base/share/classes/java/security/cert/CertPath.java ! src/java.base/share/classes/java/security/cert/URICertStoreParameters.java ! src/java.base/share/classes/java/security/cert/X509CRLSelector.java ! src/java.base/share/classes/java/security/cert/X509CertSelector.java ! src/java.base/share/classes/java/security/spec/ECFieldF2m.java ! src/java.base/share/classes/java/security/spec/ECFieldFp.java ! src/java.base/share/classes/java/security/spec/ECPoint.java ! src/java.base/share/classes/java/security/spec/EllipticCurve.java Changeset: 74fecc07 Author: Thomas Stuefe Date: 2021-05-07 14:04:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/74fecc070a6462e6a2d061525b53a63de15339f9 8266503: [UL] Make Decorations safely copy-able and reduce their size Reviewed-by: simonis, ysuenaga ! src/hotspot/share/logging/logDecorations.cpp ! src/hotspot/share/logging/logDecorations.hpp ! src/hotspot/share/logging/logFileStreamOutput.cpp ! src/hotspot/share/logging/logTagSet.cpp ! src/hotspot/share/logging/logTagSet.hpp ! test/hotspot/gtest/logging/test_logDecorations.cpp ! test/hotspot/gtest/logging/test_logTagSet.cpp Changeset: 946b0fe1 Author: Vicente Romero Date: 2021-05-07 14:38:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/946b0fe19a8af88a0f0451c86ce4d4790360bb83 8266645: javac should not check for sealed supertypes in intersection types Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! test/langtools/tools/javac/sealed/SealedCompilationTests.java Changeset: 947d69df Author: Jonathan Gibbons Date: 2021-05-07 14:51:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/947d69df045fa97f56f4eeb5de7f338e169441fc 8265042: javadoc HTML files not generated for types nested in records Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java + test/langtools/jdk/javadoc/doclet/testNestedClasses/TestNestedClasses.java Changeset: b5b31197 Author: Brian Burkhalter Date: 2021-05-07 15:23:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5b31197e5ab9fda8b9f09367aba280f865d2320 8266589: (fs) Improve performance of Files.copy() on macOS using copyfile(3) Reviewed-by: alanb ! src/java.base/unix/native/libnio/fs/UnixCopyFile.c Changeset: c6aa8f19 Author: Hannes Walln?fer Date: 2021-05-07 15:34:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6aa8f19aca13d30c7a0340dc64da1214b76550f 8232644: bugs in serialized-form.html Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialFieldWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlSerialMethodWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/SerializedFormWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/SerializedFormBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSuperclassInSerialForm/TestSuperClassInSerialForm.java Changeset: 0790e601 Author: Kevin Walls Date: 2021-05-07 15:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0790e6016e153b4fa4df5d80737f90aa555c7ba9 8196743: jstatd doesn't see new Java processes inside Docker container Reviewed-by: sspitsyn, ysuenaga ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/protocol/local/LocalVmManager.java Changeset: 04fad704 Author: Yumin Qi Date: 2021-05-07 23:49:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/04fad70437a43c0f38fd53414b8eace2eac93509 8266765: [BACKOUT] JDK-8255493 Support for pre-generated java.lang.invoke classes in CDS dynamic archive Reviewed-by: ccheung ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/lambdaFormInvokers.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/java.cpp - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java Changeset: ff77ca8b Author: Guoxiong Li Committer: Vicente Romero Date: 2021-05-08 03:09:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff77ca8bd41ece778cf6f1af6dd1b7a7dfc50eab 8266675: Optimize IntHashTable for encapsulation and ease of use Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/IntHashTable.java Changeset: be4f25b0 Author: Alan Bateman Date: 2021-05-08 07:14:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/be4f25b0c885a6405b484e4035b30005311a2802 8266369: (se) Add wepoll based Selector Reviewed-by: chegar, michaelm, vtewari, dfuchs, bpb ! src/java.base/share/classes/sun/nio/ch/Net.java ! src/java.base/share/classes/sun/nio/ch/SelectionKeyImpl.java ! src/java.base/windows/classes/sun/nio/ch/DefaultSelectorProvider.java ! src/java.base/windows/classes/sun/nio/ch/PipeImpl.java + src/java.base/windows/classes/sun/nio/ch/WEPoll.java + src/java.base/windows/classes/sun/nio/ch/WEPollSelectorImpl.java + src/java.base/windows/classes/sun/nio/ch/WEPollSelectorProvider.java ! src/java.base/windows/classes/sun/nio/ch/WindowsSelectorImpl.java + src/java.base/windows/legal/wepoll.md ! src/java.base/windows/native/libnio/ch/IOUtil.c ! src/java.base/windows/native/libnio/ch/Net.c + src/java.base/windows/native/libnio/ch/WEPollNatives.c ! src/java.base/windows/native/libnio/ch/WindowsSelectorImpl.c ! src/java.base/windows/native/libnio/ch/nio_util.h + src/java.base/windows/native/libnio/ch/wepoll.c + src/java.base/windows/native/libnio/ch/wepoll.h ! test/jdk/java/nio/channels/Selector/ChangingInterests.java ! test/jdk/java/nio/channels/Selector/LotsOfChannels.java ! test/jdk/java/nio/channels/Selector/OutOfBand.java ! test/jdk/java/nio/channels/Selector/RacyDeregister.java ! test/jdk/java/nio/channels/Selector/SelectWithConsumer.java + test/micro/org/openjdk/bench/java/nio/channels/SelectOne.java = test/micro/org/openjdk/bench/java/nio/channels/SelectorWakeup.java Changeset: 3af4efdf Author: Pankaj Bansal Date: 2021-05-08 10:56:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3af4efdfcfbbb52d38415374083c66c9e7b22604 8265291: Error in Javadoc for doAccessibleAction API in AccessibleJSlider class Reviewed-by: azvegint, jdv ! src/java.desktop/share/classes/javax/swing/JSlider.java Changeset: 9b769550 Author: Alexander Zuev Date: 2021-05-10 03:21:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9b769550242e8bf6f9e783bf0d6f4a87d0c6376d 8266249: javax/swing/JPopupMenu/7156657/bug7156657.java fails on macOS Reviewed-by: jdv, pbansal, azvegint ! test/jdk/javax/swing/JPopupMenu/7156657/bug7156657.java Changeset: 69b96f9a Author: Vyom Tewari Date: 2021-05-10 03:51:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/69b96f9a1b4a959c6b86f41c2259d9e4d47c8ede 8266610: Method RandomAccessFile#length() returns 0 for block devices on linux. Reviewed-by: alanb, bpb ! src/java.base/unix/native/libjava/io_util_md.c Changeset: 0f925d1f Author: Claes Redestad Date: 2021-05-10 08:02:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0f925d1f58ffc0c56ae85a189798f8d99d90d443 8266015: Implement AdapterHandlerLibrary lookup fast-path for common adapters Reviewed-by: iklam, coleenp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp Changeset: 1603ca23 Author: Alexey Bakhtin Committer: Vladimir Kempik Date: 2021-05-10 09:45:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1603ca23422b03157afb2bd1050524465474b60e 8241248: NullPointerException in sun.security.ssl.HKDF.extract(HKDF.java:93) Reviewed-by: jnimeh, xuelei ! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionContextImpl.java ! src/java.base/share/classes/sun/security/ssl/ServerHello.java ! src/java.base/share/classes/sun/security/util/Cache.java Changeset: 53db2a0a Author: Jayathirth D V Date: 2021-05-10 10:36:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/53db2a0acd4e208fb5cfb7108206ec667c7c4131 8226384: Implement a better logic to switch between OpenGL and Metal pipeline Reviewed-by: prr ! src/java.desktop/macosx/classes/sun/java2d/metal/MTLLayer.java ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLLayer.java + src/java.desktop/macosx/classes/sun/lwawt/macosx/CFLayer.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CPlatformView.java Changeset: b823b3ef Author: Vyom Tewari Date: 2021-05-10 13:40:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b823b3ef2912c4c3b8412dff6ff4e9af81c5b910 8266797: Fix for 8266610 breaks the build on macos Reviewed-by: dholmes, jdv ! src/java.base/unix/native/libjava/io_util_md.c Changeset: e41fd735 Author: Claes Redestad Date: 2021-05-10 13:51:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e41fd735296e6ad32c422d266a685f7b775be5c2 8266252: Streamline AbstractInterpreter::method_kind Reviewed-by: iklam, coleenp ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.inline.hpp Changeset: 5d761fcf Author: Guoxiong Li Committer: Maurizio Cimadamore Date: 2021-05-10 14:27:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5d761fcffd6eea1c5be35d2ddec1479eccb85750 8266796: Clean up the unnecessary code in the method UnsharedNameTable#fromUtf Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/UnsharedNameTable.java Changeset: 25d99e52 Author: Calvin Cheung Date: 2021-05-10 16:24:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/25d99e52679bdf4601058e10e5679ca3780f8ec3 8266330: itableMethodEntry::initialize() asserts with archived old classes Reviewed-by: iklam, minqi ! src/hotspot/share/oops/klassVtable.cpp ! src/hotspot/share/oops/klassVtable.hpp + test/hotspot/jtreg/runtime/cds/appcds/OldSuperInfIndirect.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/IndirectImpInf.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/IndirectImpInfApp.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/InfMethod.java Changeset: c494efc5 Author: Naoto Sato Date: 2021-05-10 16:25:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c494efc5b5d9a142fceff600285fd4c8c883e795 8266774: System property values for stdout/err on Windows UTF-8 Reviewed-by: bpb, alanb ! src/java.base/windows/native/libjava/java_props_md.c Changeset: c8b74474 Author: Alexey Semenyuk Date: 2021-05-10 16:39:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c8b744743bd54a00a4f7bf1e852d454fcd942abd 8266603: jpackage: Add missing copyright file in Java runtime .deb installers Reviewed-by: almatvee, herrick ! src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java ! test/jdk/tools/jpackage/share/RuntimePackageTest.java Changeset: de784312 Author: Cesar Committer: Vladimir Kozlov Date: 2021-05-10 17:09:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/de784312c340b4a4f4c4d11854bfbe9e9e826ea3 8241502: C2: Migrate x86_64.ad to MacroAssembler Reviewed-by: vlivanov, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/x86_64.ad Changeset: f78440ad Author: Zhengyu Gu Date: 2021-05-10 17:59:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f78440ad438bca2a8929475fbecfbd3c920d48df 8266440: Shenandoah: TestReferenceShortcutCycle.java test failed on AArch64 Reviewed-by: aph ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: 0cc7833f Author: Jim Laskey Date: 2021-05-10 18:52:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0cc7833f3d84971dd03a9a620585152a6debb40e 8265208: [JEP-356] : SplittableRandom and SplittableGenerators - splits() methods does not throw NullPointerException when source is null Reviewed-by: rriggs ! src/java.base/share/classes/jdk/internal/util/random/RandomSupport.java Changeset: 8851cb65 Author: Hannes Walln?fer Date: 2021-05-10 20:25:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8851cb653ff932758ef6408ff010b67200954eff 8266779: Use instead of ZERO_WIDTH_SPACE Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlLinkFactory.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Entity.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! test/langtools/jdk/javadoc/doclet/testConstructors/TestConstructors.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testEnumConstructor/TestEnumConstructor.java ! test/langtools/jdk/javadoc/doclet/testGenericTypeLink/TestGenericTypeLink.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testIndentation/TestIndentation.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testMethodId/TestMethodId.java ! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormWithClassFile/TestSerializedFormWithClassFile.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java Changeset: e5d3ee39 Author: Aleksey Shipilev Date: 2021-05-10 20:28:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e5d3ee394ae940ee0111489e6e072f327ec29c3b 8266802: Shenandoah: Round up region size to page size unconditionally Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp + test/hotspot/jtreg/gc/shenandoah/options/TestLargePages.java Changeset: 23446f1f Author: Sandhya Viswanathan Date: 2021-05-10 21:49:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/23446f1f5ee087376bc1ab89413a011fc52bde1f 8265128: [REDO] Optimize Vector API slice and unslice operations Reviewed-by: psandoz, vlivanov ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template ! test/jdk/jdk/incubator/vector/AbstractVectorConversionTest.java ! test/jdk/jdk/incubator/vector/Vector128ConversionTests.java ! test/jdk/jdk/incubator/vector/Vector256ConversionTests.java ! test/jdk/jdk/incubator/vector/Vector512ConversionTests.java ! test/jdk/jdk/incubator/vector/Vector64ConversionTests.java Changeset: 9713152e Author: Alex Menkov Date: 2021-05-10 22:48:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9713152eae660f83b8a681c3168b7eb2285c05bc 8262092: vmTestbase/nsk/jvmti/scenarios/hotswap/HS102/hs102t001/TestDescription.java SIGSEGV in memmove_ssse3 Reviewed-by: lmesnik, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/share/jvmti/hotswap/HotSwap.cpp Changeset: 10a049e1 Author: Wang Huang Committer: Jie Fu Date: 2021-05-11 03:20:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10a049e1714bfe64f895177f4de7a31ad65f407a 8265956: JVM crashes when matching LShiftVB Node Co-authored-by: Wang Huang Co-authored-by: Ai Jiaming Reviewed-by: kvn, jiefu ! src/hotspot/share/opto/vectorIntrinsics.cpp + test/hotspot/jtreg/compiler/vectorapi/TestVectorShuffleIotaByte.java Changeset: 0e7bdae0 Author: Denis Konoplev Committer: Sergey Bylokhov Date: 2021-05-11 03:24:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0e7bdae0f6d2824deaa8b17e15553e421e6dbc7f 8265062: Remove duplication constant MaxTextureSize Reviewed-by: prr, serb ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLGraphicsConfig.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceData.m Changeset: 18e9d28e Author: Hamlin Li Date: 2021-05-11 04:28:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/18e9d28e8af02650ba30e4816404df48b1062162 8266676: G1: Remove dead code init_node_id_to_index_map() Reviewed-by: sangheki, whuang ! src/hotspot/share/gc/g1/g1NUMA.hpp Changeset: 67cb22af Author: Cesar Committer: Tobias Hartmann Date: 2021-05-11 09:28:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/67cb22af58c649e67f0b9f707a65389bcb39a205 8266601: Fix bugs in AddLNode::Ideal transformations Reviewed-by: kvn, vlivanov, thartmann ! src/hotspot/share/opto/addnode.cpp Changeset: 8468001f Author: Jan Lahoda Date: 2021-05-11 10:06:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8468001f8885c0cb2e7db2254eacca857eff2378 8263452: Javac slow compilation due to algorithmic complexity Reviewed-by: vromero, jfranck ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java + test/langtools/tools/javac/perf/SuperClassAndNesting.java Changeset: 6575566d Author: Albert Mingkun Yang Date: 2021-05-11 10:34:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6575566d830c59bce3e77102e06eca574218f37e 8266787: Potential overflow of pointer arithmetic in G1ArchiveAllocator Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1Allocator.cpp Changeset: 9e6e2228 Author: Matthias Baesken Date: 2021-05-11 10:49:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e6e2228cba05ff2ee3a4014a0a92bdd08d016d9 8266892: avoid maybe-uninitialized gcc warnings on linux s390x Reviewed-by: shade, lucy ! src/hotspot/cpu/s390/assembler_s390.inline.hpp Changeset: 0344e751 Author: Hamlin Li Date: 2021-05-11 11:35:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0344e751e2bfd2c6238fc1cea3db19015ce0db88 8266794: Remove dead code notify_allocation_jvmti_allocation_event Reviewed-by: ayang, tschatzl ! src/hotspot/share/gc/shared/memAllocator.cpp Changeset: 9c9c47e4 Author: Zhengyu Gu Date: 2021-05-11 12:48:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c9c47e403c6d38afd1ce89f46a1887a01964796 8266813: Shenandoah: Use shorter instruction sequence for checking if marking in progress Reviewed-by: shade ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: 2d2cd78b Author: Daniel Fuchs Date: 2021-05-11 14:48:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2d2cd78bde7bb9101614a1ba2285d1e37d5d3249 8266761: AssertionError in sun.net.httpserver.ServerImpl.responseCompleted Reviewed-by: chegar ! src/jdk.httpserver/share/classes/sun/net/httpserver/ExchangeImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java + test/jdk/com/sun/net/httpserver/InputNotRead.java Changeset: 381de0c1 Author: Weijun Wang Date: 2021-05-11 15:22:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/381de0c1d024f7e0711fadf384d8625cf7ab8178 8266753: jdk/test/lib/process/ProcTest.java failed with "Exception: Proc abnormal end" Reviewed-by: dfuchs ! test/lib-test/jdk/test/lib/process/ProcTest.java Changeset: d0daa725 Author: Liam Miller-Cushon Date: 2021-05-11 15:47:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d0daa72592815fcdd9d550b9cc7dd70a06ae0968 8266857: PipedOutputStream.sink should be volatile Reviewed-by: dfuchs ! src/java.base/share/classes/java/io/PipedOutputStream.java Changeset: 7a0a57cd Author: Brian Burkhalter Date: 2021-05-11 16:12:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7a0a57cd56a11e4b9e42ac3426f2e0c505da0987 8266820: micro java/nio/SelectorWakeup.java has wrong copyright header Reviewed-by: chegar, alanb, michaelm, iris ! test/micro/org/openjdk/bench/java/nio/channels/SelectorWakeup.java Changeset: ac0287fd Author: Yumin Qi Date: 2021-05-11 16:57:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac0287fd73997c510ee41c9a42dc48261e7d5ee7 8266770: Clean pending exception before running dynamic CDS dump Reviewed-by: ccheung, iklam ! src/hotspot/share/runtime/thread.cpp Changeset: acf02ed5 Author: Vladimir Ivanov Date: 2021-05-11 17:14:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/acf02ed5533e25ec572d18ff874a241860c66bed 8208237: Re-examine defmeth tests and update as needed Reviewed-by: hseigel, lfoltan, dholmes ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/BasicTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/ConflictingDefaultsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/DefaultVsAbstractTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/MethodResolutionTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/PrivateMethodsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/RedefineTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/StaticMethodsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/StressTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/SuperCallTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/ClassFileGenerator.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/DefMethTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/TestContext.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/Crash.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/KnownFailure.java - test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/annotation/NotTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/builder/TesterBuilder.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/Method.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/data/method/body/CallMethod.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/executor/MHInvokeWithArgsTest.java ! test/hotspot/jtreg/vmTestbase/vm/runtime/defmeth/shared/executor/ReflectionTest.java Changeset: 0a12605d Author: Jason Zaugg Committer: Lance Andersen Date: 2021-05-11 18:06:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0a12605df893d782867529812b1d8c10380f603c 8265448: (zipfs): Reduce read contention in ZipFileSystem Reviewed-by: alanb, lancea ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java ! test/jdk/jdk/nio/zipfs/ZipFSTester.java + test/micro/org/openjdk/bench/jdk/nio/zipfs/ZipFileSystemBenchmark.java Changeset: 995e9560 Author: Hai-May Chao Date: 2021-05-11 19:37:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/995e95603089f2571bb6778a2ff1691b147fd0ce 8266225: jarsigner is using incorrect security property to show weakness of certs Reviewed-by: weijun, mullan ! src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java ! test/jdk/sun/security/tools/jarsigner/CheckSignerCertChain.java Changeset: dfe8833f Author: Mandy Chung Date: 2021-05-11 20:22:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dfe8833f5d9a9ac59857143a86d07f85769b8eae 8266783: java/lang/reflect/Proxy/DefaultMethods.java fails with jtreg 6 Reviewed-by: iris ! test/jdk/java/lang/reflect/Proxy/DefaultMethods.java Changeset: 1356116d Author: Alexander Matveev Date: 2021-05-11 21:59:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1356116d3fb0cf9bee6796862e8015adc36590fb 8266456: Replace direct TKit.run() calls with jdk.jpackage.test.Annotations.Test annotation Reviewed-by: asemenyuk, herrick ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/Functional.java ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/TKit.java ! test/jdk/tools/jpackage/linux/AppCategoryTest.java ! test/jdk/tools/jpackage/linux/LicenseTypeTest.java ! test/jdk/tools/jpackage/linux/LinuxBundleNameTest.java ! test/jdk/tools/jpackage/linux/MaintainerTest.java ! test/jdk/tools/jpackage/linux/ReleaseTest.java ! test/jdk/tools/jpackage/macosx/MacFileAssociationsTest.java ! test/jdk/tools/jpackage/macosx/SigningAppImageTest.java ! test/jdk/tools/jpackage/macosx/SigningPackageTest.java ! test/jdk/tools/jpackage/share/EmptyFolderPackageTest.java ! test/jdk/tools/jpackage/share/EmptyFolderTest.java ! test/jdk/tools/jpackage/windows/WinDirChooserTest.java Changeset: f6c5a6bb Author: Naoto Sato Date: 2021-05-11 22:42:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f6c5a6bbf14603c0f4832e5793c48ae1308a7414 8266784: java/text/Collator/RuleBasedCollatorTest.java fails with jtreg 6 Reviewed-by: joehw ! test/jdk/java/text/Collator/RuleBasedCollatorTest.java Changeset: 974b9f70 Author: Jie Fu Date: 2021-05-11 22:44:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/974b9f700423590ccb59a566bd0b383c405d4af2 8266773: Release VM is broken with GCC 9 after 8214237 Reviewed-by: stuefe, lkorinth ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp Changeset: 616244f4 Author: Claes Redestad Date: 2021-05-11 22:45:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/616244f43aa68543e20f1eefedd67ca8c81669e1 8266937: Remove Compile::reshape_address Reviewed-by: kvn ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp Changeset: 57c6ba6e Author: Calvin Cheung Date: 2021-05-11 23:53:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/57c6ba6e6b1c1bf30dcfffee873790dfc4fa511a 8266822: Rename MetaspaceShared::is_old_class to be more explicit about what "old" means Reviewed-by: iklam, minqi, coleenp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/metaspaceShared.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/interpreter/rewriter.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klassVtable.cpp Changeset: 1a0ff28e Author: Joe Wang Date: 2021-05-11 23:54:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1a0ff28ea10aaba53c5fbeb59800d3bcb1d228bc 8255035: Update BCEL to Version 6.5.0 Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/Const.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/ExceptionConst.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationDefault.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/AnnotationEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Annotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ArrayElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Attribute.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethod.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/BootstrapMethods.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ClassParser.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Code.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/CodeException.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Constant.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantInvokeDynamic.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantMethodType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantModule.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantNameAndType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPackage.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantPool.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantString.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ConstantValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/EnumElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ExceptionTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/InnerClasses.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/JavaClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumber.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LineNumberTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameter.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/MethodParameters.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Module.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleExports.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleMainClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleOpens.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModulePackages.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleProvides.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ModuleRequires.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/NestHost.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/PMGClass.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotationEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/ParameterAnnotations.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Signature.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SimpleElementValue.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/SourceFile.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMap.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapEntry.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/StackMapType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Unknown.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/classfile/Utility.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/AnnotationElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ArrayType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ClassGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ConstantPoolGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ElementValuePairGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/EnumElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FieldGenOrMethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEDYNAMIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEINTERFACE.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESPECIAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKESTATIC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/INVOKEVIRTUAL.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionHandle.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/InstructionList.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/JsrInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LDC2_W.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/LocalVariableInstruction.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/MethodGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/ObjectType.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SWITCH.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Select.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/SimpleElementValueGen.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/Type.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/BCELFactory.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/CodeHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/ConstantHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/InstructionFinder.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/MethodHTML.java ! src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/SyntheticRepository.java ! src/java.xml/share/legal/bcel.md Changeset: 271a0c71 Author: Sergey Bylokhov Date: 2021-05-11 23:55:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/271a0c713322bef3c78b04665c333c5e3068f8a9 8047218: [TEST_BUG] java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java fails with exception Reviewed-by: azvegint, kizune, pbansal ! test/jdk/ProblemList.txt ! test/jdk/java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java Changeset: cc03734b Author: Mandy Chung Date: 2021-05-12 00:53:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc03734b996c41c93efadf22e73685164bfe6b46 8266925: Add a test to verify that hidden class's members are not statically invocable Reviewed-by: alanb + test/jdk/java/lang/invoke/defineHiddenClass/StaticInvocableTest.java + test/jdk/java/lang/invoke/defineHiddenClass/java.base/java/lang/invoke/LookupHelper.java Changeset: ed32e02c Author: Guoxiong Li Committer: Jonathan Gibbons Date: 2021-05-12 01:01:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ed32e02c05affbc7d8d1b628fef7e7c32d54c735 8241187: ToolBox::grep should allow for negative filtering Reviewed-by: vromero + test/langtools/tools/javac/toolbox/TestGrepOfToolBox.java ! test/langtools/tools/lib/toolbox/ToolBox.java Changeset: 3c47cab6 Author: Hamlin Li Date: 2021-05-12 01:06:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3c47cab6db949b19cfd300139cbdbf81fb521e68 8261034: improve jcmd GC.class_histogram to support parallel Reviewed-by: cjplummer, sspitsyn ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticCommand.hpp - test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramAllTest.java ! test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramTest.java Changeset: e828a939 Author: David Holmes Date: 2021-05-12 05:21:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e828a939a8155a3b4ab26811a405bb4e4b2b99e8 8261395: C1 crash "cannot make java calls from the native compiler" Co-authored-by: Ioi Lam Co-authored-by: Coleen Phillimore Reviewed-by: iklam, hseigel, coleenp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp + test/hotspot/jtreg/runtime/Nestmates/protectionDomain/Host.java + test/hotspot/jtreg/runtime/Nestmates/protectionDomain/TestDifferentProtectionDomains.java Changeset: 476994aa Author: Yasumasa Suenaga Date: 2021-05-12 05:27:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/476994aa373ac95e73e672b7cc463c95e96509dc 8266531: ZAddress::address() should be removed from SA Reviewed-by: cjplummer, stefank ! src/hotspot/share/gc/z/vmStructs_z.cpp ! src/hotspot/share/gc/z/vmStructs_z.hpp ! src/hotspot/share/gc/z/zAddress.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZExternalBitMap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGlobals.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZGlobalsForVMStructs.java ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: 06d76028 Author: Tobias Hartmann Date: 2021-05-12 07:21:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/06d760283344a1d0fd510aed306e0efb76b51617 8261158: JVMState should not be shared between SafePointNodes Reviewed-by: vlivanov, kvn ! src/hotspot/share/adlc/archDesc.cpp ! src/hotspot/share/adlc/archDesc.hpp ! src/hotspot/share/adlc/main.cpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.cpp Changeset: 97367c01 Author: Hannes Walln?fer Date: 2021-05-12 08:32:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/97367c01c13261ccf9b6f3032213bbf3e342fbae 8266808: Search label still uses old search field id Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Navigation.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java Changeset: b46086d7 Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-12 08:35:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b46086d777d6d051b6c599e040706efcd66d422c 8266874: Clean up C1 canonicalizer for TableSwitch/LookupSwitch Reviewed-by: thartmann ! src/hotspot/share/c1/c1_Canonicalizer.cpp Changeset: 548899d4 Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-12 08:36:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/548899d40e10728cef2f9e5fa2e2f2b51a37ae35 8266189: Remove C1 "IfInstanceOf" instruction Reviewed-by: thartmann ! src/hotspot/share/c1/c1_Canonicalizer.cpp ! src/hotspot/share/c1/c1_Canonicalizer.hpp ! src/hotspot/share/c1/c1_Instruction.hpp ! src/hotspot/share/c1/c1_InstructionPrinter.cpp ! src/hotspot/share/c1/c1_InstructionPrinter.hpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp ! src/hotspot/share/c1/c1_Optimizer.cpp ! src/hotspot/share/c1/c1_RangeCheckElimination.hpp ! src/hotspot/share/c1/c1_ValueMap.hpp Changeset: f3b510b9 Author: Doug Simon Date: 2021-05-12 08:47:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f3b510b9aa540ae5fbda687d545e995c5622f971 8266923: [JVMCI] expose StackOverflow::_stack_overflow_limit to JVMCI Reviewed-by: kvn ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: dcf250d5 Author: Ivan Walulya Date: 2021-05-12 09:07:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dcf250d5d41a05d0f3213fb9a807e89e1c198ce5 8233378: CHT: Fast reset Reviewed-by: tschatzl, rehn ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: 11759bfb Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-12 09:08:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/11759bfb2d8e0208ad56f9ad5a425067e66c2bc0 8266798: C1: More types of instruction can also apply LoopInvariantCodeMotion Reviewed-by: thartmann, neliasso ! src/hotspot/share/c1/c1_ValueMap.cpp Changeset: 4727187f Author: Pavel Rappo Date: 2021-05-12 10:57:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4727187f86d18d34bd79cf93a74ff4a6515c662e 8266567: Fix javadoc tag references in sun.management.jmxremote.ConnectorBootstrap Reviewed-by: dfuchs, sspitsyn ! src/jdk.management.agent/share/classes/sun/management/jmxremote/ConnectorBootstrap.java Changeset: 74338219 Author: Alexey Ushakov Committer: Ajit Ghaisas Date: 2021-05-12 12:33:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7433821910cc292b0022ba5ed77235b4b71d242c 8250658: Performance of ClipFlatOval Renderperf test is very low Reviewed-by: jdv, aghaisas ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/EncoderManager.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLClip.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLClip.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLStencilManager.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLStencilManager.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceDataBase.h Changeset: 69daedfd Author: Zhengyu Gu Date: 2021-05-12 12:34:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/69daedfd2316815f63d7f3c6ba79d2bb77b427ec 8266845: Shenandoah: Simplify SBS::load_reference_barrier implementation Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp Changeset: accbfeaf Author: Guoxiong Li Committer: Jan Lahoda Date: 2021-05-12 14:32:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/accbfeaf22ea5374292a657ddabb67b22eada6bc 8226216: parameter modifiers are not visible to javac plugins across compilation boundaries Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java + test/langtools/tools/javac/classreader/ParameterModifiersAcrossCompilationBoundaries.java Changeset: 2568d181 Author: Chris Plummer Date: 2021-05-12 21:01:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2568d181a778add4837bb0eada8c5f4a137d4560 8267047: Put serviceability/sa/TestJmapCoreMetaspace.java back on ZGC problem list due to JDK-8267045 Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: ab17be28 Author: Philippe Marschall Committer: David Holmes Date: 2021-05-12 23:14:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ab17be283559ba0477bc0dcbd11dbfccf155a57f 8252530: Fix inconsistencies in hotspot whitebox Reviewed-by: dholmes, amenkov ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagCombo.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/sun/hotspot/WhiteBox.java ! test/lib/sun/hotspot/code/Compiler.java Changeset: d215743a Author: David Holmes Date: 2021-05-13 01:14:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d215743a91555c4edabd116b1899765d5a283dc7 8231031: runtime/ReservedStack/ReservedStackTest.java fails after jsr166 refresh Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/runtime/ReservedStack/ReservedStackTest.java Changeset: b50fc5f9 Author: Prasanta Sadhukhan Date: 2021-05-13 04:42:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b50fc5f992c2a1bdcdc8cae4aacf2a16598d5d05 8265528: Specification of BasicSplitPaneDivider::getMinimumSize,getPreferredSize doesn't match with its behavior. Reviewed-by: kizune ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSplitPaneDivider.java Changeset: 08a5a5c6 Author: Daniel Fuchs Date: 2021-05-13 08:54:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/08a5a5c6d64db51700d058954d115aa89dbe73be 8263382: java/util/logging/ParentLoggersTest.java failed with "checkLoggers: getLoggerNames() returned unexpected loggers" Reviewed-by: bpb, mchung ! test/jdk/java/util/logging/ParentLoggersTest.java Changeset: a270cbe2 Author: Maurizio Cimadamore Date: 2021-05-13 09:32:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a270cbe2ebfe28465b8257f19ff66cf653d21bf4 8267043: IntelliJ project doesn't handle generated sources correctly Reviewed-by: chegar, erikj ! make/ide/idea/jdk/template/misc.xml Changeset: 17ceef97 Author: Guoxiong Li Committer: Maurizio Cimadamore Date: 2021-05-13 10:22:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/17ceef97c3df2326d585b2a298e5daa5dcfe3d99 8266819: Separate the stop policies from the compile policies completely Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! test/langtools/tools/javac/6199662/Tree.java ! test/langtools/tools/javac/failover/CheckAttributedTree.java ! test/langtools/tools/javac/importscope/T8193717.java ! test/langtools/tools/javac/lambda/MostSpecific09.java ! test/langtools/tools/javac/modules/AnnotationProcessing.java ! test/langtools/tools/javac/resolve/ResolveHarness.java ! test/langtools/tools/javac/switchexpr/WarnWrongYieldTest.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.java Changeset: 347d41df Author: Fernando Guallini Committer: Julia Boes Date: 2021-05-13 10:50:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/347d41df909f5762c5e066ab70d0fe7ea500ffaf 8164804: sun/security/ssl/SSLSocketImpl/CloseSocket.java makes not reliable time assumption Reviewed-by: dfuchs, rhalade ! test/jdk/sun/security/ssl/SSLSocketImpl/CloseSocket.java Changeset: 127bfe44 Author: Vladimir Ivanov Date: 2021-05-13 10:58:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/127bfe44f7d09f272a08f97bfc5d168eb22474a2 8266074: Vtable-based CHA implementation Reviewed-by: kvn, jrose, dlong ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/cha/StrengthReduceInterfaceCall.java Changeset: a564f2cb Author: Thomas Schatzl Date: 2021-05-13 11:22:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a564f2cbd59d40df21278c5f0d785e2375b310e4 8266821: G1: Prefetch cards during merge heap roots phase Reviewed-by: kbarrett, iwalulya + src/hotspot/cpu/aarch64/gc/g1/g1Globals_aarch64.hpp + src/hotspot/cpu/arm/gc/g1/g1Globals_arm.hpp + src/hotspot/cpu/ppc/gc/g1/g1Globals_ppc.hpp + src/hotspot/cpu/s390/gc/g1/g1Globals_s390.hpp + src/hotspot/cpu/x86/gc/g1/g1Globals_x86.hpp + src/hotspot/cpu/zero/gc/g1/g1Globals_zero.hpp ! src/hotspot/share/gc/g1/g1CardTable.hpp ! src/hotspot/share/gc/g1/g1CardTable.inline.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp Changeset: e14b0268 Author: Harold Seigel Date: 2021-05-13 12:46:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e14b0268411bba8eb01bf6c477cc8743a53ffd1c 8243287: Removal of Unsafe::defineAnonymousClass Reviewed-by: iklam, mchung, alanb, dholmes ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/ci/ciField.cpp ! src/hotspot/share/ci/ciInstanceKlass.cpp ! src/hotspot/share/ci/ciInstanceKlass.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/classfile/classLoadInfo.hpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.hpp ! src/hotspot/share/classfile/classLoaderDataShared.cpp ! src/hotspot/share/classfile/classLoaderHierarchyDCmd.cpp ! src/hotspot/share/classfile/classLoaderStats.cpp ! src/hotspot/share/classfile/defaultMethods.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleDescription.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSetUtils.hpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/memory/metaspace/printCLDMetaspaceInfoClosure.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/constantPool.hpp ! src/hotspot/share/oops/constantPool.inline.hpp ! src/hotspot/share/oops/instanceClassLoaderKlass.hpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/instanceKlass.inline.hpp ! src/hotspot/share/oops/instanceMirrorKlass.inline.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/klass.inline.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/methodComparator.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java ! src/java.base/share/classes/jdk/internal/reflect/NativeConstructorAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/NativeMethodAccessorImpl.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java ! src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedObjectTypeImpl.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedPrimitiveType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ResolvedJavaType.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/Value.java ! src/jdk.unsupported/share/classes/sun/misc/Unsafe.java - test/hotspot/jtreg/compiler/classUnloading/anonymousClass/TestAnonymousClassUnloading.java ! test/hotspot/jtreg/compiler/jsr292/CallSiteDepContextTest.java - test/hotspot/jtreg/compiler/jsr292/VMAnonymousClasses.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java - test/hotspot/jtreg/runtime/8026365/InvokeSpecialAnonTest.java ! test/hotspot/jtreg/runtime/HiddenClasses/CastToParentTest.java ! test/hotspot/jtreg/runtime/HiddenClasses/GCHiddenClass.java ! test/hotspot/jtreg/runtime/HiddenClasses/HiddenClassStack.java ! test/hotspot/jtreg/runtime/HiddenClasses/StressHiddenClasses.java ! test/hotspot/jtreg/runtime/HiddenClasses/TestHiddenClassUnloading.java - test/hotspot/jtreg/runtime/Unsafe/NestedUnsafe.java - test/hotspot/jtreg/runtime/Unsafe/PrimitiveHostClass.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UnsafeAndLambda.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/UnsafeAnonymous.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/UnsafeAndLambdaApp.java - test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/UnsafeAnonymousApp.java - test/hotspot/jtreg/runtime/defineAnonClass/AnonSymbolLeak.java - test/hotspot/jtreg/runtime/defineAnonClass/DefineAnon.java - test/hotspot/jtreg/runtime/defineAnonClass/NestedUnsafe.java - test/hotspot/jtreg/runtime/defineAnonClass/NestedUnsafe2.java - test/hotspot/jtreg/runtime/defineAnonClass/TestAnonSymbolLeak.java - test/hotspot/jtreg/runtime/defineAnonClass/UnsafeDefMeths.java ! test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderStatsTest.java ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/README ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/configuration/ClassloadingMethod.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/loading/ClassLoadingHelper.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_inMemoryCompilation_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_inMemoryCompilation_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_keep_class/TestDescription.java ! test/hotspot/jtreg/vmTestbase/gc/g1/unloading/tests/unloading_anonclassloader_keep_obj/TestDescription.java ! test/hotspot/jtreg/vmTestbase/metaspace/staticReferences/OneUsageClassloader.java ! test/hotspot/jtreg/vmTestbase/metaspace/staticReferences/StaticReferences.java ! test/hotspot/jtreg/vmTestbase/vm/compiler/coverage/parentheses/share/HotspotInstructionsExecutor.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/castToGrandparent/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/castToParent/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/classNameInStackTrace/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/finalSuperclass/TestDescription.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/findByName/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/invalidSuperclass/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/isGarbageCollected/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/func/uniqueClassAndObject/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/share/ReplaceClassParentTest.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/share/StressClassLoadingTest.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/byteMutation/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/parallelLoad/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/randomBytecodes/Test.java ! test/jdk/java/lang/Class/GetModuleTest.java ! test/jdk/java/lang/Class/attributes/ClassAttributesTest.java - test/jdk/java/lang/invoke/VMAnonymousClass.java - test/jdk/jdk/internal/misc/Unsafe/TestBadHostClass.java - test/jdk/jdk/internal/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java ! test/jdk/jdk/jfr/event/runtime/TestClassLoaderStatsEvent.java ! test/jdk/jdk/jfr/event/runtime/TestClasses.java ! test/micro/org/openjdk/bench/java/lang/invoke/LookupDefineClass.java Changeset: b4371e9b Author: Jim Laskey Date: 2021-05-13 13:42:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4371e9bcaa1c8aa394b5eca409c5afc669cc146 8266552: Technical corrections to java/util/random/package-info.java Reviewed-by: darcy ! src/java.base/share/classes/java/util/random/package-info.java ! src/jdk.random/share/classes/jdk/random/L128X1024MixRandom.java ! src/jdk.random/share/classes/jdk/random/L128X128MixRandom.java ! src/jdk.random/share/classes/jdk/random/L128X256MixRandom.java ! src/jdk.random/share/classes/jdk/random/L32X64MixRandom.java ! src/jdk.random/share/classes/jdk/random/L64X1024MixRandom.java ! src/jdk.random/share/classes/jdk/random/L64X128MixRandom.java ! src/jdk.random/share/classes/jdk/random/L64X128StarStarRandom.java ! src/jdk.random/share/classes/jdk/random/L64X256MixRandom.java ! src/jdk.random/share/classes/jdk/random/Xoroshiro128PlusPlus.java ! src/jdk.random/share/classes/jdk/random/Xoshiro256PlusPlus.java Changeset: a259ab4a Author: Naoto Sato Date: 2021-05-13 16:20:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a259ab4a8d163ff924ba56c5da5395cec0d8c350 8258795: Update IANA Language Subtag Registry to Version 2021-05-11 Reviewed-by: joehw ! make/data/lsrdata/language-subtag-registry.txt = test/jdk/java/util/Locale/LanguageSubtagRegistryTest.java Changeset: f3c6cda4 Author: Alexey Semenyuk Date: 2021-05-13 16:30:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f3c6cda47631cc123dbcddbfb627dc05cf7bc13b 8266162: Remove JPackage duplicate tests Reviewed-by: almatvee, herrick ! test/jdk/tools/jpackage/windows/WinInstallerUiTest.java ! test/jdk/tools/jpackage/windows/WinShortcutPromptTest.java Changeset: 853ffdb2 Author: Patricio Chilano Mateo Date: 2021-05-13 18:04:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/853ffdb25c76637555fa732f5e05024243747a70 8265934: Cleanup _suspend_flags and _special_runtime_exit_condition Reviewed-by: rehn, dcubed, dholmes ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/thread.inline.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/Thread.java Changeset: 6c107fdf Author: Pankaj Bansal Date: 2021-05-13 18:45:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6c107fdff289cc553df12ee10b0c8002b84059b2 8264299: Create implementation of native accessibility peer for ScrollPane and ScrollBar Java Accessibility roles Reviewed-by: kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollAreaAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollAreaAccessibility.m + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollBarAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollBarAccessibility.m Changeset: 26670245 Author: Xue-Lei Andrew Fan Date: 2021-05-13 18:53:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/266702451db57c4f006f22601288174cc0613339 8266881: Enable debug log for SSLEngineExplorerMatchedSNI.java Reviewed-by: hchao, mullan ! test/jdk/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java Changeset: 2a2f105a Author: Vladimir Ivanov Date: 2021-05-13 23:26:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a2f105a56bba3a180658f0b0151240676478ba4 8267117: sun/hotspot/whitebox/CPUInfoTest.java fails on Ice Lake Reviewed-by: kvn ! test/lib-test/sun/hotspot/whitebox/CPUInfoTest.java Changeset: 40860813 Author: Sergey Bylokhov Date: 2021-05-13 23:41:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/408608130621b340151276dceeaf52cf6d037d53 8264846: Regression ~5% in J2dBench.bimg_misc on Linux after JDK-8263142 Reviewed-by: erikj, azvegint ! make/modules/java.desktop/lib/Awt2dLibraries.gmk Changeset: 1e0ecd6d Author: Ioi Lam Date: 2021-05-14 06:26:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1e0ecd6d56541c948e0d120295f5008d3248598f 8265605: Cannot call BootLoader::loadClassOrNull before initPhase2 Reviewed-by: alanb, mchung ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/loader/ArchivedClassLoaders.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! src/java.base/share/classes/jdk/internal/loader/ClassLoaders.java ! src/java.base/share/native/libjava/ClassLoader.c ! test/hotspot/jtreg/runtime/cds/appcds/test-classes/EmptyClassHelper.java Changeset: 301095c8 Author: Hamlin Li Date: 2021-05-14 06:52:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/301095c8beb2c95207636f0f61c02e0fc4d5a0a4 8266795: Remove dead code LowMemoryDetectorDisabler Reviewed-by: dholmes ! src/hotspot/share/services/lowMemoryDetector.cpp ! src/hotspot/share/services/lowMemoryDetector.hpp Changeset: 88907bb8 Author: Stefan Karlsson Date: 2021-05-14 07:55:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/88907bb81a5a67a51f32c36f6cd821c2488117eb 8266904: Use function pointer typedefs in OopOopIterateDispatch Reviewed-by: tschatzl, iklam ! src/hotspot/share/memory/iterator.inline.hpp Changeset: 644f28c0 Author: Claes Redestad Date: 2021-05-14 10:36:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/644f28c0ead18a37d7996ec30b49718a2f6aa189 8266810: Move trivial Matcher code to cpu-specific header files Reviewed-by: kvn, thartmann ! src/hotspot/cpu/aarch64/aarch64.ad + src/hotspot/cpu/aarch64/matcher_aarch64.hpp ! src/hotspot/cpu/arm/arm.ad + src/hotspot/cpu/arm/matcher_arm.hpp + src/hotspot/cpu/ppc/matcher_ppc.hpp ! src/hotspot/cpu/ppc/ppc.ad + src/hotspot/cpu/s390/matcher_s390.hpp ! src/hotspot/cpu/s390/s390.ad + src/hotspot/cpu/x86/matcher_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/opto/chaitin.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/matcher.hpp Changeset: 6ef9a90f Author: duke Date: 2021-05-14 11:01:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ef9a90fe58761f65956450e6d637060a6840ab3 Automatic merge of jdk:master into master Changeset: 91ce7fde Author: duke Date: 2021-05-14 11:01:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/91ce7fdeee760d62c4df1e60c34025e5b17ff625 Automatic merge of master into foreign-memaccess+abi ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! test/lib/sun/hotspot/WhiteBox.java ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java ! src/java.base/share/classes/jdk/internal/loader/BootLoader.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: 0aa2f0f2 Author: duke Date: 2021-05-14 11:01:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0aa2f0f2a87909514a3b6c22b218f33d911a2029 Automatic merge of foreign-memaccess+abi into foreign-jextract From jvernee at openjdk.java.net Fri May 14 12:18:32 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 14 May 2021 12:18:32 GMT Subject: [foreign-memaccess+abi] RFR: Remove printf and vprintf tests [v2] In-Reply-To: References: Message-ID: > This patch removes the printf and vprintf tests, since the symbols are not available on Windows in the UCRT. > > gmtime is similarly an inline function that maps to something else, but in that case there is a drop-in replacement symbol name _gmtime64 we can call instead. > > This fixes the missing symbol errors in StdLibTest. Jorn Vernee has updated the pull request incrementally with two additional commits since the last revision: - Rather than removing or disabling tests on Windows, fall back to a helper library that can return the right function addresses to us. - Only disable tests on Windows instead. ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/536/files - new: https://git.openjdk.java.net/panama-foreign/pull/536/files/3c741cf7..7b7dde2b Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=536&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=536&range=00-01 Stats: 206 lines in 2 files changed: 198 ins; 1 del; 7 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/536.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/536/head:pull/536 PR: https://git.openjdk.java.net/panama-foreign/pull/536 From jvernee at openjdk.java.net Fri May 14 12:18:33 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 14 May 2021 12:18:33 GMT Subject: [foreign-memaccess+abi] RFR: Remove printf and vprintf tests In-Reply-To: References: Message-ID: On Fri, 14 May 2021 10:12:01 GMT, Jorn Vernee wrote: > This patch removes the printf and vprintf tests, since the symbols are not available on Windows in the UCRT. > > gmtime is similarly an inline function that maps to something else, but in that case there is a drop-in replacement symbol name _gmtime64 we can call instead. > > This fixes the missing symbol errors in StdLibTest. As discussed offline, rather than removing the tests, or disabling them on Windows, I've included a helper library that has a function that can give us pointers to generated inline code for the missing functions on Windows. This allows keeping the tests on all platforms. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/536 From mcimadamore at openjdk.java.net Fri May 14 12:24:49 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 14 May 2021 12:24:49 GMT Subject: [foreign-memaccess+abi] RFR: Remove printf and vprintf tests [v2] In-Reply-To: References: Message-ID: On Fri, 14 May 2021 12:18:32 GMT, Jorn Vernee wrote: >> This patch removes the printf and vprintf tests, since the symbols are not available on Windows in the UCRT. >> >> gmtime is similarly an inline function that maps to something else, but in that case there is a drop-in replacement symbol name _gmtime64 we can call instead. >> >> This fixes the missing symbol errors in StdLibTest. > > Jorn Vernee has updated the pull request incrementally with two additional commits since the last revision: > > - Rather than removing or disabling tests on Windows, fall back to a helper library that can return the right function addresses to us. > - Only disable tests on Windows instead. Looks good. One possible simplification would be, since you already have a supporting library for windows, to just define printf/vprintf/gmtime there, and then define a lookup that first looks in systemLookup and then falls back in the loader lookup. In fact, you could define the test lookup always in this way, and just do a System.loadLibrary in the windows case. ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/536 From jvernee at openjdk.java.net Fri May 14 12:42:31 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 14 May 2021 12:42:31 GMT Subject: [foreign-memaccess+abi] RFR: Remove printf and vprintf tests [v3] In-Reply-To: References: Message-ID: <5FguzPlp8RzLUwb4vMZjdNEwH76jfIQcOlYKHCWJSCA=.72cda4e7-f0f6-4f6d-8bd0-d2657edbbf32@github.com> > This patch removes the printf and vprintf tests, since the symbols are not available on Windows in the UCRT. > > gmtime is similarly an inline function that maps to something else, but in that case there is a drop-in replacement symbol name _gmtime64 we can call instead. > > This fixes the missing symbol errors in StdLibTest. Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: Replace get_ptr function with function table ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/536/files - new: https://git.openjdk.java.net/panama-foreign/pull/536/files/7b7dde2b..a0cf834b Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=536&range=02 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=536&range=01-02 Stats: 36 lines in 2 files changed: 1 ins; 22 del; 13 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/536.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/536/head:pull/536 PR: https://git.openjdk.java.net/panama-foreign/pull/536 From mcimadamore at openjdk.java.net Fri May 14 12:59:01 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 14 May 2021 12:59:01 GMT Subject: [foreign-memaccess+abi] RFR: Remove printf and vprintf tests [v3] In-Reply-To: <5FguzPlp8RzLUwb4vMZjdNEwH76jfIQcOlYKHCWJSCA=.72cda4e7-f0f6-4f6d-8bd0-d2657edbbf32@github.com> References: <5FguzPlp8RzLUwb4vMZjdNEwH76jfIQcOlYKHCWJSCA=.72cda4e7-f0f6-4f6d-8bd0-d2657edbbf32@github.com> Message-ID: On Fri, 14 May 2021 12:42:31 GMT, Jorn Vernee wrote: >> This patch removes the printf and vprintf tests, since the symbols are not available on Windows in the UCRT. >> >> gmtime is similarly an inline function that maps to something else, but in that case there is a drop-in replacement symbol name _gmtime64 we can call instead. >> >> This fixes the missing symbol errors in StdLibTest. > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > Replace get_ptr function with function table Marked as reviewed by mcimadamore (Committer). test/jdk/java/foreign/NativeTestHelper.java line 33: > 31: public class NativeTestHelper { > 32: > 33: public static final boolean IS_WINDOWS = System.getProperty("os.name").startsWith("Windows"); This is never used test/jdk/java/foreign/StdLibTest.java line 53: > 51: import static jdk.incubator.foreign.MemoryAccess.*; > 52: > 53: import org.testng.SkipException; Still needed? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/536 From duke at openjdk.java.net Fri May 14 13:42:15 2021 From: duke at openjdk.java.net (duke) Date: Fri, 14 May 2021 13:42:15 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <93adb1ae-21f9-41bc-8279-dd4c58e51b02@openjdk.org> Changeset: 5cf32176 Author: Jorn Vernee Date: 2021-05-14 13:40:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5cf32176f5a87bb689c5016aad6db5135dd0e29f Remove printf and vprintf tests Reviewed-by: mcimadamore ! test/jdk/java/foreign/StdLibTest.java + test/jdk/java/foreign/libStdLib.c Changeset: f706b7bb Author: duke Date: 2021-05-14 13:41:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f706b7bb0ed44c2702a59e330c4f3c85918f3bce Automatic merge of foreign-memaccess+abi into foreign-jextract From jvernee at openjdk.java.net Fri May 14 13:43:30 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 14 May 2021 13:43:30 GMT Subject: [foreign-memaccess+abi] RFR: Remove printf and vprintf tests [v4] In-Reply-To: References: Message-ID: > This patch removes the printf and vprintf tests, since the symbols are not available on Windows in the UCRT. > > gmtime is similarly an inline function that maps to something else, but in that case there is a drop-in replacement symbol name _gmtime64 we can call instead. > > This fixes the missing symbol errors in StdLibTest. Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: Remove spurious code ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/536/files - new: https://git.openjdk.java.net/panama-foreign/pull/536/files/a0cf834b..0546b4d1 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=536&range=03 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=536&range=02-03 Stats: 3 lines in 2 files changed: 0 ins; 3 del; 0 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/536.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/536/head:pull/536 PR: https://git.openjdk.java.net/panama-foreign/pull/536 From jvernee at openjdk.java.net Fri May 14 13:43:32 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 14 May 2021 13:43:32 GMT Subject: [foreign-memaccess+abi] Integrated: Remove printf and vprintf tests In-Reply-To: References: Message-ID: <7LMPCcE8dfoy_SBT6mJI8usLgqFUMXZo-Xv_doJqR8Q=.36b3d6ba-66bb-4471-aae8-fd19b355c497@github.com> On Fri, 14 May 2021 10:12:01 GMT, Jorn Vernee wrote: > This patch removes the printf and vprintf tests, since the symbols are not available on Windows in the UCRT. > > gmtime is similarly an inline function that maps to something else, but in that case there is a drop-in replacement symbol name _gmtime64 we can call instead. > > This fixes the missing symbol errors in StdLibTest. This pull request has now been integrated. Changeset: 5cf32176 Author: Jorn Vernee URL: https://git.openjdk.java.net/panama-foreign/commit/5cf32176f5a87bb689c5016aad6db5135dd0e29f Stats: 67 lines in 2 files changed: 58 ins; 0 del; 9 mod Remove printf and vprintf tests Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/536 From vlivanov at openjdk.java.net Fri May 14 16:22:47 2021 From: vlivanov at openjdk.java.net (Vladimir Ivanov) Date: Fri, 14 May 2021 16:22:47 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: References: Message-ID: <-H3L1H_i6wkKkWsHNLnZUSnirwYNdwXfcVV8VCrFsic=.e96337d8-d361-4d71-902e-156d2ea46d5b@github.com> On Thu, 6 May 2021 10:12:08 GMT, Xiaohong Gong wrote: > Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains: > 1) Generation of the mask IRs for vector mask, including: > - Mask generations, e.g. load/compare/maskAll > - Mask operations, e.g. and/or/xor > 2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory > 3) Generation of the vector IRs which need the mask value as the control > - The mask value is appended to the original vector node's input list > > With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added. > > Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the > followed-up patches. > > [1] https://github.com/openjdk/panama-vector/pull/57 Can you elaborate, please, what's the purpose of new nodes? There's some duplication with existing vector nodes and I'd like to understand how do you intend to merge them. `LoadVectorMask`/`StoreVectorMask` duplicate `VectorLoadMask (LoadVector)`/`StoreVector (VectorStoreMask)`. What kind of benefits do you expect from exposing the operation as a single node? Depending on how `MaskToVector`/`VectorToMask` are specified, they can duplicate `VectorStoreMask`/`VectorLoadMask`. If mask value always has a vector type,`AndVMask`/`OrVMask`/`XorVMask` can be replaced by `AndV`/`OrV`/`XorV` and special implementations for 2 representations (canonical and native). Same considerations apply to `VectorCmpMaskGen` (compared to `VectorMaskCmp`). What is left is `MaskAll`, but its purpose is not evident to me. Broadcast, but for masks? ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From vlivanov at openjdk.java.net Fri May 14 16:44:02 2021 From: vlivanov at openjdk.java.net (Vladimir Ivanov) Date: Fri, 14 May 2021 16:44:02 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Mon, 10 May 2021 06:15:24 GMT, Xiaohong Gong wrote: > Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. > > Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. > > Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. > > [1] https://bugs.openjdk.java.net/browse/JDK-8264563 Overall, looks good. 2 comments: * On naming: while browsing the patch and seeing `Masked` I constantly think about non-Masked counterpart. What about reusing `unaryOp`/`binaryOp`/`ternaryOp` names for the merged intrinsic? * Can you remind me what happens for SVML stubs when `mask != NULL`? Does the JVM reject the intrinsification? I believe the stubs don't support masked operation mode. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From duncan.mclean at gmail.com Fri May 14 20:20:21 2021 From: duncan.mclean at gmail.com (Duncan McLean) Date: Fri, 14 May 2021 16:20:21 -0400 Subject: Help with VM Crash using the foreign linker Message-ID: Hello, I'm sorry if this isn't the right place to be asking for help with the Foreign Linker, please let me know where I should direct this question if I'm in the wrong place. I'm using the Foreign Linker API in a project and experiencing an odd result. The project is available here: https://github.com/boulder-on/JPassport The way my code works is: Give JPassport an interface class that you would like to use with the Foreign Linker. JPassport writes the java code required to call the foreign library, compiles the code, and hands back an object that implements the interface and calls the foreign library. (I'm trying to mimic JNA like behaviour in terms of just providing an interface) The problem I'm seeing is in my test cases for passing data to functions requiring C structures test_jpassport/src/jpassport/test/structs/TestUsingStructs For some reason, any call to the foreign library causes the VM to crash. However, this only happens if I invoke the compiler. The 3 scenarios I've tested are: 1. Normal operation: write out a .java file, use JavaCompiler to compile, use URLClassloader to load the compiled class, call a foreign method -> crash. 2. Skip compiling: write out a .java file, do not compile, use URL Classloader to load the class compiled in the previous test, call a foreigh method -> no crash, the call works perfectly. 3. Compile manually: Take the java code written out in step 1, add it to my project, compile, run the program, call a foreign method -> no crash I've tested this with the most recent JDK 16, and the most recent JDK 17 early access builds. My other test cases for passing primitives and arrays all work properly with the "normal operation". I'm testing using 64 bit VM's on Windows 10. I've attached one of the crash logs for further details on my set-up. Is there something I'm doing wrong? Please let me know if there are any other details I can provide or if there is any other way I can help diagnose what's going on. Thank you for your help, Duncan From maurizio.cimadamore at oracle.com Fri May 14 20:43:54 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 14 May 2021 21:43:54 +0100 Subject: Help with VM Crash using the foreign linker In-Reply-To: References: Message-ID: <353b9472-16ed-0427-0546-d04db58ecc70@oracle.com> Hi Duncan, I haven't looked in any details at your email (but I will) - sounds like a cool project. I wanted to share few early considerations: * attachments are dropped by the openjdk mailer - so you need to post them somewhere else (maybe make a Gist on Github?) * For now, Java 16 and Java 17 have exactly the same code (since we have not yet integrated Panama changes into 17). So you might want to try again with e.g. the panama early access [1]. It would be helpful if we could see at least the logs of the crash. On top of my head I can't think of any interaction between the Java compiler API and the Foreign Linker API that would be causing this. And, while there are many things that could go wrong when working with custom class loaders, typically when things go wrong you end up with an exception, not a VM crash. But let's start from obtaining the logs, and maybe try to reproduce it, and then let's figure out what's wrong. Thanks for the report! Maurizio On 14/05/2021 21:20, Duncan McLean wrote: > Hello, > > I'm sorry if this isn't the right place to be asking for help with the > Foreign Linker, please let me know where I should direct this question if > I'm in the wrong place. > > I'm using the Foreign Linker API in a project and experiencing an odd > result. The project is available here: > > https://github.com/boulder-on/JPassport > > The way my code works is: > > Give JPassport an interface class that you would like to use with the > Foreign Linker. JPassport writes the java code required to call the foreign > library, compiles the code, and hands back an object that implements the > interface and calls the foreign library. (I'm trying to mimic JNA like > behaviour in terms of just providing an interface) > > The problem I'm seeing is in my test cases for passing data to functions > requiring C structures > > test_jpassport/src/jpassport/test/structs/TestUsingStructs > > For some reason, any call to the foreign library causes the VM to crash. > However, this only happens if I invoke the compiler. The 3 scenarios I've > tested are: > > 1. Normal operation: write out a .java file, use JavaCompiler to compile, > use URLClassloader to load the compiled class, call a foreign method -> > crash. > > 2. Skip compiling: write out a .java file, do not compile, use URL > Classloader to load the class compiled in the previous test, call a foreigh > method -> no crash, the call works perfectly. > > 3. Compile manually: Take the java code written out in step 1, add it to my > project, compile, run the program, call a foreign method -> no crash > > I've tested this with the most recent JDK 16, and the most recent JDK 17 > early access builds. My other test cases for passing primitives and arrays > all work properly with the "normal operation". > > I'm testing using 64 bit VM's on Windows 10. I've attached one of the crash > logs for further details on my set-up. > > Is there something I'm doing wrong? Please let me know if there are any > other details I can provide or if there is any other way I can help > diagnose what's going on. > > Thank you for your help, > Duncan From markus.knetschke at gmail.com Fri May 14 22:02:42 2021 From: markus.knetschke at gmail.com (Markus Knetschke) Date: Sat, 15 May 2021 00:02:42 +0200 Subject: A few considerations (mostly) on jextract Message-ID: Hello, I currently experimenting with the foreign linker and jextract. A few tests showed very good performance and nice usability. I've yet to come to a c header which resulted in broken generated classes. Something I've seen often with other tools for jna / jnr. It's a nice replacement for jni. But there some inconveniences using jextract I've encountered: 1) the classes for structs jextract generates don't feel very oo to me. I would like to see a class with constructor and getter/setter methods encapsulating the MemorySegment. 2) there is no public interface to get the FunctionDescriptor and the MethodType of callbacks. (ok the MethodType could get extracted by Reflection from the generated interface) If you start with a MethodHandle already you have to either wrap it with MethodHandleProxies.asInterfaceInstance or writing the already existing information into your written code. I would like to see a getter for the MethodType and a method registering a method handle as a callback (something like static MemorySegment allocate(MethodHandle mh)) or two getters for MethodType and FunctionDescriptor. 3) I often encounter fixed-length arrays in structs holding stings. The best way I've found to extract them safely is to first get the start offset of the string with MemoryLayout.byteOffset(path) then extracting the size of the struct field with MemoryLayout.select(path).byteSize() and reading the string with CLinker.toJavaString(struct.asSlice(offset, size)) this is very bulky for simple things like putting ten strings from a struct into a record. I would like to see a simpler way for this for example a MemorySegment.asSlice(MemoryLayout, PathElement...) method. (This would be handy too for byte array struct fields. I'd like to provide the code for this if there is any interest in this. Best regards, Markus Knetschke From duncan.mclean at gmail.com Sat May 15 00:21:16 2021 From: duncan.mclean at gmail.com (Duncan McLean) Date: Fri, 14 May 2021 20:21:16 -0400 Subject: Help with VM Crash using the foreign linker In-Reply-To: <353b9472-16ed-0427-0546-d04db58ecc70@oracle.com> References: <353b9472-16ed-0427-0546-d04db58ecc70@oracle.com> Message-ID: Hi Maurizio, Thank you for the quick reply. I've made an issue on git hub. I've attached one of the VM crash logs to it. https://github.com/boulder-on/JPassport/issues/2 I pulled down the Panama early access build - that's what I used to make the log that is attached to the issue. Please let me know what else I can do to help. Thanks! Duncan On Fri, May 14, 2021 at 4:44 PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi Duncan, > I haven't looked in any details at your email (but I will) - sounds like > a cool project. I wanted to share few early considerations: > > * attachments are dropped by the openjdk mailer - so you need to post > them somewhere else (maybe make a Gist on Github?) > > * For now, Java 16 and Java 17 have exactly the same code (since we have > not yet integrated Panama changes into 17). So you might want to try > again with e.g. the panama early access [1]. > > It would be helpful if we could see at least the logs of the crash. On > top of my head I can't think of any interaction between the Java > compiler API and the Foreign Linker API that would be causing this. And, > while there are many things that could go wrong when working with custom > class loaders, typically when things go wrong you end up with an > exception, not a VM crash. > > But let's start from obtaining the logs, and maybe try to reproduce it, > and then let's figure out what's wrong. > > Thanks for the report! > > Maurizio > > > > On 14/05/2021 21:20, Duncan McLean wrote: > > Hello, > > > > I'm sorry if this isn't the right place to be asking for help with the > > Foreign Linker, please let me know where I should direct this question if > > I'm in the wrong place. > > > > I'm using the Foreign Linker API in a project and experiencing an odd > > result. The project is available here: > > > > https://github.com/boulder-on/JPassport > > > > The way my code works is: > > > > Give JPassport an interface class that you would like to use with the > > Foreign Linker. JPassport writes the java code required to call the > foreign > > library, compiles the code, and hands back an object that implements the > > interface and calls the foreign library. (I'm trying to mimic JNA like > > behaviour in terms of just providing an interface) > > > > The problem I'm seeing is in my test cases for passing data to functions > > requiring C structures > > > > test_jpassport/src/jpassport/test/structs/TestUsingStructs > > > > For some reason, any call to the foreign library causes the VM to crash. > > However, this only happens if I invoke the compiler. The 3 scenarios I've > > tested are: > > > > 1. Normal operation: write out a .java file, use JavaCompiler to compile, > > use URLClassloader to load the compiled class, call a foreign method -> > > crash. > > > > 2. Skip compiling: write out a .java file, do not compile, use URL > > Classloader to load the class compiled in the previous test, call a > foreigh > > method -> no crash, the call works perfectly. > > > > 3. Compile manually: Take the java code written out in step 1, add it to > my > > project, compile, run the program, call a foreign method -> no crash > > > > I've tested this with the most recent JDK 16, and the most recent JDK 17 > > early access builds. My other test cases for passing primitives and > arrays > > all work properly with the "normal operation". > > > > I'm testing using 64 bit VM's on Windows 10. I've attached one of the > crash > > logs for further details on my set-up. > > > > Is there something I'm doing wrong? Please let me know if there are any > > other details I can provide or if there is any other way I can help > > diagnose what's going on. > > > > Thank you for your help, > > Duncan > From jorn.vernee at oracle.com Sat May 15 13:36:34 2021 From: jorn.vernee at oracle.com (Jorn Vernee) Date: Sat, 15 May 2021 15:36:34 +0200 Subject: Help with VM Crash using the foreign linker In-Reply-To: References: <353b9472-16ed-0427-0546-d04db58ecc70@oracle.com> Message-ID: Hi, Looking at the crash log, as well as the test, you seem to be passing a single struct to a native function, but the stack trace in the error log shows that the call is not being intrinsified, which should not be the case if you're only passing a single struct on Windows. Either it fits in a register, or it's passed by reference, both of which cases are intrinsified. The most likely explanation for that seems to be that you are not using the right FunctionDescriptor when linking, and a crash occurs when the native code is trying to access what it thinks is a pointer to a struct. This is undefined behavior territory, which could explain why the crash only occurs in certain scenarios. My advice would be to check the FunctionDescriptor you're using for the linkage request, and make sure it matches the native function declaration. Looking at [1], the FunctionDescriptor you need is FunctionDescriptor.of(C_DOUBLE, C_POINTER). HTH, Jorn [1] : https://github.com/boulder-on/JPassport/blob/52bfa8b4390fdde57582722a1c8098958088de08/fl_dll/library.c#L330 On 15/05/2021 02:21, Duncan McLean wrote: > Hi Maurizio, > > Thank you for the quick reply. I've made an issue on git hub. I've attached > one of the VM crash logs to it. > > https://github.com/boulder-on/JPassport/issues/2 > > I pulled down the Panama early access build - that's what I used to make > the log that is attached to the issue. > > Please let me know what else I can do to help. > > Thanks! > Duncan > > On Fri, May 14, 2021 at 4:44 PM Maurizio Cimadamore < > maurizio.cimadamore at oracle.com> wrote: > >> Hi Duncan, >> I haven't looked in any details at your email (but I will) - sounds like >> a cool project. I wanted to share few early considerations: >> >> * attachments are dropped by the openjdk mailer - so you need to post >> them somewhere else (maybe make a Gist on Github?) >> >> * For now, Java 16 and Java 17 have exactly the same code (since we have >> not yet integrated Panama changes into 17). So you might want to try >> again with e.g. the panama early access [1]. >> >> It would be helpful if we could see at least the logs of the crash. On >> top of my head I can't think of any interaction between the Java >> compiler API and the Foreign Linker API that would be causing this. And, >> while there are many things that could go wrong when working with custom >> class loaders, typically when things go wrong you end up with an >> exception, not a VM crash. >> >> But let's start from obtaining the logs, and maybe try to reproduce it, >> and then let's figure out what's wrong. >> >> Thanks for the report! >> >> Maurizio >> >> >> >> On 14/05/2021 21:20, Duncan McLean wrote: >>> Hello, >>> >>> I'm sorry if this isn't the right place to be asking for help with the >>> Foreign Linker, please let me know where I should direct this question if >>> I'm in the wrong place. >>> >>> I'm using the Foreign Linker API in a project and experiencing an odd >>> result. The project is available here: >>> >>> https://github.com/boulder-on/JPassport >>> >>> The way my code works is: >>> >>> Give JPassport an interface class that you would like to use with the >>> Foreign Linker. JPassport writes the java code required to call the >> foreign >>> library, compiles the code, and hands back an object that implements the >>> interface and calls the foreign library. (I'm trying to mimic JNA like >>> behaviour in terms of just providing an interface) >>> >>> The problem I'm seeing is in my test cases for passing data to functions >>> requiring C structures >>> >>> test_jpassport/src/jpassport/test/structs/TestUsingStructs >>> >>> For some reason, any call to the foreign library causes the VM to crash. >>> However, this only happens if I invoke the compiler. The 3 scenarios I've >>> tested are: >>> >>> 1. Normal operation: write out a .java file, use JavaCompiler to compile, >>> use URLClassloader to load the compiled class, call a foreign method -> >>> crash. >>> >>> 2. Skip compiling: write out a .java file, do not compile, use URL >>> Classloader to load the class compiled in the previous test, call a >> foreigh >>> method -> no crash, the call works perfectly. >>> >>> 3. Compile manually: Take the java code written out in step 1, add it to >> my >>> project, compile, run the program, call a foreign method -> no crash >>> >>> I've tested this with the most recent JDK 16, and the most recent JDK 17 >>> early access builds. My other test cases for passing primitives and >> arrays >>> all work properly with the "normal operation". >>> >>> I'm testing using 64 bit VM's on Windows 10. I've attached one of the >> crash >>> logs for further details on my set-up. >>> >>> Is there something I'm doing wrong? Please let me know if there are any >>> other details I can provide or if there is any other way I can help >>> diagnose what's going on. >>> >>> Thank you for your help, >>> Duncan From duncan.mclean at gmail.com Sun May 16 00:27:21 2021 From: duncan.mclean at gmail.com (Duncan McLean) Date: Sat, 15 May 2021 20:27:21 -0400 Subject: Help with VM Crash using the foreign linker In-Reply-To: References: <353b9472-16ed-0427-0546-d04db58ecc70@oracle.com> Message-ID: Hi Jorn, Thank you for the suggestion. I've looked into this and the FunctionDescriptor is exactly as you have suggested: FunctionDescriptor.of(C_DOUBLE, C_POINTER). I went so far as to hard code FunctionDescriptor call when I was running my TestUsingStructs test case. The FunctionDescriptor is build at: https://github.com/boulder-on/JPassport/blob/ddaf4482045b83be95000e7fcc240bf720f0b525/jpassport/src/main/java/jpassport/PassportFactory.java#L89 For some reason I can only run my test cases from my IDE, maven doesn't like something I'm doing (right now it finds my test classes, but no test cases). However, when run from the IDE, TestUsingStructs crashes the vm every time on the first invokeExact call it encounters. When I comment out the deleting of previously compiled files and the compiling of new files (such that the test runs with the last compiled version) the test case always works. Line for deleting previous compiles: https://github.com/boulder-on/JPassport/blob/ddaf4482045b83be95000e7fcc240bf720f0b525/jpassport/src/main/java/jpassport/PassportWriter.java#L535 Line for compiling new classes: https://github.com/boulder-on/JPassport/blob/ddaf4482045b83be95000e7fcc240bf720f0b525/jpassport/src/main/java/jpassport/PassportWriter.java#L551 Is there any more detailed logging I can generate? Thanks again, Duncan On Sat, May 15, 2021 at 9:36 AM Jorn Vernee wrote: > Hi, > > Looking at the crash log, as well as the test, you seem to be passing a > single struct to a native function, but the stack trace in the error log > shows that the call is not being intrinsified, which should not be the > case if you're only passing a single struct on Windows. Either it fits > in a register, or it's passed by reference, both of which cases are > intrinsified. > > The most likely explanation for that seems to be that you are not using > the right FunctionDescriptor when linking, and a crash occurs when the > native code is trying to access what it thinks is a pointer to a struct. > This is undefined behavior territory, which could explain why the crash > only occurs in certain scenarios. > > My advice would be to check the FunctionDescriptor you're using for the > linkage request, and make sure it matches the native function > declaration. Looking at [1], the FunctionDescriptor you need is > FunctionDescriptor.of(C_DOUBLE, C_POINTER). > > HTH, > Jorn > > [1] : > > https://github.com/boulder-on/JPassport/blob/52bfa8b4390fdde57582722a1c8098958088de08/fl_dll/library.c#L330 > > From stigdoessing at gmail.com Sun May 16 15:39:42 2021 From: stigdoessing at gmail.com (=?UTF-8?Q?Stig_Rohde_D=C3=B8ssing?=) Date: Sun, 16 May 2021 17:39:42 +0200 Subject: Comments on SegmentAllocator and ResourceScope Message-ID: Hi, JEP 412 adds a new interface for allocating segments called SegmentAllocator (great idea!), and I have a few questions regarding the API and implementation as they exist in the foreign-jextract branch. 1: The ArenaAllocator block and max alloc sizes are hard coded. Is this intended to be permanent, or will the block size become a parameter of ArenaAllocator later? I'm not sure why it makes sense to hard code these parameters? As far as I can tell, this will cause issues for at least the bounded arena allocator, since requests above MAX_ALLOC_SIZE would cause calls to newSegment, which throws an error. 2: The MAX_ALLOC_SIZE constant also seems strange. It is set to half the block size, and any requests for segments above that size cause a fresh segment to be allocated. I understand why it makes sense to allocate a new segment if the request is larger than the block size, but if the request is smaller than the block size, why is not good enough to check if there's room in the current segment, and if so, return the appropriate slice, even if the request exceeds half the block size? See https://github.com/openjdk/panama-foreign/blob/foreign-jextract/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ArenaAllocator.java#L14-L15 3: Is the SegmentAllocator interface intended to support more advanced memory pooling, such as pools where segments can be returned to the pool after use? If so, how will the application indicate to the pool that a segment can be returned? The Javadoc for MemorySegment and ResourceScope discourage implementations outside the JDK, so the pool will not be able to e.g. use wrapper classes to make "freed" segments return to the pool. 4: ResourceScope has the Handles concept, which are objects that are acquired from the scope, which will cause the "close" method to fail (and throw exceptions) until they are released. Would it make sense to make Handles Autocloseable, to allow them to be used with try-with-resources? It seems like it is always an error to acquire and not release a handle. 5: The ResourceScope Javadoc indicates that Handles exist to help avoid concurrency errors where one thread frees memory currently being accessed by another thread. It says that the thread closing the scope should not repeatedly call ResourceScope.close until no exceptions are thrown, but should instead use proper synchronization mechanisms, e.g. Handles to coordinate. How will the thread closing the scope use handles to coordinate? I don't see any methods on ResourceScope that allows the closing thread to avoid calling "close" on a scope with open handles. Will the closing thread just have to call "close" and hope for the best? Thanks for reading. From xgong at openjdk.java.net Mon May 17 02:24:27 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 17 May 2021 02:24:27 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Fri, 14 May 2021 16:40:47 GMT, Vladimir Ivanov wrote: > Overall, looks good. Thanks for your review! > > 2 comments: > > * On naming: while browsing the patch and seeing `Masked` I constantly think about non-Masked counterpart. What about reusing `unaryOp`/`binaryOp`/`ternaryOp` names for the merged intrinsic? Yeah, totally agree. I also pointed out the naming issue above (see: https://github.com/openjdk/panama-vector/pull/80#issuecomment-840358060). And I agree with what @PaulSandoz's comment about it: "lets get the code in the branch and iterate. It's easy to revisit naming decisions like this later.". Does this make sense to you? > Can you remind me what happens for SVML stubs when mask != NULL? Does the JVM reject the intrinsification? I believe the stubs don't support masked operation mode. It will generate the vector blend mode like before. Currently the compiler only checks whether the predicated mode is supported for normal operations `(sopc != 0)`. For SVML ops, the `use_predicate` is false which means it generates `"VectorBlend"` pattern like before. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From whuang at openjdk.java.net Mon May 17 02:43:01 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Mon, 17 May 2021 02:43:01 GMT Subject: [vectorIntrinsics] RFR: 8266720: Wrong implementation in LibraryCallKit::inline_vector_shuffle_iota In-Reply-To: References: <8vg1-gXZ4VeXK0yICdmVtsAUgdWidGFvSLruXaAdCS8=.1cce8d2e-5162-423c-b171-497ee4b49a4f@github.com> <2INH3ogPxtRHuStMvz2y1HEbe__y121dHWwqce1rgx0=.cbf9224a-942f-48d4-9130-fbada18bf606@github.com> Message-ID: On Fri, 14 May 2021 03:53:13 GMT, Xiaohong Gong wrote: >>> Currently making it work well for <= 1024-bits makes sense to me. We can revisit this issue after the API issues for vector length > 1024-bits are fixed in future. >> >> If so, we need at least some comments or even length check to not inline for unsupported vector lengths? > > Agree with @nsjian ! Thanks! If we use `ge 1024` , we will add two more nodes. It is a extra cost here? ------------- PR: https://git.openjdk.java.net/panama-vector/pull/81 From xgong at openjdk.java.net Mon May 17 04:07:36 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 17 May 2021 04:07:36 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: <-H3L1H_i6wkKkWsHNLnZUSnirwYNdwXfcVV8VCrFsic=.e96337d8-d361-4d71-902e-156d2ea46d5b@github.com> References: <-H3L1H_i6wkKkWsHNLnZUSnirwYNdwXfcVV8VCrFsic=.e96337d8-d361-4d71-902e-156d2ea46d5b@github.com> Message-ID: On Fri, 14 May 2021 16:20:02 GMT, Vladimir Ivanov wrote: > Can you elaborate, please, what's the purpose of new nodes? > > There's some duplication with existing vector nodes and I'd like to understand how do you intend to merge them. Sure. I added some new nodes for the vector mask generations and operations. Their bottom type are the new added mask type `TypeVectMask`. These nodes are created only for platforms that support predicate feature. For other platforms, it still uses the existing vector nodes (with `TypeVect `as the bottom type) for masks. An alternative solution for the mask IRs is to use the same vector nodes by setting different bottom types for platforms that support predicate feature and others. To make it not mixture with the vector operations, we choose to separate the mask with vectors by adding new nodes. > `LoadVectorMask`/`StoreVectorMask` duplicate `VectorLoadMask (LoadVector)`/`StoreVector (VectorStoreMask)`. What kind of benefits do you expect from exposing the operation as a single node? > > Depending on how `MaskToVector`/`VectorToMask` are specified, they can duplicate `VectorStoreMask`/`VectorLoadMask`. We added the transformation for mask loading/storing: `VectorLoadMask (LoadVector)`/`StoreVector (VectorStoreMask)` ==> `LoadVectorMask`/`StoreVectorMask`. To be honest, this seems only benefit Arm SVE. Different with AVX-512, SVE predicate works based on the basic element type. Since the memory type for mask is `boolean`, while the vector data type might be `byte, short, int, long, float, double`, we always need to unpack the boolean values to the relative data types when converting vector mask to predicate. So the SVE codes for `VectorLoadMask (LoadVector)` with int type is: mov x0, #64 whilelo p0.b, zr, x0 ld1b z16.b, p0, [address] // LoadVector (since the mask vector length is less than the max vector length, // we need the predicate to implement the partial loading) uunpklo z16.h, z16.h uunpklo z16.s, z16.s // VectorLoadMask cmpne p0.s, z16.s, #0 // VectorToMask Since SVE supports the load extended instruction, we can use one node `LoadVectorMask` to load the mask values from memory and extend the values to the data type. The above codes could be optimized to: ld1b z16.s, p7, [address] // LoadVectorMask (load mask values from boolean type memory, and extends the values to int type) cmpne p0.s, z16.s, #0 // VectorToMask Note that `MaskToVector`/`VectorToMask` are different with `VectorStoreMask`/`VectorLoadMask`, which only simply do the convertions between mask and vector with the same element type, while `VectorStoreMask`/`VectorLoadMask` must contain the type casting between mask and vector which is also needed for SVE. Although the existing pattern can work well for AVX-512. Is it possible to use the same optimized pattern for it as well @jatin-bhateja ? > If mask value always has a vector type,`AndVMask`/`OrVMask`/`XorVMask` can be replaced by `AndV`/`OrV`/`XorV` and special implementations for 2 representations (canonical and native). Same considerations apply to `VectorCmpMaskGen` (compared to `VectorMaskCmp`). We added `AndVMask`/`OrVMask`/`XorVMask` for mask logical operations finally to separate with the vector logical operations. It might be confusing if `AndV`/`OrV`/`XorV` could might be `TypeVect ` or `TypeMaskVect ` for the same plaftform. As a conclusion, actually we are not sure what is the best optimal way to represent the mask operations, but we prefer to new mask IRs (definitely with `TypeVectMask`) for all mask operations while not just change the bottom type of the existing vector nodes. Any ideas about it? It will be absolutely helpful if you could give us more advice. Thanks so much! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From whuang at openjdk.java.net Mon May 17 06:30:01 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Mon, 17 May 2021 06:30:01 GMT Subject: [vectorIntrinsics] Integrated: 8266775: Add VectorLoadConst node implementation for Arm SVE In-Reply-To: References: Message-ID: <8FdMxeBVK_bYc3iDqfivR1GUYKtXFEA3HC9cBKjOLNo=.8691bb8d-141c-46a2-8989-b0e07f25ed85@github.com> On Sat, 8 May 2021 08:49:34 GMT, Wang Huang wrote: > * add VectorLoadConst node implementation for Arm SVE by > * ~~add new data in `generate_iota_indices`~~ > * ~~`sve_ld1b` these data~~ > * `sve_index` > > Thank you for your review. Any suggestion is welcome. This pull request has now been integrated. Changeset: 0b2f1aac Author: Wang Huang URL: https://git.openjdk.java.net/panama-vector/commit/0b2f1aac54a740a22f1d422f3e4e8615bbc1cdc2 Stats: 46 lines in 4 files changed: 34 ins; 4 del; 8 mod 8266775: Add VectorLoadConst node implementation for Arm SVE Co-authored-by: Wang Huang Co-authored-by: Ai Jiaming Reviewed-by: xgong, njian ------------- PR: https://git.openjdk.java.net/panama-vector/pull/79 From notzed at gmail.com Mon May 17 06:47:34 2021 From: notzed at gmail.com (Michael Zucchi) Date: Mon, 17 May 2021 16:17:34 +0930 Subject: Comments on SegmentAllocator and ResourceScope In-Reply-To: References: Message-ID: <22bb47f0-a4f1-59fe-4502-5c47df25255f@gmail.com> Morning, On 17/5/21 1:09 am, Stig Rohde D?ssing wrote: > Hi, > > JEP 412 adds a new interface for allocating segments called > SegmentAllocator (great idea!), and I have a few questions regarding the > API and implementation as they exist in the foreign-jextract branch. > > 1: The ArenaAllocator block and max alloc sizes are hard coded. Is this > intended to be permanent, or will the block size become a parameter of > ArenaAllocator later? I'm not sure why it makes sense to hard code these > parameters? As far as I can tell, this will cause issues for at least the > bounded arena allocator, since requests above MAX_ALLOC_SIZE would cause > calls to newSegment, which throws an error. That hardcoded default size seems reasonable enough to me as it's a trade off between various issues like system memory fragmentation, overheads, performance, and simplicity.? Making it optional adds more unit tests, documentation and generally faffing about for questionable gain.? It does seem unusually restrictive not to allow other sizes given no other context e.g. where a specific size might be important - like having a page-based&aligned allocator. NativeMemorySegmentImpl has stuff for handling page-aligned allocations so this may indeed be the reason it's 4KB. The latter just has to be a bug as you spotted and seems to be from trying to be clever.? See next comment. > 2: The MAX_ALLOC_SIZE constant also seems strange. It is set to half the > block size, and any requests for segments above that size cause a fresh > segment to be allocated. I understand why it makes sense to allocate a new > segment if the request is larger than the block size, but if the request is > smaller than the block size, why is not good enough to check if there's > room in the current segment, and if so, return the appropriate slice, even > if the request exceeds half the block size? > > See > https://github.com/openjdk/panama-foreign/blob/foreign-jextract/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ArenaAllocator.java#L14-L15 Looks a bit odd but note that the original segment is still the current one for subsequent allocations so it will still be used for other small allocations, it probably doesn't have much effect but it might reduce allocation holes.? Also whatever the value is the limit has to be half the block allocation size for alignment to work properly since the base allocations are assumed to be unaligned. It's also testing against the bytesAlignment aligned size which is not the value bytesAlignment applies to, but by having MAX_ALLOC_SIZE == BLOCK_SIZE/2 this also 'magically' tests the unaligned allocation size limit required to guarantee satisfaction of the alignment as well.? Seems overly tricksy.? Also not a fan of "this should not be possible" comment & assertion that only /seems/ to be there to check this tricksiness and enforce the internal expected behaviour of trySlice() - which isn't really serving any purpose as a separate function since the 'try' only affects the first invocation and it isn't used elsewhere. This also causes the bug above and seems to indicate the straightforward logic flow of "try-to-fit ELSE IF SMALL allocate-and-slice ELSE allocate-separate" all in a single function would be better - even if it does end up with more holes in certain cases (you win some, you lose some). As an aside the javadoc doesn't seem mention anywhere that bytesAlignment must be a power of 2.? Neither is it checked for validity, that may be on purpose for performance reasons but the comparable posix_memalign() /aligned_alloc() fail with EINVAL if it isn't and well things can get pretty bizarre if it isn't valid.? It isn't an expensive check, https://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2 or equivalently (Long.lowestOneBit(i) == i). > 3: Is the SegmentAllocator interface intended to support more advanced > memory pooling, such as pools where segments can be returned to the pool > after use? If so, how will the application indicate to the pool that a > segment can be returned? The Javadoc for MemorySegment and ResourceScope > discourage implementations outside the JDK, so the pool will not be able to > e.g. use wrapper classes to make "freed" segments return to the pool. Looks like a 'no' to me for the reasons you list.? Its been years in the making and it's notable that those facilities explicitly not included at this point.? Also "should not" is a bit stronger than merely "discourage" and I highly suspect they will be sealed interfaces when that facility is available (such things are mentioned for other panama interfaces). Having said that ... you could use the slice() function to split a given segment however you wish.? It wouldn't be hard to create any sort of pool allocator that way and it would just need to have an explicit free function rather than allowing the slices() to close themselves.? In my experience such allocators have limited utility, > 4: ResourceScope has the Handles concept, which are objects that are > acquired from the scope, which will cause the "close" method to fail (and > throw exceptions) until they are released. Would it make sense to make > Handles Autocloseable, to allow them to be used with try-with-resources? It > seems like it is always an error to acquire and not release a handle. AutoCloseable seems a little unfashionable for some types of resources but there's probably other reasons here. While a thread might use acquire()/release() as a resource liveness check to bracket use I imagine you're often passing Handle objects you create to other threads so that the liveness is guaranteed and instead the liveness check is in the main thread to guard against prematurely freeing the resource. > 5: The ResourceScope Javadoc indicates that Handles exist to help avoid > concurrency errors where one thread frees memory currently being accessed > by another thread. It says that the thread closing the scope should not > repeatedly call ResourceScope.close until no exceptions are thrown, but > should instead use proper synchronization mechanisms, e.g. Handles to > coordinate. How will the thread closing the scope use handles to > coordinate? I don't see any methods on ResourceScope that allows the > closing thread to avoid calling "close" on a scope with open handles. Will > the closing thread just have to call "close" and hope for the best? It could read clearer but I read that section as saying you need to use the handle methods to ensure proper behaviour, exceptions would then expose code faults.?? But you need to use external synchronisation methods to make sure you aren't closing things while they're in use. You always need to do this in such contexts and often it's just a natural consequence of a given api and seems out of scope (hoho) for this one.? e.g. You can't close some context which manages it's memory if you passed one of the objects it created to another thread which is still busy using it. ?Z From njian at openjdk.java.net Mon May 17 09:25:53 2021 From: njian at openjdk.java.net (Ningsheng Jian) Date: Mon, 17 May 2021 09:25:53 GMT Subject: [vectorIntrinsics] RFR: 8267224: Vector API SVE codegen cleanups Message-ID: Some code cleanups for SVE: - Revert sve_dup assembler changes, as well as similar changes to sve_cpy assembler. See [1]. - Refactor fcvt/fcvtzs/scvtf assembler code. - Add more assembler tests to make sure the coverage for newly added assembler routines. - Fix gather/scatter addressing issue. - Some code style cleanups. - Merge some matching patterns. [1] https://github.com/openjdk/jdk/pull/1307 ------------- Commit messages: - 8267224: Vector API SVE codegen cleanups Changes: https://git.openjdk.java.net/panama-vector/pull/82/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=82&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8267224 Stats: 633 lines in 8 files changed: 77 ins; 207 del; 349 mod Patch: https://git.openjdk.java.net/panama-vector/pull/82.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/82/head:pull/82 PR: https://git.openjdk.java.net/panama-vector/pull/82 From maurizio.cimadamore at oracle.com Mon May 17 09:45:57 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 17 May 2021 10:45:57 +0100 Subject: Comments on SegmentAllocator and ResourceScope In-Reply-To: References: Message-ID: <1a1b1f84-c40d-1650-4544-70c54dc22b62@oracle.com> On 16/05/2021 16:39, Stig Rohde D?ssing wrote: > Hi, > > JEP 412 adds a new interface for allocating segments called > SegmentAllocator (great idea!), and I have a few questions regarding the > API and implementation as they exist in the foreign-jextract branch. > > 1: The ArenaAllocator block and max alloc sizes are hard coded. Is this > intended to be permanent, or will the block size become a parameter of > ArenaAllocator later? I'm not sure why it makes sense to hard code these > parameters? As far as I can tell, this will cause issues for at least the > bounded arena allocator, since requests above MAX_ALLOC_SIZE would cause > calls to newSegment, which throws an error. I don't see anything preventing us from overriding defaults. We just didn't offer the option at this stage. As for the issue with MAX_ALLOC_SIZE and bounded allocation, this is a bug. > > 2: The MAX_ALLOC_SIZE constant also seems strange. It is set to half the > block size, and any requests for segments above that size cause a fresh > segment to be allocated. I understand why it makes sense to allocate a new > segment if the request is larger than the block size, but if the request is > smaller than the block size, why is not good enough to check if there's > room in the current segment, and if so, return the appropriate slice, even > if the request exceeds half the block size? > > See > https://github.com/openjdk/panama-foreign/blob/foreign-jextract/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ArenaAllocator.java#L14-L15 I believe this is yet another policy that might need to be made configurable at some point (e.g. threshold for standalone allocation). But using a single constant is making the code more obscure. I'm also noting comments from Michael, and there's probably simplifications that can be done here in order to make code more linear. > > 3: Is the SegmentAllocator interface intended to support more advanced > memory pooling, such as pools where segments can be returned to the pool > after use? If so, how will the application indicate to the pool that a > segment can be returned? The Javadoc for MemorySegment and ResourceScope > discourage implementations outside the JDK, so the pool will not be able to > e.g. use wrapper classes to make "freed" segments return to the pool. The interfaces allow to implement memory pools, as is. See this attempt: https://github.com/openjdk/panama-foreign/pull/509 We plan to investigate this space more in the future, but I believe the API should be expressive enough to build pooled allocators which perform decently. > > 4: ResourceScope has the Handles concept, which are objects that are > acquired from the scope, which will cause the "close" method to fail (and > throw exceptions) until they are released. Would it make sense to make > Handles Autocloseable, to allow them to be used with try-with-resources? It > seems like it is always an error to acquire and not release a handle. We started from AutoCloseable - but ended up abandoning it. In reality, if you try doing something like: try (scope.acquire()) { ?? ... } you get a compiler warning as the "resources" in the try-with-resources has not been used. At the time the has been some discussion around the role of resources in a try with resource block, which ended up concluding that the above usage was a bit at the boundary of what the construct is for. In the end, we decided to side-step try with resources and stick to plain try/finally, and have a symmetric pair of methods acquire/release. > > 5: The ResourceScope Javadoc indicates that Handles exist to help avoid > concurrency errors where one thread frees memory currently being accessed > by another thread. It says that the thread closing the scope should not > repeatedly call ResourceScope.close until no exceptions are thrown, but > should instead use proper synchronization mechanisms, e.g. Handles to > coordinate. How will the thread closing the scope use handles to > coordinate? I don't see any methods on ResourceScope that allows the > closing thread to avoid calling "close" on a scope with open handles. Will > the closing thread just have to call "close" and hope for the best? As Michael says, what the javadoc is trying to say here is that if you have 10 threads racing to the same segment, rather than accessing memory and closing it and hope that no exceptions are thrown (or worse, wait until no exceptions are thrown), these thread should synchronize among themselves. E.g. the fact that our API guarantees that the VM won't crash if you access an already freed segment, or if you attempt to close a segment while it's being access, does _not_ mean that developers can forget about regular inter-thread synchronization. This doesn't mean using ResourceScope.Handle. This means using a lock, or a blocking queue, or some other synchronization mechanism. Thanks for the feedback Maurizio > > Thanks for reading. From maurizio.cimadamore at oracle.com Mon May 17 09:54:40 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 17 May 2021 10:54:40 +0100 Subject: A few considerations (mostly) on jextract In-Reply-To: References: Message-ID: On 14/05/2021 23:02, Markus Knetschke wrote: > Hello, > > I currently experimenting with the foreign linker and jextract. A few > tests showed very good performance and nice usability. I've yet to > come to a c header which resulted in broken generated classes. > Something I've seen often with other tools for jna / jnr. It's a nice > replacement for jni. Thanks for the feedback! > > But there some inconveniences using jextract I've encountered: > > 1) the classes for structs jextract generates don't feel very oo to > me. I would like to see a class with constructor and getter/setter > methods encapsulating the MemorySegment. I hear you - this is indeed possible, at the cost of more allocation. For now we have tried to stick to a principle that jextract should not add overhead, but I tend to agree that, in the case of struct, this ends up being punitive at times (especially when you have structs nested inside structs nested inside structs). I believe at some point some other experiment will be made to make struct handling more OO (as you say), and, if we can get some help from Valhalla primitive types, maybe we won't even pay a performance price! > 2) there is no public interface to get the FunctionDescriptor and the > MethodType of callbacks. (ok the MethodType could get extracted by > Reflection from the generated interface) If you start with a > MethodHandle already you have to either wrap it with > MethodHandleProxies.asInterfaceInstance or writing the already > existing information into your written code. I would like to see a > getter for the MethodType and a method registering a method handle as > a callback (something like static MemorySegment allocate(MethodHandle > mh)) or two getters for MethodType and FunctionDescriptor. These can be easily added - basically, you are in the situation where you already have a method handle, and so functional interfaces work _against_ you. Got it. > 3) I often encounter fixed-length arrays in structs holding stings. > The best way I've found to extract them safely is to first get the > start offset of the string with MemoryLayout.byteOffset(path) then > extracting the size of the struct field with > MemoryLayout.select(path).byteSize() and reading the string with > CLinker.toJavaString(struct.asSlice(offset, size)) this is very bulky > for simple things like putting ten strings from a struct into a > record. I would like to see a simpler way for this for example a > MemorySegment.asSlice(MemoryLayout, PathElement...) method. (This > would be handy too for byte array struct fields. In the new API, we have a new method in MemoryLayout like this: default MethodHandle sliceHandle(PathElement... elements) { Which I think does what you want? Thanks Maurizio > > I'd like to provide the code for this if there is any interest in this. > > Best regards, > Markus Knetschke From maurizio.cimadamore at oracle.com Mon May 17 10:26:06 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 17 May 2021 11:26:06 +0100 Subject: Comments on SegmentAllocator and ResourceScope In-Reply-To: <22bb47f0-a4f1-59fe-4502-5c47df25255f@gmail.com> References: <22bb47f0-a4f1-59fe-4502-5c47df25255f@gmail.com> Message-ID: On 17/05/2021 07:47, Michael Zucchi wrote: > Looks a bit odd but note that the original segment is still the > current one for subsequent allocations so it will still be used for > other small allocations, it probably doesn't have much effect but it > might reduce allocation holes.? Also whatever the value is the limit > has to be half the block allocation size for alignment to work > properly since the base allocations are assumed to be unaligned. > > It's also testing against the bytesAlignment aligned size which is not > the value bytesAlignment applies to, but by having MAX_ALLOC_SIZE == > BLOCK_SIZE/2 this also 'magically' tests the unaligned allocation size > limit required to guarantee satisfaction of the alignment as well.? > Seems overly tricksy.? Also not a fan of "this should not be possible" > comment & assertion that only /seems/ to be there to check this > tricksiness and enforce the internal expected behaviour of trySlice() > - which isn't really serving any purpose as a separate function since > the 'try' only affects the first invocation and it isn't used elsewhere. > > This also causes the bug above and seems to indicate the > straightforward logic flow of "try-to-fit ELSE IF SMALL > allocate-and-slice ELSE allocate-separate" all in a single function > would be better - even if it does end up with more holes in certain > cases (you win some, you lose some). It's true that MAX_ALLOC_SIZE is set to half the block so that we can still adjust for unaligned allocations within the allocated block. I'll see if the logic can be simplified - at the very minimum, if we want to reuse implementation between bounded and unbounded, some of these limits (block size, max allocation size) need to be made instance-dependent. > > As an aside the javadoc doesn't seem mention anywhere that > bytesAlignment must be a power of 2.? Neither is it checked for > validity, that may be on purpose for performance reasons but the > comparable posix_memalign() /aligned_alloc() fail with EINVAL if it > isn't and well things can get pretty bizarre if it isn't valid.? It > isn't an expensive check, > https://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2 > or equivalently (Long.lowestOneBit(i) == i). The javadoc could probably be made clearer - but the only way to set alignment is "withAlignmentBits", and the javadoc there expects bit alignment to be a power of two and >= 8. So I think you can conclude that byte alignment must also be a power of two. One thing which probably fell through the cracks, is that the alignment check does not apply when a layout is created - e.g. MemoryLayout.valueLayout(10, ByteOrder.nativeOrder()) succeeds, and sets alignment of 10, which is incorrect. Same is true for the recursive cases, e.g. when a struct/union/sequence layouts are created. I think some extra checks are required here. Also, if we want to allow sub-byte sizes (e.g. for describing bitmasks) we need to be able to accept bit alignment smaller (but still power of two) than 8, I think. Maurizio From mcimadamore at openjdk.java.net Mon May 17 11:49:07 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 17 May 2021 11:49:07 GMT Subject: [foreign-memaccess+abi] RFR: 8267240: Bounded arena allocator doesn't work if bounded size > BLOCK_SIZE Message-ID: This patch follows the discussion in [1], and splits the unbounded allocator from the bounded one, as attempts to reusing logic were causing issues when bounded arena allocators were created with bounded size > BLOCK_SIZE. I have looked for simplifications of the `trySlice` logic (also mentioned in the emails) - but in my opinion it cannot be simplified much. When an allocator is unbounded, if we receive a request that is more than half the size of the allocator block, we cannot guarantee that we can align it correctly in a segment whose size is BLOCK_SIZE. So, I think the limit of MAX_ALLOC_SIZE = BLOCK_SIZE / 2 is correct, in the sense that anything above that limit needs a standalone allocation (or we won't be able to align it in certain edge cases). Of course, if we didn't care about alignment, the logic could be simplified, but since this is a native allocator, I think respecting alignment of the allocation request is important. [1] - https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013796.html ------------- Commit messages: - Fix issue with bounded allocators Changes: https://git.openjdk.java.net/panama-foreign/pull/537/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=537&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8267240 Stats: 112 lines in 3 files changed: 61 ins; 37 del; 14 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/537.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/537/head:pull/537 PR: https://git.openjdk.java.net/panama-foreign/pull/537 From maurizio.cimadamore at oracle.com Mon May 17 11:53:53 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 17 May 2021 12:53:53 +0100 Subject: Help with VM Crash using the foreign linker In-Reply-To: References: <353b9472-16ed-0427-0546-d04db58ecc70@oracle.com> Message-ID: On 16/05/2021 01:27, Duncan McLean wrote: > Hi Jorn, > > Thank you for the suggestion. I've looked into this and the > FunctionDescriptor is exactly as you have suggested: > ?FunctionDescriptor.of(C_DOUBLE, C_POINTER). Are you sure that's the correct descriptor? Looking at the definition of PassingStruct: https://github.com/boulder-on/JPassport/blob/b3cde66adf3cd1ebceaf2f8adba87890a967f25a/test_jpassport/src/main/java/jpassport/test/structs/TestStructCalls.java#L6 It seems like the struct is being passed by value? Or, when a method in JPassport is defined to take a struct Foo, you always imply Foo* - e.g. pass the struct by pointer? If that's the case, then I think the function descriptor is correct. Maurizio > > I went so far as to hard code FunctionDescriptor call when I was > running my TestUsingStructs test case. The FunctionDescriptor is build at: > > https://github.com/boulder-on/JPassport/blob/ddaf4482045b83be95000e7fcc240bf720f0b525/jpassport/src/main/java/jpassport/PassportFactory.java#L89 > > > For some reason I can only run my test cases from my IDE, maven > doesn't like something I'm doing (right now it finds my test classes, > but no test cases). However, when run from the IDE, > TestUsingStructs?crashes the vm every time on the first invokeExact > call it?encounters. When I comment out the deleting of previously > compiled files and the compiling of new files (such that the test runs > with the last compiled version) the test case always works. > > Line for deleting previous compiles: > https://github.com/boulder-on/JPassport/blob/ddaf4482045b83be95000e7fcc240bf720f0b525/jpassport/src/main/java/jpassport/PassportWriter.java#L535 > > > Line for compiling new classes: > https://github.com/boulder-on/JPassport/blob/ddaf4482045b83be95000e7fcc240bf720f0b525/jpassport/src/main/java/jpassport/PassportWriter.java#L551 > > > Is there any more detailed logging I can generate? > > Thanks again, > Duncan > > On Sat, May 15, 2021 at 9:36 AM Jorn Vernee > wrote: > > Hi, > > Looking at the crash log, as well as the test, you seem to be > passing a > single struct to a native function, but the stack trace in the > error log > shows that the call is not being intrinsified, which should not be > the > case if you're only passing a single struct on Windows. Either it > fits > in a register, or it's passed by reference, both of which cases are > intrinsified. > > The most likely explanation for that seems to be that you are not > using > the right FunctionDescriptor when linking, and a crash occurs when > the > native code is trying to access what it thinks is a pointer to a > struct. > This is undefined behavior territory, which could explain why the > crash > only occurs in certain scenarios. > > My advice would be to check the FunctionDescriptor you're using > for the > linkage request, and make sure it matches the native function > declaration. Looking at [1], the FunctionDescriptor you need is > FunctionDescriptor.of(C_DOUBLE, C_POINTER). > > HTH, > Jorn > > [1] : > https://github.com/boulder-on/JPassport/blob/52bfa8b4390fdde57582722a1c8098958088de08/fl_dll/library.c#L330 > > From jorn.vernee at oracle.com Mon May 17 12:23:03 2021 From: jorn.vernee at oracle.com (Jorn Vernee) Date: Mon, 17 May 2021 14:23:03 +0200 Subject: [External] : Re: Help with VM Crash using the foreign linker In-Reply-To: References: <353b9472-16ed-0427-0546-d04db58ecc70@oracle.com> Message-ID: <56384e98-6aef-63af-7144-415461974564@oracle.com> On 16/05/2021 02:27, Duncan McLean wrote: > Hi Jorn, > > Thank you for the suggestion. I've looked into this and the > FunctionDescriptor is exactly as you have suggested: > ?FunctionDescriptor.of(C_DOUBLE, C_POINTER). Sorry, I think I've misread the stack trace earlier. I initially was surprised to see invokeMoves in the stack trace for an intrinsified case, but we also use that as a fallback before the JIT compiler kicks in. > > I went so far as to hard code FunctionDescriptor call when I was > running my TestUsingStructs test case. The FunctionDescriptor is build at: > > https://github.com/boulder-on/JPassport/blob/ddaf4482045b83be95000e7fcc240bf720f0b525/jpassport/src/main/java/jpassport/PassportFactory.java#L89 > > > For some reason I can only run my test cases from my IDE, maven > doesn't like something I'm doing (right now it finds my test classes, > but no test cases). However, when run from the IDE, > TestUsingStructs?crashes the vm every time on the first invokeExact > call it?encounters. When I comment out the deleting of previously > compiled files and the compiling of new files (such that the test runs > with the last compiled version) the test case always works. > > Line for deleting previous compiles: > https://github.com/boulder-on/JPassport/blob/ddaf4482045b83be95000e7fcc240bf720f0b525/jpassport/src/main/java/jpassport/PassportWriter.java#L535 > > > Line for compiling new classes: > https://github.com/boulder-on/JPassport/blob/ddaf4482045b83be95000e7fcc240bf720f0b525/jpassport/src/main/java/jpassport/PassportWriter.java#L551 > > > Is there any more detailed logging I can generate? You could try running with -Djdk.internal.foreign.ProgrammableInvoker.DEBUG=true Looking at the crash closer, I see the EXCEPTION_ACCESS_VIOLATION you're getting is due to a data execution prevention. I've been able to reproduce the crash here, and running with the above logging option, it seems that the address being passed into the native call is incorrect: Buffer state before: Next PC: 7ffaea2e10dc ... And then in the crash log: siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), data execution prevention violation at address 0x00007ffaea2e10dc Stepping further back in the execution, it seems that this address is being loaded straight from the library, I see the 10dc as a virtual address for that function in dumpbin: ??? ordinal hint RVA????? name ????????? ... ????????? 7??? 6 000010DC passStructWithArrays = @ILT+215(passStructWithArrays) ????????? ... So, it seems to be a problem with the library. After some trial and error, it seems that the library is being unloaded during the test execution (try setting a breakpoint in LibrariesHelper::tryUnload), which would invalidate the function address. Note that the LibraryLookup object needs to be kept strongly reachable in order to keep the library loaded, in the version of the code you're using (we've changed this recently to be more robust). This is normally done by the method handle automatically, because it keeps a strong reference to the Symbol you use when linking, which then keeps the library alive [1]. However, in PassportFactory, you are discarding the Symbol, and only keeping the address: MethodHandle methodHandle =linker. downcallHandle(symb.address(), <--------------- MethodType.methodType(methRet,parameters), fd); Which means the library will not be kept loaded by the MethodHandle, and indeed it is being unloaded. Symbol implements Addressable already, so there is no need to call .address() here. If I remove that call, the crash goes away, and the test passes. Jorn [1] : https://download.java.net/java/early_access/panama/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/LibraryLookup.html > > Thanks again, > Duncan > > On Sat, May 15, 2021 at 9:36 AM Jorn Vernee > wrote: > > Hi, > > Looking at the crash log, as well as the test, you seem to be > passing a > single struct to a native function, but the stack trace in the > error log > shows that the call is not being intrinsified, which should not be > the > case if you're only passing a single struct on Windows. Either it > fits > in a register, or it's passed by reference, both of which cases are > intrinsified. > > The most likely explanation for that seems to be that you are not > using > the right FunctionDescriptor when linking, and a crash occurs when > the > native code is trying to access what it thinks is a pointer to a > struct. > This is undefined behavior territory, which could explain why the > crash > only occurs in certain scenarios. > > My advice would be to check the FunctionDescriptor you're using > for the > linkage request, and make sure it matches the native function > declaration. Looking at [1], the FunctionDescriptor you need is > FunctionDescriptor.of(C_DOUBLE, C_POINTER). > > HTH, > Jorn > > [1] : > https://github.com/boulder-on/JPassport/blob/52bfa8b4390fdde57582722a1c8098958088de08/fl_dll/library.c#L330 > > From maurizio.cimadamore at oracle.com Mon May 17 12:49:39 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 17 May 2021 13:49:39 +0100 Subject: [External] : Re: Help with VM Crash using the foreign linker In-Reply-To: <56384e98-6aef-63af-7144-415461974564@oracle.com> References: <353b9472-16ed-0427-0546-d04db58ecc70@oracle.com> <56384e98-6aef-63af-7144-415461974564@oracle.com> Message-ID: <0eb98989-51a7-007b-8b39-6595498d862b@oracle.com> Good catch Jorn. I confirm that this fixes the problem on Linux too (Duncan, I've been able to make your project work on my Ubuntu :-) ). As for unexpected unloading, two notes as to how we're improving the situation in the recent panama/17 * memory addresses are now scoped entities - which means having an address on your hand will keep the scope reachable. So, in 17 this failure wouldn't be possible. * The recent changes to drop the parallel library loading mechanism would make this even harder to reproduce, as in the latest panama repo, libraries are loaded by class loaders, and you can only ask the library lookup for the current class loader. Maurizio On 17/05/2021 13:23, Jorn Vernee wrote: > > However, in PassportFactory, you are discarding the Symbol, and only > keeping the address: > > MethodHandle methodHandle =linker. > downcallHandle(symb.address(), <--------------- > MethodType.methodType(methRet,parameters), > fd); > > Which means the library will not be kept loaded by the MethodHandle, > and indeed it is being unloaded. > > Symbol implements Addressable already, so there is no need to call > .address() here. If I remove that call, the crash goes away, and the > test passes. > From jvernee at openjdk.java.net Mon May 17 14:44:23 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 17 May 2021 14:44:23 GMT Subject: [foreign-memaccess+abi] RFR: 8267240: Bounded arena allocator doesn't work if bounded size > BLOCK_SIZE In-Reply-To: References: Message-ID: On Mon, 17 May 2021 11:43:05 GMT, Maurizio Cimadamore wrote: > This patch follows the discussion in [1], and splits the unbounded allocator from the bounded one, as attempts to reusing logic were causing issues when bounded arena allocators were created with bounded size > BLOCK_SIZE. > > I have looked for simplifications of the `trySlice` logic (also mentioned in the emails) - but in my opinion it cannot be simplified much. When an allocator is unbounded, if we receive a request that is more than half the size of the allocator block, we cannot guarantee that we can align it correctly in a segment whose size is BLOCK_SIZE. So, I think the limit of MAX_ALLOC_SIZE = BLOCK_SIZE / 2 is correct, in the sense that anything above that limit needs a standalone allocation (or we won't be able to align it in certain edge cases). > > Of course, if we didn't care about alignment, the logic could be simplified, but since this is a native allocator, I think respecting alignment of the allocation request is important. > > [1] - https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013796.html src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ArenaAllocator.java line 61: > 59: return slice; > 60: } else { > 61: if (Utils.alignUp(bytesSize, bytesAlignment) > DEFAULT_MAX_ALLOC_SIZE) { This seems to be the subject of some of the emails. I think maybe it might be worth it to break this out into an intermediate variable with a good name? I also think the DEFAULT_MAX_ALLOC_SIZE could just be DEFAULT_BLOCK_SIZE, if we change this check to check for the maximum allocation size computed by `byteSize + bytesAlignment - 1` instead of using `alignUp`: Suggestion: long maxPossibleAllocationSize = bytesSize + bytesAlignment - 1; if (maxPossibleAllocationSize > DEFAULT_BLOCK_SIZE) { e.g. if we have an allocation aligned to 8 bytes, we can have a maximum of 7 bytes of alignment padding (in case the address is off by just 1 byte). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/537 From mcimadamore at openjdk.java.net Mon May 17 15:08:24 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 17 May 2021 15:08:24 GMT Subject: [foreign-memaccess+abi] RFR: 8267240: Bounded arena allocator doesn't work if bounded size > BLOCK_SIZE [v2] In-Reply-To: References: Message-ID: > This patch follows the discussion in [1], and splits the unbounded allocator from the bounded one, as attempts to reusing logic were causing issues when bounded arena allocators were created with bounded size > BLOCK_SIZE. > > I have looked for simplifications of the `trySlice` logic (also mentioned in the emails) - but in my opinion it cannot be simplified much. When an allocator is unbounded, if we receive a request that is more than half the size of the allocator block, we cannot guarantee that we can align it correctly in a segment whose size is BLOCK_SIZE. So, I think the limit of MAX_ALLOC_SIZE = BLOCK_SIZE / 2 is correct, in the sense that anything above that limit needs a standalone allocation (or we won't be able to align it in certain edge cases). > > Of course, if we didn't care about alignment, the logic could be simplified, but since this is a native allocator, I think respecting alignment of the allocation request is important. > > [1] - https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013796.html Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Address review comment ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/537/files - new: https://git.openjdk.java.net/panama-foreign/pull/537/files/ecdb982d..b20aae53 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=537&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=537&range=00-01 Stats: 3 lines in 1 file changed: 1 ins; 1 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/537.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/537/head:pull/537 PR: https://git.openjdk.java.net/panama-foreign/pull/537 From mcimadamore at openjdk.java.net Mon May 17 15:08:28 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 17 May 2021 15:08:28 GMT Subject: [foreign-memaccess+abi] RFR: 8267240: Bounded arena allocator doesn't work if bounded size > BLOCK_SIZE [v2] In-Reply-To: References: Message-ID: <7pexympey60ssTtSfXgM0C0TlDDdtYOCQkVFSzyuYCk=.ca2ab8e8-f2df-42a4-9244-d56d69e5790e@github.com> On Mon, 17 May 2021 14:41:08 GMT, Jorn Vernee wrote: >> Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: >> >> Address review comment > > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ArenaAllocator.java line 61: > >> 59: return slice; >> 60: } else { >> 61: if (Utils.alignUp(bytesSize, bytesAlignment) > DEFAULT_MAX_ALLOC_SIZE) { > > This seems to be the subject of some of the emails. I think maybe it might be worth it to break this out into an intermediate variable with a good name? > > I also think the DEFAULT_MAX_ALLOC_SIZE could just be DEFAULT_BLOCK_SIZE, if we change this check to check for the maximum allocation size computed by `byteSize + bytesAlignment - 1` instead of using `alignUp`: > > Suggestion: > > long maxPossibleAllocationSize = bytesSize + bytesAlignment - 1; > if (maxPossibleAllocationSize > DEFAULT_BLOCK_SIZE) { > > > e.g. if we have an allocation aligned to 8 bytes, we can have a maximum of 7 bytes of alignment padding (in case the address is off by just 1 byte). I've accepted this comment ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/537 From jvernee at openjdk.java.net Mon May 17 15:31:42 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 17 May 2021 15:31:42 GMT Subject: [foreign-memaccess+abi] RFR: 8267240: Bounded arena allocator doesn't work if bounded size > BLOCK_SIZE [v2] In-Reply-To: References: Message-ID: On Mon, 17 May 2021 15:08:24 GMT, Maurizio Cimadamore wrote: >> This patch follows the discussion in [1], and splits the unbounded allocator from the bounded one, as attempts to reusing logic were causing issues when bounded arena allocators were created with bounded size > BLOCK_SIZE. >> >> I have looked for simplifications of the `trySlice` logic (also mentioned in the emails) - but in my opinion it cannot be simplified much. When an allocator is unbounded, if we receive a request that is more than half the size of the allocator block, we cannot guarantee that we can align it correctly in a segment whose size is BLOCK_SIZE. So, I think the limit of MAX_ALLOC_SIZE = BLOCK_SIZE / 2 is correct, in the sense that anything above that limit needs a standalone allocation (or we won't be able to align it in certain edge cases). >> >> Of course, if we didn't care about alignment, the logic could be simplified, but since this is a native allocator, I think respecting alignment of the allocation request is important. >> >> [1] - https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013796.html > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Address review comment LGTM ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/537 From duke at openjdk.java.net Mon May 17 15:34:17 2021 From: duke at openjdk.java.net (duke) Date: Mon, 17 May 2021 15:34:17 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <9c5c040d-686e-4867-80ea-19e29045c57b@openjdk.org> Changeset: 18f0e477 Author: Maurizio Cimadamore Date: 2021-05-17 15:32:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/18f0e477e335f17bc9d192771adf0d56f31c4d21 8267240: Bounded arena allocator doesn't work if bounded size > BLOCK_SIZE Reviewed-by: jvernee ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SegmentAllocator.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/ArenaAllocator.java ! test/jdk/java/foreign/TestSegmentAllocators.java Changeset: 6442b5f4 Author: duke Date: 2021-05-17 15:33:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6442b5f4030ef7c67a4c0142a376c30eb07561c9 Automatic merge of foreign-memaccess+abi into foreign-jextract From mcimadamore at openjdk.java.net Mon May 17 15:34:45 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 17 May 2021 15:34:45 GMT Subject: [foreign-memaccess+abi] Integrated: 8267240: Bounded arena allocator doesn't work if bounded size > BLOCK_SIZE In-Reply-To: References: Message-ID: On Mon, 17 May 2021 11:43:05 GMT, Maurizio Cimadamore wrote: > This patch follows the discussion in [1], and splits the unbounded allocator from the bounded one, as attempts to reusing logic were causing issues when bounded arena allocators were created with bounded size > BLOCK_SIZE. > > I have looked for simplifications of the `trySlice` logic (also mentioned in the emails) - but in my opinion it cannot be simplified much. When an allocator is unbounded, if we receive a request that is more than half the size of the allocator block, we cannot guarantee that we can align it correctly in a segment whose size is BLOCK_SIZE. So, I think the limit of MAX_ALLOC_SIZE = BLOCK_SIZE / 2 is correct, in the sense that anything above that limit needs a standalone allocation (or we won't be able to align it in certain edge cases). > > Of course, if we didn't care about alignment, the logic could be simplified, but since this is a native allocator, I think respecting alignment of the allocation request is important. > > [1] - https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013796.html This pull request has now been integrated. Changeset: 18f0e477 Author: Maurizio Cimadamore URL: https://git.openjdk.java.net/panama-foreign/commit/18f0e477e335f17bc9d192771adf0d56f31c4d21 Stats: 112 lines in 3 files changed: 61 ins; 37 del; 14 mod 8267240: Bounded arena allocator doesn't work if bounded size > BLOCK_SIZE Reviewed-by: jvernee ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/537 From duncan.mclean at gmail.com Mon May 17 16:12:36 2021 From: duncan.mclean at gmail.com (Duncan McLean) Date: Mon, 17 May 2021 12:12:36 -0400 Subject: [External] : Re: Help with VM Crash using the foreign linker In-Reply-To: <0eb98989-51a7-007b-8b39-6595498d862b@oracle.com> References: <353b9472-16ed-0427-0546-d04db58ecc70@oracle.com> <56384e98-6aef-63af-7144-415461974564@oracle.com> <0eb98989-51a7-007b-8b39-6595498d862b@oracle.com> Message-ID: Thank you so much Jorn and Maurizio, I really appreciate the time and effort looking into this. I have made the change you pointed out Jorn and it also now works for me. I'll be sure to get the next early access build as soon as it's available to keep my code up-to-date. Thanks again, Duncan On Mon, May 17, 2021 at 8:50 AM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Good catch Jorn. > > I confirm that this fixes the problem on Linux too (Duncan, I've been able > to make your project work on my Ubuntu :-) ). > > As for unexpected unloading, two notes as to how we're improving the > situation in the recent panama/17 > > * memory addresses are now scoped entities - which means having an address > on your hand will keep the scope reachable. So, in 17 this failure wouldn't > be possible. > > * The recent changes to drop the parallel library loading mechanism would > make this even harder to reproduce, as in the latest panama repo, libraries > are loaded by class loaders, and you can only ask the library lookup for > the current class loader. > > Maurizio > On 17/05/2021 13:23, Jorn Vernee wrote: > > However, in PassportFactory, you are discarding the Symbol, and only > keeping the address: > > MethodHandle methodHandle = linker. > downcallHandle(symb.address(), <--------------- > MethodType.methodType(methRet, parameters), > fd); > > Which means the library will not be kept loaded by the MethodHandle, and > indeed it is being unloaded. > > Symbol implements Addressable already, so there is no need to call > .address() here. If I remove that call, the crash goes away, and the test > passes. > > From markus.knetschke at gmail.com Mon May 17 18:14:16 2021 From: markus.knetschke at gmail.com (Markus Knetschke) Date: Mon, 17 May 2021 20:14:16 +0200 Subject: A few considerations (mostly) on jextract In-Reply-To: References: Message-ID: On 17/5/2021 11:54, Maurizio Cimadamore wrote: > > 1) the classes for structs jextract generates don't feel very oo to > > me. I would like to see a class with constructor and getter/setter > > methods encapsulating the MemorySegment. > > I hear you - this is indeed possible, at the cost of more allocation. > For now we have tried to stick to a principle that jextract should not > add overhead, but I tend to agree that, in the case of struct, this ends > up being punitive at times (especially when you have structs nested > inside structs nested inside structs). > > I believe at some point some other experiment will be made to make > struct handling more OO (as you say), and, if we can get some help from > Valhalla primitive types, maybe we won't even pay a performance price! Don't get me wrong, I don't suggest removing the public static MemoryAddress xxx$get(MemorySegment seg) accessors but add a MemorySegment field, a constructor, and accessors. So everyone can choose if one uses the static methods or calls the constructor. Bonus Points if jextract generates additional downcalls extracting the MemorySegment from wrapper objects and upcall wrapper calling the constructor of the wrapper objects. I've tried a simple annotation processor which works well when there is a solution for 2). So it's not the highest priority and I guess we get at least 2 release cycles before jextract reaches preview status. Enough time to experiment with multiple variants. > > 2) there is no public interface to get the FunctionDescriptor and the > > MethodType of callbacks. (ok the MethodType could get extracted by > > Reflection from the generated interface) If you start with a > > MethodHandle already you have to either wrap it with > > MethodHandleProxies.asInterfaceInstance or writing the already > > existing information into your written code. I would like to see a > > getter for the MethodType and a method registering a method handle as > > a callback (something like static MemorySegment allocate(MethodHandle > > mh)) or two getters for MethodType and FunctionDescriptor. > > These can be easily added - basically, you are in the situation where > you already have a method handle, and so functional interfaces work > _against_ you. Got it. Yes especially with a wrapper generator mentioned all the converting parts could be done with method handles resulting in very fast code but getting the FD is very hard if you don't want to guess how the field in _constants_ is named and force adding open in the module-info file. Btw it would be great if jextract could generate a module-info.java itself. > > 3) I often encounter fixed-length arrays in structs holding stings. > > The best way I've found to extract them safely is to first get the > > start offset of the string with MemoryLayout.byteOffset(path) then > > extracting the size of the struct field with > > MemoryLayout.select(path).byteSize() and reading the string with > > CLinker.toJavaString(struct.asSlice(offset, size)) this is very bulky > > for simple things like putting ten strings from a struct into a > > record. I would like to see a simpler way for this for example a > > MemorySegment.asSlice(MemoryLayout, PathElement...) method. (This > > would be handy too for byte array struct fields. > > In the new API, we have a new method in MemoryLayout like this: > > default MethodHandle sliceHandle(PathElement... elements) { > > Which I think does what you want? > It looks a bit better than my own public static asSlice method but I'm not sure if a task simple as reading a fixed-length string of a struct should be as long as CLinker.toJavaString((MemorySegment) getSubvolInfoIoctlArgs.sliceHandle(groupElement("name")).invoke(ioctlArg)) or reading a fixed number of bytes ((MemorySegment) getSubvolInfoIoctlArgs.sliceHandle(groupElement("parent_uuid")).invoke(ioctlArg)).toByteArray() having a MethodHandle(MemorySegment, PathElement...)MemorySegment would be more useful because you could .bindTo() the struct and access multiple fields through it. Bringing the aboth example to: var getSlice = getSubvolInfoIoctlArgs.sliceHandle().bindTo(ioctlArg) CLinker.toJavaString((MemorySegment) getSlice.invoke(groupElement("name")) ((MemorySegment) getSlice.invoke(groupElement("parent_uuid"))).toByteArray() But with this, the needed cast and the try {} catch (Throwable ignored) {} remain and are looking very ugly in my mind. On the other hand, it's only a problem if you don't want to use jextract. Best regards, Markus Knetschke From stigdoessing at gmail.com Mon May 17 18:40:15 2021 From: stigdoessing at gmail.com (=?UTF-8?Q?Stig_Rohde_D=C3=B8ssing?=) Date: Mon, 17 May 2021 20:40:15 +0200 Subject: Comments on SegmentAllocator and ResourceScope In-Reply-To: References: <22bb47f0-a4f1-59fe-4502-5c47df25255f@gmail.com> Message-ID: Thanks for the explanations. That hardcoded default size seems reasonable enough to me as it's a > trade off between various issues like system memory fragmentation, > overheads, performance, and simplicity. > > The default size makes sense, but the SegmentAllocator example in JEP 412 says that memory allocation can be a bottleneck, and uses the unbounded arena allocator in an example where many small off-heap arrays are sliced off a block. This led me to believe that using an arena allocator should be encouraged in any case where the application needs to allocate many off-heap segments at once, but I am now getting the impression that this was not what this example was intended to communicate, and the arena allocator is only useful when the slices are very small (less than 2KB in size), and there is no reason to use it when creating larger segments. Is this correctly understood? I read that section as saying you need to use > the handle methods to ensure proper behaviour, exceptions would then > expose code faults > > Okay, so Handles are not a coordination utility, they are a guard rail/debugging utility that makes the closing thread throw an exception if "close" is called inappropriately, rather than letting the close happen, and then potentially failing in an uglier way in the thread using the resource, or further downstream. Right? I don't see anything preventing us from overriding defaults > > Sure. If specifying a block size as a parameter to the unbounded arena allocator is something you turn out to want to add later, you might run into a bit of awkwardness with the two factory functions in SegmentAllocator. They are both named "arenaAllocator", even though one is for bounded allocators and the other is not. The interfaces allow to implement memory pools, as is. See this attempt > > Thank you, exactly what I was hoping for. Handle not being AutoCloseable makes sense, thanks for explaining. Den man. 17. maj 2021 kl. 12.26 skrev Maurizio Cimadamore < maurizio.cimadamore at oracle.com>: > > On 17/05/2021 07:47, Michael Zucchi wrote: > > Looks a bit odd but note that the original segment is still the > > current one for subsequent allocations so it will still be used for > > other small allocations, it probably doesn't have much effect but it > > might reduce allocation holes. Also whatever the value is the limit > > has to be half the block allocation size for alignment to work > > properly since the base allocations are assumed to be unaligned. > > > > It's also testing against the bytesAlignment aligned size which is not > > the value bytesAlignment applies to, but by having MAX_ALLOC_SIZE == > > BLOCK_SIZE/2 this also 'magically' tests the unaligned allocation size > > limit required to guarantee satisfaction of the alignment as well. > > Seems overly tricksy. Also not a fan of "this should not be possible" > > comment & assertion that only /seems/ to be there to check this > > tricksiness and enforce the internal expected behaviour of trySlice() > > - which isn't really serving any purpose as a separate function since > > the 'try' only affects the first invocation and it isn't used elsewhere. > > > > This also causes the bug above and seems to indicate the > > straightforward logic flow of "try-to-fit ELSE IF SMALL > > allocate-and-slice ELSE allocate-separate" all in a single function > > would be better - even if it does end up with more holes in certain > > cases (you win some, you lose some). > It's true that MAX_ALLOC_SIZE is set to half the block so that we can > still adjust for unaligned allocations within the allocated block. I'll > see if the logic can be simplified - at the very minimum, if we want to > reuse implementation between bounded and unbounded, some of these limits > (block size, max allocation size) need to be made instance-dependent. > > > > As an aside the javadoc doesn't seem mention anywhere that > > bytesAlignment must be a power of 2. Neither is it checked for > > validity, that may be on purpose for performance reasons but the > > comparable posix_memalign() /aligned_alloc() fail with EINVAL if it > > isn't and well things can get pretty bizarre if it isn't valid. It > > isn't an expensive check, > > https://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2 > > or equivalently (Long.lowestOneBit(i) == i). > > The javadoc could probably be made clearer - but the only way to set > alignment is "withAlignmentBits", and the javadoc there expects bit > alignment to be a power of two and >= 8. So I think you can conclude > that byte alignment must also be a power of two. > > One thing which probably fell through the cracks, is that the alignment > check does not apply when a layout is created - e.g. > MemoryLayout.valueLayout(10, ByteOrder.nativeOrder()) succeeds, and sets > alignment of 10, which is incorrect. Same is true for the recursive > cases, e.g. when a struct/union/sequence layouts are created. I think > some extra checks are required here. Also, if we want to allow sub-byte > sizes (e.g. for describing bitmasks) we need to be able to accept bit > alignment smaller (but still power of two) than 8, I think. > > Maurizio > > From maurizio.cimadamore at oracle.com Mon May 17 20:27:04 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 17 May 2021 21:27:04 +0100 Subject: A few considerations (mostly) on jextract In-Reply-To: References: Message-ID: <4ca8dae3-1e23-9ce6-ac2e-79bf5ff2e3f6@oracle.com> On 17/05/2021 19:14, Markus Knetschke wrote: > On 17/5/2021 11:54, Maurizio Cimadamore wrote: >>> 1) the classes for structs jextract generates don't feel very oo to >>> me. I would like to see a class with constructor and getter/setter >>> methods encapsulating the MemorySegment. >> I hear you - this is indeed possible, at the cost of more allocation. >> For now we have tried to stick to a principle that jextract should not >> add overhead, but I tend to agree that, in the case of struct, this ends >> up being punitive at times (especially when you have structs nested >> inside structs nested inside structs). >> >> I believe at some point some other experiment will be made to make >> struct handling more OO (as you say), and, if we can get some help from >> Valhalla primitive types, maybe we won't even pay a performance price! > Don't get me wrong, I don't suggest removing the > public static MemoryAddress xxx$get(MemorySegment seg) > accessors but add a MemorySegment field, a constructor, and accessors. > So everyone can choose if one uses the static methods or calls the constructor. > Bonus Points if jextract generates additional downcalls extracting the > MemorySegment from wrapper objects and upcall wrapper calling > the constructor of the wrapper objects. > I've tried a simple annotation processor which works well > when there is a solution for 2). So it's not the highest priority > and I guess we get at least 2 release cycles before jextract > reaches preview status. Enough time to experiment with multiple variants. So you are suggesting to offer both variants - both static (which is what we have) and object-oriented, with instance methods. Yeah - the two might definitively coexist, and you are right that, there are, in general, good use cases for both. > >>> 3) I often encounter fixed-length arrays in structs holding stings. >>> The best way I've found to extract them safely is to first get the >>> start offset of the string with MemoryLayout.byteOffset(path) then >>> extracting the size of the struct field with >>> MemoryLayout.select(path).byteSize() and reading the string with >>> CLinker.toJavaString(struct.asSlice(offset, size)) this is very bulky >>> for simple things like putting ten strings from a struct into a >>> record. I would like to see a simpler way for this for example a >>> MemorySegment.asSlice(MemoryLayout, PathElement...) method. (This >>> would be handy too for byte array struct fields. >> In the new API, we have a new method in MemoryLayout like this: >> >> default MethodHandle sliceHandle(PathElement... elements) { >> >> Which I think does what you want? >> > It looks a bit better than my own public static asSlice method but I'm not sure > if a task simple as reading a fixed-length string of a struct should > be as long as > CLinker.toJavaString((MemorySegment) > getSubvolInfoIoctlArgs.sliceHandle(groupElement("name")).invoke(ioctlArg)) > or reading a fixed number of bytes > ((MemorySegment) > getSubvolInfoIoctlArgs.sliceHandle(groupElement("parent_uuid")).invoke(ioctlArg)).toByteArray() > having a > MethodHandle(MemorySegment, PathElement...)MemorySegment > would be more useful because you could .bindTo() the struct and access multiple > fields through it. Bringing the aboth example to: > var getSlice = getSubvolInfoIoctlArgs.sliceHandle().bindTo(ioctlArg) > CLinker.toJavaString((MemorySegment) getSlice.invoke(groupElement("name")) > ((MemorySegment) getSlice.invoke(groupElement("parent_uuid"))).toByteArray() > > But with this, the needed cast and the try {} catch (Throwable ignored) {} > remain and are looking very ugly in my mind. > On the other hand, it's only a problem if you don't want to use jextract. I'll need to think more about this - but it seems to me that with the asSlice MethodHandle you want to build up as much access as you can before hand. For instance, you could create the sliceHandle before hand and stick it into a static final field (as that's the only way the MH will optimize properly). Then you can combine the slice method handle with a method handle for CLinker::toJavaString (using filterReturnValue). That way you can simply access the fixed length string by calling a single method handle, and, since the method handle is static, it will be optimized accordingly. In other words, path elements are static coordinates which you should use to build var/method handles, which you then store in static fields. That way access expression is optimized all the way down. Having a method handle whose access expression is "parametric" means that there's no way for the underlying access to be optimized. Maurizio > > Best regards, > Markus Knetschke From maurizio.cimadamore at oracle.com Mon May 17 20:33:07 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 17 May 2021 21:33:07 +0100 Subject: Comments on SegmentAllocator and ResourceScope In-Reply-To: References: <22bb47f0-a4f1-59fe-4502-5c47df25255f@gmail.com> Message-ID: On 17/05/2021 19:40, Stig Rohde D?ssing wrote: > Thanks for the explanations. > > That hardcoded default size seems reasonable enough to me as it's a >> trade off between various issues like system memory fragmentation, >> overheads, performance, and simplicity. >> >> The default size makes sense, but the SegmentAllocator example in JEP 412 > says that memory allocation can be a bottleneck, and uses the unbounded > arena allocator in an example where many small off-heap arrays are sliced > off a block. This led me to believe that using an arena allocator should be > encouraged in any case where the application needs to allocate many > off-heap segments at once, but I am now getting the impression that this > was not what this example was intended to communicate, and the arena > allocator is only useful when the slices are very small (less than 2KB in > size), and there is no reason to use it when creating larger segments. Is > this correctly understood? I think that, as the JEP says, custom allocators (and hence arena allocators) are made for fine tuning memory allocation performances. As I said, since the API is relatively fresh, we didn't see use cases for providing flexibility in terms of threshold, but there's nothing preventing us from offering an overload which takes a block size. > I read that section as saying you need to use >> the handle methods to ensure proper behaviour, exceptions would then >> expose code faults >> >> Okay, so Handles are not a coordination utility, they are a guard > rail/debugging utility that makes the closing thread throw an exception if > "close" is called inappropriately, rather than letting the close happen, > and then potentially failing in an uglier way in the thread using the > resource, or further downstream. Right? I think it's a bit more than debugging, in that sense that APIs might depend on that to enforce correctness. For instance the socket implementation changes that were done recently to support byte buffers derived by shared segments make extensive use of scope handles. Without this use, it would be possible e.g. for an asyn IO request to cause a VM crash, first by requesting an async IO operation on a byte buffer backed by a segment, and then closing the segment _before_ (or _while) the IO operation has occurred. Maurizio From stigdoessing at gmail.com Mon May 17 20:52:46 2021 From: stigdoessing at gmail.com (=?UTF-8?Q?Stig_Rohde_D=C3=B8ssing?=) Date: Mon, 17 May 2021 22:52:46 +0200 Subject: Comments on SegmentAllocator and ResourceScope In-Reply-To: References: <22bb47f0-a4f1-59fe-4502-5c47df25255f@gmail.com> Message-ID: > > I think it's a bit more than debugging, in that sense that APIs might > depend on that to enforce correctness That makes a lot of sense, did not consider that. Thanks for elaborating. There's nothing preventing us from offering an overload which takes a block > size > That's fair. In case you think it is likely you might want to add an overload later, it might make sense to name the two "arenaAllocator" methods in SegmentAllocator so their names reflect boundedness. If you want to add an overload for the unbounded allocator that takes a chunk size, I think you will end up conflicting with "arenaAllocator(long size, ResourceScope scope)", which is the bounded variant (or you'd have to name the new method something else) Den man. 17. maj 2021 kl. 22.33 skrev Maurizio Cimadamore < maurizio.cimadamore at oracle.com>: > > On 17/05/2021 19:40, Stig Rohde D?ssing wrote: > > Thanks for the explanations. > > > > That hardcoded default size seems reasonable enough to me as it's a > >> trade off between various issues like system memory fragmentation, > >> overheads, performance, and simplicity. > >> > >> The default size makes sense, but the SegmentAllocator example in JEP > 412 > > says that memory allocation can be a bottleneck, and uses the unbounded > > arena allocator in an example where many small off-heap arrays are sliced > > off a block. This led me to believe that using an arena allocator should > be > > encouraged in any case where the application needs to allocate many > > off-heap segments at once, but I am now getting the impression that this > > was not what this example was intended to communicate, and the arena > > allocator is only useful when the slices are very small (less than 2KB in > > size), and there is no reason to use it when creating larger segments. Is > > this correctly understood? > > I think that, as the JEP says, custom allocators (and hence arena > allocators) are made for fine tuning memory allocation performances. As > I said, since the API is relatively fresh, we didn't see use cases for > providing flexibility in terms of threshold, but there's nothing > preventing us from offering an overload which takes a block size. > > > > I read that section as saying you need to use > >> the handle methods to ensure proper behaviour, exceptions would then > >> expose code faults > >> > >> Okay, so Handles are not a coordination utility, they are a guard > > rail/debugging utility that makes the closing thread throw an exception > if > > "close" is called inappropriately, rather than letting the close happen, > > and then potentially failing in an uglier way in the thread using the > > resource, or further downstream. Right? > > I think it's a bit more than debugging, in that sense that APIs might > depend on that to enforce correctness. For instance the socket > implementation changes that were done recently to support byte buffers > derived by shared segments make extensive use of scope handles. Without > this use, it would be possible e.g. for an asyn IO request to cause a VM > crash, first by requesting an async IO operation on a byte buffer backed > by a segment, and then closing the segment _before_ (or _while) the IO > operation has occurred. > > > Maurizio > From sviswanathan at openjdk.java.net Tue May 18 01:05:40 2021 From: sviswanathan at openjdk.java.net (Sandhya Viswanathan) Date: Tue, 18 May 2021 01:05:40 GMT Subject: RFR: 8263532: C2: Improve vector box elimination for Phi nodes In-Reply-To: References: Message-ID: On Fri, 12 Mar 2021 16:12:58 GMT, Vladimir Ivanov wrote: > Enhance vector box elimination when merging VectorBox nodes through Phis. @iwanowww Please change the target branch to vectorIntrinsics. Then /integrate should succeed. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/50 From xgong at openjdk.java.net Tue May 18 05:56:09 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Tue, 18 May 2021 05:56:09 GMT Subject: [vectorIntrinsics] RFR: 8267224: Vector API SVE codegen cleanups In-Reply-To: References: Message-ID: On Mon, 17 May 2021 09:19:04 GMT, Ningsheng Jian wrote: > Some code cleanups for SVE: > > - Revert sve_dup assembler changes, as well as similar changes to sve_cpy assembler. See [1]. > - Refactor fcvt/fcvtzs/scvtf assembler code. > - Add more assembler tests to make sure the coverage for newly added assembler routines. > - Fix gather/scatter addressing issue. > - Some code style cleanups. > - Merge some matching patterns. > > [1] https://github.com/openjdk/jdk/pull/1307 Marked as reviewed by xgong (Committer). Looks good to me. Thanks! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/82 From njian at openjdk.java.net Tue May 18 07:21:12 2021 From: njian at openjdk.java.net (Ningsheng Jian) Date: Tue, 18 May 2021 07:21:12 GMT Subject: [vectorIntrinsics] Integrated: 8267224: Vector API SVE codegen cleanups In-Reply-To: References: Message-ID: On Mon, 17 May 2021 09:19:04 GMT, Ningsheng Jian wrote: > Some code cleanups for SVE: > > - Revert sve_dup assembler changes, as well as similar changes to sve_cpy assembler. See [1]. > - Refactor fcvt/fcvtzs/scvtf assembler code. > - Add more assembler tests to make sure the coverage for newly added assembler routines. > - Fix gather/scatter addressing issue. > - Some code style cleanups. > - Merge some matching patterns. > > [1] https://github.com/openjdk/jdk/pull/1307 This pull request has now been integrated. Changeset: 34ca5490 Author: Ningsheng Jian URL: https://git.openjdk.java.net/panama-vector/commit/34ca5490d876b7263e6e602c41d4df4d0c2c26b7 Stats: 633 lines in 8 files changed: 77 ins; 207 del; 349 mod 8267224: Vector API SVE codegen cleanups Reviewed-by: xgong ------------- PR: https://git.openjdk.java.net/panama-vector/pull/82 From sundar at openjdk.java.net Tue May 18 09:51:17 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 18 May 2021 09:51:17 GMT Subject: [foreign-jextract] RFR: 8267305: regenerate clang jextract binding Message-ID: clang.symbols file to list the symbols used. ------------- Commit messages: - 8267305: regenerate clang jextract binding Changes: https://git.openjdk.java.net/panama-foreign/pull/538/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=538&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8267305 Stats: 14511 lines in 34 files changed: 3136 ins; 10850 del; 525 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/538.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/538/head:pull/538 PR: https://git.openjdk.java.net/panama-foreign/pull/538 From mcimadamore at openjdk.java.net Tue May 18 10:11:48 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 18 May 2021 10:11:48 GMT Subject: [foreign-jextract] RFR: 8267305: regenerate clang jextract binding In-Reply-To: References: Message-ID: On Tue, 18 May 2021 09:39:56 GMT, Athijegannathan Sundararajan wrote: > clang.symbols file to list the symbols used. Looks really good and much more compact than what we had before! I left some minor code comments on code not autogenerated. src/jdk.incubator.jextract/share/classes/jdk/internal/clang/Index.java line 87: > 85: public TranslationUnit parseTU(String file, Consumer dh, int options, String... args) > 86: throws ParsingFailedException { > 87: try (ResourceScope scope = ResourceScope.newConfinedScope()) { Watch out for indentation in this method - e.g. the `throws` clause seems odd on the new line. Also, there are missing spaces before/after the conditional operator `?` src/jdk.incubator.jextract/share/classes/jdk/internal/clang/TranslationUnit.java line 85: > 83: } > 84: > 85: static long FILENAME_OFFSET = CXUnsavedFile.$LAYOUT().bitOffset(MemoryLayout.PathElement.groupElement("Filename")) / 8; can we use byteOffset instead of bitOffset / 8 ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/538 From njian at openjdk.java.net Tue May 18 10:22:50 2021 From: njian at openjdk.java.net (Ningsheng Jian) Date: Tue, 18 May 2021 10:22:50 GMT Subject: [vectorIntrinsics] RFR: Merge panama-vector:master Message-ID: <_vdg6MdW9270Ch3hbOC4QBMFqZGMkjSEutfc6szZdRY=.547ba335-0e3a-414a-a0b6-326506ea060c@github.com> Merge with master. Vector API tests passed on both x86 and aarch64. Conflicts are in *.ad. Resolved by moving the code to matcher_*.hpp to align with https://github.com/openjdk/jdk/pull/3947. ------------- Commit messages: - Merge with master - 8251392: Consolidate Metaspace Statistics - 8267116: Lanai: Incorrect AlphaComposite for VolatileImage graphics - 8266404: Fatal error report generated with -XX:+CrashOnOutOfMemoryError should not contain suggestion to submit a bug report - 8267112: JVMCI compiler modules should be kept upgradable - 8264777: Overload optimized FileInputStream::readAllBytes - 8266742: Check W^X state on possible safepoint - 8266520: Revert to OpenGL as the default 2D rendering pipeline for macOS - 8265705: aarch64: KlassDecodeMovk mode broken - 8264561: javap get NegativeArraySizeException on bad instruction - ... and 270 more: https://git.openjdk.java.net/panama-vector/compare/34ca5490...85c4eb0e The webrevs contain the adjustments done while merging with regards to each parent branch: - vectorIntrinsics: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=83&range=00.0 - panama-vector:master: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=83&range=00.1 Changes: https://git.openjdk.java.net/panama-vector/pull/83/files Stats: 59159 lines in 1426 files changed: 30056 ins; 17498 del; 11605 mod Patch: https://git.openjdk.java.net/panama-vector/pull/83.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/83/head:pull/83 PR: https://git.openjdk.java.net/panama-vector/pull/83 From jvernee at openjdk.java.net Tue May 18 11:25:04 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 18 May 2021 11:25:04 GMT Subject: [foreign-jextract] RFR: 8267305: regenerate clang jextract binding In-Reply-To: References: Message-ID: On Tue, 18 May 2021 09:39:56 GMT, Athijegannathan Sundararajan wrote: > clang.symbols file to list the symbols used. LGTM ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/538 From vlivanov at openjdk.java.net Tue May 18 11:30:09 2021 From: vlivanov at openjdk.java.net (Vladimir Ivanov) Date: Tue, 18 May 2021 11:30:09 GMT Subject: Withdrawn: 8263532: C2: Improve vector box elimination for Phi nodes In-Reply-To: References: Message-ID: <3dN9vmhq_9JLGDR17uzQ_Jqzs2DApX0uhP-F2cYN0Co=.160955ce-942c-4d59-8d13-39151a008a69@github.com> On Fri, 12 Mar 2021 16:12:58 GMT, Vladimir Ivanov wrote: > Enhance vector box elimination when merging VectorBox nodes through Phis. This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/50 From vlivanov at openjdk.java.net Tue May 18 11:33:21 2021 From: vlivanov at openjdk.java.net (Vladimir Ivanov) Date: Tue, 18 May 2021 11:33:21 GMT Subject: [vectorIntrinsics] RFR: 8263532: C2: Improve vector box elimination for Phi nodes Message-ID: Enhance vector box elimination when merging VectorBox nodes through Phis. ------------- Commit messages: - Merge branch 'master' into vector.phi - Enhance vector box elimination when merging VectorBox nodes through Phis Changes: https://git.openjdk.java.net/panama-vector/pull/84/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=84&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8263532 Stats: 94 lines in 2 files changed: 60 ins; 1 del; 33 mod Patch: https://git.openjdk.java.net/panama-vector/pull/84.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/84/head:pull/84 PR: https://git.openjdk.java.net/panama-vector/pull/84 From sundar at openjdk.java.net Tue May 18 11:54:35 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 18 May 2021 11:54:35 GMT Subject: [foreign-jextract] RFR: 8267305: regenerate clang jextract binding [v2] In-Reply-To: References: Message-ID: <0fuTRjWy7Q-T3l0qNk3UQ8pZf2LVPjaGa_jIn4Rou1k=.6e156392-11d2-44db-b0bf-83b2e7e79113@github.com> > clang.symbols file to list the symbols used. Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: changes suggested during code review ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/538/files - new: https://git.openjdk.java.net/panama-foreign/pull/538/files/f2ef97cf..30bb1a43 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=538&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=538&range=00-01 Stats: 5 lines in 2 files changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/538.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/538/head:pull/538 PR: https://git.openjdk.java.net/panama-foreign/pull/538 From mcimadamore at openjdk.java.net Tue May 18 11:55:38 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 18 May 2021 11:55:38 GMT Subject: [foreign-jextract] RFR: 8267305: regenerate clang jextract binding [v2] In-Reply-To: <0fuTRjWy7Q-T3l0qNk3UQ8pZf2LVPjaGa_jIn4Rou1k=.6e156392-11d2-44db-b0bf-83b2e7e79113@github.com> References: <0fuTRjWy7Q-T3l0qNk3UQ8pZf2LVPjaGa_jIn4Rou1k=.6e156392-11d2-44db-b0bf-83b2e7e79113@github.com> Message-ID: <2VLDCunSbKiqfqEAh0Cck-u09QWY9ajApBZwxghJGuE=.80fc81a5-e8cc-412b-92e4-275b4f694b9c@github.com> On Tue, 18 May 2021 11:54:35 GMT, Athijegannathan Sundararajan wrote: >> clang.symbols file to list the symbols used. > > Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: > > changes suggested during code review Looks good ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/538 From sundar at openjdk.java.net Tue May 18 12:00:12 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 18 May 2021 12:00:12 GMT Subject: [foreign-jextract] Integrated: 8267305: regenerate clang jextract binding In-Reply-To: References: Message-ID: On Tue, 18 May 2021 09:39:56 GMT, Athijegannathan Sundararajan wrote: > clang.symbols file to list the symbols used. This pull request has now been integrated. Changeset: 601ce858 Author: Athijegannathan Sundararajan URL: https://git.openjdk.java.net/panama-foreign/commit/601ce858f67290f32a328ad28d9c6f78589f8394 Stats: 14512 lines in 34 files changed: 3136 ins; 10850 del; 526 mod 8267305: regenerate clang jextract binding Reviewed-by: mcimadamore, jvernee ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/538 From pedro.lamarao at prodist.com.br Tue May 18 18:05:26 2021 From: pedro.lamarao at prodist.com.br (=?UTF-8?Q?Pedro_Lamar=C3=A3o?=) Date: Tue, 18 May 2021 15:05:26 -0300 Subject: Implementation of IO with Panama In-Reply-To: References: Message-ID: Hi all, The following is a repository with my experiments using the foreign linker. It is up to date with a recent build from panama-jextract. Included is an implementation for asynchronous sockets using overlapped I/O and completion ports. https://github.com/pedrolamarao/sandbox-jvm-foreign The most interesting test is a pressure test for asynchronous accept / connect. Atte. Pedro. Em seg., 19 de abr. de 2021 ?s 10:37, Pedro Lamar?o < pedro.lamarao at prodist.com.br> escreveu: > Rado, > thanks for this interesting work! > It has inspired me to push my own incomplete experiments with NIO for > Windows. > I have just pushed it to github for your consideration. > win32 = https://github.com/pedrolamarao/sandbox-jvm-windows > nio = https://github.com/pedrolamarao/sandbox-jvm-windows-nio > I hope you will find them useful! > I'm waiting for an opportunity to update them to the new FMA API. > Atte. > Pedro. > > > Em qui., 15 de abr. de 2021 ?s 20:40, Rados?aw Smogura > escreveu: > >> Hi all, >> >> I hope you have a good day. >> >> I started implementing I/O for JDK using Panama (I could not find such >> project). I think this is natural consequence of Panama project. >> >> Right now, it's done as separate Maven project, which can be found here >> https://github.com/rsmogura/panama-io >> >> Generally, I'm happy it went so smooth. >> >> Well done! >> >> I created CachedAllocator (first version) which will keep memory segments >> cached to avoid calling alloc / free (I did not make performance tests >> between both versions). >> >> I created as well simple benchmarks >> Benchmark Mode Cnt Score Error >> Units >> SocketReadJdk.teatRead4k thrpt 15 1202109.549 ? 127132.855 >> ops/s >> SocketReadJdk.testRead16b thrpt 15 2818334.225 ? 82209.971 >> ops/s >> SocketReadJdk.testRead8bOffset thrpt 15 2851310.595 ? 20675.631 >> ops/s >> SocketReadPosix.teatRead4k thrpt 15 1187974.868 ? 101285.497 >> ops/s >> SocketReadPosix.testRead16b thrpt 15 2963827.190 ? 62004.165 >> ops/s >> SocketReadPosix.testRead8bOffset thrpt 15 2999631.814 ? 23925.859 >> ops/s >> >> From minor things and ideas: >> >> * I could not capture errno using jextract, my script uses >> --include-var errno, but I had ask for this symbol manually >> * Privately I wonder about safety of errno, as between call to Posix >> function and reading value we have JVM, which can meantime invoke Posix >> methods too and make errno dirty (low probability I think) >> * I wonder if we could add class LocalSegmentAllocator which will >> allocate memory segment on stack (I know there are some risks) >> >> If you have any questions, or ideas I'm happy to answer. >> >> and I think with moving forward I can provide quite interesting feedback. >> >> The goal is to make complete rewrite, together with mmap, and async I/O. >> >> Best regards, >> Rado >> > > > -- > Pedro Lamar?o > https://www.prodist.com.br > Securing Critical Systems > Tel: +55 11 4380-6585 > > Antes de imprimir esta mensagem e seus anexos, certifique-se que seja > realmente necess?rio. > Proteger o meio ambiente ? nosso dever. > Before printing this e-mail or attachments, be sure it is necessary. > It is in our hands to protect the environment. > -- Pedro Lamar?o https://www.prodist.com.br Securing Critical Systems Tel: +55 11 4380-6585 Antes de imprimir esta mensagem e seus anexos, certifique-se que seja realmente necess?rio. Proteger o meio ambiente ? nosso dever. Before printing this e-mail or attachments, be sure it is necessary. It is in our hands to protect the environment. From njian at openjdk.java.net Wed May 19 01:47:59 2021 From: njian at openjdk.java.net (Ningsheng Jian) Date: Wed, 19 May 2021 01:47:59 GMT Subject: [vectorIntrinsics] RFR: Merge panama-vector:master In-Reply-To: <_vdg6MdW9270Ch3hbOC4QBMFqZGMkjSEutfc6szZdRY=.547ba335-0e3a-414a-a0b6-326506ea060c@github.com> References: <_vdg6MdW9270Ch3hbOC4QBMFqZGMkjSEutfc6szZdRY=.547ba335-0e3a-414a-a0b6-326506ea060c@github.com> Message-ID: On Tue, 18 May 2021 10:16:12 GMT, Ningsheng Jian wrote: > Merge with master. Vector API tests passed on both x86 and aarch64. > > Conflicts are in *.ad. Resolved by moving the code to matcher_*.hpp to align with https://github.com/openjdk/jdk/pull/3947. @sviswa7 Could you please help to take a look at manual merge changes in x86*.ad and matcher_x86.hpp? Thanks! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/83 From xgong at openjdk.java.net Wed May 19 03:44:12 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Wed, 19 May 2021 03:44:12 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Fri, 14 May 2021 16:40:47 GMT, Vladimir Ivanov wrote: >> Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. >> >> Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. >> >> Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8264563 > > Overall, looks good. > > 2 comments: > * On naming: while browsing the patch and seeing `Masked` I constantly think about non-Masked counterpart. What about reusing `unaryOp`/`binaryOp`/`ternaryOp` names for the merged intrinsic? > > * Can you remind me what happens for SVML stubs when `mask != NULL`? Does the JVM reject the intrinsification? I believe the stubs don't support masked operation mode. Hi @iwanowww , do you have any other comments for this PR? Can we merge this PR first and revisit the naming issue after then? ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From xgong at openjdk.java.net Wed May 19 06:45:49 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Wed, 19 May 2021 06:45:49 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: References: Message-ID: On Wed, 12 May 2021 10:50:30 GMT, Jatin Bhateja wrote: >> Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains: >> 1) Generation of the mask IRs for vector mask, including: >> - Mask generations, e.g. load/compare/maskAll >> - Mask operations, e.g. and/or/xor >> 2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory >> 3) Generation of the vector IRs which need the mask value as the control >> - The mask value is appended to the original vector node's input list >> >> With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added. >> >> Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the >> followed-up patches. >> >> [1] https://github.com/openjdk/panama-vector/pull/57 > > src/hotspot/share/opto/vectorIntrinsics.cpp line 84: > >> 82: assert(check_vbox(vbox_type), ""); >> 83: const TypeVect* vt = is_vector_mask(vbox_type->klass()) ? >> 84: TypeVect::makemask(elem_bt, num_elem) : TypeVect::make(elem_bt, num_elem); > > Box type which is an envelope type should still be the same e.g. Int256VectorMask. Value contained in the Masked Box should be of type vectmask. @jatin-bhateja , did you see any issue if the type of `VectorBox/VectorUnbox ` is not the enveloped vector type? ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From xgong at openjdk.java.net Wed May 19 08:36:20 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Wed, 19 May 2021 08:36:20 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support In-Reply-To: References: Message-ID: On Wed, 19 May 2021 06:42:41 GMT, Xiaohong Gong wrote: >> src/hotspot/share/opto/vectorIntrinsics.cpp line 84: >> >>> 82: assert(check_vbox(vbox_type), ""); >>> 83: const TypeVect* vt = is_vector_mask(vbox_type->klass()) ? >>> 84: TypeVect::makemask(elem_bt, num_elem) : TypeVect::make(elem_bt, num_elem); >> >> Box type which is an envelope type should still be the same e.g. Int256VectorMask. Value contained in the Masked Box should be of type vectmask. > > @jatin-bhateja , did you see any issue if the type of `VectorBox/VectorUnbox ` is not the enveloped vector type? I found out another reason why I need to set the `TypeVectMask` for `VectorBox/Unbox`. This is mainly used to make the assertions for mask inputs work well when creating a masked node, like the assertion in: StoreVectorMaskedNode(Node* c, Node* mem, Node* dst, Node* src, const TypePtr* at, Node* mask) : StoreVectorNode(c, mem, dst, at, src) { assert(mask->bottom_type()->isa_vectmask(), "sanity"); init_class_id(Class_StoreVector); set_mismatched_access(); add_req(mask); } If the `StoreVectorMaskedNode` is created before expanding the `VectorUnbox` nodes, the mask value might be a `VectorUnbox` which has a `TypeVect` type while not the expected mask type. And then the assertion will fail. We can also remove all the assertions in the constructor methods to make a workaround. But I think it's not a safe way. Any better idea to handle the conflicts? Thanks! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From whuang at openjdk.java.net Wed May 19 09:32:11 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Wed, 19 May 2021 09:32:11 GMT Subject: [vectorIntrinsics] RFR: 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend Message-ID: Reason: operand pRegGov() %{ constraint(ALLOC_IN_RC(gov_pr)); match(RegVectMask); op_cost(0); format %{ %} interface(REG_INTER); %} if `pRegGov` is used as a `TEMP`, like : instruct insertB_small(vReg dst, vReg src, iRegIorL2I val, immI idx, pRegGov pTmp, rFlagsReg cr) %{ predicate(UseSVE > 0 && n->as_Vector()->length() <= 32 && n->bottom_type()->is_vect()->element_basic_type() == T_BYTE); match(Set dst (VectorInsert (Binary src val) idx)); effect(TEMP_DEF dst, TEMP pTmp, KILL cr); // here It will have the type `Type::VectorMask` in `MachTempNode` which is generated from `Expand`. However, we miss `Type::VectorMask` in `Type::category()`. We can fix this bug simply by adding `case Type::VectorMask` in `Type::category()`. ------------- Commit messages: - fix trailing whitespace - fix style errors - 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend Changes: https://git.openjdk.java.net/panama-vector/pull/85/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=85&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8267375 Stats: 64 lines in 2 files changed: 64 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/panama-vector/pull/85.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/85/head:pull/85 PR: https://git.openjdk.java.net/panama-vector/pull/85 From clayton.m.walker at gmail.com Wed May 19 16:46:30 2021 From: clayton.m.walker at gmail.com (Clayton Walker) Date: Wed, 19 May 2021 10:46:30 -0600 Subject: Linking to macOS frameworks Message-ID: Hello, I'm working on a project that would let you call objective-c functions from java, without first needing to wrap the api in a shared library. While this works for symbols that are already available (i.e.LibraryLookup.ofDefault().lookup("objc_getClass")), it doesn't work for symbols that are in another framework. For example, I would like to be able to write something like this: LibraryLookup.ofLibrary("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); // or LibraryLookup.ofPath(Path.of("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")); however this currently doesn't work. The first call throws with "Directory separator should not appear in library name", second one throws with "Library not found". I've been able to work around this by using dlopen MemoryAddress l1; try (var c = CLinker.toCString("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")) { l1 = (MemoryAddress) dlopen.invokeExact(c.address(), 1); } but this seems rather strange. It looks like LibraryLookup.ofPath requires the path to exist, whereas in Big Sur the files no longer exist (via https://developer.apple.com/forums/thread/657267). From maurizio.cimadamore at oracle.com Wed May 19 17:02:59 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 19 May 2021 18:02:59 +0100 Subject: Linking to macOS frameworks In-Reply-To: References: Message-ID: <12d15b42-0eea-a200-fc56-78aef479bfcf@oracle.com> Hi Clayton, Is UserNotification a library? E.g. is there a file UserNotification.dylib in that folder? If so, just use "Library.ofPath" and include the suffix - as that method wants the library absolute path. Maurizio On 19/05/2021 17:46, Clayton Walker wrote: > Hello, > > I'm working on a project that would let you call objective-c functions from > java, without first needing to wrap the api in a shared library. While this > works for symbols that are already available > (i.e.LibraryLookup.ofDefault().lookup("objc_getClass")), it doesn't work > for symbols that are in another framework. > > For example, I would like to be able to write something like this: > LibraryLookup.ofLibrary("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); > // or > LibraryLookup.ofPath(Path.of("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")); > however this currently doesn't work. The first call throws with "Directory > separator should not appear in library name", second one throws with > "Library not found". > > I've been able to work around this by using dlopen > MemoryAddress l1; > try (var c = > CLinker.toCString("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")) > { > l1 = (MemoryAddress) dlopen.invokeExact(c.address(), 1); > } > but this seems rather strange. It looks like LibraryLookup.ofPath requires > the path to exist, whereas in Big Sur the files no longer exist (via > https://developer.apple.com/forums/thread/657267). From duncan.gittins at gmail.com Wed May 19 17:11:10 2021 From: duncan.gittins at gmail.com (Duncan Gittins) Date: Wed, 19 May 2021 18:11:10 +0100 Subject: jextract - constants.per.class setting Message-ID: Hi This is a very minor observation: jextract setting "jextract.constants.per.class" has to be set one less than you want, so to make jextract generate one definition per class it needs to be set to 0 not 1. Kind regards Duncan From clayton.m.walker at gmail.com Wed May 19 19:31:00 2021 From: clayton.m.walker at gmail.com (Clayton Walker) Date: Wed, 19 May 2021 13:31:00 -0600 Subject: Linking to macOS frameworks In-Reply-To: <12d15b42-0eea-a200-fc56-78aef479bfcf@oracle.com> References: <12d15b42-0eea-a200-fc56-78aef479bfcf@oracle.com> Message-ID: Hi Maurizio, Yes, UserNotification is a library, but unfortunately UserNotification.dylib is no longer in that folder. Per this page https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes, Apple's release notes state `copies of dynamic libraries are no longer present on the filesystem`. So while previously they did exist on the filesystem, now they're not. dlopen still handles the path on macOS Big Sur, dlopen("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); works. On Wed, May 19, 2021 at 11:03 AM Maurizio Cimadamore wrote: > > Hi Clayton, > Is UserNotification a library? E.g. is there a file > UserNotification.dylib in that folder? > > If so, just use "Library.ofPath" and include the suffix - as that method > wants the library absolute path. > > Maurizio > > On 19/05/2021 17:46, Clayton Walker wrote: > > Hello, > > > > I'm working on a project that would let you call objective-c functions from > > java, without first needing to wrap the api in a shared library. While this > > works for symbols that are already available > > (i.e.LibraryLookup.ofDefault().lookup("objc_getClass")), it doesn't work > > for symbols that are in another framework. > > > > For example, I would like to be able to write something like this: > > LibraryLookup.ofLibrary("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); > > // or > > LibraryLookup.ofPath(Path.of("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")); > > however this currently doesn't work. The first call throws with "Directory > > separator should not appear in library name", second one throws with > > "Library not found". > > > > I've been able to work around this by using dlopen > > MemoryAddress l1; > > try (var c = > > CLinker.toCString("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")) > > { > > l1 = (MemoryAddress) dlopen.invokeExact(c.address(), 1); > > } > > but this seems rather strange. It looks like LibraryLookup.ofPath requires > > the path to exist, whereas in Big Sur the files no longer exist (via > > https://developer.apple.com/forums/thread/657267). From maurizio.cimadamore at oracle.com Wed May 19 21:12:24 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 19 May 2021 22:12:24 +0100 Subject: Linking to macOS frameworks In-Reply-To: References: <12d15b42-0eea-a200-fc56-78aef479bfcf@oracle.com> Message-ID: I see. Obviously some kind of workaround is happening behind the scene when dlopen is invoked with that library name, as a compatibility measure. If you load this: /usr/lib/libSystem.B.dylib Do you, by any change, get access to the symbols you want? Anyway - to your original question, LibraryLookup.ofPath works with a library file in the file system. Here it seems a case where libraries are not in the file system, but in some other cache, and dlopen has been instructed to "work" when asked with certain well-known names. In this case, if the above trick (libSystem) doesn't work, the only thing left to you might well be calling dlopen directly. Maurizio On 19/05/2021 20:31, Clayton Walker wrote: > Hi Maurizio, > > Yes, UserNotification is a library, but unfortunately > UserNotification.dylib is no longer in that folder. > Per this page https://urldefense.com/v3/__https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes__;!!GqivPVa7Brio!PxJkXokERrp3NAcaRqK7q1eIHPqhs9AWyxmbu4_AfBKvGVbf2OcqtR2HUvwImxChbwHDpmE$ , > Apple's release notes state > `copies of dynamic libraries are no longer present on the filesystem`. > So while previously they did exist on the filesystem, now they're not. > dlopen still handles the path on macOS Big Sur, > dlopen("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); > works. > > > On Wed, May 19, 2021 at 11:03 AM Maurizio Cimadamore > wrote: >> Hi Clayton, >> Is UserNotification a library? E.g. is there a file >> UserNotification.dylib in that folder? >> >> If so, just use "Library.ofPath" and include the suffix - as that method >> wants the library absolute path. >> >> Maurizio >> >> On 19/05/2021 17:46, Clayton Walker wrote: >>> Hello, >>> >>> I'm working on a project that would let you call objective-c functions from >>> java, without first needing to wrap the api in a shared library. While this >>> works for symbols that are already available >>> (i.e.LibraryLookup.ofDefault().lookup("objc_getClass")), it doesn't work >>> for symbols that are in another framework. >>> >>> For example, I would like to be able to write something like this: >>> LibraryLookup.ofLibrary("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); >>> // or >>> LibraryLookup.ofPath(Path.of("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")); >>> however this currently doesn't work. The first call throws with "Directory >>> separator should not appear in library name", second one throws with >>> "Library not found". >>> >>> I've been able to work around this by using dlopen >>> MemoryAddress l1; >>> try (var c = >>> CLinker.toCString("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")) >>> { >>> l1 = (MemoryAddress) dlopen.invokeExact(c.address(), 1); >>> } >>> but this seems rather strange. It looks like LibraryLookup.ofPath requires >>> the path to exist, whereas in Big Sur the files no longer exist (via >>> https://urldefense.com/v3/__https://developer.apple.com/forums/thread/657267__;!!GqivPVa7Brio!PxJkXokERrp3NAcaRqK7q1eIHPqhs9AWyxmbu4_AfBKvGVbf2OcqtR2HUvwImxChS2opDZY$ ). From maurizio.cimadamore at oracle.com Wed May 19 21:25:13 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 19 May 2021 22:25:13 +0100 Subject: Panama/foreign EA - May 2021 Message-ID: <234c4f8c-6952-bf4f-0645-70fc137334c7@oracle.com> Hi, We have just released another early-access Panama/foreign build, which includes all the goodies we've been working on so far, from API changes, to VM upcall optimizations, to jextract stability/usability improvements. Keep the feedback coming - we couldn't do this without your help and support. Cheers Maurizio From maurizio.cimadamore at oracle.com Wed May 19 21:26:10 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 19 May 2021 22:26:10 +0100 Subject: Panama/foreign EA - May 2021 In-Reply-To: <234c4f8c-6952-bf4f-0645-70fc137334c7@oracle.com> References: <234c4f8c-6952-bf4f-0645-70fc137334c7@oracle.com> Message-ID: <62e15640-81bc-a1cc-f780-6a46d36d493f@oracle.com> And... maybe it would be a good idea to actually include a link :-) https://jdk.java.net/panama/ Maurizio On 19/05/2021 22:25, Maurizio Cimadamore wrote: > Hi, > We have just released another early-access Panama/foreign build, which > includes all the goodies we've been working on so far, from API > changes, to VM upcall optimizations, to jextract stability/usability > improvements. > > Keep the feedback coming - we couldn't do this without your help and > support. > > Cheers > Maurizio > From forax at univ-mlv.fr Wed May 19 22:08:02 2021 From: forax at univ-mlv.fr (Remi Forax) Date: Thu, 20 May 2021 00:08:02 +0200 (CEST) Subject: Panama/foreign EA - May 2021 In-Reply-To: <62e15640-81bc-a1cc-f780-6a46d36d493f@oracle.com> References: <234c4f8c-6952-bf4f-0645-70fc137334c7@oracle.com> <62e15640-81bc-a1cc-f780-6a46d36d493f@oracle.com> Message-ID: <1826036389.2686.1621462082058.JavaMail.zimbra@u-pem.fr> Huge milestone, Champagne ! at least virtual one, for now ... R?mi ----- Mail original ----- > De: "Maurizio Cimadamore" > ?: "panama-dev at openjdk.java.net'" > Envoy?: Mercredi 19 Mai 2021 23:26:10 > Objet: Re: Panama/foreign EA - May 2021 > And... maybe it would be a good idea to actually include a link :-) > > https://jdk.java.net/panama/ > > Maurizio > > On 19/05/2021 22:25, Maurizio Cimadamore wrote: >> Hi, >> We have just released another early-access Panama/foreign build, which >> includes all the goodies we've been working on so far, from API >> changes, to VM upcall optimizations, to jextract stability/usability >> improvements. >> >> Keep the feedback coming - we couldn't do this without your help and >> support. >> >> Cheers >> Maurizio From sviswanathan at openjdk.java.net Wed May 19 23:20:55 2021 From: sviswanathan at openjdk.java.net (Sandhya Viswanathan) Date: Wed, 19 May 2021 23:20:55 GMT Subject: [vectorIntrinsics] RFR: Merge panama-vector:master In-Reply-To: <_vdg6MdW9270Ch3hbOC4QBMFqZGMkjSEutfc6szZdRY=.547ba335-0e3a-414a-a0b6-326506ea060c@github.com> References: <_vdg6MdW9270Ch3hbOC4QBMFqZGMkjSEutfc6szZdRY=.547ba335-0e3a-414a-a0b6-326506ea060c@github.com> Message-ID: On Tue, 18 May 2021 10:16:12 GMT, Ningsheng Jian wrote: > Merge with master. Vector API tests passed on both x86 and aarch64. > > Conflicts are in *.ad. Resolved by moving the code to matcher_*.hpp to align with https://github.com/openjdk/jdk/pull/3947. Marked as reviewed by sviswanathan (Committer). ------------- PR: https://git.openjdk.java.net/panama-vector/pull/83 From sviswanathan at openjdk.java.net Wed May 19 23:20:55 2021 From: sviswanathan at openjdk.java.net (Sandhya Viswanathan) Date: Wed, 19 May 2021 23:20:55 GMT Subject: [vectorIntrinsics] RFR: Merge panama-vector:master In-Reply-To: References: <_vdg6MdW9270Ch3hbOC4QBMFqZGMkjSEutfc6szZdRY=.547ba335-0e3a-414a-a0b6-326506ea060c@github.com> Message-ID: On Wed, 19 May 2021 01:44:32 GMT, Ningsheng Jian wrote: >> Merge with master. Vector API tests passed on both x86 and aarch64. >> >> Conflicts are in *.ad. Resolved by moving the code to matcher_*.hpp to align with https://github.com/openjdk/jdk/pull/3947. > > @sviswa7 Could you please help to take a look at manual merge changes in x86*.ad and matcher_x86.hpp? Thanks! @nsjian Your changes look good. Thanks for doing the merge. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/83 From mbien42 at gmail.com Wed May 19 23:25:05 2021 From: mbien42 at gmail.com (Michael Bien) Date: Thu, 20 May 2021 01:25:05 +0200 Subject: Panama/foreign EA - May 2021 In-Reply-To: <62e15640-81bc-a1cc-f780-6a46d36d493f@oracle.com> References: <234c4f8c-6952-bf4f-0645-70fc137334c7@oracle.com> <62e15640-81bc-a1cc-f780-6a46d36d493f@oracle.com> Message-ID: <97bc8769-93a9-1892-57dc-c6ba548a4a2d@gmail.com> Hello, what would be the current ceremony to run a panama program? --enable-preview --add-modules jdk.incubator.foreign -Dforeign.restricted=permit -Djava.library.path=... worked until this build, getting Caused by: java.lang.IllegalCallerException: Illegal native access from module: UNNAMED ??? at java.base/jdk.internal.reflect.Reflection.ensureNativeAccess(Reflection.java:113) ??? at jdk.incubator.foreign/jdk.incubator.foreign.CLinker.getInstance(CLinker.java:129) ??? at dev.mbien.jcriu.CRIUContextImpl.(CRIUContextImpl.java:142) ??? ... 70 more in the test of my toy project now. This might be related to the security manager changes - i couldn't find any notes. thanks! (i like the ResourceScopes) michael On 19.05.21 23:26, Maurizio Cimadamore wrote: > And... maybe it would be a good idea to actually include a link :-) > > https://jdk.java.net/panama/ > > Maurizio > > On 19/05/2021 22:25, Maurizio Cimadamore wrote: >> Hi, >> We have just released another early-access Panama/foreign build, >> which includes all the goodies we've been working on so far, from API >> changes, to VM upcall optimizations, to jextract stability/usability >> improvements. >> >> Keep the feedback coming - we couldn't do this without your help and >> support. >> >> Cheers >> Maurizio >> From paul.sandoz at oracle.com Wed May 19 23:41:47 2021 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Wed, 19 May 2021 23:41:47 +0000 Subject: Panama/foreign EA - May 2021 In-Reply-To: <97bc8769-93a9-1892-57dc-c6ba548a4a2d@gmail.com> References: <234c4f8c-6952-bf4f-0645-70fc137334c7@oracle.com> <62e15640-81bc-a1cc-f780-6a46d36d493f@oracle.com> <97bc8769-93a9-1892-57dc-c6ba548a4a2d@gmail.com> Message-ID: <7DF3EC8E-AF47-4C75-BB50-0571C51D4EA6@oracle.com> See the section on restricted methods: https://download.java.net/java/early_access/panama/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/package-summary.html#restricted Replace -Dforeign.restricted=permit with --enable-native-access=ALL-UNNAMED Hth, Paul. > On May 19, 2021, at 4:25 PM, Michael Bien wrote: > > Hello, > > what would be the current ceremony to run a panama program? > > --enable-preview --add-modules jdk.incubator.foreign -Dforeign.restricted=permit -Djava.library.path=... > > worked until this build, getting > > Caused by: java.lang.IllegalCallerException: Illegal native access from module: UNNAMED > at java.base/jdk.internal.reflect.Reflection.ensureNativeAccess(Reflection.java:113) > at jdk.incubator.foreign/jdk.incubator.foreign.CLinker.getInstance(CLinker.java:129) > at dev.mbien.jcriu.CRIUContextImpl.(CRIUContextImpl.java:142) > ... 70 more > > in the test of my toy project now. This might be related to the security manager changes - i couldn't find any notes. > > thanks! (i like the ResourceScopes) > > michael > > > On 19.05.21 23:26, Maurizio Cimadamore wrote: >> And... maybe it would be a good idea to actually include a link :-) >> >> https://jdk.java.net/panama/ >> >> Maurizio >> >> On 19/05/2021 22:25, Maurizio Cimadamore wrote: >>> Hi, >>> We have just released another early-access Panama/foreign build, which includes all the goodies we've been working on so far, from API changes, to VM upcall optimizations, to jextract stability/usability improvements. >>> >>> Keep the feedback coming - we couldn't do this without your help and support. >>> >>> Cheers >>> Maurizio >>> > From mbien42 at gmail.com Wed May 19 23:50:25 2021 From: mbien42 at gmail.com (Michael Bien) Date: Thu, 20 May 2021 01:50:25 +0200 Subject: Panama/foreign EA - May 2021 In-Reply-To: <7DF3EC8E-AF47-4C75-BB50-0571C51D4EA6@oracle.com> References: <234c4f8c-6952-bf4f-0645-70fc137334c7@oracle.com> <62e15640-81bc-a1cc-f780-6a46d36d493f@oracle.com> <97bc8769-93a9-1892-57dc-c6ba548a4a2d@gmail.com> <7DF3EC8E-AF47-4C75-BB50-0571C51D4EA6@oracle.com> Message-ID: <94317afa-a33e-a8c6-857f-c84f56374df0@gmail.com> thank you! works perfectly -michael On 20.05.21 01:41, Paul Sandoz wrote: > See the section on restricted methods: > > https://download.java.net/java/early_access/panama/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/package-summary.html#restricted > > Replace > > -Dforeign.restricted=permit > > with > > --enable-native-access=ALL-UNNAMED > > Hth, > Paul. > >> On May 19, 2021, at 4:25 PM, Michael Bien wrote: >> >> Hello, >> >> what would be the current ceremony to run a panama program? >> >> --enable-preview --add-modules jdk.incubator.foreign -Dforeign.restricted=permit -Djava.library.path=... >> >> worked until this build, getting >> >> Caused by: java.lang.IllegalCallerException: Illegal native access from module: UNNAMED >> at java.base/jdk.internal.reflect.Reflection.ensureNativeAccess(Reflection.java:113) >> at jdk.incubator.foreign/jdk.incubator.foreign.CLinker.getInstance(CLinker.java:129) >> at dev.mbien.jcriu.CRIUContextImpl.(CRIUContextImpl.java:142) >> ... 70 more >> >> in the test of my toy project now. This might be related to the security manager changes - i couldn't find any notes. >> >> thanks! (i like the ResourceScopes) >> >> michael >> >> >> On 19.05.21 23:26, Maurizio Cimadamore wrote: >>> And... maybe it would be a good idea to actually include a link :-) >>> >>> https://jdk.java.net/panama/ >>> >>> Maurizio >>> >>> On 19/05/2021 22:25, Maurizio Cimadamore wrote: >>>> Hi, >>>> We have just released another early-access Panama/foreign build, which includes all the goodies we've been working on so far, from API changes, to VM upcall optimizations, to jextract stability/usability improvements. >>>> >>>> Keep the feedback coming - we couldn't do this without your help and support. >>>> >>>> Cheers >>>> Maurizio >>>> From leerho at gmail.com Thu May 20 01:34:47 2021 From: leerho at gmail.com (leerho) Date: Wed, 19 May 2021 18:34:47 -0700 Subject: Part 1 Proposal for JDK-8264594 In-Reply-To: <0b5ac260-4e87-4a92-53ca-b670a451f552@oracle.com> References: <375d21c5-4a53-a661-dfea-1464fa11df9d@oracle.com> <3857338c-b4ce-e559-bc75-6f06671989ba@oracle.com> <31fde1e0-7159-afb0-a79c-fa5e320e6844@oracle.com> <49091534-aa0f-81f7-2536-ff788e6377cf@oracle.com> <0b5ac260-4e87-4a92-53ca-b670a451f552@oracle.com> Message-ID: Maurizio, Sorry about my radio silence, I was pulled onto another urgent project, but now I'm back :) >From your email above: E.g. let's keep the MemorySegment API thin, by adding only one method: > *copyFrom(MemorySegment, MemoryLayout elemLayout, ByteOrder order)* Which generalizes the existing copyFrom, allowing for swap copy. I am a little unclear how the user would use this to copy some primitive array to/from a MemorySegment. Let me try: For example: to copy a double array into a MemorySegment would require: //Given: int arrLen = N; double[] srcArr = new double[arrLen]; ResourceScope scope = ... MemorySegment dstSeg = ... big enough, but we need to load at a dstOffset. //prepare the source segment: MemoryLayout doubleLayout = valueLayout(64, ByteOrder.nativeOrder); MemoryLayout seqLayout = sequenceLayout(arrLen, doubleLayout); MemorySegment srcSeg = MemorySegment.ofArray(srcArr); //prepare the destination segment: dstSegSlice = dstSeg.asSlice(dstOffset, arrLen*8); dstSeg.copyFrom(srcSeg, seqLayout, ByteOrder.nativeOrder); Whew! This can't be right. I must be doing something wrong. How did you intend for this new method to be used? Cheers, Lee. On Thu, Apr 29, 2021 at 3:23 AM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > > On 29/04/2021 05:49, leerho wrote: > > Maurizio, > > First, I would like to clear up some misunderstandings. > > 1. Re overloading with/without ByteOrder: > > My feeling is that having a "more friendly" overload for what is a pretty >> advanced method anyway feels some sort of middle ground that would double >> the size of the API w/o really making it more usable (I don't thing users >> like you would be bothered by an extra `nativeOrder()` suffix). At least >> that's what I was assuming. > > > I was trying to make the distinction between 2 vs 4 methods, assuming > Object array), and 14 vs 28 methods assuming individual XYZArrays. The > second case is clearly a more egregious impact on the API so I would > definitely agree that not overloading the ByteOrder makes sense. * And > yes, I can live with that :)* > > The 2 vs 4 methods refers to the next item. > > Yeah - I realized later that you were considering different cost vs. > benefit ratios in the two proposals - in one case it seems to cost more > than the other, I agree. (I also agree, in general, that if we could > provide a ByteOrder-less version, it would be nice to have). > > > 2. Use of Object array: > > Accepting an Object parameter is inconsistent with e.g. the >> MemorySegment.of(...) factories, which take sharp array types. In principle >> those factories could be compressed down into one (in fact the API started >> off that way, but we went back for performance issues). > > > That is why I posed the question wrt use of Object array: > > Concern: Performance. I would think we would be moving work that could be >> done at compile time (e.g., what type of array is it? ) to run time. Or >> would Hotspot figure this out ? > > > I wasn't sure, which is why I asked. And you indicated that performance > with an Object array is an issue *and I believe you* :) > > There is a difference between MemorySegment.of(Object) and > MemorySegment.copyInto(Object). In the first operation we are "creating" a > new segment; I have observed that, in general, it is better to have > creation of new instances as a transparent process as possible: if > different methods create different concrete Java instances (for instance > MemorySegment::ofArray(int[]) creates a different object than > MemorySegment::ofArray(double[])) the code tends to be more "transparent" > to the optimizing compiler, and typically that works better than having a > single factory which does a bunch of stuff/control flow and might return > different objects (which will necessarily create some pollution). I believe > the case of memory copy is not dissimilar from what MemoryAccess.getInt > does: note that you just pass a `memory segment` - we don't have overloads > for "heap segment", "mapped segment" and "native segment" and yet C2 is > able to figure that out (because we turned enhanced profiling on for these > methods). A similar trick, I'm sure could be done here, if we were willing > to. Of course we need benchmarks to test and validate the approach. > > > 3. Native implementations: > > You seem to assume that "native implementation" == better performance. > > > No, I don't really. My only comment about native methods is that I don't > know where to find the C++ code so I can't figure out what is going on > under the covers. Additionally, as you pointed out, the C2 hotspot > compiler has additional profiling it can take advantage of ... and I even > know less about that! *So I'll leave it to you what methods should be > made native*. > > So, there are two routines for copying memory: System::arrayCopy and > Unsafe::copyMemory. Performance-wise they behave the same - I believe one > minor difference is that System.arrayCopy inserts some GC safe point so > that, in the middle of a big copy, it can still pause for GC - > Unsafe::copyMemory (the one we use) doesn't do that. They are both native > routines, and are both "intrinsified" by the VM - which means that when > they are called enough time, the VM replaces them with bits of machine code > generated by the optimizing compiler. This is where information about types > becomes crucial: if, when the intrinsification occurs, C2 can prove that > e.g. you are copying from off-heap into a int[], then a sharper copy can be > performed. If the types are opaque (so C2 doesn't know whether they are > on/off heap), then performance suffers. So, as long as the types are kept > "sharp", this is typically not an issue. > > There's also another important consideration: copyMemory (or > System::arrayCopy) is, relatively speaking, a "slow" operation (since it > can touch many addresses). In my experience it is way less likely to > observe performance issues with this routines than it is with a single-shot > memory access (which boils down to a single MOV, so every extra overhead > counts big time!). > > > > *Comment*: In our Apache DataSketches library we have implemented all of > our sketching algorithms in both C++ and in Java. And we have experienced > a number of cases where our highly-tuned java implementation handily beats > a casually constructed C++ implementation! We have found that there are > similar issues in both languages. If the developer tends to over-rely on > the general-purpose STL librarys in C++ it will impact performance in the > same way that over-reliance on the Java Collections library will. But a > well-tuned C++ implementation will generally beat a well-tuned Java > implementation, but not by very much! And with this Panama module, I am > hoping we can make the difference even less. > > I think we can agree that the above 3 issues can be put aside and don't > need further discussion.. > > ok > > > **** > Back to the method design: > > I think if we use an instance method we should just drop the length >> parameter from the method and infer the length from the receiver segment. > > > This does present some usability concerns as I will highlight next. > > Thoughts on your 2 X 2 table: > I think we don't need to focus on the two cases where either the segment > or the array does not exist. > > Sure - I was showing them to demonstrate the emerging symmetry/pattern > > > These can already be handled with the current API. Now for the other two > cases: > > 1. From array to existing segment, you wrote: > >> segment [.asSlice(...)] .copyFrom(array, index, order) > > > My translation: > >> dstSegment.asSlice(long dstOffsetBytes, long >> dstLengthBytes).copyFromArray(XYZ[] srcArray, int srcIndex, ByteOrder >> order); > > > - The user generally has better knowledge of the array coordinates > (start, length). Here the user would have to translate from array > srcElements to dstLengthBytes. I don't consider this friendly. > - I don't think you intended to overload the existing > copyFrom(segment), thus, copyFromArray(...). > - The new methods *copyFromArray(XYZ[] srcArray, srcIndex, order) are *not > as general purpose as they would it be if it included the array length > argument, but leads to the problem of dual specification of the length both > in bytes and array elements. > > I think of these three I can see the point of the first bullet - but it > feels like having offset/length on the copyFrom feels slightly redundant > (since asSlice does kind of the same thing, and that's what we tell people > to do for segment->segment copyFrom). Anyway, point taken. > > 2. From segment to existing array, you wrote: > >> segment [.asSlice(...)] .toXYZArray(array, index, order) > > > My translation: > >> srcSegment.asSlice(long dstOffsetBytes, long >> dstLengthBytes).copyToArray(XYZ[] dstArray, int dstIndex, ByteOrder order) > > > - Again, the user would have to translate from his dstElements to > dstLengthBytes. > - Again, the new methods *copyToArray(XYZ[] dstArray, dstIndex, order)* > are not as general purpose as mentioned above. So the above comment about > the copyFromArray(...) apply here as well. > > My conclusion, so far, is that splitting our task into 7 new > copyFromArray(...) methods and 7 new copyToArray(...) methods that > must operate in a chain, provides a clumsy solution. > > I think "clumsy" here might be a bit of a glass-half-empty comment. And > some points as to why the glass is perceived to be half empty are probably > well taken (e.g. translation of coordinates) but I think there is a general > "I don't want to slice" feel to all this, which sounds like jumping into > premature optimization. I'd like to make sure we resist that temptation, no > matter what we end up doing in the end. > > > > > *So what is our task?* > > What we want our method(s) to accomplish, *at the lowest level,* is > actually very simple. We want to copy *lengthBytes* from one blob of > bytes to another blob of bytes, each with a specific offset. As a diagram, > it looks like this: > [image: ArrayCopyForMemorySegment.png] > Let's forget about arrays of XYZ for a moment. We could accomplish this > with a simple method like : > > void copy(source, srcOffsetBytes, destination, dstOffsetBytes, >> lengthBytes); > > > The beauty of the unsafe methods is that under the covers, everything is > bytes. And if you *unsafe.putInt**(offset, int)* into memory, unsafe > views it as just 4 bytes and it forgets that it ever was an integer. > > A MemorySegment is just a blob of bytes somewhere in memory. So if we > just had > > void copy(srcSegment, srcOffsetBytes, dstSegment, dstOffsetBytes, >> lengthBytes); > > > *This would already be a powerful method on its own! (And we don't have > this!)* > > > Ok, now the thing I was afraid of (premature optimization) is sneaking in > full - it's not true we don't have support for the above - we do, but not > in the way you described: > > sourceSegment.slice(....).copyFrom(destSegment.slice(...)) > > Combining copyFrom and asSlice you can obtain whatever combination of > copying you can obtain with low level Unsafe::copyMemory. > > We're not talking about missing primitives here (it's all in there). And, > simplicity is often in the eye of the beholder: you seem to imply that a > method taking 5 (!!) arguments is better than having a 1-arg method and > moving the slicing closer to where it belongs. I think I object to that. In > the slicing version there's no ambiguity as to what parameters refer to. > > The main reason as to why I would see someone prefer the 5 argument > version is, again, some notion that slicing costs too much. > > > Anyway - copying segment to segment is a completely different problems > from copying segments into an existing array. I believe the former is > addressed by the API (and I don't see a significant margin of improvements > there). In the latter case, I agree there is too much convoluted-ness going > on, with creating a temp segment for holding heap memory and what's not. > > > In addition, we would like to enhance this method so that either the > source or the destination could be one of the 7 primitive Java arrays. > > The task for the method that needs to do this is trivial: To convert from > array units to bytes is a simple left shift. To convert from bytes to array > units is a simple right-shift instruction. Both of these are single-cycle > CPU instructions. The *copy* should be a low-level bulk copy operation. > This method should be as fast as a comparable operation in C/C++. I don't > see any reason why this couldn't be implemented as a native method. In > fact, the lowest level of this operation could probably be accomplished > with a few machine instructions. (However, a really powerful bulk array > copy that takes advantage of cache-line sizes and non-aligned offsets is > more complex; but this kind of copy method should already exist in the JVM.) > > For arrays, the simplest solution, IMHO, would be 7 copyToArray() methods > and 7 copyFromArray() methods structured as follows: > > void copyFromArray(XYZ[] srcArray, int srcStartIndex, int srcElements, >> MemorySegment dstSegment, long dstOffsetBytes, ByteOrder order); >> > and > >> void copyToArray(MemorySegment srcSegment, long srcOffsetBytes, >> XYZ[] dstArray, int dstStartIndex, int dstElements, ByteOrder order) > > > - The simple translation of array units to bytes and the reverse is > handled by the method. > Thus, the user does not need to bother doing this, which helps > eliminate human error. > - There is no duplication of the length specification, it is only > specified once. > - The method names are self explanatory including the relevant units, > where relevant > - As these methods are self contained and with no escapes. It could > easily be a static method. > - These methods solve the complete problem. No need to chain multiple > methods together. > - These methods could be part of MemorySegment, MemoryAccess, or its > own class. > > If this path is preferred, and we also join in with Radoslaw comment, I > think I'd like to add all the required overloads (including ByteOrder-less > ones) into a new class: MemoryCopy. > > E.g. let's keep the MemorySegment API thin, by adding only one method: > > copyFrom(MemorySegment, MemoryLayout elemLayout, ByteOrder order) > > Which generalizes the existing copyFrom, allowing for swap copy. > > And then let's build on this, and provide several static methods on the > side, like we do with MemoryAccess. > > Maurizio > > > Cheers, and thank you for your patience! > > Lee. > > > > > > > > > > > > > > > On Wed, Apr 28, 2021 at 2:49 AM Maurizio Cimadamore < > maurizio.cimadamore at oracle.com> wrote: > >> Hi Lee >> IMHO some of the disadvantages you mention about 2 are a bit accidental - >> and not dissimilar to what happens here: >> >> >> https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Collection.html#toArray(T%5B%5D) >> >> But I can understand that this argument might not be persuading you. >> >> For endianness, I think that there is a difference between: >> >> * I have a segment and I want to read an int >> * I have a segment and I want to copy parts of it in an _existing_ array >> >> The former is super common, the latter feels like something you reach for >> in more advanced use cases, honestly. My feeling is that having a "more >> friendly" overload for what is a pretty advanced method anyway feels some >> sort of middle ground that would double the size of the API w/o really >> making it more usable (I don't thing users like you would be bothered by an >> extra `nativeOrder()` suffix). At least that's what I was assuming. >> >> As for (1) - some comments: >> >> * you seem to assume that "native implementation" == better performance. >> I don't think that's the case. And I don't see why you think it'd be more >> elegant that way. The main thing that needs to be done, if we go down this >> path, is to keep profiling information sharp - that is, if you call >> copyToArray with a byte[] and then with a short[] you want C2 to work with >> different type profile information. For this there is a technique in >> hotspot, called argument type profiling, which is used for pseudo static >> methods in Unsafe (and in MemoryAccess) which I think we can use here. >> >> * I don't see why it has to be a "static" method, or why a static method >> is perceived to be better. The issue with static methods is that they don't >> mix with slicing: >> >> MemorySegment.copyToArray(sourceSegment.asSlice(), ....) >> >> this is worse than: >> >> sourceSegment.asSlice().copyToArray(...) >> >> (btw, this avoids, at least in part, some of the type profiling pot-holes >> highlighted above, as receiver type information is always speculated upon, >> w/o doing anything special). So, two instances methods copyToArray and >> copyFromArray don't sound less elegant to me (actually more so) >> >> * Accepting an Object parameter is inconsistent with e.g. the >> MemorySegment.of(...) factories, which take sharp array types. In principle >> those factories could be compressed down into one (in fact the API started >> off that way, but we went back for performance issues). >> >> >> in both approaches, I think if we use an instance method we should just >> drop the length parameter from the method and infer the length from the >> receiver segment. Here's a table I prepared yesterday night thinking about >> all possible combinations (this assumed approach (1)): >> >> * from array to segment >> - segment does not exist: MemorySegment.of(array) [.asSlice(...)] >> - segment does exist: segment [.asSlice(...)] .copyFrom(array, index, >> order) >> * from segment to array >> - array does not exist: segment [.asSlice(...)] .toXYZArray() >> - arrays does exist: segment [.asSlice(...)] .toXYZArray(array, >> index, order) >> >> (this still doesn't seem to be that bad - if toXYZArray name bothers you, >> just replace that with copyToArray - the rest stays the same). >> >> Maurizio >> On 28/04/2021 01:43, leerho wrote: >> >> Maurizio, >> >> This is great. You have opened up several new possibilities and I'd like >> to explore some of them. >> >> 1. The use of *Object*, a la *System.arrayCopy(Object src, int srcPos, >> Object dest, int destPos, int length).* >> There are several interesting ideas (and concerns) that spin off of this >> idea. >> >> 1. First, is that System.arrayCopy() is a native method so all the >> work is under the covers, which I cannot see (I don't know how to find the >> C++ code that implements this method.) >> - Advantage: This would greatly reduce the number of methods >> needed (as you pointed out). >> - Concern: Performance. I would think we would be moving work >> that could be done at compile time (e.g., what type of array is it?) to run >> time. Or would Hotspot figure this out ? >> - Advantage: Potentially this could allow boxed array types as the >> native code could just figure this out and do the right thing. >> - Concern: because of its similarity to *System.arrayCopy()*, the >> user might be tempted to use it for array types that are completely >> inappropriate. (Just throw an exception.) >> 2. This *Object* idea also led me to: What if we extended the C++ >> code underneath arrayCopy() to allow one or both of the Objects to be a >> MemorySegment? >> - Make it clear that both Pos arguments and the length argument >> would have to be in bytes and these arguments would have to become longs. >> This fact alone will kill this idea as it raises all kinds of issues. >> Terrible idea, forget this one! >> 3. What about this idea. Two *static void arrayCopy-type* methods in >> MemorySegment: (or 4 if we overload with ByteOrder): >> - *copyToArray(MemorySegment srcSegment, long srcOffsetBytes, >> Object dstArray, int dstIndex, int dstElements)*; >> - *copyFromArray(Object srcArray, int srcIndex, int srcElements, >> MemorySegment dstSegment, long dstOffsetBytes)*; >> - If these are implemented as native methods AND if there is not a >> runtime performance burden, THIS would be elegant! >> >> 2. "split" the overloads between copyFrom and toXYZ arrays. >> >> - Is this what you had in mind? (7 or 14 of these pairs) >> - *int[] dstArray = srcSegment.asSlice(long offsetBytes, long >> lengthBytes).toIntArray(int[] dstArray, int dstIndex, int dstElements)* >> ; >> Because toIntArray returns an array, this changes the behavior >> whereby the array is provided and returned. Clunky. >> This requires specifying the length twice, once in bytes, the >> other in elements. :-( >> - *dstSegment.asSlice(long offsetBytes, long >> lengthBytes).copyFrom(int[] srcArray, int srcIndex, int srcElements)* >> ; >> This also requires specifying the length twice, once in bytes, the >> other in elements. :-( >> - Perhaps you meant this? (7 or 14 of these pairs) >> - *int[] dstArray = srcSegment.toIntArray(long >> srcOffsetBytes, int[] dstArray, int dstIndex, int dstElements)*; >> This still has a clunky return of the dstArray that isn't really >> needed. Perhaps this variant would be a void return? >> - *dstSegment.copyFrom(int[] srcArray, int srcIndex, int >> srcElements, long dstOffsetBytes)*; >> >> I think I like 1.3 the best. >> >> - Only 2 or 4 new methods (let's assume 4) >> - But it may require the most under-the-covers work, which would be >> in C++. I'm hoping some of the code from System.arrayCopy() could be >> leveraged. >> >> *Note*: I think there is a good reason why MemoryAccess overloads all >> the methods with ByteOffset set to the default: and that is because 90% of >> the use-cases and users want the default and don't really want to always be >> specifying ByteOrder, even if it is only a static method and quite fast; it >> would still be viewed as unnecessary! If we are choosing between only 2 or >> 4 added methods, overloading with the default ByteOrder should not be a big >> deal. >> >> Cheers, >> >> Lee. >> >> >> >> >> On Tue, Apr 27, 2021 at 2:13 PM Maurizio Cimadamore < >> maurizio.cimadamore at oracle.com> wrote: >> >>> >>> On 27/04/2021 21:50, Maurizio Cimadamore wrote: >>> > is just one native call away, after all. >>> >>> Whoops - I meant "static" not, "native", of course :-) >>> >>> Maurizio >>> >>> From whuang at openjdk.java.net Thu May 20 01:51:34 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Thu, 20 May 2021 01:51:34 GMT Subject: [vectorIntrinsics] RFR: 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend [v2] In-Reply-To: References: Message-ID: > Reason: > > > operand pRegGov() > %{ > constraint(ALLOC_IN_RC(gov_pr)); > match(RegVectMask); > op_cost(0); > format %{ %} > interface(REG_INTER); > %} > > if `pRegGov` is used as a `TEMP`, like : > > > instruct insertB_small(vReg dst, vReg src, iRegIorL2I val, immI idx, pRegGov pTmp, rFlagsReg cr) > %{ > predicate(UseSVE > 0 && n->as_Vector()->length() <= 32 && > n->bottom_type()->is_vect()->element_basic_type() == T_BYTE); > match(Set dst (VectorInsert (Binary src val) idx)); > effect(TEMP_DEF dst, TEMP pTmp, KILL cr); // here > > > It will have the type `Type::VectorMask` in `MachTempNode` which is generated from `Expand`. However, we miss `Type::VectorMask` in `Type::category()`. > > We can fix this bug simply by adding `case Type::VectorMask` in `Type::category()`. Wang Huang has updated the pull request incrementally with one additional commit since the last revision: fix bug id ------------- Changes: - all: https://git.openjdk.java.net/panama-vector/pull/85/files - new: https://git.openjdk.java.net/panama-vector/pull/85/files/d474d45d..8fbef1ab Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=85&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=85&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-vector/pull/85.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/85/head:pull/85 PR: https://git.openjdk.java.net/panama-vector/pull/85 From jiefu at openjdk.java.net Thu May 20 02:06:39 2021 From: jiefu at openjdk.java.net (Jie Fu) Date: Thu, 20 May 2021 02:06:39 GMT Subject: [vectorIntrinsics] RFR: 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend [v2] In-Reply-To: References: Message-ID: On Thu, 20 May 2021 01:51:34 GMT, Wang Huang wrote: >> Reason: >> >> >> operand pRegGov() >> %{ >> constraint(ALLOC_IN_RC(gov_pr)); >> match(RegVectMask); >> op_cost(0); >> format %{ %} >> interface(REG_INTER); >> %} >> >> if `pRegGov` is used as a `TEMP`, like : >> >> >> instruct insertB_small(vReg dst, vReg src, iRegIorL2I val, immI idx, pRegGov pTmp, rFlagsReg cr) >> %{ >> predicate(UseSVE > 0 && n->as_Vector()->length() <= 32 && >> n->bottom_type()->is_vect()->element_basic_type() == T_BYTE); >> match(Set dst (VectorInsert (Binary src val) idx)); >> effect(TEMP_DEF dst, TEMP pTmp, KILL cr); // here >> >> >> It will have the type `Type::VectorMask` in `MachTempNode` which is generated from `Expand`. However, we miss `Type::VectorMask` in `Type::category()`. >> >> We can fix this bug simply by adding `case Type::VectorMask` in `Type::category()`. > > Wang Huang has updated the pull request incrementally with one additional commit since the last revision: > > fix bug id test/hotspot/jtreg/compiler/vectorapi/TestVectorInsertByte.java line 33: > 31: * @bug 8267375 > 32: * @modules jdk.incubator.vector > 33: * @run main/othervm -XX:UseSVE=2 -XX:CompileCommand=compileonly,compiler.vectorapi.TestVectorInsertByte::* -XX:PrintIdealGraphLevel=3 -XX:PrintIdealGraphFile=TestVectorInsertByte.xml compiler.vectorapi.TestVectorInsertByte I'm afraid -XX:UseSVE would fail on x86. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/85 From njian at openjdk.java.net Thu May 20 02:18:46 2021 From: njian at openjdk.java.net (Ningsheng Jian) Date: Thu, 20 May 2021 02:18:46 GMT Subject: [vectorIntrinsics] RFR: 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend [v2] In-Reply-To: References: Message-ID: On Thu, 20 May 2021 02:03:45 GMT, Jie Fu wrote: >> Wang Huang has updated the pull request incrementally with one additional commit since the last revision: >> >> fix bug id > > test/hotspot/jtreg/compiler/vectorapi/TestVectorInsertByte.java line 33: > >> 31: * @bug 8267375 >> 32: * @modules jdk.incubator.vector >> 33: * @run main/othervm -XX:UseSVE=2 -XX:CompileCommand=compileonly,compiler.vectorapi.TestVectorInsertByte::* -XX:PrintIdealGraphLevel=3 -XX:PrintIdealGraphFile=TestVectorInsertByte.xml compiler.vectorapi.TestVectorInsertByte > > I'm afraid -XX:UseSVE would fail on x86. And I think it also requires c2 enabled. Something like "@requires os.arch == "aarch64" & vm.compiler2.enabled". But is this AArch64 specific? Should it be fixed in jdk/jdk instead? @jatin-bhateja ------------- PR: https://git.openjdk.java.net/panama-vector/pull/85 From njian at openjdk.java.net Thu May 20 02:23:45 2021 From: njian at openjdk.java.net (Ningsheng Jian) Date: Thu, 20 May 2021 02:23:45 GMT Subject: [vectorIntrinsics] Integrated: Merge panama-vector:master In-Reply-To: <_vdg6MdW9270Ch3hbOC4QBMFqZGMkjSEutfc6szZdRY=.547ba335-0e3a-414a-a0b6-326506ea060c@github.com> References: <_vdg6MdW9270Ch3hbOC4QBMFqZGMkjSEutfc6szZdRY=.547ba335-0e3a-414a-a0b6-326506ea060c@github.com> Message-ID: On Tue, 18 May 2021 10:16:12 GMT, Ningsheng Jian wrote: > Merge with master. Vector API tests passed on both x86 and aarch64. > > Conflicts are in *.ad. Resolved by moving the code to matcher_*.hpp to align with https://github.com/openjdk/jdk/pull/3947. This pull request has now been integrated. Changeset: 5f57f548 Author: Ningsheng Jian URL: https://git.openjdk.java.net/panama-vector/commit/5f57f548f1c4e5f46c702fda87db6dc282a9f1d1 Stats: 59159 lines in 1426 files changed: 30056 ins; 17498 del; 11605 mod Merge panama-vector:master Reviewed-by: sviswanathan ------------- PR: https://git.openjdk.java.net/panama-vector/pull/83 From whuang at openjdk.java.net Thu May 20 02:52:00 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Thu, 20 May 2021 02:52:00 GMT Subject: [vectorIntrinsics] RFR: 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend [v2] In-Reply-To: References: Message-ID: On Thu, 20 May 2021 02:16:02 GMT, Ningsheng Jian wrote: >> test/hotspot/jtreg/compiler/vectorapi/TestVectorInsertByte.java line 33: >> >>> 31: * @bug 8267375 >>> 32: * @modules jdk.incubator.vector >>> 33: * @run main/othervm -XX:UseSVE=2 -XX:CompileCommand=compileonly,compiler.vectorapi.TestVectorInsertByte::* -XX:PrintIdealGraphLevel=3 -XX:PrintIdealGraphFile=TestVectorInsertByte.xml compiler.vectorapi.TestVectorInsertByte >> >> I'm afraid -XX:UseSVE would fail on x86. > > And I think it also requires c2 enabled. Something like "@requires os.arch == "aarch64" & vm.compiler2.enabled". But is this AArch64 specific? Should it be fixed in jdk/jdk instead? @jatin-bhateja @nsjian @DamonFool Thank you for your review. I think I should remove the `UseSVE=2` option here. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/85 From maurizio.cimadamore at oracle.com Thu May 20 09:00:27 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 20 May 2021 10:00:27 +0100 Subject: Part 1 Proposal for JDK-8264594 In-Reply-To: References: <375d21c5-4a53-a661-dfea-1464fa11df9d@oracle.com> <3857338c-b4ce-e559-bc75-6f06671989ba@oracle.com> <31fde1e0-7159-afb0-a79c-fa5e320e6844@oracle.com> <49091534-aa0f-81f7-2536-ff788e6377cf@oracle.com> <0b5ac260-4e87-4a92-53ca-b670a451f552@oracle.com> Message-ID: On 20/05/2021 02:34, leerho wrote: > Maurizio, > Sorry about my radio silence, I was pulled onto another urgent > project, but now I'm back :) > From your email above: > > E.g. let's keep the MemorySegment API thin, by adding only one method: > > /copyFrom(MemorySegment, MemoryLayout elemLayout, ByteOrder order)/ > > Which generalizes the existing copyFrom, allowing for swap copy. > > > I am a little unclear how the user would use this to copy some > primitive array to/from a MemorySegment.? Let me try: There were two parts to my proposal :-) 1. add a copyFrom method which works from segment <-> segment but also takes an endianness/swappiness 2. add a MemoryCopy (parallel with MemoryAccess) full of static methods to copy things from java arrays to segments and back You need (1) to implement (2). (1) is a primitive, (2) is a class with user convenience static methods. Maurizio > > For example: to copy a double array into a MemorySegment would require: > > //Given: > int arrLen = N; > double[] srcArr?= new double[arrLen]; > ResourceScope scope = ... > MemorySegment dstSeg = ... big enough, but we need to load at a dstOffset. > > //prepare the source segment: > MemoryLayout doubleLayout = valueLayout(64, ByteOrder.nativeOrder); > MemoryLayout seqLayout = sequenceLayout(arrLen, doubleLayout); > MemorySegment srcSeg?= MemorySegment.ofArray(srcArr); > > //prepare the destination?segment: > dstSegSlice = dstSeg.asSlice(dstOffset, arrLen*8); > dstSeg.copyFrom(srcSeg, seqLayout, ByteOrder.nativeOrder); > > Whew!? ?This can't be right. I must be doing something wrong.? How did > you intend for this new method to be used? > > Cheers, > > Lee. > > > > > > > > On Thu, Apr 29, 2021 at 3:23 AM Maurizio Cimadamore > > wrote: > > > On 29/04/2021 05:49, leerho wrote: >> Maurizio, >> >> First, I would like to clear up some misunderstandings. >> >> 1. Re overloading with/without ByteOrder: >> >> My feeling is that having a "more friendly" overload for what >> is a pretty advanced method anyway feels some sort of middle >> ground that would double the size of the API w/o really >> making it more usable (I don't thing users like you would be >> bothered by an extra `nativeOrder()` suffix). At least that's >> what I was assuming. >> >> >> I was trying to make the distinction between 2 vs 4 methods, >> assuming Object array), and 14 vs 28 methods assuming individual >> XYZArrays. The second case is clearly a more egregious?impact on >> the API so I would definitely agree that not overloading the >> ByteOrder makes sense. *And yes, I can live with that :)* >> >> The 2 vs 4 methods refers to the next item. > Yeah - I realized later that you were considering different cost > vs. benefit ratios in the two proposals - in one case it seems to > cost more than the other, I agree. (I also agree, in general, that > if we could provide a ByteOrder-less version, it would be nice to > have). >> >> 2. Use of Object array: >> >> Accepting an Object parameter is inconsistent with e.g. the >> MemorySegment.of(...) factories, which take sharp array >> types. In principle those factories could be compressed down >> into one (in fact the API started off that way, but we went >> back for performance issues). >> >> That is why I posed the question wrt use of Object array: >> >> Concern: Performance.? I would think we would be moving work >> that could be done at compile time (e.g., what type of array >> is it? ) to run time.? ?Or would Hotspot figure this out ? >> >> >> I wasn't sure, which is why I asked. And you indicated that >> performance with an Object array is an issue *and I believe you* :) > > There is a difference between MemorySegment.of(Object) and > MemorySegment.copyInto(Object). In the first operation we are > "creating" a new segment; I have observed that, in general, it is > better to have creation of new instances as a transparent process > as possible: if different methods create different concrete Java > instances (for instance MemorySegment::ofArray(int[]) creates a > different object than MemorySegment::ofArray(double[])) the code > tends to be more "transparent" to the optimizing compiler, and > typically that works better than having a single factory which > does a bunch of stuff/control flow and might return different > objects (which will necessarily create some pollution). I believe > the case of memory copy is not dissimilar from what > MemoryAccess.getInt does: note that you just pass a `memory > segment` - we don't have overloads for "heap segment", "mapped > segment" and "native segment" and yet C2 is able to figure that > out (because we turned enhanced profiling on for these methods). A > similar trick, I'm sure could be done here, if we were willing to. > Of course we need benchmarks to test and validate the approach. > >> >> 3. Native implementations: >> >> You seem to assume that "native implementation" == better >> performance. >> >> >> No, I don't really.? My only comment about native methods is that >> I don't know where to find the C++ code so I can't figure out >> what is going on under the covers.? Additionally, as you pointed >> out, the C2 hotspot compiler has additional profiling it can take >> advantage of ... and I even know less about that! *So I'll leave >> it to you what methods should be made native*. > > So, there are two routines for copying memory: System::arrayCopy > and Unsafe::copyMemory. Performance-wise they behave the same - I > believe one minor difference is that System.arrayCopy inserts some > GC safe point so that, in the middle of a big copy, it can still > pause for GC - Unsafe::copyMemory (the one we use) doesn't do > that. They are both native routines, and are both "intrinsified" > by the VM - which means that when they are called enough time, the > VM replaces them with bits of machine code generated by the > optimizing compiler. This is where information about types becomes > crucial: if, when the intrinsification occurs, C2 can prove that > e.g. you are copying from off-heap into a int[], then a sharper > copy can be performed. If the types are opaque (so C2 doesn't know > whether they are on/off heap), then performance suffers. So, as > long as the types are kept "sharp", this is typically not an issue. > > There's also another important consideration: copyMemory (or > System::arrayCopy) is, relatively speaking, a "slow" operation > (since it can touch many addresses). In my experience it is way > less likely to observe performance issues with this routines than > it is with a single-shot memory access (which boils down to a > single MOV, so every extra overhead counts big time!). > > >> >> *Comment*: In our Apache DataSketches library we have implemented >> all of our sketching algorithms in both C++ and in Java.? And we >> have experienced a number of cases where our highly-tuned java >> implementation handily beats a casually constructed C++ >> implementation!? ?We have found that there are similar issues in >> both languages.? If the developer tends to over-rely on the >> general-purpose STL librarys in C++ it will impact performance in >> the same way that over-reliance on the Java Collections library >> will.? But a well-tuned C++ implementation will generally beat a >> well-tuned Java implementation, but not by very much!? And with >> this Panama module, I am hoping we can make the difference even less. >> >> I think we can agree that the above 3 issues can be put aside?and >> don't need?further?discussion.. > ok >> >> **** >> Back to the method design: >> >> I think if we use an instance method we should just drop the >> length parameter from the method and infer the length from >> the receiver segment. >> >> >> This does present some usability concerns as I will highlight next. >> >> Thoughts on your 2 X 2 table: >> I think we don't need to focus on the two cases where either the >> segment or the array does not exist. > > Sure - I was showing them to demonstrate the emerging symmetry/pattern > > >> These can already be handled with the current API.? Now for the >> other two cases: >> >> 1. From array to existing segment, you wrote: >> >> segment [.asSlice(...)] .copyFrom(array, index, order) >> >> >> My translation: >> >> dstSegment.asSlice(long dstOffsetBytes, long >> dstLengthBytes).copyFromArray(XYZ[] srcArray, int srcIndex, >> ByteOrder order); >> >> * The user generally has better knowledge of the array >> coordinates (start, length). Here the user would have to >> translate from?array srcElements to dstLengthBytes.? I don't >> consider this friendly. >> * I don't think you intended to overload the existing >> copyFrom(segment), thus, copyFromArray(...). >> * The new methods /copyFromArray(XYZ[] srcArray, srcIndex, >> order) are /not as general purpose as they would it be if it >> included the array length argument, but leads to the problem >> of dual specification of the length both in bytes and array >> elements. >> > I think of these three I can see the point of the first bullet - > but it feels like having offset/length on the copyFrom feels > slightly redundant (since asSlice does kind of the same thing, and > that's what we tell people to do for segment->segment copyFrom). > Anyway, point taken. >> 2. From segment to existing array, you wrote: >> >> segment [.asSlice(...)] .toXYZArray(array, index, order) >> >> >> My translation: >> >> srcSegment.asSlice(long dstOffsetBytes, long >> dstLengthBytes).copyToArray(XYZ[] dstArray, int dstIndex, >> ByteOrder order) >> >> * Again, the user would have to translate from his dstElements >> to dstLengthBytes. >> * Again, the new methods /copyToArray(XYZ[] dstArray, dstIndex, >> order)/ are not as general purpose as mentioned above. So the >> above comment about the copyFromArray(...) apply here as well. >> >> My conclusion, so far, is that splitting our task into 7 new >> copyFromArray(...) methods and 7 new copyToArray(...) methods >> that must?operate in a chain, provides a clumsy solution. > > I think "clumsy" here might be a bit of a glass-half-empty > comment. And some points as to why the glass is perceived to be > half empty are probably well taken (e.g. translation of > coordinates) but I think there is a general "I don't want to > slice" feel to all this, which sounds like jumping into premature > optimization. I'd like to make sure we resist that temptation, no > matter what we end up doing in the end. > > > >> >> *So what is our task?* >> >> What we want our method(s) to accomplish, *at the lowest level,* >> is actually very simple.? We want to copy /lengthBytes/ from one >> blob of bytes to another blob of bytes, each with a specific >> offset.? As a diagram, it looks like this: >> ArrayCopyForMemorySegment.png >> Let's forget about arrays of XYZ for a moment.? We could >> accomplish this with a simple method like : >> >> void copy(source, srcOffsetBytes, destination, >> dstOffsetBytes, lengthBytes); >> >> >> The beauty of the unsafe methods is that under the covers, >> everything is bytes.? And if you /unsafe.putInt//(offset, int)/ >> into memory, unsafe views it as just 4 bytes and it forgets that >> it ever was an integer. >> >> A MemorySegment is just a blob of bytes somewhere in memory.? So >> if we just had >> >> void copy(srcSegment, srcOffsetBytes, dstSegment, >> dstOffsetBytes, lengthBytes); >> >> >> *This would already be a powerful method on its own!? (And we >> don't have this!)* > > Ok, now the thing I was afraid of (premature optimization) is > sneaking in full - it's not true we don't have support for the > above - we do, but not in the way you described: > > sourceSegment.slice(....).copyFrom(destSegment.slice(...)) > > Combining copyFrom and asSlice you can obtain whatever combination > of copying you can obtain with low level Unsafe::copyMemory. > > We're not talking about missing primitives here (it's all in > there). And, simplicity is often in the eye of the beholder: you > seem to imply that a method taking 5 (!!) arguments is better than > having a 1-arg method and moving the slicing closer to where it > belongs. I think I object to that. In the slicing version there's > no ambiguity as to what parameters refer to. > > The main reason as to why I would see someone prefer the 5 > argument version is, again, some notion that slicing costs too much. > > > Anyway - copying segment to segment is a completely different > problems from copying segments into an existing array. I believe > the former is addressed by the API (and I don't see a significant > margin of improvements there). In the latter case, I agree there > is too much convoluted-ness going on, with creating a temp segment > for holding heap memory and what's not. > > >> In addition, we would like to enhance this method so that either >> the source or the destination could be one of the 7 primitive >> Java arrays. >> >> The task for the method that needs to do?this is trivial: To >> convert from array units to bytes is a simple left shift. To >> convert from bytes to array units is a simple right-shift >> instruction.? Both of these are single-cycle CPU instructions. >> The /copy/?should be a low-level bulk copy operation. This method >> should be as fast as a comparable operation in C/C++.? I don't >> see any reason why this couldn't be implemented as a native >> method.? In fact, the lowest level of this operation could >> probably be accomplished with a few machine instructions. >> (However, a really powerful bulk array copy that takes advantage >> of cache-line sizes and non-aligned offsets is more complex; but >> this kind of copy method should already exist in the JVM.) >> >> For arrays, the simplest solution, IMHO, would be 7 copyToArray() >> methods and 7 copyFromArray() methods structured as follows: >> >> void copyFromArray(XYZ[] srcArray, int srcStartIndex, int >> srcElements, >> ? ? MemorySegment dstSegment, long dstOffsetBytes, ByteOrder >> order); >> >> and >> >> void copyToArray(MemorySegment srcSegment, long srcOffsetBytes, >> ? ? XYZ[] dstArray, int dstStartIndex, int dstElements, >> ByteOrder order) >> >> * The simple translation of array units to bytes and the >> reverse is handled by the method. >> Thus, the user does not need to bother doing this, which >> helps eliminate human error. >> * There is no duplication of the length specification, it is >> only specified once. >> * The method names are self explanatory including the relevant >> units, where relevant >> * As these methods are self contained and with no escapes. It >> could easily be a static method. >> * These methods solve the complete problem. No need to chain >> multiple methods together. >> * These methods could be part of MemorySegment, MemoryAccess, >> or its own class. >> > If this path is preferred, and we also join in with Radoslaw > comment, I think I'd like to add all the required overloads > (including ByteOrder-less ones) into a new class: MemoryCopy. > > E.g. let's keep the MemorySegment API thin, by adding only one method: > > copyFrom(MemorySegment, MemoryLayout elemLayout, ByteOrder order) > > Which generalizes the existing copyFrom, allowing for swap copy. > > And then let's build on this, and provide several static methods > on the side, like we do with MemoryAccess. > > Maurizio > > >> Cheers, and thank you for your patience! >> >> Lee. >> >> >> >> >> >> >> >> >> >> >> >> >> On Wed, Apr 28, 2021 at 2:49 AM Maurizio Cimadamore >> > > wrote: >> >> Hi Lee >> IMHO some of the disadvantages you mention about 2 are a bit >> accidental - and not dissimilar to what happens here: >> >> https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Collection.html#toArray(T%5B%5D) >> >> >> But I can understand that this argument might not be >> persuading you. >> >> For endianness, I think that there is a difference between: >> >> * I have a segment and I want to read an int >> * I have a segment and I want to copy parts of it in an >> _existing_ array >> >> The former is super common, the latter feels like something >> you reach for in more advanced use cases, honestly. My >> feeling is that having a "more friendly" overload for what is >> a pretty advanced method anyway feels some sort of middle >> ground that would double the size of the API w/o really >> making it more usable (I don't thing users like you would be >> bothered by an extra `nativeOrder()` suffix). At least that's >> what I was assuming. >> >> As for (1) - some comments: >> >> * you seem to assume that "native implementation" == better >> performance. I don't think that's the case. And I don't see >> why you think it'd be more elegant that way. The main thing >> that needs to be done, if we go down this path, is to keep >> profiling information sharp - that is, if you call >> copyToArray with a byte[] and then with a short[] you want C2 >> to work with different type profile information. For this >> there is a technique in hotspot, called argument type >> profiling, which is used for pseudo static methods in Unsafe >> (and in MemoryAccess) which I think we can use here. >> >> * I don't see why it has to be a "static" method, or why a >> static method is perceived to be better. The issue with >> static methods is that they don't mix with slicing: >> >> MemorySegment.copyToArray(sourceSegment.asSlice(), ....) >> >> this is worse than: >> >> sourceSegment.asSlice().copyToArray(...) >> >> (btw, this avoids, at least in part, some of the type >> profiling pot-holes highlighted above, as receiver type >> information is always speculated upon, w/o doing anything >> special). So, two instances methods copyToArray and >> copyFromArray don't sound less elegant to me (actually more so) >> >> * Accepting an Object parameter is inconsistent with e.g. the >> MemorySegment.of(...) factories, which take sharp array >> types. In principle those factories could be compressed down >> into one (in fact the API started off that way, but we went >> back for performance issues). >> >> >> in both approaches, I think if we use an instance method we >> should just drop the length parameter from the method and >> infer the length from the receiver segment. Here's a table I >> prepared yesterday night thinking about all possible >> combinations (this assumed approach (1)): >> >> * from array to segment >> ??? - segment does not exist: MemorySegment.of(array) >> [.asSlice(...)] >> ??? - segment does exist: segment [.asSlice(...)] >> .copyFrom(array, index, order) >> * from segment to array >> ??? - array does not exist: segment [.asSlice(...)] .toXYZArray() >> ??? - arrays does exist: segment [.asSlice(...)] >> .toXYZArray(array, index, order) >> >> (this still doesn't seem to be that bad - if toXYZArray name >> bothers you, just replace that with copyToArray - the rest >> stays the same). >> >> Maurizio >> >> On 28/04/2021 01:43, leerho wrote: >>> Maurizio, >>> >>> This is great.? You have opened up several new possibilities >>> and I'd like to explore some of them. >>> >>> 1. The use of /Object/, a la /System.arrayCopy(Object src, >>> int srcPos, Object dest, int destPos, int length)./ >>> There are several interesting ideas (and concerns) that?spin >>> off of this idea. >>> >>> 1. First, is that System.arrayCopy() is a native method so >>> all the work is under the covers, which?I cannot see (I >>> don't know how?to find the C++ code that implements this >>> method.) >>> * Advantage: This would greatly?reduce the number of >>> methods needed (as you pointed out). >>> * Concern: Performance.? I would think we would be >>> moving work that could be done at compile time >>> (e.g., what type of array is it?) to run time.? ?Or >>> would Hotspot figure this out ? >>> * Advantage: Potentially this could allow boxed array >>> types as the native code could just figure this out >>> and do the right thing. >>> * Concern: because of its similarity to >>> /System.arrayCopy()/, the user might be tempted to >>> use it for array types that are completely >>> inappropriate.? (Just throw an exception.) >>> 2. This /Object/ idea also led me to: What if we extended >>> the C++ code underneath arrayCopy() to allow one or both >>> of the Objects to be a MemorySegment? >>> * Make it clear that both Pos arguments and the length >>> argument would have to be in bytes and these >>> arguments would have to become longs.? This fact >>> alone will kill this idea as it raises all kinds of >>> issues. Terrible idea, forget this one! >>> 3. What about this idea. Two /static void arrayCopy-type/ >>> methods in MemorySegment: (or 4 if we overload with >>> ByteOrder): >>> * /copyToArray(MemorySegment srcSegment, long >>> srcOffsetBytes, Object dstArray, int dstIndex, int >>> dstElements)/; >>> * /copyFromArray(Object srcArray, int srcIndex, int >>> srcElements, MemorySegment dstSegment, long >>> dstOffsetBytes)/; >>> * If these are implemented as native methods AND if >>> there is not a runtime performance burden, THIS >>> would be elegant! >>> >>> 2. "split" the overloads between copyFrom and toXYZ arrays. >>> >>> * Is?this what you had in mind? (7 or 14 of these pairs) >>> o /int[] dstArray = srcSegment.asSlice(long >>> offsetBytes, long lengthBytes).toIntArray(int[] >>> dstArray, int dstIndex, int dstElements)/; >>> Because toIntArray returns an array, this changes >>> the behavior whereby the array is provided and >>> returned. Clunky. >>> This requires specifying the length twice, once in >>> bytes, the other in elements. :-( >>> o /dstSegment.asSlice(long offsetBytes, long >>> lengthBytes).copyFrom(int[] srcArray, int srcIndex, >>> int srcElements)/; >>> This also requires specifying the length twice, once >>> in bytes, the other in elements.? :-( >>> * Perhaps you meant this? (7 or 14 of these pairs) >>> o /int[] dstArray = srcSegment.toIntArray(long >>> srcOffsetBytes,?int[] dstArray, int dstIndex, int >>> dstElements)/; >>> This still has a clunky return of the dstArray that >>> isn't really needed. Perhaps this variant would be a >>> void return? >>> o /dstSegment.copyFrom(int[] srcArray, int srcIndex, >>> int srcElements, long dstOffsetBytes)/; >>> >>> I think I like 1.3 the best. >>> >>> * Only 2 or 4 new methods (let's assume 4) >>> * But it may require the most under-the-covers work, which >>> would be in C++.? I'm hoping some of the code from >>> System.arrayCopy() could be leveraged. >>> >>> *Note*: I think there is a good reason why MemoryAccess >>> overloads all the methods with ByteOffset set to the >>> default: and that is because 90% of the use-cases and users >>> want the default and don't really want to always be >>> specifying ByteOrder, even if it is only a static method and >>> quite fast; it would still be viewed as unnecessary!? If we >>> are choosing between only 2 or 4 added methods, overloading >>> with the default ByteOrder should not be a big deal. >>> >>> Cheers, >>> >>> Lee. >>> >>> / >>> / >>> >>> >>> On Tue, Apr 27, 2021 at 2:13 PM Maurizio Cimadamore >>> >> > wrote: >>> >>> >>> On 27/04/2021 21:50, Maurizio Cimadamore wrote: >>> > is just one native call away, after all. >>> >>> Whoops - I meant "static" not, "native", of course :-) >>> >>> Maurizio >>> From xgong at openjdk.java.net Thu May 20 09:08:45 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Thu, 20 May 2021 09:08:45 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics [v2] In-Reply-To: References: Message-ID: > Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. > > Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. > > Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. > > [1] https://bugs.openjdk.java.net/browse/JDK-8264563 Xiaohong Gong has updated the pull request incrementally with one additional commit since the last revision: Rename back to unaryOp/binaryOp/ternaryOp ------------- Changes: - all: https://git.openjdk.java.net/panama-vector/pull/80/files - new: https://git.openjdk.java.net/panama-vector/pull/80/files/242a5e89..1b9f5873 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=80&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=80&range=00-01 Stats: 474 lines in 45 files changed: 3 ins; 0 del; 471 mod Patch: https://git.openjdk.java.net/panama-vector/pull/80.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/80/head:pull/80 PR: https://git.openjdk.java.net/panama-vector/pull/80 From maurizio.cimadamore at oracle.com Thu May 20 09:11:12 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 20 May 2021 10:11:12 +0100 Subject: Part 1 Proposal for JDK-8264594 In-Reply-To: References: <375d21c5-4a53-a661-dfea-1464fa11df9d@oracle.com> <3857338c-b4ce-e559-bc75-6f06671989ba@oracle.com> <31fde1e0-7159-afb0-a79c-fa5e320e6844@oracle.com> <49091534-aa0f-81f7-2536-ff788e6377cf@oracle.com> <0b5ac260-4e87-4a92-53ca-b670a451f552@oracle.com> Message-ID: <50605287-4e54-7dde-14e5-d521c19301be@oracle.com> On 20/05/2021 10:00, Maurizio Cimadamore wrote: > //Given: > int arrLen = N; > double[] srcArr?= new double[arrLen]; > ResourceScope scope = ... > MemorySegment dstSeg = ... big enough, but we need to load at a > dstOffset. > > //prepare the source segment: > MemoryLayout doubleLayout = valueLayout(64, ByteOrder.nativeOrder); > MemoryLayout seqLayout = sequenceLayout(arrLen, doubleLayout); > MemorySegment srcSeg?= MemorySegment.ofArray(srcArr); > > //prepare the destination?segment: > dstSegSlice = dstSeg.asSlice(dstOffset, arrLen*8); > dstSeg.copyFrom(srcSeg, seqLayout, ByteOrder.nativeOrder); > > Whew!? ?This can't be right. I must be doing something wrong.? How did > you intend for this new method to be used? The usage here is wrong. I think something like this: ``` MemorySegment srcSeg?= MemorySegment.ofArray(srcArr); dstSegSlice = dstSeg.asSlice(dstOffset, arrLen*8); dstSeg.copyFrom(srcSeg, MemoryLayouts.JAVA_DOUBLE, ByteOrder.nativeOrder); ``` That is, the layout parameter is an "element layout" which tells the copy routine what is the granularity of the "swappiness" behavior associated with the bulk copy (in this case, this being a double, 8 bytes). These three lines of code will form the backbone of all the various static methods we can add to conveniently copy data from segments to arrays and back (with given byte order). Maurizio From xgong at openjdk.java.net Thu May 20 09:55:52 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Thu, 20 May 2021 09:55:52 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Thu, 13 May 2021 16:29:40 GMT, Paul Sandoz wrote: >> Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. >> >> Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. >> >> Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8264563 > > I think what you have is fine, lets get the code in the branch and iterate. It's easy to revisit naming decisions like this later. @PaulSandoz @iwanowww , I'v rename all the masked op back to the original names. Could you please help to look at again? Waiting for your feedback, Thanks so much! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From vlivanov at openjdk.java.net Thu May 20 10:22:37 2021 From: vlivanov at openjdk.java.net (Vladimir Ivanov) Date: Thu, 20 May 2021 10:22:37 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics [v2] In-Reply-To: References: Message-ID: On Thu, 20 May 2021 09:08:45 GMT, Xiaohong Gong wrote: >> Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. >> >> Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. >> >> Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8264563 > > Xiaohong Gong has updated the pull request incrementally with one additional commit since the last revision: > > Rename back to unaryOp/binaryOp/ternaryOp Looks good. ------------- Marked as reviewed by vlivanov (Committer). PR: https://git.openjdk.java.net/panama-vector/pull/80 From psandoz at openjdk.java.net Thu May 20 15:09:58 2021 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Thu, 20 May 2021 15:09:58 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Thu, 13 May 2021 16:29:40 GMT, Paul Sandoz wrote: >> Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. >> >> Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. >> >> Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. >> >> [1] https://bugs.openjdk.java.net/browse/JDK-8264563 > > I think what you have is fine, lets get the code in the branch and iterate. It's easy to revisit naming decisions like this later. > @PaulSandoz @iwanowww , I'v rename all the masked op back to the original names. Could you please help to look at again? Waiting for your feedback, Thanks so much! Looks good. Integrate it! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From leerho at gmail.com Thu May 20 16:13:48 2021 From: leerho at gmail.com (leerho) Date: Thu, 20 May 2021 09:13:48 -0700 Subject: Part 1 Proposal for JDK-8264594 In-Reply-To: <50605287-4e54-7dde-14e5-d521c19301be@oracle.com> References: <375d21c5-4a53-a661-dfea-1464fa11df9d@oracle.com> <3857338c-b4ce-e559-bc75-6f06671989ba@oracle.com> <31fde1e0-7159-afb0-a79c-fa5e320e6844@oracle.com> <49091534-aa0f-81f7-2536-ff788e6377cf@oracle.com> <0b5ac260-4e87-4a92-53ca-b670a451f552@oracle.com> <50605287-4e54-7dde-14e5-d521c19301be@oracle.com> Message-ID: Maurizio, Ah, but I forgot to include a source index offset and a copy length instead of array length. Extending your example to a full template: ``` //Given source info: double[] srcArr = ... int srcCopyLen = ... //units of double int srcIndex = ... //units of double //Given destination info: MemorySegment dstSeg = ... //big enough long dstOffsetBytes = ... //In MemoryCopy: public static void copyFromArray( double[] srcArr, int srcIndex, int srcCopyLen, MemorySegment dstSeg, long dstOffsetBytes, ByteOrder order) { MemorySegment srcSegSlice = MemorySegment.ofArray(srcArr).asSlice(srcIndex*8, srcCopyLen*8); Memory Segment dstSegSlice = dstSeg.asSlice(dstOffsetBytes, srcCopyLen*8); dstSegSlice.copyFrom(srcSegSlice, MemoryLayouts.JAVA_DOUBLE, order); } ``` I am not sure if the *dstSegSlice* requires the *srcCopyLen*. I would hope that it is smart enough to realize that the input length is smaller than the given offset minus the segment size. Lee. On Thu, May 20, 2021 at 2:11 AM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > > On 20/05/2021 10:00, Maurizio Cimadamore wrote: > > //Given: > > int arrLen = N; > > double[] srcArr = new double[arrLen]; > > ResourceScope scope = ... > > MemorySegment dstSeg = ... big enough, but we need to load at a > > dstOffset. > > > > //prepare the source segment: > > MemoryLayout doubleLayout = valueLayout(64, ByteOrder.nativeOrder); > > MemoryLayout seqLayout = sequenceLayout(arrLen, doubleLayout); > > MemorySegment srcSeg = MemorySegment.ofArray(srcArr); > > > > //prepare the destination segment: > > dstSegSlice = dstSeg.asSlice(dstOffset, arrLen*8); > > dstSeg.copyFrom(srcSeg, seqLayout, ByteOrder.nativeOrder); > > > > Whew! This can't be right. I must be doing something wrong. How did > > you intend for this new method to be used? > > The usage here is wrong. I think something like this: > > ``` > MemorySegment srcSeg = MemorySegment.ofArray(srcArr); > dstSegSlice = dstSeg.asSlice(dstOffset, arrLen*8); > dstSeg.copyFrom(srcSeg, MemoryLayouts.JAVA_DOUBLE, ByteOrder.nativeOrder); > ``` > > That is, the layout parameter is an "element layout" which tells the > copy routine what is the granularity of the "swappiness" behavior > associated with the bulk copy (in this case, this being a double, 8 bytes). > > These three lines of code will form the backbone of all the various > static methods we can add to conveniently copy data from segments to > arrays and back (with given byte order). > > Maurizio > > > > From maurizio.cimadamore at oracle.com Thu May 20 16:41:53 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 20 May 2021 17:41:53 +0100 Subject: Part 1 Proposal for JDK-8264594 In-Reply-To: References: <375d21c5-4a53-a661-dfea-1464fa11df9d@oracle.com> <3857338c-b4ce-e559-bc75-6f06671989ba@oracle.com> <31fde1e0-7159-afb0-a79c-fa5e320e6844@oracle.com> <49091534-aa0f-81f7-2536-ff788e6377cf@oracle.com> <0b5ac260-4e87-4a92-53ca-b670a451f552@oracle.com> <50605287-4e54-7dde-14e5-d521c19301be@oracle.com> Message-ID: On 20/05/2021 17:13, leerho wrote: > I am not sure if the /dstSegSlice/ requires the /srcCopyLen/. I would > hope that it is smart enough to realize that the input length is > smaller than the given offset minus the segment size. asSlice has an overload that just takes an offset and infers the resulting size from there. But that doesn't seem what you want here - as you want the slice to have a specific size (the size of the input array). MemorySegment::copyFrom wants the two segments to have the same size, so I think you need that. In terms of performance, there's no difference between asSlice(offset) and asSlice(offset, size) - you have to create a new segment anyway. Maurizio From sundar at openjdk.java.net Thu May 20 17:05:47 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 20 May 2021 17:05:47 GMT Subject: [foreign-jextract] RFR: 8267504: jextract should report unsupported language and exit rather than generating partial nonworking code Message-ID: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> Piggybacking to remove unused code. Avoid hardcoding enum values - using generated code instead. ------------- Commit messages: - 8267504: jextract should report unsupported language and exit rather than generating partial nonworking code Changes: https://git.openjdk.java.net/panama-foreign/pull/539/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=539&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8267504 Stats: 2756 lines in 34 files changed: 1957 ins; 566 del; 233 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/539.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/539/head:pull/539 PR: https://git.openjdk.java.net/panama-foreign/pull/539 From mcimadamore at openjdk.java.net Thu May 20 17:14:45 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 20 May 2021 17:14:45 GMT Subject: [foreign-jextract] RFR: 8267504: jextract should report unsupported language and exit rather than generating partial nonworking code In-Reply-To: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> References: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> Message-ID: On Thu, 20 May 2021 16:58:23 GMT, Athijegannathan Sundararajan wrote: > Piggybacking to remove unused code. Avoid hardcoding enum values - using generated code instead. Looks good - I'm not sure I get the need for the full.symbol list ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/539 From leerho at gmail.com Thu May 20 18:36:56 2021 From: leerho at gmail.com (leerho) Date: Thu, 20 May 2021 11:36:56 -0700 Subject: Part 1 Proposal for JDK-8264594 In-Reply-To: References: <375d21c5-4a53-a661-dfea-1464fa11df9d@oracle.com> <3857338c-b4ce-e559-bc75-6f06671989ba@oracle.com> <31fde1e0-7159-afb0-a79c-fa5e320e6844@oracle.com> <49091534-aa0f-81f7-2536-ff788e6377cf@oracle.com> <0b5ac260-4e87-4a92-53ca-b670a451f552@oracle.com> <50605287-4e54-7dde-14e5-d521c19301be@oracle.com> Message-ID: Of course! On Thu, May 20, 2021 at 9:42 AM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > > On 20/05/2021 17:13, leerho wrote: > > I am not sure if the *dstSegSlice* requires the *srcCopyLen*. I would > hope that it is smart enough to realize that the input length is smaller > than the given offset minus the segment size. > > asSlice has an overload that just takes an offset and infers the resulting > size from there. > > But that doesn't seem what you want here - as you want the slice to have a > specific size (the size of the input array). > > MemorySegment::copyFrom wants the two segments to have the same size, so I > think you need that. > > In terms of performance, there's no difference between asSlice(offset) and > asSlice(offset, size) - you have to create a new segment anyway. > > Maurizio > > > From sundar at openjdk.java.net Fri May 21 03:35:19 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 21 May 2021 03:35:19 GMT Subject: [foreign-jextract] RFR: 8267504: jextract should report unsupported language and exit rather than generating partial nonworking code [v2] In-Reply-To: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> References: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> Message-ID: > Piggybacking to remove unused code. Avoid hardcoding enum values - using generated code instead. Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: removed developer filesystem paths in the symbols file ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/539/files - new: https://git.openjdk.java.net/panama-foreign/pull/539/files/f29353cf..a10d1b37 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=539&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=539&range=00-01 Stats: 2118 lines in 2 files changed: 0 ins; 0 del; 2118 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/539.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/539/head:pull/539 PR: https://git.openjdk.java.net/panama-foreign/pull/539 From sundar at openjdk.java.net Fri May 21 03:35:20 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 21 May 2021 03:35:20 GMT Subject: [foreign-jextract] RFR: 8267504: jextract should report unsupported language and exit rather than generating partial nonworking code In-Reply-To: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> References: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> Message-ID: <3ZSYv8nQ1aUI9P28s4EbuWlY7OUj8qqIcqTMdZb7Z04=.9f5d7e52-ae7e-4dec-9568-744d700d909d@github.com> On Thu, 20 May 2021 16:58:23 GMT, Athijegannathan Sundararajan wrote: > Piggybacking to remove unused code. Avoid hardcoding enum values - using generated code instead. I wanted to save full symbols file if in case if we wanted to bring few more symbols from libclang in future. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/539 From sundar at openjdk.java.net Fri May 21 05:25:59 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 21 May 2021 05:25:59 GMT Subject: [foreign-jextract] RFR: 8267504: jextract should report unsupported language and exit rather than generating partial nonworking code [v3] In-Reply-To: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> References: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> Message-ID: <9rZTGoVRWlll4vFPdiENyqfOTf5EX0f_UbNcEllWNEs=.33785d25-94cb-4039-a6b3-b7a1d82f3cd3@github.com> > Piggybacking to remove unused code. Avoid hardcoding enum values - using generated code instead. Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: Few samples failed to work. Exposing all attribute cursor kinds. Tolerate "Invalid" language type (for example "packed") ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/539/files - new: https://git.openjdk.java.net/panama-foreign/pull/539/files/a10d1b37..0d2ce8da Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=539&range=02 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=539&range=01-02 Stats: 6 lines in 2 files changed: 5 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/539.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/539/head:pull/539 PR: https://git.openjdk.java.net/panama-foreign/pull/539 From mcimadamore at openjdk.java.net Fri May 21 09:28:38 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 21 May 2021 09:28:38 GMT Subject: [foreign-jextract] RFR: 8267504: jextract should report unsupported language and exit rather than generating partial nonworking code [v3] In-Reply-To: <9rZTGoVRWlll4vFPdiENyqfOTf5EX0f_UbNcEllWNEs=.33785d25-94cb-4039-a6b3-b7a1d82f3cd3@github.com> References: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> <9rZTGoVRWlll4vFPdiENyqfOTf5EX0f_UbNcEllWNEs=.33785d25-94cb-4039-a6b3-b7a1d82f3cd3@github.com> Message-ID: On Fri, 21 May 2021 05:25:59 GMT, Athijegannathan Sundararajan wrote: >> Piggybacking to remove unused code. Avoid hardcoding enum values - using generated code instead. > > Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: > > Few samples failed to work. Exposing all attribute cursor kinds. Tolerate "Invalid" language type (for example "packed") Looks good ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/539 From sundar at openjdk.java.net Fri May 21 09:52:06 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 21 May 2021 09:52:06 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 8267504: jextract should report unsupported language and exit rather than generating partial nonworking code Message-ID: Changeset: 12615a61 Author: Athijegannathan Sundararajan Date: 2021-05-21 09:51:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/12615a616a1d1190fca524e65de5c1dff81eb8f1 8267504: jextract should report unsupported language and exit rather than generating partial nonworking code Reviewed-by: mcimadamore + src/jdk.incubator.jextract/share/classes/clang.full.symbols ! src/jdk.incubator.jextract/share/classes/clang.symbols + src/jdk.incubator.jextract/share/classes/cp_header.txt ! src/jdk.incubator.jextract/share/classes/extract.sh - src/jdk.incubator.jextract/share/classes/jdk/internal/clang/AccessSpecifier.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/CallingConvention.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/Cursor.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/CursorKind.java + src/jdk.incubator.jextract/share/classes/jdk/internal/clang/CursorLanguage.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/Diagnostic.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/ErrorCode.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/PrintingPolicyProperty.java - src/jdk.incubator.jextract/share/classes/jdk/internal/clang/RefQualifierKind.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/SaveError.java - src/jdk.incubator.jextract/share/classes/jdk/internal/clang/TemplateArgumentKind.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/TypeKind.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/CXCursorVisitor.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/Index_h.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$10.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$11.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$12.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$13.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$14.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$15.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$16.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$17.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$18.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$6.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$7.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$8.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/constants$9.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/TreeMaker.java ! test/jdk/tools/jextract/JextractToolProviderTest.java + test/jdk/tools/jextract/unsupported_lang.h From sundar at openjdk.java.net Fri May 21 09:54:50 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 21 May 2021 09:54:50 GMT Subject: [foreign-jextract] Integrated: 8267504: jextract should report unsupported language and exit rather than generating partial nonworking code In-Reply-To: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> References: <3ii4wR5iFGUO3JgOc9vCgjH4aEsurp8Y6_9jBJpy5Xk=.61414601-806b-44f3-b755-a305fe41f719@github.com> Message-ID: <3Y-RK8wyo1TrSjRFRFLZo0WUW2wzkhiubtitRka5NsQ=.1792c347-f683-4f10-9ffe-d1e45d3f96fa@github.com> On Thu, 20 May 2021 16:58:23 GMT, Athijegannathan Sundararajan wrote: > Piggybacking to remove unused code. Avoid hardcoding enum values - using generated code instead. This pull request has now been integrated. Changeset: 12615a61 Author: Athijegannathan Sundararajan URL: https://git.openjdk.java.net/panama-foreign/commit/12615a616a1d1190fca524e65de5c1dff81eb8f1 Stats: 3351 lines in 34 files changed: 1958 ins; 562 del; 831 mod 8267504: jextract should report unsupported language and exit rather than generating partial nonworking code Reviewed-by: mcimadamore ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/539 From duke at openjdk.java.net Fri May 21 11:07:50 2021 From: duke at openjdk.java.net (duke) Date: Fri, 21 May 2021 11:07:50 GMT Subject: git: openjdk/panama-foreign: foreign-memaccess+abi: 107 new changesets Message-ID: <9d434b67-96b1-4f5b-ae29-dc0561a71c68@openjdk.org> Changeset: ebcf3991 Author: ?????? ??????? Committer: Claes Redestad Date: 2021-05-14 12:29:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebcf3991b79024ef35512e5aa2be5bd731acf9e0 8266622: Optimize Class.descriptorString() and Class.getCanonicalName0() Reviewed-by: redestad ! src/java.base/share/classes/java/lang/Class.java Changeset: af4cd04c Author: Athijegannathan Sundararajan Date: 2021-05-14 12:59:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/af4cd04c2e393f8d1ffef60f49e3269adee649b8 8266291: (jrtfs) Calling Files.exists may break the JRT filesystem Reviewed-by: redestad, alanb ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java ! test/jdk/jdk/internal/jrtfs/Basic.java Changeset: 16ca370f Author: Harold Seigel Date: 2021-05-14 14:52:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/16ca370f1ac933a6aef49bd147d985e66b4c8930 8265694: Investigate test StressHiddenClasses.java Reviewed-by: lfoltan - test/hotspot/jtreg/runtime/HiddenClasses/StressHiddenClasses.java Changeset: 599d07c0 Author: Wang Huang Committer: Vladimir Kozlov Date: 2021-05-14 17:16:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/599d07c0db9c85e4dae35d1c54a63407d32eaedd 8263006: Add optimization for Max(*)Node and Min(*)Node Co-authored-by: Wang Huang Co-authored-by: Wu Yan Reviewed-by: kvn ! src/hotspot/share/opto/addnode.cpp ! src/hotspot/share/opto/addnode.hpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/mulnode.hpp + test/hotspot/jtreg/compiler/intrinsics/math/MaxMinOptimizeTest.java + test/micro/org/openjdk/bench/vm/compiler/MaxMinOptimizeTest.java Changeset: e90388bc Author: Lance Andersen Date: 2021-05-14 17:19:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e90388bc1e7bba92675fa799d9da77aa4d6e1a05 8266461: tools/jmod/hashes/HashesTest.java fails: static @Test methods Reviewed-by: alanb, mchung ! test/jdk/tools/jmod/hashes/HashesTest.java Changeset: 5eda812f Author: Lance Andersen Date: 2021-05-14 17:55:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5eda812f53bfe65d11f6241b0831c588c1400b08 8267180: Typo in copyright header for HashesTest Reviewed-by: dcubed, naoto, joehw ! test/jdk/tools/jmod/hashes/HashesTest.java Changeset: 360928d1 Author: Albert Mingkun Yang Date: 2021-05-14 18:17:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/360928d16dbfd2e878694995a2f65ba5b5a1dbe6 8260046: Assert left >= right in pointer_delta() methods Reviewed-by: sjohanss, kbarrett, tschatzl ! src/hotspot/share/utilities/globalDefinitions.hpp Changeset: be0a6552 Author: Kim Barrett Date: 2021-05-14 18:38:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/be0a655208f64e076e9e0141fe5dadc862cba981 8254598: StringDedupTable should use OopStorage Co-authored-by: Kim Barrett Co-authored-by: Zhengyu Gu Reviewed-by: coleenp, iklam, tschatzl, ayang ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/javaClasses.inline.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullGCAdjustTask.cpp ! src/hotspot/share/gc/g1/g1FullGCAdjustTask.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactTask.hpp ! src/hotspot/share/gc/g1/g1FullGCMarkTask.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.hpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.hpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1ParallelCleaning.cpp ! src/hotspot/share/gc/g1/g1ParallelCleaning.hpp ! src/hotspot/share/gc/g1/g1StringDedup.cpp ! src/hotspot/share/gc/g1/g1StringDedup.hpp - src/hotspot/share/gc/g1/g1StringDedupQueue.cpp - src/hotspot/share/gc/g1/g1StringDedupQueue.hpp - src/hotspot/share/gc/g1/g1StringDedupStat.cpp - src/hotspot/share/gc/g1/g1StringDedupStat.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/oopStorageSet.hpp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/parallelCleaning.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedup.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedup.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedup.inline.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupConfig.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupConfig.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.cpp - src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.inline.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupStat.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupStat.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupStorageUse.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupStorageUse.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupThread.cpp - src/hotspot/share/gc/shared/stringdedup/stringDedupThread.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupThread.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.hpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp - src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.cpp - src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.hpp - src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.inline.hpp - src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.inline.hpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/utilities/hashtable.cpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationAgeThreshold.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationFullGC.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationInterned.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationPrintOptions.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationTableRehash.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationTableResize.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationTools.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationYoungGC.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationAgeThreshold.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationFullGC.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationInterned.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationPrintOptions.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationTableResize.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationTools.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationYoungGC.java Changeset: 28f1c7ac Author: Alexander Matveev Date: 2021-05-14 23:00:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/28f1c7ac4dfcf1df7df4eb94d270292b76baee12 8249395: (macos) jpackage tests timeout on MacPro5_1 systems Reviewed-by: herrick, asemenyuk ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java Changeset: 7ab6dc83 Author: Valerie Peng Date: 2021-05-14 23:04:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ab6dc83df2e19a57ff0dcdc87598c54cd949a7c 6676643: Improve current C_GetAttributeValue native implementation Reviewed-by: xuelei ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyStore.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Token.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_objmgmt.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11wrapper.h Changeset: f3fb5a45 Author: Thomas Stuefe Date: 2021-05-15 05:20:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f3fb5a4524255487f95a93e50da6b230de0b31ce 8266942: gtest/GTestWrapper.java os.iso8601_time_vm failed Reviewed-by: dcubed ! test/hotspot/gtest/runtime/test_os.cpp Changeset: 10cafd24 Author: Thomas Schatzl Date: 2021-05-15 09:46:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10cafd244db8eebddc81fa312d9358ab62566cc1 8267153: Problemlist jdk/jfr/event/gc/collection/TestG1ParallelPhases.java to remove the noise from CI Reviewed-by: dcubed, jiefu ! test/jdk/ProblemList.txt Changeset: 8c71144a Author: Daniel D. Daugherty Date: 2021-05-15 13:14:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c71144a2392b8d2ce47074c819d56e523b50145 8265153: add time based test for ThreadMXBean.getThreadInfo() and ThreadInfo.getLockOwnerName() Reviewed-by: dholmes, cjplummer + test/hotspot/jtreg/serviceability/monitoring/ThreadInfo/GetLockOwnerName/GetLockOwnerName.java + test/hotspot/jtreg/serviceability/monitoring/ThreadInfo/GetLockOwnerName/libGetLockOwnerName.cpp Changeset: 2066f497 Author: Yumin Qi Date: 2021-05-16 02:26:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2066f497b9677971ece0b8a4d855f87a2f4c4018 8266764: [REDO] JDK-8255493 Support for pre-generated java.lang.invoke classes in CDS dynamic archive Reviewed-by: ccheung, iklam ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/lambdaFormInvokers.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/thread.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicDumpAtOom.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/MiniStoreOom.java Changeset: 02f895c5 Author: David Holmes Date: 2021-05-17 04:05:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02f895c5f6f6de38549337d45ed8ba4c446e9677 8252685: APIs that require JavaThread should take JavaThread arguments Reviewed-by: coleenp, sspitsyn, kvn, iklam ! src/hotspot/cpu/x86/jvmciCodeInstaller_x86.cpp ! src/hotspot/cpu/zero/methodHandles_zero.cpp ! src/hotspot/cpu/zero/stack_zero.cpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/cpu/zero/zeroInterpreter_zero.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os_cpu/windows_aarch64/os_windows_aarch64.cpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/classListParser.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/metaspaceShared.hpp ! src/hotspot/share/ci/ciUtilities.inline.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/classLoaderExt.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/compiler/compilationPolicy.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/gc/shared/allocTracer.cpp ! src/hotspot/share/gc/shared/allocTracer.hpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp ! src/hotspot/share/jfr/instrumentation/jfrJvmtiAgent.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp ! src/hotspot/share/jfr/periodic/jfrThreadDumpEvent.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.hpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrMetadataEvent.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadState.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.hpp ! src/hotspot/share/jfr/recorder/repository/jfrChunkRotation.cpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.cpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.hpp ! src/hotspot/share/jfr/recorder/service/jfrPostBox.hpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderThread.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderThreadLoop.cpp ! src/hotspot/share/jfr/support/jfrAllocationTracer.cpp ! src/hotspot/share/jfr/support/jfrAllocationTracer.hpp ! src/hotspot/share/jfr/support/jfrJdkJfrEvent.cpp ! src/hotspot/share/jfr/utilities/jfrJavaLog.cpp ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.cpp ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/jvmci/jvmciJavaClasses.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/constantPool.hpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/generateOopMap.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/typeArrayKlass.cpp ! src/hotspot/share/prims/foreign_globals.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/methodComparator.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/prims/universalUpcallHandler.cpp ! src/hotspot/share/prims/wbtestmethods/parserTests.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/prims/whitebox.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/relocator.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/runtime/vframeArray.cpp ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/utilities/exceptions.cpp ! src/hotspot/share/utilities/exceptions.hpp ! test/hotspot/gtest/utilities/test_metaspaceClosure.cpp Changeset: f4227879 Author: Leo Korinth Date: 2021-05-17 07:08:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f4227879b0504bc4656bd84153b13b04c007aa66 8266073: Regression ~2% in Derby after 8261804 Reviewed-by: ayang, sjohanss ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp Changeset: 7b736ec9 Author: Stefan Johansson Date: 2021-05-17 08:32:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7b736ec9323a508cce164266b8e9a702527f3361 8266489: Enable G1 to use large pages on Windows when region size is larger than 2m Reviewed-by: tschatzl, iwalulya ! src/hotspot/os/windows/os_windows.cpp Changeset: 2313a218 Author: Ivan Walulya Date: 2021-05-17 09:41:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2313a2187a949dd0c101b8f8fb5ffc31089d6817 8266637: CHT: Add insert_and_get method Reviewed-by: tschatzl, rehn ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: a555fd89 Author: Mitsuru Kariya Committer: Kevin Walls Date: 2021-05-17 09:49:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a555fd89d040792d4de73ab67d86b171a38cfde6 8264734: Some SA classes could use better hashCode() implementation Reviewed-by: cjplummer, kevinw ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/dummy/DummyAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/ProcAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/aarch64/WindbgAARCH64Thread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64Thread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/x86/WindbgX86Thread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java Changeset: a29612ea Author: Ralf Schmelter Date: 2021-05-17 11:47:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a29612ea9998a8e45f25add7ae30bfbc62ce3756 8255661: TestHeapDumpOnOutOfMemoryError fails with EOFException Reviewed-by: rrich, cjplummer ! src/hotspot/share/services/heapDumper.cpp ! src/hotspot/share/services/heapDumperCompression.cpp ! src/hotspot/share/services/heapDumperCompression.hpp Changeset: 39a454bb Author: Prasanta Sadhukhan Date: 2021-05-17 12:32:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/39a454bb879fe316a69a4ec33ab287db2b5837db 8260331: javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java failed with "ERROR: icon and imageIcon not same." Reviewed-by: azvegint ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java Changeset: dd5a84c6 Author: Maurizio Cimadamore Date: 2021-05-17 12:55:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dd5a84c68c4f6128c3568c6f4fc1302c6aaadf01 8267162: Add jtreg test group definitions for langtools Reviewed-by: jjg ! test/langtools/TEST.groups Changeset: d5a15f74 Author: Hannes Walln?fer Date: 2021-05-17 14:19:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d5a15f74207f14c8c6928c9d20aff8dcc2a714cc 8263438: Unused method AbstractMemberWriter.isInherited Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java Changeset: ea368365 Author: Hannes Walln?fer Date: 2021-05-17 14:43:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea36836573d2ee1b734075596f1afb9b1302d6c6 8267236: Versioned platform link in TestMemberSummary.java Reviewed-by: prappo ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java Changeset: b8856b1c Author: Vicente Romero Date: 2021-05-17 15:03:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b8856b1c47895eae0a5563ee1a8ac454863ee0a6 8263614: javac allows local variables to be accessed from a static context Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/langtools/tools/javac/records/RecordCompilationTests.java Changeset: cf97252f Author: Adam Sotona Date: 2021-05-17 15:23:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cf97252f3fd4e7bdb57271b92dd2866101d4a94b 8264561: javap get NegativeArraySizeException on bad instruction Reviewed-by: vromero ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/Instruction.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/CodeWriter.java Changeset: 3c010a7c Author: Thomas Stuefe Date: 2021-05-17 16:14:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3c010a7c7e64706ee6124d6e9ef69a5f3cf0d1ba 8265705: aarch64: KlassDecodeMovk mode broken Reviewed-by: aph, iklam, ngasson ! src/hotspot/share/oops/compressedOops.cpp ! test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java Changeset: 79b39445 Author: Ajit Ghaisas Date: 2021-05-17 16:32:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/79b39445f6fcd005744c5de89ba2cd2ed5bc0a54 8266520: Revert to OpenGL as the default 2D rendering pipeline for macOS Reviewed-by: azvegint, trebari, kcr, prr ! src/java.desktop/macosx/classes/sun/java2d/MacOSFlags.java Changeset: 3b11d811 Author: Anton Kozlov Date: 2021-05-17 19:15:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3b11d811a274ae1d91fdcc5f01bcd5d159f0543b 8266742: Check W^X state on possible safepoint Reviewed-by: dholmes, gziemski ! src/hotspot/os/bsd/globals_bsd.hpp ! src/hotspot/share/runtime/safepointMechanism.inline.hpp ! src/hotspot/share/runtime/thread.hpp Changeset: da4dfde7 Author: Brian Burkhalter Date: 2021-05-17 19:58:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/da4dfde71a176d2b8401782178e854d4c924eba1 8264777: Overload optimized FileInputStream::readAllBytes Reviewed-by: dfuchs, alanb ! src/java.base/share/classes/java/io/FileInputStream.java ! src/java.base/share/classes/java/io/InputStream.java ! src/java.base/share/native/libjava/FileInputStream.c + test/jdk/java/io/FileInputStream/ReadXBytes.java Changeset: 2effdd1b Author: Vladimir Kozlov Date: 2021-05-17 20:11:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2effdd1b6799a15a766b2b2a6cba4806d92122f3 8267112: JVMCI compiler modules should be kept upgradable Reviewed-by: mchung, erikj, dnsimon ! make/common/Modules.gmk ! make/conf/module-loader-map.conf ! src/jdk.internal.vm.ci/share/classes/module-info.java ! src/jdk.internal.vm.compiler.management/share/classes/module-info.java ! src/jdk.internal.vm.compiler/share/classes/module-info.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/IsCompilableTest.java ! test/jdk/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java ! test/jdk/jdk/modules/etc/UpgradeableModules.java ! test/jdk/tools/jimage/VerifyJimage.java Changeset: cd1c17c0 Author: David Holmes Date: 2021-05-17 22:39:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cd1c17c0a6416a8d16cf2035f3e97dba95b6b8af 8266404: Fatal error report generated with -XX:+CrashOnOutOfMemoryError should not contain suggestion to submit a bug report Reviewed-by: stuefe, kevinw, gziemski ! src/hotspot/share/utilities/debug.cpp ! src/hotspot/share/utilities/debug.hpp ! src/hotspot/share/utilities/vmError.cpp ! src/hotspot/share/utilities/vmError.hpp Changeset: 3e97b07a Author: Alexey Ushakov Committer: Ajit Ghaisas Date: 2021-05-18 06:06:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3e97b07a68cd3f9da78cbf98b574977185bc34e2 8267116: Lanai: Incorrect AlphaComposite for VolatileImage graphics Reviewed-by: serb, aghaisas ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLPipelineStatesStorage.m + test/jdk/java/awt/image/VolatileImage/AlphaCompositeTest.java Changeset: 554caf33 Author: Thomas Stuefe Date: 2021-05-18 06:35:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/554caf33a01ac9ca2e3e9170557e8348750f3971 8251392: Consolidate Metaspace Statistics Reviewed-by: coleenp, zgu ! src/hotspot/share/gc/epsilon/epsilonHeap.cpp ! src/hotspot/share/gc/epsilon/epsilonMonitoringSupport.cpp ! src/hotspot/share/gc/g1/g1HeapTransition.cpp ! src/hotspot/share/gc/g1/g1HeapTransition.hpp ! src/hotspot/share/gc/g1/g1MonitoringSupport.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/gcHeapSummary.hpp ! src/hotspot/share/gc/shared/gcTraceSend.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/preGCValues.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.cpp ! src/hotspot/share/gc/z/zServiceability.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace.hpp ! src/hotspot/share/memory/metaspace/internalStats.hpp - src/hotspot/share/memory/metaspace/metaspaceSizesSnapshot.cpp - src/hotspot/share/memory/metaspace/metaspaceSizesSnapshot.hpp ! src/hotspot/share/memory/metaspaceCounters.cpp ! src/hotspot/share/memory/metaspaceCounters.hpp + src/hotspot/share/memory/metaspaceStats.hpp ! src/hotspot/share/memory/metaspaceUtils.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/services/memBaseline.cpp ! src/hotspot/share/services/memBaseline.hpp ! src/hotspot/share/services/memReporter.cpp ! src/hotspot/share/services/memReporter.hpp ! src/hotspot/share/services/memoryPool.cpp ! src/hotspot/share/services/virtualMemoryTracker.cpp ! src/hotspot/share/services/virtualMemoryTracker.hpp ! test/hotspot/gtest/metaspace/test_metaspaceUtils.cpp Changeset: 905b41ac Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-18 07:29:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/905b41ac6ae44e5adb51cff37995cff534db47f0 8265711: C1: Intrinsify Class.getModifier method Reviewed-by: thartmann, kvn ! src/hotspot/share/c1/c1_Canonicalizer.cpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp + test/hotspot/jtreg/compiler/c1/CanonicalizeGetModifiers.java Changeset: b60975dd Author: Christoph G?ttschkes Committer: Tobias Hartmann Date: 2021-05-18 07:30:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b60975dd85d62d38e3c13c87db611c6fd08dc698 8267237: ARM32: bad AD file in matcher.cpp after 8266810 Reviewed-by: redestad, thartmann ! src/hotspot/cpu/arm/matcher_arm.hpp Changeset: f6c28911 Author: Aleksey Shipilev Date: 2021-05-18 08:08:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f6c2891118b06631db796c863638e10cf62ff45b 8267229: Split runtime/Metaspace/elastic test configurations for better scalability Reviewed-by: stuefe ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT1.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT2.java Changeset: da7c846a Author: Thomas Stuefe Date: 2021-05-18 08:52:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/da7c846a8c52c32babae1c545aa17d4b9bd85e76 8264408: test_oopStorage no longer needs to disable some tests on WIN32 Reviewed-by: shade, tschatzl ! test/hotspot/gtest/gc/shared/test_oopStorage.cpp Changeset: 894547d2 Author: Julia Boes Date: 2021-05-18 09:12:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/894547d2c102dcbe1f9ec8a1edb11c6b31e4270e 8266897: com/sun/net/httpserver/FilterTest.java fails intermittently with AssertionError Reviewed-by: chegar, dfuchs, michaelm ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpContextImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java ! test/jdk/com/sun/net/httpserver/FilterTest.java Changeset: ce88b334 Author: Tobias Hartmann Date: 2021-05-18 12:21:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ce88b334884b6cc76bd938a8a8e6a9b28a777cb8 8266615: C2 incorrectly folds subtype checks involving an interface array Reviewed-by: kvn, neliasso ! src/hotspot/share/opto/compile.cpp + test/hotspot/jtreg/compiler/types/TestInterfaceArraySubtypeCheck.java Changeset: 02507bc4 Author: Harold Seigel Date: 2021-05-18 12:34:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02507bc40d2a213768de8bacfd649e8355a2f209 8267166: Remove test file vmTestbase/vm/mlvm/tools/LoadClass.java Reviewed-by: gziemski, coleenp ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/share/StressClassLoadingTest.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/byteMutation/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/randomBytecodes/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/tools/LoadClass.java Changeset: 9d168e25 Author: Vladimir Ivanov Date: 2021-05-18 12:46:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d168e25d1e2e8b662dc7aa6cda7516c423cef7d 8266973: Migrate to ClassHierarchyIterator when enumerating subclasses Reviewed-by: kvn, coleenp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/support/jfrJdkJfrEvent.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.hpp Changeset: f8f40ab2 Author: Albert Mingkun Yang Date: 2021-05-18 13:58:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f8f40ab25ffce0243a40f307b0341cddd12ccb5d 8230486: G1BarrierSetAssembler::g1_write_barrier_post unnecessarily pushes/pops new_val Reviewed-by: kbarrett, tschatzl ! src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp Changeset: fadf5804 Author: Gerard Ziemski Date: 2021-05-18 14:44:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fadf58043c10e4fd98dfdb35256f5efc6d3cd366 8262952: [macos_aarch64] os::commit_memory failure Reviewed-by: stuefe, aph ! test/hotspot/gtest/runtime/test_os.cpp Changeset: b92c5a44 Author: Anton Kozlov Date: 2021-05-18 18:54:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b92c5a44f268c3a866fa6bc6f6218abc0457e689 8265292: [macos_aarch64] java/foreign/TestDowncall.java crashes with SIGBUS 8265183: [macos_aarch64] java/foreign/TestIntrinsics.java crashes with SIGBUS 8265182: [macos_aarch64] java/foreign/TestUpcall.java crashes with SIGBUS Reviewed-by: dholmes ! src/hotspot/share/prims/universalNativeInvoker.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! test/jdk/ProblemList.txt Changeset: e6705c0e Author: Sergey Bylokhov Date: 2021-05-18 19:30:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e6705c0e4b548a83197c3ea70bdef25ec65d4c00 8266949: Check possibility to disable OperationTimedOut on Unix Reviewed-by: azvegint, kizune ! src/java.desktop/share/classes/sun/awt/SunToolkit.java ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java Changeset: 10236e7a Author: Chris Plummer Date: 2021-05-18 21:26:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10236e7a52a2dd117c3639d020cfe294797f57af 8263242: serviceability/sa/ClhsdbFindPC.java cannot find MaxJNILocalCapacity with ASLR Reviewed-by: kevinw, ysuenaga ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c Changeset: bdbe23b9 Author: Martin Balao Date: 2021-05-18 22:34:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bdbe23b9cb6151c81a4de675e629b0a42f00640d 8265462: Handle multiple slots in the NSS Internal Module from SunPKCS11's Secmod Reviewed-by: valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/j2secmod.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/j2secmod.h Changeset: 324defe2 Author: Hui Shi Committer: Jie Fu Date: 2021-05-19 01:25:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/324defe2b6c83de76a37d1b4b360869a77bed036 8267212: test/jdk/java/util/Collections/FindSubList.java intermittent crash with "no reachable node should have no use" Reviewed-by: roland, thartmann ! src/hotspot/share/opto/intrinsicnode.cpp ! src/hotspot/share/opto/memnode.cpp Changeset: 0daec497 Author: Jie Fu Date: 2021-05-19 01:46:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0daec497fea8c048a9455e4ff331a9d8c4293a4b 8267246: -XX:MaxRAMPercentage=0 is unreasonable for jtreg tests on many-core machines Reviewed-by: shade, erikj ! make/RunTests.gmk Changeset: ff84577d Author: Alan Hayward Committer: Nick Gasson Date: 2021-05-19 01:48:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff84577d72226da0bf1ce2c6d6852f3934feecf2 8267098: AArch64: C1 StubFrames end confusingly Reviewed-by: aph ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 65a8bf58 Author: Jatin Bhateja Date: 2021-05-19 05:19:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65a8bf58bef1a3c50d434b0b351247b5a3a426cb 8265126: [REDO] unified handling for VectorMask object re-materialization during de-optimization Reviewed-by: vlivanov ! src/hotspot/share/opto/vector.cpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/prims/vectorSupport.hpp Changeset: 7aa65685 Author: Jatin Bhateja Date: 2021-05-19 05:22:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7aa65685b8ce047f075c45cc16bec5c79b8eef27 8256973: Intrinsic creation for VectorMask query (lastTrue,firstTrue,trueCount) APIs Reviewed-by: psandoz, vlivanov + mask.incr ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/prims/vectorSupport.hpp ! src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/templates/Unit-Miscellaneous.template + test/micro/org/openjdk/bench/jdk/incubator/vector/MaskQueryOperationsBenchmark.java Changeset: 3f883e8f Author: Jie Fu Date: 2021-05-19 07:17:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3f883e8f0d8811e47999d7fbe3d9784f59d0ac09 8267351: runtime/cds/SharedBaseAddress.java fails on x86_32 due to Unrecognized VM option 'UseCompressedOops' Reviewed-by: dholmes, ccheung ! test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java Changeset: c2b50f93 Author: Tobias Hartmann Date: 2021-05-19 07:27:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c2b50f93ac36cdfd96d3ed09ec80ee5255a10200 8266480: Implicit null check optimization does not update control of hoisted memory operation Reviewed-by: neliasso, kvn ! src/hotspot/share/opto/lcm.cpp + test/hotspot/jtreg/compiler/c2/TestImplicitNullCheckDominance.java Changeset: 49543831 Author: Jie Fu Date: 2021-05-19 07:43:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4954383168422a6ba2be8cda5535f90829d97ef8 8267364: Remove mask.incr which is introduced by JDK-8256973 Reviewed-by: vlivanov, thartmann - mask.incr Changeset: 2563a6a9 Author: Xiaohong Gong Committer: Ningsheng Jian Date: 2021-05-19 07:49:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2563a6a9b5e81b4624704da4e8a2f24a6c5e8a5b 8266962: Add arch supporting check for "Op_VectorLoadConst" before creating the node Reviewed-by: vlivanov, neliasso ! src/hotspot/share/opto/vectorIntrinsics.cpp Changeset: 70f6c670 Author: Ivan Walulya Date: 2021-05-19 08:01:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/70f6c67051135ff1d9994089b88d8ea630932046 8233380: CHT: Node allocation and freeing Reviewed-by: rehn, tschatzl ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/prims/resolvedMethodTable.cpp ! src/hotspot/share/services/threadIdTable.cpp ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: 2d407e12 Author: Jie Fu Date: 2021-05-19 09:03:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2d407e12fac1bdf29d339754f234227894416426 8267293: vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java fails when JTREG_JOBS > 25 Reviewed-by: stuefe, shade ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java Changeset: 0cf7e578 Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-19 09:05:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0cf7e5784b4ddb70c8674a814527d3e0c315a1ec 8267239: C1: RangeCheckElimination for % operator if divisor is IntConstant Reviewed-by: thartmann, neliasso ! src/hotspot/share/c1/c1_RangeCheckElimination.cpp ! src/hotspot/share/c1/c1_RangeCheckElimination.hpp + test/hotspot/jtreg/compiler/c1/ArithmeticRemRCE.java Changeset: 392f962e Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-19 09:06:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/392f962e0e87de1b5183505c86a967cc9999e04c 8267151: C2: Don't create dummy Opaque1Node for outmost unswitched IfNode Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp Changeset: 6ef46ce3 Author: Leo Korinth Date: 2021-05-19 09:39:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ef46ce3862dd8d7b121f0cc039cd3534b1bfdc2 8231672: Simplify the reference processing parallelization framework Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullGCMarkTask.cpp - src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp - src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.hpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp + src/hotspot/share/gc/serial/serialGcRefProcProxyTask.hpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.cpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.hpp Changeset: 88b11423 Author: Jatin Bhateja Date: 2021-05-19 09:58:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/88b114235c5716ea43c55a9c4bc886bf5bcf4b42 8267357: build breaks with -Werror option on micro benchmark added for JDK-8256973 Reviewed-by: jiefu, neliasso, thartmann ! test/micro/org/openjdk/bench/jdk/incubator/vector/MaskQueryOperationsBenchmark.java Changeset: 1b93b812 Author: Albert Mingkun Yang Date: 2021-05-19 11:29:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1b93b81270770c208efc8c9bb10bb460636008b7 8267133: jdk/jfr/event/gc/collection/TestG1ParallelPhases.java fails with Not expected phases: RestorePreservedMarks, RemoveSelfForwardingPtr: expected true, was false 8267218: jdk/jfr/event/gc/collection/TestG1ParallelPhases.java fails with Not found phases\: StringDedupQueueFixup, StringDedupTableFixup Co-authored-by: Thomas Schatzl Reviewed-by: tschatzl, iwalulya ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: e858dd61 Author: Guoxiong Li Committer: Jim Laskey Date: 2021-05-19 12:50:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e858dd6197ace4fbd03a5291a43382f7621925ea 8267361: JavaTokenizer reads octal numbers mistakenly Reviewed-by: jlaskey ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java + test/langtools/tools/javac/lexer/OctalNumberTest.java Changeset: e749f75d Author: Aleksey Shipilev Date: 2021-05-19 12:59:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e749f75de015fd9ef47f7a962f232e2ea677aba5 8267304: Bump global JTReg memory limit to 768m Reviewed-by: lmesnik, iignatyev ! make/RunTests.gmk Changeset: 12050f04 Author: Hannes Walln?fer Date: 2021-05-19 13:01:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/12050f04ca1a170d9dece1fd902dc8306c746eb8 8266651: Convert Table method parameters from String to Content Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java Changeset: 0b49f5ae Author: Zhengyu Gu Date: 2021-05-19 13:13:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0b49f5ae19b51d7ff7548b8492ea0f58dfe53180 8267257: Shenandoah: Always deduplicate strings when it is enabled during full gc Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.inline.hpp ! test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java Changeset: fdd03528 Author: Doug Simon Date: 2021-05-19 13:59:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fdd0352884cdbba8a9cd11c6f92f0c2fbd800e11 8267338: [JVMCI] revive JVMCI API removed by JDK-8243287 Reviewed-by: mchung, hseigel ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ResolvedJavaType.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Changeset: 9760dba7 Author: Claes Redestad Date: 2021-05-19 15:23:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9760dba71c07cf7b0df16590b3e84e23ad587621 8267321: Use switch expression for VarHandle$AccessMode lookup Reviewed-by: jvernee ! src/java.base/share/classes/java/lang/invoke/VarHandle.java - test/jdk/java/lang/invoke/VarHandle/AccessMode/OptimalMapSize.java Changeset: 64e2479b Author: Daniel D. Daugherty Date: 2021-05-19 16:08:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/64e2479bf6e0ceccda16c076758e23e85310d524 8267407: ProblemList vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java on linux-aarch64 8267409: ProblemList gc/epsilon/TestClasses.java on linux-x64 Reviewed-by: tschatzl ! test/hotspot/jtreg/ProblemList.txt Changeset: 237fee8b Author: Gerard Ziemski Date: 2021-05-19 16:42:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/237fee8bbdc7f239aa18b7780392ff3222589914 8267339: Temporarily disable os.release_multi_mappings_vm on macOS x64 Reviewed-by: hseigel, dcubed ! test/hotspot/gtest/runtime/test_os.cpp Changeset: 99fcc410 Author: Albert Mingkun Yang Date: 2021-05-19 17:02:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/99fcc410a774e7b830856aa9c8e18e8a3b0567de 8234532: Remove ThreadLocalAllocBuffer::_fast_refill_waste since it is never set Reviewed-by: tschatzl, sjohanss, pliden, sspitsyn ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/resources/aliasmap Changeset: 66ab6d86 Author: Hannes Walln?fer Date: 2021-05-19 17:17:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/66ab6d86d1f4d636aef697bc4c4443b901d2cb6b 8264181: javadoc tool Incorrect error message about malformed link Reviewed-by: prappo ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/diags/examples/RefBadParens1.java + test/langtools/tools/javac/diags/examples/RefUnexpectedInput1.java + test/langtools/tools/javac/diags/examples/UnterminatedSignature1.java Changeset: 38d690b3 Author: Nils Eliasson Date: 2021-05-19 17:51:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/38d690b3c347f71b41a34b36c1a232ea766b9a64 8265262: CITime - 'other' incorrectly calculated Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/phase.cpp ! src/hotspot/share/opto/phase.hpp Changeset: 9820f3d4 Author: Thomas Stuefe Date: 2021-05-19 17:55:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9820f3d480aa2e6813596710348b2057a8c2a572 8267371: Concurrent gtests take too long Reviewed-by: shade, gziemski ! test/hotspot/gtest/memory/test_virtualspace.cpp ! test/hotspot/gtest/runtime/test_os_linux.cpp Changeset: 74f30ad3 Author: Jonathan Gibbons Date: 2021-05-19 18:29:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/74f30ad38baecc0f7e9b64124fa9a6b801c280a3 8263684: Avoid wrapping into BufferedWriter twice Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ElementListWriter.java Changeset: b961f253 Author: Ioi Lam Date: 2021-05-19 19:31:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b961f2535c9508d6f8e580b8bf53538d6f72b27c 8267191: Avoid repeated SystemDictionaryShared::should_be_excluded calls Reviewed-by: dholmes, coleenp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp Changeset: 8e3549fc Author: Xubo Zhang Committer: Vladimir Kozlov Date: 2021-05-19 23:44:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8e3549fc736539a45534dfe2b417170b5c991c7d 8266332: Adler32 intrinsic for x86 64-bit platforms Co-authored-by: Xubo Zhang Co-authored-by: Greg B Tucker Co-authored-by: Pengfei Li Reviewed-by: sviswanathan, jbhateja, kvn, neliasso ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp + src/hotspot/cpu/x86/macroAssembler_x86_adler.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/runtime/vmStructs.cpp + test/micro/org/openjdk/bench/java/util/TestAdler32.java Changeset: 726785b8 Author: Thomas Stuefe Date: 2021-05-20 08:16:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/726785b8d7c18569bddae6a08fa7f61d8d7bd2c4 8267155: runtime/os/TestTracePageSizes times out Reviewed-by: shade, sjohanss ! test/hotspot/jtreg/runtime/os/TestTracePageSizes.java Changeset: 31b98e12 Author: Vicente Romero Date: 2021-05-20 09:08:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/31b98e129e6d3051c01775519792b2ba5745b275 8265319: implement Sealed Classes as a standard feature in Java, javax.lang.model changes Reviewed-by: darcy, jlahoda ! src/java.compiler/share/classes/javax/lang/model/element/Modifier.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java Changeset: 0fa9223f Author: Vicente Romero Date: 2021-05-20 09:11:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0fa9223f34bc33635079763362f42f0a5c53759b 8260517: implement Sealed Classes as a standard feature in Java Co-authored-by: Harold Seigel Co-authored-by: Vicente Romero Reviewed-by: dholmes, mcimadamore, jlahoda ! make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/include/jvm.h ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java ! src/jdk.compiler/share/classes/com/sun/source/tree/ClassTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/hotspot/jtreg/runtime/modules/SealedInterfaceModuleTest.java ! test/hotspot/jtreg/runtime/modules/SealedModuleTest.java ! test/hotspot/jtreg/runtime/modules/sealedP1/SuperClass.jcod ! test/hotspot/jtreg/runtime/modules/sealedP1/SuperInterface.jcod - test/hotspot/jtreg/runtime/sealedClasses/AbstractSealedTest.java ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclasses.jcod ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclassesTest.java ! test/hotspot/jtreg/runtime/sealedClasses/OverrideSealedTest.java ! test/hotspot/jtreg/runtime/sealedClasses/Pkg/SealedInterface.jcod ! test/hotspot/jtreg/runtime/sealedClasses/RedefinePermittedSubclass.java ! test/hotspot/jtreg/runtime/sealedClasses/RedefineSealedClass.java - test/hotspot/jtreg/runtime/sealedClasses/SealedTest.java ! test/hotspot/jtreg/runtime/sealedClasses/SealedUnnamedModuleIntfTest.java ! test/hotspot/jtreg/runtime/sealedClasses/SealedUnnamedModuleTest.java ! test/hotspot/jtreg/runtime/sealedClasses/planets/OuterPlanets.jcod ! test/jdk/java/lang/instrument/RedefinePermittedSubclassesAttr/TestPermittedSubclassesAttr.java ! test/langtools/tools/javac/diags/examples.not-yet.txt ! test/langtools/tools/javac/diags/examples/AnonymousCantInheritFromSealed.java ! test/langtools/tools/javac/diags/examples/CantExtendSealedInAnotherModule/CantExtendSealedInAnotherModule.java ! test/langtools/tools/javac/diags/examples/CantExtendSealedInAnotherPkg/CantExtendSealedInAnotherPkg.java ! test/langtools/tools/javac/diags/examples/CantInheritFromSealed.java ! test/langtools/tools/javac/diags/examples/CantInheritFromSealed2.java ! test/langtools/tools/javac/diags/examples/DuplicateTypeInPermits.java ! test/langtools/tools/javac/diags/examples/LocalCantInheritFromSealed.java ! test/langtools/tools/javac/diags/examples/NonSealedWithNoSealedSuper.java ! test/langtools/tools/javac/diags/examples/PermitsCantListDeclaringClass.java ! test/langtools/tools/javac/diags/examples/PermitsCantListSuperType.java ! test/langtools/tools/javac/diags/examples/PermitsInNoSealedClass.java ! test/langtools/tools/javac/diags/examples/SealedMustHaveSubtypes.java ! test/langtools/tools/javac/diags/examples/SealedNotAllowedInLocalClass.java ! test/langtools/tools/javac/diags/examples/SealedTypes.java ! test/langtools/tools/javac/diags/examples/SubtypeDoesntExtendSealed.java ! test/langtools/tools/javac/diags/examples/TypeVarInPermits.java - test/langtools/tools/javac/preview/DeclaredUsingPreview-class.out - test/langtools/tools/javac/preview/DeclaredUsingPreview-source.out - test/langtools/tools/javac/preview/DeclaredUsingPreview.java - test/langtools/tools/javac/preview/DeclaredUsingPreviewDeclarations.java ! test/langtools/tools/javac/preview/PreviewAutoSuppress.java ! test/langtools/tools/javac/preview/PreviewErrors.java ! test/langtools/tools/javac/processing/model/element/TestSealed.java ! test/langtools/tools/javac/sealed/SealedCompilationTests.java ! test/langtools/tools/javac/sealed/SealedDiffConfigurationsTest.java ! test/langtools/tools/jdeps/listdeps/ListModuleDeps.java Changeset: 7dcb9fda Author: Vicente Romero Date: 2021-05-20 09:23:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7dcb9fda89ee17a5eadc83999de21e4542f37133 8265684: implement Sealed Classes as a standard feature in Java, javadoc changes Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ParamTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ClassUseMapper.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Comparators.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java ! test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java ! test/langtools/jdk/javadoc/doclet/testSealedTypes/TestSealedTypes.java Changeset: 31320c34 Author: Julia Boes Date: 2021-05-20 09:30:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/31320c3474a6054a367e764c2a9fef46ac638998 8267262: com/sun/net/httpserver/Filter improve API documentation of static methods Reviewed-by: dfuchs, chegar ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/Filter.java ! test/jdk/com/sun/net/httpserver/FilterTest.java Changeset: f07dcf47 Author: Alexander Zuev Date: 2021-05-20 10:31:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f07dcf471c160e09fbc748124998923e7d453e66 8264290: Create implementation for NSAccessibilityComponentGroup protocol peer Reviewed-by: pbansal ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m = src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/GroupAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/GroupAccessibility.m Changeset: f979523a Author: Thomas Schatzl Date: 2021-05-20 11:10:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f979523a69ee5728659d6480f57d62dd70609834 8267463: Problemlist runtime/os/TestTracePageSizes.java on linux-aarch64 to reduce noise Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: aba22656 Author: Per Liden Date: 2021-05-20 11:32:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aba22656829913d5f8d619a184c929a7de8431e4 8260267: ZGC: Reduce mark stack usage Co-authored-by: Wang Chao Co-authored-by: Hui Shi Reviewed-by: sjohanss, ayang ! src/hotspot/share/gc/z/zBarrier.cpp ! src/hotspot/share/gc/z/zBarrier.hpp ! src/hotspot/share/gc/z/zBarrier.inline.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/gc/z/zDriver.hpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeap.hpp ! src/hotspot/share/gc/z/zHeap.inline.hpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/gc/z/zMark.hpp ! src/hotspot/share/gc/z/zMark.inline.hpp ! src/hotspot/share/gc/z/zMarkStack.hpp ! src/hotspot/share/gc/z/zMarkStack.inline.hpp ! src/hotspot/share/gc/z/zMarkStackAllocator.cpp ! src/hotspot/share/gc/z/zMarkStackAllocator.hpp ! src/hotspot/share/gc/z/zMarkStackEntry.hpp ! src/hotspot/share/gc/z/zPage.hpp ! src/hotspot/share/gc/z/zPage.inline.hpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp Changeset: 459abd56 Author: liach Committer: Hannes Walln?fer Date: 2021-05-20 12:44:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/459abd561accc9f10456a9d63f7fa19c7f8e020e 8267219: Javadoc method summary breaks when {@inheritDoc} from an empty parent Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/ContentBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java + test/langtools/jdk/javadoc/doclet/testEmptyInheritDoc/TestEmptyInheritDoc.java Changeset: 9425d3de Author: Sergey Tsypanov Committer: Claes Redestad Date: 2021-05-20 13:56:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9425d3de83fe8f4caddef03ffa3f4dd4de58f236 8261880: Change nested classes in java.base to static nested classes where possible Reviewed-by: redestad ! src/java.base/macosx/classes/apple/security/KeychainStore.java ! src/java.base/share/classes/java/lang/StackStreamFactory.java ! src/java.base/share/classes/java/net/Inet6Address.java ! src/java.base/share/classes/java/security/ProtectionDomain.java ! src/java.base/share/classes/jdk/internal/module/ServicesCatalog.java ! src/java.base/share/classes/jdk/internal/util/xml/impl/XMLStreamWriterImpl.java ! src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java ! src/java.base/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java ! src/java.base/share/classes/sun/security/provider/DomainKeyStore.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomial.java ! src/java.base/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java Changeset: fc7f0a3e Author: Thomas Schatzl Date: 2021-05-20 14:17:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fc7f0a3e6126dfa6104f77c50ac5db9d6e470a38 8267480: Explicitly problemlist all runtime/os/TestTracePageSizes.java tests on linux-aarch64 to reduce noise Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 878d1b3f Author: Jonathan Gibbons Date: 2021-05-20 14:22:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/878d1b3f600d4a51b082f0c3276df6de49a9bc4f 8267434: Remove LinkOutput[Impl] Reviewed-by: prappo - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkOutputImpl.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkOutput.java Changeset: f67847f5 Author: Aleksey Shipilev Date: 2021-05-20 14:26:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f67847f52a306874d1a0d92250f8a556b3af6507 8267396: Avoid recording "pc" in unhandled oops detector for better performance Reviewed-by: coleenp, dholmes ! src/hotspot/share/oops/oopsHierarchy.cpp ! src/hotspot/share/runtime/unhandledOops.cpp ! src/hotspot/share/runtime/unhandledOops.hpp Changeset: b7b6acd9 Author: Hannes Walln?fer Date: 2021-05-20 15:11:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b7b6acd9b1cafb791827e151712836c4e7140db5 8267481: Make sure table row has correct number of cells Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java Changeset: ca93399a Author: Vladimir Kempik Date: 2021-05-20 15:46:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ca93399af103384e750dabf3abcc6e8392bcf3f4 8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash Reviewed-by: akozlov, aph ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: 7b98400c Author: Aleksey Shipilev Date: 2021-05-20 16:45:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7b98400c81900a8c779394d549b5fb61f1dd8638 8267348: Rewrite gc/epsilon/TestClasses.java to use Metaspace with less classes Reviewed-by: stuefe ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/gc/epsilon/TestClasses.java Changeset: 81f39ed3 Author: Vicente Romero Date: 2021-05-20 17:53:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/81f39ed3e0176b75dee1c8db24041545bcc68a86 8261205: AssertionError: Cannot add metadata to an intersection type Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java + test/langtools/tools/javac/annotations/typeAnnotations/VariablesDeclaredWithVarTest.java Changeset: 005d8a7f Author: Phil Race Date: 2021-05-20 19:49:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/005d8a7fca8b4d9519d2bde0a7cdbbece1cd3981 8256372: [macos] Unexpected symbol was displayed on JTextField with Monospaced font Reviewed-by: erikj, serb ! make/modules/java.desktop/lib/Awt2dLibraries.gmk ! src/java.desktop/macosx/classes/sun/font/CFont.java ! src/java.desktop/share/classes/sun/font/SunLayoutEngine.java ! src/java.desktop/share/native/libfontmanager/HBShaper.c ! src/java.desktop/share/native/libfontmanager/hb-jdk-font.cc ! src/java.desktop/share/native/libfontmanager/hb-jdk.h - src/java.desktop/share/native/libharfbuzz/hb-coretext.cc - src/java.desktop/share/native/libharfbuzz/hb-coretext.h + test/jdk/java/awt/font/GlyphVector/NLGlyphTest.java Changeset: 1c7a1310 Author: Calvin Cheung Date: 2021-05-20 21:03:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c7a1310d9985fd0ad05d901186eb0b6c0045d74 8267350: Archived old interface extends interface with default method causes crash Reviewed-by: iklam, minqi ! src/hotspot/share/oops/instanceKlass.cpp + test/hotspot/jtreg/runtime/cds/appcds/OldInfExtendsInfDefMeth.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/InfDefMeth.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldInfDefMeth.jasm + test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldInfDefMethApp.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldInfDefMethImpl.java Changeset: 83b36072 Author: Denghui Dong Committer: Vladimir Ivanov Date: 2021-05-20 22:19:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/83b360729060abaefb00a0b3f6165926db956bf8 8266642: improve ResolvedMethodTable hash function Reviewed-by: vlivanov, coleenp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/prims/resolvedMethodTable.cpp ! test/hotspot/jtreg/runtime/MemberName/ResolvedMethodTableHash.java Changeset: 7a63ff70 Author: Jie Fu Date: 2021-05-20 23:59:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7a63ff70c8eed6c5bfad5655f0f4fa2281b4e104 8267370: [Vector API] Fix several crashes after JDK-8256973 Co-authored-by: Jatin Bhateja Reviewed-by: neliasso, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp Changeset: e094f3f8 Author: Jonathan Gibbons Date: 2021-05-21 00:31:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e094f3f856f5f17d4be65b9f83ff493aa0280deb 8266856: Make element void Reviewed-by: prappo, iris, vromero ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlTag.java + test/langtools/jdk/javadoc/doclet/testVoidHtmlElements/TestVoidHtmlElements.java ! test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.java Changeset: 9eaa4afc Author: Alexander Matveev Date: 2021-05-21 00:44:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9eaa4afc99b09f4704e4d641f95104be40b9ea66 8267056: tools/jpackage/share/RuntimePackageTest.java fails with NoSuchFileException Reviewed-by: asemenyuk, herrick ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java ! test/jdk/tools/jpackage/share/RuntimePackageTest.java Changeset: e48d7d66 Author: Prasanta Sadhukhan Date: 2021-05-21 09:37:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e48d7d66582d9c9630d85e86ff344794656914fc 8264218: Public method javax.swing.JMenu.setComponentOrientation() has no spec Reviewed-by: aivanov ! src/java.desktop/share/classes/javax/swing/JMenu.java Changeset: b5d32bbf Author: K Suman Rajkumaar <70650887+skodanda at users.noreply.github.com> Committer: Dmitry Markov Date: 2021-05-21 09:42:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5d32bbfc716870904e91ce07a09f08929f2563e 8260690: JConsole User Guide Link from the Help menu is not accessible by keyboard Reviewed-by: aivanov, dmarkov ! src/jdk.jconsole/share/classes/sun/tools/jconsole/AboutDialog.java Changeset: ee2651b9 Author: Jaroslav Bachorik Date: 2021-05-21 09:44:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ee2651b9e5a9ab468b4be73d43b8f643e9e92042 8203359: Container level resources events Reviewed-by: sgehwolf, egahlin ! src/java.base/share/classes/module-info.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerCPUThrottlingEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerCPUUsageEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerConfigurationEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerIOUsageEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerMemoryUsageEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc ! test/hotspot/jtreg/containers/docker/JfrReporter.java ! test/hotspot/jtreg/containers/docker/TestJFREvents.java ! test/jdk/jdk/jfr/event/metadata/TestLookForUntestedEvents.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: 3241dded Author: duke Date: 2021-05-21 11:00:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3241ddede0cd07967115d5925c39606351020a96 Automatic merge of jdk:master into master Changeset: 0e1678d5 Author: duke Date: 2021-05-21 11:01:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0e1678d5d0bbb3f0010b07f46eb8d6e5841ddb79 Automatic merge of master into foreign-memaccess+abi ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/prims/foreign_globals.cpp ! src/hotspot/share/prims/universalNativeInvoker.cpp ! src/hotspot/share/prims/universalUpcallHandler.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/java.base/share/classes/module-info.java ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/prims/foreign_globals.cpp ! src/hotspot/share/prims/universalNativeInvoker.cpp ! src/hotspot/share/prims/universalUpcallHandler.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/java.base/share/classes/module-info.java From duke at openjdk.java.net Fri May 21 11:14:19 2021 From: duke at openjdk.java.net (duke) Date: Fri, 21 May 2021 11:14:19 GMT Subject: git: openjdk/panama-foreign: master: 106 new changesets Message-ID: <232524b0-d498-40be-a427-b568deb322e5@openjdk.org> Changeset: ebcf3991 Author: ?????? ??????? Committer: Claes Redestad Date: 2021-05-14 12:29:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebcf3991b79024ef35512e5aa2be5bd731acf9e0 8266622: Optimize Class.descriptorString() and Class.getCanonicalName0() Reviewed-by: redestad ! src/java.base/share/classes/java/lang/Class.java Changeset: af4cd04c Author: Athijegannathan Sundararajan Date: 2021-05-14 12:59:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/af4cd04c2e393f8d1ffef60f49e3269adee649b8 8266291: (jrtfs) Calling Files.exists may break the JRT filesystem Reviewed-by: redestad, alanb ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java ! test/jdk/jdk/internal/jrtfs/Basic.java Changeset: 16ca370f Author: Harold Seigel Date: 2021-05-14 14:52:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/16ca370f1ac933a6aef49bd147d985e66b4c8930 8265694: Investigate test StressHiddenClasses.java Reviewed-by: lfoltan - test/hotspot/jtreg/runtime/HiddenClasses/StressHiddenClasses.java Changeset: 599d07c0 Author: Wang Huang Committer: Vladimir Kozlov Date: 2021-05-14 17:16:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/599d07c0db9c85e4dae35d1c54a63407d32eaedd 8263006: Add optimization for Max(*)Node and Min(*)Node Co-authored-by: Wang Huang Co-authored-by: Wu Yan Reviewed-by: kvn ! src/hotspot/share/opto/addnode.cpp ! src/hotspot/share/opto/addnode.hpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/mulnode.hpp + test/hotspot/jtreg/compiler/intrinsics/math/MaxMinOptimizeTest.java + test/micro/org/openjdk/bench/vm/compiler/MaxMinOptimizeTest.java Changeset: e90388bc Author: Lance Andersen Date: 2021-05-14 17:19:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e90388bc1e7bba92675fa799d9da77aa4d6e1a05 8266461: tools/jmod/hashes/HashesTest.java fails: static @Test methods Reviewed-by: alanb, mchung ! test/jdk/tools/jmod/hashes/HashesTest.java Changeset: 5eda812f Author: Lance Andersen Date: 2021-05-14 17:55:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5eda812f53bfe65d11f6241b0831c588c1400b08 8267180: Typo in copyright header for HashesTest Reviewed-by: dcubed, naoto, joehw ! test/jdk/tools/jmod/hashes/HashesTest.java Changeset: 360928d1 Author: Albert Mingkun Yang Date: 2021-05-14 18:17:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/360928d16dbfd2e878694995a2f65ba5b5a1dbe6 8260046: Assert left >= right in pointer_delta() methods Reviewed-by: sjohanss, kbarrett, tschatzl ! src/hotspot/share/utilities/globalDefinitions.hpp Changeset: be0a6552 Author: Kim Barrett Date: 2021-05-14 18:38:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/be0a655208f64e076e9e0141fe5dadc862cba981 8254598: StringDedupTable should use OopStorage Co-authored-by: Kim Barrett Co-authored-by: Zhengyu Gu Reviewed-by: coleenp, iklam, tschatzl, ayang ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/javaClasses.inline.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullGCAdjustTask.cpp ! src/hotspot/share/gc/g1/g1FullGCAdjustTask.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactTask.hpp ! src/hotspot/share/gc/g1/g1FullGCMarkTask.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.hpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.hpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1ParallelCleaning.cpp ! src/hotspot/share/gc/g1/g1ParallelCleaning.hpp ! src/hotspot/share/gc/g1/g1StringDedup.cpp ! src/hotspot/share/gc/g1/g1StringDedup.hpp - src/hotspot/share/gc/g1/g1StringDedupQueue.cpp - src/hotspot/share/gc/g1/g1StringDedupQueue.hpp - src/hotspot/share/gc/g1/g1StringDedupStat.cpp - src/hotspot/share/gc/g1/g1StringDedupStat.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/oopStorageSet.hpp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/parallelCleaning.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedup.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedup.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedup.inline.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupConfig.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupConfig.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.cpp - src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.inline.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupStat.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupStat.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupStorageUse.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupStorageUse.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupThread.cpp - src/hotspot/share/gc/shared/stringdedup/stringDedupThread.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupThread.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.hpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp - src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.cpp - src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.hpp - src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.inline.hpp - src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.inline.hpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/utilities/hashtable.cpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationAgeThreshold.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationFullGC.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationInterned.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationPrintOptions.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationTableRehash.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationTableResize.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationTools.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationYoungGC.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationAgeThreshold.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationFullGC.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationInterned.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationPrintOptions.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationTableResize.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationTools.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationYoungGC.java Changeset: 28f1c7ac Author: Alexander Matveev Date: 2021-05-14 23:00:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/28f1c7ac4dfcf1df7df4eb94d270292b76baee12 8249395: (macos) jpackage tests timeout on MacPro5_1 systems Reviewed-by: herrick, asemenyuk ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java Changeset: 7ab6dc83 Author: Valerie Peng Date: 2021-05-14 23:04:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ab6dc83df2e19a57ff0dcdc87598c54cd949a7c 6676643: Improve current C_GetAttributeValue native implementation Reviewed-by: xuelei ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyStore.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Token.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_objmgmt.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11wrapper.h Changeset: f3fb5a45 Author: Thomas Stuefe Date: 2021-05-15 05:20:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f3fb5a4524255487f95a93e50da6b230de0b31ce 8266942: gtest/GTestWrapper.java os.iso8601_time_vm failed Reviewed-by: dcubed ! test/hotspot/gtest/runtime/test_os.cpp Changeset: 10cafd24 Author: Thomas Schatzl Date: 2021-05-15 09:46:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10cafd244db8eebddc81fa312d9358ab62566cc1 8267153: Problemlist jdk/jfr/event/gc/collection/TestG1ParallelPhases.java to remove the noise from CI Reviewed-by: dcubed, jiefu ! test/jdk/ProblemList.txt Changeset: 8c71144a Author: Daniel D. Daugherty Date: 2021-05-15 13:14:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c71144a2392b8d2ce47074c819d56e523b50145 8265153: add time based test for ThreadMXBean.getThreadInfo() and ThreadInfo.getLockOwnerName() Reviewed-by: dholmes, cjplummer + test/hotspot/jtreg/serviceability/monitoring/ThreadInfo/GetLockOwnerName/GetLockOwnerName.java + test/hotspot/jtreg/serviceability/monitoring/ThreadInfo/GetLockOwnerName/libGetLockOwnerName.cpp Changeset: 2066f497 Author: Yumin Qi Date: 2021-05-16 02:26:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2066f497b9677971ece0b8a4d855f87a2f4c4018 8266764: [REDO] JDK-8255493 Support for pre-generated java.lang.invoke classes in CDS dynamic archive Reviewed-by: ccheung, iklam ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/lambdaFormInvokers.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/thread.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicDumpAtOom.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/MiniStoreOom.java Changeset: 02f895c5 Author: David Holmes Date: 2021-05-17 04:05:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02f895c5f6f6de38549337d45ed8ba4c446e9677 8252685: APIs that require JavaThread should take JavaThread arguments Reviewed-by: coleenp, sspitsyn, kvn, iklam ! src/hotspot/cpu/x86/jvmciCodeInstaller_x86.cpp ! src/hotspot/cpu/zero/methodHandles_zero.cpp ! src/hotspot/cpu/zero/stack_zero.cpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/cpu/zero/zeroInterpreter_zero.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os_cpu/windows_aarch64/os_windows_aarch64.cpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/classListParser.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/metaspaceShared.hpp ! src/hotspot/share/ci/ciUtilities.inline.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/classLoaderExt.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/compiler/compilationPolicy.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/gc/shared/allocTracer.cpp ! src/hotspot/share/gc/shared/allocTracer.hpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp ! src/hotspot/share/jfr/instrumentation/jfrJvmtiAgent.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp ! src/hotspot/share/jfr/periodic/jfrThreadDumpEvent.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.hpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrMetadataEvent.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadState.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.hpp ! src/hotspot/share/jfr/recorder/repository/jfrChunkRotation.cpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.cpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.hpp ! src/hotspot/share/jfr/recorder/service/jfrPostBox.hpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderThread.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderThreadLoop.cpp ! src/hotspot/share/jfr/support/jfrAllocationTracer.cpp ! src/hotspot/share/jfr/support/jfrAllocationTracer.hpp ! src/hotspot/share/jfr/support/jfrJdkJfrEvent.cpp ! src/hotspot/share/jfr/utilities/jfrJavaLog.cpp ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.cpp ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/jvmci/jvmciJavaClasses.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/constantPool.hpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/generateOopMap.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/typeArrayKlass.cpp ! src/hotspot/share/prims/foreign_globals.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/methodComparator.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/prims/universalUpcallHandler.cpp ! src/hotspot/share/prims/wbtestmethods/parserTests.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/prims/whitebox.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/relocator.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/runtime/vframeArray.cpp ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/utilities/exceptions.cpp ! src/hotspot/share/utilities/exceptions.hpp ! test/hotspot/gtest/utilities/test_metaspaceClosure.cpp Changeset: f4227879 Author: Leo Korinth Date: 2021-05-17 07:08:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f4227879b0504bc4656bd84153b13b04c007aa66 8266073: Regression ~2% in Derby after 8261804 Reviewed-by: ayang, sjohanss ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp Changeset: 7b736ec9 Author: Stefan Johansson Date: 2021-05-17 08:32:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7b736ec9323a508cce164266b8e9a702527f3361 8266489: Enable G1 to use large pages on Windows when region size is larger than 2m Reviewed-by: tschatzl, iwalulya ! src/hotspot/os/windows/os_windows.cpp Changeset: 2313a218 Author: Ivan Walulya Date: 2021-05-17 09:41:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2313a2187a949dd0c101b8f8fb5ffc31089d6817 8266637: CHT: Add insert_and_get method Reviewed-by: tschatzl, rehn ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: a555fd89 Author: Mitsuru Kariya Committer: Kevin Walls Date: 2021-05-17 09:49:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a555fd89d040792d4de73ab67d86b171a38cfde6 8264734: Some SA classes could use better hashCode() implementation Reviewed-by: cjplummer, kevinw ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/dummy/DummyAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/ProcAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/aarch64/WindbgAARCH64Thread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64Thread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/x86/WindbgX86Thread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java Changeset: a29612ea Author: Ralf Schmelter Date: 2021-05-17 11:47:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a29612ea9998a8e45f25add7ae30bfbc62ce3756 8255661: TestHeapDumpOnOutOfMemoryError fails with EOFException Reviewed-by: rrich, cjplummer ! src/hotspot/share/services/heapDumper.cpp ! src/hotspot/share/services/heapDumperCompression.cpp ! src/hotspot/share/services/heapDumperCompression.hpp Changeset: 39a454bb Author: Prasanta Sadhukhan Date: 2021-05-17 12:32:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/39a454bb879fe316a69a4ec33ab287db2b5837db 8260331: javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java failed with "ERROR: icon and imageIcon not same." Reviewed-by: azvegint ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java Changeset: dd5a84c6 Author: Maurizio Cimadamore Date: 2021-05-17 12:55:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dd5a84c68c4f6128c3568c6f4fc1302c6aaadf01 8267162: Add jtreg test group definitions for langtools Reviewed-by: jjg ! test/langtools/TEST.groups Changeset: d5a15f74 Author: Hannes Walln?fer Date: 2021-05-17 14:19:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d5a15f74207f14c8c6928c9d20aff8dcc2a714cc 8263438: Unused method AbstractMemberWriter.isInherited Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java Changeset: ea368365 Author: Hannes Walln?fer Date: 2021-05-17 14:43:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea36836573d2ee1b734075596f1afb9b1302d6c6 8267236: Versioned platform link in TestMemberSummary.java Reviewed-by: prappo ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java Changeset: b8856b1c Author: Vicente Romero Date: 2021-05-17 15:03:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b8856b1c47895eae0a5563ee1a8ac454863ee0a6 8263614: javac allows local variables to be accessed from a static context Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/langtools/tools/javac/records/RecordCompilationTests.java Changeset: cf97252f Author: Adam Sotona Date: 2021-05-17 15:23:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cf97252f3fd4e7bdb57271b92dd2866101d4a94b 8264561: javap get NegativeArraySizeException on bad instruction Reviewed-by: vromero ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/Instruction.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/CodeWriter.java Changeset: 3c010a7c Author: Thomas Stuefe Date: 2021-05-17 16:14:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3c010a7c7e64706ee6124d6e9ef69a5f3cf0d1ba 8265705: aarch64: KlassDecodeMovk mode broken Reviewed-by: aph, iklam, ngasson ! src/hotspot/share/oops/compressedOops.cpp ! test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java Changeset: 79b39445 Author: Ajit Ghaisas Date: 2021-05-17 16:32:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/79b39445f6fcd005744c5de89ba2cd2ed5bc0a54 8266520: Revert to OpenGL as the default 2D rendering pipeline for macOS Reviewed-by: azvegint, trebari, kcr, prr ! src/java.desktop/macosx/classes/sun/java2d/MacOSFlags.java Changeset: 3b11d811 Author: Anton Kozlov Date: 2021-05-17 19:15:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3b11d811a274ae1d91fdcc5f01bcd5d159f0543b 8266742: Check W^X state on possible safepoint Reviewed-by: dholmes, gziemski ! src/hotspot/os/bsd/globals_bsd.hpp ! src/hotspot/share/runtime/safepointMechanism.inline.hpp ! src/hotspot/share/runtime/thread.hpp Changeset: da4dfde7 Author: Brian Burkhalter Date: 2021-05-17 19:58:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/da4dfde71a176d2b8401782178e854d4c924eba1 8264777: Overload optimized FileInputStream::readAllBytes Reviewed-by: dfuchs, alanb ! src/java.base/share/classes/java/io/FileInputStream.java ! src/java.base/share/classes/java/io/InputStream.java ! src/java.base/share/native/libjava/FileInputStream.c + test/jdk/java/io/FileInputStream/ReadXBytes.java Changeset: 2effdd1b Author: Vladimir Kozlov Date: 2021-05-17 20:11:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2effdd1b6799a15a766b2b2a6cba4806d92122f3 8267112: JVMCI compiler modules should be kept upgradable Reviewed-by: mchung, erikj, dnsimon ! make/common/Modules.gmk ! make/conf/module-loader-map.conf ! src/jdk.internal.vm.ci/share/classes/module-info.java ! src/jdk.internal.vm.compiler.management/share/classes/module-info.java ! src/jdk.internal.vm.compiler/share/classes/module-info.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/IsCompilableTest.java ! test/jdk/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java ! test/jdk/jdk/modules/etc/UpgradeableModules.java ! test/jdk/tools/jimage/VerifyJimage.java Changeset: cd1c17c0 Author: David Holmes Date: 2021-05-17 22:39:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cd1c17c0a6416a8d16cf2035f3e97dba95b6b8af 8266404: Fatal error report generated with -XX:+CrashOnOutOfMemoryError should not contain suggestion to submit a bug report Reviewed-by: stuefe, kevinw, gziemski ! src/hotspot/share/utilities/debug.cpp ! src/hotspot/share/utilities/debug.hpp ! src/hotspot/share/utilities/vmError.cpp ! src/hotspot/share/utilities/vmError.hpp Changeset: 3e97b07a Author: Alexey Ushakov Committer: Ajit Ghaisas Date: 2021-05-18 06:06:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3e97b07a68cd3f9da78cbf98b574977185bc34e2 8267116: Lanai: Incorrect AlphaComposite for VolatileImage graphics Reviewed-by: serb, aghaisas ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLPipelineStatesStorage.m + test/jdk/java/awt/image/VolatileImage/AlphaCompositeTest.java Changeset: 554caf33 Author: Thomas Stuefe Date: 2021-05-18 06:35:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/554caf33a01ac9ca2e3e9170557e8348750f3971 8251392: Consolidate Metaspace Statistics Reviewed-by: coleenp, zgu ! src/hotspot/share/gc/epsilon/epsilonHeap.cpp ! src/hotspot/share/gc/epsilon/epsilonMonitoringSupport.cpp ! src/hotspot/share/gc/g1/g1HeapTransition.cpp ! src/hotspot/share/gc/g1/g1HeapTransition.hpp ! src/hotspot/share/gc/g1/g1MonitoringSupport.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/gcHeapSummary.hpp ! src/hotspot/share/gc/shared/gcTraceSend.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/preGCValues.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.cpp ! src/hotspot/share/gc/z/zServiceability.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace.hpp ! src/hotspot/share/memory/metaspace/internalStats.hpp - src/hotspot/share/memory/metaspace/metaspaceSizesSnapshot.cpp - src/hotspot/share/memory/metaspace/metaspaceSizesSnapshot.hpp ! src/hotspot/share/memory/metaspaceCounters.cpp ! src/hotspot/share/memory/metaspaceCounters.hpp + src/hotspot/share/memory/metaspaceStats.hpp ! src/hotspot/share/memory/metaspaceUtils.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/services/memBaseline.cpp ! src/hotspot/share/services/memBaseline.hpp ! src/hotspot/share/services/memReporter.cpp ! src/hotspot/share/services/memReporter.hpp ! src/hotspot/share/services/memoryPool.cpp ! src/hotspot/share/services/virtualMemoryTracker.cpp ! src/hotspot/share/services/virtualMemoryTracker.hpp ! test/hotspot/gtest/metaspace/test_metaspaceUtils.cpp Changeset: 905b41ac Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-18 07:29:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/905b41ac6ae44e5adb51cff37995cff534db47f0 8265711: C1: Intrinsify Class.getModifier method Reviewed-by: thartmann, kvn ! src/hotspot/share/c1/c1_Canonicalizer.cpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp + test/hotspot/jtreg/compiler/c1/CanonicalizeGetModifiers.java Changeset: b60975dd Author: Christoph G?ttschkes Committer: Tobias Hartmann Date: 2021-05-18 07:30:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b60975dd85d62d38e3c13c87db611c6fd08dc698 8267237: ARM32: bad AD file in matcher.cpp after 8266810 Reviewed-by: redestad, thartmann ! src/hotspot/cpu/arm/matcher_arm.hpp Changeset: f6c28911 Author: Aleksey Shipilev Date: 2021-05-18 08:08:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f6c2891118b06631db796c863638e10cf62ff45b 8267229: Split runtime/Metaspace/elastic test configurations for better scalability Reviewed-by: stuefe ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT1.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT2.java Changeset: da7c846a Author: Thomas Stuefe Date: 2021-05-18 08:52:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/da7c846a8c52c32babae1c545aa17d4b9bd85e76 8264408: test_oopStorage no longer needs to disable some tests on WIN32 Reviewed-by: shade, tschatzl ! test/hotspot/gtest/gc/shared/test_oopStorage.cpp Changeset: 894547d2 Author: Julia Boes Date: 2021-05-18 09:12:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/894547d2c102dcbe1f9ec8a1edb11c6b31e4270e 8266897: com/sun/net/httpserver/FilterTest.java fails intermittently with AssertionError Reviewed-by: chegar, dfuchs, michaelm ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpContextImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java ! test/jdk/com/sun/net/httpserver/FilterTest.java Changeset: ce88b334 Author: Tobias Hartmann Date: 2021-05-18 12:21:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ce88b334884b6cc76bd938a8a8e6a9b28a777cb8 8266615: C2 incorrectly folds subtype checks involving an interface array Reviewed-by: kvn, neliasso ! src/hotspot/share/opto/compile.cpp + test/hotspot/jtreg/compiler/types/TestInterfaceArraySubtypeCheck.java Changeset: 02507bc4 Author: Harold Seigel Date: 2021-05-18 12:34:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02507bc40d2a213768de8bacfd649e8355a2f209 8267166: Remove test file vmTestbase/vm/mlvm/tools/LoadClass.java Reviewed-by: gziemski, coleenp ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/share/StressClassLoadingTest.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/byteMutation/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/randomBytecodes/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/tools/LoadClass.java Changeset: 9d168e25 Author: Vladimir Ivanov Date: 2021-05-18 12:46:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d168e25d1e2e8b662dc7aa6cda7516c423cef7d 8266973: Migrate to ClassHierarchyIterator when enumerating subclasses Reviewed-by: kvn, coleenp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/support/jfrJdkJfrEvent.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.hpp Changeset: f8f40ab2 Author: Albert Mingkun Yang Date: 2021-05-18 13:58:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f8f40ab25ffce0243a40f307b0341cddd12ccb5d 8230486: G1BarrierSetAssembler::g1_write_barrier_post unnecessarily pushes/pops new_val Reviewed-by: kbarrett, tschatzl ! src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp Changeset: fadf5804 Author: Gerard Ziemski Date: 2021-05-18 14:44:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fadf58043c10e4fd98dfdb35256f5efc6d3cd366 8262952: [macos_aarch64] os::commit_memory failure Reviewed-by: stuefe, aph ! test/hotspot/gtest/runtime/test_os.cpp Changeset: b92c5a44 Author: Anton Kozlov Date: 2021-05-18 18:54:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b92c5a44f268c3a866fa6bc6f6218abc0457e689 8265292: [macos_aarch64] java/foreign/TestDowncall.java crashes with SIGBUS 8265183: [macos_aarch64] java/foreign/TestIntrinsics.java crashes with SIGBUS 8265182: [macos_aarch64] java/foreign/TestUpcall.java crashes with SIGBUS Reviewed-by: dholmes ! src/hotspot/share/prims/universalNativeInvoker.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! test/jdk/ProblemList.txt Changeset: e6705c0e Author: Sergey Bylokhov Date: 2021-05-18 19:30:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e6705c0e4b548a83197c3ea70bdef25ec65d4c00 8266949: Check possibility to disable OperationTimedOut on Unix Reviewed-by: azvegint, kizune ! src/java.desktop/share/classes/sun/awt/SunToolkit.java ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java Changeset: 10236e7a Author: Chris Plummer Date: 2021-05-18 21:26:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10236e7a52a2dd117c3639d020cfe294797f57af 8263242: serviceability/sa/ClhsdbFindPC.java cannot find MaxJNILocalCapacity with ASLR Reviewed-by: kevinw, ysuenaga ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c Changeset: bdbe23b9 Author: Martin Balao Date: 2021-05-18 22:34:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bdbe23b9cb6151c81a4de675e629b0a42f00640d 8265462: Handle multiple slots in the NSS Internal Module from SunPKCS11's Secmod Reviewed-by: valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/j2secmod.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/j2secmod.h Changeset: 324defe2 Author: Hui Shi Committer: Jie Fu Date: 2021-05-19 01:25:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/324defe2b6c83de76a37d1b4b360869a77bed036 8267212: test/jdk/java/util/Collections/FindSubList.java intermittent crash with "no reachable node should have no use" Reviewed-by: roland, thartmann ! src/hotspot/share/opto/intrinsicnode.cpp ! src/hotspot/share/opto/memnode.cpp Changeset: 0daec497 Author: Jie Fu Date: 2021-05-19 01:46:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0daec497fea8c048a9455e4ff331a9d8c4293a4b 8267246: -XX:MaxRAMPercentage=0 is unreasonable for jtreg tests on many-core machines Reviewed-by: shade, erikj ! make/RunTests.gmk Changeset: ff84577d Author: Alan Hayward Committer: Nick Gasson Date: 2021-05-19 01:48:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff84577d72226da0bf1ce2c6d6852f3934feecf2 8267098: AArch64: C1 StubFrames end confusingly Reviewed-by: aph ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 65a8bf58 Author: Jatin Bhateja Date: 2021-05-19 05:19:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65a8bf58bef1a3c50d434b0b351247b5a3a426cb 8265126: [REDO] unified handling for VectorMask object re-materialization during de-optimization Reviewed-by: vlivanov ! src/hotspot/share/opto/vector.cpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/prims/vectorSupport.hpp Changeset: 7aa65685 Author: Jatin Bhateja Date: 2021-05-19 05:22:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7aa65685b8ce047f075c45cc16bec5c79b8eef27 8256973: Intrinsic creation for VectorMask query (lastTrue,firstTrue,trueCount) APIs Reviewed-by: psandoz, vlivanov + mask.incr ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/prims/vectorSupport.hpp ! src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/templates/Unit-Miscellaneous.template + test/micro/org/openjdk/bench/jdk/incubator/vector/MaskQueryOperationsBenchmark.java Changeset: 3f883e8f Author: Jie Fu Date: 2021-05-19 07:17:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3f883e8f0d8811e47999d7fbe3d9784f59d0ac09 8267351: runtime/cds/SharedBaseAddress.java fails on x86_32 due to Unrecognized VM option 'UseCompressedOops' Reviewed-by: dholmes, ccheung ! test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java Changeset: c2b50f93 Author: Tobias Hartmann Date: 2021-05-19 07:27:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c2b50f93ac36cdfd96d3ed09ec80ee5255a10200 8266480: Implicit null check optimization does not update control of hoisted memory operation Reviewed-by: neliasso, kvn ! src/hotspot/share/opto/lcm.cpp + test/hotspot/jtreg/compiler/c2/TestImplicitNullCheckDominance.java Changeset: 49543831 Author: Jie Fu Date: 2021-05-19 07:43:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4954383168422a6ba2be8cda5535f90829d97ef8 8267364: Remove mask.incr which is introduced by JDK-8256973 Reviewed-by: vlivanov, thartmann - mask.incr Changeset: 2563a6a9 Author: Xiaohong Gong Committer: Ningsheng Jian Date: 2021-05-19 07:49:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2563a6a9b5e81b4624704da4e8a2f24a6c5e8a5b 8266962: Add arch supporting check for "Op_VectorLoadConst" before creating the node Reviewed-by: vlivanov, neliasso ! src/hotspot/share/opto/vectorIntrinsics.cpp Changeset: 70f6c670 Author: Ivan Walulya Date: 2021-05-19 08:01:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/70f6c67051135ff1d9994089b88d8ea630932046 8233380: CHT: Node allocation and freeing Reviewed-by: rehn, tschatzl ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/prims/resolvedMethodTable.cpp ! src/hotspot/share/services/threadIdTable.cpp ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: 2d407e12 Author: Jie Fu Date: 2021-05-19 09:03:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2d407e12fac1bdf29d339754f234227894416426 8267293: vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java fails when JTREG_JOBS > 25 Reviewed-by: stuefe, shade ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java Changeset: 0cf7e578 Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-19 09:05:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0cf7e5784b4ddb70c8674a814527d3e0c315a1ec 8267239: C1: RangeCheckElimination for % operator if divisor is IntConstant Reviewed-by: thartmann, neliasso ! src/hotspot/share/c1/c1_RangeCheckElimination.cpp ! src/hotspot/share/c1/c1_RangeCheckElimination.hpp + test/hotspot/jtreg/compiler/c1/ArithmeticRemRCE.java Changeset: 392f962e Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-19 09:06:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/392f962e0e87de1b5183505c86a967cc9999e04c 8267151: C2: Don't create dummy Opaque1Node for outmost unswitched IfNode Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp Changeset: 6ef46ce3 Author: Leo Korinth Date: 2021-05-19 09:39:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ef46ce3862dd8d7b121f0cc039cd3534b1bfdc2 8231672: Simplify the reference processing parallelization framework Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullGCMarkTask.cpp - src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp - src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.hpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp + src/hotspot/share/gc/serial/serialGcRefProcProxyTask.hpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.cpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.hpp Changeset: 88b11423 Author: Jatin Bhateja Date: 2021-05-19 09:58:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/88b114235c5716ea43c55a9c4bc886bf5bcf4b42 8267357: build breaks with -Werror option on micro benchmark added for JDK-8256973 Reviewed-by: jiefu, neliasso, thartmann ! test/micro/org/openjdk/bench/jdk/incubator/vector/MaskQueryOperationsBenchmark.java Changeset: 1b93b812 Author: Albert Mingkun Yang Date: 2021-05-19 11:29:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1b93b81270770c208efc8c9bb10bb460636008b7 8267133: jdk/jfr/event/gc/collection/TestG1ParallelPhases.java fails with Not expected phases: RestorePreservedMarks, RemoveSelfForwardingPtr: expected true, was false 8267218: jdk/jfr/event/gc/collection/TestG1ParallelPhases.java fails with Not found phases\: StringDedupQueueFixup, StringDedupTableFixup Co-authored-by: Thomas Schatzl Reviewed-by: tschatzl, iwalulya ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: e858dd61 Author: Guoxiong Li Committer: Jim Laskey Date: 2021-05-19 12:50:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e858dd6197ace4fbd03a5291a43382f7621925ea 8267361: JavaTokenizer reads octal numbers mistakenly Reviewed-by: jlaskey ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java + test/langtools/tools/javac/lexer/OctalNumberTest.java Changeset: e749f75d Author: Aleksey Shipilev Date: 2021-05-19 12:59:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e749f75de015fd9ef47f7a962f232e2ea677aba5 8267304: Bump global JTReg memory limit to 768m Reviewed-by: lmesnik, iignatyev ! make/RunTests.gmk Changeset: 12050f04 Author: Hannes Walln?fer Date: 2021-05-19 13:01:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/12050f04ca1a170d9dece1fd902dc8306c746eb8 8266651: Convert Table method parameters from String to Content Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java Changeset: 0b49f5ae Author: Zhengyu Gu Date: 2021-05-19 13:13:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0b49f5ae19b51d7ff7548b8492ea0f58dfe53180 8267257: Shenandoah: Always deduplicate strings when it is enabled during full gc Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.inline.hpp ! test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java Changeset: fdd03528 Author: Doug Simon Date: 2021-05-19 13:59:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fdd0352884cdbba8a9cd11c6f92f0c2fbd800e11 8267338: [JVMCI] revive JVMCI API removed by JDK-8243287 Reviewed-by: mchung, hseigel ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ResolvedJavaType.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Changeset: 9760dba7 Author: Claes Redestad Date: 2021-05-19 15:23:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9760dba71c07cf7b0df16590b3e84e23ad587621 8267321: Use switch expression for VarHandle$AccessMode lookup Reviewed-by: jvernee ! src/java.base/share/classes/java/lang/invoke/VarHandle.java - test/jdk/java/lang/invoke/VarHandle/AccessMode/OptimalMapSize.java Changeset: 64e2479b Author: Daniel D. Daugherty Date: 2021-05-19 16:08:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/64e2479bf6e0ceccda16c076758e23e85310d524 8267407: ProblemList vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java on linux-aarch64 8267409: ProblemList gc/epsilon/TestClasses.java on linux-x64 Reviewed-by: tschatzl ! test/hotspot/jtreg/ProblemList.txt Changeset: 237fee8b Author: Gerard Ziemski Date: 2021-05-19 16:42:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/237fee8bbdc7f239aa18b7780392ff3222589914 8267339: Temporarily disable os.release_multi_mappings_vm on macOS x64 Reviewed-by: hseigel, dcubed ! test/hotspot/gtest/runtime/test_os.cpp Changeset: 99fcc410 Author: Albert Mingkun Yang Date: 2021-05-19 17:02:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/99fcc410a774e7b830856aa9c8e18e8a3b0567de 8234532: Remove ThreadLocalAllocBuffer::_fast_refill_waste since it is never set Reviewed-by: tschatzl, sjohanss, pliden, sspitsyn ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/resources/aliasmap Changeset: 66ab6d86 Author: Hannes Walln?fer Date: 2021-05-19 17:17:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/66ab6d86d1f4d636aef697bc4c4443b901d2cb6b 8264181: javadoc tool Incorrect error message about malformed link Reviewed-by: prappo ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/diags/examples/RefBadParens1.java + test/langtools/tools/javac/diags/examples/RefUnexpectedInput1.java + test/langtools/tools/javac/diags/examples/UnterminatedSignature1.java Changeset: 38d690b3 Author: Nils Eliasson Date: 2021-05-19 17:51:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/38d690b3c347f71b41a34b36c1a232ea766b9a64 8265262: CITime - 'other' incorrectly calculated Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/phase.cpp ! src/hotspot/share/opto/phase.hpp Changeset: 9820f3d4 Author: Thomas Stuefe Date: 2021-05-19 17:55:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9820f3d480aa2e6813596710348b2057a8c2a572 8267371: Concurrent gtests take too long Reviewed-by: shade, gziemski ! test/hotspot/gtest/memory/test_virtualspace.cpp ! test/hotspot/gtest/runtime/test_os_linux.cpp Changeset: 74f30ad3 Author: Jonathan Gibbons Date: 2021-05-19 18:29:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/74f30ad38baecc0f7e9b64124fa9a6b801c280a3 8263684: Avoid wrapping into BufferedWriter twice Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ElementListWriter.java Changeset: b961f253 Author: Ioi Lam Date: 2021-05-19 19:31:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b961f2535c9508d6f8e580b8bf53538d6f72b27c 8267191: Avoid repeated SystemDictionaryShared::should_be_excluded calls Reviewed-by: dholmes, coleenp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp Changeset: 8e3549fc Author: Xubo Zhang Committer: Vladimir Kozlov Date: 2021-05-19 23:44:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8e3549fc736539a45534dfe2b417170b5c991c7d 8266332: Adler32 intrinsic for x86 64-bit platforms Co-authored-by: Xubo Zhang Co-authored-by: Greg B Tucker Co-authored-by: Pengfei Li Reviewed-by: sviswanathan, jbhateja, kvn, neliasso ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp + src/hotspot/cpu/x86/macroAssembler_x86_adler.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/runtime/vmStructs.cpp + test/micro/org/openjdk/bench/java/util/TestAdler32.java Changeset: 726785b8 Author: Thomas Stuefe Date: 2021-05-20 08:16:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/726785b8d7c18569bddae6a08fa7f61d8d7bd2c4 8267155: runtime/os/TestTracePageSizes times out Reviewed-by: shade, sjohanss ! test/hotspot/jtreg/runtime/os/TestTracePageSizes.java Changeset: 31b98e12 Author: Vicente Romero Date: 2021-05-20 09:08:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/31b98e129e6d3051c01775519792b2ba5745b275 8265319: implement Sealed Classes as a standard feature in Java, javax.lang.model changes Reviewed-by: darcy, jlahoda ! src/java.compiler/share/classes/javax/lang/model/element/Modifier.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java Changeset: 0fa9223f Author: Vicente Romero Date: 2021-05-20 09:11:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0fa9223f34bc33635079763362f42f0a5c53759b 8260517: implement Sealed Classes as a standard feature in Java Co-authored-by: Harold Seigel Co-authored-by: Vicente Romero Reviewed-by: dholmes, mcimadamore, jlahoda ! make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/include/jvm.h ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java ! src/jdk.compiler/share/classes/com/sun/source/tree/ClassTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/hotspot/jtreg/runtime/modules/SealedInterfaceModuleTest.java ! test/hotspot/jtreg/runtime/modules/SealedModuleTest.java ! test/hotspot/jtreg/runtime/modules/sealedP1/SuperClass.jcod ! test/hotspot/jtreg/runtime/modules/sealedP1/SuperInterface.jcod - test/hotspot/jtreg/runtime/sealedClasses/AbstractSealedTest.java ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclasses.jcod ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclassesTest.java ! test/hotspot/jtreg/runtime/sealedClasses/OverrideSealedTest.java ! test/hotspot/jtreg/runtime/sealedClasses/Pkg/SealedInterface.jcod ! test/hotspot/jtreg/runtime/sealedClasses/RedefinePermittedSubclass.java ! test/hotspot/jtreg/runtime/sealedClasses/RedefineSealedClass.java - test/hotspot/jtreg/runtime/sealedClasses/SealedTest.java ! test/hotspot/jtreg/runtime/sealedClasses/SealedUnnamedModuleIntfTest.java ! test/hotspot/jtreg/runtime/sealedClasses/SealedUnnamedModuleTest.java ! test/hotspot/jtreg/runtime/sealedClasses/planets/OuterPlanets.jcod ! test/jdk/java/lang/instrument/RedefinePermittedSubclassesAttr/TestPermittedSubclassesAttr.java ! test/langtools/tools/javac/diags/examples.not-yet.txt ! test/langtools/tools/javac/diags/examples/AnonymousCantInheritFromSealed.java ! test/langtools/tools/javac/diags/examples/CantExtendSealedInAnotherModule/CantExtendSealedInAnotherModule.java ! test/langtools/tools/javac/diags/examples/CantExtendSealedInAnotherPkg/CantExtendSealedInAnotherPkg.java ! test/langtools/tools/javac/diags/examples/CantInheritFromSealed.java ! test/langtools/tools/javac/diags/examples/CantInheritFromSealed2.java ! test/langtools/tools/javac/diags/examples/DuplicateTypeInPermits.java ! test/langtools/tools/javac/diags/examples/LocalCantInheritFromSealed.java ! test/langtools/tools/javac/diags/examples/NonSealedWithNoSealedSuper.java ! test/langtools/tools/javac/diags/examples/PermitsCantListDeclaringClass.java ! test/langtools/tools/javac/diags/examples/PermitsCantListSuperType.java ! test/langtools/tools/javac/diags/examples/PermitsInNoSealedClass.java ! test/langtools/tools/javac/diags/examples/SealedMustHaveSubtypes.java ! test/langtools/tools/javac/diags/examples/SealedNotAllowedInLocalClass.java ! test/langtools/tools/javac/diags/examples/SealedTypes.java ! test/langtools/tools/javac/diags/examples/SubtypeDoesntExtendSealed.java ! test/langtools/tools/javac/diags/examples/TypeVarInPermits.java - test/langtools/tools/javac/preview/DeclaredUsingPreview-class.out - test/langtools/tools/javac/preview/DeclaredUsingPreview-source.out - test/langtools/tools/javac/preview/DeclaredUsingPreview.java - test/langtools/tools/javac/preview/DeclaredUsingPreviewDeclarations.java ! test/langtools/tools/javac/preview/PreviewAutoSuppress.java ! test/langtools/tools/javac/preview/PreviewErrors.java ! test/langtools/tools/javac/processing/model/element/TestSealed.java ! test/langtools/tools/javac/sealed/SealedCompilationTests.java ! test/langtools/tools/javac/sealed/SealedDiffConfigurationsTest.java ! test/langtools/tools/jdeps/listdeps/ListModuleDeps.java Changeset: 7dcb9fda Author: Vicente Romero Date: 2021-05-20 09:23:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7dcb9fda89ee17a5eadc83999de21e4542f37133 8265684: implement Sealed Classes as a standard feature in Java, javadoc changes Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ParamTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ClassUseMapper.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Comparators.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java ! test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java ! test/langtools/jdk/javadoc/doclet/testSealedTypes/TestSealedTypes.java Changeset: 31320c34 Author: Julia Boes Date: 2021-05-20 09:30:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/31320c3474a6054a367e764c2a9fef46ac638998 8267262: com/sun/net/httpserver/Filter improve API documentation of static methods Reviewed-by: dfuchs, chegar ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/Filter.java ! test/jdk/com/sun/net/httpserver/FilterTest.java Changeset: f07dcf47 Author: Alexander Zuev Date: 2021-05-20 10:31:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f07dcf471c160e09fbc748124998923e7d453e66 8264290: Create implementation for NSAccessibilityComponentGroup protocol peer Reviewed-by: pbansal ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m = src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/GroupAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/GroupAccessibility.m Changeset: f979523a Author: Thomas Schatzl Date: 2021-05-20 11:10:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f979523a69ee5728659d6480f57d62dd70609834 8267463: Problemlist runtime/os/TestTracePageSizes.java on linux-aarch64 to reduce noise Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: aba22656 Author: Per Liden Date: 2021-05-20 11:32:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aba22656829913d5f8d619a184c929a7de8431e4 8260267: ZGC: Reduce mark stack usage Co-authored-by: Wang Chao Co-authored-by: Hui Shi Reviewed-by: sjohanss, ayang ! src/hotspot/share/gc/z/zBarrier.cpp ! src/hotspot/share/gc/z/zBarrier.hpp ! src/hotspot/share/gc/z/zBarrier.inline.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/gc/z/zDriver.hpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeap.hpp ! src/hotspot/share/gc/z/zHeap.inline.hpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/gc/z/zMark.hpp ! src/hotspot/share/gc/z/zMark.inline.hpp ! src/hotspot/share/gc/z/zMarkStack.hpp ! src/hotspot/share/gc/z/zMarkStack.inline.hpp ! src/hotspot/share/gc/z/zMarkStackAllocator.cpp ! src/hotspot/share/gc/z/zMarkStackAllocator.hpp ! src/hotspot/share/gc/z/zMarkStackEntry.hpp ! src/hotspot/share/gc/z/zPage.hpp ! src/hotspot/share/gc/z/zPage.inline.hpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp Changeset: 459abd56 Author: liach Committer: Hannes Walln?fer Date: 2021-05-20 12:44:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/459abd561accc9f10456a9d63f7fa19c7f8e020e 8267219: Javadoc method summary breaks when {@inheritDoc} from an empty parent Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/ContentBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java + test/langtools/jdk/javadoc/doclet/testEmptyInheritDoc/TestEmptyInheritDoc.java Changeset: 9425d3de Author: Sergey Tsypanov Committer: Claes Redestad Date: 2021-05-20 13:56:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9425d3de83fe8f4caddef03ffa3f4dd4de58f236 8261880: Change nested classes in java.base to static nested classes where possible Reviewed-by: redestad ! src/java.base/macosx/classes/apple/security/KeychainStore.java ! src/java.base/share/classes/java/lang/StackStreamFactory.java ! src/java.base/share/classes/java/net/Inet6Address.java ! src/java.base/share/classes/java/security/ProtectionDomain.java ! src/java.base/share/classes/jdk/internal/module/ServicesCatalog.java ! src/java.base/share/classes/jdk/internal/util/xml/impl/XMLStreamWriterImpl.java ! src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java ! src/java.base/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java ! src/java.base/share/classes/sun/security/provider/DomainKeyStore.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomial.java ! src/java.base/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java Changeset: fc7f0a3e Author: Thomas Schatzl Date: 2021-05-20 14:17:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fc7f0a3e6126dfa6104f77c50ac5db9d6e470a38 8267480: Explicitly problemlist all runtime/os/TestTracePageSizes.java tests on linux-aarch64 to reduce noise Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 878d1b3f Author: Jonathan Gibbons Date: 2021-05-20 14:22:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/878d1b3f600d4a51b082f0c3276df6de49a9bc4f 8267434: Remove LinkOutput[Impl] Reviewed-by: prappo - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkOutputImpl.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkOutput.java Changeset: f67847f5 Author: Aleksey Shipilev Date: 2021-05-20 14:26:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f67847f52a306874d1a0d92250f8a556b3af6507 8267396: Avoid recording "pc" in unhandled oops detector for better performance Reviewed-by: coleenp, dholmes ! src/hotspot/share/oops/oopsHierarchy.cpp ! src/hotspot/share/runtime/unhandledOops.cpp ! src/hotspot/share/runtime/unhandledOops.hpp Changeset: b7b6acd9 Author: Hannes Walln?fer Date: 2021-05-20 15:11:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b7b6acd9b1cafb791827e151712836c4e7140db5 8267481: Make sure table row has correct number of cells Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java Changeset: ca93399a Author: Vladimir Kempik Date: 2021-05-20 15:46:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ca93399af103384e750dabf3abcc6e8392bcf3f4 8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash Reviewed-by: akozlov, aph ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: 7b98400c Author: Aleksey Shipilev Date: 2021-05-20 16:45:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7b98400c81900a8c779394d549b5fb61f1dd8638 8267348: Rewrite gc/epsilon/TestClasses.java to use Metaspace with less classes Reviewed-by: stuefe ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/gc/epsilon/TestClasses.java Changeset: 81f39ed3 Author: Vicente Romero Date: 2021-05-20 17:53:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/81f39ed3e0176b75dee1c8db24041545bcc68a86 8261205: AssertionError: Cannot add metadata to an intersection type Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java + test/langtools/tools/javac/annotations/typeAnnotations/VariablesDeclaredWithVarTest.java Changeset: 005d8a7f Author: Phil Race Date: 2021-05-20 19:49:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/005d8a7fca8b4d9519d2bde0a7cdbbece1cd3981 8256372: [macos] Unexpected symbol was displayed on JTextField with Monospaced font Reviewed-by: erikj, serb ! make/modules/java.desktop/lib/Awt2dLibraries.gmk ! src/java.desktop/macosx/classes/sun/font/CFont.java ! src/java.desktop/share/classes/sun/font/SunLayoutEngine.java ! src/java.desktop/share/native/libfontmanager/HBShaper.c ! src/java.desktop/share/native/libfontmanager/hb-jdk-font.cc ! src/java.desktop/share/native/libfontmanager/hb-jdk.h - src/java.desktop/share/native/libharfbuzz/hb-coretext.cc - src/java.desktop/share/native/libharfbuzz/hb-coretext.h + test/jdk/java/awt/font/GlyphVector/NLGlyphTest.java Changeset: 1c7a1310 Author: Calvin Cheung Date: 2021-05-20 21:03:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c7a1310d9985fd0ad05d901186eb0b6c0045d74 8267350: Archived old interface extends interface with default method causes crash Reviewed-by: iklam, minqi ! src/hotspot/share/oops/instanceKlass.cpp + test/hotspot/jtreg/runtime/cds/appcds/OldInfExtendsInfDefMeth.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/InfDefMeth.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldInfDefMeth.jasm + test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldInfDefMethApp.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldInfDefMethImpl.java Changeset: 83b36072 Author: Denghui Dong Committer: Vladimir Ivanov Date: 2021-05-20 22:19:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/83b360729060abaefb00a0b3f6165926db956bf8 8266642: improve ResolvedMethodTable hash function Reviewed-by: vlivanov, coleenp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/prims/resolvedMethodTable.cpp ! test/hotspot/jtreg/runtime/MemberName/ResolvedMethodTableHash.java Changeset: 7a63ff70 Author: Jie Fu Date: 2021-05-20 23:59:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7a63ff70c8eed6c5bfad5655f0f4fa2281b4e104 8267370: [Vector API] Fix several crashes after JDK-8256973 Co-authored-by: Jatin Bhateja Reviewed-by: neliasso, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp Changeset: e094f3f8 Author: Jonathan Gibbons Date: 2021-05-21 00:31:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e094f3f856f5f17d4be65b9f83ff493aa0280deb 8266856: Make element void Reviewed-by: prappo, iris, vromero ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlTag.java + test/langtools/jdk/javadoc/doclet/testVoidHtmlElements/TestVoidHtmlElements.java ! test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.java Changeset: 9eaa4afc Author: Alexander Matveev Date: 2021-05-21 00:44:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9eaa4afc99b09f4704e4d641f95104be40b9ea66 8267056: tools/jpackage/share/RuntimePackageTest.java fails with NoSuchFileException Reviewed-by: asemenyuk, herrick ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java ! test/jdk/tools/jpackage/share/RuntimePackageTest.java Changeset: e48d7d66 Author: Prasanta Sadhukhan Date: 2021-05-21 09:37:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e48d7d66582d9c9630d85e86ff344794656914fc 8264218: Public method javax.swing.JMenu.setComponentOrientation() has no spec Reviewed-by: aivanov ! src/java.desktop/share/classes/javax/swing/JMenu.java Changeset: b5d32bbf Author: K Suman Rajkumaar <70650887+skodanda at users.noreply.github.com> Committer: Dmitry Markov Date: 2021-05-21 09:42:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5d32bbfc716870904e91ce07a09f08929f2563e 8260690: JConsole User Guide Link from the Help menu is not accessible by keyboard Reviewed-by: aivanov, dmarkov ! src/jdk.jconsole/share/classes/sun/tools/jconsole/AboutDialog.java Changeset: ee2651b9 Author: Jaroslav Bachorik Date: 2021-05-21 09:44:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ee2651b9e5a9ab468b4be73d43b8f643e9e92042 8203359: Container level resources events Reviewed-by: sgehwolf, egahlin ! src/java.base/share/classes/module-info.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerCPUThrottlingEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerCPUUsageEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerConfigurationEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerIOUsageEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerMemoryUsageEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc ! test/hotspot/jtreg/containers/docker/JfrReporter.java ! test/hotspot/jtreg/containers/docker/TestJFREvents.java ! test/jdk/jdk/jfr/event/metadata/TestLookForUntestedEvents.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: 3241dded Author: duke Date: 2021-05-21 11:00:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3241ddede0cd07967115d5925c39606351020a96 Automatic merge of jdk:master into master From duke at openjdk.java.net Fri May 21 11:21:11 2021 From: duke at openjdk.java.net (duke) Date: Fri, 21 May 2021 11:21:11 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 108 new changesets Message-ID: Changeset: ebcf3991 Author: ?????? ??????? Committer: Claes Redestad Date: 2021-05-14 12:29:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebcf3991b79024ef35512e5aa2be5bd731acf9e0 8266622: Optimize Class.descriptorString() and Class.getCanonicalName0() Reviewed-by: redestad ! src/java.base/share/classes/java/lang/Class.java Changeset: af4cd04c Author: Athijegannathan Sundararajan Date: 2021-05-14 12:59:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/af4cd04c2e393f8d1ffef60f49e3269adee649b8 8266291: (jrtfs) Calling Files.exists may break the JRT filesystem Reviewed-by: redestad, alanb ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java ! test/jdk/jdk/internal/jrtfs/Basic.java Changeset: 16ca370f Author: Harold Seigel Date: 2021-05-14 14:52:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/16ca370f1ac933a6aef49bd147d985e66b4c8930 8265694: Investigate test StressHiddenClasses.java Reviewed-by: lfoltan - test/hotspot/jtreg/runtime/HiddenClasses/StressHiddenClasses.java Changeset: 599d07c0 Author: Wang Huang Committer: Vladimir Kozlov Date: 2021-05-14 17:16:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/599d07c0db9c85e4dae35d1c54a63407d32eaedd 8263006: Add optimization for Max(*)Node and Min(*)Node Co-authored-by: Wang Huang Co-authored-by: Wu Yan Reviewed-by: kvn ! src/hotspot/share/opto/addnode.cpp ! src/hotspot/share/opto/addnode.hpp ! src/hotspot/share/opto/mulnode.cpp ! src/hotspot/share/opto/mulnode.hpp + test/hotspot/jtreg/compiler/intrinsics/math/MaxMinOptimizeTest.java + test/micro/org/openjdk/bench/vm/compiler/MaxMinOptimizeTest.java Changeset: e90388bc Author: Lance Andersen Date: 2021-05-14 17:19:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e90388bc1e7bba92675fa799d9da77aa4d6e1a05 8266461: tools/jmod/hashes/HashesTest.java fails: static @Test methods Reviewed-by: alanb, mchung ! test/jdk/tools/jmod/hashes/HashesTest.java Changeset: 5eda812f Author: Lance Andersen Date: 2021-05-14 17:55:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5eda812f53bfe65d11f6241b0831c588c1400b08 8267180: Typo in copyright header for HashesTest Reviewed-by: dcubed, naoto, joehw ! test/jdk/tools/jmod/hashes/HashesTest.java Changeset: 360928d1 Author: Albert Mingkun Yang Date: 2021-05-14 18:17:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/360928d16dbfd2e878694995a2f65ba5b5a1dbe6 8260046: Assert left >= right in pointer_delta() methods Reviewed-by: sjohanss, kbarrett, tschatzl ! src/hotspot/share/utilities/globalDefinitions.hpp Changeset: be0a6552 Author: Kim Barrett Date: 2021-05-14 18:38:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/be0a655208f64e076e9e0141fe5dadc862cba981 8254598: StringDedupTable should use OopStorage Co-authored-by: Kim Barrett Co-authored-by: Zhengyu Gu Reviewed-by: coleenp, iklam, tschatzl, ayang ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/compactHashtable.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/javaClasses.inline.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/stringTable.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullGCAdjustTask.cpp ! src/hotspot/share/gc/g1/g1FullGCAdjustTask.hpp ! src/hotspot/share/gc/g1/g1FullGCCompactTask.hpp ! src/hotspot/share/gc/g1/g1FullGCMarkTask.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.hpp ! src/hotspot/share/gc/g1/g1FullGCMarker.inline.hpp ! src/hotspot/share/gc/g1/g1FullGCPrepareTask.hpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.hpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.hpp ! src/hotspot/share/gc/g1/g1ParallelCleaning.cpp ! src/hotspot/share/gc/g1/g1ParallelCleaning.hpp ! src/hotspot/share/gc/g1/g1StringDedup.cpp ! src/hotspot/share/gc/g1/g1StringDedup.hpp - src/hotspot/share/gc/g1/g1StringDedupQueue.cpp - src/hotspot/share/gc/g1/g1StringDedupQueue.hpp - src/hotspot/share/gc/g1/g1StringDedupStat.cpp - src/hotspot/share/gc/g1/g1StringDedupStat.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/oopStorageSet.hpp ! src/hotspot/share/gc/shared/parallelCleaning.cpp ! src/hotspot/share/gc/shared/parallelCleaning.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedup.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedup.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedup.inline.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupConfig.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupConfig.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupProcessor.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.cpp - src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupQueue.inline.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupStat.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupStat.hpp + src/hotspot/share/gc/shared/stringdedup/stringDedupStorageUse.cpp + src/hotspot/share/gc/shared/stringdedup/stringDedupStorageUse.hpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupThread.cpp - src/hotspot/share/gc/shared/stringdedup/stringDedupThread.hpp - src/hotspot/share/gc/shared/stringdedup/stringDedupThread.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.hpp ! src/hotspot/share/gc/shenandoah/shenandoahParallelCleaning.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp - src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.cpp - src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.hpp - src/hotspot/share/gc/shenandoah/shenandoahStrDedupQueue.inline.hpp - src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.inline.hpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/memory/universe.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/utilities/hashtable.cpp ! test/hotspot/jtreg/gc/g1/TestGCLogMessages.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationAgeThreshold.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationFullGC.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationInterned.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationPrintOptions.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationTableRehash.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationTableResize.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationTools.java - test/hotspot/jtreg/gc/g1/TestStringDeduplicationYoungGC.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationAgeThreshold.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationFullGC.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationInterned.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationPrintOptions.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationTableResize.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationTools.java + test/hotspot/jtreg/gc/stringdedup/TestStringDeduplicationYoungGC.java Changeset: 28f1c7ac Author: Alexander Matveev Date: 2021-05-14 23:00:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/28f1c7ac4dfcf1df7df4eb94d270292b76baee12 8249395: (macos) jpackage tests timeout on MacPro5_1 systems Reviewed-by: herrick, asemenyuk ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java Changeset: 7ab6dc83 Author: Valerie Peng Date: 2021-05-14 23:04:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ab6dc83df2e19a57ff0dcdc87598c54cd949a7c 6676643: Improve current C_GetAttributeValue native implementation Reviewed-by: xuelei ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11KeyStore.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Token.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_objmgmt.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/pkcs11wrapper.h Changeset: f3fb5a45 Author: Thomas Stuefe Date: 2021-05-15 05:20:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f3fb5a4524255487f95a93e50da6b230de0b31ce 8266942: gtest/GTestWrapper.java os.iso8601_time_vm failed Reviewed-by: dcubed ! test/hotspot/gtest/runtime/test_os.cpp Changeset: 10cafd24 Author: Thomas Schatzl Date: 2021-05-15 09:46:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10cafd244db8eebddc81fa312d9358ab62566cc1 8267153: Problemlist jdk/jfr/event/gc/collection/TestG1ParallelPhases.java to remove the noise from CI Reviewed-by: dcubed, jiefu ! test/jdk/ProblemList.txt Changeset: 8c71144a Author: Daniel D. Daugherty Date: 2021-05-15 13:14:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c71144a2392b8d2ce47074c819d56e523b50145 8265153: add time based test for ThreadMXBean.getThreadInfo() and ThreadInfo.getLockOwnerName() Reviewed-by: dholmes, cjplummer + test/hotspot/jtreg/serviceability/monitoring/ThreadInfo/GetLockOwnerName/GetLockOwnerName.java + test/hotspot/jtreg/serviceability/monitoring/ThreadInfo/GetLockOwnerName/libGetLockOwnerName.cpp Changeset: 2066f497 Author: Yumin Qi Date: 2021-05-16 02:26:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2066f497b9677971ece0b8a4d855f87a2f4c4018 8266764: [REDO] JDK-8255493 Support for pre-generated java.lang.invoke classes in CDS dynamic archive Reviewed-by: ccheung, iklam ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/dynamicArchive.cpp ! src/hotspot/share/cds/dynamicArchive.hpp ! src/hotspot/share/cds/lambdaFormInvokers.cpp ! src/hotspot/share/cds/lambdaFormInvokers.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/thread.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicDumpAtOom.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/TestDynamicRegenerateHolderClasses.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/MiniStoreOom.java Changeset: 02f895c5 Author: David Holmes Date: 2021-05-17 04:05:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02f895c5f6f6de38549337d45ed8ba4c446e9677 8252685: APIs that require JavaThread should take JavaThread arguments Reviewed-by: coleenp, sspitsyn, kvn, iklam ! src/hotspot/cpu/x86/jvmciCodeInstaller_x86.cpp ! src/hotspot/cpu/zero/methodHandles_zero.cpp ! src/hotspot/cpu/zero/stack_zero.cpp ! src/hotspot/cpu/zero/stubGenerator_zero.cpp ! src/hotspot/cpu/zero/zeroInterpreter_zero.cpp ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os_cpu/windows_aarch64/os_windows_aarch64.cpp ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp ! src/hotspot/share/cds/archiveBuilder.cpp ! src/hotspot/share/cds/classListParser.cpp ! src/hotspot/share/cds/classListParser.hpp ! src/hotspot/share/cds/heapShared.cpp ! src/hotspot/share/cds/heapShared.hpp ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/cds/metaspaceShared.hpp ! src/hotspot/share/ci/ciUtilities.inline.hpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/classLoaderData.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/classLoaderExt.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/compiler/compilationPolicy.cpp ! src/hotspot/share/compiler/compilationPolicy.hpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/gc/shared/allocTracer.cpp ! src/hotspot/share/gc/shared/allocTracer.hpp ! src/hotspot/share/gc/shared/memAllocator.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/jfr/dcmd/jfrDcmds.cpp ! src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp ! src/hotspot/share/jfr/instrumentation/jfrJvmtiAgent.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.cpp ! src/hotspot/share/jfr/jni/jfrJavaSupport.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp ! src/hotspot/share/jfr/periodic/jfrThreadDumpEvent.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.hpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrMetadataEvent.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadState.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.cpp ! src/hotspot/share/jfr/recorder/jfrRecorder.hpp ! src/hotspot/share/jfr/recorder/repository/jfrChunkRotation.cpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.cpp ! src/hotspot/share/jfr/recorder/service/jfrOptionSet.hpp ! src/hotspot/share/jfr/recorder/service/jfrPostBox.hpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderThread.cpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderThreadLoop.cpp ! src/hotspot/share/jfr/support/jfrAllocationTracer.cpp ! src/hotspot/share/jfr/support/jfrAllocationTracer.hpp ! src/hotspot/share/jfr/support/jfrJdkJfrEvent.cpp ! src/hotspot/share/jfr/utilities/jfrJavaLog.cpp ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.cpp ! src/hotspot/share/jfr/writers/jfrJavaEventWriter.hpp ! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp ! src/hotspot/share/jvmci/jvmciCompiler.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmciEnv.cpp ! src/hotspot/share/jvmci/jvmciEnv.hpp ! src/hotspot/share/jvmci/jvmciJavaClasses.cpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/constantPool.hpp ! src/hotspot/share/oops/cpCache.cpp ! src/hotspot/share/oops/generateOopMap.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/typeArrayKlass.cpp ! src/hotspot/share/prims/foreign_globals.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/methodComparator.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/prims/universalUpcallHandler.cpp ! src/hotspot/share/prims/wbtestmethods/parserTests.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/prims/whitebox.hpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/java.cpp ! src/hotspot/share/runtime/javaCalls.cpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/relocator.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/hotspot/share/runtime/synchronizer.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/vframe.cpp ! src/hotspot/share/runtime/vframeArray.cpp ! src/hotspot/share/runtime/vmThread.cpp ! src/hotspot/share/services/attachListener.cpp ! src/hotspot/share/services/diagnosticCommand.cpp ! src/hotspot/share/services/diagnosticFramework.cpp ! src/hotspot/share/utilities/exceptions.cpp ! src/hotspot/share/utilities/exceptions.hpp ! test/hotspot/gtest/utilities/test_metaspaceClosure.cpp Changeset: f4227879 Author: Leo Korinth Date: 2021-05-17 07:08:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f4227879b0504bc4656bd84153b13b04c007aa66 8266073: Regression ~2% in Derby after 8261804 Reviewed-by: ayang, sjohanss ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp Changeset: 7b736ec9 Author: Stefan Johansson Date: 2021-05-17 08:32:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7b736ec9323a508cce164266b8e9a702527f3361 8266489: Enable G1 to use large pages on Windows when region size is larger than 2m Reviewed-by: tschatzl, iwalulya ! src/hotspot/os/windows/os_windows.cpp Changeset: 2313a218 Author: Ivan Walulya Date: 2021-05-17 09:41:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2313a2187a949dd0c101b8f8fb5ffc31089d6817 8266637: CHT: Add insert_and_get method Reviewed-by: tschatzl, rehn ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: a555fd89 Author: Mitsuru Kariya Committer: Kevin Walls Date: 2021-05-17 09:49:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a555fd89d040792d4de73ab67d86b171a38cfde6 8264734: Some SA classes could use better hashCode() implementation Reviewed-by: cjplummer, kevinw ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/dummy/DummyAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/proc/ProcAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerClient.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgAddress.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/aarch64/WindbgAARCH64Thread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/amd64/WindbgAMD64Thread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windbg/x86/WindbgX86Thread.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java Changeset: a29612ea Author: Ralf Schmelter Date: 2021-05-17 11:47:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a29612ea9998a8e45f25add7ae30bfbc62ce3756 8255661: TestHeapDumpOnOutOfMemoryError fails with EOFException Reviewed-by: rrich, cjplummer ! src/hotspot/share/services/heapDumper.cpp ! src/hotspot/share/services/heapDumperCompression.cpp ! src/hotspot/share/services/heapDumperCompression.hpp Changeset: 39a454bb Author: Prasanta Sadhukhan Date: 2021-05-17 12:32:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/39a454bb879fe316a69a4ec33ab287db2b5837db 8260331: javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java failed with "ERROR: icon and imageIcon not same." Reviewed-by: azvegint ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JInternalFrame/8146321/JInternalFrameIconTest.java Changeset: dd5a84c6 Author: Maurizio Cimadamore Date: 2021-05-17 12:55:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dd5a84c68c4f6128c3568c6f4fc1302c6aaadf01 8267162: Add jtreg test group definitions for langtools Reviewed-by: jjg ! test/langtools/TEST.groups Changeset: d5a15f74 Author: Hannes Walln?fer Date: 2021-05-17 14:19:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d5a15f74207f14c8c6928c9d20aff8dcc2a714cc 8263438: Unused method AbstractMemberWriter.isInherited Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java Changeset: ea368365 Author: Hannes Walln?fer Date: 2021-05-17 14:43:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea36836573d2ee1b734075596f1afb9b1302d6c6 8267236: Versioned platform link in TestMemberSummary.java Reviewed-by: prappo ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java Changeset: b8856b1c Author: Vicente Romero Date: 2021-05-17 15:03:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b8856b1c47895eae0a5563ee1a8ac454863ee0a6 8263614: javac allows local variables to be accessed from a static context Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/langtools/tools/javac/records/RecordCompilationTests.java Changeset: cf97252f Author: Adam Sotona Date: 2021-05-17 15:23:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cf97252f3fd4e7bdb57271b92dd2866101d4a94b 8264561: javap get NegativeArraySizeException on bad instruction Reviewed-by: vromero ! src/jdk.jdeps/share/classes/com/sun/tools/classfile/Instruction.java ! src/jdk.jdeps/share/classes/com/sun/tools/javap/CodeWriter.java Changeset: 3c010a7c Author: Thomas Stuefe Date: 2021-05-17 16:14:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3c010a7c7e64706ee6124d6e9ef69a5f3cf0d1ba 8265705: aarch64: KlassDecodeMovk mode broken Reviewed-by: aph, iklam, ngasson ! src/hotspot/share/oops/compressedOops.cpp ! test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java Changeset: 79b39445 Author: Ajit Ghaisas Date: 2021-05-17 16:32:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/79b39445f6fcd005744c5de89ba2cd2ed5bc0a54 8266520: Revert to OpenGL as the default 2D rendering pipeline for macOS Reviewed-by: azvegint, trebari, kcr, prr ! src/java.desktop/macosx/classes/sun/java2d/MacOSFlags.java Changeset: 3b11d811 Author: Anton Kozlov Date: 2021-05-17 19:15:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3b11d811a274ae1d91fdcc5f01bcd5d159f0543b 8266742: Check W^X state on possible safepoint Reviewed-by: dholmes, gziemski ! src/hotspot/os/bsd/globals_bsd.hpp ! src/hotspot/share/runtime/safepointMechanism.inline.hpp ! src/hotspot/share/runtime/thread.hpp Changeset: da4dfde7 Author: Brian Burkhalter Date: 2021-05-17 19:58:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/da4dfde71a176d2b8401782178e854d4c924eba1 8264777: Overload optimized FileInputStream::readAllBytes Reviewed-by: dfuchs, alanb ! src/java.base/share/classes/java/io/FileInputStream.java ! src/java.base/share/classes/java/io/InputStream.java ! src/java.base/share/native/libjava/FileInputStream.c + test/jdk/java/io/FileInputStream/ReadXBytes.java Changeset: 2effdd1b Author: Vladimir Kozlov Date: 2021-05-17 20:11:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2effdd1b6799a15a766b2b2a6cba4806d92122f3 8267112: JVMCI compiler modules should be kept upgradable Reviewed-by: mchung, erikj, dnsimon ! make/common/Modules.gmk ! make/conf/module-loader-map.conf ! src/jdk.internal.vm.ci/share/classes/module-info.java ! src/jdk.internal.vm.compiler.management/share/classes/module-info.java ! src/jdk.internal.vm.compiler/share/classes/module-info.java ! test/hotspot/jtreg/compiler/jvmci/compilerToVM/IsCompilableTest.java ! test/jdk/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java ! test/jdk/jdk/modules/etc/UpgradeableModules.java ! test/jdk/tools/jimage/VerifyJimage.java Changeset: cd1c17c0 Author: David Holmes Date: 2021-05-17 22:39:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cd1c17c0a6416a8d16cf2035f3e97dba95b6b8af 8266404: Fatal error report generated with -XX:+CrashOnOutOfMemoryError should not contain suggestion to submit a bug report Reviewed-by: stuefe, kevinw, gziemski ! src/hotspot/share/utilities/debug.cpp ! src/hotspot/share/utilities/debug.hpp ! src/hotspot/share/utilities/vmError.cpp ! src/hotspot/share/utilities/vmError.hpp Changeset: 3e97b07a Author: Alexey Ushakov Committer: Ajit Ghaisas Date: 2021-05-18 06:06:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3e97b07a68cd3f9da78cbf98b574977185bc34e2 8267116: Lanai: Incorrect AlphaComposite for VolatileImage graphics Reviewed-by: serb, aghaisas ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLPipelineStatesStorage.m + test/jdk/java/awt/image/VolatileImage/AlphaCompositeTest.java Changeset: 554caf33 Author: Thomas Stuefe Date: 2021-05-18 06:35:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/554caf33a01ac9ca2e3e9170557e8348750f3971 8251392: Consolidate Metaspace Statistics Reviewed-by: coleenp, zgu ! src/hotspot/share/gc/epsilon/epsilonHeap.cpp ! src/hotspot/share/gc/epsilon/epsilonMonitoringSupport.cpp ! src/hotspot/share/gc/g1/g1HeapTransition.cpp ! src/hotspot/share/gc/g1/g1HeapTransition.hpp ! src/hotspot/share/gc/g1/g1MonitoringSupport.cpp ! src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/gcHeapSummary.hpp ! src/hotspot/share/gc/shared/gcTraceSend.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/preGCValues.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.cpp ! src/hotspot/share/gc/z/zServiceability.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/memory/metaspace.cpp ! src/hotspot/share/memory/metaspace.hpp ! src/hotspot/share/memory/metaspace/internalStats.hpp - src/hotspot/share/memory/metaspace/metaspaceSizesSnapshot.cpp - src/hotspot/share/memory/metaspace/metaspaceSizesSnapshot.hpp ! src/hotspot/share/memory/metaspaceCounters.cpp ! src/hotspot/share/memory/metaspaceCounters.hpp + src/hotspot/share/memory/metaspaceStats.hpp ! src/hotspot/share/memory/metaspaceUtils.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/services/memBaseline.cpp ! src/hotspot/share/services/memBaseline.hpp ! src/hotspot/share/services/memReporter.cpp ! src/hotspot/share/services/memReporter.hpp ! src/hotspot/share/services/memoryPool.cpp ! src/hotspot/share/services/virtualMemoryTracker.cpp ! src/hotspot/share/services/virtualMemoryTracker.hpp ! test/hotspot/gtest/metaspace/test_metaspaceUtils.cpp Changeset: 905b41ac Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-18 07:29:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/905b41ac6ae44e5adb51cff37995cff534db47f0 8265711: C1: Intrinsify Class.getModifier method Reviewed-by: thartmann, kvn ! src/hotspot/share/c1/c1_Canonicalizer.cpp ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/c1/c1_LIRGenerator.hpp + test/hotspot/jtreg/compiler/c1/CanonicalizeGetModifiers.java Changeset: b60975dd Author: Christoph G?ttschkes Committer: Tobias Hartmann Date: 2021-05-18 07:30:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b60975dd85d62d38e3c13c87db611c6fd08dc698 8267237: ARM32: bad AD file in matcher.cpp after 8266810 Reviewed-by: redestad, thartmann ! src/hotspot/cpu/arm/matcher_arm.hpp Changeset: f6c28911 Author: Aleksey Shipilev Date: 2021-05-18 08:08:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f6c2891118b06631db796c863638e10cf62ff45b 8267229: Split runtime/Metaspace/elastic test configurations for better scalability Reviewed-by: stuefe ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT1.java ! test/hotspot/jtreg/runtime/Metaspace/elastic/TestMetaspaceAllocationMT2.java Changeset: da7c846a Author: Thomas Stuefe Date: 2021-05-18 08:52:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/da7c846a8c52c32babae1c545aa17d4b9bd85e76 8264408: test_oopStorage no longer needs to disable some tests on WIN32 Reviewed-by: shade, tschatzl ! test/hotspot/gtest/gc/shared/test_oopStorage.cpp Changeset: 894547d2 Author: Julia Boes Date: 2021-05-18 09:12:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/894547d2c102dcbe1f9ec8a1edb11c6b31e4270e 8266897: com/sun/net/httpserver/FilterTest.java fails intermittently with AssertionError Reviewed-by: chegar, dfuchs, michaelm ! src/jdk.httpserver/share/classes/sun/net/httpserver/HttpContextImpl.java ! src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java ! test/jdk/com/sun/net/httpserver/FilterTest.java Changeset: ce88b334 Author: Tobias Hartmann Date: 2021-05-18 12:21:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ce88b334884b6cc76bd938a8a8e6a9b28a777cb8 8266615: C2 incorrectly folds subtype checks involving an interface array Reviewed-by: kvn, neliasso ! src/hotspot/share/opto/compile.cpp + test/hotspot/jtreg/compiler/types/TestInterfaceArraySubtypeCheck.java Changeset: 02507bc4 Author: Harold Seigel Date: 2021-05-18 12:34:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02507bc40d2a213768de8bacfd649e8355a2f209 8267166: Remove test file vmTestbase/vm/mlvm/tools/LoadClass.java Reviewed-by: gziemski, coleenp ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/share/StressClassLoadingTest.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/byteMutation/Test.java ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/randomBytecodes/Test.java - test/hotspot/jtreg/vmTestbase/vm/mlvm/tools/LoadClass.java Changeset: 9d168e25 Author: Vladimir Ivanov Date: 2021-05-18 12:46:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d168e25d1e2e8b662dc7aa6cda7516c423cef7d 8266973: Migrate to ClassHierarchyIterator when enumerating subclasses Reviewed-by: kvn, coleenp ! src/hotspot/share/code/dependencies.cpp ! src/hotspot/share/code/dependencies.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp ! src/hotspot/share/jfr/support/jfrJdkJfrEvent.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.hpp Changeset: f8f40ab2 Author: Albert Mingkun Yang Date: 2021-05-18 13:58:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f8f40ab25ffce0243a40f307b0341cddd12ccb5d 8230486: G1BarrierSetAssembler::g1_write_barrier_post unnecessarily pushes/pops new_val Reviewed-by: kbarrett, tschatzl ! src/hotspot/cpu/aarch64/gc/g1/g1BarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp Changeset: fadf5804 Author: Gerard Ziemski Date: 2021-05-18 14:44:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fadf58043c10e4fd98dfdb35256f5efc6d3cd366 8262952: [macos_aarch64] os::commit_memory failure Reviewed-by: stuefe, aph ! test/hotspot/gtest/runtime/test_os.cpp Changeset: b92c5a44 Author: Anton Kozlov Date: 2021-05-18 18:54:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b92c5a44f268c3a866fa6bc6f6218abc0457e689 8265292: [macos_aarch64] java/foreign/TestDowncall.java crashes with SIGBUS 8265183: [macos_aarch64] java/foreign/TestIntrinsics.java crashes with SIGBUS 8265182: [macos_aarch64] java/foreign/TestUpcall.java crashes with SIGBUS Reviewed-by: dholmes ! src/hotspot/share/prims/universalNativeInvoker.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! test/jdk/ProblemList.txt Changeset: e6705c0e Author: Sergey Bylokhov Date: 2021-05-18 19:30:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e6705c0e4b548a83197c3ea70bdef25ec65d4c00 8266949: Check possibility to disable OperationTimedOut on Unix Reviewed-by: azvegint, kizune ! src/java.desktop/share/classes/sun/awt/SunToolkit.java ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java Changeset: 10236e7a Author: Chris Plummer Date: 2021-05-18 21:26:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10236e7a52a2dd117c3639d020cfe294797f57af 8263242: serviceability/sa/ClhsdbFindPC.java cannot find MaxJNILocalCapacity with ASLR Reviewed-by: kevinw, ysuenaga ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c Changeset: bdbe23b9 Author: Martin Balao Date: 2021-05-18 22:34:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bdbe23b9cb6151c81a4de675e629b0a42f00640d 8265462: Handle multiple slots in the NSS Internal Module from SunPKCS11's Secmod Reviewed-by: valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/j2secmod.c ! src/jdk.crypto.cryptoki/share/native/libj2pkcs11/j2secmod.h Changeset: 324defe2 Author: Hui Shi Committer: Jie Fu Date: 2021-05-19 01:25:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/324defe2b6c83de76a37d1b4b360869a77bed036 8267212: test/jdk/java/util/Collections/FindSubList.java intermittent crash with "no reachable node should have no use" Reviewed-by: roland, thartmann ! src/hotspot/share/opto/intrinsicnode.cpp ! src/hotspot/share/opto/memnode.cpp Changeset: 0daec497 Author: Jie Fu Date: 2021-05-19 01:46:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0daec497fea8c048a9455e4ff331a9d8c4293a4b 8267246: -XX:MaxRAMPercentage=0 is unreasonable for jtreg tests on many-core machines Reviewed-by: shade, erikj ! make/RunTests.gmk Changeset: ff84577d Author: Alan Hayward Committer: Nick Gasson Date: 2021-05-19 01:48:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff84577d72226da0bf1ce2c6d6852f3934feecf2 8267098: AArch64: C1 StubFrames end confusingly Reviewed-by: aph ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 65a8bf58 Author: Jatin Bhateja Date: 2021-05-19 05:19:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65a8bf58bef1a3c50d434b0b351247b5a3a426cb 8265126: [REDO] unified handling for VectorMask object re-materialization during de-optimization Reviewed-by: vlivanov ! src/hotspot/share/opto/vector.cpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/prims/vectorSupport.hpp Changeset: 7aa65685 Author: Jatin Bhateja Date: 2021-05-19 05:22:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7aa65685b8ce047f075c45cc16bec5c79b8eef27 8256973: Intrinsic creation for VectorMask query (lastTrue,firstTrue,trueCount) APIs Reviewed-by: psandoz, vlivanov + mask.incr ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/classfile/vmIntrinsics.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/prims/vectorSupport.hpp ! src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/templates/Unit-Miscellaneous.template + test/micro/org/openjdk/bench/jdk/incubator/vector/MaskQueryOperationsBenchmark.java Changeset: 3f883e8f Author: Jie Fu Date: 2021-05-19 07:17:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3f883e8f0d8811e47999d7fbe3d9784f59d0ac09 8267351: runtime/cds/SharedBaseAddress.java fails on x86_32 due to Unrecognized VM option 'UseCompressedOops' Reviewed-by: dholmes, ccheung ! test/hotspot/jtreg/runtime/cds/SharedBaseAddress.java Changeset: c2b50f93 Author: Tobias Hartmann Date: 2021-05-19 07:27:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c2b50f93ac36cdfd96d3ed09ec80ee5255a10200 8266480: Implicit null check optimization does not update control of hoisted memory operation Reviewed-by: neliasso, kvn ! src/hotspot/share/opto/lcm.cpp + test/hotspot/jtreg/compiler/c2/TestImplicitNullCheckDominance.java Changeset: 49543831 Author: Jie Fu Date: 2021-05-19 07:43:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4954383168422a6ba2be8cda5535f90829d97ef8 8267364: Remove mask.incr which is introduced by JDK-8256973 Reviewed-by: vlivanov, thartmann - mask.incr Changeset: 2563a6a9 Author: Xiaohong Gong Committer: Ningsheng Jian Date: 2021-05-19 07:49:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2563a6a9b5e81b4624704da4e8a2f24a6c5e8a5b 8266962: Add arch supporting check for "Op_VectorLoadConst" before creating the node Reviewed-by: vlivanov, neliasso ! src/hotspot/share/opto/vectorIntrinsics.cpp Changeset: 70f6c670 Author: Ivan Walulya Date: 2021-05-19 08:01:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/70f6c67051135ff1d9994089b88d8ea630932046 8233380: CHT: Node allocation and freeing Reviewed-by: rehn, tschatzl ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/prims/resolvedMethodTable.cpp ! src/hotspot/share/services/threadIdTable.cpp ! src/hotspot/share/utilities/concurrentHashTable.hpp ! src/hotspot/share/utilities/concurrentHashTable.inline.hpp ! test/hotspot/gtest/utilities/test_concurrentHashtable.cpp Changeset: 2d407e12 Author: Jie Fu Date: 2021-05-19 09:03:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2d407e12fac1bdf29d339754f234227894416426 8267293: vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java fails when JTREG_JOBS > 25 Reviewed-by: stuefe, shade ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java Changeset: 0cf7e578 Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-19 09:05:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0cf7e5784b4ddb70c8674a814527d3e0c315a1ec 8267239: C1: RangeCheckElimination for % operator if divisor is IntConstant Reviewed-by: thartmann, neliasso ! src/hotspot/share/c1/c1_RangeCheckElimination.cpp ! src/hotspot/share/c1/c1_RangeCheckElimination.hpp + test/hotspot/jtreg/compiler/c1/ArithmeticRemRCE.java Changeset: 392f962e Author: Yi Yang Committer: Tobias Hartmann Date: 2021-05-19 09:06:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/392f962e0e87de1b5183505c86a967cc9999e04c 8267151: C2: Don't create dummy Opaque1Node for outmost unswitched IfNode Reviewed-by: thartmann, neliasso ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp Changeset: 6ef46ce3 Author: Leo Korinth Date: 2021-05-19 09:39:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ef46ce3862dd8d7b121f0cc039cd3534b1bfdc2 8231672: Simplify the reference processing parallelization framework Reviewed-by: tschatzl, ayang ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.hpp ! src/hotspot/share/gc/g1/g1FullCollector.cpp ! src/hotspot/share/gc/g1/g1FullGCMarkTask.cpp - src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.cpp - src/hotspot/share/gc/g1/g1FullGCReferenceProcessorExecutor.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.hpp ! src/hotspot/share/gc/parallel/psCompactionManager.inline.hpp ! src/hotspot/share/gc/parallel/psParallelCompact.cpp ! src/hotspot/share/gc/parallel/psParallelCompact.hpp ! src/hotspot/share/gc/parallel/psPromotionManager.hpp ! src/hotspot/share/gc/parallel/psScavenge.cpp ! src/hotspot/share/gc/serial/defNewGeneration.cpp ! src/hotspot/share/gc/serial/genMarkSweep.cpp + src/hotspot/share/gc/serial/serialGcRefProcProxyTask.hpp ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/gc/shared/referenceProcessor.hpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.cpp ! src/hotspot/share/gc/shared/referenceProcessorPhaseTimes.hpp Changeset: 88b11423 Author: Jatin Bhateja Date: 2021-05-19 09:58:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/88b114235c5716ea43c55a9c4bc886bf5bcf4b42 8267357: build breaks with -Werror option on micro benchmark added for JDK-8256973 Reviewed-by: jiefu, neliasso, thartmann ! test/micro/org/openjdk/bench/jdk/incubator/vector/MaskQueryOperationsBenchmark.java Changeset: 1b93b812 Author: Albert Mingkun Yang Date: 2021-05-19 11:29:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1b93b81270770c208efc8c9bb10bb460636008b7 8267133: jdk/jfr/event/gc/collection/TestG1ParallelPhases.java fails with Not expected phases: RestorePreservedMarks, RemoveSelfForwardingPtr: expected true, was false 8267218: jdk/jfr/event/gc/collection/TestG1ParallelPhases.java fails with Not found phases\: StringDedupQueueFixup, StringDedupTableFixup Co-authored-by: Thomas Schatzl Reviewed-by: tschatzl, iwalulya ! test/jdk/ProblemList.txt ! test/jdk/jdk/jfr/event/gc/collection/TestG1ParallelPhases.java Changeset: e858dd61 Author: Guoxiong Li Committer: Jim Laskey Date: 2021-05-19 12:50:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e858dd6197ace4fbd03a5291a43382f7621925ea 8267361: JavaTokenizer reads octal numbers mistakenly Reviewed-by: jlaskey ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavaTokenizer.java + test/langtools/tools/javac/lexer/OctalNumberTest.java Changeset: e749f75d Author: Aleksey Shipilev Date: 2021-05-19 12:59:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e749f75de015fd9ef47f7a962f232e2ea677aba5 8267304: Bump global JTReg memory limit to 768m Reviewed-by: lmesnik, iignatyev ! make/RunTests.gmk Changeset: 12050f04 Author: Hannes Walln?fer Date: 2021-05-19 13:01:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/12050f04ca1a170d9dece1fd902dc8306c746eb8 8266651: Convert Table method parameters from String to Content Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java Changeset: 0b49f5ae Author: Zhengyu Gu Date: 2021-05-19 13:13:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0b49f5ae19b51d7ff7548b8492ea0f58dfe53180 8267257: Shenandoah: Always deduplicate strings when it is enabled during full gc Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.inline.hpp ! test/hotspot/jtreg/gc/shenandoah/TestStringDedup.java Changeset: fdd03528 Author: Doug Simon Date: 2021-05-19 13:59:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fdd0352884cdbba8a9cd11c6f92f0c2fbd800e11 8267338: [JVMCI] revive JVMCI API removed by JDK-8243287 Reviewed-by: mchung, hseigel ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ResolvedJavaType.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestResolvedJavaType.java Changeset: 9760dba7 Author: Claes Redestad Date: 2021-05-19 15:23:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9760dba71c07cf7b0df16590b3e84e23ad587621 8267321: Use switch expression for VarHandle$AccessMode lookup Reviewed-by: jvernee ! src/java.base/share/classes/java/lang/invoke/VarHandle.java - test/jdk/java/lang/invoke/VarHandle/AccessMode/OptimalMapSize.java Changeset: 64e2479b Author: Daniel D. Daugherty Date: 2021-05-19 16:08:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/64e2479bf6e0ceccda16c076758e23e85310d524 8267407: ProblemList vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java on linux-aarch64 8267409: ProblemList gc/epsilon/TestClasses.java on linux-x64 Reviewed-by: tschatzl ! test/hotspot/jtreg/ProblemList.txt Changeset: 237fee8b Author: Gerard Ziemski Date: 2021-05-19 16:42:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/237fee8bbdc7f239aa18b7780392ff3222589914 8267339: Temporarily disable os.release_multi_mappings_vm on macOS x64 Reviewed-by: hseigel, dcubed ! test/hotspot/gtest/runtime/test_os.cpp Changeset: 99fcc410 Author: Albert Mingkun Yang Date: 2021-05-19 17:02:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/99fcc410a774e7b830856aa9c8e18e8a3b0567de 8234532: Remove ThreadLocalAllocBuffer::_fast_refill_waste since it is never set Reviewed-by: tschatzl, sjohanss, pliden, sspitsyn ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/resources/aliasmap Changeset: 66ab6d86 Author: Hannes Walln?fer Date: 2021-05-19 17:17:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/66ab6d86d1f4d636aef697bc4c4443b901d2cb6b 8264181: javadoc tool Incorrect error message about malformed link Reviewed-by: prappo ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties + test/langtools/tools/javac/diags/examples/RefBadParens1.java + test/langtools/tools/javac/diags/examples/RefUnexpectedInput1.java + test/langtools/tools/javac/diags/examples/UnterminatedSignature1.java Changeset: 38d690b3 Author: Nils Eliasson Date: 2021-05-19 17:51:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/38d690b3c347f71b41a34b36c1a232ea766b9a64 8265262: CITime - 'other' incorrectly calculated Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/phase.cpp ! src/hotspot/share/opto/phase.hpp Changeset: 9820f3d4 Author: Thomas Stuefe Date: 2021-05-19 17:55:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9820f3d480aa2e6813596710348b2057a8c2a572 8267371: Concurrent gtests take too long Reviewed-by: shade, gziemski ! test/hotspot/gtest/memory/test_virtualspace.cpp ! test/hotspot/gtest/runtime/test_os_linux.cpp Changeset: 74f30ad3 Author: Jonathan Gibbons Date: 2021-05-19 18:29:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/74f30ad38baecc0f7e9b64124fa9a6b801c280a3 8263684: Avoid wrapping into BufferedWriter twice Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ElementListWriter.java Changeset: b961f253 Author: Ioi Lam Date: 2021-05-19 19:31:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b961f2535c9508d6f8e580b8bf53538d6f72b27c 8267191: Avoid repeated SystemDictionaryShared::should_be_excluded calls Reviewed-by: dholmes, coleenp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp Changeset: 8e3549fc Author: Xubo Zhang Committer: Vladimir Kozlov Date: 2021-05-19 23:44:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8e3549fc736539a45534dfe2b417170b5c991c7d 8266332: Adler32 intrinsic for x86 64-bit platforms Co-authored-by: Xubo Zhang Co-authored-by: Greg B Tucker Co-authored-by: Pengfei Li Reviewed-by: sviswanathan, jbhateja, kvn, neliasso ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp + src/hotspot/cpu/x86/macroAssembler_x86_adler.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/share/classfile/vmIntrinsics.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/runtime/vmStructs.cpp + test/micro/org/openjdk/bench/java/util/TestAdler32.java Changeset: 726785b8 Author: Thomas Stuefe Date: 2021-05-20 08:16:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/726785b8d7c18569bddae6a08fa7f61d8d7bd2c4 8267155: runtime/os/TestTracePageSizes times out Reviewed-by: shade, sjohanss ! test/hotspot/jtreg/runtime/os/TestTracePageSizes.java Changeset: 31b98e12 Author: Vicente Romero Date: 2021-05-20 09:08:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/31b98e129e6d3051c01775519792b2ba5745b275 8265319: implement Sealed Classes as a standard feature in Java, javax.lang.model changes Reviewed-by: darcy, jlahoda ! src/java.compiler/share/classes/javax/lang/model/element/Modifier.java ! src/java.compiler/share/classes/javax/lang/model/element/TypeElement.java Changeset: 0fa9223f Author: Vicente Romero Date: 2021-05-20 09:11:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0fa9223f34bc33635079763362f42f0a5c53759b 8260517: implement Sealed Classes as a standard feature in Java Co-authored-by: Harold Seigel Co-authored-by: Vicente Romero Reviewed-by: dholmes, mcimadamore, jlahoda ! make/langtools/src/classes/build/tools/symbolgenerator/CreateSymbols.java ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classFileParser.hpp ! src/hotspot/share/include/jvm.h ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/jdk/internal/javac/PreviewFeature.java ! src/jdk.compiler/share/classes/com/sun/source/tree/ClassTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Preview.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/hotspot/jtreg/runtime/modules/SealedInterfaceModuleTest.java ! test/hotspot/jtreg/runtime/modules/SealedModuleTest.java ! test/hotspot/jtreg/runtime/modules/sealedP1/SuperClass.jcod ! test/hotspot/jtreg/runtime/modules/sealedP1/SuperInterface.jcod - test/hotspot/jtreg/runtime/sealedClasses/AbstractSealedTest.java ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclasses.jcod ! test/hotspot/jtreg/runtime/sealedClasses/GetPermittedSubclassesTest.java ! test/hotspot/jtreg/runtime/sealedClasses/OverrideSealedTest.java ! test/hotspot/jtreg/runtime/sealedClasses/Pkg/SealedInterface.jcod ! test/hotspot/jtreg/runtime/sealedClasses/RedefinePermittedSubclass.java ! test/hotspot/jtreg/runtime/sealedClasses/RedefineSealedClass.java - test/hotspot/jtreg/runtime/sealedClasses/SealedTest.java ! test/hotspot/jtreg/runtime/sealedClasses/SealedUnnamedModuleIntfTest.java ! test/hotspot/jtreg/runtime/sealedClasses/SealedUnnamedModuleTest.java ! test/hotspot/jtreg/runtime/sealedClasses/planets/OuterPlanets.jcod ! test/jdk/java/lang/instrument/RedefinePermittedSubclassesAttr/TestPermittedSubclassesAttr.java ! test/langtools/tools/javac/diags/examples.not-yet.txt ! test/langtools/tools/javac/diags/examples/AnonymousCantInheritFromSealed.java ! test/langtools/tools/javac/diags/examples/CantExtendSealedInAnotherModule/CantExtendSealedInAnotherModule.java ! test/langtools/tools/javac/diags/examples/CantExtendSealedInAnotherPkg/CantExtendSealedInAnotherPkg.java ! test/langtools/tools/javac/diags/examples/CantInheritFromSealed.java ! test/langtools/tools/javac/diags/examples/CantInheritFromSealed2.java ! test/langtools/tools/javac/diags/examples/DuplicateTypeInPermits.java ! test/langtools/tools/javac/diags/examples/LocalCantInheritFromSealed.java ! test/langtools/tools/javac/diags/examples/NonSealedWithNoSealedSuper.java ! test/langtools/tools/javac/diags/examples/PermitsCantListDeclaringClass.java ! test/langtools/tools/javac/diags/examples/PermitsCantListSuperType.java ! test/langtools/tools/javac/diags/examples/PermitsInNoSealedClass.java ! test/langtools/tools/javac/diags/examples/SealedMustHaveSubtypes.java ! test/langtools/tools/javac/diags/examples/SealedNotAllowedInLocalClass.java ! test/langtools/tools/javac/diags/examples/SealedTypes.java ! test/langtools/tools/javac/diags/examples/SubtypeDoesntExtendSealed.java ! test/langtools/tools/javac/diags/examples/TypeVarInPermits.java - test/langtools/tools/javac/preview/DeclaredUsingPreview-class.out - test/langtools/tools/javac/preview/DeclaredUsingPreview-source.out - test/langtools/tools/javac/preview/DeclaredUsingPreview.java - test/langtools/tools/javac/preview/DeclaredUsingPreviewDeclarations.java ! test/langtools/tools/javac/preview/PreviewAutoSuppress.java ! test/langtools/tools/javac/preview/PreviewErrors.java ! test/langtools/tools/javac/processing/model/element/TestSealed.java ! test/langtools/tools/javac/sealed/SealedCompilationTests.java ! test/langtools/tools/javac/sealed/SealedDiffConfigurationsTest.java ! test/langtools/tools/jdeps/listdeps/ListModuleDeps.java Changeset: 7dcb9fda Author: Vicente Romero Date: 2021-05-20 09:23:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7dcb9fda89ee17a5eadc83999de21e4542f37133 8265684: implement Sealed Classes as a standard feature in Java, javadoc changes Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ParamTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ClassUseMapper.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Comparators.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java ! test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java ! test/langtools/jdk/javadoc/doclet/testSealedTypes/TestSealedTypes.java Changeset: 31320c34 Author: Julia Boes Date: 2021-05-20 09:30:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/31320c3474a6054a367e764c2a9fef46ac638998 8267262: com/sun/net/httpserver/Filter improve API documentation of static methods Reviewed-by: dfuchs, chegar ! src/jdk.httpserver/share/classes/com/sun/net/httpserver/Filter.java ! test/jdk/com/sun/net/httpserver/FilterTest.java Changeset: f07dcf47 Author: Alexander Zuev Date: 2021-05-20 10:31:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f07dcf471c160e09fbc748124998923e7d453e66 8264290: Create implementation for NSAccessibilityComponentGroup protocol peer Reviewed-by: pbansal ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m = src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/GroupAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/GroupAccessibility.m Changeset: f979523a Author: Thomas Schatzl Date: 2021-05-20 11:10:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f979523a69ee5728659d6480f57d62dd70609834 8267463: Problemlist runtime/os/TestTracePageSizes.java on linux-aarch64 to reduce noise Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: aba22656 Author: Per Liden Date: 2021-05-20 11:32:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aba22656829913d5f8d619a184c929a7de8431e4 8260267: ZGC: Reduce mark stack usage Co-authored-by: Wang Chao Co-authored-by: Hui Shi Reviewed-by: sjohanss, ayang ! src/hotspot/share/gc/z/zBarrier.cpp ! src/hotspot/share/gc/z/zBarrier.hpp ! src/hotspot/share/gc/z/zBarrier.inline.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/gc/z/zDriver.hpp ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeap.hpp ! src/hotspot/share/gc/z/zHeap.inline.hpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/gc/z/zMark.hpp ! src/hotspot/share/gc/z/zMark.inline.hpp ! src/hotspot/share/gc/z/zMarkStack.hpp ! src/hotspot/share/gc/z/zMarkStack.inline.hpp ! src/hotspot/share/gc/z/zMarkStackAllocator.cpp ! src/hotspot/share/gc/z/zMarkStackAllocator.hpp ! src/hotspot/share/gc/z/zMarkStackEntry.hpp ! src/hotspot/share/gc/z/zPage.hpp ! src/hotspot/share/gc/z/zPage.inline.hpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp Changeset: 459abd56 Author: liach Committer: Hannes Walln?fer Date: 2021-05-20 12:44:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/459abd561accc9f10456a9d63f7fa19c7f8e020e 8267219: Javadoc method summary breaks when {@inheritDoc} from an empty parent Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/ContentBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java + test/langtools/jdk/javadoc/doclet/testEmptyInheritDoc/TestEmptyInheritDoc.java Changeset: 9425d3de Author: Sergey Tsypanov Committer: Claes Redestad Date: 2021-05-20 13:56:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9425d3de83fe8f4caddef03ffa3f4dd4de58f236 8261880: Change nested classes in java.base to static nested classes where possible Reviewed-by: redestad ! src/java.base/macosx/classes/apple/security/KeychainStore.java ! src/java.base/share/classes/java/lang/StackStreamFactory.java ! src/java.base/share/classes/java/net/Inet6Address.java ! src/java.base/share/classes/java/security/ProtectionDomain.java ! src/java.base/share/classes/jdk/internal/module/ServicesCatalog.java ! src/java.base/share/classes/jdk/internal/util/xml/impl/XMLStreamWriterImpl.java ! src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java ! src/java.base/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java ! src/java.base/share/classes/sun/security/provider/DomainKeyStore.java ! src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomial.java ! src/java.base/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java Changeset: fc7f0a3e Author: Thomas Schatzl Date: 2021-05-20 14:17:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fc7f0a3e6126dfa6104f77c50ac5db9d6e470a38 8267480: Explicitly problemlist all runtime/os/TestTracePageSizes.java tests on linux-aarch64 to reduce noise Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 878d1b3f Author: Jonathan Gibbons Date: 2021-05-20 14:22:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/878d1b3f600d4a51b082f0c3276df6de49a9bc4f 8267434: Remove LinkOutput[Impl] Reviewed-by: prappo - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/LinkOutputImpl.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/links/LinkOutput.java Changeset: f67847f5 Author: Aleksey Shipilev Date: 2021-05-20 14:26:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f67847f52a306874d1a0d92250f8a556b3af6507 8267396: Avoid recording "pc" in unhandled oops detector for better performance Reviewed-by: coleenp, dholmes ! src/hotspot/share/oops/oopsHierarchy.cpp ! src/hotspot/share/runtime/unhandledOops.cpp ! src/hotspot/share/runtime/unhandledOops.hpp Changeset: b7b6acd9 Author: Hannes Walln?fer Date: 2021-05-20 15:11:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b7b6acd9b1cafb791827e151712836c4e7140db5 8267481: Make sure table row has correct number of cells Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java Changeset: ca93399a Author: Vladimir Kempik Date: 2021-05-20 15:46:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ca93399af103384e750dabf3abcc6e8392bcf3f4 8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash Reviewed-by: akozlov, aph ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp Changeset: 7b98400c Author: Aleksey Shipilev Date: 2021-05-20 16:45:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7b98400c81900a8c779394d549b5fb61f1dd8638 8267348: Rewrite gc/epsilon/TestClasses.java to use Metaspace with less classes Reviewed-by: stuefe ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/gc/epsilon/TestClasses.java Changeset: 81f39ed3 Author: Vicente Romero Date: 2021-05-20 17:53:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/81f39ed3e0176b75dee1c8db24041545bcc68a86 8261205: AssertionError: Cannot add metadata to an intersection type Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeMaker.java + test/langtools/tools/javac/annotations/typeAnnotations/VariablesDeclaredWithVarTest.java Changeset: 005d8a7f Author: Phil Race Date: 2021-05-20 19:49:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/005d8a7fca8b4d9519d2bde0a7cdbbece1cd3981 8256372: [macos] Unexpected symbol was displayed on JTextField with Monospaced font Reviewed-by: erikj, serb ! make/modules/java.desktop/lib/Awt2dLibraries.gmk ! src/java.desktop/macosx/classes/sun/font/CFont.java ! src/java.desktop/share/classes/sun/font/SunLayoutEngine.java ! src/java.desktop/share/native/libfontmanager/HBShaper.c ! src/java.desktop/share/native/libfontmanager/hb-jdk-font.cc ! src/java.desktop/share/native/libfontmanager/hb-jdk.h - src/java.desktop/share/native/libharfbuzz/hb-coretext.cc - src/java.desktop/share/native/libharfbuzz/hb-coretext.h + test/jdk/java/awt/font/GlyphVector/NLGlyphTest.java Changeset: 1c7a1310 Author: Calvin Cheung Date: 2021-05-20 21:03:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c7a1310d9985fd0ad05d901186eb0b6c0045d74 8267350: Archived old interface extends interface with default method causes crash Reviewed-by: iklam, minqi ! src/hotspot/share/oops/instanceKlass.cpp + test/hotspot/jtreg/runtime/cds/appcds/OldInfExtendsInfDefMeth.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/InfDefMeth.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldInfDefMeth.jasm + test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldInfDefMethApp.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/OldInfDefMethImpl.java Changeset: 83b36072 Author: Denghui Dong Committer: Vladimir Ivanov Date: 2021-05-20 22:19:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/83b360729060abaefb00a0b3f6165926db956bf8 8266642: improve ResolvedMethodTable hash function Reviewed-by: vlivanov, coleenp ! src/hotspot/share/classfile/classLoaderData.hpp ! src/hotspot/share/prims/resolvedMethodTable.cpp ! test/hotspot/jtreg/runtime/MemberName/ResolvedMethodTableHash.java Changeset: 7a63ff70 Author: Jie Fu Date: 2021-05-20 23:59:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7a63ff70c8eed6c5bfad5655f0f4fa2281b4e104 8267370: [Vector API] Fix several crashes after JDK-8256973 Co-authored-by: Jatin Bhateja Reviewed-by: neliasso, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp Changeset: e094f3f8 Author: Jonathan Gibbons Date: 2021-05-21 00:31:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e094f3f856f5f17d4be65b9f83ff493aa0280deb 8266856: Make element void Reviewed-by: prappo, iris, vromero ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/HtmlTag.java + test/langtools/jdk/javadoc/doclet/testVoidHtmlElements/TestVoidHtmlElements.java ! test/langtools/tools/doclint/html/HtmlVersionTagsAttrsTest.java Changeset: 9eaa4afc Author: Alexander Matveev Date: 2021-05-21 00:44:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9eaa4afc99b09f4704e4d641f95104be40b9ea66 8267056: tools/jpackage/share/RuntimePackageTest.java fails with NoSuchFileException Reviewed-by: asemenyuk, herrick ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java ! test/jdk/tools/jpackage/share/RuntimePackageTest.java Changeset: e48d7d66 Author: Prasanta Sadhukhan Date: 2021-05-21 09:37:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e48d7d66582d9c9630d85e86ff344794656914fc 8264218: Public method javax.swing.JMenu.setComponentOrientation() has no spec Reviewed-by: aivanov ! src/java.desktop/share/classes/javax/swing/JMenu.java Changeset: b5d32bbf Author: K Suman Rajkumaar <70650887+skodanda at users.noreply.github.com> Committer: Dmitry Markov Date: 2021-05-21 09:42:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5d32bbfc716870904e91ce07a09f08929f2563e 8260690: JConsole User Guide Link from the Help menu is not accessible by keyboard Reviewed-by: aivanov, dmarkov ! src/jdk.jconsole/share/classes/sun/tools/jconsole/AboutDialog.java Changeset: ee2651b9 Author: Jaroslav Bachorik Date: 2021-05-21 09:44:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ee2651b9e5a9ab468b4be73d43b8f643e9e92042 8203359: Container level resources events Reviewed-by: sgehwolf, egahlin ! src/java.base/share/classes/module-info.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerCPUThrottlingEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerCPUUsageEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerConfigurationEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerIOUsageEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ContainerMemoryUsageEvent.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/Utils.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/instrument/JDKEvents.java ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc ! test/hotspot/jtreg/containers/docker/JfrReporter.java ! test/hotspot/jtreg/containers/docker/TestJFREvents.java ! test/jdk/jdk/jfr/event/metadata/TestLookForUntestedEvents.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: 3241dded Author: duke Date: 2021-05-21 11:00:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3241ddede0cd07967115d5925c39606351020a96 Automatic merge of jdk:master into master Changeset: 0e1678d5 Author: duke Date: 2021-05-21 11:01:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0e1678d5d0bbb3f0010b07f46eb8d6e5841ddb79 Automatic merge of master into foreign-memaccess+abi ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/prims/foreign_globals.cpp ! src/hotspot/share/prims/universalNativeInvoker.cpp ! src/hotspot/share/prims/universalUpcallHandler.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/java.base/share/classes/module-info.java ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/prims/foreign_globals.cpp ! src/hotspot/share/prims/universalNativeInvoker.cpp ! src/hotspot/share/prims/universalUpcallHandler.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/java.base/share/classes/module-info.java Changeset: 52dfc794 Author: duke Date: 2021-05-21 11:01:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/52dfc794d47af742ef397d29117a202d818015b4 Automatic merge of foreign-memaccess+abi into foreign-jextract ! src/java.base/share/classes/module-info.java ! src/java.base/share/classes/module-info.java From sundar at openjdk.java.net Fri May 21 14:07:32 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 21 May 2021 14:07:32 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 8267536: Many tests fail on Windows because of recent jextract changes to CursorKind Message-ID: <02cad1ba-34a1-4200-a8f4-d3a3886b496e@openjdk.org> Changeset: 94da9dae Author: Athijegannathan Sundararajan Date: 2021-05-21 14:06:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/94da9dae705aba39b29c5f9315d4f40d94ec2926 8267536: Many tests fail on Windows because of recent jextract changes to CursorKind Reviewed-by: jvernee ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/CursorKind.java From sundar at openjdk.java.net Fri May 21 14:08:35 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 21 May 2021 14:08:35 GMT Subject: [foreign-jextract] RFR: 8267536: Many tests fail on Windows because of recent jextract changes to CursorKind Message-ID: added all cursor attribute kinds from Index.h ------------- Commit messages: - 8267536: Many tests fail on Windows because of recent jextract changes to CursorKind Changes: https://git.openjdk.java.net/panama-foreign/pull/541/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=541&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8267536 Stats: 20 lines in 1 file changed: 20 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/541.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/541/head:pull/541 PR: https://git.openjdk.java.net/panama-foreign/pull/541 From jvernee at openjdk.java.net Fri May 21 14:08:39 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 21 May 2021 14:08:39 GMT Subject: [foreign-jextract] RFR: 8267536: Many tests fail on Windows because of recent jextract changes to CursorKind In-Reply-To: References: Message-ID: <7nAEjOuqEeRVHOdCR1zzoFAUTy8Uci3r9bdfFYvqBlA=.324d4707-b257-4b4f-92e9-1eb3f4a92b22@github.com> On Fri, 21 May 2021 12:57:18 GMT, Athijegannathan Sundararajan wrote: > added all cursor attribute kinds from Index.h LGTM ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/541 From sundar at openjdk.java.net Fri May 21 14:08:41 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 21 May 2021 14:08:41 GMT Subject: [foreign-jextract] RFR: 8267536: Many tests fail on Windows because of recent jextract changes to CursorKind In-Reply-To: <7nAEjOuqEeRVHOdCR1zzoFAUTy8Uci3r9bdfFYvqBlA=.324d4707-b257-4b4f-92e9-1eb3f4a92b22@github.com> References: <7nAEjOuqEeRVHOdCR1zzoFAUTy8Uci3r9bdfFYvqBlA=.324d4707-b257-4b4f-92e9-1eb3f4a92b22@github.com> Message-ID: On Fri, 21 May 2021 13:00:18 GMT, Jorn Vernee wrote: >> added all cursor attribute kinds from Index.h > > LGTM Thanks @JornVernee for running tests and samples on Windows ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/541 From sundar at openjdk.java.net Fri May 21 14:12:45 2021 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 21 May 2021 14:12:45 GMT Subject: [foreign-jextract] Integrated: 8267536: Many tests fail on Windows because of recent jextract changes to CursorKind In-Reply-To: References: Message-ID: On Fri, 21 May 2021 12:57:18 GMT, Athijegannathan Sundararajan wrote: > added all cursor attribute kinds from Index.h This pull request has now been integrated. Changeset: 94da9dae Author: Athijegannathan Sundararajan URL: https://git.openjdk.java.net/panama-foreign/commit/94da9dae705aba39b29c5f9315d4f40d94ec2926 Stats: 20 lines in 1 file changed: 20 ins; 0 del; 0 mod 8267536: Many tests fail on Windows because of recent jextract changes to CursorKind Reviewed-by: jvernee ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/541 From mail at smogura.eu Fri May 21 18:19:07 2021 From: mail at smogura.eu (=?utf-8?B?UmFkb3PFgmF3IFNtb2d1cmE=?=) Date: Fri, 21 May 2021 18:19:07 +0000 Subject: Question: remove memory heap segments Message-ID: Hi all, I hope you have a good day. I?m not sure if this topic was actually touched, however I wonder if heap memory segments are useful, as for me those creates more noise. Let me explain my concern, (as probably you know) I try to write I/O layer with Panama (mainly for feedback purposes). I thought about creating NativeInputStream with semantics similar to plain stream, but with segment instead of byte array. However issue is that if user passes on heap segment I can?t downstream it to POSIX function. I think this, slightly, can be headache for such purposes, and will lead to if trees and very minor performance degradation. I think the need for checking if segment is native in the heap was as well expressed in https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013707.html So that?s why I wonder about on-heap segments. Kind regards, Rado From jason at steeplesoft.com Fri May 21 20:28:08 2021 From: jason at steeplesoft.com (Jason Lee) Date: Fri, 21 May 2021 15:28:08 -0500 Subject: Panama/foreign EA - May 2021 In-Reply-To: <234c4f8c-6952-bf4f-0645-70fc137334c7@oracle.com> References: <234c4f8c-6952-bf4f-0645-70fc137334c7@oracle.com> Message-ID: Apologies if this is not the correct place for this, but I'm interested in wrapping/exposing a C++ library, but I'm not finding much information on C++ support other than some hints that it should work. Is C++ currently supported? If so, could someone direct me to any resources on the topic? Much appreciated! On Wed, May 19, 2021 at 4:26 PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi, > We have just released another early-access Panama/foreign build, which > includes all the goodies we've been working on so far, from API changes, > to VM upcall optimizations, to jextract stability/usability improvements. > > Keep the feedback coming - we couldn't do this without your help and > support. > > Cheers > Maurizio > > -- Jason Lee http://jasondl.ee http://jasondl.ee/twitter http://jasondl.ee/in http://jasondl.ee/+ From maurizio.cimadamore at oracle.com Fri May 21 20:44:12 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 21 May 2021 21:44:12 +0100 Subject: Question: remove memory heap segments In-Reply-To: References: Message-ID: <803fbbeb-c506-35a5-5892-d382f9c87136@oracle.com> Hi Radoslaw, this is a topic we have considered during the design process. Heap segments are useful to interoperate with Java arrays and also to interoperate with heap-based byte-buffers (and, in the future, vectors). While it is possible to think about an API that only supports off-heap segments, we think that there are valid uses for heap segments too, especially in the context of foreign functions. Think about a function that returns a struct by value - if you want to pass that struct back to some other code, probably it would be better to just allocate that struct off-heap. But if the returned struct is only accessed one by the caller of the native function, using an heap segment as a backing storage is a perfectly reasonable alternative, which also requires less allocation cost (as the VM is much more optimized at allocating on-heap memory than it is at allocating off-heap memory). This can be done today, by wrapping a SegmentAllocator around an on-heap segment and pass that allocator to a native function which returns a struct by value. Other more futuristic use cases might allow you to pass on-heap segments to native functions directly, using _pinning_. The VM has ability to pin a region of heap for a certain duration - we do not have an API to expose this, but there are certainly context where something like this could come in very handy (of course this would have to be a restricted operation, as pinning memory for too long might create other problems). In the end, I think having the choice of using on-heap segments opens up interesting use cases for the API which would not be possible to express otherwise. As you said, having the same API to model both off heap and on-heap can lead to confusion, but I hope that in the new iteration some of that confusion is cleared [1]. Other possible alternatives we have considered were to name native memory segments/address differently from their on-heap counterparts - e.g. by using different types. This doesn't work very well, as memory segments and addresses are often passed to var handles and method handles, and having a complex hierarchy of types can easily lead to "inexact" method handle call - so it is kind of a strong requirement for these API points to be monomorphic. Cheers Maurizio [1] - https://git.openjdk.java.net/panama-foreign/pull/514 On 21/05/2021 19:19, Rados?aw Smogura wrote: > Hi all, > > I hope you have a good day. > > I?m not sure if this topic was actually touched, however I wonder if heap memory segments are useful, as for me those creates more noise. > > Let me explain my concern, (as probably you know) I try to write I/O layer with Panama (mainly for feedback purposes). > > I thought about creating NativeInputStream with semantics similar to plain stream, but with segment instead of byte array. > > However issue is that if user passes on heap segment I can?t downstream it to POSIX function. > > I think this, slightly, can be headache for such purposes, and will lead to if trees and very minor performance degradation. > > I think the need for checking if segment is native in the heap was as well expressed in https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013707.html > > So that?s why I wonder about on-heap segments. > > Kind regards, > Rado > From maurizio.cimadamore at oracle.com Fri May 21 20:53:46 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 21 May 2021 21:53:46 +0100 Subject: Panama/foreign EA - May 2021 In-Reply-To: References: <234c4f8c-6952-bf4f-0645-70fc137334c7@oracle.com> Message-ID: As things stand, jextract does not support C++. There are mechanical ways (more or less) to derive a C wrapper library around C++ libraries - we did some experiments in this area, but we got blocked mostly on templates - not because they can't be done, but simply because the clang API we use for jextract doesn't seem to expose information about template classes/methods in a way that is friendly to tools - very similar C++ programs end up with information scattered in very different places in the clang AST, and that was a source of constant frustration. We also had some issues more on our end, as jextract was running out of memory when trying to process big C++ libraries in this way. I believe at some point we will make another attempt, perhaps by trying also to contribute some patches back to the libclang API (I see some of the problems we have encountered also mentioned by other tools, such as Rust's bindgen). It is also an area were we'd be happy to accept some contributions :-) Cheers Maurizio On 21/05/2021 21:28, Jason Lee wrote: > Apologies if this is not the correct place for this, but I'm interested in > wrapping/exposing a C++ library, but I'm not finding much information on > C++ support other than some hints that it should work. Is C++ currently > supported? If so, could someone direct me to any resources on the topic? > > Much appreciated! > > On Wed, May 19, 2021 at 4:26 PM Maurizio Cimadamore < > maurizio.cimadamore at oracle.com> wrote: > >> Hi, >> We have just released another early-access Panama/foreign build, which >> includes all the goodies we've been working on so far, from API changes, >> to VM upcall optimizations, to jextract stability/usability improvements. >> >> Keep the feedback coming - we couldn't do this without your help and >> support. >> >> Cheers >> Maurizio >> >> From leerho at gmail.com Sat May 22 05:46:10 2021 From: leerho at gmail.com (leerho) Date: Fri, 21 May 2021 22:46:10 -0700 Subject: Question: remove memory heap segments In-Reply-To: <803fbbeb-c506-35a5-5892-d382f9c87136@oracle.com> References: <803fbbeb-c506-35a5-5892-d382f9c87136@oracle.com> Message-ID: Hi Rado, We use on-heap (and off-heap) segments today in Java 8. Starting in 2017 we created a similar concept of MemorySegments, but using unsafe and other internal classes to do it. We needed an API that would enable us to read and write to dynamic structs that could be on-heap, or off-heap in explicitly allocated native memory, or in a ByteBuffer, or in memory-mapped files. Our segments have some of the similar concepts of Panama's FMA, except FMA is much more powerful (and safer!). Our use case is essentially what Maurizio was alluding to. We have these very compact, dynamic, C-like structs (and C-unions) that we need to access and modify, and depending on the system application, they can be either off-heap or on-heap or both. And the API that operates on these structs doesn't really care where they happen to be in memory. However, when creating, expanding or copying a struct or segment, which is mostly performed in different processes, we do need to detect whether a specific struct is in native memory or not and the new isNative() method addresses that. Bear in mind that our environments are typically very large systems where we can have millions of these dynamic structs in memory at the same time. So compact size and efficient performance is critical. And until Panama FMA, the Java language had very limited means of expressing this kind of flexibility and power. Lee. On Fri, May 21, 2021 at 1:44 PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi Radoslaw, > this is a topic we have considered during the design process. Heap > segments are useful to interoperate with Java arrays and also to > interoperate with heap-based byte-buffers (and, in the future, vectors). > While it is possible to think about an API that only supports off-heap > segments, we think that there are valid uses for heap segments too, > especially in the context of foreign functions. > > Think about a function that returns a struct by value - if you want to > pass that struct back to some other code, probably it would be better to > just allocate that struct off-heap. But if the returned struct is only > accessed one by the caller of the native function, using an heap segment > as a backing storage is a perfectly reasonable alternative, which also > requires less allocation cost (as the VM is much more optimized at > allocating on-heap memory than it is at allocating off-heap memory). > This can be done today, by wrapping a SegmentAllocator around an on-heap > segment and pass that allocator to a native function which returns a > struct by value. > > Other more futuristic use cases might allow you to pass on-heap segments > to native functions directly, using _pinning_. The VM has ability to pin > a region of heap for a certain duration - we do not have an API to > expose this, but there are certainly context where something like this > could come in very handy (of course this would have to be a restricted > operation, as pinning memory for too long might create other problems). > > In the end, I think having the choice of using on-heap segments opens up > interesting use cases for the API which would not be possible to express > otherwise. As you said, having the same API to model both off heap and > on-heap can lead to confusion, but I hope that in the new iteration some > of that confusion is cleared [1]. > > Other possible alternatives we have considered were to name native > memory segments/address differently from their on-heap counterparts - > e.g. by using different types. This doesn't work very well, as memory > segments and addresses are often passed to var handles and method > handles, and having a complex hierarchy of types can easily lead to > "inexact" method handle call - so it is kind of a strong requirement for > these API points to be monomorphic. > > Cheers > Maurizio > > [1] - https://git.openjdk.java.net/panama-foreign/pull/514 > > > On 21/05/2021 19:19, Rados?aw Smogura wrote: > > Hi all, > > > > I hope you have a good day. > > > > I?m not sure if this topic was actually touched, however I wonder if > heap memory segments are useful, as for me those creates more noise. > > > > Let me explain my concern, (as probably you know) I try to write I/O > layer with Panama (mainly for feedback purposes). > > > > I thought about creating NativeInputStream with semantics similar to > plain stream, but with segment instead of byte array. > > > > However issue is that if user passes on heap segment I can?t downstream > it to POSIX function. > > > > I think this, slightly, can be headache for such purposes, and will lead > to if trees and very minor performance degradation. > > > > I think the need for checking if segment is native in the heap was as > well expressed in > https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013707.html > > > > So that?s why I wonder about on-heap segments. > > > > Kind regards, > > Rado > > > From mr.chrisvest at gmail.com Sat May 22 09:58:22 2021 From: mr.chrisvest at gmail.com (Chris Vest) Date: Sat, 22 May 2021 11:58:22 +0200 Subject: Question: remove memory heap segments In-Reply-To: References: <803fbbeb-c506-35a5-5892-d382f9c87136@oracle.com> Message-ID: Hi, I would like to add that there are frameworks built on Netty who exclusively use on-heap buffers because it allows them to ignore the reference counting API that we otherwise have on ByteBuf. The drawback of that approach is that copying will happen on IO call sites, and this is sometimes a reasonable trade-off for the convenience. Since MemorySegments largely unify the API to memory, I find that you only need to know if memory is on- or off-heap at IO call sites, so the height of the if-trees will be limited. My experience of building a new buffer API on top of memory segments is that it's not a big deal that segments can be either on- or off-heap. There were other limitations of the API that were more frustrating, but these have all been fixed in the latest panama-foreign code. We haven't looked closely at the ABI or jextract parts of panama-foreign, but the ability to briefly pin heap segments sounds quite useful in that context. Cheers, Chris On Sat, 22 May 2021 at 07:46, leerho wrote: > Hi Rado, > > We use on-heap (and off-heap) segments today in Java 8. Starting in 2017 > we created a similar concept of MemorySegments, but using unsafe and other > internal classes to do it. We needed an API that would enable us to read > and write to dynamic structs that could be on-heap, or off-heap in > explicitly allocated native memory, or in a ByteBuffer, or in memory-mapped > files. Our segments have some of the similar concepts of Panama's FMA, > except FMA is much more powerful (and safer!). > > Our use case is essentially what Maurizio was alluding to. We have these > very compact, dynamic, C-like structs (and C-unions) that we need to access > and modify, and depending on the system application, they can be either > off-heap or on-heap or both. And the API that operates on these structs > doesn't really care where they happen to be in memory. However, when > creating, expanding or copying a struct or segment, which is mostly > performed in different processes, we do need to detect whether a specific > struct is in native memory or not and the new isNative() method addresses > that. Bear in mind that our environments are typically very large systems > where we can have millions of these dynamic structs in memory at the same > time. So compact size and efficient performance is critical. And until > Panama FMA, the Java language had very limited means of expressing this > kind of flexibility and power. > > Lee. > > On Fri, May 21, 2021 at 1:44 PM Maurizio Cimadamore < > maurizio.cimadamore at oracle.com> wrote: > > > Hi Radoslaw, > > this is a topic we have considered during the design process. Heap > > segments are useful to interoperate with Java arrays and also to > > interoperate with heap-based byte-buffers (and, in the future, vectors). > > While it is possible to think about an API that only supports off-heap > > segments, we think that there are valid uses for heap segments too, > > especially in the context of foreign functions. > > > > Think about a function that returns a struct by value - if you want to > > pass that struct back to some other code, probably it would be better to > > just allocate that struct off-heap. But if the returned struct is only > > accessed one by the caller of the native function, using an heap segment > > as a backing storage is a perfectly reasonable alternative, which also > > requires less allocation cost (as the VM is much more optimized at > > allocating on-heap memory than it is at allocating off-heap memory). > > This can be done today, by wrapping a SegmentAllocator around an on-heap > > segment and pass that allocator to a native function which returns a > > struct by value. > > > > Other more futuristic use cases might allow you to pass on-heap segments > > to native functions directly, using _pinning_. The VM has ability to pin > > a region of heap for a certain duration - we do not have an API to > > expose this, but there are certainly context where something like this > > could come in very handy (of course this would have to be a restricted > > operation, as pinning memory for too long might create other problems). > > > > In the end, I think having the choice of using on-heap segments opens up > > interesting use cases for the API which would not be possible to express > > otherwise. As you said, having the same API to model both off heap and > > on-heap can lead to confusion, but I hope that in the new iteration some > > of that confusion is cleared [1]. > > > > Other possible alternatives we have considered were to name native > > memory segments/address differently from their on-heap counterparts - > > e.g. by using different types. This doesn't work very well, as memory > > segments and addresses are often passed to var handles and method > > handles, and having a complex hierarchy of types can easily lead to > > "inexact" method handle call - so it is kind of a strong requirement for > > these API points to be monomorphic. > > > > Cheers > > Maurizio > > > > [1] - https://git.openjdk.java.net/panama-foreign/pull/514 > > > > > > On 21/05/2021 19:19, Rados?aw Smogura wrote: > > > Hi all, > > > > > > I hope you have a good day. > > > > > > I?m not sure if this topic was actually touched, however I wonder if > > heap memory segments are useful, as for me those creates more noise. > > > > > > Let me explain my concern, (as probably you know) I try to write I/O > > layer with Panama (mainly for feedback purposes). > > > > > > I thought about creating NativeInputStream with semantics similar to > > plain stream, but with segment instead of byte array. > > > > > > However issue is that if user passes on heap segment I can?t downstream > > it to POSIX function. > > > > > > I think this, slightly, can be headache for such purposes, and will > lead > > to if trees and very minor performance degradation. > > > > > > I think the need for checking if segment is native in the heap was as > > well expressed in > > https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013707.html > > > > > > So that?s why I wonder about on-heap segments. > > > > > > Kind regards, > > > Rado > > > > > > From mail at smogura.eu Sat May 22 14:18:21 2021 From: mail at smogura.eu (=?utf-8?B?UmFkb3PFgmF3IFNtb2d1cmE=?=) Date: Sat, 22 May 2021 14:18:21 +0000 Subject: Question: remove memory heap segments In-Reply-To: References: <803fbbeb-c506-35a5-5892-d382f9c87136@oracle.com> , Message-ID: Hi all, Thank you for your answers. It was just very loose idea and I didn?t even expect so many responses. I think that it came with some other thought which sometimes comes to my mind if segments can be a good replacement for arrays and bytebuffers (I.e. that?s something what I consider - should I provide integration with existing JDK and how deep it should be) However with ability of pinning I think that things would be more then interesting - would like to see it - this would be a great performance gain for I/O. Once again thank you for you answers and please have a great weekend. Rado On May 22, 2021, at 11:58 AM, Chris Vest wrote: ? Hi, I would like to add that there are frameworks built on Netty who exclusively use on-heap buffers because it allows them to ignore the reference counting API that we otherwise have on ByteBuf. The drawback of that approach is that copying will happen on IO call sites, and this is sometimes a reasonable trade-off for the convenience. Since MemorySegments largely unify the API to memory, I find that you only need to know if memory is on- or off-heap at IO call sites, so the height of the if-trees will be limited. My experience of building a new buffer API on top of memory segments is that it's not a big deal that segments can be either on- or off-heap. There were other limitations of the API that were more frustrating, but these have all been fixed in the latest panama-foreign code. We haven't looked closely at the ABI or jextract parts of panama-foreign, but the ability to briefly pin heap segments sounds quite useful in that context. Cheers, Chris On Sat, 22 May 2021 at 07:46, leerho > wrote: Hi Rado, We use on-heap (and off-heap) segments today in Java 8. Starting in 2017 we created a similar concept of MemorySegments, but using unsafe and other internal classes to do it. We needed an API that would enable us to read and write to dynamic structs that could be on-heap, or off-heap in explicitly allocated native memory, or in a ByteBuffer, or in memory-mapped files. Our segments have some of the similar concepts of Panama's FMA, except FMA is much more powerful (and safer!). Our use case is essentially what Maurizio was alluding to. We have these very compact, dynamic, C-like structs (and C-unions) that we need to access and modify, and depending on the system application, they can be either off-heap or on-heap or both. And the API that operates on these structs doesn't really care where they happen to be in memory. However, when creating, expanding or copying a struct or segment, which is mostly performed in different processes, we do need to detect whether a specific struct is in native memory or not and the new isNative() method addresses that. Bear in mind that our environments are typically very large systems where we can have millions of these dynamic structs in memory at the same time. So compact size and efficient performance is critical. And until Panama FMA, the Java language had very limited means of expressing this kind of flexibility and power. Lee. On Fri, May 21, 2021 at 1:44 PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi Radoslaw, > this is a topic we have considered during the design process. Heap > segments are useful to interoperate with Java arrays and also to > interoperate with heap-based byte-buffers (and, in the future, vectors). > While it is possible to think about an API that only supports off-heap > segments, we think that there are valid uses for heap segments too, > especially in the context of foreign functions. > > Think about a function that returns a struct by value - if you want to > pass that struct back to some other code, probably it would be better to > just allocate that struct off-heap. But if the returned struct is only > accessed one by the caller of the native function, using an heap segment > as a backing storage is a perfectly reasonable alternative, which also > requires less allocation cost (as the VM is much more optimized at > allocating on-heap memory than it is at allocating off-heap memory). > This can be done today, by wrapping a SegmentAllocator around an on-heap > segment and pass that allocator to a native function which returns a > struct by value. > > Other more futuristic use cases might allow you to pass on-heap segments > to native functions directly, using _pinning_. The VM has ability to pin > a region of heap for a certain duration - we do not have an API to > expose this, but there are certainly context where something like this > could come in very handy (of course this would have to be a restricted > operation, as pinning memory for too long might create other problems). > > In the end, I think having the choice of using on-heap segments opens up > interesting use cases for the API which would not be possible to express > otherwise. As you said, having the same API to model both off heap and > on-heap can lead to confusion, but I hope that in the new iteration some > of that confusion is cleared [1]. > > Other possible alternatives we have considered were to name native > memory segments/address differently from their on-heap counterparts - > e.g. by using different types. This doesn't work very well, as memory > segments and addresses are often passed to var handles and method > handles, and having a complex hierarchy of types can easily lead to > "inexact" method handle call - so it is kind of a strong requirement for > these API points to be monomorphic. > > Cheers > Maurizio > > [1] - https://git.openjdk.java.net/panama-foreign/pull/514 > > > On 21/05/2021 19:19, Rados?aw Smogura wrote: > > Hi all, > > > > I hope you have a good day. > > > > I?m not sure if this topic was actually touched, however I wonder if > heap memory segments are useful, as for me those creates more noise. > > > > Let me explain my concern, (as probably you know) I try to write I/O > layer with Panama (mainly for feedback purposes). > > > > I thought about creating NativeInputStream with semantics similar to > plain stream, but with segment instead of byte array. > > > > However issue is that if user passes on heap segment I can?t downstream > it to POSIX function. > > > > I think this, slightly, can be headache for such purposes, and will lead > to if trees and very minor performance degradation. > > > > I think the need for checking if segment is native in the heap was as > well expressed in > https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013707.html > > > > So that?s why I wonder about on-heap segments. > > > > Kind regards, > > Rado > > > From clayton.m.walker at gmail.com Sat May 22 19:02:52 2021 From: clayton.m.walker at gmail.com (Clayton Walker) Date: Sat, 22 May 2021 13:02:52 -0600 Subject: Linking to macOS frameworks In-Reply-To: References: <12d15b42-0eea-a200-fc56-78aef479bfcf@oracle.com> Message-ID: I've since updated to the most recent panama build, panama+3-167. Under Mojave I can load the IOKit library via System.load("/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit"); and then lookup the symbol "IORegistryGetRootEntry" via loaderLookup, however under Big Sur this code no longer works. While I can call dlopen manually under Big Sur, that doesn't make the symbols in the loaded library available to loaderLookup. This makes it frustrating trying to bind to native libraries on macOS. I guess a workaround might be to create a dylib that links to a framework, then load that? But then you're back shipping native library shims. At least during testing, removing the file.exists() check from NativeLibaries.loadLibrary allowed the code to properly work under Big Sur. On Wed, May 19, 2021 at 3:12 PM Maurizio Cimadamore wrote: > > I see. > > Obviously some kind of workaround is happening behind the scene when > dlopen is invoked with that library name, as a compatibility measure. > > If you load this: > > /usr/lib/libSystem.B.dylib > > Do you, by any change, get access to the symbols you want? > > Anyway - to your original question, LibraryLookup.ofPath works with a > library file in the file system. Here it seems a case where libraries > are not in the file system, but in some other cache, and dlopen has been > instructed to "work" when asked with certain well-known names. > > In this case, if the above trick (libSystem) doesn't work, the only > thing left to you might well be calling dlopen directly. > > Maurizio > > On 19/05/2021 20:31, Clayton Walker wrote: > > Hi Maurizio, > > > > Yes, UserNotification is a library, but unfortunately > > UserNotification.dylib is no longer in that folder. > > Per this page https://urldefense.com/v3/__https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes__;!!GqivPVa7Brio!PxJkXokERrp3NAcaRqK7q1eIHPqhs9AWyxmbu4_AfBKvGVbf2OcqtR2HUvwImxChbwHDpmE$ , > > Apple's release notes state > > `copies of dynamic libraries are no longer present on the filesystem`. > > So while previously they did exist on the filesystem, now they're not. > > dlopen still handles the path on macOS Big Sur, > > dlopen("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); > > works. > > > > > > On Wed, May 19, 2021 at 11:03 AM Maurizio Cimadamore > > wrote: > >> Hi Clayton, > >> Is UserNotification a library? E.g. is there a file > >> UserNotification.dylib in that folder? > >> > >> If so, just use "Library.ofPath" and include the suffix - as that method > >> wants the library absolute path. > >> > >> Maurizio > >> > >> On 19/05/2021 17:46, Clayton Walker wrote: > >>> Hello, > >>> > >>> I'm working on a project that would let you call objective-c functions from > >>> java, without first needing to wrap the api in a shared library. While this > >>> works for symbols that are already available > >>> (i.e.LibraryLookup.ofDefault().lookup("objc_getClass")), it doesn't work > >>> for symbols that are in another framework. > >>> > >>> For example, I would like to be able to write something like this: > >>> LibraryLookup.ofLibrary("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); > >>> // or > >>> LibraryLookup.ofPath(Path.of("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")); > >>> however this currently doesn't work. The first call throws with "Directory > >>> separator should not appear in library name", second one throws with > >>> "Library not found". > >>> > >>> I've been able to work around this by using dlopen > >>> MemoryAddress l1; > >>> try (var c = > >>> CLinker.toCString("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")) > >>> { > >>> l1 = (MemoryAddress) dlopen.invokeExact(c.address(), 1); > >>> } > >>> but this seems rather strange. It looks like LibraryLookup.ofPath requires > >>> the path to exist, whereas in Big Sur the files no longer exist (via > >>> https://urldefense.com/v3/__https://developer.apple.com/forums/thread/657267__;!!GqivPVa7Brio!PxJkXokERrp3NAcaRqK7q1eIHPqhs9AWyxmbu4_AfBKvGVbf2OcqtR2HUvwImxChS2opDZY$ ). From maurizio.cimadamore at oracle.com Sat May 22 21:12:29 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Sat, 22 May 2021 22:12:29 +0100 Subject: Linking to macOS frameworks In-Reply-To: References: <12d15b42-0eea-a200-fc56-78aef479bfcf@oracle.com> Message-ID: Hi, in the new API, you could in principle use the linker API to create a wrapper around dlopen/dlsym, and then wrap a SymbolLookup around that. You would have to be careful not to unload the library _while_ a native function is being invoked (which is why we didn't provide such an alternative out of the box - yet). We plan to have a more direct wrapper around dlopen in the future - but we have to address this first: https://bugs.openjdk.java.net/browse/JDK-8267451 to allow for safe unloading in the presence of multiple threads. Maurizio On 22/05/2021 20:02, Clayton Walker wrote: > I've since updated to the most recent panama build, panama+3-167. > > Under Mojave I can load the IOKit library via > System.load("/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit"); > and then lookup the symbol "IORegistryGetRootEntry" via loaderLookup, > however under Big Sur this code no longer works. While I can call > dlopen manually under Big Sur, that doesn't make the symbols in the > loaded library available to loaderLookup. This makes it frustrating > trying to bind to native libraries on macOS. > I guess a workaround might be to create a dylib that links to a > framework, then load that? But then you're back shipping native > library shims. > > At least during testing, removing the file.exists() check from > NativeLibaries.loadLibrary allowed the code to properly work under Big > Sur. > > On Wed, May 19, 2021 at 3:12 PM Maurizio Cimadamore > wrote: >> I see. >> >> Obviously some kind of workaround is happening behind the scene when >> dlopen is invoked with that library name, as a compatibility measure. >> >> If you load this: >> >> /usr/lib/libSystem.B.dylib >> >> Do you, by any change, get access to the symbols you want? >> >> Anyway - to your original question, LibraryLookup.ofPath works with a >> library file in the file system. Here it seems a case where libraries >> are not in the file system, but in some other cache, and dlopen has been >> instructed to "work" when asked with certain well-known names. >> >> In this case, if the above trick (libSystem) doesn't work, the only >> thing left to you might well be calling dlopen directly. >> >> Maurizio >> >> On 19/05/2021 20:31, Clayton Walker wrote: >>> Hi Maurizio, >>> >>> Yes, UserNotification is a library, but unfortunately >>> UserNotification.dylib is no longer in that folder. >>> Per this page https://urldefense.com/v3/__https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes__;!!GqivPVa7Brio!PxJkXokERrp3NAcaRqK7q1eIHPqhs9AWyxmbu4_AfBKvGVbf2OcqtR2HUvwImxChbwHDpmE$ , >>> Apple's release notes state >>> `copies of dynamic libraries are no longer present on the filesystem`. >>> So while previously they did exist on the filesystem, now they're not. >>> dlopen still handles the path on macOS Big Sur, >>> dlopen("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); >>> works. >>> >>> >>> On Wed, May 19, 2021 at 11:03 AM Maurizio Cimadamore >>> wrote: >>>> Hi Clayton, >>>> Is UserNotification a library? E.g. is there a file >>>> UserNotification.dylib in that folder? >>>> >>>> If so, just use "Library.ofPath" and include the suffix - as that method >>>> wants the library absolute path. >>>> >>>> Maurizio >>>> >>>> On 19/05/2021 17:46, Clayton Walker wrote: >>>>> Hello, >>>>> >>>>> I'm working on a project that would let you call objective-c functions from >>>>> java, without first needing to wrap the api in a shared library. While this >>>>> works for symbols that are already available >>>>> (i.e.LibraryLookup.ofDefault().lookup("objc_getClass")), it doesn't work >>>>> for symbols that are in another framework. >>>>> >>>>> For example, I would like to be able to write something like this: >>>>> LibraryLookup.ofLibrary("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); >>>>> // or >>>>> LibraryLookup.ofPath(Path.of("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")); >>>>> however this currently doesn't work. The first call throws with "Directory >>>>> separator should not appear in library name", second one throws with >>>>> "Library not found". >>>>> >>>>> I've been able to work around this by using dlopen >>>>> MemoryAddress l1; >>>>> try (var c = >>>>> CLinker.toCString("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")) >>>>> { >>>>> l1 = (MemoryAddress) dlopen.invokeExact(c.address(), 1); >>>>> } >>>>> but this seems rather strange. It looks like LibraryLookup.ofPath requires >>>>> the path to exist, whereas in Big Sur the files no longer exist (via >>>>> https://urldefense.com/v3/__https://developer.apple.com/forums/thread/657267__;!!GqivPVa7Brio!PxJkXokERrp3NAcaRqK7q1eIHPqhs9AWyxmbu4_AfBKvGVbf2OcqtR2HUvwImxChS2opDZY$ ). From maurizio.cimadamore at oracle.com Sat May 22 22:00:22 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Sat, 22 May 2021 23:00:22 +0100 Subject: Linking to macOS frameworks In-Reply-To: References: <12d15b42-0eea-a200-fc56-78aef479bfcf@oracle.com> Message-ID: <3ce08ffa-28e0-a3aa-0c95-65f103f65e3c@oracle.com> I put together a quick Gist to show a possible approach: https://gist.github.com/mcimadamore/0883ea6f4836ae0c1d2a31c48197da1a This allows you to obtain a dlopen-based symbol lookup (see DlOpen::lookup). To open the library, the flag RTLD_LAZY is used. The provided scope is used to determine the library lifecycle - that is, when the scope is closed, the library will be unloaded. This is a fairly simple implementation, but it should allow you to "just use" dlopen/dlsym to load libraries and lookup sym. Maurizio On 22/05/2021 22:12, Maurizio Cimadamore wrote: > Hi, > in the new API, you could in principle use the linker API to create a > wrapper around dlopen/dlsym, and then wrap a SymbolLookup around that. > > You would have to be careful not to unload the library _while_ a > native function is being invoked (which is why we didn't provide such > an alternative out of the box - yet). > > We plan to have a more direct wrapper around dlopen in the future - > but we have to address this first: > > https://bugs.openjdk.java.net/browse/JDK-8267451 > > to allow for safe unloading in the presence of multiple threads. > > Maurizio > > On 22/05/2021 20:02, Clayton Walker wrote: >> I've since updated to the most recent panama build, panama+3-167. >> >> Under Mojave I can load the IOKit library via >> System.load("/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit"); >> >> and then lookup the symbol "IORegistryGetRootEntry" via loaderLookup, >> however under Big Sur this code no longer works. While I can call >> dlopen manually under Big Sur, that doesn't make the symbols in the >> loaded library available to loaderLookup. This makes it frustrating >> trying to bind to native libraries on macOS. >> ? I guess a workaround might be to create a dylib that links to a >> framework, then load that? But then you're back shipping native >> library shims. >> >> At least during testing, removing the file.exists() check from >> NativeLibaries.loadLibrary allowed the code to properly work under Big >> Sur. >> >> On Wed, May 19, 2021 at 3:12 PM Maurizio Cimadamore >> wrote: >>> I see. >>> >>> Obviously some kind of workaround is happening behind the scene when >>> dlopen is invoked with that library name, as a compatibility measure. >>> >>> If you load this: >>> >>> /usr/lib/libSystem.B.dylib >>> >>> Do you, by any change, get access to the symbols you want? >>> >>> Anyway - to your original question, LibraryLookup.ofPath works with a >>> library file in the file system. Here it seems a case where libraries >>> are not in the file system, but in some other cache, and dlopen has >>> been >>> instructed to "work" when asked with certain well-known names. >>> >>> In this case, if the above trick (libSystem) doesn't work, the only >>> thing left to you might well be calling dlopen directly. >>> >>> Maurizio >>> >>> On 19/05/2021 20:31, Clayton Walker wrote: >>>> Hi Maurizio, >>>> >>>> Yes, UserNotification is a library, but unfortunately >>>> UserNotification.dylib is no longer in that folder. >>>> Per this page >>>> https://urldefense.com/v3/__https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes__;!!GqivPVa7Brio!PxJkXokERrp3NAcaRqK7q1eIHPqhs9AWyxmbu4_AfBKvGVbf2OcqtR2HUvwImxChbwHDpmE$ >>>> , >>>> Apple's release notes state >>>> `copies of dynamic libraries are no longer present on the filesystem`. >>>> So while previously they did exist on the filesystem, now they're not. >>>> dlopen still handles the path on macOS Big Sur, >>>> dlopen("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); >>>> >>>> works. >>>> >>>> >>>> On Wed, May 19, 2021 at 11:03 AM Maurizio Cimadamore >>>> wrote: >>>>> Hi Clayton, >>>>> Is UserNotification a library? E.g. is there a file >>>>> UserNotification.dylib in that folder? >>>>> >>>>> If so, just use "Library.ofPath" and include the suffix - as that >>>>> method >>>>> wants the library absolute path. >>>>> >>>>> Maurizio >>>>> >>>>> On 19/05/2021 17:46, Clayton Walker wrote: >>>>>> Hello, >>>>>> >>>>>> I'm working on a project that would let you call objective-c >>>>>> functions from >>>>>> java, without first needing to wrap the api in a shared library. >>>>>> While this >>>>>> works for symbols that are already available >>>>>> (i.e.LibraryLookup.ofDefault().lookup("objc_getClass")), it >>>>>> doesn't work >>>>>> for symbols that are in another framework. >>>>>> >>>>>> For example, I would like to be able to write something like this: >>>>>> LibraryLookup.ofLibrary("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); >>>>>> >>>>>> // or >>>>>> LibraryLookup.ofPath(Path.of("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")); >>>>>> >>>>>> however this currently doesn't work. The first call throws with >>>>>> "Directory >>>>>> separator should not appear in library name", second one throws with >>>>>> "Library not found". >>>>>> >>>>>> I've been able to work around this by using dlopen >>>>>> MemoryAddress l1; >>>>>> try (var c = >>>>>> CLinker.toCString("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")) >>>>>> >>>>>> { >>>>>> ?????? l1 = (MemoryAddress) dlopen.invokeExact(c.address(), 1); >>>>>> } >>>>>> but this seems rather strange. It looks like LibraryLookup.ofPath >>>>>> requires >>>>>> the path to exist, whereas in Big Sur the files no longer exist (via >>>>>> https://urldefense.com/v3/__https://developer.apple.com/forums/thread/657267__;!!GqivPVa7Brio!PxJkXokERrp3NAcaRqK7q1eIHPqhs9AWyxmbu4_AfBKvGVbf2OcqtR2HUvwImxChS2opDZY$ >>>>>> ). From clayton.m.walker at gmail.com Sat May 22 22:29:48 2021 From: clayton.m.walker at gmail.com (Clayton Walker) Date: Sat, 22 May 2021 16:29:48 -0600 Subject: Linking to macOS frameworks In-Reply-To: <3ce08ffa-28e0-a3aa-0c95-65f103f65e3c@oracle.com> References: <12d15b42-0eea-a200-fc56-78aef479bfcf@oracle.com> <3ce08ffa-28e0-a3aa-0c95-65f103f65e3c@oracle.com> Message-ID: Ah, thanks for that. My attempts were mostly based around loading the library in such a way that either CLinker.systemLookup() or SymbolLookup.loaderLookup() could then lookup the symbol for me. I had managed to get loaderLookup to work by way of loading System.loadLibrary("osx");, which then let me dlopen libraries whose symbols were available from loaderLookup but your method seems much less hacky. Another attempt had me creating a custom SymbolLookup that would call objc_getClass, but calling dlsym directly is a way more obvious solution. On Sat, May 22, 2021 at 4:00 PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > I put together a quick Gist to show a possible approach: > > https://gist.github.com/mcimadamore/0883ea6f4836ae0c1d2a31c48197da1a > > This allows you to obtain a dlopen-based symbol lookup (see > DlOpen::lookup). To open the library, the flag RTLD_LAZY is used. The > provided scope is used to determine the library lifecycle - that is, > when the scope is closed, the library will be unloaded. > > This is a fairly simple implementation, but it should allow you to "just > use" dlopen/dlsym to load libraries and lookup sym. > > Maurizio > > On 22/05/2021 22:12, Maurizio Cimadamore wrote: > > Hi, > > in the new API, you could in principle use the linker API to create a > > wrapper around dlopen/dlsym, and then wrap a SymbolLookup around that. > > > > You would have to be careful not to unload the library _while_ a > > native function is being invoked (which is why we didn't provide such > > an alternative out of the box - yet). > > > > We plan to have a more direct wrapper around dlopen in the future - > > but we have to address this first: > > > > https://bugs.openjdk.java.net/browse/JDK-8267451 > > > > to allow for safe unloading in the presence of multiple threads. > > > > Maurizio > > > > On 22/05/2021 20:02, Clayton Walker wrote: > >> I've since updated to the most recent panama build, panama+3-167. > >> > >> Under Mojave I can load the IOKit library via > >> > System.load("/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit"); > >> > >> and then lookup the symbol "IORegistryGetRootEntry" via loaderLookup, > >> however under Big Sur this code no longer works. While I can call > >> dlopen manually under Big Sur, that doesn't make the symbols in the > >> loaded library available to loaderLookup. This makes it frustrating > >> trying to bind to native libraries on macOS. > >> I guess a workaround might be to create a dylib that links to a > >> framework, then load that? But then you're back shipping native > >> library shims. > >> > >> At least during testing, removing the file.exists() check from > >> NativeLibaries.loadLibrary allowed the code to properly work under Big > >> Sur. > >> > >> On Wed, May 19, 2021 at 3:12 PM Maurizio Cimadamore > >> wrote: > >>> I see. > >>> > >>> Obviously some kind of workaround is happening behind the scene when > >>> dlopen is invoked with that library name, as a compatibility measure. > >>> > >>> If you load this: > >>> > >>> /usr/lib/libSystem.B.dylib > >>> > >>> Do you, by any change, get access to the symbols you want? > >>> > >>> Anyway - to your original question, LibraryLookup.ofPath works with a > >>> library file in the file system. Here it seems a case where libraries > >>> are not in the file system, but in some other cache, and dlopen has > >>> been > >>> instructed to "work" when asked with certain well-known names. > >>> > >>> In this case, if the above trick (libSystem) doesn't work, the only > >>> thing left to you might well be calling dlopen directly. > >>> > >>> Maurizio > >>> > >>> On 19/05/2021 20:31, Clayton Walker wrote: > >>>> Hi Maurizio, > >>>> > >>>> Yes, UserNotification is a library, but unfortunately > >>>> UserNotification.dylib is no longer in that folder. > >>>> Per this page > >>>> > https://urldefense.com/v3/__https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-release-notes__;!!GqivPVa7Brio!PxJkXokERrp3NAcaRqK7q1eIHPqhs9AWyxmbu4_AfBKvGVbf2OcqtR2HUvwImxChbwHDpmE$ > >>>> , > >>>> Apple's release notes state > >>>> `copies of dynamic libraries are no longer present on the filesystem`. > >>>> So while previously they did exist on the filesystem, now they're not. > >>>> dlopen still handles the path on macOS Big Sur, > >>>> > dlopen("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); > > >>>> > >>>> works. > >>>> > >>>> > >>>> On Wed, May 19, 2021 at 11:03 AM Maurizio Cimadamore > >>>> wrote: > >>>>> Hi Clayton, > >>>>> Is UserNotification a library? E.g. is there a file > >>>>> UserNotification.dylib in that folder? > >>>>> > >>>>> If so, just use "Library.ofPath" and include the suffix - as that > >>>>> method > >>>>> wants the library absolute path. > >>>>> > >>>>> Maurizio > >>>>> > >>>>> On 19/05/2021 17:46, Clayton Walker wrote: > >>>>>> Hello, > >>>>>> > >>>>>> I'm working on a project that would let you call objective-c > >>>>>> functions from > >>>>>> java, without first needing to wrap the api in a shared library. > >>>>>> While this > >>>>>> works for symbols that are already available > >>>>>> (i.e.LibraryLookup.ofDefault().lookup("objc_getClass")), it > >>>>>> doesn't work > >>>>>> for symbols that are in another framework. > >>>>>> > >>>>>> For example, I would like to be able to write something like this: > >>>>>> > LibraryLookup.ofLibrary("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications"); > > >>>>>> > >>>>>> // or > >>>>>> > LibraryLookup.ofPath(Path.of("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")); > > >>>>>> > >>>>>> however this currently doesn't work. The first call throws with > >>>>>> "Directory > >>>>>> separator should not appear in library name", second one throws with > >>>>>> "Library not found". > >>>>>> > >>>>>> I've been able to work around this by using dlopen > >>>>>> MemoryAddress l1; > >>>>>> try (var c = > >>>>>> > CLinker.toCString("/System/Library/Frameworks/UserNotifications.framework/Versions/Current/UserNotifications")) > > >>>>>> > >>>>>> { > >>>>>> l1 = (MemoryAddress) dlopen.invokeExact(c.address(), 1); > >>>>>> } > >>>>>> but this seems rather strange. It looks like LibraryLookup.ofPath > >>>>>> requires > >>>>>> the path to exist, whereas in Big Sur the files no longer exist (via > >>>>>> > https://urldefense.com/v3/__https://developer.apple.com/forums/thread/657267__;!!GqivPVa7Brio!PxJkXokERrp3NAcaRqK7q1eIHPqhs9AWyxmbu4_AfBKvGVbf2OcqtR2HUvwImxChS2opDZY$ > >>>>>> ). > From xgong at openjdk.java.net Mon May 24 01:48:56 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 24 May 2021 01:48:56 GMT Subject: [vectorIntrinsics+mask] Integrated: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: On Mon, 10 May 2021 06:15:24 GMT, Xiaohong Gong wrote: > Similar with [1], this patch adds the masking support for `unary/ternary` vector intrinsics. It adds the mask information to the original intrinsic methods which are called both by masked and non-masked unary/ternary operations. For non-masked operations, the mask class and value are set to null. > > Also change to use the `"binaryMaskedOp"` for vector mask logical operations instead of` "binaryOp"`. So that all the original nary intrinsics and hotspot implementation can be removed. > > Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. > > [1] https://bugs.openjdk.java.net/browse/JDK-8264563 This pull request has now been integrated. Changeset: 24b52623 Author: Xiaohong Gong URL: https://git.openjdk.java.net/panama-vector/commit/24b52623ac073069a08943be5319178e4404be60 Stats: 1984 lines in 45 files changed: 1055 ins; 417 del; 512 mod 8266621: Add masking support for unary/ternary vector intrinsics Reviewed-by: psandoz, vlivanov ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From xgong at openjdk.java.net Mon May 24 01:48:55 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 24 May 2021 01:48:55 GMT Subject: [vectorIntrinsics+mask] RFR: 8266621: Add masking support for unary/ternary vector intrinsics In-Reply-To: References: Message-ID: <6LFv97n0P62UImFnG1VuIn9FGM98wU0ScBAXjNPSD7M=.f2ef12ef-22c4-4f05-a470-741233a30937@github.com> On Thu, 20 May 2021 15:06:46 GMT, Paul Sandoz wrote: >> I think what you have is fine, lets get the code in the branch and iterate. It's easy to revisit naming decisions like this later. > >> @PaulSandoz @iwanowww , I'v rename all the masked op back to the original names. Could you please help to look at again? Waiting for your feedback, Thanks so much! > > Looks good. Integrate it! Thanks for the review @PaulSandoz @iwanowww ! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/80 From xgong at openjdk.java.net Mon May 24 06:21:58 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 24 May 2021 06:21:58 GMT Subject: [vectorIntrinsics+mask] RFR: 8267368: Add masking support for reduction vector intrinsics Message-ID: This patch adds the masking support for vector reduction operations, including the Vector API java implementation and hotspot intrinsics changes. It adds the mask information to the reduction intrinsic method. With it: - Both masked and non-masked reduction operations call the same hotspot intrinsics. The mask value and class are set to `"null"` for non-masked operations. - Reduction IR with mask as another input will be generated if the platform supports the predicate feature for the op. Otherwise, the vector blend pattern will be generated like before. Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. ------------- Commit messages: - 8267368: Add masking support for reduction vector intrinsics Changes: https://git.openjdk.java.net/panama-vector/pull/86/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=86&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8267368 Stats: 682 lines in 43 files changed: 365 ins; 94 del; 223 mod Patch: https://git.openjdk.java.net/panama-vector/pull/86.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/86/head:pull/86 PR: https://git.openjdk.java.net/panama-vector/pull/86 From xgong at openjdk.java.net Mon May 24 06:21:58 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 24 May 2021 06:21:58 GMT Subject: [vectorIntrinsics+mask] RFR: 8267368: Add masking support for reduction vector intrinsics In-Reply-To: References: Message-ID: On Mon, 24 May 2021 06:15:56 GMT, Xiaohong Gong wrote: > This patch adds the masking support for vector reduction operations, including the Vector API java implementation and hotspot intrinsics changes. It adds the mask information to the reduction intrinsic method. With it: > - Both masked and non-masked reduction operations call the same hotspot intrinsics. The mask value and class are set to `"null"` for non-masked operations. > - Reduction IR with mask as another input will be generated if the platform supports the predicate feature for the op. Otherwise, the vector blend pattern will be generated like before. > > Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. Hi @PaulSandoz @iwanowww , would you mind taking a look at the masking support part for the vector reduction operations? Thanks so much! Any feedback is welcome! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/86 From xgong at openjdk.java.net Mon May 24 07:56:38 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 24 May 2021 07:56:38 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support [v2] In-Reply-To: References: Message-ID: <0SyBueY0IDncXtoZ8Pc88k-C0-xuqf6_ITo5P_sF1q4=.cffb7d2f-8179-4eda-afb2-e55aa15c148d@github.com> > Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains: > 1) Generation of the mask IRs for vector mask, including: > - Mask generations, e.g. load/compare/maskAll > - Mask operations, e.g. and/or/xor > 2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory > 3) Generation of the vector IRs which need the mask value as the control > - The mask value is appended to the original vector node's input list > > With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added. > > Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the > followed-up patches. > > [1] https://github.com/openjdk/panama-vector/pull/57 Xiaohong Gong has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits: - Use "Flag_is_predicated_vector" for masked vector nodes - Merge branch 'vectorIntrinsics+mask' - 8266287: Basic mask IR implementation for the Vector API masking feature support ------------- Changes: https://git.openjdk.java.net/panama-vector/pull/78/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=78&range=01 Stats: 509 lines in 13 files changed: 424 ins; 43 del; 42 mod Patch: https://git.openjdk.java.net/panama-vector/pull/78.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/78/head:pull/78 PR: https://git.openjdk.java.net/panama-vector/pull/78 From xgong at openjdk.java.net Mon May 24 07:56:39 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 24 May 2021 07:56:39 GMT Subject: [vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support [v2] In-Reply-To: References: <6247v7NxNbj6BciIHb9qQQ6dAwy1abjgQ1pfghnUcoI=.288ae3de-6c89-45ed-b6f2-7c17feb7209c@github.com> Message-ID: On Fri, 14 May 2021 07:50:55 GMT, Jatin Bhateja wrote: >> Good suggestion! Thanks! So do you mean using the new flag instead of `"n->in(3)->is_VectorMask()" ` ? I'm not very clarified about what the checking logic for masking operations you mean. Could you please elaborate more about this? Thanks so much! > > Yes, setting a new flag over IR node could simplify the checks , and could be used in matcher patterns also. Hi @jatin-bhateja , I'v updated the patch according to your advice. Please help to look at it again. Thanks so much! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/78 From psandoz at openjdk.java.net Mon May 24 15:34:48 2021 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Mon, 24 May 2021 15:34:48 GMT Subject: [vectorIntrinsics+mask] RFR: 8267368: Add masking support for reduction vector intrinsics In-Reply-To: References: Message-ID: On Mon, 24 May 2021 06:15:56 GMT, Xiaohong Gong wrote: > This patch adds the masking support for vector reduction operations, including the Vector API java implementation and hotspot intrinsics changes. It adds the mask information to the reduction intrinsic method. With it: > - Both masked and non-masked reduction operations call the same hotspot intrinsics. The mask value and class are set to `"null"` for non-masked operations. > - Reduction IR with mask as another input will be generated if the platform supports the predicate feature for the op. Otherwise, the vector blend pattern will be generated like before. > > Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. Looks good. ------------- Marked as reviewed by psandoz (Committer). PR: https://git.openjdk.java.net/panama-vector/pull/86 From zjx001202 at gmail.com Mon May 24 16:26:31 2021 From: zjx001202 at gmail.com (Glavo) Date: Tue, 25 May 2021 00:26:31 +0800 Subject: Unreasonable size of jextract tool Message-ID: I noticed that the jextract tool uses libclang to parse C code. On windows, the libclang.dll size is 67.8m, even the compressed size is about 25m. This makes the size of openjdk compressed package expand by 27.78%, the decompressed volume of openjdk expand by 34%. For a tool that is not commonly used, I think this is very unreasonable. Should we consider reducing its size in some way or distributing it as a stand-alone tool rather than as part of the JDK? From maurizio.cimadamore at oracle.com Mon May 24 16:49:38 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 24 May 2021 17:49:38 +0100 Subject: Unreasonable size of jextract tool In-Reply-To: References: Message-ID: <9acdb85d-5f61-506f-484b-9a9023247936@oracle.com> Hi, This is a very interesting question, and one that we often stopped to ponder. What you say is true - the static footprint of libclang is pretty high, and we have made several experiments to try and reduce that, but w/o much success (as the small libclang.so needs to depend on the bigger LLVM backend). Static footprint is not the only think we're concerned about: I think that the jextract tool isn't necessarily subject to the same degree of compatibility requirements which apply to the various tools shipped with the JDK. For instance, it would be ok (and I say, even desirable) to have the shape of the generated bindings change frequently, as new Java features become available. For instance, if Valhalla becomes available we'd probably want to use it to model carrier types in the generated bindings. Or, if some form of "lazy statics" becomes available, we might be able to reduce the footprint of the generated code (by dropping the various Constant$XYZ classes that are co-generated). What you suggest (standalone) tool is very much on the table - in fact you will notice that we have been trying pretty hard to avoid any dependencies on the JDK internals from jextract. That is, the jdk.incubator.jextract package is completely standalone. For the purpose of the EA binaries, I think having jextract in the same place makes sense, so that people can get a feel of the API and the toolchain. But, strictly speaking, there's nothing keeping jextract _inside_ the JDK. I'd be curious to hear feedback from folks who have been using jextract - would it make a significant difference to you if jextract was delivered in some other way? The closest thing I can think of is JMH, which is available in the code tools repository [1] but also distributed on Maven. Would a model like that be acceptable? One important use case is the gradle jextract plugin [2], so I'd be curious to understand if there would be significant repercussion on tooling build on top of jextract, were jextract to be delivered outside the JDK. Thanks Maurizio [1] - https://openjdk.java.net/projects/code-tools/ [2] - https://plugins.gradle.org/plugin/io.github.krakowski.jextract On 24/05/2021 17:26, Glavo wrote: > I noticed that the jextract tool uses libclang to parse C code. On windows, > the libclang.dll size is 67.8m, even the compressed size is about 25m. This > makes the size of openjdk compressed package expand by 27.78%, the > decompressed volume of openjdk expand by 34%. > For a tool that is not commonly used, I think this is very unreasonable. > Should we consider reducing its size in some way or distributing it as a > stand-alone tool rather than as part of the JDK? From mbien42 at gmail.com Tue May 25 07:48:06 2021 From: mbien42 at gmail.com (Michael Bien) Date: Tue, 25 May 2021 09:48:06 +0200 Subject: Unreasonable size of jextract tool In-Reply-To: <9acdb85d-5f61-506f-484b-9a9023247936@oracle.com> References: <9acdb85d-5f61-506f-484b-9a9023247936@oracle.com> Message-ID: <2bb3537e-4407-e42f-2ac4-1bb0c65ed3f3@gmail.com> Hello, as you mentioned its likely that jextract is going to be mostly used via maven plugins (or equivalent) since it will end up being a step in the build at the end of the day. So from a users POV it won't make a big difference (the plugin would just download it as dependency in the background or expect it to be there or fail) - both options are similar - devs are used to both. However having it decoupled from the JDK might have its benefits, for instance the option to use newer jextract while sticking to a future LTS release of the JDK. Or maybe the API (jdk.incubator.jextract) could be allowed to be less stable in the beginning without having to worry about --enable-preview flags since devs can update the dependency at their own pace independent of the JDK. The disadvantage is that the out-of-the-box experience of the JDK would suffer a little, since a cool tool is missing (I don't mind the few MB more, it won't end up in a container anyway). I would be fine with any of the two scenarios. We waited for something like panama for a long time, we don't worry that much about how its packaged at this point ;) (got encouraged to post this here from twitter) best regards, michael On 24.05.21 18:49, Maurizio Cimadamore wrote: > Hi, > This is a very interesting question, and one that we often stopped to > ponder. > > What you say is true - the static footprint of libclang is pretty > high, and we have made several experiments to try and reduce that, but > w/o much success (as the small libclang.so needs to depend on the > bigger LLVM backend). Static footprint is not the only think we're > concerned about: I think that the jextract tool isn't necessarily > subject to the same degree of compatibility requirements which apply > to the various tools shipped with the JDK. For instance, it would be > ok (and I say, even desirable) to have the shape of the generated > bindings change frequently, as new Java features become available. For > instance, if Valhalla becomes available we'd probably want to use it > to model carrier types in the generated bindings. Or, if some form of > "lazy statics" becomes available, we might be able to reduce the > footprint of the generated code (by dropping the various Constant$XYZ > classes that are co-generated). > > What you suggest (standalone) tool is very much on the table - in fact > you will notice that we have been trying pretty hard to avoid any > dependencies on the JDK internals from jextract. That is, the > jdk.incubator.jextract package is completely standalone. > > For the purpose of the EA binaries, I think having jextract in the > same place makes sense, so that people can get a feel of the API and > the toolchain. But, strictly speaking, there's nothing keeping > jextract _inside_ the JDK. > > I'd be curious to hear feedback from folks who have been using > jextract - would it make a significant difference to you if jextract > was delivered in some other way? The closest thing I can think of is > JMH, which is available in the code tools repository [1] but also > distributed on Maven. Would a model like that be acceptable? One > important use case is the gradle jextract plugin [2], so I'd be > curious to understand if there would be significant repercussion on > tooling build on top of jextract, were jextract to be delivered > outside the JDK. > > Thanks > Maurizio > > [1] - https://openjdk.java.net/projects/code-tools/ > [2] - https://plugins.gradle.org/plugin/io.github.krakowski.jextract > > On 24/05/2021 17:26, Glavo wrote: >> I noticed that the jextract tool uses libclang to parse C code. On >> windows, >> the libclang.dll size is 67.8m, even the compressed size is about >> 25m. This >> makes the size of openjdk compressed package expand by 27.78%, the >> decompressed volume of openjdk expand by 34%. >> For a tool that is not commonly used, I think this is very unreasonable. >> Should we consider reducing its size in some way or distributing it as a >> stand-alone tool rather than as part of the JDK? From xgong at openjdk.java.net Tue May 25 07:58:20 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Tue, 25 May 2021 07:58:20 GMT Subject: [vectorIntrinsics+mask] RFR: 8267368: Add masking support for reduction vector intrinsics In-Reply-To: References: Message-ID: On Mon, 24 May 2021 15:32:38 GMT, Paul Sandoz wrote: > Looks good. Thanks for your review @PaulSandoz ! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/86 From krakowski at hhu.de Tue May 25 09:40:08 2021 From: krakowski at hhu.de (Filip Krakowski) Date: Tue, 25 May 2021 11:40:08 +0200 Subject: Unreasonable size of jextract tool In-Reply-To: <9acdb85d-5f61-506f-484b-9a9023247936@oracle.com> References: <9acdb85d-5f61-506f-484b-9a9023247936@oracle.com> Message-ID: <8b62c921-b667-3ebb-da57-0571f2efb3d3@hhu.de> Hi, I like the idea of a standalone jextract tool. Besides the resulting smaller size of the JDK, I also see more potential for contributions, as it will make the tool more visible and possibly easier to build/develop. Currently the Gradle jextract plugin assumes that the tool is located within the JDK. However, changing this would be very easy and would not cause any problems. Since Gradle is not compatible with current nightly builds of the JDK and thus I can't access jextract during the build process via the API, I invoke jextract via a simple process call. In the future I plan to use the classes provided by jextract directly and remove the process call. Here (if jextract is distributed via Maven as JMH is) I would merely need to add a dependency, which is not a problem. Best regards Filip On 5/24/21 6:49 PM, Maurizio Cimadamore wrote: > Hi, > This is a very interesting question, and one that we often stopped to > ponder. > > What you say is true - the static footprint of libclang is pretty > high, and we have made several experiments to try and reduce that, but > w/o much success (as the small libclang.so needs to depend on the > bigger LLVM backend). Static footprint is not the only think we're > concerned about: I think that the jextract tool isn't necessarily > subject to the same degree of compatibility requirements which apply > to the various tools shipped with the JDK. For instance, it would be > ok (and I say, even desirable) to have the shape of the generated > bindings change frequently, as new Java features become available. For > instance, if Valhalla becomes available we'd probably want to use it > to model carrier types in the generated bindings. Or, if some form of > "lazy statics" becomes available, we might be able to reduce the > footprint of the generated code (by dropping the various Constant$XYZ > classes that are co-generated). > > What you suggest (standalone) tool is very much on the table - in fact > you will notice that we have been trying pretty hard to avoid any > dependencies on the JDK internals from jextract. That is, the > jdk.incubator.jextract package is completely standalone. > > For the purpose of the EA binaries, I think having jextract in the > same place makes sense, so that people can get a feel of the API and > the toolchain. But, strictly speaking, there's nothing keeping > jextract _inside_ the JDK. > > I'd be curious to hear feedback from folks who have been using > jextract - would it make a significant difference to you if jextract > was delivered in some other way? The closest thing I can think of is > JMH, which is available in the code tools repository [1] but also > distributed on Maven. Would a model like that be acceptable? One > important use case is the gradle jextract plugin [2], so I'd be > curious to understand if there would be significant repercussion on > tooling build on top of jextract, were jextract to be delivered > outside the JDK. > > Thanks > Maurizio > > [1] - https://openjdk.java.net/projects/code-tools/ > [2] - https://plugins.gradle.org/plugin/io.github.krakowski.jextract > > On 24/05/2021 17:26, Glavo wrote: >> I noticed that the jextract tool uses libclang to parse C code. On >> windows, >> the libclang.dll size is 67.8m, even the compressed size is about >> 25m. This >> makes the size of openjdk compressed package expand by 27.78%, the >> decompressed volume of openjdk expand by 34%. >> For a tool that is not commonly used, I think this is very unreasonable. >> Should we consider reducing its size in some way or distributing it as a >> stand-alone tool rather than as part of the JDK? From whuang at openjdk.java.net Wed May 26 07:21:40 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Wed, 26 May 2021 07:21:40 GMT Subject: [vectorIntrinsics] RFR: 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend [v3] In-Reply-To: References: Message-ID: > Reason: > > > operand pRegGov() > %{ > constraint(ALLOC_IN_RC(gov_pr)); > match(RegVectMask); > op_cost(0); > format %{ %} > interface(REG_INTER); > %} > > if `pRegGov` is used as a `TEMP`, like : > > > instruct insertB_small(vReg dst, vReg src, iRegIorL2I val, immI idx, pRegGov pTmp, rFlagsReg cr) > %{ > predicate(UseSVE > 0 && n->as_Vector()->length() <= 32 && > n->bottom_type()->is_vect()->element_basic_type() == T_BYTE); > match(Set dst (VectorInsert (Binary src val) idx)); > effect(TEMP_DEF dst, TEMP pTmp, KILL cr); // here > > > It will have the type `Type::VectorMask` in `MachTempNode` which is generated from `Expand`. However, we miss `Type::VectorMask` in `Type::category()`. > > We can fix this bug simply by adding `case Type::VectorMask` in `Type::category()`. Wang Huang has updated the pull request incrementally with one additional commit since the last revision: fix require ------------- Changes: - all: https://git.openjdk.java.net/panama-vector/pull/85/files - new: https://git.openjdk.java.net/panama-vector/pull/85/files/8fbef1ab..e231f851 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=85&range=02 - incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=85&range=01-02 Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-vector/pull/85.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/85/head:pull/85 PR: https://git.openjdk.java.net/panama-vector/pull/85 From xgong at openjdk.java.net Thu May 27 01:51:25 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Thu, 27 May 2021 01:51:25 GMT Subject: [vectorIntrinsics+mask] RFR: 8267368: Add masking support for reduction vector intrinsics In-Reply-To: References: Message-ID: On Mon, 24 May 2021 06:15:56 GMT, Xiaohong Gong wrote: > This patch adds the masking support for vector reduction operations, including the Vector API java implementation and hotspot intrinsics changes. It adds the mask information to the reduction intrinsic method. With it: > - Both masked and non-masked reduction operations call the same hotspot intrinsics. The mask value and class are set to `"null"` for non-masked operations. > - Reduction IR with mask as another input will be generated if the platform supports the predicate feature for the op. Otherwise, the vector blend pattern will be generated like before. > > Note that this patch only contains the Vector API java implementation and the hotspot intrinsics changes. No compiler mid-end and backend implementations are included. Hi @iwanowww, may I have your kindly feedback to the compiler side for this PR please? Thanks so much! ------------- PR: https://git.openjdk.java.net/panama-vector/pull/86 From jason at steeplesoft.com Thu May 27 18:03:15 2021 From: jason at steeplesoft.com (Jason Lee) Date: Thu, 27 May 2021 13:03:15 -0500 Subject: Panama/foreign EA - May 2021 In-Reply-To: References: <234c4f8c-6952-bf4f-0645-70fc137334c7@oracle.com> Message-ID: OK. That's what I was afraid of, but I completely understand. I'm not sure how they write C++ compilers at all. :P I'll explore options like JavaCPP and SWIG. I wish I could offer some help here, but I'm barely treading water in this C++ code as it is. Been too many years away. :) Thank you, though. Truly appreciate it! On Fri, May 21, 2021 at 3:53 PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > As things stand, jextract does not support C++. > > There are mechanical ways (more or less) to derive a C wrapper library > around C++ libraries - we did some experiments in this area, but we got > blocked mostly on templates - not because they can't be done, but simply > because the clang API we use for jextract doesn't seem to expose > information about template classes/methods in a way that is friendly to > tools - very similar C++ programs end up with information scattered in > very different places in the clang AST, and that was a source of > constant frustration. We also had some issues more on our end, as > jextract was running out of memory when trying to process big C++ > libraries in this way. > > I believe at some point we will make another attempt, perhaps by trying > also to contribute some patches back to the libclang API (I see some of > the problems we have encountered also mentioned by other tools, such as > Rust's bindgen). It is also an area were we'd be happy to accept some > contributions :-) > > Cheers > Maurizio > > On 21/05/2021 21:28, Jason Lee wrote: > > Apologies if this is not the correct place for this, but I'm interested > in > > wrapping/exposing a C++ library, but I'm not finding much information on > > C++ support other than some hints that it should work. Is C++ currently > > supported? If so, could someone direct me to any resources on the topic? > > > > Much appreciated! > > > > On Wed, May 19, 2021 at 4:26 PM Maurizio Cimadamore < > > maurizio.cimadamore at oracle.com> wrote: > > > >> Hi, > >> We have just released another early-access Panama/foreign build, which > >> includes all the goodies we've been working on so far, from API changes, > >> to VM upcall optimizations, to jextract stability/usability > improvements. > >> > >> Keep the feedback coming - we couldn't do this without your help and > >> support. > >> > >> Cheers > >> Maurizio > >> > >> > -- Jason Lee http://jasondl.ee http://jasondl.ee/twitter http://jasondl.ee/in From whuang at openjdk.java.net Fri May 28 03:15:27 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Fri, 28 May 2021 03:15:27 GMT Subject: [vectorIntrinsics] RFR: 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend [v3] In-Reply-To: References: Message-ID: On Wed, 26 May 2021 07:21:40 GMT, Wang Huang wrote: >> Reason: >> >> >> operand pRegGov() >> %{ >> constraint(ALLOC_IN_RC(gov_pr)); >> match(RegVectMask); >> op_cost(0); >> format %{ %} >> interface(REG_INTER); >> %} >> >> if `pRegGov` is used as a `TEMP`, like : >> >> >> instruct insertB_small(vReg dst, vReg src, iRegIorL2I val, immI idx, pRegGov pTmp, rFlagsReg cr) >> %{ >> predicate(UseSVE > 0 && n->as_Vector()->length() <= 32 && >> n->bottom_type()->is_vect()->element_basic_type() == T_BYTE); >> match(Set dst (VectorInsert (Binary src val) idx)); >> effect(TEMP_DEF dst, TEMP pTmp, KILL cr); // here >> >> >> It will have the type `Type::VectorMask` in `MachTempNode` which is generated from `Expand`. However, we miss `Type::VectorMask` in `Type::category()`. >> >> We can fix this bug simply by adding `case Type::VectorMask` in `Type::category()`. > > Wang Huang has updated the pull request incrementally with one additional commit since the last revision: > > fix require After changing notes with @nsjian and @XiaohongGong , I will push this commit to jdk/jdk because it may effect other cpus which have vectormask. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/85 From whuang at openjdk.java.net Fri May 28 03:15:27 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Fri, 28 May 2021 03:15:27 GMT Subject: [vectorIntrinsics] Withdrawn: 8267375: Aarch64: JVM crashes with option -XX:PrintIdealGraphLevel=3 on SVE backend In-Reply-To: References: Message-ID: <6YLJy6_ky1rmapYHIit7LNM-yPifeT9mD_ZiiMt7mgo=.be08e841-77cf-41eb-b732-3d9bca770376@github.com> On Wed, 19 May 2021 09:12:19 GMT, Wang Huang wrote: > Reason: > > > operand pRegGov() > %{ > constraint(ALLOC_IN_RC(gov_pr)); > match(RegVectMask); > op_cost(0); > format %{ %} > interface(REG_INTER); > %} > > if `pRegGov` is used as a `TEMP`, like : > > > instruct insertB_small(vReg dst, vReg src, iRegIorL2I val, immI idx, pRegGov pTmp, rFlagsReg cr) > %{ > predicate(UseSVE > 0 && n->as_Vector()->length() <= 32 && > n->bottom_type()->is_vect()->element_basic_type() == T_BYTE); > match(Set dst (VectorInsert (Binary src val) idx)); > effect(TEMP_DEF dst, TEMP pTmp, KILL cr); // here > > > It will have the type `Type::VectorMask` in `MachTempNode` which is generated from `Expand`. However, we miss `Type::VectorMask` in `Type::category()`. > > We can fix this bug simply by adding `case Type::VectorMask` in `Type::category()`. This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/85 From whuang at openjdk.java.net Fri May 28 09:44:33 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Fri, 28 May 2021 09:44:33 GMT Subject: [vectorIntrinsics] RFR: 8266286: Add LoadVectorGather and StoreVectorScatter's partial version Message-ID: * Add LoadVectorGather and StoreVectorScatter's partial version * use `sve_whilelo` ------------- Commit messages: - 8266286: Add LoadVectorGather and StoreVectorScatter's partial version Changes: https://git.openjdk.java.net/panama-vector/pull/87/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=87&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266286 Stats: 192 lines in 2 files changed: 184 ins; 8 del; 0 mod Patch: https://git.openjdk.java.net/panama-vector/pull/87.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/87/head:pull/87 PR: https://git.openjdk.java.net/panama-vector/pull/87 From duke at openjdk.java.net Fri May 28 11:07:22 2021 From: duke at openjdk.java.net (duke) Date: Fri, 28 May 2021 11:07:22 GMT Subject: git: openjdk/panama-foreign: master: 90 new changesets Message-ID: Changeset: 4ba76138 Author: Nils Eliasson Date: 2021-05-21 14:06:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4ba761381c60197be08d34580b92b5203fa9b189 8267332: xor value should handle bounded values Reviewed-by: thartmann, redestad ! src/hotspot/share/opto/addnode.cpp + test/hotspot/jtreg/compiler/types/TestMeetXor.java Changeset: ec8a8097 Author: Jan Lahoda Date: 2021-05-21 14:09:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ec8a8097c309920982b0b8253a76c7c938f1f48d 8267119: switch expressions lack support for deferred type-checking Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitch-old.out ! test/langtools/tools/javac/switchexpr/ExpressionSwitch.java Changeset: 94cfeb9c Author: Marcus G K Williams Committer: Stefan Johansson Date: 2021-05-21 14:15:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/94cfeb9c4fee2ba5db8e5efa6b0f2041400c8b3a 8256155: Allow multiple large page sizes to be used on Linux Co-authored-by: Marcus G K Williams Co-authored-by: Stefan Johansson Co-authored-by: Thomas Stuefe Reviewed-by: stuefe, sjohanss ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp ! src/hotspot/share/runtime/globals.hpp Changeset: 8f10c5a8 Author: Sandhya Viswanathan Date: 2021-05-21 18:15:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8f10c5a8900517cfa04256eab909e18535086b98 8267190: Optimize Vector API test operations Reviewed-by: psandoz, kvn ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template Changeset: fe333431 Author: Daniel D. Daugherty Date: 2021-05-21 18:32:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fe333431c8c0f089e4fd55bf10903e1fba7fc6c4 8256304: should MonitorUsedDeflationThreshold be experimental or diagnostic 8256301: ObjectMonitor::is_busy() should return bool Reviewed-by: coleenp, pchilanomate ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp ! src/hotspot/share/runtime/synchronizer.cpp Changeset: 72c9567b Author: Ajit Ghaisas Date: 2021-05-22 03:16:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/72c9567b4663fc816e4b85b46ea49b20ea78bd72 8263486: Clean up MTLSurfaceDataBase.h Reviewed-by: serb ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLBlitLoops.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLPipelineStatesStorage.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLRenderQueue.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceData.m ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLSurfaceDataBase.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/metal/MTLTextRenderer.m Changeset: 24623167 Author: Jaroslav Bachorik Date: 2021-05-22 09:17:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/24623167ffbf8e192ef539fd0a969412719f850c 8261354: SIGSEGV at MethodIteratorHost Reviewed-by: mgronlun ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp Changeset: 4023646e Author: Hui Shi Committer: Jie Fu Date: 2021-05-22 11:51:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4023646ed1bcb821b1d18f7e5104f04995e8171d 8266528: Optimize C2 VerifyIterativeGVN execution time Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/phaseX.cpp ! test/hotspot/jtreg/compiler/debug/TraceIterativeGVN.java Changeset: 71e2fa25 Author: Aleksey Shipilev Date: 2021-05-22 15:13:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/71e2fa25f73b0006a024edb59d79d837227ecd40 8267531: [x86] Assembler::andb(Address,Register) encoding is incorrect Reviewed-by: azeemj, vlivanov, jiefu ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: 6288a993 Author: Jie Fu Date: 2021-05-22 22:59:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6288a9936cc7e69cab0cc5f3e49c803f184bf2ca 8267404: vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java failed with OutOfMemoryError Co-authored-by: xiangyuan Reviewed-by: stuefe ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/vmTestbase/vm/mlvm/anonloader/stress/oome/metaspace/Test.java Changeset: 4d26f22b Author: Pankaj Bansal Date: 2021-05-23 03:00:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4d26f22b9adcf7cecca5316348ef670ac2dbc365 8264304: Create implementation for NSAccessibilityToolbar protocol peer Reviewed-by: kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m = src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ToolbarAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ToolbarAccessibility.m Changeset: 31139108 Author: David Holmes Date: 2021-05-24 05:29:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/31139108c1ca9d355bd484d692830dfbc8317477 8267553: Extra JavaThread assignment in ClassLoader::create_class_path_entry() Reviewed-by: ccheung ! src/hotspot/share/classfile/classLoader.cpp Changeset: 54520fbf Author: Guoxiong Li Committer: Maurizio Cimadamore Date: 2021-05-24 11:17:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/54520fbf49bb6a7bdcff1a69a0bb46f842bdc054 8267580: The method JavacParser#peekToken is wrong when the first parameter is not zero Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java Changeset: 49f622c9 Author: Alexander Zuev Date: 2021-05-24 12:01:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/49f622c9473464bf1d1f33b88abf46adadd9fa1c 8208747: [a11y] [macos] In Optionpane Demo, inside ComponentDialog Example, unable to navigate to all items, with VO on Reviewed-by: pbansal ! src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.m Changeset: f4531661 Author: Guoxiong Li Committer: Jan Lahoda Date: 2021-05-24 12:31:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f4531661b55458554f907ba988eca22b72c72bf3 8267578: Remove unnecessary preview checks Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java Changeset: d8e6e287 Author: Roger Riggs Date: 2021-05-24 14:10:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d8e6e2877aa8a89ad403f06b0adea19c7896d834 8267544: (test) rmi test NonLocalSkeleton fails if network has multiple adapters with the same address Reviewed-by: dfuchs ! test/jdk/java/rmi/registry/nonLocalRegistry/NonLocalSkeletonTest.java Changeset: f5562f12 Author: Vicente Romero Date: 2021-05-24 14:50:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f5562f1214478439899b803f80247d2347a00dab 8258535: jvm.ClassReader should set the accessor to the corresponding record component Reviewed-by: jfranck ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java + test/langtools/tools/javac/processing/model/element/CheckingAccessorsOnLoadedRecordClasses.java Changeset: f2d880c1 Author: Hai-May Chao Date: 2021-05-24 15:38:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f2d880c11a99ef587e7e7c0398f0834c32a22d63 8266400: importkeystore fails to a password less pkcs12 keystore Reviewed-by: weijun ! src/java.base/share/classes/sun/security/tools/keytool/Main.java + test/jdk/sun/security/tools/keytool/ImportToPwordlessPK12.java Changeset: 838a0071 Author: Weijun Wang Date: 2021-05-24 15:45:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/838a0071030e9c8b9ab57df39a4e0384d433a2bc 8267584: The java.security.krb5.realm system property only needs to be defined once Reviewed-by: mullan ! src/java.security.jgss/share/classes/javax/security/auth/kerberos/KerberosPrincipal.java Changeset: f04db5fb Author: Vicente Romero Date: 2021-05-24 15:55:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f04db5fbd77892e94a325942542815bbb24cddea 8224158: assertion related to NPE at DynamicCallSiteDesc::withArgs should be reworded Reviewed-by: jlahoda ! src/java.base/share/classes/java/lang/constant/DynamicCallSiteDesc.java Changeset: 640a2afd Author: Weijun Wang Date: 2021-05-24 16:55:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/640a2afda36857410b7abf398af81e35430a62e7 8267184: Add -Djava.security.manager=allow to tests calling System.setSecurityManager Co-authored-by: Lance Andersen Co-authored-by: Weijun Wang Reviewed-by: dholmes, alanb, dfuchs, mchung, mullan, prr ! test/hotspot/jtreg/compiler/exceptions/ExceptionInInit.java ! test/hotspot/jtreg/compiler/jvmci/SecurityRestrictionsTest.java ! test/hotspot/jtreg/runtime/Dictionary/CleanProtectionDomain.java ! test/hotspot/jtreg/runtime/logging/ProtectionDomainVerificationTest.java ! test/hotspot/jtreg/vmTestbase/gc/ArrayJuggle/Juggle11/TestDescription.java ! test/jaxp/javax/xml/jaxp/functional/catalog/CatalogReferCircularityTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/DefaultFeaturesTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/DeferFeatureTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/DelegatePublicTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/DelegateSystemTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/DelegateUriTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/GroupTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/LoadCatalogTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/NextCatalogTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/NormalizationTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/PreferFeatureTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/PreferTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/PublicFamilyTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/PublicTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/ResolveFeatureTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/RewriteSystemTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/RewriteUriTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/SpecifyCatalogTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/SystemFamilyTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/SystemSuffixTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/SystemTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/UriFamilyTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/UriSuffixTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/UriTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/UrnUnwrappingTest.java ! test/jaxp/javax/xml/jaxp/functional/catalog/ValidateCatalogTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/datatype/ptests/DurationTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/datatype/ptests/FactoryNewInstanceTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/datatype/ptests/XMLGregorianCalendarTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/parsers/ptests/DBFNamespaceTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/parsers/ptests/DocumentBuilderFactoryTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/parsers/ptests/DocumentBuilderImpl01.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/parsers/ptests/FactoryConfErrorTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/parsers/ptests/SAXFactoryNewInstanceTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/parsers/ptests/SAXParserFactTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/parsers/ptests/SAXParserTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/parsers/ptests/SAXParserTest02.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/parsers/ptests/SAXParserTest03.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/stream/ptests/XMLEventFactoryNewInstanceTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/stream/ptests/XMLInputFactoryNewInstanceTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/stream/ptests/XMLOutputFactoryNewInstanceTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/Bug6384418Test.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/DOMResultTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/ErrorListenerTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/SAXSourceTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/SAXTFactoryTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/StreamResultTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/TfClearParamTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/TransformTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/TransformerExcpTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/TransformerFactoryTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/TransformerTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/TransformerTest02.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/TransformerTest03.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/URIResolverTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/transform/ptests/othervm/TFCErrorTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/validation/ptests/SchemaFactoryTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/validation/ptests/TypeInfoProviderTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/validation/ptests/ValidatorHandlerTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/validation/ptests/ValidatorTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/xpath/ptests/XPathEvaluationResultTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/xpath/ptests/XPathExpressionTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/xpath/ptests/XPathFactoryTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/xpath/ptests/XPathFunctionResolverTest.java ! test/jaxp/javax/xml/jaxp/functional/javax/xml/xpath/ptests/XPathTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/AttrTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/CommentTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/DocumentTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/DocumentTypeTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/DomImplementationTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/ElementTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/EntityChildTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/NamedNodeMapTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/NodeListTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/NodeTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/NotationTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/PITest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/TextTest.java ! test/jaxp/javax/xml/jaxp/functional/org/w3c/dom/ptests/TypeInfoTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/AttrImplTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/AttributesNSTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/AttributesTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/ContentHandlerTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/DefaultHandlerTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/EHFatalTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/NSSupportTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/NSTableTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/ParserAdapterTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/ResolverTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/SAXParserNSTableTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/XMLFilterCBTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/XMLFilterTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/XMLReaderAdapterTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/XMLReaderFactoryTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/XMLReaderNSTableTest.java ! test/jaxp/javax/xml/jaxp/functional/org/xml/sax/ptests/XMLReaderTest.java ! test/jaxp/javax/xml/jaxp/functional/test/astro/AstroTest.java ! test/jaxp/javax/xml/jaxp/functional/test/astro/DocumentLSTest.java ! test/jaxp/javax/xml/jaxp/functional/test/astro/NamespaceContextTest.java ! test/jaxp/javax/xml/jaxp/functional/test/astro/SAX201Test.java ! test/jaxp/javax/xml/jaxp/functional/test/astro/SchemaValidationTest.java ! test/jaxp/javax/xml/jaxp/functional/test/astro/XPathAPITest.java ! test/jaxp/javax/xml/jaxp/functional/test/auctionportal/AuctionController.java ! test/jaxp/javax/xml/jaxp/functional/test/auctionportal/AuctionItemRepository.java ! test/jaxp/javax/xml/jaxp/functional/test/auctionportal/UserController.java ! test/jaxp/javax/xml/jaxp/functional/test/gaptest/Bug4511326.java ! test/jaxp/javax/xml/jaxp/functional/test/gaptest/Bug4512806.java ! test/jaxp/javax/xml/jaxp/functional/test/gaptest/Bug4515047.java ! test/jaxp/javax/xml/jaxp/functional/test/gaptest/Bug4515660.java ! test/jaxp/javax/xml/jaxp/functional/test/gaptest/Bug4693341.java ! test/jaxp/javax/xml/jaxp/functional/test/gaptest/Bug4848653.java ! test/jaxp/javax/xml/jaxp/functional/test/gaptest/Bug4858685.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogAccessTest.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogSupport.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogSupport1.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogSupport2.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogSupport3.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogSupport4.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogSupport5.java ! test/jaxp/javax/xml/jaxp/unittest/catalog/CatalogTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/Bug6350682.java ! test/jaxp/javax/xml/jaxp/unittest/common/Bug6723276Test.java ! test/jaxp/javax/xml/jaxp/unittest/common/Bug7143711Test.java ! test/jaxp/javax/xml/jaxp/unittest/common/CDataChunkSizeTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/EncodingErrorsReportingTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/Sources.java ! test/jaxp/javax/xml/jaxp/unittest/common/TransformationWarningsTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/ValidationWarningsTest.java ! test/jaxp/javax/xml/jaxp/unittest/common/prettyprint/PrettyPrintTest.java ! test/jaxp/javax/xml/jaxp/unittest/datatype/Bug6320118.java ! test/jaxp/javax/xml/jaxp/unittest/datatype/Bug6937951Test.java ! test/jaxp/javax/xml/jaxp/unittest/datatype/Bug6937964Test.java ! test/jaxp/javax/xml/jaxp/unittest/datatype/Bug7042647Test.java ! test/jaxp/javax/xml/jaxp/unittest/datatype/DatatypeFactoryTest.java ! test/jaxp/javax/xml/jaxp/unittest/datatype/DurationTest.java ! test/jaxp/javax/xml/jaxp/unittest/datatype/FactoryFindTest.java ! test/jaxp/javax/xml/jaxp/unittest/datatype/JDK8068839Test.java ! test/jaxp/javax/xml/jaxp/unittest/datatype/XMLGregorianCalendarTest.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug4915524.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug4915748.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug4966082.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug4966138.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug4966142.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug4966143.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug6339023.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug6355326.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug6367542.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug6520131.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug6521260.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug6582545Test.java ! test/jaxp/javax/xml/jaxp/unittest/dom/Bug6879614Test.java ! test/jaxp/javax/xml/jaxp/unittest/dom/CR6333993Test.java ! test/jaxp/javax/xml/jaxp/unittest/dom/CR6517707Test.java ! test/jaxp/javax/xml/jaxp/unittest/dom/CR6517717Test.java ! test/jaxp/javax/xml/jaxp/unittest/dom/CR6909336Test.java ! test/jaxp/javax/xml/jaxp/unittest/dom/DOMConfigurationTest.java ! test/jaxp/javax/xml/jaxp/unittest/dom/DOMXPathTest.java ! test/jaxp/javax/xml/jaxp/unittest/dom/ElementTraversal.java ! test/jaxp/javax/xml/jaxp/unittest/dom/JdkXmlDomTest.java ! test/jaxp/javax/xml/jaxp/unittest/dom/TCKEncodingTest.java ! test/jaxp/javax/xml/jaxp/unittest/dom/ls/Bug4973153.java ! test/jaxp/javax/xml/jaxp/unittest/dom/ls/Bug6290947.java ! test/jaxp/javax/xml/jaxp/unittest/dom/ls/Bug6354955.java ! test/jaxp/javax/xml/jaxp/unittest/dom/ls/Bug6376823.java ! test/jaxp/javax/xml/jaxp/unittest/dom/ls/Bug6710741Test.java ! test/jaxp/javax/xml/jaxp/unittest/dom/ls/LSParserTCKTest.java ! test/jaxp/javax/xml/jaxp/unittest/dom/ls/LSParserTest.java ! test/jaxp/javax/xml/jaxp/unittest/dom/ls/LSSerializerTest.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/BaseParsingTest.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug4674384_MAX_OCCURS_Test.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug4934208.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug4967002.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug4985486.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug4991020.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug4991946.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug5010072.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug5025825.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6309988.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6341770.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6361283.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6506304Test.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6518733.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6564400.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6573786.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6594813.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6608841.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6690015.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6760982.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug6849942Test.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug7157608Test.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug7166896Test.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug8003147Test.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/Bug8073385.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/FactoryFindTest.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/HandleError.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/ParseEmptyStream.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/SupplementaryChars.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/xinclude/Bug6794483Test.java ! test/jaxp/javax/xml/jaxp/unittest/sax/Attributes2ImplTest.java ! test/jaxp/javax/xml/jaxp/unittest/sax/Bug6889654Test.java ! test/jaxp/javax/xml/jaxp/unittest/sax/Bug6925410Test.java ! test/jaxp/javax/xml/jaxp/unittest/sax/Bug6949607Test.java ! test/jaxp/javax/xml/jaxp/unittest/sax/Bug6992561Test.java ! test/jaxp/javax/xml/jaxp/unittest/sax/Bug7057778Test.java ! test/jaxp/javax/xml/jaxp/unittest/sax/DefaultHandler2Test.java ! test/jaxp/javax/xml/jaxp/unittest/sax/IssueTracker56Test.java ! test/jaxp/javax/xml/jaxp/unittest/sax/NSSupportTest.java ! test/jaxp/javax/xml/jaxp/unittest/sax/SymbolTableResetTest.java ! test/jaxp/javax/xml/jaxp/unittest/sax/XMLReaderTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/AttributeLocalNameTest/AttributeLocalNameTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/Bug6370703.java ! test/jaxp/javax/xml/jaxp/unittest/stream/Bug6378422.java ! test/jaxp/javax/xml/jaxp/unittest/stream/Bug6380870.java ! test/jaxp/javax/xml/jaxp/unittest/stream/Bug6489502.java ! test/jaxp/javax/xml/jaxp/unittest/stream/Bug6509774.java ! test/jaxp/javax/xml/jaxp/unittest/stream/Bug6688002Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/Bug6976938Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/CoalesceTest/CoalesceTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/EntitiesTest/EntityTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/EventReaderDelegateTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/EventsTest/Issue41Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/EventsTest/Issue48Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/EventsTest/Issue53Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/EventsTest/Issue58Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/FactoryFindTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/IgnoreExternalDTDTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/ProcessingInstructionTest/ProcessingInstructionTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/StreamReaderDelegateTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventLocationTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/Bug6489890.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/Bug6555001.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/Bug6586466Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/Bug6613059Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/Bug6668115Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/Bug6846133Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/Bug8153781.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/Issue40Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/JDK8201138.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventReaderTest/JDK8209615.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventWriterTest/ReaderToWriterTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLEventWriterTest/XMLEventWriterTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLInputFactoryTest/Bug6756677Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLInputFactoryTest/Bug6909759Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLInputFactoryTest/IssueTracker38.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLOutputFactoryTest/Bug6846132Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLOutputFactoryTest/DuplicateNSDeclarationTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLOutputFactoryTest/StreamResultTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLResolverTest/XMLResolverTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamExceptionTest/ExceptionTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamFilterTest/Bug6481615.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamFilterTest/Bug6481678.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamFilterTest/HasNextTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/BOMTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/Bug6388460.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/Bug6472982Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/Bug6767322Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/Bug6847819Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/BugTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/DefaultAttributeTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/DoubleXmlnsTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/IsValidatingTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/Issue44Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/Issue47Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/IssueTracker24.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/IssueTracker35.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/IssueTracker70.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/Jsr173MR1Req5Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/Jsr173MR1Req8Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/NamespaceTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/StreamReaderTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/SupportDTDTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/VoiceXMLDTDTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamReaderTest/XML11Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/AttributeEscapeTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/Bug6452107.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/Bug6600882Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/Bug6675332Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/Bug7037352Test.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/DomUtilTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/EmptyElementTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/EncodingTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/NamespaceTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/NullUriDetectionTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/SqeLinuxTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/SurrogatesTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/UnprefixedNameTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/WriterTest.java ! test/jaxp/javax/xml/jaxp/unittest/stream/XMLStreamWriterTest/XMLStreamWriterTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug4693341Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug4892774.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug5073477.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6175602.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6206491.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6216226Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6311448.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6384805.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6465722.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6467808.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6490380.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6490921.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6513892.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6537167.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6540545.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6551616.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6559595.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6565260.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Bug6940416.java ! test/jaxp/javax/xml/jaxp/unittest/transform/BugDB12665704Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/CLITest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/CR6401137Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/CR6551600Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/CR6577667Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/CR6652519Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/CR6689809Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/CR6905829Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/CR6935697Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/CR6941869Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/CR6957215Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/CR7098746Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/DOMResultTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/FactoryFindTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Issue2204Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/Issue2290Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/NamespacePrefixTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/OpenJDK100017Test.java ! test/jaxp/javax/xml/jaxp/unittest/transform/SAX2DOMTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/SecureProcessingTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/SourceTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/StAXSourceTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/StylesheetTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/TemplatesTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/TransformerFactoryTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/TransformerTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/XSLTFunctionsTest.java ! test/jaxp/javax/xml/jaxp/unittest/transform/sax/Bug6451633.java ! test/jaxp/javax/xml/jaxp/unittest/transform/sort/SortTest.java ! test/jaxp/javax/xml/jaxp/unittest/validation/AnyElementTest.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4966232.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4966254.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4969042.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4969089.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4969110.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4969689.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4969692.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4969693.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4969695.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4969732.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4970380.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4970383.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4970400.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4970402.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4970951.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4971605.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4971607.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4972882.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4986844.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4987574.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4988267.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4988268.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4988387.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4996446.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug4997818.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug5011500.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug5072946.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6378043.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6449797.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6457662.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6467424Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6483188.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6493687.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6509668.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6526547.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6531160.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6695843Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6773084Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6859210.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6925531Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6946312Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Bug6954738_Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/CR6708840Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/CR6740048.java ! test/jaxp/javax/xml/jaxp/unittest/validation/Issue682Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/IssueTracker30.java ! test/jaxp/javax/xml/jaxp/unittest/validation/JaxpIssue43Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/JaxpIssue49.java ! test/jaxp/javax/xml/jaxp/unittest/validation/LargeMaxOccursTest.java ! test/jaxp/javax/xml/jaxp/unittest/validation/MultiOccursTest.java ! test/jaxp/javax/xml/jaxp/unittest/validation/MultiOccursUnboundedTest.java ! test/jaxp/javax/xml/jaxp/unittest/validation/OccursTest.java ! test/jaxp/javax/xml/jaxp/unittest/validation/OccursUnboundedTest.java ! test/jaxp/javax/xml/jaxp/unittest/validation/OccursWildcardTest.java ! test/jaxp/javax/xml/jaxp/unittest/validation/OccursWildcardUnbounded.java ! test/jaxp/javax/xml/jaxp/unittest/validation/ParticlesId005Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/ParticlesIg004Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/ParticlesQ013Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/TCKGroupA008Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/ValidatorTest.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug6943252Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug6963124Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug6963468Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug6964720Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug6967214Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug6970890Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug6971190Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug6974551Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug6975265Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug6977201Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug6989956Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/Bug7014246Test.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/ParticleTest.java ! test/jaxp/javax/xml/jaxp/unittest/validation/tck/RegexWord.java ! test/jaxp/javax/xml/jaxp/unittest/xpath/Bug4991857.java ! test/jaxp/javax/xml/jaxp/unittest/xpath/Bug4991939.java ! test/jaxp/javax/xml/jaxp/unittest/xpath/Bug4992788.java ! test/jaxp/javax/xml/jaxp/unittest/xpath/Bug4992793.java ! test/jaxp/javax/xml/jaxp/unittest/xpath/Bug4992805.java ! test/jaxp/javax/xml/jaxp/unittest/xpath/ClassLoaderTest.java ! test/jaxp/javax/xml/jaxp/unittest/xpath/SecureProcessingTest.java ! test/jaxp/javax/xml/jaxp/unittest/xpath/XPathAnyTypeTest.java ! test/jaxp/javax/xml/jaxp/unittest/xpath/XPathExpAnyTypeTest.java ! test/jaxp/javax/xml/jaxp/unittest/xpath/XPathTest.java ! test/jdk/com/sun/java/accessibility/util/8051626/Bug8051626.java ! test/jdk/com/sun/jndi/ldap/LdapDnsProviderTest.java ! test/jdk/com/sun/management/DiagnosticCommandMBean/DcmdMBeanPermissionsTest.java ! test/jdk/java/awt/FontClass/CreateFont/BigFont.java ! test/jdk/java/awt/FontClass/CreateFont/fileaccess/TestFontFile.sh ! test/jdk/java/awt/FontClass/FontAccess.java ! test/jdk/java/awt/FontClass/FontPrivilege.java ! test/jdk/java/awt/FullScreen/SetFSWindow/FSFrame.java ! test/jdk/java/awt/Toolkit/GetImage/bug8078165.java ! test/jdk/java/awt/Toolkit/SecurityTest/SecurityTest2.java ! test/jdk/java/awt/color/LoadProfileWithSM.java ! test/jdk/java/awt/print/PrintServicesSecurityManager.java ! test/jdk/java/awt/print/PrinterJob/CheckAccess.java ! test/jdk/java/awt/print/PrinterJob/SecurityDialogTest.java ! test/jdk/java/awt/regtesthelpers/process/ProcessCommunicator.java ! test/jdk/java/awt/security/Permissions.java ! test/jdk/java/beans/Beans/Test4080522.java ! test/jdk/java/beans/EventHandler/Test6277246.java ! test/jdk/java/beans/EventHandler/Test6277266.java ! test/jdk/java/beans/Introspector/7084904/Test7084904.java ! test/jdk/java/beans/Introspector/Test4683761.java ! test/jdk/java/beans/Introspector/Test6277246.java ! test/jdk/java/beans/PropertyEditor/TestBooleanClass.java ! test/jdk/java/beans/PropertyEditor/TestBooleanType.java ! test/jdk/java/beans/PropertyEditor/TestByteClass.java ! test/jdk/java/beans/PropertyEditor/TestByteType.java ! test/jdk/java/beans/PropertyEditor/TestColorClass.java ! test/jdk/java/beans/PropertyEditor/TestDoubleClass.java ! test/jdk/java/beans/PropertyEditor/TestDoubleType.java ! test/jdk/java/beans/PropertyEditor/TestEnumClass.java ! test/jdk/java/beans/PropertyEditor/TestEnumSubclass.java ! test/jdk/java/beans/PropertyEditor/TestFloatClass.java ! test/jdk/java/beans/PropertyEditor/TestFloatType.java ! test/jdk/java/beans/PropertyEditor/TestFontClass.java ! test/jdk/java/beans/PropertyEditor/TestIntegerClass.java ! test/jdk/java/beans/PropertyEditor/TestIntegerType.java ! test/jdk/java/beans/PropertyEditor/TestLongClass.java ! test/jdk/java/beans/PropertyEditor/TestLongType.java ! test/jdk/java/beans/PropertyEditor/TestShortClass.java ! test/jdk/java/beans/PropertyEditor/TestShortType.java ! test/jdk/java/beans/PropertyEditor/TestStringClass.java ! test/jdk/java/beans/Statement/Test6224433.java ! test/jdk/java/beans/XMLDecoder/spec/TestArray.java ! test/jdk/java/beans/XMLDecoder/spec/TestBoolean.java ! test/jdk/java/beans/XMLDecoder/spec/TestByte.java ! test/jdk/java/beans/XMLDecoder/spec/TestChar.java ! test/jdk/java/beans/XMLDecoder/spec/TestClass.java ! test/jdk/java/beans/XMLDecoder/spec/TestDouble.java ! test/jdk/java/beans/XMLDecoder/spec/TestFalse.java ! test/jdk/java/beans/XMLDecoder/spec/TestField.java ! test/jdk/java/beans/XMLDecoder/spec/TestFloat.java ! test/jdk/java/beans/XMLDecoder/spec/TestInt.java ! test/jdk/java/beans/XMLDecoder/spec/TestJava.java ! test/jdk/java/beans/XMLDecoder/spec/TestLong.java ! test/jdk/java/beans/XMLDecoder/spec/TestMethod.java ! test/jdk/java/beans/XMLDecoder/spec/TestNew.java ! test/jdk/java/beans/XMLDecoder/spec/TestNull.java ! test/jdk/java/beans/XMLDecoder/spec/TestObject.java ! test/jdk/java/beans/XMLDecoder/spec/TestProperty.java ! test/jdk/java/beans/XMLDecoder/spec/TestShort.java ! test/jdk/java/beans/XMLDecoder/spec/TestString.java ! test/jdk/java/beans/XMLDecoder/spec/TestTrue.java ! test/jdk/java/beans/XMLDecoder/spec/TestVar.java ! test/jdk/java/beans/XMLEncoder/4741757/TestSecurityManager.java ! test/jdk/java/beans/XMLEncoder/6777487/TestBox.java ! test/jdk/java/beans/XMLEncoder/6777487/TestCheckedCollection.java ! test/jdk/java/beans/XMLEncoder/6777487/TestCheckedList.java ! test/jdk/java/beans/XMLEncoder/6777487/TestCheckedMap.java ! test/jdk/java/beans/XMLEncoder/6777487/TestCheckedRandomAccessList.java ! test/jdk/java/beans/XMLEncoder/6777487/TestCheckedSet.java ! test/jdk/java/beans/XMLEncoder/6777487/TestCheckedSortedMap.java ! test/jdk/java/beans/XMLEncoder/6777487/TestCheckedSortedSet.java ! test/jdk/java/beans/XMLEncoder/6777487/TestEnumMap.java ! test/jdk/java/beans/XMLEncoder/6777487/TestEnumSet.java ! test/jdk/java/beans/XMLEncoder/ReferenceToNonStaticField.java ! test/jdk/java/beans/XMLEncoder/Test4631471.java ! test/jdk/java/beans/XMLEncoder/Test4652928.java ! test/jdk/java/beans/XMLEncoder/Test4679556.java ! test/jdk/java/beans/XMLEncoder/Test4903007.java ! test/jdk/java/beans/XMLEncoder/Test4935607.java ! test/jdk/java/beans/XMLEncoder/Test4936682.java ! test/jdk/java/beans/XMLEncoder/Test4993777.java ! test/jdk/java/beans/XMLEncoder/Test4994637.java ! test/jdk/java/beans/XMLEncoder/Test5023550.java ! test/jdk/java/beans/XMLEncoder/Test5023552.java ! test/jdk/java/beans/XMLEncoder/Test5023557.java ! test/jdk/java/beans/XMLEncoder/Test5023559.java ! test/jdk/java/beans/XMLEncoder/Test6176120.java ! test/jdk/java/beans/XMLEncoder/Test6187118.java ! test/jdk/java/beans/XMLEncoder/Test6256805.java ! test/jdk/java/beans/XMLEncoder/Test6437265.java ! test/jdk/java/beans/XMLEncoder/Test6501431.java ! test/jdk/java/beans/XMLEncoder/Test6505888.java ! test/jdk/java/beans/XMLEncoder/Test6531597.java ! test/jdk/java/beans/XMLEncoder/Test6570354.java ! test/jdk/java/beans/XMLEncoder/Test6852574.java ! test/jdk/java/beans/XMLEncoder/Test6921644.java ! test/jdk/java/beans/XMLEncoder/Test6989223.java ! test/jdk/java/beans/XMLEncoder/Test7080156.java ! test/jdk/java/beans/XMLEncoder/Test7092744.java ! test/jdk/java/beans/XMLEncoder/Test7169395.java ! test/jdk/java/beans/XMLEncoder/Test8013416.java ! test/jdk/java/beans/XMLEncoder/Test8013557.java ! test/jdk/java/beans/XMLEncoder/Test8016545.java ! test/jdk/java/beans/XMLEncoder/Test8027066.java ! test/jdk/java/beans/XMLEncoder/java_awt_AWTKeyStroke.java ! test/jdk/java/beans/XMLEncoder/java_awt_BasicStroke.java ! test/jdk/java/beans/XMLEncoder/java_awt_BorderLayout.java ! test/jdk/java/beans/XMLEncoder/java_awt_CardLayout.java ! test/jdk/java/beans/XMLEncoder/java_awt_Color.java ! test/jdk/java/beans/XMLEncoder/java_awt_Component.java ! test/jdk/java/beans/XMLEncoder/java_awt_Cursor.java ! test/jdk/java/beans/XMLEncoder/java_awt_Dimension.java ! test/jdk/java/beans/XMLEncoder/java_awt_Font.java ! test/jdk/java/beans/XMLEncoder/java_awt_GradientPaint.java ! test/jdk/java/beans/XMLEncoder/java_awt_GridBagConstraints.java ! test/jdk/java/beans/XMLEncoder/java_awt_GridBagLayout.java ! test/jdk/java/beans/XMLEncoder/java_awt_Insets.java ! test/jdk/java/beans/XMLEncoder/java_awt_LinearGradientPaint.java ! test/jdk/java/beans/XMLEncoder/java_awt_MenuShortcut.java ! test/jdk/java/beans/XMLEncoder/java_awt_Point.java ! test/jdk/java/beans/XMLEncoder/java_awt_RadialGradientPaint.java ! test/jdk/java/beans/XMLEncoder/java_awt_Rectangle.java ! test/jdk/java/beans/XMLEncoder/java_awt_ScrollPane.java ! test/jdk/java/beans/XMLEncoder/java_awt_geom_AffineTransform.java ! test/jdk/java/beans/XMLEncoder/java_beans_EventHandler.java ! test/jdk/java/beans/XMLEncoder/java_beans_Expression.java ! test/jdk/java/beans/XMLEncoder/java_beans_Statement.java ! test/jdk/java/beans/XMLEncoder/java_lang_Character.java ! test/jdk/java/beans/XMLEncoder/java_lang_Class.java ! test/jdk/java/beans/XMLEncoder/java_lang_Enum.java ! test/jdk/java/beans/XMLEncoder/java_lang_String.java ! test/jdk/java/beans/XMLEncoder/java_lang_reflect_Field.java ! test/jdk/java/beans/XMLEncoder/java_lang_reflect_Method.java ! test/jdk/java/beans/XMLEncoder/java_net_URI.java ! test/jdk/java/beans/XMLEncoder/java_sql_Date.java ! test/jdk/java/beans/XMLEncoder/java_sql_Time.java ! test/jdk/java/beans/XMLEncoder/java_sql_Timestamp.java ! test/jdk/java/beans/XMLEncoder/java_util_ArrayList.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_EmptyList.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_EmptyMap.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_EmptySet.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_SingletonList.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_SingletonMap.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_SingletonSet.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_SynchronizedCollection.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_SynchronizedList.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_SynchronizedMap.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_SynchronizedRandomAccessList.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_SynchronizedSet.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_SynchronizedSortedMap.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_SynchronizedSortedSet.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_UnmodifiableCollection.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_UnmodifiableList.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_UnmodifiableMap.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_UnmodifiableRandomAccessList.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_UnmodifiableSet.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_UnmodifiableSortedMap.java ! test/jdk/java/beans/XMLEncoder/java_util_Collections_UnmodifiableSortedSet.java ! test/jdk/java/beans/XMLEncoder/java_util_Date.java ! test/jdk/java/beans/XMLEncoder/java_util_HashMap.java ! test/jdk/java/beans/XMLEncoder/javax_swing_Box.java ! test/jdk/java/beans/XMLEncoder/javax_swing_BoxLayout.java ! test/jdk/java/beans/XMLEncoder/javax_swing_Box_Filler.java ! test/jdk/java/beans/XMLEncoder/javax_swing_DefaultCellEditor.java ! test/jdk/java/beans/XMLEncoder/javax_swing_JButton.java ! test/jdk/java/beans/XMLEncoder/javax_swing_JComponent.java ! test/jdk/java/beans/XMLEncoder/javax_swing_JLayeredPane.java ! test/jdk/java/beans/XMLEncoder/javax_swing_JSplitPane.java ! test/jdk/java/beans/XMLEncoder/javax_swing_JTree.java ! test/jdk/java/beans/XMLEncoder/javax_swing_KeyStroke.java ! test/jdk/java/beans/XMLEncoder/javax_swing_OverlayLayout.java ! test/jdk/java/beans/XMLEncoder/javax_swing_border_BevelBorder.java ! test/jdk/java/beans/XMLEncoder/javax_swing_border_CompoundBorder.java ! test/jdk/java/beans/XMLEncoder/javax_swing_border_EmptyBorder.java ! test/jdk/java/beans/XMLEncoder/javax_swing_border_EtchedBorder.java ! test/jdk/java/beans/XMLEncoder/javax_swing_border_LineBorder.java ! test/jdk/java/beans/XMLEncoder/javax_swing_border_MatteBorder.java ! test/jdk/java/beans/XMLEncoder/javax_swing_border_SoftBevelBorder.java ! test/jdk/java/beans/XMLEncoder/javax_swing_border_StrokeBorder.java ! test/jdk/java/beans/XMLEncoder/javax_swing_border_TitledBorder.java ! test/jdk/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_BevelBorderUIResource.java ! test/jdk/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_CompoundBorderUIResource.java ! test/jdk/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_EmptyBorderUIResource.java ! test/jdk/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_EtchedBorderUIResource.java ! test/jdk/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_LineBorderUIResource.java ! test/jdk/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_MatteBorderUIResource.java ! test/jdk/java/beans/XMLEncoder/javax_swing_plaf_BorderUIResource_TitledBorderUIResource.java ! test/jdk/java/beans/XMLEncoder/javax_swing_plaf_ColorUIResource.java ! test/jdk/java/beans/XMLEncoder/javax_swing_plaf_FontUIResource.java ! test/jdk/java/beans/XMLEncoder/javax_swing_tree_DefaultTreeModel.java ! test/jdk/java/beans/XMLEncoder/javax_swing_tree_TreePath.java ! test/jdk/java/beans/XMLEncoder/sun_swing_PrintColorUIResource.java ! test/jdk/java/io/File/CheckPermission.java ! test/jdk/java/io/File/GetXSpace.java ! test/jdk/java/io/Serializable/auditStreamSubclass/AuditStreamSubclass.java ! test/jdk/java/lang/Class/forName/modules/TestDriver.java ! test/jdk/java/lang/Class/getDeclaredField/ClassDeclaredFieldsTest.java ! test/jdk/java/lang/Class/getDeclaredField/FieldSetAccessibleTest.java ! test/jdk/java/lang/Class/getEnclosingConstructor/EnclosingConstructorWithSecurityManager.java ! test/jdk/java/lang/Class/getEnclosingMethod/EnclosingMethodWithSecurityManager.java ! test/jdk/java/lang/Class/getResource/ResourcesTest.java ! test/jdk/java/lang/ClassLoader/UninitializedParent.java ! test/jdk/java/lang/ClassLoader/getResource/modules/ResourcesTest.java ! test/jdk/java/lang/ModuleTests/WithSecurityManager.java ! test/jdk/java/lang/ProcessBuilder/Basic.java ! test/jdk/java/lang/ProcessBuilder/SecurityManagerClinit.java ! test/jdk/java/lang/ProcessHandle/PermissionTest.java ! test/jdk/java/lang/RuntimeTests/exec/ExecCommand.java ! test/jdk/java/lang/SecurityManager/CheckPackageMatching.java ! test/jdk/java/lang/SecurityManager/CheckSecurityProvider.java ! test/jdk/java/lang/StackWalker/CallerSensitiveMethod/Main.java ! test/jdk/java/lang/StackWalker/GetCallerClassTest.java ! test/jdk/java/lang/String/concat/WithSecurityManager.java ! test/jdk/java/lang/System/Logger/custom/CustomLoggerTest.java ! test/jdk/java/lang/System/Logger/default/DefaultLoggerTest.java ! test/jdk/java/lang/System/LoggerFinder/BaseLoggerFinderTest/BaseLoggerFinderTest.java ! test/jdk/java/lang/System/LoggerFinder/DefaultLoggerFinderTest/DefaultLoggerFinderTest.java ! test/jdk/java/lang/System/LoggerFinder/internal/BaseDefaultLoggerFinderTest/BaseDefaultLoggerFinderTest.java ! test/jdk/java/lang/System/LoggerFinder/internal/BaseLoggerBridgeTest/BaseLoggerBridgeTest.java ! test/jdk/java/lang/System/LoggerFinder/internal/BasePlatformLoggerTest/BasePlatformLoggerTest.java ! test/jdk/java/lang/System/LoggerFinder/internal/BootstrapLogger/BootstrapLoggerTest.java ! test/jdk/java/lang/System/LoggerFinder/internal/LoggerBridgeTest/LoggerBridgeTest.java ! test/jdk/java/lang/System/LoggerFinder/internal/LoggerFinderLoaderTest/LoggerFinderLoaderTest.java ! test/jdk/java/lang/System/LoggerFinder/internal/PlatformLoggerBridgeTest/PlatformLoggerBridgeTest.java ! test/jdk/java/lang/System/LoggerFinder/jdk/DefaultLoggerBridgeTest/DefaultLoggerBridgeTest.java ! test/jdk/java/lang/System/LoggerFinder/jdk/DefaultPlatformLoggerTest/DefaultPlatformLoggerTest.java ! test/jdk/java/lang/annotation/ParameterAnnotations.java ! test/jdk/java/lang/annotation/repeatingAnnotations/CustomRepeatingWithSecurityManager.java ! test/jdk/java/lang/annotation/repeatingAnnotations/RepeatingWithSecurityManager.java ! test/jdk/java/lang/invoke/InvokeDynamicPrintArgs.java ! test/jdk/java/lang/invoke/MethodHandleConstants.java ! test/jdk/java/lang/invoke/MethodTypeSecurityManager.java ! test/jdk/java/lang/invoke/TestPrivateMember.java ! test/jdk/java/lang/invoke/lambda/LambdaAccessControlDoPrivilegedTest.java ! test/jdk/java/lang/invoke/lambda/LambdaAccessControlTest.java ! test/jdk/java/lang/invoke/lambda/LogGeneratedClassesTest.java ! test/jdk/java/lang/module/ModuleFinderWithSecurityManager.java ! test/jdk/java/lang/reflect/Nestmates/TestSecurityManagerChecks.java ! test/jdk/java/lang/reflect/Proxy/nonPublicProxy/NonPublicProxyClass.java ! test/jdk/java/lang/reflect/Proxy/nonPublicProxy/SimpleProxy.java ! test/jdk/java/lang/reflect/sealed_classes/TestSecurityManagerChecks.java ! test/jdk/java/net/Authenticator/GetAuthenticatorTest.java ! test/jdk/java/net/DatagramSocket/ConnectPortZero.java ! test/jdk/java/net/DatagramSocket/SendPortZero.java ! test/jdk/java/net/InetAddress/GetLocalHostWithSM.java ! test/jdk/java/net/MulticastSocket/SendPortZero.java ! test/jdk/java/net/NetworkInterface/Equals.java ! test/jdk/java/net/ServerSocket/TestLocalAddress.java ! test/jdk/java/net/Socket/UdpSocket.java ! test/jdk/java/net/SocketPermission/SocketPermissionTest.java ! test/jdk/java/net/URL/OpenConnection.java ! test/jdk/java/net/URL/TestIPv6Addresses.java ! test/jdk/java/net/URLPermission/OpenURL.java ! test/jdk/java/net/URLPermission/URLTest.java ! test/jdk/java/net/URLPermission/nstest/LookupTest.java ! test/jdk/java/nio/channels/AsynchronousChannelGroup/AsExecutor.java ! test/jdk/java/nio/channels/AsynchronousServerSocketChannel/WithSecurityManager.java ! test/jdk/java/nio/channels/DatagramChannel/ConnectPortZero.java ! test/jdk/java/nio/channels/DatagramChannel/SendPortZero.java ! test/jdk/java/nio/channels/FileChannel/MapWithSecurityManager.java ! test/jdk/java/nio/channels/FileChannel/Size.java ! test/jdk/java/nio/channels/SocketChannel/OpenLeak.java ! test/jdk/java/nio/channels/unixdomain/Security.java ! test/jdk/java/nio/file/Files/CheckPermissions.java ! test/jdk/java/nio/file/Files/walkFileTree/WalkWithSecurity.java ! test/jdk/java/nio/file/WatchService/WithSecurityManager.java ! test/jdk/java/rmi/RMISecurityManager/checkPackageAccess/CheckPackageAccess.java ! test/jdk/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java ! test/jdk/java/rmi/registry/classPathCodebase/ClassPathCodebase.java ! test/jdk/java/rmi/registry/readTest/CodebaseTest.java ! test/jdk/java/rmi/reliability/benchmark/bench/rmi/Main.java ! test/jdk/java/rmi/server/RMIClassLoader/delegateBeforePermissionCheck/DelegateBeforePermissionCheck.java ! test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java ! test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/registry/UseCustomSocketFactory.java ! test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java ! test/jdk/java/rmi/server/Unreferenced/unreferencedContext/UnreferencedContext.java ! test/jdk/java/rmi/testlibrary/RMID.java ! test/jdk/java/rmi/testlibrary/TestParams.java ! test/jdk/java/security/BasicPermission/NullOrEmptyName.java ! test/jdk/java/security/Policy/PolicyProvider/UseSystemClassLoader.java ! test/jdk/java/security/ProtectionDomain/AllPerm.java ! test/jdk/java/security/SecureClassLoader/DefineClass.java = test/jdk/java/sql/permissionTests/DriverManagerPermissionsTests.java ! test/jdk/java/util/Properties/LoadAndStoreXML.java ! test/jdk/java/util/ResourceBundle/Bug6359330.java ! test/jdk/java/util/ResourceBundle/modules/security/TestPermission.java ! test/jdk/java/util/ServiceLoader/security/SecurityTest.java ! test/jdk/java/util/TimeZone/Bug6912560.java ! test/jdk/java/util/TimeZone/SetDefaultSecurityTest.java ! test/jdk/java/util/concurrent/Executors/PrivilegedCallables.java ! test/jdk/java/util/concurrent/ThreadPoolExecutor/ConfigChanges.java ! test/jdk/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java ! test/jdk/java/util/concurrent/atomic/AtomicUpdaters.java ! test/jdk/java/util/concurrent/tck/JSR166TestCase.java ! test/jdk/java/util/logging/AnonymousLogger/TestAnonymousLogger.java ! test/jdk/java/util/logging/FileHandlerLongLimit.java ! test/jdk/java/util/logging/FileHandlerPath.java ! test/jdk/java/util/logging/FileHandlerPatternExceptions.java ! test/jdk/java/util/logging/HandlersConfigTest.java ! test/jdk/java/util/logging/LogManager/Configuration/ParentLoggerWithHandlerGC.java ! test/jdk/java/util/logging/LogManager/Configuration/TestConfigurationLock.java ! test/jdk/java/util/logging/LogManager/Configuration/updateConfiguration/HandlersOnComplexResetUpdate.java ! test/jdk/java/util/logging/LogManager/Configuration/updateConfiguration/HandlersOnComplexUpdate.java ! test/jdk/java/util/logging/LogManager/Configuration/updateConfiguration/SimpleUpdateConfigWithInputStreamTest.java ! test/jdk/java/util/logging/LogManager/Configuration/updateConfiguration/SimpleUpdateConfigurationTest.java ! test/jdk/java/util/logging/LogManager/Configuration/updateConfiguration/UpdateConfigurationTest.java ! test/jdk/java/util/logging/LogManager/RootLogger/setLevel/TestRootLoggerLevel.java ! test/jdk/java/util/logging/Logger/getLogger/TestLogger.java ! test/jdk/java/util/logging/Logger/setResourceBundle/TestSetResourceBundle.java ! test/jdk/java/util/logging/RootLogger/RootLevelInConfigFile.java ! test/jdk/java/util/logging/SystemLoggerConfigTest.java ! test/jdk/java/util/logging/TestAppletLoggerContext.java ! test/jdk/java/util/logging/TestConfigurationListeners.java ! test/jdk/java/util/logging/TestGetLoggerNPE.java ! test/jdk/java/util/logging/TestLogConfigurationDeadLock.java ! test/jdk/java/util/logging/TestLogConfigurationDeadLockWithConf.java ! test/jdk/java/util/logging/TestLoggerBundleSync.java ! test/jdk/java/util/logging/TestLoggingWithMainAppContext.java ! test/jdk/java/util/logging/TestMainAppContext.java ! test/jdk/java/util/spi/ResourceBundleControlProvider/UserDefaultControlTest.java ! test/jdk/java/util/spi/ToolProviderTest.java ! test/jdk/javax/imageio/CachePremissionsTest/CachePermissionsTest.java ! test/jdk/javax/management/Introspector/AnnotationSecurityTest.java ! test/jdk/javax/management/remote/mandatory/loading/RMIDownloadTest.java ! test/jdk/javax/management/remote/mandatory/notif/NoPermToRemoveTest.java ! test/jdk/javax/management/remote/mandatory/notif/NotificationEmissionTest.java ! test/jdk/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation2Test.java ! test/jdk/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation3Test.java = test/jdk/javax/sql/permissionTests/SyncFactoryPermissionsTests.java ! test/jdk/javax/swing/JComboBox/8080972/TestBasicComboBoxEditor.java ! test/jdk/javax/swing/JEditorPane/5076514/bug5076514.java ! test/jdk/javax/swing/JEditorPane/8080972/TestJEditor.java ! test/jdk/javax/swing/JFileChooser/6484091/bug6484091.java ! test/jdk/javax/swing/JFileChooser/6570445/bug6570445.java ! test/jdk/javax/swing/JFormattedTextField/8080972/TestDefaultFormatter.java ! test/jdk/javax/swing/JOptionPane/8081019/bug8081019.java ! test/jdk/javax/swing/JPopupMenu/6675802/bug6675802.java ! test/jdk/javax/swing/JPopupMenu/6691503/bug6691503.java ! test/jdk/javax/swing/JPopupMenu/6694823/bug6694823.java ! test/jdk/javax/swing/JTable/8080972/TestJTableCellEditor.java ! test/jdk/javax/swing/UIDefaults/6622002/bug6622002.java ! test/jdk/javax/swing/UIDefaults/6795356/TableTest.java ! test/jdk/javax/swing/UIDefaults/8080972/TestProxyLazyValue.java ! test/jdk/javax/swing/dnd/8080972/TestTransferHandler.java ! test/jdk/javax/swing/plaf/nimbus/8080972/TestAbstractRegionPainter.java ! test/jdk/javax/swing/plaf/synth/Test8043627.java ! test/jdk/javax/swing/text/View/8080972/TestObjectView.java ! test/jdk/javax/xml/crypto/dsig/SecurityManager/XMLDSigWithSecMgr.java ! test/jdk/javax/xml/jaxp/transform/8004476/XPathExFuncTest.java ! test/jdk/javax/xml/jaxp/transform/8004476/XSLTExFuncTest.java ! test/jdk/jdk/internal/jrtfs/WithSecurityManager.java ! test/jdk/sun/management/PlatformMBeanProviderConstructorCheck.java ! test/jdk/sun/net/www/protocol/jrt/WithSecurityManager.java ! test/jdk/sun/nio/cs/TestSJIS0213_SM.java ! test/jdk/sun/nio/cs/TestStringCoding.java ! test/jdk/sun/nio/cs/TestStringCodingUTF8.java ! test/jdk/sun/rmi/runtime/Log/checkLogging/CheckLogging.java ! test/jdk/sun/rmi/transport/tcp/disableMultiplexing/DisableMultiplexing.java ! test/jdk/sun/security/krb5/auto/AcceptPermissions.java ! test/jdk/sun/security/krb5/auto/HttpNegotiateServer.java ! test/jdk/sun/security/krb5/auto/KeyPermissions.java ! test/jdk/sun/security/pkcs11/Cipher/ReinitCipher.java ! test/jdk/sun/security/pkcs11/Cipher/TestPKCS5PaddingError.java ! test/jdk/sun/security/pkcs11/Cipher/TestRSACipher.java ! test/jdk/sun/security/pkcs11/Cipher/TestRSACipherWrap.java ! test/jdk/sun/security/pkcs11/Cipher/TestRawRSACipher.java ! test/jdk/sun/security/pkcs11/Cipher/TestSymmCiphers.java ! test/jdk/sun/security/pkcs11/Cipher/TestSymmCiphersNoPad.java ! test/jdk/sun/security/pkcs11/KeyAgreement/IllegalPackageAccess.java ! test/jdk/sun/security/pkcs11/KeyAgreement/SupportedDHKeys.java ! test/jdk/sun/security/pkcs11/KeyAgreement/TestDH.java ! test/jdk/sun/security/pkcs11/KeyAgreement/TestInterop.java ! test/jdk/sun/security/pkcs11/KeyAgreement/TestShort.java ! test/jdk/sun/security/pkcs11/KeyAgreement/UnsupportedDHKeys.java ! test/jdk/sun/security/pkcs11/KeyGenerator/DESParity.java ! test/jdk/sun/security/pkcs11/KeyGenerator/HmacDefKeySizeTest.java ! test/jdk/sun/security/pkcs11/KeyGenerator/TestKeyGenerator.java ! test/jdk/sun/security/pkcs11/KeyPairGenerator/TestDH2048.java ! test/jdk/sun/security/pkcs11/Mac/MacKAT.java ! test/jdk/sun/security/pkcs11/Mac/MacSameTest.java ! test/jdk/sun/security/pkcs11/Mac/ReinitMac.java ! test/jdk/sun/security/pkcs11/MessageDigest/DigestKAT.java ! test/jdk/sun/security/pkcs11/MessageDigest/ReinitDigest.java ! test/jdk/sun/security/pkcs11/MessageDigest/TestCloning.java ! test/jdk/sun/security/pkcs11/Provider/Login.sh ! test/jdk/sun/security/pkcs11/Secmod/AddPrivateKey.java ! test/jdk/sun/security/pkcs11/Secmod/AddTrustedCert.java ! test/jdk/sun/security/pkcs11/Secmod/Crypto.java ! test/jdk/sun/security/pkcs11/Secmod/GetPrivateKey.java ! test/jdk/sun/security/pkcs11/Secmod/JksSetPrivateKey.java ! test/jdk/sun/security/pkcs11/Secmod/LoadKeystore.java ! test/jdk/sun/security/pkcs11/Secmod/TrustAnchors.java ! test/jdk/sun/security/pkcs11/SecureRandom/Basic.java ! test/jdk/sun/security/pkcs11/Signature/ByteBuffers.java ! test/jdk/sun/security/pkcs11/Signature/TestDSA.java ! test/jdk/sun/security/pkcs11/Signature/TestDSAKeyLength.java ! test/jdk/sun/security/pkcs11/Signature/TestRSAKeyLength.java ! test/jdk/sun/security/pkcs11/ec/ReadCertificates.java ! test/jdk/sun/security/pkcs11/ec/ReadPKCS12.java ! test/jdk/sun/security/pkcs11/ec/TestCurves.java ! test/jdk/sun/security/pkcs11/ec/TestECDH.java ! test/jdk/sun/security/pkcs11/ec/TestECDH2.java ! test/jdk/sun/security/pkcs11/ec/TestECDSA.java ! test/jdk/sun/security/pkcs11/ec/TestECDSA2.java ! test/jdk/sun/security/pkcs11/ec/TestECGenSpec.java ! test/jdk/sun/security/pkcs11/ec/TestKeyFactory.java ! test/jdk/sun/security/pkcs11/rsa/KeyWrap.java ! test/jdk/sun/security/pkcs11/rsa/TestCACerts.java ! test/jdk/sun/security/pkcs11/rsa/TestKeyFactory.java ! test/jdk/sun/security/pkcs11/rsa/TestKeyPairGenerator.java ! test/jdk/sun/security/pkcs11/rsa/TestP11KeyFactoryGetRSAKeySpec.java ! test/jdk/sun/security/pkcs11/rsa/TestSignatures.java ! test/jdk/sun/security/pkcs11/tls/TestKeyMaterial.java ! test/jdk/sun/security/pkcs11/tls/TestLeadingZeroesP11.java ! test/jdk/sun/security/pkcs11/tls/TestMasterSecret.java ! test/jdk/sun/security/pkcs11/tls/TestPRF.java ! test/jdk/sun/security/pkcs11/tls/TestPremaster.java ! test/jdk/sun/security/provider/PolicyFile/BadPolicyFile.java ! test/jdk/sun/tools/jstatd/JstatdTest.java ! test/jdk/sun/util/locale/provider/Bug8152817.java ! test/jdk/tools/jlink/SecurityTest.java ! test/langtools/ProblemList.txt ! test/langtools/tools/doclint/tool/RunTest.java ! test/langtools/tools/javac/api/ToolProvider/ToolProviderTest.java ! test/langtools/tools/javac/processing/6348193/T6348193.java Changeset: bb085f68 Author: Mark Sheppard Date: 2021-05-24 17:59:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bb085f684d1154ffd6b2169259c67cfb19958380 8265362: java/net/Socket/UdpSocket.java fails with "java.net.BindException: Address already in use" (macos-aarch64) Reviewed-by: dfuchs, alanb ! test/jdk/ProblemList.txt ! test/jdk/java/net/Socket/UdpSocket.java Changeset: a5467ae7 Author: Andy Herrick Date: 2021-05-24 19:28:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a5467ae7bb5780f34728ad073c5c4158894c7c4b 8267423: Fix copyrights in jpackage tests Reviewed-by: kcr, asemenyuk ! test/jdk/tools/jpackage/helpers/jdk/jpackage/test/JPackageCommand.java ! test/jdk/tools/jpackage/junit/jdk/jpackage/internal/AppImageFileTest.java ! test/jdk/tools/jpackage/junit/jdk/jpackage/internal/ApplicationLayoutTest.java ! test/jdk/tools/jpackage/junit/jdk/jpackage/internal/OverridableResourceTest.java ! test/jdk/tools/jpackage/junit/jdk/jpackage/internal/PathGroupTest.java ! test/jdk/tools/jpackage/junit/jdk/jpackage/internal/ToolValidatorTest.java ! test/jdk/tools/jpackage/junit/junit.java ! test/jdk/tools/jpackage/junit/run_junit.sh ! test/jdk/tools/jpackage/run_tests.sh ! test/jdk/tools/jpackage/test_jpackage.sh Changeset: 209769b5 Author: Ioi Lam Date: 2021-05-24 21:52:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/209769b5ad462ce3dd47f18d93e12147730f8123 8267347: CDS record_linking_constraint asserts with unregistered class Reviewed-by: minqi, ccheung ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! test/hotspot/jtreg/runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java ! test/hotspot/jtreg/runtime/cds/appcds/loaderConstraints/LoaderConstraintsApp.java ! test/hotspot/jtreg/runtime/cds/appcds/loaderConstraints/LoaderConstraintsTest.java + test/hotspot/jtreg/runtime/cds/appcds/test-classes/CustomAppLoader.java Changeset: ebc9357d Author: Ian Graves Date: 2021-05-24 21:57:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebc9357d58957702abbd003d21082badc630876d 8267329: Modernize Javadoc code to use instanceof with pattern matching Reviewed-by: prappo, jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTool.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Contents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SourceToHTMLConverter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/ContentBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/MemberSummaryBuilder.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ThrowsTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPath.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Extern.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclint/Checker.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/JavadocTool.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Messager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolEnvironment.java Changeset: f6909596 Author: Kim Barrett Date: 2021-05-24 22:43:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f6909596cae7c47514c10b614cc006169bcee04b 8267446: Taskqueue code fails with assert(bottom_relaxed() == age_top_relaxed()) failed: not empty Reviewed-by: stefank, pliden ! src/hotspot/share/gc/shared/taskTerminator.cpp ! src/hotspot/share/gc/shared/taskqueue.hpp Changeset: c519ba2e Author: Claes Redestad Date: 2021-05-24 23:02:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c519ba2e437a05ac83e53b358b6a02b2f6e20563 8267614: Outline VarHandleGuards exact behavior checks Reviewed-by: psandoz, mchung ! src/java.base/share/classes/java/lang/invoke/VarHandle.java ! src/java.base/share/classes/java/lang/invoke/VarHandleGuards.java ! src/java.base/share/classes/java/lang/invoke/VarHandles.java Changeset: de27da7d Author: Calvin Cheung Date: 2021-05-25 00:42:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/de27da7dedb217481b5e1582c38313232828a18c 8267431: Rename InstanceKlass::has_old_class_version to can_be_verified_at_dumptime Reviewed-by: iklam ! src/hotspot/share/cds/metaspaceShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/interpreter/rewriter.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klassVtable.cpp Changeset: 461a3fee Author: Calvin Cheung Date: 2021-05-25 00:48:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/461a3feebedccbf83bf3871d65ed7f2d1ad79307 8261478: InstanceKlass::set_classpath_index does not match comments Reviewed-by: minqi ! src/hotspot/share/oops/instanceKlass.cpp Changeset: b4d4884c Author: Jonathan Gibbons Date: 2021-05-25 01:33:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4d4884c03b03d3073ef137a899f3612993f5e65 8267126: javadoc should show "line and caret" for diagnostics. Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/WorkArounds.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Messager.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolEnvironment.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc.properties ! test/langtools/jdk/javadoc/doclet/testCharsetDocencodingOptions/TestCharsetDocencodingOptions.java + test/langtools/jdk/javadoc/doclet/testDiagsLineCaret/MyTaglet.java + test/langtools/jdk/javadoc/doclet/testDiagsLineCaret/TestDiagsLineCaret.java ! test/langtools/jdk/javadoc/doclet/testDocFiles/TestDocFiles.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestRedirectLinks.java ! test/langtools/jdk/javadoc/doclet/testMissingComment/TestMissingComment.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testNoFrames/TestNoFrames.java ! test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java ! test/langtools/jdk/javadoc/doclet/testReturnTag/TestReturnTag.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testTagInheritence/TestTagInheritence.java ! test/langtools/jdk/javadoc/doclet/testTagMisuse/TestTagMisuse.java ! test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTag.java ! test/langtools/jdk/javadoc/doclet/testWarnBadParamNames/TestWarnBadParamNames.java ! test/langtools/jdk/javadoc/tool/6958836/Test.java ! test/langtools/jdk/javadoc/tool/6964914/TestStdDoclet.java ! test/langtools/jdk/javadoc/tool/8224613/OptionProcessingFailureTest.java ! test/langtools/jdk/javadoc/tool/BadOptionsTest.java ! test/langtools/jdk/javadoc/tool/CheckResourceKeys.java ! test/langtools/jdk/javadoc/tool/MaxWarns.java ! test/langtools/jdk/javadoc/tool/api/basic/GetTask_DiagListenerTest.java ! test/langtools/jdk/javadoc/tool/doclint/DocLintTest.java ! test/langtools/jdk/javadoc/tool/exceptionHandling/TestExceptionHandling.java ! test/langtools/jdk/javadoc/tool/modules/Modules.java ! test/langtools/jdk/javadoc/tool/modules/PackageOptions.java ! test/langtools/jdk/javadoc/tool/removeOldDoclet/RemoveOldDoclet.java ! test/langtools/jdk/javadoc/tool/testWErrorOption/TestWErrorOption.java Changeset: 123cdd1f Author: Dong Bo Committer: Fei Yang Date: 2021-05-25 02:17:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/123cdd1fbd4fa02177c06afb67a09aee21d0a482 8264973: AArch64: Optimize vector max/min/add reduction of two integers with NEON pairwise instructions Reviewed-by: njian, aph ! src/hotspot/cpu/aarch64/aarch64_neon.ad ! src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! test/hotspot/gtest/aarch64/aarch64-asmtest.py ! test/hotspot/gtest/aarch64/asmtest.out.h Changeset: 2e8812df Author: Denghui Dong Committer: Vladimir Kozlov Date: 2021-05-25 04:11:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2e8812df142430d1a6b0a4df0259d2656a1548c9 8265129: Add intrinsic support for JVM.getClassId Reviewed-by: kvn, mgronlun ! src/hotspot/share/c1/c1_Compiler.cpp ! src/hotspot/share/c1/c1_LIRGenerator.cpp ! src/hotspot/share/jfr/jfr.cpp ! src/hotspot/share/jfr/jfr.hpp ! src/hotspot/share/jfr/jni/jfrJniMethodRegistration.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdEpoch.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdLoadBarrier.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/traceid/jfrTraceIdLoadBarrier.inline.hpp ! src/hotspot/share/jfr/utilities/jfrSignal.hpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/idealKit.cpp ! src/hotspot/share/opto/idealKit.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/runtime.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp ! src/jdk.jfr/share/classes/jdk/jfr/internal/EventWriter.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java ! test/jdk/jdk/jfr/jvm/TestClearStaleConstants.java ! test/jdk/jdk/jfr/jvm/TestJFRIntrinsic.java Changeset: 31d0f0d8 Author: Adam Sotona Date: 2021-05-25 04:52:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/31d0f0d895ef4039d2e96a8fb6e990e93eed4d41 8248843: java in source-file mode suggests javac-only options Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/Main.java Changeset: d86f9164 Author: Alexander Zuev Date: 2021-05-25 06:46:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d86f91642d7dcf829b8093ebed336d4386bff67a 8267066: New NSAccessibility peers should return they roles and subroles directly Reviewed-by: pbansal ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ButtonAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ButtonAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CheckboxAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CheckboxAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonTextAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/GroupAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/GroupAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ImageAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ImageAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/RadiobuttonAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/RadiobuttonAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollAreaAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollAreaAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollBarAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ScrollBarAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/SliderAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/SliderAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/SpinboxAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/SpinboxAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/StaticTextAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/StaticTextAccessibility.m ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ToolbarAccessibility.h ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/ToolbarAccessibility.m Changeset: 0a03fc84 Author: Jaikiran Pai Date: 2021-05-25 07:40:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0a03fc84b3289cf8c8effca7324f71146270a8e2 8255674: SSLEngine class description is missing "case" in switch statement Reviewed-by: xuelei ! src/java.base/share/classes/javax/net/ssl/SSLEngine.java Changeset: a52c4ede Author: Patrick Concannon Date: 2021-05-25 08:24:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a52c4ede2f043b7d4a234c7d06f91871312e9654 8267110: Update java.util to use instanceof pattern variable Reviewed-by: lancea, naoto ! src/java.base/share/classes/java/util/AbstractMap.java ! src/java.base/share/classes/java/util/BitSet.java ! src/java.base/share/classes/java/util/Collections.java ! src/java.base/share/classes/java/util/EnumMap.java ! src/java.base/share/classes/java/util/HashMap.java ! src/java.base/share/classes/java/util/Hashtable.java ! src/java.base/share/classes/java/util/IdentityHashMap.java ! src/java.base/share/classes/java/util/JumboEnumSet.java ! src/java.base/share/classes/java/util/KeyValueHolder.java ! src/java.base/share/classes/java/util/LinkedHashMap.java ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/java/util/Optional.java ! src/java.base/share/classes/java/util/OptionalDouble.java ! src/java.base/share/classes/java/util/OptionalInt.java ! src/java.base/share/classes/java/util/OptionalLong.java ! src/java.base/share/classes/java/util/PropertyPermission.java ! src/java.base/share/classes/java/util/RegularEnumSet.java ! src/java.base/share/classes/java/util/Scanner.java ! src/java.base/share/classes/java/util/ServiceLoader.java ! src/java.base/share/classes/java/util/SimpleTimeZone.java ! src/java.base/share/classes/java/util/TreeMap.java ! src/java.base/share/classes/java/util/TreeSet.java ! src/java.base/share/classes/java/util/WeakHashMap.java ! src/java.base/share/classes/java/util/jar/Attributes.java ! src/java.base/share/classes/java/util/jar/JarVerifier.java ! src/java.base/share/classes/java/util/jar/Manifest.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! src/java.base/share/classes/java/util/regex/PrintPattern.java ! src/java.base/share/classes/java/util/zip/ZipFile.java Changeset: 66b190e1 Author: Claes Redestad Date: 2021-05-25 11:47:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/66b190e1e7d06f3fc59917b5346e94a128e928cd 8267612: Declare package-private VarHandle.AccessMode/AccessType counts Reviewed-by: mchung ! src/java.base/share/classes/java/lang/invoke/IndirectVarHandle.java ! src/java.base/share/classes/java/lang/invoke/Invokers.java ! src/java.base/share/classes/java/lang/invoke/VarForm.java ! src/java.base/share/classes/java/lang/invoke/VarHandle.java Changeset: b403d399 Author: Jie Fu Date: 2021-05-25 11:49:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b403d3990894853d6e291c8ff8abb44bddb3c99f 8267213: cpuinfo_segv is incorrectly triaged as execution protection violation on x86_32 Reviewed-by: dholmes ! src/hotspot/os_cpu/bsd_x86/os_bsd_x86.cpp ! src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp Changeset: 86a8f442 Author: Maurizio Cimadamore Date: 2021-05-25 11:51:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86a8f4427139f983faa57b9174c90949628236ca 8267317: Remove DeferredTypeCompleter Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/ArgumentAttr.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java Changeset: 5a5b807e Author: Pavel Rappo Date: 2021-05-25 14:22:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5a5b807e8e3b3148eea911ed1b2c9624b6846370 8267633: Clarify documentation of (Doc)TreeScanner Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java ! src/jdk.compiler/share/classes/com/sun/source/util/TreePath.java ! src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java Changeset: cc687fd4 Author: Jonathan Gibbons Date: 2021-05-25 14:54:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc687fd43ade6be8760c559f3ffa909c5937727c 8267575: Add new documentation group in HtmlStyle Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java Changeset: 2ef2450a Author: Adam Sotona Date: 2021-05-25 15:58:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2ef2450aa6f560a0bcf6ab687b83c2f1d9e3c87e 8263445: Duplicate key compiler.err.expected.module in compiler.properties Reviewed-by: vromero, jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties Changeset: 594d4544 Author: Jonathan Gibbons Date: 2021-05-25 17:36:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/594d4544759a240690ed4c0432c8140b852aea5a 8267574: Dead code in HtmlStyle/HtmlDocletWriter Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css Changeset: 0b773593 Author: Joe Darcy Date: 2021-05-25 18:04:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0b7735938407fad5c2dbfb509d2d47bf172305e9 8224243: Add implSpec's to AccessibleObject and seal Executable Reviewed-by: alanb ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/java/lang/reflect/Executable.java ! src/java.base/share/classes/java/lang/reflect/Field.java Changeset: e751b7b1 Author: Bradford Wetmore Date: 2021-05-25 19:38:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e751b7b1b6f7269a1fe20c07748c726536388f6d 8267683: rfc7301Grease8F value not displayed correctly in SSLParameters javadoc Reviewed-by: coffeys ! src/java.base/share/classes/javax/net/ssl/SSLParameters.java Changeset: c20ca42e Author: Coleen Phillimore Date: 2021-05-25 19:42:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c20ca42e62a0a7419c04ff95087c7c2b4d2e0335 8267691: Change table to obsolete CriticalJNINatives in JDK 18, not 17 Reviewed-by: hseigel ! src/hotspot/share/runtime/arguments.cpp Changeset: 5aa45f2e Author: Alexander Matveev Date: 2021-05-25 22:08:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5aa45f2edf278bab4403704ab4b6644096f8c077 8267403: tools/jpackage/share/FileAssociationsTest.java#id0 failed with "Error: Bundler "Mac PKG Package" (pkg) failed to produce a package" Reviewed-by: herrick, asemenyuk ! src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/Executor.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/IOUtils.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/JLinkBundlerHelper.java ! src/jdk.jpackage/share/classes/jdk/jpackage/internal/Log.java Changeset: a98e476c Author: Jie Fu Date: 2021-05-25 22:46:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a98e476c0a5860dd2bd9e57aeceb1f724868c970 8267311: vmTestbase/gc/gctests/StringInternGC/StringInternGC.java eventually OOMEs 8267311: vmTestbase/gc/gctests/StringInternGC/StringInternGC.java eventually OOMEs Co-authored-by: Thomas Schatzl Reviewed-by: tschatzl ! test/hotspot/jtreg/vmTestbase/gc/gctests/StringInternGC/StringInternGC.java Changeset: d0d2ddcc Author: David Holmes Date: 2021-05-25 23:35:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d0d2ddccaf93a1f97843e7d01c5bf6eb8ba3aece 8267651: runtime/handshake/HandshakeTimeoutTest.java times out when dumping core Reviewed-by: dcubed ! test/hotspot/jtreg/runtime/handshake/HandshakeTimeoutTest.java Changeset: ac36b7d3 Author: Tagir F. Valeev Date: 2021-05-26 01:17:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac36b7d3e2d521652576fba3b1760586f582544f 8267452: Delegate forEachRemaining in Spliterators.iterator() Reviewed-by: psandoz ! src/java.base/share/classes/java/util/Spliterators.java + test/jdk/java/util/Spliterator/IteratorFromSpliteratorTest.java Changeset: b33b8bc8 Author: Bradford Wetmore Date: 2021-05-26 03:17:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b33b8bc88da3afe4f9f6321673df061ea4196962 8267750: Incomplete fix for JDK-8267683 Reviewed-by: jnimeh ! src/java.base/share/classes/javax/net/ssl/SSLParameters.java Changeset: 03944168 Author: Albert Mingkun Yang Date: 2021-05-26 06:50:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/039441689d21f3dccf515bb2be89608b0772a235 8267468: Rename refill waster counters in ThreadLocalAllocBuffer Reviewed-by: kbarrett, sspitsyn ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp ! src/hotspot/share/gc/shared/threadLocalAllocBuffer.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.internal.jvmstat/share/classes/sun/jvmstat/perfdata/resources/aliasmap Changeset: 9d305b9c Author: Roland Westrelin Date: 2021-05-26 09:20:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d305b9c0625d73c752724569dbb7f6c8e80931c 8252372: Check if cloning is required to move loads out of loops in PhaseIdealLoop::split_if_with_blocks_post() Reviewed-by: thartmann, kvn ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/opto/castnode.hpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/node.hpp Changeset: 083416d3 Author: Wang Huang Committer: Hamlin Li Date: 2021-05-26 10:21:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/083416d36c0d7fd17dd0db546129411450dfcccf 8267130: Memory Overflow in Disassembler::load_library Co-authored-by: Wang Huang Co-authored-by: Miao Zhuojun Reviewed-by: neliasso, mli ! src/hotspot/share/compiler/disassembler.cpp Changeset: bf8d4a8e Author: Athijegannathan Sundararajan Date: 2021-05-26 11:04:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bf8d4a8ecab216e7d117ce045d4498d1fa1a6029 8267583: jmod fails on symlink to class file Reviewed-by: alanb ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java ! test/jdk/tools/jmod/JmodTest.java Changeset: f6322549 Author: Jan Lahoda Date: 2021-05-26 11:12:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f632254943e335d0b4a76d03530309cd194b0813 8267221: jshell feedback is incorrect when creating method with array varargs parameter Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/jdk/jshell/MethodsTest.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: 4343997a Author: Pavel Rappo Date: 2021-05-26 11:27:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4343997a1a2b38581488932f6a4971ce330bd467 8267708: Remove references to com.sun.tools.javadoc.** This commit changes BaseOptions.java to fix the NoStringToLower test that failed after jdk.javadoc has been added to the list of package prefixes that NoStringToLower scans. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseOptions.java ! test/langtools/jdk/javadoc/tool/CheckResourceKeys.java ! test/langtools/tools/javac/NoStringToLower.java ! test/langtools/tools/javac/T8003967/DetectMutableStaticFields.java Changeset: 45e05970 Author: Pankaj Bansal Date: 2021-05-26 12:17:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/45e05970bcee842f98eeeef054f574ccf4b43fad 8264302: Create implementation for Accessibility native peer for Splitpane java role Reviewed-by: kizune ! src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/CommonComponentAccessibility.m = src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/SplitpaneAccessibility.h + src/java.desktop/macosx/native/libawt_lwawt/awt/a11y/SplitpaneAccessibility.m Changeset: 9c346a1e Author: Yude Lin Committer: David Holmes Date: 2021-05-26 12:26:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c346a1ec78b45c61fbfc76961dc5674cfd98520 8266963: Remove safepoint poll introduced in 8262443 due to reentrance issue Reviewed-by: rehn, zgu, dholmes ! src/hotspot/share/oops/generateOopMap.cpp ! src/hotspot/share/oops/generateOopMap.hpp Changeset: a4c46e1e Author: Naoto Sato Date: 2021-05-26 15:52:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a4c46e1e4f4f2f05c8002b2af683a390fc46b424 8263202: Update Hebrew/Indonesian/Yiddish ISO 639 language codes to current Reviewed-by: joehw ! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java ! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/java/util/ResourceBundle.java ! src/java.base/share/classes/java/util/spi/AbstractResourceBundleProvider.java ! src/java.base/share/classes/sun/util/locale/BaseLocale.java ! src/java.base/share/classes/sun/util/resources/Bundles.java ! src/java.base/share/classes/sun/util/resources/LocaleData.java ! src/java.desktop/share/classes/java/awt/ComponentOrientation.java = src/jdk.localedata/share/classes/sun/text/resources/ext/CollationData_he.java = src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_he.java = src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_he_IL.java = src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_id.java = src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_id_ID.java = src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_he.java = src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_id.java = src/jdk.localedata/share/classes/sun/util/resources/ext/CalendarData_he.properties = src/jdk.localedata/share/classes/sun/util/resources/ext/CalendarData_id_ID.properties = src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_he_IL.properties = src/jdk.localedata/share/classes/sun/util/resources/ext/CurrencyNames_id_ID.properties = src/jdk.localedata/share/classes/sun/util/resources/ext/LocaleNames_he.properties = src/jdk.localedata/share/classes/sun/util/resources/ext/LocaleNames_id.properties ! src/jdk.localedata/share/classes/sun/util/resources/provider/LocaleDataProvider.java ! src/jdk.localedata/share/classes/sun/util/resources/provider/SupplementaryLocaleDataProvider.java ! test/jdk/java/awt/ComponentOrientation/BasicTest.java ! test/jdk/java/util/Locale/LocaleEnhanceTest.java ! test/jdk/java/util/Locale/LocaleTest.java ! test/jdk/java/util/ResourceBundle/modules/ModuleTestUtil.java ! test/jdk/java/util/ResourceBundle/modules/basic/BasicTest.java ! test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_id.properties ! test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/jdk/test/resources/eu/MyResourcesEU.java + test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/jdk/test/resources/eu/MyResources_ji.java ! test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/test/jdk/test/Main.java ! test/jdk/tools/jlink/plugins/IncludeLocalesPluginTest.java Changeset: de91643b Author: Stefan Karlsson Date: 2021-05-26 17:57:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/de91643bfa80ae7cc2d228f882b2de3d8af543c8 8267611: Print more info when pointer_delta assert fails Reviewed-by: dholmes, jiefu, tschatzl, kbarrett ! src/hotspot/share/utilities/globalDefinitions.hpp Changeset: c59484e7 Author: Coleen Phillimore Date: 2021-05-26 19:07:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c59484e71517ea9fea7df7b0344b633495f8fd81 8267653: Remove Mutex::_safepoint_check_sometimes Reviewed-by: dholmes, pchilanomate ! src/hotspot/share/gc/shenandoah/shenandoahReferenceProcessor.cpp ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/runtime/mutex.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/thread.cpp Changeset: 8c4719a5 Author: Joe Wang Date: 2021-05-26 19:34:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c4719a58834dddcea39d69b199abf1aabf780e2 8265248: Implementation Specific Properties: change prefix, plus add existing properties Reviewed-by: lancea, rriggs - src/java.xml/share/classes/com/sun/org/apache/xalan/internal/XalanConstants.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/utils/FeaturePropertyBase.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/utils/XMLSecurityManager.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/utils/XMLSecurityPropertyManager.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Import.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Include.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/dom/LoadDocument.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesHandlerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DOMConfigurationImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/Constants.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/PropertyManager.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaLoader.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/opti/SchemaParsingConfig.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/SAXParserImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/DOMValidatorHelper.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/StAXValidatorHelper.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/StreamValidatorHelper.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHandlerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaValidatorComponentManager.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/DOMParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/DTDConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/NonValidatingConfiguration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/SAXParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XML11Configuration.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/parsers/XMLParser.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/SecurityManager.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/utils/XMLSecurityManager.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/utils/XMLSecurityPropertyManager.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/XIncludeHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/OutputPropertiesFactory.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/SerializationHandler.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/SerializerBase.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/ToStream.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/DOMConstants.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/LSSerializerImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/CachedXPathAPI.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/XPathAPI.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/jaxp/XPathFactoryImpl.java ! src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java + src/java.xml/share/classes/jdk/xml/internal/JdkConstants.java + src/java.xml/share/classes/jdk/xml/internal/JdkProperty.java ! src/java.xml/share/classes/jdk/xml/internal/JdkXmlFeatures.java ! src/java.xml/share/classes/jdk/xml/internal/JdkXmlUtils.java ! src/java.xml/share/classes/module-info.java + test/jaxp/javax/xml/jaxp/unittest/common/ImplPropertyTest.java Changeset: e6302354 Author: Mark Reinhold Date: 2021-05-26 20:55:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e63023546aaf48ae39c72ab37f6ef3f5474e19cc 8266851: Implement JEP 403: Strongly Encapsulate JDK Internals Co-authored-by: Alan Bateman Reviewed-by: mchung, alanb, hseigel ! src/hotspot/share/runtime/arguments.cpp ! src/java.base/share/classes/java/lang/Module.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/jdk/internal/module/ExplodedSystemModules.java - src/java.base/share/classes/jdk/internal/module/IllegalAccessLogger.java - src/java.base/share/classes/jdk/internal/module/IllegalAccessMaps.java ! src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java ! src/java.base/share/classes/jdk/internal/module/SystemModules.java - src/java.base/share/classes/jdk/internal/module/jdk8_packages.dat ! src/java.base/share/classes/sun/launcher/resources/launcher.properties ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/SystemModulesPlugin.java ! test/jdk/java/lang/ModuleTests/BasicModuleTest.java ! test/jdk/java/lang/instrument/RedefineModuleTest.java ! test/jdk/java/lang/invoke/CallerSensitiveAccess.java ! test/jdk/java/lang/reflect/AccessibleObject/CanAccessTest.java ! test/jdk/java/lang/reflect/AccessibleObject/ModuleSetAccessibleTest.java ! test/jdk/java/lang/reflect/AccessibleObject/TrySetAccessibleTest.java ! test/jdk/java/util/ResourceBundle/modules/cache/CacheTest.java ! test/jdk/jdk/modules/open/Basic.java ! test/jdk/tools/launcher/modules/addexports/manifest/AddExportsAndOpensInManifest.java ! test/jdk/tools/launcher/modules/illegalaccess/IllegalAccessTest.java - test/jdk/tools/launcher/modules/illegalaccess/TryAccess.java - test/jdk/tools/launcher/modules/illegalaccess/modules/m/module-info.java - test/jdk/tools/launcher/modules/illegalaccess/modules/m/p/Type.java - test/jdk/tools/launcher/modules/illegalaccess/patchsrc/java.base/java/lang/Helper.java Changeset: a859d87c Author: Evgeny Astigeevich Committer: Paul Hohensee Date: 2021-05-26 21:08:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a859d87cc1d0629609883968656f0187909a099d 8267721: Enable sun/security/pkcs11 tests for Amazon Linux 2 AArch64 Reviewed-by: phh ! test/jdk/sun/security/pkcs11/PKCS11Test.java Changeset: 0fc7c8d1 Author: Roger Riggs Date: 2021-05-26 22:03:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0fc7c8d101d526f1bc86831996b6883209d77451 8267751: (test) jtreg.SkippedException has no serial VersionUID Reviewed-by: naoto, iignatyev, iris ! test/lib/jtreg/SkippedException.java Changeset: 1899f022 Author: Vladimir Ivanov Date: 2021-05-26 22:53:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1899f022b1cb66ecc0615ff5939b5492e2805a1c 8267805: Add UseVtableBasedCHA to the list of JVM flags known to jtreg Reviewed-by: shade ! test/jtreg-ext/requires/VMProps.java Changeset: 6ffa3e66 Author: Jie Fu Date: 2021-05-26 22:58:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ffa3e66db55774673ce17be4f8f2d510abf8a84 8267754: cds/appcds/loaderConstraints/LoaderConstraintsTest.java fails on x86_32 due to customized class loader is not supported Reviewed-by: minqi, dholmes, iklam ! test/hotspot/jtreg/runtime/cds/appcds/loaderConstraints/LoaderConstraintsTest.java Changeset: 37bc4e2e Author: Yasumasa Suenaga Date: 2021-05-27 04:54:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/37bc4e2e3c2968d7419dae4f421755b6f7d06090 8263635: Add --servername option to jhsdb debugd Reviewed-by: cjplummer, sspitsyn ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/DebugServer.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/RMIHelper.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java ! src/jdk.hotspot.agent/share/man/jhsdb.1 ! test/hotspot/jtreg/serviceability/sa/sadebugd/ClhsdbAttachToDebugServer.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/ClhsdbTestConnectArgument.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdConnectTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdUtils.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/DisableRegistryTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/PmapOnDebugdTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/RunCommandOnServerTest.java Changeset: bfa46f0a Author: Albert Mingkun Yang Date: 2021-05-27 08:09:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bfa46f0af30e9ec073ab5e6411ca94e140113790 8252476: as_Worker_thread() doesn't check what it intends Co-authored-by: David Holmes Reviewed-by: iklam, kbarrett ! src/hotspot/share/gc/shared/referenceProcessor.cpp ! src/hotspot/share/runtime/nonJavaThread.hpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/thread.inline.hpp Changeset: 7278f56b Author: Denghui Dong Committer: Tobias Hartmann Date: 2021-05-27 08:36:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7278f56bb6345d7b023516d0f44de71cd74ff264 8267800: Remove the '_dirty' set in BCEscapeAnalyzer Reviewed-by: kvn, thartmann ! src/hotspot/share/ci/bcEscapeAnalyzer.cpp ! src/hotspot/share/ci/bcEscapeAnalyzer.hpp Changeset: 85f61652 Author: Dongbo He Committer: Claes Redestad Date: 2021-05-27 11:49:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/85f616522b2dc8e7b4c31d760c3171ac74a5490f 8267817: [TEST] Remove unnecessary init in test/micro/org/openjdk/bench/javax/crypto/full/AESGCMBench:setup Reviewed-by: redestad ! test/micro/org/openjdk/bench/javax/crypto/full/AESGCMBench.java Changeset: 3623abb7 Author: Jorn Vernee Date: 2021-05-27 12:28:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3623abb7f6d9112d4cbcffd89852e826c56ae348 8263087: Add a MethodHandle combinator that switches over a set of MethodHandles Reviewed-by: redestad ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/LambdaForm.java ! src/java.base/share/classes/java/lang/invoke/LambdaFormEditor.java ! src/java.base/share/classes/java/lang/invoke/MethodHandle.java ! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java + test/jdk/java/lang/invoke/MethodHandles/TestTableSwitch.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesTableSwitchConstant.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesTableSwitchOpaqueSingle.java + test/micro/org/openjdk/bench/java/lang/invoke/MethodHandlesTableSwitchRandom.java Changeset: ec65cf83 Author: Athijegannathan Sundararajan Date: 2021-05-27 12:29:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ec65cf833294e21e9dc59dfe014148d3e1210b53 8240347: remove undocumented options from jlink --help message Reviewed-by: alanb, redestad ! src/jdk.jlink/share/classes/jdk/tools/jlink/internal/TaskHelper.java Changeset: bea4109e Author: Naoto Sato Date: 2021-05-27 13:18:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bea4109ef75a6536af4296db56e6ec90ab0f30fc 8187649: ArrayIndexOutOfBoundsException in java.util.JapaneseImperialCalendar Reviewed-by: joehw, rriggs ! src/java.base/share/classes/java/util/JapaneseImperialCalendar.java ! test/jdk/java/util/Calendar/CalendarTestScripts/JapaneseTests.java ! test/jdk/java/util/Calendar/CalendarTestScripts/japanese/japanese_roll.cts Changeset: 10a6f5d6 Author: Guoxiong Li Committer: Jonathan Gibbons Date: 2021-05-27 14:04:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10a6f5d637053395839002b6617f94f49d3701e7 8230623: Extract command-line help for -Xlint sub-options to new --help-lint Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Arguments.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/Option.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac.properties ! test/langtools/tools/javac/options/modes/InfoOptsTest.java Changeset: ef368b32 Author: Hao Tang Committer: Severin Gehwolf Date: 2021-05-27 14:40:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ef368b32bc8609bdc46cda628fa25e9bcad751e3 8265836: OperatingSystemImpl.getCpuLoad() returns incorrect CPU load inside a container Co-authored-by: Shaojun Wang Co-authored-by: Severin Gehwolf Reviewed-by: sgehwolf, ysuenaga ! src/jdk.management/aix/native/libmanagement_ext/UnixOperatingSystem.c ! src/jdk.management/linux/native/libmanagement_ext/UnixOperatingSystem.c ! src/jdk.management/macosx/native/libmanagement_ext/UnixOperatingSystem.c ! src/jdk.management/unix/classes/com/sun/management/internal/OperatingSystemImpl.java Changeset: 23189a1f Author: Daniel D. Daugherty Date: 2021-05-27 14:58:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/23189a1f9de5e7c039a4f6b9e5eefe4fa3c6dcef 8191786: Thread-SMR hash table size should be dynamic Reviewed-by: dholmes, rehn, coleenp, eosterlund ! src/hotspot/share/runtime/threadSMR.cpp Changeset: 07542660 Author: Jonathan Gibbons Date: 2021-05-27 15:01:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/07542660446e47164e5a402380bdf7cbfd7b37ad 8267709: Investigate differences between HtmlStyle and stylesheet.css Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java + test/langtools/jdk/javadoc/doclet/checkStylesheetClasses/CheckStylesheetClasses.java Changeset: 7c85f351 Author: Stuart Marks Date: 2021-05-27 15:19:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7c85f3510cb84881ff232548fbcc933ef4b34972 8267123: Remove RMI Activation Reviewed-by: erikj, rriggs, alanb ! make/modules/java.rmi/Launcher.gmk ! src/java.base/share/conf/security/java.security - src/java.rmi/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java - src/java.rmi/share/classes/com/sun/rmi/rmid/ExecPermission.java ! src/java.rmi/share/classes/java/rmi/AccessException.java ! src/java.rmi/share/classes/java/rmi/NoSuchObjectException.java ! src/java.rmi/share/classes/java/rmi/Remote.java ! src/java.rmi/share/classes/java/rmi/StubNotFoundException.java - src/java.rmi/share/classes/java/rmi/activation/Activatable.java - src/java.rmi/share/classes/java/rmi/activation/ActivateFailedException.java - src/java.rmi/share/classes/java/rmi/activation/ActivationDesc.java - src/java.rmi/share/classes/java/rmi/activation/ActivationException.java - src/java.rmi/share/classes/java/rmi/activation/ActivationGroup.java - src/java.rmi/share/classes/java/rmi/activation/ActivationGroupDesc.java - src/java.rmi/share/classes/java/rmi/activation/ActivationGroupID.java - src/java.rmi/share/classes/java/rmi/activation/ActivationGroup_Stub.java - src/java.rmi/share/classes/java/rmi/activation/ActivationID.java - src/java.rmi/share/classes/java/rmi/activation/ActivationInstantiator.java - src/java.rmi/share/classes/java/rmi/activation/ActivationMonitor.java - src/java.rmi/share/classes/java/rmi/activation/ActivationSystem.java - src/java.rmi/share/classes/java/rmi/activation/Activator.java - src/java.rmi/share/classes/java/rmi/activation/UnknownGroupException.java - src/java.rmi/share/classes/java/rmi/activation/UnknownObjectException.java - src/java.rmi/share/classes/java/rmi/activation/package-info.java ! src/java.rmi/share/classes/java/rmi/server/ExportException.java ! src/java.rmi/share/classes/java/rmi/server/RMIClientSocketFactory.java ! src/java.rmi/share/classes/java/rmi/server/RMIServerSocketFactory.java ! src/java.rmi/share/classes/java/rmi/server/RemoteObject.java ! src/java.rmi/share/classes/java/rmi/server/RemoteObjectInvocationHandler.java ! src/java.rmi/share/classes/module-info.java ! src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl.java - src/java.rmi/share/classes/sun/rmi/server/ActivatableRef.java - src/java.rmi/share/classes/sun/rmi/server/ActivatableServerRef.java - src/java.rmi/share/classes/sun/rmi/server/Activation$ActivationSystemImpl_Stub.java - src/java.rmi/share/classes/sun/rmi/server/Activation.java - src/java.rmi/share/classes/sun/rmi/server/ActivationGroupImpl.java - src/java.rmi/share/classes/sun/rmi/server/ActivationGroupInit.java - src/java.rmi/share/classes/sun/rmi/server/InactiveGroupException.java ! src/java.rmi/share/classes/sun/rmi/server/MarshalInputStream.java - src/java.rmi/share/classes/sun/rmi/server/resources/rmid.properties - src/java.rmi/share/classes/sun/rmi/server/resources/rmid_de.properties - src/java.rmi/share/classes/sun/rmi/server/resources/rmid_es.properties - src/java.rmi/share/classes/sun/rmi/server/resources/rmid_fr.properties - src/java.rmi/share/classes/sun/rmi/server/resources/rmid_it.properties - src/java.rmi/share/classes/sun/rmi/server/resources/rmid_ja.properties - src/java.rmi/share/classes/sun/rmi/server/resources/rmid_ko.properties - src/java.rmi/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties - src/java.rmi/share/classes/sun/rmi/server/resources/rmid_sv.properties - src/java.rmi/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties - src/java.rmi/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties - src/java.rmi/share/man/rmid.1 ! test/jdk/ProblemList.txt ! test/jdk/TEST.groups ! test/jdk/java/rmi/RemoteException/chaining/Chaining.java - test/jdk/java/rmi/activation/Activatable/checkActivateRef/ActivateMe.java - test/jdk/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java - test/jdk/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef_Stub.java - test/jdk/java/rmi/activation/Activatable/checkActivateRef/group.security.policy - test/jdk/java/rmi/activation/Activatable/checkActivateRef/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/checkActivateRef/security.policy - test/jdk/java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations.java - test/jdk/java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations_Stub.java - test/jdk/java/rmi/activation/Activatable/checkAnnotations/MyRMI.java - test/jdk/java/rmi/activation/Activatable/checkAnnotations/group.security.policy - test/jdk/java/rmi/activation/Activatable/checkAnnotations/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/checkAnnotations/security.policy - test/jdk/java/rmi/activation/Activatable/checkImplClassLoader/ActivatableImpl.java - test/jdk/java/rmi/activation/Activatable/checkImplClassLoader/ActivatableImpl_Stub.java - test/jdk/java/rmi/activation/Activatable/checkImplClassLoader/CheckImplClassLoader.java - test/jdk/java/rmi/activation/Activatable/checkImplClassLoader/MyRMI.java - test/jdk/java/rmi/activation/Activatable/checkImplClassLoader/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/checkImplClassLoader/security.policy - test/jdk/java/rmi/activation/Activatable/checkRegisterInLog/ActivateMe.java - test/jdk/java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java - test/jdk/java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog_Stub.java - test/jdk/java/rmi/activation/Activatable/checkRegisterInLog/group.security.policy - test/jdk/java/rmi/activation/Activatable/checkRegisterInLog/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/checkRegisterInLog/security.policy - test/jdk/java/rmi/activation/Activatable/createPrivateActivable/ActivateMe.java - test/jdk/java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java - test/jdk/java/rmi/activation/Activatable/createPrivateActivable/group.security.policy - test/jdk/java/rmi/activation/Activatable/createPrivateActivable/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/createPrivateActivable/security.policy - test/jdk/java/rmi/activation/Activatable/downloadParameterClass/Bar.java - test/jdk/java/rmi/activation/Activatable/downloadParameterClass/DownloadParameterClass.java - test/jdk/java/rmi/activation/Activatable/downloadParameterClass/Foo.java - test/jdk/java/rmi/activation/Activatable/downloadParameterClass/FooReceiverImpl.java - test/jdk/java/rmi/activation/Activatable/downloadParameterClass/FooReceiverImpl_Stub.java - test/jdk/java/rmi/activation/Activatable/downloadParameterClass/group.security.policy - test/jdk/java/rmi/activation/Activatable/downloadParameterClass/manual.security.policy - test/jdk/java/rmi/activation/Activatable/downloadParameterClass/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/downloadParameterClass/security.policy - test/jdk/java/rmi/activation/Activatable/elucidateNoSuchMethod/ActivateMe.java - test/jdk/java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod.java - test/jdk/java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod_Stub.java - test/jdk/java/rmi/activation/Activatable/elucidateNoSuchMethod/group.security.policy - test/jdk/java/rmi/activation/Activatable/elucidateNoSuchMethod/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/elucidateNoSuchMethod/security.policy - test/jdk/java/rmi/activation/Activatable/extLoadedImpl/CheckLoader.java - test/jdk/java/rmi/activation/Activatable/extLoadedImpl/ExtLoadedImpl.java - test/jdk/java/rmi/activation/Activatable/extLoadedImpl/ExtLoadedImplTest.java - test/jdk/java/rmi/activation/Activatable/extLoadedImpl/ExtLoadedImpl_Stub.java - test/jdk/java/rmi/activation/Activatable/extLoadedImpl/ext.sh - test/jdk/java/rmi/activation/Activatable/extLoadedImpl/group.security.policy - test/jdk/java/rmi/activation/Activatable/extLoadedImpl/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/extLoadedImpl/security.policy - test/jdk/java/rmi/activation/Activatable/forceLogSnapshot/ActivateMe.java - test/jdk/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java - test/jdk/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot_Skel.java - test/jdk/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot_Stub.java - test/jdk/java/rmi/activation/Activatable/forceLogSnapshot/group.security.policy - test/jdk/java/rmi/activation/Activatable/forceLogSnapshot/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/forceLogSnapshot/security.policy - test/jdk/java/rmi/activation/Activatable/inactiveGroup/ActivateMe.java - test/jdk/java/rmi/activation/Activatable/inactiveGroup/InactiveGroup.java - test/jdk/java/rmi/activation/Activatable/inactiveGroup/InactiveGroup_Stub.java - test/jdk/java/rmi/activation/Activatable/inactiveGroup/group.security.policy - test/jdk/java/rmi/activation/Activatable/inactiveGroup/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/inactiveGroup/security.policy - test/jdk/java/rmi/activation/Activatable/lookupActivationSystem/LookupActivationSystem.java - test/jdk/java/rmi/activation/Activatable/lookupActivationSystem/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/nestedActivate/ActivateMe.java - test/jdk/java/rmi/activation/Activatable/nestedActivate/NestedActivate.java - test/jdk/java/rmi/activation/Activatable/nestedActivate/NestedActivate_Stub.java - test/jdk/java/rmi/activation/Activatable/nestedActivate/group.security.policy - test/jdk/java/rmi/activation/Activatable/nestedActivate/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/nestedActivate/security.policy - test/jdk/java/rmi/activation/Activatable/nonExistentActivatable/ActivateMe.java - test/jdk/java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActivatable.java - test/jdk/java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActivatable_Stub.java - test/jdk/java/rmi/activation/Activatable/nonExistentActivatable/group.security.policy - test/jdk/java/rmi/activation/Activatable/nonExistentActivatable/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/nonExistentActivatable/security.policy - test/jdk/java/rmi/activation/Activatable/notSerializable/NotSerializable.java - test/jdk/java/rmi/activation/Activatable/restartCrashedService/ActivateMe.java - test/jdk/java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService.java - test/jdk/java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService_Stub.java - test/jdk/java/rmi/activation/Activatable/restartCrashedService/group.security.policy - test/jdk/java/rmi/activation/Activatable/restartCrashedService/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/restartCrashedService/security.policy - test/jdk/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer.java - test/jdk/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer_Stub.java - test/jdk/java/rmi/activation/Activatable/restartLatecomer/group.security.policy - test/jdk/java/rmi/activation/Activatable/restartLatecomer/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/restartLatecomer/security.policy - test/jdk/java/rmi/activation/Activatable/restartService/ActivateMe.java - test/jdk/java/rmi/activation/Activatable/restartService/RestartService.java - test/jdk/java/rmi/activation/Activatable/restartService/RestartService_Stub.java - test/jdk/java/rmi/activation/Activatable/restartService/group.security.policy - test/jdk/java/rmi/activation/Activatable/restartService/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/restartService/security.policy - test/jdk/java/rmi/activation/Activatable/shutdownGracefully/RegisteringActivatable.java - test/jdk/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java - test/jdk/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully_Stub.java - test/jdk/java/rmi/activation/Activatable/shutdownGracefully/TestSecurityManager.java - test/jdk/java/rmi/activation/Activatable/shutdownGracefully/group.security.policy - test/jdk/java/rmi/activation/Activatable/shutdownGracefully/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/shutdownGracefully/security.policy - test/jdk/java/rmi/activation/Activatable/unregisterInactive/ActivateMe.java - test/jdk/java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive.java - test/jdk/java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive_Stub.java - test/jdk/java/rmi/activation/Activatable/unregisterInactive/group.security.policy - test/jdk/java/rmi/activation/Activatable/unregisterInactive/rmid.security.policy - test/jdk/java/rmi/activation/Activatable/unregisterInactive/security.policy - test/jdk/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java - test/jdk/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails_Stub.java - test/jdk/java/rmi/activation/ActivateFailedException/activateFails/ActivateMe.java - test/jdk/java/rmi/activation/ActivateFailedException/activateFails/ShutdownThread.java - test/jdk/java/rmi/activation/ActivateFailedException/activateFails/group.security.policy - test/jdk/java/rmi/activation/ActivateFailedException/activateFails/rmid.security.policy - test/jdk/java/rmi/activation/ActivateFailedException/activateFails/security.policy - test/jdk/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java - test/jdk/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup_Stub.java - test/jdk/java/rmi/activation/ActivationGroup/downloadActivationGroup/MyActivationGroupImpl.java - test/jdk/java/rmi/activation/ActivationGroup/downloadActivationGroup/group.security.policy - test/jdk/java/rmi/activation/ActivationGroup/downloadActivationGroup/rmid.security.policy - test/jdk/java/rmi/activation/ActivationGroup/downloadActivationGroup/security.policy - test/jdk/java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java - test/jdk/java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java - test/jdk/java/rmi/activation/ActivationSystem/activeGroup/rmid.security.policy - test/jdk/java/rmi/activation/ActivationSystem/activeGroup/security.policy - test/jdk/java/rmi/activation/ActivationSystem/modifyDescriptor/ActivateMe.java - test/jdk/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java - test/jdk/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor_Stub.java - test/jdk/java/rmi/activation/ActivationSystem/modifyDescriptor/group.security.policy - test/jdk/java/rmi/activation/ActivationSystem/modifyDescriptor/rmid.security.policy - test/jdk/java/rmi/activation/ActivationSystem/modifyDescriptor/security.policy - test/jdk/java/rmi/activation/ActivationSystem/stubClassesPermitted/CanCreateStubs.java - test/jdk/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted.java - test/jdk/java/rmi/activation/ActivationSystem/stubClassesPermitted/StubClassesPermitted_Stub.java - test/jdk/java/rmi/activation/ActivationSystem/stubClassesPermitted/group.security.policy - test/jdk/java/rmi/activation/ActivationSystem/stubClassesPermitted/rmid.security.policy - test/jdk/java/rmi/activation/ActivationSystem/stubClassesPermitted/security.policy - test/jdk/java/rmi/activation/ActivationSystem/unregisterGroup/ActivateMe.java - test/jdk/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java - test/jdk/java/rmi/activation/ActivationSystem/unregisterGroup/group.security.policy - test/jdk/java/rmi/activation/ActivationSystem/unregisterGroup/rmid.security.policy - test/jdk/java/rmi/activation/ActivationSystem/unregisterGroup/security.policy - test/jdk/java/rmi/activation/CommandEnvironment/Doctor.java - test/jdk/java/rmi/activation/CommandEnvironment/Doctor_Stub.java - test/jdk/java/rmi/activation/CommandEnvironment/Eliza.java - test/jdk/java/rmi/activation/CommandEnvironment/NullOptions.java - test/jdk/java/rmi/activation/CommandEnvironment/Retireable.java - test/jdk/java/rmi/activation/CommandEnvironment/SetChildEnv.java - test/jdk/java/rmi/activation/CommandEnvironment/group.security.policy - test/jdk/java/rmi/activation/CommandEnvironment/rmid.security.policy - test/jdk/java/rmi/activation/CommandEnvironment/security.policy - test/jdk/java/rmi/activation/log/LogTest.java - test/jdk/java/rmi/activation/nonLocalActivation/NonLocalActivationTest.java - test/jdk/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java - test/jdk/java/rmi/activation/rmidViaInheritedChannel/rmid.security.policy ! test/jdk/java/rmi/registry/altSecurityManager/AltSecurityManager.java ! test/jdk/java/rmi/registry/altSecurityManager/TestSecurityManager.java ! test/jdk/java/rmi/registry/altSecurityManager/rmid.security.policy - test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressConstants.java - test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressInputStream.java - test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/CompressOutputStream.java - test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/Echo.java - test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/EchoImpl.java - test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/EchoImpl_Stub.java - test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/MultiSocketFactory.java - test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/UseCustomSocketFactory.java - test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/group.security.policy - test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/rmid.security.policy - test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/security.policy ! test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/registry/security.policy ! test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/UseCustomSocketFactory.java ! test/jdk/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/security.policy ! test/jdk/java/rmi/server/RemoteObject/unrecognizedRefType/UnrecognizedRefType.java ! test/jdk/java/rmi/server/clientStackTrace/security.policy - test/jdk/java/rmi/testlibrary/ActivationLibrary.java ! test/jdk/java/rmi/testlibrary/JavaVM.java ! test/jdk/java/rmi/testlibrary/README.jcov - test/jdk/java/rmi/testlibrary/RMID.java - test/jdk/java/rmi/testlibrary/RMIDSelectorProvider.java ! test/jdk/java/rmi/testlibrary/TestLibrary.java ! test/jdk/java/rmi/testlibrary/TestParams.java ! test/jdk/java/rmi/transport/checkLeaseInfoLeak/security.policy ! test/jdk/java/rmi/transport/dgcDeadLock/registry.security.policy ! test/jdk/java/rmi/transport/dgcDeadLock/security.policy ! test/jdk/java/security/PermissionCollection/Concurrent.java ! test/jdk/tools/launcher/HelpFlagsTest.java ! test/jdk/tools/launcher/VersionCheck.java Changeset: 41185d38 Author: Xin Liu Committer: Paul Hohensee Date: 2021-05-27 16:35:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/41185d38f21e448370433f7e4f1633777cab6170 8229517: Support for optional asynchronous/buffered logging Reviewed-by: ysuenaga, simonis, stuefe, phh, dholmes, ayang ! src/hotspot/os/windows/os_windows.cpp + src/hotspot/share/logging/logAsyncWriter.cpp + src/hotspot/share/logging/logAsyncWriter.hpp ! src/hotspot/share/logging/logConfiguration.cpp ! src/hotspot/share/logging/logConfiguration.hpp ! src/hotspot/share/logging/logDecorators.hpp ! src/hotspot/share/logging/logFileOutput.cpp ! src/hotspot/share/logging/logFileOutput.hpp ! src/hotspot/share/logging/logOutputList.hpp ! src/hotspot/share/logging/logTagSet.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/init.cpp ! src/hotspot/share/runtime/os.hpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/hashtable.cpp ! test/hotspot/gtest/logging/logTestFixture.cpp ! test/hotspot/gtest/logging/logTestUtils.inline.hpp + test/hotspot/gtest/logging/test_asynclog.cpp ! test/hotspot/gtest/logging/test_log.cpp + test/hotspot/jtreg/gtest/AsyncLogGtest.java Changeset: ae258f1e Author: ?????? ??????? Committer: Claes Redestad Date: 2021-05-27 20:21:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ae258f1e6a6335585190aaa9358a4290a453fdbf 8265418: Clean-up redundant null-checks of Class.getPackageName() Reviewed-by: redestad ! src/java.base/share/classes/java/io/ObjectStreamClass.java ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java ! src/java.base/share/classes/sun/invoke/util/VerifyAccess.java ! src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java Changeset: 8a31c075 Author: Daniel D. Daugherty Date: 2021-05-27 20:26:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8a31c07598cd5ea1305a9706d80b0251fd3a1e6d 8267886: ProblemList javax/management/remote/mandatory/connection/RMIConnector_NPETest.java Reviewed-by: smarks ! test/jdk/ProblemList.txt Changeset: 7f52c50b Author: Alexander Zuev Date: 2021-05-27 21:49:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7f52c50ba32eecf5f379f8db30ac6a5cc50b3b66 8182043: Access to Windows Large Icons Reviewed-by: aivanov, azvegint, prr ! src/java.desktop/share/classes/javax/swing/filechooser/FileSystemView.java ! src/java.desktop/share/classes/sun/awt/shell/ShellFolder.java ! src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java ! src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java ! src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp + test/jdk/javax/swing/JFileChooser/FileSystemView/SystemIconTest.java Changeset: 95b1fa7a Author: Claes Redestad Date: 2021-05-27 23:09:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/95b1fa7a88ec3c017734c9d0a6b6b6117f74a610 8267529: StringJoiner can create a String that breaks String::equals Reviewed-by: naoto ! src/java.base/share/classes/java/lang/String.java ! test/jdk/java/lang/String/StringJoinTest.java Changeset: 0c9daa7e Author: Tagir F. Valeev Date: 2021-05-28 01:56:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0c9daa7ed579cd82343f37a68964876ebc48122e 8265029: Preserve SIZED characteristics on slice operations (skip, limit) Reviewed-by: psandoz ! src/java.base/share/classes/java/util/stream/AbstractPipeline.java ! src/java.base/share/classes/java/util/stream/PipelineHelper.java ! src/java.base/share/classes/java/util/stream/ReduceOps.java ! src/java.base/share/classes/java/util/stream/SliceOps.java ! src/java.base/share/classes/java/util/stream/StreamOpFlag.java ! src/java.base/share/classes/java/util/stream/StreamSpliterators.java ! test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/CountTest.java ! test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java + test/micro/org/openjdk/bench/java/util/stream/ops/ref/SliceToList.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/SizedCount.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/SizedSum.java + test/micro/org/openjdk/bench/java/util/stream/ops/value/SliceToArray.java Changeset: 6eb91145 Author: Jaroslav Tulach Committer: Jonathan Gibbons Date: 2021-05-28 04:16:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6eb91145823275248d049f8557462f09270c0b36 8266877: Missing local debug information when debugging JEP-330 Reviewed-by: alanb, jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/launcher/Main.java Changeset: 97ec5ad0 Author: Robbin Ehn Date: 2021-05-28 07:30:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/97ec5ad0a6ed2cd87a9c75b0559e9bb55b72121e 8265753: Remove manual JavaThread transitions to blocked Reviewed-by: dcubed, rrich, dholmes, pchilanomate ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiRawMonitor.cpp ! src/hotspot/share/prims/jvmtiRawMonitor.hpp ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/handshake.hpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/objectMonitor.cpp ! src/hotspot/share/runtime/objectMonitor.hpp Changeset: 1d2c7ac3 Author: Volker Simonis Date: 2021-05-28 08:32:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1d2c7ac3f7492b335757bf0fd3f6ca3941c5fc72 8267555: Fix class file version during redefinition after 8238048 Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp + test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/ClassVersionAfterRedefine.java + test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/TestClassNew.jasm + test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/TestClassOld.jasm Changeset: d85793d0 Author: duke Date: 2021-05-28 11:00:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d85793d0e995a30e751e519029e3a61f19974cef Automatic merge of jdk:master into master From duke at openjdk.java.net Fri May 28 11:08:40 2021 From: duke at openjdk.java.net (J.Duke) Date: Fri, 28 May 2021 11:08:40 GMT Subject: [foreign-memaccess+abi] RFR: Merge master Message-ID: <8inAKVp1NLC1kri0nd35Ri8Efw4s5l5REfBc-cmijPk=.58482dea-c00b-4ac1-8905-afbebdfd34b1@github.com> Hi all, this is an _automatically_ generated pull request to notify you that there are 90 commits from the branch `master`that can **not** be merged into the branch `foreign-memaccess+abi`: The following files contains merge conflicts: - src/java.base/share/classes/java/lang/Module.java - src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java All Committers in this [project](https://openjdk.java.net/census#panama) have access to my [personal fork](https://github.com/openjdk-bot/panama-foreign) and can therefore help resolve these merge conflicts (you may want to coordinate who should do this). The following paragraphs will give an example on how to solve these merge conflicts and push the resulting merge commit to this pull request. The below commands should be run in a local clone of your [personal fork](https://wiki.openjdk.java.net/display/skara#Skara-Personalforks) of the [openjdk/panama-foreign](https://github.com/openjdk/panama-foreign) repository. # Ensure target branch is up to date $ git checkout foreign-memaccess+abi $ git pull https://github.com/openjdk/panama-foreign.git foreign-memaccess+abi # Fetch and checkout the branch for this pull request $ git fetch https://github.com/openjdk-bot/panama-foreign.git +96:openjdk-bot-96 $ git checkout openjdk-bot-96 # Merge the target branch $ git merge foreign-memaccess+abi When you have resolved the conflicts resulting from the `git merge` command above, run the following commands to create a merge commit: $ git add paths/to/files/with/conflicts $ git commit -m 'Merge master' When you have created the merge commit, run the following command to push the merge commit to this pull request: $ git push https://github.com/openjdk-bot/panama-foreign.git openjdk-bot-96:96 _Note_: if you are using SSH to push commits to GitHub, then change the URL in the above `git push` command accordingly. Thanks, J. Duke ------------- Commit messages: - Automatic merge of jdk:master into master - 8267555: Fix class file version during redefinition after 8238048 - 8265753: Remove manual JavaThread transitions to blocked - 8266877: Missing local debug information when debugging JEP-330 - 8265029: Preserve SIZED characteristics on slice operations (skip, limit) - 8267529: StringJoiner can create a String that breaks String::equals - 8182043: Access to Windows Large Icons - 8267886: ProblemList javax/management/remote/mandatory/connection/RMIConnector_NPETest.java - 8265418: Clean-up redundant null-checks of Class.getPackageName() - 8229517: Support for optional asynchronous/buffered logging - ... and 80 more: https://git.openjdk.java.net/panama-foreign/compare/3241dded...d85793d0 The webrev contains the conflicts with foreign-memaccess+abi: - merge conflicts: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=542&range=00.conflicts Changes: https://git.openjdk.java.net/panama-foreign/pull/542/files Stats: 39261 lines in 1604 files changed: 8745 ins; 26930 del; 3586 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/542.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/542/head:pull/542 PR: https://git.openjdk.java.net/panama-foreign/pull/542 From markus.knetschke at gmail.com Fri May 28 14:03:21 2021 From: markus.knetschke at gmail.com (Markus Knetschke) Date: Fri, 28 May 2021 16:03:21 +0200 Subject: A few considerations (mostly) on jextract In-Reply-To: <4ca8dae3-1e23-9ce6-ac2e-79bf5ff2e3f6@oracle.com> References: <4ca8dae3-1e23-9ce6-ac2e-79bf5ff2e3f6@oracle.com> Message-ID: On 17/05/2021 22:27, Maurizio Cimadamore wrote: > > > On 17/05/2021 19:14, Markus Knetschke wrote: > > On 17/5/2021 11:54, Maurizio Cimadamore wrote: > >>> 1) the classes for structs jextract generates don't feel very oo to > >>> me. I would like to see a class with constructor and getter/setter > >>> methods encapsulating the MemorySegment. > >> I hear you - this is indeed possible, at the cost of more allocation. > >> For now we have tried to stick to a principle that jextract should not > >> add overhead, but I tend to agree that, in the case of struct, this ends > >> up being punitive at times (especially when you have structs nested > >> inside structs nested inside structs). > >> > >> I believe at some point some other experiment will be made to make > >> struct handling more OO (as you say), and, if we can get some help from > >> Valhalla primitive types, maybe we won't even pay a performance price! > > Don't get me wrong, I don't suggest removing the > > public static MemoryAddress xxx$get(MemorySegment seg) > > accessors but add a MemorySegment field, a constructor, and accessors. > > So everyone can choose if one uses the static methods or calls the constructor. > > Bonus Points if jextract generates additional downcalls extracting the > > MemorySegment from wrapper objects and upcall wrapper calling > > the constructor of the wrapper objects. > > I've tried a simple annotation processor which works well > > when there is a solution for 2). So it's not the highest priority > > and I guess we get at least 2 release cycles before jextract > > reaches preview status. Enough time to experiment with multiple variants. > > So you are suggesting to offer both variants - both static (which is > what we have) and object-oriented, with instance methods. > > Yeah - the two might definitively coexist, and you are right that, there > are, in general, good use cases for both. Yes so anyone who wants the maximum performance could use the static accessors and who might accept the "performance loss" through the object instantiation (I guess C2 could often optimize the allocation away), could use the oo model. > > > > >>> 3) I often encounter fixed-length arrays in structs holding stings. > >>> The best way I've found to extract them safely is to first get the > >>> start offset of the string with MemoryLayout.byteOffset(path) then > >>> extracting the size of the struct field with > >>> MemoryLayout.select(path).byteSize() and reading the string with > >>> CLinker.toJavaString(struct.asSlice(offset, size)) this is very bulky > >>> for simple things like putting ten strings from a struct into a > >>> record. I would like to see a simpler way for this for example a > >>> MemorySegment.asSlice(MemoryLayout, PathElement...) method. (This > >>> would be handy too for byte array struct fields. > >> In the new API, we have a new method in MemoryLayout like this: > >> > >> default MethodHandle sliceHandle(PathElement... elements) { > >> > >> Which I think does what you want? > >> > > It looks a bit better than my own public static asSlice method but I'm not sure > > if a task simple as reading a fixed-length string of a struct should > > be as long as > > CLinker.toJavaString((MemorySegment) > > getSubvolInfoIoctlArgs.sliceHandle(groupElement("name")).invoke(ioctlArg)) > > or reading a fixed number of bytes > > ((MemorySegment) > > getSubvolInfoIoctlArgs.sliceHandle(groupElement("parent_uuid")).invoke(ioctlArg)).toByteArray() > > having a > > MethodHandle(MemorySegment, PathElement...)MemorySegment > > would be more useful because you could .bindTo() the struct and access multiple > > fields through it. Bringing the aboth example to: > > var getSlice = getSubvolInfoIoctlArgs.sliceHandle().bindTo(ioctlArg) > > CLinker.toJavaString((MemorySegment) getSlice.invoke(groupElement("name")) > > ((MemorySegment) getSlice.invoke(groupElement("parent_uuid"))).toByteArray() > > > > But with this, the needed cast and the try {} catch (Throwable ignored) {} > > remain and are looking very ugly in my mind. > > On the other hand, it's only a problem if you don't want to use jextract. > > I'll need to think more about this - but it seems to me that with the > asSlice MethodHandle you want to build up as much access as you can > before hand. For instance, you could create the sliceHandle before hand > and stick it into a static final field (as that's the only way the MH > will optimize properly). Then you can combine the slice method handle > with a method handle for CLinker::toJavaString (using > filterReturnValue). That way you can simply access the fixed length > string by calling a single method handle, and, since the method handle > is static, it will be optimized accordingly. > > In other words, path elements are static coordinates which you should > use to build var/method handles, which you then store in static fields. > That way access expression is optimized all the way down. Having a > method handle whose access expression is "parametric" means that there's > no way for the underlying access to be optimized. This also calls for automatic generation from jextract. Sadly this must be either a configuration in jextract to enable this or a second accessor because not all char[xxx] containing strings. I think there are two variants someone uses the Java Foreign Linker API. The first one is the "sqlite wrapper" way where you want the best possible performance and jit compiler compatibility even if you have to write a bit more code. The other one is the "I just want one piece of info on startup" this code will mostly never see the jit compiler. For this, I'm not sure if it's a good idea to treat readability with performance. On the other side, I also see the burden of adding and supporting a second API. In the end, I could only tell what I would like to see in the API as a consumer. The other way is using jextract only for the "low level" stuff and adding comfort features with other tools. This doesn't work currently because the generated code exposes not enough information, I've mentioned the FunctionDescriptor already. Another piece I miss is the type information of struct * parameter. It would be nice to have a way to get to the information, for example through an annotation on the parameter. An example would be: struct fuse *fuse_new(struct fuse_args *args, const struct fuse_operations *op, size_t op_size, void *private_data); would result in: public static @Struct(name = "fuse") MemoryAddress fuse_new( @Struct(name = "fuse_args", type = fuse_args.class) Addressable args, @Struct(name = "fuse_operations", type = fuse_operations.class) Addressable op, @Type(name = "size_t") long op_size, @TypePtr(name = "void") Addressable private_data ) (the return value has no type because "fuse" is a opaque type) with this, a code generator could generate a wrapper that adds typesafety, and anyone using the jextract generated code could also use the type names without having to always look into the source header file. This is especially useful for headers that don't expose parameter names. For example, the fuse read upcall int (*read) (const char *, char *, size_t, off_t, struct fuse_file_info *); looks like this: int apply(MemoryAddress x0, MemoryAddress x1, long x2, long x3, MemoryAddress x4); I've now also found the time to port my tests to the new preview (after a lot of meetings about how much code needs a rewrite because of JEP411) and I love a lot of the changes. Two questions: What is now the recommended way to get a MemorySegment from MemoryAddress parameters of upcalls which lifetime is mostly restricted to the call after the removal of asSegmentRestricted(long)? Creating a new scope for each call sounds like a lot of overhead, so should I inject an outside managed scope into the implementations or use the scope of the Addr (which for the upcalls is the global scope) and if this is the way to go why is the asSegment without scope is removed? And the second question is there a reason why ResourceScope.Handle isn't AutoCloseable? The provided example would look a lot cleaner with it: try (ResourceScope.Handle segmentHandle = segment.scope().acquire()) { } Best regards, Markus Knetschke From maurizio.cimadamore at oracle.com Fri May 28 14:59:19 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 28 May 2021 15:59:19 +0100 Subject: A few considerations (mostly) on jextract In-Reply-To: References: <4ca8dae3-1e23-9ce6-ac2e-79bf5ff2e3f6@oracle.com> Message-ID: <30e62535-a69c-f243-0794-63e6fd69b730@oracle.com> > The other way is using jextract only for the "low level" stuff and > adding comfort features > with other tools. This doesn't work currently because the generated > code exposes not > enough information, I've mentioned the FunctionDescriptor already. Yes, as I said, that one is going to be addressed. > Another piece I miss is the type information of struct * parameter. It > would be nice > to have a way to get to the information, for example through an > annotation on the parameter. > An example would be: > > struct fuse *fuse_new(struct fuse_args *args, const struct fuse_operations *op, > size_t op_size, void *private_data); > > would result in: > > public static @Struct(name = "fuse") MemoryAddress fuse_new( > @Struct(name = "fuse_args", type = fuse_args.class) Addressable args, > @Struct(name = "fuse_operations", type = fuse_operations.class) > Addressable op, > @Type(name = "size_t") long op_size, > @TypePtr(name = "void") Addressable private_data > ) > (the return value has no type because "fuse" is a opaque type) > with this, a code generator could generate a wrapper that adds > typesafety, and anyone using > the jextract generated code could also use the type names without > having to always look into > the source header file. This is especially useful for headers that > don't expose parameter names. > For example, the fuse read upcall > int (*read) (const char *, char *, size_t, off_t, struct fuse_file_info *); > > looks like this: > > int apply(MemoryAddress x0, MemoryAddress x1, long x2, long x3, > MemoryAddress x4); We used to have a @C type annotation to attach the C type name to the various entities generated by jextract. We abandoned that approach because type annotation are not uniformly supported by IDEs, we plan to come back and add javadoc comments which contain the full description of the C signature. So, I think that covers the "using jextract generated code" use case well (better than annotations). But your idea of attaching more stringy type info in the function (for other tools) is good, I believe, and one which I believe we can get to by adding layout attributes to the function descriptor (instead of using Java annotations): FunctionDescriptor.of( ???? C_POINTER.withAttribute(C_TYPE, "fuse*") ???? C_POINTER.withAttribute(C_TYPE, "fuse_args*").withAttribute(JAVA_TYPE, fuse_args.class) ???? ... ) That way the function descriptor will be fully inspectable - although not statically so - which might or might not be enough. > > > I've now also found the time to port my tests to the new preview > (after a lot of meetings about > how much code needs a rewrite because of JEP411) and I love a lot of > the changes. > Two questions: > What is now the recommended way to get a MemorySegment from > MemoryAddress parameters of > upcalls which lifetime is mostly restricted to the call after the > removal of asSegmentRestricted(long)? The method is still there - just the Restricted suffix has gone :-) > Creating a new scope for each call sounds like a lot of overhead, so > should I inject an outside > managed scope into the implementations or use the scope of the Addr > (which for the upcalls is > the global scope) and if this is the way to go why is the asSegment > without scope is removed? I think the code should work as before. Just the method name changed. > > And the second question is there a reason why ResourceScope.Handle > isn't AutoCloseable? > The provided example would look a lot cleaner with it: > > try (ResourceScope.Handle segmentHandle = segment.scope().acquire()) { > > } There are issues with using TWR in that way - javac will issue warnings as the "resource" is not used inside the TWR body, so we opted for this other variant. In any case we have plans to switch to a simpler API for doing the same in 18 - I plan to share something on that topic shortly. Cheers Maurizio > > Best regards, > Markus Knetschke From markus.knetschke at gmail.com Fri May 28 15:26:12 2021 From: markus.knetschke at gmail.com (Markus Knetschke) Date: Fri, 28 May 2021 17:26:12 +0200 Subject: A few considerations (mostly) on jextract In-Reply-To: <30e62535-a69c-f243-0794-63e6fd69b730@oracle.com> References: <4ca8dae3-1e23-9ce6-ac2e-79bf5ff2e3f6@oracle.com> <30e62535-a69c-f243-0794-63e6fd69b730@oracle.com> Message-ID: > But your idea of attaching more stringy type info in the function (for > other tools) is good, I believe, and one which I believe we can get to > by adding layout attributes to the function descriptor (instead of using > Java annotations): > > FunctionDescriptor.of( > C_POINTER.withAttribute(C_TYPE, "fuse*") > C_POINTER.withAttribute(C_TYPE, > "fuse_args*").withAttribute(JAVA_TYPE, fuse_args.class) > ... > ) > > That way the function descriptor will be fully inspectable - although > not statically so - which might or might not be enough. This would be great for the start, sadly it would be quite hard to parse with an annotation processor (which is a feature I this is very underused). I would really prefer a way useable from an annotation processor. > > > > > > I've now also found the time to port my tests to the new preview > > (after a lot of meetings about > > how much code needs a rewrite because of JEP411) and I love a lot of > > the changes. > > Two questions: > > What is now the recommended way to get a MemorySegment from > > MemoryAddress parameters of > > upcalls which lifetime is mostly restricted to the call after the > > removal of asSegmentRestricted(long)? > The method is still there - just the Restricted suffix has gone :-) At least in the current preview FuseFileInfo(MemoryAddress addr) { this.seg = addr.asSegment(org.fuse.fuse_file_info.sizeof()); } doesn't compile and I can't see a asSegment method with only a size parameter in https://download.java.net/java/early_access/panama/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/MemoryAddress.html https://github.com/openjdk/panama-foreign/blob/foreign-jextract/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java Best regards, Markus Knetschke From maurizio.cimadamore at oracle.com Fri May 28 16:34:08 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 28 May 2021 17:34:08 +0100 Subject: taming resource scopes Message-ID: Hi, we've been looking beyond 17 at things we can do to improve support for resource scopes, especially in the context of native calls. I tried to capture the various things we explored in the writeup below: https://inside.java/2021/05/28/taming-resource-scopes/ I think overall the takeaway points are pretty good: * we can simplify the acquire/release scope mechanism with a better, higher-level API * we can enhance safety when calling native functions using _any kind_ of resource scopes (with relatively little overhead) * we can make it easier to tailor the safety characteristics of CLinker to suit application needs Cheers Maurizio From maurizio.cimadamore at oracle.com Fri May 28 16:36:12 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 28 May 2021 17:36:12 +0100 Subject: A few considerations (mostly) on jextract In-Reply-To: References: <4ca8dae3-1e23-9ce6-ac2e-79bf5ff2e3f6@oracle.com> <30e62535-a69c-f243-0794-63e6fd69b730@oracle.com> Message-ID: <8e52f16f-406c-4b5c-a366-518edfce673a@oracle.com> On 28/05/2021 16:26, Markus Knetschke wrote: > At least in the current preview > FuseFileInfo(MemoryAddress addr) { > this.seg = addr.asSegment(org.fuse.fuse_file_info.sizeof()); > } > doesn't compile and I can't see a asSegment method with only a size > parameter in > https://urldefense.com/v3/__https://download.java.net/java/early_access/panama/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/MemoryAddress.html__;!!GqivPVa7Brio!MvdeQzXPIWBfDnE1gVrydkgUwGsPicM0fGxjIYk2pQnNLotNgzeRrj7C2p_m33TOp_aScFI$ > https://urldefense.com/v3/__https://github.com/openjdk/panama-foreign/blob/foreign-jextract/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java__;!!GqivPVa7Brio!MvdeQzXPIWBfDnE1gVrydkgUwGsPicM0fGxjIYk2pQnNLotNgzeRrj7C2p_m33TOzPW8Zqo$ > > Best regards, > Markus Knetschke It's: addr.asSegment(org.fuse.fuse_file_info.sizeof(), ResourceScope.globalScope()) This does the same thing as the method it replaces (globalScope() accesses a static final constant, no instance creation worries :-) ) Maurizio From maurizio.cimadamore at oracle.com Fri May 28 16:37:19 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 28 May 2021 17:37:19 +0100 Subject: A few considerations (mostly) on jextract In-Reply-To: References: <4ca8dae3-1e23-9ce6-ac2e-79bf5ff2e3f6@oracle.com> <30e62535-a69c-f243-0794-63e6fd69b730@oracle.com> Message-ID: <0e65fdba-8600-785e-c165-cd1f7c545a41@oracle.com> On 28/05/2021 16:26, Markus Knetschke wrote: > This would be great for the start, sadly it would be quite hard to parse with > an annotation processor (which is a feature I this is very underused). > I would really prefer a way useable from an annotation processor. I was thinking more about a tool which loads the generated binding, and inspect the various FunctionDescriptors (once they are made available) using reflection. Maurizio From leerho at gmail.com Fri May 28 21:37:57 2021 From: leerho at gmail.com (leerho) Date: Fri, 28 May 2021 14:37:57 -0700 Subject: Part 1 Proposal for JDK-8264594 In-Reply-To: References: <375d21c5-4a53-a661-dfea-1464fa11df9d@oracle.com> <3857338c-b4ce-e559-bc75-6f06671989ba@oracle.com> <31fde1e0-7159-afb0-a79c-fa5e320e6844@oracle.com> <49091534-aa0f-81f7-2536-ff788e6377cf@oracle.com> <0b5ac260-4e87-4a92-53ca-b670a451f552@oracle.com> <50605287-4e54-7dde-14e5-d521c19301be@oracle.com> Message-ID: Maurizio, Again sorry about the delay. Attached is a template proposal for the MemoryCopy class. I can't complete this without your proposed new copyFrom(...) method in MemorySegment. As it is written, it should work, but without the byte swap capability. I can complete the rest of the primitives like this template, if you would like with javadocs. I could also start writing tests, but without the byte-swap. Let me know what would be most helpful. Cheers, Lee On Thu, May 20, 2021 at 11:36 AM leerho wrote: > Of course! > > On Thu, May 20, 2021 at 9:42 AM Maurizio Cimadamore < > maurizio.cimadamore at oracle.com> wrote: > >> >> On 20/05/2021 17:13, leerho wrote: >> >> I am not sure if the *dstSegSlice* requires the *srcCopyLen*. I would >> hope that it is smart enough to realize that the input length is smaller >> than the given offset minus the segment size. >> >> asSlice has an overload that just takes an offset and infers the >> resulting size from there. >> >> But that doesn't seem what you want here - as you want the slice to have >> a specific size (the size of the input array). >> >> MemorySegment::copyFrom wants the two segments to have the same size, so >> I think you need that. >> >> In terms of performance, there's no difference between asSlice(offset) >> and asSlice(offset, size) - you have to create a new segment anyway. >> >> Maurizio >> >> >> From maurizio.cimadamore at oracle.com Fri May 28 21:53:21 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 28 May 2021 22:53:21 +0100 Subject: Part 1 Proposal for JDK-8264594 In-Reply-To: References: <3857338c-b4ce-e559-bc75-6f06671989ba@oracle.com> <31fde1e0-7159-afb0-a79c-fa5e320e6844@oracle.com> <49091534-aa0f-81f7-2536-ff788e6377cf@oracle.com> <0b5ac260-4e87-4a92-53ca-b670a451f552@oracle.com> <50605287-4e54-7dde-14e5-d521c19301be@oracle.com> Message-ID: <9608ff2a-7ecc-96da-ed40-5e666433e555@oracle.com> Thanks! I will take a look probably next week. Cheers Maurizio On 28/05/2021 22:37, leerho wrote: > Maurizio, > > Again sorry about the delay. > > Attached is a template proposal for the MemoryCopy class. > > I can't complete this without your proposed new copyFrom(...) method > in MemorySegment.?As it is written, it should work, but without the > byte swap capability. > > I can complete the rest of the primitives like this template, if you > would like with javadocs.? I could also start writing tests, but > without the byte-swap. > > Let me know what would be most?helpful. > > Cheers, > > Lee > > > > > > > > > > > On Thu, May 20, 2021 at 11:36 AM leerho > wrote: > > Of?course! > > On Thu, May 20, 2021 at 9:42 AM Maurizio Cimadamore > > wrote: > > > On 20/05/2021 17:13, leerho wrote: >> I am not sure if the /dstSegSlice/ requires the /srcCopyLen/. >> I would hope that it is smart enough to realize that the >> input length is smaller than the given offset minus the >> segment size. > > asSlice has an overload that just takes an offset and infers > the resulting size from there. > > But that doesn't seem what you want here - as you want the > slice to have a specific size (the size of the input array). > > MemorySegment::copyFrom wants the two segments to have the > same size, so I think you need that. > > In terms of performance, there's no difference between > asSlice(offset) and asSlice(offset, size) - you have to create > a new segment anyway. > > Maurizio > > From mr.chrisvest at gmail.com Sat May 29 14:35:28 2021 From: mr.chrisvest at gmail.com (Chris Vest) Date: Sat, 29 May 2021 16:35:28 +0200 Subject: taming resource scopes In-Reply-To: References: Message-ID: Hi, It's not clear to me why the Handle acquire/release API is inferior to this new proposal, or why it can't solve the use cases discussed. Looks fine, otherwise. Cheers, Chris On Fri, 28 May 2021 at 18:34, Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi, > we've been looking beyond 17 at things we can do to improve support for > resource scopes, especially in the context of native calls. I tried to > capture the various things we explored in the writeup below: > > https://inside.java/2021/05/28/taming-resource-scopes/ > > I think overall the takeaway points are pretty good: > > * we can simplify the acquire/release scope mechanism with a better, > higher-level API > * we can enhance safety when calling native functions using _any kind_ > of resource scopes (with relatively little overhead) > * we can make it easier to tailor the safety characteristics of CLinker > to suit application needs > > Cheers > Maurizio > > From mail at smogura.eu Sat May 29 15:07:37 2021 From: mail at smogura.eu (=?utf-8?B?UmFkb3PFgmF3IFNtb2d1cmE=?=) Date: Sat, 29 May 2021 15:07:37 +0000 Subject: taming resource scopes In-Reply-To: References: Message-ID: Hi Maurizio, Thank you this looks very interesting. I?ll try to integrate it with pooled allocator - I think there should be no issues nor huge performance degradation. From the other hand, I read the article and a and took a look at the pool request. I wonder if some, mentioned performance concern related to SharedScope can?t be mitigated. I think the aliveness checks (volatile state check) when calling addCloseDroendency are executed twice - once when calling this method and once with acquire. Just a micro optimization observation. Kind regards, Rado > On May 28, 2021, at 6:35 PM, Maurizio Cimadamore wrote: > > ?Hi, > we've been looking beyond 17 at things we can do to improve support for resource scopes, especially in the context of native calls. I tried to capture the various things we explored in the writeup below: > > https://inside.java/2021/05/28/taming-resource-scopes/ > > I think overall the takeaway points are pretty good: > > * we can simplify the acquire/release scope mechanism with a better, higher-level API > * we can enhance safety when calling native functions using _any kind_ of resource scopes (with relatively little overhead) > * we can make it easier to tailor the safety characteristics of CLinker to suit application needs > > Cheers > Maurizio > From maurizio.cimadamore at oracle.com Sat May 29 17:07:51 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Sat, 29 May 2021 18:07:51 +0100 Subject: taming resource scopes In-Reply-To: References: Message-ID: On 29/05/2021 16:07, Rados?aw Smogura wrote: > Hi Maurizio, > > Thank you this looks very interesting. I?ll try to integrate it with pooled allocator - I think there should be no issues nor huge performance degradation. > > From the other hand, I read the article and a and took a look at the pool request. I already did some work to merge your work with the prototype, and it actually gains few nanoseconds. That's because we no longer need to bother with releasing the same handle multiple times, so there are slightly less checks. > > I wonder if some, mentioned performance concern related to SharedScope can?t be mitigated. I think the aliveness checks (volatile state check) when calling addCloseDroendency are executed twice - once when calling this method and once with acquire. Just a micro optimization observation. Yeah - something can be improved, however the big cost comes from the CAS to acquire the counter and increment atomically. Maurizio > > Kind regards, > Rado > >> On May 28, 2021, at 6:35 PM, Maurizio Cimadamore wrote: >> >> ?Hi, >> we've been looking beyond 17 at things we can do to improve support for resource scopes, especially in the context of native calls. I tried to capture the various things we explored in the writeup below: >> >> https://urldefense.com/v3/__https://inside.java/2021/05/28/taming-resource-scopes/__;!!GqivPVa7Brio!JuxuGNyOxp3cvPBmUynQF6JTZVRBuSwna1W3h9llMiq9XtRgzhQGw_GG-TC_T4TfrDlmENY$ >> >> I think overall the takeaway points are pretty good: >> >> * we can simplify the acquire/release scope mechanism with a better, higher-level API >> * we can enhance safety when calling native functions using _any kind_ of resource scopes (with relatively little overhead) >> * we can make it easier to tailor the safety characteristics of CLinker to suit application needs >> >> Cheers >> Maurizio >> From maurizio.cimadamore at oracle.com Sat May 29 17:15:37 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Sat, 29 May 2021 18:15:37 +0100 Subject: taming resource scopes In-Reply-To: References: Message-ID: <27aac969-2291-40e1-e50a-544caab8ee9b@oracle.com> On 29/05/2021 15:35, Chris Vest wrote: > Hi, > It's not clear to me why the Handle acquire/release API is inferior to > this new proposal, or why it can't solve the use cases discussed. > Looks fine, otherwise. Hi Chris, the acquire/release is not inferior in any way. Expressiveness-wise they do exactly the same thing. As I said in another email, there is a bit less cost in the sense that not having an explicit release remove costs associated to make sure that you cannot release multiple times (which is an extra CAS in the shared case). But these are small things. The approach described in this document is an attempt to simplify the API a bit. I think the code in the proposal looks a bit better (especially when looking at how the NIO code can be simplified) and, more importantly, for the user, reasoning in terms of temporal dependencies between scopes is, I think, more intuitive than thinking about incrementing and decrementing a counter. So I was trying to offer an API which did the same thing as acquire/release, but in a way that (perhaps!) could be more easily understood. But under the hood we still have counters and acquires and releases: this is (just) a discussion on how to better surface them to clients. Maurizio > > Cheers, > Chris > > On Fri, 28 May 2021 at 18:34, Maurizio Cimadamore > > wrote: > > Hi, > we've been looking beyond 17 at things we can do to improve > support for > resource scopes, especially in the context of native calls. I > tried to > capture the various things we explored in the writeup below: > > https://inside.java/2021/05/28/taming-resource-scopes/ > > > I think overall the takeaway points are pretty good: > > * we can simplify the acquire/release scope mechanism with a better, > higher-level API > * we can enhance safety when calling native functions using _any > kind_ > of resource scopes (with relatively little overhead) > * we can make it easier to tailor the safety characteristics of > CLinker > to suit application needs > > Cheers > Maurizio > From samuel.audet at gmail.com Sat May 29 23:18:04 2021 From: samuel.audet at gmail.com (Samuel Audet) Date: Sun, 30 May 2021 08:18:04 +0900 Subject: taming resource scopes In-Reply-To: <27aac969-2291-40e1-e50a-544caab8ee9b@oracle.com> References: <27aac969-2291-40e1-e50a-544caab8ee9b@oracle.com> Message-ID: <9683ecf2-948a-2558-ad63-2f2f67d66797@gmail.com> Hi, Maurizio, Thanks for taking the time to write this down! It's all very interesting to have a sense of how various resources could be managed. This is starting to sound a lot like reference counting, and there are many implementations out there that use reference counting "automatically", most notably Swift. I'm not aware of any concurrent thread-safe implementation though, which would be nice if it can be achieved in general, but even if that works out, I'm assuming we could still end up with reference cycles. What's your thoughts on that subject? CPython deals with those with GC... Samuel On 5/30/21 2:15 AM, Maurizio Cimadamore wrote: > > On 29/05/2021 15:35, Chris Vest wrote: >> Hi, >> It's not clear to me why the Handle acquire/release API is inferior to >> this new proposal, or why it can't solve the use cases discussed. >> Looks fine, otherwise. > Hi Chris, > the acquire/release is not inferior in any way. Expressiveness-wise they > do exactly the same thing. As I said in another email, there is a bit > less cost in the sense that not having an explicit release remove costs > associated to make sure that you cannot release multiple times (which is > an extra CAS in the shared case). But these are small things. > > The approach described in this document is an attempt to simplify the > API a bit. I think the code in the proposal looks a bit better > (especially when looking at how the NIO code can be simplified) and, > more importantly, for the user, reasoning in terms of temporal > dependencies between scopes is, I think, more intuitive than thinking > about incrementing and decrementing a counter. So I was trying to offer > an API which did the same thing as acquire/release, but in a way that > (perhaps!) could be more easily understood. > > But under the hood we still have counters and acquires and releases: > this is (just) a discussion on how to better surface them to clients. > > Maurizio >> >> Cheers, >> Chris >> >> On Fri, 28 May 2021 at 18:34, Maurizio Cimadamore wrote: >> >> ??? Hi, >> ??? we've been looking beyond 17 at things we can do to improve support for >> ??? resource scopes, especially in the context of native calls. I tried to >> ??? capture the various things we explored in the writeup below: >> >> ??? https://inside.java/2021/05/28/taming-resource-scopes/ >> >> ??? I think overall the takeaway points are pretty good: >> >> ??? * we can simplify the acquire/release scope mechanism with a better, higher-level API >> ??? * we can enhance safety when calling native functions using _any kind_ >> ??? of resource scopes (with relatively little overhead) >> ??? * we can make it easier to tailor the safety characteristics of CLinker >> ??? to suit application needs >> >> ??? Cheers >> ??? Maurizio >> From xgong at openjdk.java.net Mon May 31 02:37:43 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 31 May 2021 02:37:43 GMT Subject: [vectorIntrinsics] RFR: 8266286: Add LoadVectorGather and StoreVectorScatter's partial version In-Reply-To: References: Message-ID: <_bArWogt2TOF94H9rmQWewv_lu6WXAxWHDJmJhfUCkA=.4911f254-e67d-4663-8195-353197969009@github.com> On Fri, 28 May 2021 09:37:28 GMT, Wang Huang wrote: > * Add LoadVectorGather and StoreVectorScatter's partial version > * use `sve_whilelo` src/hotspot/cpu/aarch64/aarch64_sve.ad line 4173: > 4171: instruct gatherI_partial(vReg dst, indirect mem, vReg idx, pRegGov pTmp, rFlagsReg cr) %{ > 4172: predicate(UseSVE > 0 && > 4173: n->as_LoadVectorGather()->memory_size() >= 16 && Since there is the min vector size (size in byte >= 16) limitation in `op_sve_supported`, is this needed here? ------------- PR: https://git.openjdk.java.net/panama-vector/pull/87 From whuang at openjdk.java.net Mon May 31 07:08:30 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Mon, 31 May 2021 07:08:30 GMT Subject: [vectorIntrinsics] RFR: 8266286: Add LoadVectorGather and StoreVectorScatter's partial version In-Reply-To: <_bArWogt2TOF94H9rmQWewv_lu6WXAxWHDJmJhfUCkA=.4911f254-e67d-4663-8195-353197969009@github.com> References: <_bArWogt2TOF94H9rmQWewv_lu6WXAxWHDJmJhfUCkA=.4911f254-e67d-4663-8195-353197969009@github.com> Message-ID: On Mon, 31 May 2021 02:31:31 GMT, Xiaohong Gong wrote: >> * Add LoadVectorGather and StoreVectorScatter's partial version >> * use `sve_whilelo` > > src/hotspot/cpu/aarch64/aarch64_sve.ad line 4173: > >> 4171: instruct gatherI_partial(vReg dst, indirect mem, vReg idx, pRegGov pTmp, rFlagsReg cr) %{ >> 4172: predicate(UseSVE > 0 && >> 4173: n->as_LoadVectorGather()->memory_size() >= 16 && > > Since there is the min vector size (size in byte >= 16) limitation in `op_sve_supported`, is this needed here? Sure. Thank you for your review. I will change that. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/87 From whuang at openjdk.java.net Mon May 31 07:26:49 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Mon, 31 May 2021 07:26:49 GMT Subject: [vectorIntrinsics] RFR: 8266286: Add LoadVectorGather and StoreVectorScatter's partial version [v2] In-Reply-To: References: Message-ID: > * Add LoadVectorGather and StoreVectorScatter's partial version > * use `sve_whilelo` Wang Huang has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. ------------- Changes: - all: https://git.openjdk.java.net/panama-vector/pull/87/files - new: https://git.openjdk.java.net/panama-vector/pull/87/files/7a87daf9..5f57f548 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=87&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=87&range=00-01 Stats: 192 lines in 2 files changed: 8 ins; 184 del; 0 mod Patch: https://git.openjdk.java.net/panama-vector/pull/87.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/87/head:pull/87 PR: https://git.openjdk.java.net/panama-vector/pull/87 From whuang at openjdk.java.net Mon May 31 07:26:50 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Mon, 31 May 2021 07:26:50 GMT Subject: [vectorIntrinsics] Withdrawn: 8266286: Add LoadVectorGather and StoreVectorScatter's partial version In-Reply-To: References: Message-ID: On Fri, 28 May 2021 09:37:28 GMT, Wang Huang wrote: > * Add LoadVectorGather and StoreVectorScatter's partial version > * use `sve_whilelo` This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/87 From whuang at openjdk.java.net Mon May 31 07:31:48 2021 From: whuang at openjdk.java.net (Wang Huang) Date: Mon, 31 May 2021 07:31:48 GMT Subject: [vectorIntrinsics] RFR: 8266286: Add LoadVectorGather and StoreVectorScatter's partial version Message-ID: * Add LoadVectorGather and StoreVectorScatter's partial version * use `sve_whilelo` ------------- Commit messages: - fix predicate - 8266286: Add LoadVectorGather and StoreVectorScatter's partial version Changes: https://git.openjdk.java.net/panama-vector/pull/88/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=88&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8266286 Stats: 184 lines in 2 files changed: 176 ins; 8 del; 0 mod Patch: https://git.openjdk.java.net/panama-vector/pull/88.diff Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/88/head:pull/88 PR: https://git.openjdk.java.net/panama-vector/pull/88 From xgong at openjdk.java.net Mon May 31 07:51:28 2021 From: xgong at openjdk.java.net (Xiaohong Gong) Date: Mon, 31 May 2021 07:51:28 GMT Subject: [vectorIntrinsics] RFR: 8266286: Add LoadVectorGather and StoreVectorScatter's partial version In-Reply-To: References: Message-ID: On Mon, 31 May 2021 07:20:20 GMT, Wang Huang wrote: > * Add LoadVectorGather and StoreVectorScatter's partial version > * use `sve_whilelo` Tests pass with SVE 512 vector length. So looks good to me. Thanks! ------------- Marked as reviewed by xgong (Committer). PR: https://git.openjdk.java.net/panama-vector/pull/88 From njian at openjdk.java.net Mon May 31 08:12:31 2021 From: njian at openjdk.java.net (Ningsheng Jian) Date: Mon, 31 May 2021 08:12:31 GMT Subject: [vectorIntrinsics] RFR: 8266286: Add LoadVectorGather and StoreVectorScatter's partial version In-Reply-To: References: Message-ID: On Mon, 31 May 2021 07:20:20 GMT, Wang Huang wrote: > * Add LoadVectorGather and StoreVectorScatter's partial version > * use `sve_whilelo` Looks good! Thanks! src/hotspot/cpu/aarch64/aarch64_sve.ad line 4175: > 4173: n->as_LoadVectorGather()->memory_size() < MaxVectorSize && > 4174: (n->bottom_type()->is_vect()->element_basic_type() == T_INT || > 4175: n->bottom_type()->is_vect()->element_basic_type() == T_FLOAT)); Style nit: add one more space at the beginning of these lines to have better indentation? ------------- Marked as reviewed by njian (Committer). PR: https://git.openjdk.java.net/panama-vector/pull/88 From njian at openjdk.java.net Mon May 31 08:22:29 2021 From: njian at openjdk.java.net (Ningsheng Jian) Date: Mon, 31 May 2021 08:22:29 GMT Subject: [vectorIntrinsics] RFR: 8266286: Add LoadVectorGather and StoreVectorScatter's partial version In-Reply-To: References: Message-ID: On Mon, 31 May 2021 08:09:01 GMT, Ningsheng Jian wrote: > Style nit: add one more space at the beginning of these lines to have better indentation? One more nit: I would suggest to group those gather partial rules together with other gather rules, as well as scatter parts. ------------- PR: https://git.openjdk.java.net/panama-vector/pull/88 From maurizio.cimadamore at oracle.com Mon May 31 11:57:17 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 31 May 2021 12:57:17 +0100 Subject: taming resource scopes In-Reply-To: <9683ecf2-948a-2558-ad63-2f2f67d66797@gmail.com> References: <27aac969-2291-40e1-e50a-544caab8ee9b@oracle.com> <9683ecf2-948a-2558-ad63-2f2f67d66797@gmail.com> Message-ID: <3cea136a-e273-79f5-72ae-430836804342@oracle.com> On 30/05/2021 00:18, Samuel Audet wrote: > Hi, Maurizio, > > Thanks for taking the time to write this down! It's all very > interesting to have a sense of how various resources could be managed. > > This is starting to sound a lot like reference counting, and there are > many implementations out there that use reference counting > "automatically", most notably Swift. I'm not aware of any concurrent > thread-safe implementation though, which would be nice if it can be > achieved in general, but even if that works out, I'm assuming we could > still end up with reference cycles. What's your thoughts on that > subject? CPython deals with those with GC... Hi Samuel, I believe Swift's Automatic Reference Counting (not be confused with Rust's Atomic Reference Counting - the two tragically share the same acronym :-)) is a form of garbage collection where, rather than having a separate process grovelling through memory (like the JVM's GC does), increments and decrements are generated (presumably by the compiler) in the user code directly, thus achieving a lower footprint solution, which might be good in certain situations. Of course we know the issues with reference counting when used as a _general_ mechanism for garbage collection - the main ones being the inability to deal with cycles, and another being expensive at dealing with atomicity, as you say. By the way, the latter _can_ be addressed: in fact, the other ARC, Rust's one, does exactly that [1], and, in a way, what we do for (shared) resource scopes is inspired by that work. It is just generally less efficient, as it involves atomic operations. Now, when it comes to resource scopes, it is not our goal to come up with a perfect and general garbage collection mechanism. If the users wanted that, well, they could just use the GC itself (and use an implicit, GC-backed scope). What we're after here is a mechanism which provides a _reliable_ programming model in the face of deterministic deallocation. The NIO async [2] use case shows the problem pretty clearly: * thread A initiates an async operation on a resource R * at some point later, thread B picks up resource R and starts working In this case, you need to define a "bubble" which starts when thread A submits the async operation, and finishes when thread B has finished executing such operation. If R is released between (1) and (2) several errors, with varying degree of gravity can occur - from an exception to a VM crash, if the resource is released when the IO operation has already been submitted to the OS. In the document, I note that native calls are not too different from the async use case. Ideally, you'd like for all resources used by a native call to remain alive until the native code completes. These kinds of invariants have to be built _on top_ - classic JVM's garbage collection cannot help when deterministic deallocation is involved in the picture. And, while we can use GC-related techniques to speed up access to shared segment w/o compromising safety, we can only do that if (a) access to a resource is lexically enclosed (e.g. if you could write a try/finally block around it - which e.g. you can't do in the async case, as it spans across multiple threads) and (b) if we can make sure that the number of the stack frames involved in the resource access is bounded (which is not the case with native calls, as, with upcalls, the stack during a native call can grow w/o bounds). I think it's also very interesting to notice that, even when working with a _confined_ segment, you need some way to block deterministic closure, otherwise you end up with issues in the following case: * thread A creates segment S * thread A passes pointer to S to native code * native code upcalls to some Java code * Java code (again, in thread A) closes the scope to which S belongs * when upcall completes, control returns to native call which attempts to dereference S* * crash Here we only have access from one thread - and even that is not enough to guarantee safety, as some accesses (those in native code) are blissfully unaware of the liveness checks occurring in the Java code. For these reasons we need some way to define a "bubble" where close operations are restricted. This is not a new concept, in fact the API proposed for Java 17 already had a concept of acquire/release; the document just describes a possible restacking where, instead of dealing with acquire/release calls directly, clients set up temporal dependencies between scopes (but under the hood the acquire/release remains). The only way (I know) to avoid reference counting and still get benefits of deterministic deallocation would be to track resource usage at compile-time (e.g. memory ownership) - but, when calls to foreign functions are involved, not even these more advances systems would be enough. One last note: what we do is not, strictly speaking, reference counting either :-) Reference counting is symmetric, at least in its classic definition. The following works: ``` resource.inc(); // use resource resource.dec(); ``` But so does this: ``` resource.inc(); // use resource resource.dec().dec().dec(); ``` There is something wrong with the latter example, as a client is attempting to decrement a counter which was incremented by some other use of the resource. In our API, releasing a scope (or decrementing the scope counter, if you will), can only be done by the very client that did the acquire (or increment). This is what makes the API safe - a plain reference counting mechanism (even if atomic) would have done nothing for the NIO use case, for instance, as a client could still have decremented the counter enough times so that a call to close() was possible, thus defeating the very purpose of the reference counting. Maurizio [1] - https://doc.rust-lang.org/std/sync/struct.Arc.html [2] - https://inside.java/2021/04/21/fma-and-nio-channels/ > > Samuel > > On 5/30/21 2:15 AM, Maurizio Cimadamore wrote: >> >> On 29/05/2021 15:35, Chris Vest wrote: >>> Hi, >>> It's not clear to me why the Handle acquire/release API is inferior >>> to this new proposal, or why it can't solve the use cases discussed. >>> Looks fine, otherwise. >> Hi Chris, >> the acquire/release is not inferior in any way. Expressiveness-wise >> they do exactly the same thing. As I said in another email, there is >> a bit less cost in the sense that not having an explicit release >> remove costs associated to make sure that you cannot release multiple >> times (which is an extra CAS in the shared case). But these are small >> things. >> >> The approach described in this document is an attempt to simplify the >> API a bit. I think the code in the proposal looks a bit better >> (especially when looking at how the NIO code can be simplified) and, >> more importantly, for the user, reasoning in terms of temporal >> dependencies between scopes is, I think, more intuitive than thinking >> about incrementing and decrementing a counter. So I was trying to >> offer an API which did the same thing as acquire/release, but in a >> way that (perhaps!) could be more easily understood. >> >> But under the hood we still have counters and acquires and releases: >> this is (just) a discussion on how to better surface them to clients. >> >> Maurizio >>> >>> Cheers, >>> Chris >>> >>> On Fri, 28 May 2021 at 18:34, Maurizio Cimadamore >>> wrote: >>> >>> ??? Hi, >>> ??? we've been looking beyond 17 at things we can do to improve >>> support for >>> ??? resource scopes, especially in the context of native calls. I >>> tried to >>> ??? capture the various things we explored in the writeup below: >>> >>> https://urldefense.com/v3/__https://inside.java/2021/05/28/taming-resource-scopes/__;!!GqivPVa7Brio!MJpy2yoyaebIWwctnZVb8BxnKqoQyL_qdq8RX6FkAIZXRRNsE32fFNKhFD6c2ZsS8bSOuW8$ >>> ??? ??? I think overall the takeaway points are pretty good: >>> >>> ??? * we can simplify the acquire/release scope mechanism with a >>> better, higher-level API >>> ??? * we can enhance safety when calling native functions using _any >>> kind_ >>> ??? of resource scopes (with relatively little overhead) >>> ??? * we can make it easier to tailor the safety characteristics of >>> CLinker >>> ??? to suit application needs >>> >>> ??? Cheers >>> ??? Maurizio >>> > From maurizio.cimadamore at oracle.com Mon May 31 13:56:32 2021 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 31 May 2021 14:56:32 +0100 Subject: Part 1 Proposal for JDK-8264594 In-Reply-To: References: <3857338c-b4ce-e559-bc75-6f06671989ba@oracle.com> <31fde1e0-7159-afb0-a79c-fa5e320e6844@oracle.com> <49091534-aa0f-81f7-2536-ff788e6377cf@oracle.com> <0b5ac260-4e87-4a92-53ca-b670a451f552@oracle.com> <50605287-4e54-7dde-14e5-d521c19301be@oracle.com> Message-ID: Hi Lee, this looks good. One thing I note is that there's an ambiguity as to whether the segment index is expressed as a logical index, or a raw byte offset. Your snippet does the latter. If we want to follow MemoryAccess, perhaps that calls for 2 overloads (copyFromArrayAtIndex/copyFromArrayAtOffset), as I imagine both could be useful, depending on the case? The javadoc will have to say something when the segment being used is backed by the very array that is the source/target of the copy (we have some text like that in MemorySegment::copyFrom). I think it would be helpful to progress further with this, add the remaining templates (w/o ByteOrder, for now) test and see how it works in practice. I will add (or just file a simple PR, so that you can just borrow from it - should be a single method) something to do the segment copy with swap. Thanks! Maurizio On 28/05/2021 22:37, leerho wrote: > Maurizio, > > Again sorry about the delay. > > Attached is a template proposal for the MemoryCopy class. > > I can't complete this without your proposed new copyFrom(...) method > in MemorySegment.?As it is written, it should work, but without the > byte swap capability. > > I can complete the rest of the primitives like this template, if you > would like with javadocs.? I could also start writing tests, but > without the byte-swap. > > Let me know what would be most?helpful. > > Cheers, > > Lee > > > > > > > > > > > On Thu, May 20, 2021 at 11:36 AM leerho > wrote: > > Of?course! > > On Thu, May 20, 2021 at 9:42 AM Maurizio Cimadamore > > wrote: > > > On 20/05/2021 17:13, leerho wrote: >> I am not sure if the /dstSegSlice/ requires the /srcCopyLen/. >> I would hope that it is smart enough to realize that the >> input length is smaller than the given offset minus the >> segment size. > > asSlice has an overload that just takes an offset and infers > the resulting size from there. > > But that doesn't seem what you want here - as you want the > slice to have a specific size (the size of the input array). > > MemorySegment::copyFrom wants the two segments to have the > same size, so I think you need that. > > In terms of performance, there's no difference between > asSlice(offset) and asSlice(offset, size) - you have to create > a new segment anyway. > > Maurizio > > From jvernee at openjdk.java.net Mon May 31 17:48:01 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 31 May 2021 17:48:01 GMT Subject: [foreign-memaccess+abi] RFR: 8267989: Exceptions thrown during upcalls should be handled Message-ID: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> Hi, This patch regularizes exception handling for exceptions thrown during upcalls. Exceptions thrown during upcalls are now always handled by printing out the stack trace and then calling `System::exit` (see the JBS issue for some motivation). I've added some documentation for the exception handling to `CLinker::upcallStub`, as well as a new public `int` constant in `CLinker` which is the error code that is passed to `System::exit`. The returned error code can also be configured by a system property, which for now is mostly useful for testing purposes to make sure we don't get a consistent false positive. Thanks, Jorn ------------- Commit messages: - Use priviledgedGetProperty instead of Integer.getInteger - Fix test and add documentation + ERR_UNCAUGHT_EXCEPTION - Add tests - Handle exception uniformly across upcall modes Changes: https://git.openjdk.java.net/panama-foreign/pull/543/files Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=543&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8267989 Stats: 191 lines in 6 files changed: 188 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/543.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/543/head:pull/543 PR: https://git.openjdk.java.net/panama-foreign/pull/543 From jvernee at openjdk.java.net Mon May 31 17:48:05 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 31 May 2021 17:48:05 GMT Subject: [foreign-memaccess+abi] RFR: 8267989: Exceptions thrown during upcalls should be handled In-Reply-To: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> References: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> Message-ID: On Mon, 31 May 2021 17:39:41 GMT, Jorn Vernee wrote: > Hi, > > This patch regularizes exception handling for exceptions thrown during upcalls. Exceptions thrown during upcalls are now always handled by printing out the stack trace and then calling `System::exit` (see the JBS issue for some motivation). > > I've added some documentation for the exception handling to `CLinker::upcallStub`, as well as a new public `int` constant in `CLinker` which is the error code that is passed to `System::exit`. The returned error code can also be configured by a system property, which for now is mostly useful for testing purposes to make sure we don't get a consistent false positive. > > Thanks, > Jorn src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 241: > 239: * Any exceptions that occur during an upcall should be handled during the upcall. The target method handle > 240: * should not throw any exceptions. If the target method handle does throw an exception, it will be handle by > 241: * calling {@link System#exit System.exit(ERR_UNCAUGHT_EXCEPTION)}. (See {@link #ERR_UNCAUGHT_EXCEPTION}) There might be better wording for this, esp. the first sentence. Any suggestions? test/jdk/java/foreign/TestUpcall.java line 31: > 29: * @build NativeTestHelper CallGeneratorHelper TestUpcall > 30: * > 31: * @run testng/othervm/timeout=720 I've increased the timeout of TestUpcall here as well, as I was seeing timeouts pretty frequently ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/543 From mcimadamore at openjdk.java.net Mon May 31 17:55:00 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 31 May 2021 17:55:00 GMT Subject: [foreign-memaccess+abi] RFR: 8267989: Exceptions thrown during upcalls should be handled In-Reply-To: References: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> Message-ID: On Mon, 31 May 2021 17:42:36 GMT, Jorn Vernee wrote: >> Hi, >> >> This patch regularizes exception handling for exceptions thrown during upcalls. Exceptions thrown during upcalls are now always handled by printing out the stack trace and then calling `System::exit` (see the JBS issue for some motivation). >> >> I've added some documentation for the exception handling to `CLinker::upcallStub`, as well as a new public `int` constant in `CLinker` which is the error code that is passed to `System::exit`. The returned error code can also be configured by a system property, which for now is mostly useful for testing purposes to make sure we don't get a consistent false positive. >> >> Thanks, >> Jorn > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 241: > >> 239: * Any exceptions that occur during an upcall should be handled during the upcall. The target method handle >> 240: * should not throw any exceptions. If the target method handle does throw an exception, it will be handle by >> 241: * calling {@link System#exit System.exit(ERR_UNCAUGHT_EXCEPTION)}. (See {@link #ERR_UNCAUGHT_EXCEPTION}) > > There might be better wording for this, esp. the first sentence. Any suggestions? I think it is best to drop the first sentence, and go straight to the point, which is "The target method handle shoud not...". Which reminds me, do we want to apply same logic we do for var handle combinators to detect if a method handle contains exceptions in its guts (by looking at signature of direct MH, or by looking for certain combinators). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/543 From mcimadamore at openjdk.java.net Mon May 31 17:54:58 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 31 May 2021 17:54:58 GMT Subject: [foreign-memaccess+abi] RFR: 8267989: Exceptions thrown during upcalls should be handled In-Reply-To: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> References: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> Message-ID: On Mon, 31 May 2021 17:39:41 GMT, Jorn Vernee wrote: > Hi, > > This patch regularizes exception handling for exceptions thrown during upcalls. Exceptions thrown during upcalls are now always handled by printing out the stack trace and then calling `System::exit` (see the JBS issue for some motivation). > > I've added some documentation for the exception handling to `CLinker::upcallStub`, as well as a new public `int` constant in `CLinker` which is the error code that is passed to `System::exit`. The returned error code can also be configured by a system property, which for now is mostly useful for testing purposes to make sure we don't get a consistent false positive. > > Thanks, > Jorn Looks good! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 123: > 121: * @see CLinker#upcallStub(MethodHandle, FunctionDescriptor, ResourceScope) > 122: */ > 123: int ERR_UNCAUGHT_EXCEPTION = privilegedGetProperty("jdk.incubator.foreign.uncaught_exception_code", 1); Do we need a system property? E.g. can it be a constant value? test/jdk/java/foreign/TestUpcallException.java line 80: > 78: > 79: int result = process.waitFor(); > 80: assertEquals(result, exitCode); Should we check for stacktrace output - e.g. the name of ThrowingUpcall" ? ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/543 From jvernee at openjdk.java.net Mon May 31 18:06:30 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 31 May 2021 18:06:30 GMT Subject: [foreign-memaccess+abi] RFR: 8267989: Exceptions thrown during upcalls should be handled In-Reply-To: References: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> Message-ID: On Mon, 31 May 2021 17:47:47 GMT, Maurizio Cimadamore wrote: >> Hi, >> >> This patch regularizes exception handling for exceptions thrown during upcalls. Exceptions thrown during upcalls are now always handled by printing out the stack trace and then calling `System::exit` (see the JBS issue for some motivation). >> >> I've added some documentation for the exception handling to `CLinker::upcallStub`, as well as a new public `int` constant in `CLinker` which is the error code that is passed to `System::exit`. The returned error code can also be configured by a system property, which for now is mostly useful for testing purposes to make sure we don't get a consistent false positive. >> >> Thanks, >> Jorn > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 123: > >> 121: * @see CLinker#upcallStub(MethodHandle, FunctionDescriptor, ResourceScope) >> 122: */ >> 123: int ERR_UNCAUGHT_EXCEPTION = privilegedGetProperty("jdk.incubator.foreign.uncaught_exception_code", 1); > > Do we need a system property? E.g. can it be a constant value? We could just use `1` here as well, but during testing I've found that the default uncaught exception handler also return `1`, so I was getting a false positive. > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 380: > >> 378: if (specializedHandle.type().returnType() == void.class) { >> 379: if (!upcall) { >> 380: closer = empty(methodType(void.class, Throwable.class)); // (Throwable) -> void > > Shouldn't ProgrammableUpcallHandler do the same thing? It does? Both call SharedUtils.handelUncaughtException > test/jdk/java/foreign/TestUpcallException.java line 80: > >> 78: >> 79: int result = process.waitFor(); >> 80: assertEquals(result, exitCode); > > Should we check for stacktrace output - e.g. the name of ThrowingUpcall" ? That's probably a good idea. Though, I'll note that it still allows for false positives if the tests throws an exception from ThrowingUpcall another way. Comparing the exit codes should catch that though. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/543 From mcimadamore at openjdk.java.net Mon May 31 18:06:31 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 31 May 2021 18:06:31 GMT Subject: [foreign-memaccess+abi] RFR: 8267989: Exceptions thrown during upcalls should be handled In-Reply-To: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> References: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> Message-ID: On Mon, 31 May 2021 17:39:41 GMT, Jorn Vernee wrote: > Hi, > > This patch regularizes exception handling for exceptions thrown during upcalls. Exceptions thrown during upcalls are now always handled by printing out the stack trace and then calling `System::exit` (see the JBS issue for some motivation). > > I've added some documentation for the exception handling to `CLinker::upcallStub`, as well as a new public `int` constant in `CLinker` which is the error code that is passed to `System::exit`. The returned error code can also be configured by a system property, which for now is mostly useful for testing purposes to make sure we don't get a consistent false positive. > > Thanks, > Jorn src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 239: > 237: * the corresponding native stub will be deallocated. > 238: *

> 239: * Any exceptions that occur during an upcall should be handled during the upcall. The target method handle I think it is best to drop the first sentence, and go straight to the point, which is "The target method handle shoud not...". Which reminds me, do we want to apply same logic we do for var handle combinators to detect if a method handle contains exceptions in its guts (by looking at signature of direct MH, or by looking for certain combinators). src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java line 380: > 378: if (specializedHandle.type().returnType() == void.class) { > 379: if (!upcall) { > 380: closer = empty(methodType(void.class, Throwable.class)); // (Throwable) -> void Shouldn't ProgrammableUpcallHandler do the same thing? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/543 From jvernee at openjdk.java.net Mon May 31 18:36:40 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 31 May 2021 18:36:40 GMT Subject: [foreign-memaccess+abi] RFR: 8267989: Exceptions thrown during upcalls should be handled In-Reply-To: References: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> Message-ID: On Mon, 31 May 2021 17:56:37 GMT, Jorn Vernee wrote: >> src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 123: >> >>> 121: * @see CLinker#upcallStub(MethodHandle, FunctionDescriptor, ResourceScope) >>> 122: */ >>> 123: int ERR_UNCAUGHT_EXCEPTION = privilegedGetProperty("jdk.incubator.foreign.uncaught_exception_code", 1); >> >> Do we need a system property? E.g. can it be a constant value? > > We could just use `1` here as well, but during testing I've found that the default uncaught exception handler also return `1`, so I was getting a false positive. Thinking some more. Having a system property is probably overkill, and checking stderr for the exception message in the test is good enough ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/543 From jvernee at openjdk.java.net Mon May 31 18:43:17 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 31 May 2021 18:43:17 GMT Subject: [foreign-memaccess+abi] RFR: 8267989: Exceptions thrown during upcalls should be handled [v2] In-Reply-To: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> References: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> Message-ID: <8wv2DfSZyAbpoSJ-lv3LCoStYLg-Jmy685BQd19LaDA=.2c5421ab-8730-4a64-b32b-2b3fc5f30b91@github.com> > Hi, > > This patch regularizes exception handling for exceptions thrown during upcalls. Exceptions thrown during upcalls are now always handled by printing out the stack trace and then calling `System::exit` (see the JBS issue for some motivation). > > I've added some documentation for the exception handling to `CLinker::upcallStub`, as well as a new public `int` constant in `CLinker` which is the error code that is passed to `System::exit`. The returned error code can also be configured by a system property, which for now is mostly useful for testing purposes to make sure we don't get a consistent false positive. > > Thanks, > Jorn Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: Address review comments: - tweak documentation - remove system property - simplify test & check stderr for stack trace message ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/543/files - new: https://git.openjdk.java.net/panama-foreign/pull/543/files/b25b8a98..668e15df Webrevs: - full: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=543&range=01 - incr: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=543&range=00-01 Stats: 38 lines in 3 files changed: 17 ins; 10 del; 11 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/543.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/543/head:pull/543 PR: https://git.openjdk.java.net/panama-foreign/pull/543 From jvernee at openjdk.java.net Mon May 31 18:43:18 2021 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 31 May 2021 18:43:18 GMT Subject: [foreign-memaccess+abi] RFR: 8267989: Exceptions thrown during upcalls should be handled [v2] In-Reply-To: References: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> Message-ID: On Mon, 31 May 2021 17:58:49 GMT, Maurizio Cimadamore wrote: >> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: >> >> Address review comments: >> - tweak documentation >> - remove system property >> - simplify test & check stderr for stack trace message > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 239: > >> 237: * the corresponding native stub will be deallocated. >> 238: *

>> 239: * Any exceptions that occur during an upcall should be handled during the upcall. The target method handle > > I think it is best to drop the first sentence, and go straight to the point, which is "The target method handle shoud not...". > > Which reminds me, do we want to apply same logic we do for var handle combinators to detect if a method handle contains exceptions in its guts (by looking at signature of direct MH, or by looking for certain combinators). Dropped the first sentence, I'll see about adding a check for exceptions. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/543 From mcimadamore at openjdk.java.net Mon May 31 21:18:26 2021 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 31 May 2021 21:18:26 GMT Subject: [foreign-memaccess+abi] RFR: 8267989: Exceptions thrown during upcalls should be handled [v2] In-Reply-To: <8wv2DfSZyAbpoSJ-lv3LCoStYLg-Jmy685BQd19LaDA=.2c5421ab-8730-4a64-b32b-2b3fc5f30b91@github.com> References: <7Opm0PCCmpX2e_YCCafEFoEhuBbyKTLQ6ZMD4Y0fw1w=.bdabcf7e-80b0-4e24-9a6e-c3f311cb25fb@github.com> <8wv2DfSZyAbpoSJ-lv3LCoStYLg-Jmy685BQd19LaDA=.2c5421ab-8730-4a64-b32b-2b3fc5f30b91@github.com> Message-ID: On Mon, 31 May 2021 18:43:17 GMT, Jorn Vernee wrote: >> Hi, >> >> This patch regularizes exception handling for exceptions thrown during upcalls. Exceptions thrown during upcalls are now always handled by printing out the stack trace and then calling `System::exit` (see the JBS issue for some motivation). >> >> I've added some documentation for the exception handling to `CLinker::upcallStub`, as well as a new public `int` constant in `CLinker` which is the error code that is passed to `System::exit`. The returned error code can also be configured by a system property, which for now is mostly useful for testing purposes to make sure we don't get a consistent false positive. >> >> Thanks, >> Jorn > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > Address review comments: > - tweak documentation > - remove system property > - simplify test & check stderr for stack trace message src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/CLinker.java line 119: > 117: * @see CLinker#upcallStub(MethodHandle, FunctionDescriptor, ResourceScope) > 118: */ > 119: int ERR_UNCAUGHT_EXCEPTION = 1; On a second thought, I'm not super sure of the value of documenting what the exit code should be? Maybe we can leave that unspecified? src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ProgrammableUpcallHandler.java line 299: > 297: } > 298: } catch(Throwable t) { > 299: SharedUtils.handleUncaughtException(t); Ah - missed that :-) test/jdk/java/foreign/TestUpcallException.java line 49: > 47: import static org.testng.Assert.fail; > 48: > 49: public class TestUpcallException { I wonder if we should also test with a security manager (even though that's getting deprecated) - and see what happens when you call System.exit and SM is enabled with policy to block off calls to System.exit. Using `Shutdown.exit` might be safer, as it does not SM checks. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/543